99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

啟元 Q1 的三套優(yōu)先級(jí):排他鎖、復(fù)合權(quán)重與音量閃避

啟元 Q1 的三套優(yōu)先級(jí):排他鎖、復(fù)合權(quán)重與音量閃避 一、從一個(gè)字段名說(shuō)起AudioFile.msg里有這么一行注釋# 可選項(xiàng)(1~100) priority priority_weight% is final priority uint32 priority_weight而PlayTtsRequest.msg里同樣叫priority_weight的字段注釋是這樣的# 可選非產(chǎn)品要求勿用優(yōu)先級(jí)加權(quán)參數(shù)(0-99)最小單位為 1 uint32 priority_weight兩個(gè)字段同名、同類型都是uint32含義卻差得很遠(yuǎn)。前者的取值范圍是 1–100是個(gè)百分比后者是 0–99是個(gè)絕對(duì)偏移。更關(guān)鍵的是PlayTts的最終權(quán)重算法在《接口說(shuō)明.md》里寫得很明確最終權(quán)重 主級(jí) * 100 子權(quán)也就是說(shuō)TTS 的priority_weight直接加到百位以上而音頻文件那邊它是對(duì)priority做一個(gè)百分比調(diào)整。同樣是「微調(diào)優(yōu)先級(jí)」一處加在百位一處加在個(gè)位還帶著百分號(hào)。我最初以為這是文檔寫錯(cuò)了。把三套機(jī)制的定義都取出來(lái)放在一起之后才看清楚不是寫錯(cuò)是三套獨(dú)立設(shè)計(jì)的優(yōu)先級(jí)機(jī)制恰好共享了兩個(gè)字段名。這篇文章拆的就是這三套機(jī)制。它們分別屬于運(yùn)控輸入源、TTS 播報(bào)、音頻文件播放各有各的取值空間、比較方式和失敗行為。搞混任何一處代碼都會(huì)在沒有任何報(bào)錯(cuò)的情況下做出錯(cuò)誤行為——這是我在實(shí)測(cè)里反復(fù)撞到的同一類問(wèn)題。二、三套機(jī)制并排看先把三套機(jī)制放在一張表里。機(jī)制接口字段取值空間主級(jí)形態(tài)比較方式低優(yōu)先級(jí)方的結(jié)果運(yùn)控輸入源SetMcInputSourcepriority0–100 連續(xù)整數(shù)連續(xù)排他鎖先到先得幀被靜默丟棄1000 ms 看門狗脫鎖TTS 播報(bào)PlayTtspriority_levelpriority_weight主級(jí) 6 檔 × 子權(quán) 0–99跳段復(fù)合權(quán)重比大小同步返回is_successfalse高權(quán)重可中途掐斷音頻文件PlayAudioFileprioritypriority_weightmedia_rolepriority1–10weight1–100(%)連續(xù)百分比加權(quán)不終止靠音量閃避duck讓位三套機(jī)制連「失敗」的定義都不同運(yùn)控那邊輸?shù)囊环绞裁炊疾粫?huì)收到只能靠自己周期性查詢才發(fā)現(xiàn)控制權(quán)沒了TTS 那邊輸?shù)囊环綍?huì)收到一個(gè)明確的false音頻那邊輸?shù)囊环郊葲]有錯(cuò)誤也沒有終止只是音量被壓低。把它們畫成刻度形狀的差異更直觀。圖 1 中三條刻度各自獨(dú)立歸一化橫向長(zhǎng)度不代表數(shù)值大小只用來(lái)看結(jié)構(gòu)運(yùn)控是均質(zhì)的連續(xù)刻度TTS 是跳段的離散塊跳過(guò) 3、5、9音頻是連續(xù)刻度上再疊一套四檔角色。圖中 L1–L10 的權(quán)重區(qū)間、priority的 1–10 取值、media_role的 40/60/80/100 四檔全部取自對(duì)應(yīng).msg文件與《接口說(shuō)明.md》§2.1.1.4、§2.2.1.2、§2.2.1.3 三節(jié)。有一處值得單獨(dú)指出音頻文件播放那一行priority是 1–10而 TTS 的主級(jí)恰好也是 1、2、4、6、8、10 這幾個(gè)數(shù)字。數(shù)值看起來(lái)一樣含義毫無(wú)關(guān)系。AudioFile.priority是連續(xù)的 1–10默認(rèn) 6相鄰值只差一檔TtsPriorityLevel的主級(jí)是枚舉語(yǔ)義層跳過(guò)的那些值是為將來(lái)插入新檔位預(yù)留的位置。把priority_level 6的經(jīng)驗(yàn)搬到AudioFile.priority 6讀起來(lái)像實(shí)際語(yǔ)義完全不同。三、TTS 的權(quán)重空間99 與 100 的那 1 之隔TTS 這套最值得細(xì)看因?yàn)樗乃阈g(shù)規(guī)則寫得最明確而邊界恰好踩在一個(gè)很微妙的位置上。TtsPriorityLevel.msg在接口里實(shí)際只定義了 6 個(gè)有效檔位uint8 value uint8 UNKNOWN 0x00 # 后臺(tái)服務(wù)層 uint8 BACKGROUND_L1 0x01 # 主動(dòng)服務(wù)層 uint8 SERVICE_L2 0x02 # 任務(wù)執(zhí)行層 uint8 MISSION_L4 0x04 # 交互相應(yīng)層 uint8 INTERACTION_L6 0x06 # 危險(xiǎn)預(yù)警層 uint8 WARNING_L8 0x08 # 生命安全層 uint8 SAFETY_L10 0x0a主級(jí)取 1、2、4、6、8、10步長(zhǎng) 2跳過(guò) 3、5、7、9。配合「最終權(quán)重 主級(jí) × 100 子權(quán)」就得到下面這張取值表。常量value最終權(quán)重區(qū)間來(lái)源BACKGROUND_L10x01100 – 199接口 文檔SERVICE_L20x02200 – 299接口 文檔MISSION_L40x04400 – 499接口 文檔INTERACTION_L60x06600 – 699接口 文檔WARNING_L80x08800 – 899接口 文檔SAFETY_L100x0a1000 – 1099接口 文檔SYSTEM_L77700 – 799僅文檔接口無(wú)此常量表中最后一行的SYSTEM_L7是這篇文章的一個(gè)關(guān)鍵發(fā)現(xiàn)后面第七節(jié)會(huì)給出實(shí)測(cè)證據(jù)。先看一個(gè)更基礎(chǔ)的性質(zhì)。子權(quán)上限是 99主級(jí)步長(zhǎng)是 100。相差 1這個(gè) 1 不是巧合。圖 2 的橫軸是最終權(quán)重1 單位對(duì)應(yīng) 1 像素??梢灾庇^看到L4用滿子權(quán)封頂 499L6一個(gè)子權(quán)都不給也有 600兩者相差 101。中間那 100 個(gè)整數(shù)位500–599沒有任何檔位覆蓋。這意味著子權(quán)的作用半徑被精確限制在同檔內(nèi)部。任何一個(gè)「低一檔但更緊急」的播報(bào)都沒有任何可用手段能頂?shù)缴弦粰n去——把priority_weight調(diào)到 99也只是讓它在本檔里排到最前面。這是設(shè)計(jì)上的精確也是設(shè)計(jì)上的代價(jià)。它換來(lái)的是排序的絕對(duì)可預(yù)測(cè)性主級(jí)一旦確定跨檔關(guān)系就鎖死了不會(huì)因?yàn)槟硞€(gè)調(diào)用方擅自把子權(quán)拉滿而產(chǎn)生檔位穿透。代價(jià)是分層變得剛性——如果產(chǎn)品上確實(shí)需要「低一檔的緊急播報(bào)壓過(guò)高檔的例行播報(bào)」這套算術(shù)給不出解法只能改主級(jí)。再看那些空檔。接口里的主級(jí)是 1、2、4、6、8、10跳過(guò) 3、5、7、9對(duì)應(yīng) 300–399、500–599、700–799、900–999 四段。其中 700–799 被文檔的SYSTEM_L7填上了另外三段仍然空著。這不是浪費(fèi)是預(yù)留往這些區(qū)間插入新檔位不會(huì)擾動(dòng)任何已有排序。SYSTEM_L7的位置完全合理——它就在L6與L8之間那個(gè)天然的空位里問(wèn)題只在于接口沒給它常量。四、仲裁矩陣兩格與字面意思相反權(quán)重算出來(lái)之后誰(shuí)先播、誰(shuí)被打斷由《接口說(shuō)明.md》§2.2.1.2 的四格矩陣決定。文檔原文是這樣的權(quán)重對(duì)比is_interrupted: trueis_interrupted: false新任務(wù)權(quán)重 ≥ 當(dāng)前任務(wù)當(dāng)前播報(bào)被立即掐斷且不可恢復(fù)新語(yǔ)音開始播放仲裁優(yōu)先級(jí)相同時(shí)存入緩沖區(qū)仲裁優(yōu)先級(jí)大于當(dāng)前任務(wù)時(shí)強(qiáng)制打斷新任務(wù)權(quán)重 當(dāng)前任務(wù)請(qǐng)求丟棄is_success: false請(qǐng)求丟棄is_success: false這張表里藏著兩個(gè)與字段名字面意思相反的結(jié)論我在實(shí)測(cè)中逐一確認(rèn)過(guò)。圖 3 把四格矩陣與實(shí)測(cè)樣本畫在一起。格內(nèi)樣本編號(hào)對(duì)應(yīng)第七節(jié) 8 個(gè)場(chǎng)景的序號(hào)服務(wù)端為按該矩陣實(shí)現(xiàn)的 mock非真機(jī)行為。第一個(gè)反直覺點(diǎn)is_interrupted true不是強(qiáng)制插隊(duì)開關(guān)。按字面理解「打斷true」應(yīng)該意味著「我有話要說(shuō)現(xiàn)在就說(shuō)」。但矩陣寫得清楚這一列只在「新權(quán)重 ≥ 當(dāng)前」那一行才起作用權(quán)重不足時(shí)填true一樣被丟棄。實(shí)測(cè)中第 5 條請(qǐng)求L62 602當(dāng)前播報(bào)是 700即使is_interruptedtrue返回的仍是is_successfalseerror_message寫著「權(quán)重 602 當(dāng)前 700」。第二個(gè)反直覺點(diǎn)is_interrupted false不保證不被打斷。同樣按字面理解「不打斷」應(yīng)該意味著「別掐我」。但矩陣在false這一列寫的是「大于則強(qiáng)制打斷」。實(shí)測(cè)第 3 條請(qǐng)求L660 660當(dāng)前是 600is_interruptedfalse結(jié)果仍是PREEMPT_NOW——非搶占模式下權(quán)重更高照樣掐斷。兩點(diǎn)合起來(lái)這個(gè)字段的真實(shí)語(yǔ)義是「權(quán)重足夠時(shí)同檔要不要讓」。它管的是同級(jí)仲裁不是插隊(duì)權(quán)。而文檔對(duì)這個(gè)字段有三處描述只有一處與矩陣一致出處原文與矩陣是否一致PlayTtsRequest.msg注釋是否打斷同等優(yōu)先級(jí)播報(bào)true打斷false不打斷進(jìn)入隊(duì)列播報(bào)一致§2.2.1.2 字段表是否打斷現(xiàn)有任務(wù)true: 立即搶占false: 自動(dòng)排隊(duì)不一致§2.2.1.2 仲裁矩陣見上表—.msg注釋說(shuō)的是「同等優(yōu)先級(jí)」與矩陣吻合字段表說(shuō)的是「現(xiàn)有任務(wù)」把范圍放大了。差別就在這一行照字段表理解會(huì)寫出一個(gè)自己以為安全的調(diào)用——以為什么都不填就萬(wàn)事大吉實(shí)際只要權(quán)重夠高就會(huì)被掐。五、音頻一處未閉合的歧義AudioFile.msg那一行的原文是# 可選項(xiàng)(1~100) priority priority_weight% is final priority uint32 priority_weight它給了表達(dá)式?jīng)]給運(yùn)算次序。至少有兩種都能自圓其說(shuō)的讀法讀法 A加性final priority weight / 100讀法 B乘性final priority × (1 weight / 100)兩種讀法在權(quán)重較小時(shí)結(jié)果相近在權(quán)重接近上限時(shí)結(jié)論相反。輸入 1A 值輸入 2A 值A(chǔ) 判定B 值 1B 值 2B 判定是否分歧p6 50%6.50p7 0%7.00后者9.007.00前者分歧p6 100%7.00p7 0%7.00平手12.007.00前者分歧p6 100%7.00p10 0%10.00后者12.0010.00前者分歧p6 10%6.10p7 0%7.00后者6.607.00后者一致讀法 A 的跨檔上限是固定的增量恒 ≤ 1.0所以priority6用滿權(quán)重最多追平 7永遠(yuǎn)超不過(guò)相當(dāng)于「一檔之內(nèi)微調(diào)」。讀法 B 在weight100時(shí)直接翻倍priority6可以壓過(guò) 7 甚至 10相當(dāng)于「變相增加一到兩檔」。同一個(gè)字段兩種讀法跨檔能力差了兩檔。這不是筆誤級(jí)別的歧義是會(huì)影響排序結(jié)果的歧義。我沒有替它下結(jié)論因?yàn)檫@需要真機(jī)實(shí)測(cè)才能確定用兩個(gè)不同priority的音頻文件同時(shí)播放觀察實(shí)際輸出順序。在沒有真機(jī)的情況下斷言其中一種就是在編數(shù)據(jù)。這一處我留在第九節(jié)的「未決問(wèn)題」里。順帶一提AudioFile還有第三個(gè)維度media_role。# 可選項(xiàng)PulseAudio media.role不傳默認(rèn) Music # 可選值A(chǔ)lert(系統(tǒng)告警,優(yōu)先級(jí)100) | Notification(系統(tǒng)提示音,優(yōu)先級(jí)80) | Communication(對(duì)話語(yǔ)音,優(yōu)先級(jí)60) | Music(音樂/媒體,優(yōu)先級(jí)40,默認(rèn)) # 非 Music 角色播放時(shí)會(huì)自動(dòng)降低(duck)音樂音量 string media_role這是第四套編號(hào)40/60/80/100由 PulseAudio 的角色體系決定與priority完全并行。所以嚴(yán)格說(shuō)音頻這一路內(nèi)部同時(shí)跑著兩套排序一套是應(yīng)用層的priority 百分比一套是系統(tǒng)音頻服務(wù)層的media_role。前者決定誰(shuí)先播后者決定誰(shuí)壓低誰(shuí)。這兩套之間如何交互文檔沒有展開。六、驗(yàn)證一把規(guī)則寫成代碼三套機(jī)制的規(guī)則都是純算術(shù)可以脫離 ROS 完整復(fù)現(xiàn)。我把它們寫成了一個(gè)零依賴的模塊只用標(biāo)準(zhǔn)庫(kù)。下面節(jié)選自taxonomy/levels.py完整文件在倉(cāng)庫(kù)里。TTS_LEVEL_STRIDE 100 TTS_WEIGHT_MAX 99 def tts_final_weight(level_value: int, priority_weight: int) - int: 最終權(quán)重 主級(jí) * 100 子權(quán)。 return level_value * TTS_LEVEL_STRIDE priority_weight def sub_weight_can_cross_level() - bool: 子權(quán)能否跨越主級(jí)子權(quán)上界 99主級(jí)步長(zhǎng) 100。 return (TTS_WEIGHT_MAX 1) TTS_LEVEL_STRIDE這個(gè)函數(shù)不做范圍鉗制因?yàn)榻涌趯油瑯硬蛔觥猵riority_weight聲明為uint320–99 只是文檔約定類型系統(tǒng)擋不住 100 以上的輸入。這一點(diǎn)第七節(jié)的實(shí)測(cè)會(huì)確認(rèn)。跑一遍邊界場(chǎng)景命令與輸出都在圖 4 里。從這一處起凡是程序輸出一律給真實(shí)終端截圖不再手抄——寫稿時(shí)把輸出貼進(jìn)代碼塊最容易出的錯(cuò)不是抄錯(cuò)數(shù)字而是抄錯(cuò)一個(gè)自己沒注意到的對(duì)齊空格。python3 scenarios/run.py weight圖 4 是容器pgc/primebot-humble:1.0內(nèi)的真實(shí)終端畫面Xvfb 上起一個(gè) 80×32 的 xterm用偽終端把命令逐條敲進(jìn)交互式 bash等輸出定格后用 ImageMagick 抓窗口未做任何裁剪與修飾。畫面上半部分是七個(gè)檔位的取值區(qū)間下半部分是相鄰兩級(jí)的臨界值——L1滿子權(quán) 199 對(duì)上L2零子權(quán) 200只差 1其余各相鄰對(duì)都差 101。這個(gè)「差 1」正是子權(quán)跨不了級(jí)的算術(shù)來(lái)源。抓圖腳本在倉(cāng)庫(kù)tools/shot/下all_shots.sh一次跑完本文全部五張終端圖可以原樣復(fù)現(xiàn)。除了驗(yàn)證算術(shù)我還用窮舉確認(rèn)了一個(gè)文檔沒寫、但可以從矩陣推出來(lái)的結(jié)論。問(wèn)題是is_interruptedfalse時(shí)入隊(duì)的任務(wù)按什么順序出隊(duì)文檔只寫「存入緩沖區(qū)在當(dāng)前任務(wù)播放完成后再進(jìn)行處理」沒說(shuō)排序鍵。# 節(jié)選自 scenarios/exhaustive_queue.py 的 compute() def compute(): 返回 (入隊(duì)總數(shù), 差值-次數(shù), 主級(jí)-入隊(duì)數(shù))。純函數(shù)供 run.py 復(fù)用。 queued_diffs: dict {} per_level: dict {lv: 0 for lv in TTS_VALID_LEVEL_VALUES} total_queued 0 for level in TTS_VALID_LEVEL_VALUES: # 6 個(gè)合法主級(jí) for w in range(0, TTS_WEIGHT_MAX 1): # 子權(quán) 0-99 req TtsRequest(probe, level, w, False) for current in range(CURRENT_MIN, CURRENT_MAX 1): # 100-1099 if arbitrate(req, current) is Verdict.QUEUED: total_queued 1 per_level[level] 1 diff req.weight - current queued_diffs[diff] queued_diffs.get(diff, 0) 1 return total_queued, queued_diffs, per_level圖 5 與圖 4 出自同一個(gè)容器、同一次會(huì)話、同一套抓圖流程。畫面里先確認(rèn)解釋器版本為 Python 3.10.12再執(zhí)行scenarios/exhaustive_queue.py600 個(gè)合法請(qǐng)求 × 1000 個(gè)當(dāng)前權(quán)重共 600000 種組合判為 QUEUED 的只有 600 組「新權(quán)重 ? 當(dāng)前權(quán)重」的取值集合只有一個(gè)元素[0]。畫面下半部分按主級(jí)拆成六行每行 100 組正好等于該主級(jí)下合法的子權(quán)個(gè)數(shù)——每個(gè)請(qǐng)求只在「與自己權(quán)重相等」的那一個(gè)當(dāng)前權(quán)重上入隊(duì)。也就是說(shuō)能被入隊(duì)的任務(wù)權(quán)重必然與當(dāng)前播報(bào)權(quán)重嚴(yán)格相等——更高會(huì)被立即搶占更低會(huì)被丟棄只有相等才進(jìn)緩沖區(qū)。于是緩沖區(qū)里所有任務(wù)的權(quán)重全都相同F(xiàn)IFO 與「按權(quán)重排序」給出完全一樣的出隊(duì)順序。文檔沒寫排序鍵但在這個(gè)矩陣下寫不寫都不影響結(jié)果。這類推斷比「文檔沒寫所以不知道」有用得多。七、驗(yàn)證二用官方接口跑一次真實(shí)回環(huán)純算術(shù)只能驗(yàn)證規(guī)則驗(yàn)證不了契約。真正要確認(rèn)的是三件事接口里到底有哪些常量、越界值能不能發(fā)出去、矩陣的實(shí)際裁決是什么樣。先在容器里核對(duì)枚舉的可用性。這段代碼不需要真機(jī)、不需要啟動(dòng)節(jié)點(diǎn)只要 import 消息類型。# 節(jié)選自 ros2_ws/src/priority_lab/priority_lab/enum_probe.py # 為便于展示省略了「與文檔值是否相等」的比較分支 from aimdk_msgs.msg import TtsPriorityLevel # 依據(jù)《接口說(shuō)明.md》2.2.1.2「TtsPriorityLevel (推薦主級(jí)常量列表)」逐條核對(duì) DOC_TABLE [(BACKGROUND_L1, 1), (SERVICE_L2, 2), (MISSION_L4, 4), (INTERACTION_L6, 6), (SYSTEM_L7, 7), (WARNING_L8, 8), (SAFETY_L10, 10)] for name, doc_value in DOC_TABLE: try: actual int(getattr(TtsPriorityLevel, name)) print(f{name:16}{doc_value:8}0x{actual:02x}) except AttributeError: print(f{name:16}{doc_value:8}接口無(wú)此常量)圖 6 是ros2 run priority_lab enum_probe的原樣輸出。上半段逐條核對(duì)文檔 §2.2.1.2 的七個(gè)常量六個(gè)能取到SYSTEM_L7取不到分隔線以下的兩段是同一個(gè)腳本緊接著做的越界試驗(yàn)下面會(huì)用到。SYSTEM_L7在文檔 §2.2.1.2 的推薦常量表里帶著完整語(yǔ)義——「系統(tǒng)重要提示如電量低、網(wǎng)絡(luò)斷開」但它不在ros2 interface show里也不在aimdk_msgs/interaction/msg/、install/、build/三處.msg副本的任何一處。寫TtsPriorityLevel.SYSTEM_L7會(huì)直接拋AttributeError。那能不能硬填數(shù)字可以。類型層完全不校驗(yàn)——圖 6 下半段就是這件事value填 7、5、9、11 全部寫入成功并原樣讀回priority_weight填 100、250 也被接受按公式算出的最終權(quán)重分別是 700 與 850。weight 250這一條值得停一下850 直接落進(jìn)WARNING_L8的 800–899 區(qū)間——一個(gè)本該「微調(diào)」的參數(shù)越界之后能頂?shù)粽麢n。接口不攔只能靠調(diào)用方自覺。接下來(lái)是端到端。我按第四節(jié)那張矩陣實(shí)現(xiàn)了一個(gè)PlayTts服務(wù)端掛到官方aimdk_msgs/srv/PlayTts上然后依次發(fā) 8 個(gè)請(qǐng)求。# 節(jié)選自 ros2_ws/src/priority_lab/priority_lab/tts_client.py def build_request(level: int, weight: int, interrupt: bool, text: str) - PlayTts.Request: req PlayTts.Request() req.header.header.stamp.sec 0 req.tts_req.text text req.tts_req.priority_level.value level req.tts_req.priority_weight weight req.tts_req.domain priority_lab req.tts_req.trace_id flab-{level}-{weight}-{int(interrupt)} req.tts_req.is_interrupted interrupt return req客戶端看到的回執(zhí)圖 7 是ros2 run priority_lab tts_client的原樣輸出。code與state兩列取自aimdk_msgs通用響應(yīng)頭成功是 0/1失敗是 1/2時(shí)長(zhǎng)列對(duì)應(yīng)estimated_duration八條全是 0。第 5、6 條被丟棄時(shí)客戶端多打一行└─ error_message把服務(wù)端給的原因原樣帶回來(lái)。服務(wù)端側(cè)的裁決日志真實(shí)時(shí)序[#n]是請(qǐng)求序號(hào)圖 8 是同一個(gè)容器里cat /tmp/mock.log的結(jié)果客戶端剛跑完日志就是那一刻寫下的。默認(rèn)的日志前綴級(jí)別、納秒時(shí)間戳、節(jié)點(diǎn)名被RCUTILS_CONSOLE_OUTPUT_FORMAT{message}去掉——帶上它每行超過(guò) 100 列終端里必然折行消息體一個(gè)字沒改。這份日志確認(rèn)了四件事第 4 條把value7填進(jìn)去接口照收且按 700 參與了排序成功搶占了 660。文檔檔位在類型層可用在枚舉層不可見——兩種狀態(tài)同時(shí)成立。第 3 條is_interruptedfalse仍被掐斷與矩陣一致與字段名字面相反。第 5 條is_interruptedtrue仍被丟棄同上。排隊(duì)任務(wù)最終自行出隊(duì)mock 里把單次播報(bào)占用設(shè)為 3 秒這是我設(shè)定的占位時(shí)長(zhǎng)不是官方數(shù)值但客戶端全程收不到任何通知。這是個(gè)結(jié)構(gòu)性的缺口下面單獨(dú)說(shuō)。關(guān)于最后一點(diǎn)的成因文檔寫得很直白時(shí)長(zhǎng)字段局限由于 TTS 采用云端/本地流式合成當(dāng)前版本下estimated_duration固定返回0。任務(wù)閉環(huán)建議系統(tǒng)暫未開放播報(bào)結(jié)束的話題通知。若業(yè)務(wù)邏輯需在語(yǔ)音播報(bào)后執(zhí)行如先說(shuō)話后走動(dòng)建議通過(guò)字?jǐn)?shù)預(yù)估約 200ms/字進(jìn)行延時(shí)處理?;貓?zhí)里的estimated_duration字段實(shí)測(cè)確實(shí)是0圖 7 的「時(shí)長(zhǎng)」列八行全為 0。也就是說(shuō)TTS 是一條開環(huán)鏈路調(diào)用方知道「請(qǐng)求進(jìn)隊(duì)了」但永遠(yuǎn)不知道「說(shuō)完了沒有」只能拿字?jǐn)?shù)乘以 200 ms 去估。相比之下運(yùn)控的CommonTaskResponse帶task_id可以追蹤任務(wù)狀態(tài)。同一個(gè) SDK 里一個(gè)異步接口有任務(wù) ID另一個(gè)沒有——這屬于接口層的空白不是使用者的疏忽。需要說(shuō)明的是這個(gè)PlayTts服務(wù)端是我按文檔矩陣實(shí)現(xiàn)的不是啟元的實(shí)現(xiàn)。它的作用是讓請(qǐng)求走真實(shí)的 ROS 2 序列化通道驗(yàn)證契約能通、字段能填、回執(zhí)能解析。真機(jī)上「第 3 條請(qǐng)求到底會(huì)不會(huì)被掐斷」「value7會(huì)不會(huì)被接受」仍需真機(jī)確認(rèn)。凡是 mock 得出的結(jié)論我在上文都標(biāo)了來(lái)源。八、為什么會(huì)分成三套把三處定義的文件路徑擺出來(lái)原因就清楚了aimdk_msgs/interaction/msg/PlayTtsRequest.msg—— TTS屬于交互控制模塊aimdk_msgs/hal/audio/msg/AudioFile.msg—— 音頻文件屬于硬件抽象模塊的audio子包aimdk_msgs/mc/msg/McInputSource.msg—— 輸入源屬于運(yùn)動(dòng)控制模塊三套機(jī)制分屬三個(gè)包、三個(gè)模塊、三撥人。它們各自解決各自領(lǐng)域里的排序問(wèn)題各自設(shè)計(jì)了字段最終在字段名上撞了車。這不是誰(shuí)抄錯(cuò)了誰(shuí)而是分層架構(gòu)下同一概念在不同層各自演化的必然結(jié)果。從這個(gè)角度看三套設(shè)計(jì)其實(shí)各自都很合理運(yùn)控要的是安全兜底。控制權(quán)必須唯一否則兩路指令同時(shí)作用于關(guān)節(jié)后果是物理的。所以它用排他鎖還用 1000 ms 超時(shí)做看門狗——發(fā)流的一方一旦掛掉控制權(quán)必須自動(dòng)釋放不能讓機(jī)器人保持最后一條指令繼續(xù)動(dòng)。這里「優(yōu)先級(jí)」回答的是「誰(shuí)在控制」。TTS 要的是順序與可打斷。語(yǔ)音是流式的可以排隊(duì)、可以中途掐斷掐斷了也不會(huì)有物理后果。所以它用復(fù)合權(quán)重主級(jí)管檔、子權(quán)管同檔內(nèi)的先后還單獨(dú)給了is_interrupted控制同級(jí)是否讓位。這里「優(yōu)先級(jí)」回答的是「誰(shuí)先說(shuō)」。音頻要的是混音。提示音和背景音樂可以同時(shí)響不需要一方靜音。所以它用百分比微調(diào)加音量閃避——警報(bào)聲響起時(shí)把音樂壓低而不是掐掉音樂。這里「優(yōu)先級(jí)」回答的是「誰(shuí)蓋過(guò)誰(shuí)」。三種「優(yōu)先級(jí)」對(duì)應(yīng)三種完全不同的資源模型獨(dú)占資源、隊(duì)列資源、混音資源。資源模型不同仲裁方式自然不能通用。硬要統(tǒng)一成一套字段反而會(huì)把三處都做壞。真正的問(wèn)題不在設(shè)計(jì)在命名。三個(gè)模塊都用了priority和priority_weight這兩個(gè)詞而它們的量綱、算法、邊界各不相同。跨模塊開發(fā)時(shí)前一處的直覺會(huì)直接帶到后一處出問(wèn)題的地方往往連報(bào)錯(cuò)都沒有——運(yùn)控那邊靜默丟幀音頻那邊悄悄 duck只有 TTS 會(huì)給一個(gè)false。九、還沒解決的問(wèn)題按重要程度排有五處AudioFile.priority_weight的運(yùn)算次序未定。第五節(jié)那兩種讀法跨檔能力差兩檔需要真機(jī)同時(shí)播兩個(gè)不同priority的文件、觀察實(shí)際輸出順序才能確定。無(wú)真機(jī)時(shí)斷言任何一種都是編數(shù)據(jù)。SYSTEM_L7是預(yù)留還是遺漏無(wú)法判斷。它在文檔里有完整語(yǔ)義在接口里沒有常量在權(quán)重空間里有位置。三種可能都存在正在實(shí)現(xiàn)中、文檔先寫了、或者實(shí)現(xiàn)時(shí)被砍了但文檔沒同步。沒有官方說(shuō)明只能標(biāo)注現(xiàn)狀。緩沖區(qū)容量與溢出策略未定義。第六節(jié)能推出「緩沖區(qū)內(nèi)的任務(wù)權(quán)重全都相同」但推不出緩沖區(qū)能裝幾個(gè)、裝滿了丟新還是丟舊。TTS與音頻文件兩路之間如何交互文檔未展開。一個(gè) TTS 播報(bào)INTERACTION_L6權(quán)重 600與一個(gè)media_roleAlert的告警音角色優(yōu)先級(jí) 100同時(shí)觸發(fā)時(shí)誰(shuí)讓誰(shuí)兩者在不同模塊、不同層各自的排序鍵無(wú)法直接比較。media_role與priority的優(yōu)先級(jí)關(guān)系未說(shuō)明。文檔只說(shuō)「非 Music 角色播放時(shí)會(huì)自動(dòng)降低duck音樂音量」沒說(shuō)priority高的 Music 會(huì)不會(huì)拒絕被 duck。這五處我都留在原樣沒有替它補(bǔ)。補(bǔ)出來(lái)的東西看著完整實(shí)際是錯(cuò)的——尤其第 1 條和第 4 條隨便寫一個(gè)「應(yīng)該是這樣」讀的人照著做問(wèn)題會(huì)出現(xiàn)在幾個(gè)月后的現(xiàn)場(chǎng)調(diào)試?yán)铩J?、接手這套接口時(shí)先做四件事如果要在啟元 Q1 上寫播報(bào)相關(guān)的業(yè)務(wù)按這個(gè)順序過(guò)一遍能避開大部分坑第一先確定你要用的是哪一套。是讓機(jī)器人「說(shuō)一句話」PlayTts還是「放一個(gè)音頻文件」PlayAudioFile前者走交互模塊后者走硬件抽象模塊兩套的priority_weight含義不同。選錯(cuò)了接口后面調(diào)參數(shù)全是白調(diào)。第二priority_level只用接口里那 6 個(gè)常量。不要照著文檔寫SYSTEM_L7——編譯期就會(huì)失敗。如果確實(shí)需要「系統(tǒng)重要提示」這一檔用INTERACTION_L6或WARNING_L8或者硬填value7并接受它是一個(gè)接口不承認(rèn)的檔位。第三不要把is_interrupted當(dāng)成插隊(duì)開關(guān)。它只決定同級(jí)是否讓位。想讓一句話壓過(guò)正在播的內(nèi)容唯一可靠的手段是提高priority_level——但記住子權(quán)跨不了級(jí)L499仍然低于L60。第四給播報(bào)留出時(shí)間余量。PlayTts返回is_successtrue只代表進(jìn)隊(duì)了estimated_duration恒為 0沒有播報(bào)結(jié)束話題。要在播報(bào)后執(zhí)行動(dòng)作比如先說(shuō)話再走動(dòng)只能按字?jǐn)?shù)估——文檔給的經(jīng)驗(yàn)值是約 200 ms/字單次播報(bào)建議控制在 100 字以內(nèi)。這四條不需要真機(jī)就能驗(yàn)證前三條第四條在真機(jī)上用秒表對(duì)一次字?jǐn)?shù)與時(shí)長(zhǎng)就能把估算公式校準(zhǔn)成自己的系數(shù)。三套優(yōu)先級(jí)并存的局面短期不會(huì)改變——它們分屬三個(gè)模塊各自服務(wù)不同的資源模型統(tǒng)一命名的收益遠(yuǎn)小于改動(dòng)的風(fēng)險(xiǎn)。對(duì)開發(fā)者來(lái)說(shuō)能做的事只有一件把它們的差異記清楚別用一套的直覺去寫另一套的代碼。本文用到的規(guī)則復(fù)現(xiàn)、枚舉核對(duì)、矩陣驗(yàn)證腳本都放在 AtomGit 上無(wú)需真機(jī)即可復(fù)現(xiàn)https://atomgit.com/2301_76341691/primebot-priority-taxonomy-lab如果你也在啟元機(jī)器人上做二次開發(fā)歡迎到啟元機(jī)器人開發(fā)者社區(qū) https://dev.primebot.com/ 交流那里有官方文檔、SDK 倉(cāng)庫(kù)入口和開發(fā)者討論區(qū)。文中若有不準(zhǔn)確的地方也歡迎在倉(cāng)庫(kù)提 Issue 指出來(lái)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情婷婷啪啪| 91精品综合久久久久久五月丁香| 五月开心婷婷网| 国产小精品| 婷婷五月丁香手机在线视频| 森林影视大全,最好看的2019年视频 | 亚洲视频码| 亚洲 视频 导航 一区| 五月噜噜噜色综合| 色婷婷19| 拍色综合| 激情小说色五月| 99热网站| 亚洲精品国产setv| 色婷婷五月天| 99热费观看| 日本熟女三区| 91精品久久久久久综合五月天| 天天色2017| 超碰操网| 五月伊人网| 久久这里只| 婷婷五月成人色综合| 婷婷五月丁香色播| 91丨人妻丨国产丨丝袜| 色停停影院五月天| 日本少妇AA一级特黄大片| 欧美性色A片免费免费观看的 | www.99热在线观看| 亚洲婷婷欧美婷婷| 俺去也在线视频| 色情五月天视频网| AV伊人青草丁香六月| 婷婷人妻激情| 丁香激情五月| jiujiujiuwuyuetian| 99热亚洲只有色| 99视频内射三四| 激情五月天啪啪| 久久人妻在线| 激情五月视频在线婷婷| 六月 丁香 视频| 99re热精品视频国| 蜜臀av无码久久久久久久久| 嫩草综合网| www.99视频| 99狠狠操一| 成人五月天。COM| 丁香五月香蕉| 中文字幕欧美日韩VA免费视频| 在线中文av| 五夜丁香| 99性色| 91色逼| 日日夜夜天天| 99久久9| 婷婷午夜精品久久久| 五月丁香婷婷综合| 九九aV| 99热这里只有精品66| 丁香五月在线观看完整版| 777精品成人a v久久| 亚洲色婷婷激情| 激情综合5月| 7月婷婷六月丁香| 日本久久婷| 99精品久久久| 五月色情婷婷开心五月色情| 色色婷婷综合网| 五月天成人手机在线视频| 538久久| 六月丁香婷婷网| 五月丁香啪啪激情| 99热这里精品| 26uuu亚洲| 96精品久久久久久久久| 亚洲操逼网| 丁香婷婷大香蕉| 婷婷五月天综合网| 神马久久五月天| 久久九⑨| 《诡秘之主》在线观看| 开心五月婷婷在线| 九九99精品视频| 91操在线视频| 丁香五月综合网| 色网五月婷婷| 激情综合九月| www夜夜操wwwcon| 思思热99在线视频| 99操碰| 人人摸人人摸| 人妻在线观看视频| 丁香五月婷婷狠狠色| 少妇丁香婷婷| 99色色视频| 婷婷五月激情综合| 久久婷婷艹| 激情骚五月| yellow视频在线观看91| 色五月天综合| 九月丁香婷婷综合| 亚洲天堂AAA| 99热这里有精力| 五月停停999| 九九视频在线观看| 亚洲精品中文字幕成人片| 五月婷色色| 国产阿姨日皮艹逼内射视频 | www.狠狠艹| 91成人看片| 六月丁香久久| 99男人天堂| 这里只有精品,日韩视频| 国产另类综合| 五月色网| 狼人婷婷久久| 婷婷五月图片小说视频| 婷婷99狠狠| 色综合香蕉视频| 精品久色| 久青操| 国自产拍偷拍精品啪啪一区二区| 五月久久婷婷丁香| 日本色视| 五月精品99综合| 五月天激情图片| 亚洲色色精品| 欧美S码亚洲码精品M码| 黄网在线免费观看| 在线观看免费狠狠色丁香香综合| 青草视频在线播放| 激情无码五月天| 五月丁香六月婷婷综合网站 | 91精品久久久久久综合五月天| 狠狠爱综合网| av国产精品偷| 99热免费| 98色丁香五月婷婷综合网| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 百度4399有码精品V在线观看| 久久这里只有国产| 97人妻碰碰中文无码久热丝袜| 猫咪伊人AV| 亚洲综合视频天天精品| 开心五月婷婷激情| 99热人人| 激情五月丁香五月| 天天色播| 深爱激情综合| 亚洲精久久| 99在线热视频| 国产肏屄大片| 色激情五月| 果冻传媒A片一二三区| 99色综合网| 精品色色| 26UUU欧美激情一区二区| 色婷婷视频综合| 极品人妻VIDEOSSS人妻| 五月丁香六月婷婷不卡免费无码| 人人操AV| 五月激情婷婷色| 欧美成人精品A片免费一区99| pom538精品视频| 欧美成人猛片AAAAAAA| 激情视频91| 99re8在这里只有精品| 伊人狼人干| 色综合久久天天综合网 | 色偷偷AV亚洲男人的天堂| 久久综合五月天| 日本九九网| 久久香视频| 思思热在线视频99| 碰久久精品w| 久久96热| 91精品丝袜久久久久久久久粉嫩| 婷婷娌伦网| 婷婷激情五月视频| 91人人操.COM| site:hcxsz888.com| 五月婷婷色色色| 思思久久99| 久久色情| 国产精品扒开腿做爽爽爽A片唱戏| 色五月色五天色情网| 久久色天堂| 亚洲天堂啪啪| 99热这里只有精| 99自拍视频| 99免费| 五月丁婷香| 色99色| 五月婷婷视频啪啪美女| www.韩日视频| 五月婷婷激情| 色色色99韩| 欧洲电影在线观看免费版英语版 | 婷婷色综合| 久久精品99久久久久久| 午夜激情综合| 精品无码人妻一区| 婷婷 丁香 久久| 婷婷久久婷婷| 婷婷99狠狠| 五月天婷婷基地丁香| 国产一区二区三区影院| 天天插,天天射| 婷婷久久免费| 精品一区二区三区免费毛片爱| 丁香六月婷婷综合网| 教师性爱毛片| 日韩亚洲视频| 亚洲最大五月天成人网| 69精品人人人人| 成片免费观看视频大全| 99视频在线精品免费观看2| 美国不卡视频| 欧美成人精品三区综合A片| 激情综合婷婷| 97干免费视频| 亚洲精品第一国产综合亚AV | 婷婷五月丁香色情| 亚洲Av成人在线观看| 任你爽精品免费视频6| 丁香五月激情婷婷视频| 成人片黄网站色大片免费毛片| 五月婷婷综合潮喷| 婷婷五月丁香基地在线视频官网| 亚洲最大视频网站| 玖玖综合网| 人人看人人要| 天天五月丁香五月| 久久婷婷五月综合一| 欧美大道不卡| 六月丁香激情婷婷| 婷婷丁香射射| 99视频网址| 五月天开心网| 超碰人人干| 色青五月天| 中文字幕av久久爽一区| 强辱丰满人妻HD中文字幕| 色播五月| 99热12| 色五月婷婷婷婷婷婷婷婷婷婷| 免费无码毛片一区二区A片| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 五月丁香综合激情| 原琪琪色影院| 激情婷婷六月天| 深爱五月激情网| 91丁香婷婷综合资源| 天天做天天爱| 国产精品大香蕉| 婷婷狠狠色| 丁香五月第九色| 性色婷婷| 日韩淑女人妻luan伦激情精品一区二 | 超碰在线观看成人视| 日本色婷婷| 91婷婷色| 开心五月深爱五月| 欧美一级操逼视频| 色丁香久久久| 五月婷婷激情69| 亚洲婷婷在线播放十月| 激情婷婷在线中文字幕| 超级碰碰碰碰视频| 五月婷婷九| 成人网在线观看视频| 啪啪啪大香蕉| 91九色精品女同系列| 涩五月色婷婷| 深爱1激情网| 五月色情婷婷开心五月色情| WWW.天天日| 91精品婷婷国产综合 | 婷婷亚洲色| 插插插色综合网| 亚洲人妻av| 色哟哟www| 亚洲第二AV| 极品人妻XXXXOOOO| 久热免费视频| 无码免费人妻A片AAA毛片西瓜| www.99视频| 97婷婷狠狠| 99人妻碰碰碰久久久久视| 五月丁香淫淫婷婷婷| 国精产品一区二区三区| 色色 9| 久久网思思| 欧美综合婷婷欧美综| 日日骑夜夜撸| 色婷婷4| 六月婷婷六月天天在线免费| 先锋男人99资源| 开心深爱五月天| 婷婷五月天播| 综合色五月天| 国产六月婷婷| 亚洲五月天狠狠| 五月丁香六月婷婷a v| 天天干天天干天天干天天干天天干天天| WWW,色五月| www久久99com| 天天干-天天日| 色插综合网| 人妻在线中文字幕久久| 色色色色av色色色色| 亚洲女婷婷五月基地综合久久久| 五月花丁香婷婷| 国精产品一区二区三区| 99这里只有精品视频| 婷婷 丁香 精品| 91色色色18| 亚洲精品99| 99re8这里只有精品99re8热视频| 国产精品国产成人国产三级| 九月丁香婷婷网| 婷婷五月天久| 激情综合区| 激情五月天黄色小说| 五月天激情婷婷| 1000部毛片A片免费观看| av高清无码| 色婷婷aV四虎| 色综合九九| 影音先锋xfplay资源男人网| 丁香五月23111| 成人五月天视频播放| 丁香六月婷婷色XXXXX| 天天日日夜夜爽。| 亚洲激情AV| 色婷婷成人做爰A片免费看网站| 思思9久久| 色色色色色日韩午夜激情 | www.日韩国产| 少妇AB又爽又紧无码网站| 播丁香五月婷婷欧美| 97AV人人插人人操| 久久小说网| 色约约视频一区二区三区四区五区| 99啊精典免费视频| 嫩草综合网| 51avj视频大全| 色一情一乱一乱一区91| 五月丁香色欲| 婷色五月| 色五月丁香婷婷在线观看| 综合色情网| 成人无码髙潮喷水A片| 视频在线免费观看欧洲乱码| 人妻久久做| 丁香五月开心婷婷| 99色在线视频| 日本一毛片| 五丁香激情综合| 97操碰在线视频| 麻豆AV一区二区三区| WWW、日本色丁香、co m| 久久作爱| 丁香五月狠狠综合欧美| 99人妻碰碰碰久久久久禁片| 丁香婷婷老司机久操| 丁香 婷婷 激情 综合 五月| 色五月激情网| 丁香五月婷婷色综合| 久久精品99久久| 色五月五月天| 性爱在线播放av| 五月色影院| www.超碰在线| 99热新网址| 天堂AV在线看| 丁香婷婷综合激情五月色| 五月九九综合| 五月婷婷色情| 久久XX| 99狠狠| 这里只有精品69| 久久狠狠干| 9视频1在线| 九九久久五月天综合伊人| 9色在线| 九九综合88| 99精彩视频在线观看| 91精品无码| 99热观看| 激情开心五月天婷婷基地丁香社区| 久草热在线视频| 亚洲网站999| 襙比视频| 91 九色大美女| 99re热视频这里只有综合亚洲| 五月丁香综合在线| 丁香六月色| 五月丁香六月婷婷在线播放| 成人无码髙潮喷水A片| 日本老女人黄页在线播放| 久久久久久久人妻| 久久超视频| 天天激情| 九九激情视频| 2025天天日爽| 久久婷婷五月综合激情国产| 色婷婷超碰| 成年视频免费观看| 夜夜谢天天干| 五月婷婷九九热| 五月婷婷自拍| www,久久久人人| www.开心激情| 天堂va久久久噜噜噜久久Va| 色99网站| 人人操91色| 79精品视频| 影音先锋AV资源男人站| 五月丁香淫淫婷婷婷| 91九色超碰| 天天干夜夜操A片| 97在线精品| www.99热国产| 久久艹 五月天| 婷丁香五月天| 亚州第一A片| 色999;丁香五月| 五月丁香影院| 综合五月天婷婷色| 一操久久| 色婷婷久久| 深爱激情中文五月天av| 国产乱人偷精品人妻A片| 色国产五月| 51精品国自产在线| 另类综合婷婷五月天欧美视频| 婷婷五月激情小说| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 内射人妻视频国内| 亚洲色vA| 国产黄色大片| 九热视频精品| 丁香五月天激情婷婷丁香六月 | 久久99热这里只有精品| 色婷婷性爱网| 婷婷操超碰| 丁香五月婷婷六月婷婷| 特级片神马电影| 九九色大香蕉| 色婷婷五月天激情| 国产成人+亚洲+欧洲| 久久综合五月天| 五月婷婷黄色| 99热传媒| 97色婷| 操嫩逼电影| 久久丁香综合| 亚洲综合五月天| 玖玖91| 久久激情五月天| 色色综合日韩| 欧美色色色色色色| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 欧美性生交XXXXX无码小说| 香蕉五月婷婷| 六月丁香视频网站| 婷婷 色 丁香 夜| 成人片在线播放| 日本nghangse中文字幕| 五月丁香婷婷福利| 开心激情站| 国产毛多水多女人A片| 日韩精品一区二区刘| 亚洲综合99| 五月天婷婷青青草| 9.1综合网| 国产色色色色| 99国产精品久久久久久久久久久| 丁香五月婷婷av| 色婷婷五月综合在线| 激情伊人| 人人操超碰| av国产精品偷| 久久人妻视步| 草了bav视频在线观看| 日韩黄色电影| 亚城区在线| 91久久久久久| yellow视频在线观看91| 丁香五月天啪啪a日本| 婷婷丁香久久| 色色五月天丁香| 丁香六月婷婷姐网| 无人区码一码二码三码医生系列| 武则天精品久久| 丁香五月综合在线观看| 欧美色综合天天久久综合精品| 啪啪 综合网| 人妻VideOssS人妻高清| 性av| 亚洲精品久久久无码| 久久99激情| 色综合五月在线| 日韩啪啪视频| 一级七香蕉| 五月综合六月丁| 午夜一区| 操操操操操操婷婷五月天| 久久久性爱视频| 国产精品久久久久久喷浆| 丁香五月性| 免费观看大片视频 丁香婷婷 六月欧美| www免费在线视频| 亚洲色9| 99色网站| 色婷久九| 4438激情网| 人妻中文字幕精品| 99热在线成人网站| 99色在线观看视频者| 丁香六月婷婷综合麻豆| 99热成人| 丁香色情五月天| 99啪啪| 久久99免费视频| 人妻操在线看| 伊人99久久| 欧美va| 99精品视频在线观看| 77799热| 婷婷五月天激情小说| 久久婷婷色色| 色色色免费视频| 五月婷婷久久久| 51XX午夜影福利| 五月停停999| 亚洲第一精品成人999久久精品| 国产性爱在线| 九九热精品视频九九| 色色婷婷综合| 色婷婷最爱五月| 婷婷激情五月| 丁香五月激情澎湃一区| 亚洲成人电影在线免费观看| 五月婷婷影| 久久婷婷桃花五月天| 色五月婷婷色五月婷婷色五月婷婷| 色偷偷AV亚洲男人的天堂| 色久婷婷网| 国产乱妇乱子在线播视频播放网站| 色婷婷五月基地在线| 精品影院| 99re在线这里只有精品视频首页| www.狠狠| 在线观看的av| 久久久久9999| 青青夜夜狠狠夜夜狠狠| 狠狠精品干练久久久无码中文字幕| 丁香桃色综合网| 丁香婷婷成年| 99免费| 欧美久久网| 九九热超碰| 一本久道综合色婷婷五月| 亚洲免费婷婷| 六月丁香婷婷开心综合基地| 久热精品9999| 夜夜资源站| 久去色色| 天堂在线观看视频| 极品另类| 狠狠色婷婷在线| 99热这里只有精品3| 亚洲人妻Av| 久久婷婷综合五月天| 五月激情六月| 一区操| 激情啪啪五月| 91爱操| 色色色热| 激情综合丁香五月| 色玖玖| 国产精品久久久爽爽爽麻豆色哟哟| 欧美激情-区二区三区| 4399欧美另类视频| 日韩婷婷| 五月婷婷啪啪啪啪| 99视频内射三四| 性欧美大战久久久久久久83| AVDV久久| 五月丁香色婷婷伊人| AA丁香综合激情| 亚洲成人在线五月天| 中文AV在线播放| 熟妇内谢69XXXXXA片| 婷婷五月丁香基地| 99热思思久| ztEJj| 国产精品久久..4399| 五月亭亭六月激情| www.久久久久久| 成人在线日韩| 亚洲成人五月| 南京搡BBBB搡BBBB| 超碰无码318604| 婷婷综合五月天| 天天干天天色综合| va婷婷在线| 色五月中文字幕| 九月色婷婷| 高清无码入口| 秋霞午夜理论| 五月丁香色婷基地综合久久| 夜夜嗨一区二区三区直播内容| 久久精品系列| jiujiu无码五区| 伊人玖玖网| 亚洲精品又粗又大又爽A片| 婷婷欧美| 久久婷婷在线| 91操片| 一区无码| 国产精品日本一区二区在线播放| 久久92| 五月草影视| 综合激情啪啪| 婷婷免费无马| 伊人大香久久| av一级棒av| 午夜婷婷| 婷婷成人五月天| 青青999| 丁香五月天社区| 91免费看片| 激情婷婷五月基地| 人妻乱码久久久| 99欧州偷拍视频| 成人精品网站在线观看| 乱岳熟女50岁| 翔田千里 50岁 无码| 激情综合色播| 亚洲另类久久| 深爱婷婷色| 久久五月综合| 日本系列_4页_777FP| 啪啪操网| www,99视频| 91精品久久久久| 日日干天天| 婷婷激情丁香六月| 亚洲精品网站色视频| 99久久偷拍视频| 久久小说| 欧美性做爰大片免费看办公室| 久婷五月| 色婷婷免费观看| 日本狠狠色| 天天爽天天摸人妻综合网| 五月天婷婷网站| 五月伊人综合| 婷婷欧美激情综合| 久久久人妻人伦| Av九九| www.日韩国产| 久操干| 99久久精彩视频| www九月婷婷| 丁香九月色| 久久久久久99日本| 日B日潘金莲BB| 日韩性爱AV| 开心五月激情网| 五月丁香六月婷综合成人综合 | 中国女人内射6XXXXX| 五月婷婷在线播放| 久久久精品人妻录| 天天做天天爱综合| 这里只有精品视频一区| 狠色狠色综合久久| 欧洲精品欧洲情| 五月婷婷AV| 99re免费在线视频| 色婷婷88| 99九色视频在线观看| 欧美精品啪啪| 婷婷色综合| 丁香婷婷六月激情文学 | 欧美色宗和激情| www.97碰碰com| 色九月婷婷综合| 九九热九九| 色琪琪一综合久久激情五月视频| 久久人人超| 99热精品在线| 99在线视频播放| 久久亚洲婷婷| 久久这有这里精品| 襙逼网| 激情久久综合网| 婷婷五月丁香色情| 成人丁香五月天| 国产日韩欧美性爱| 狠狠色综合网| 99在线观看精品视频| 九九99久久| 69凹凸成人综合网| 亚洲视频1区| 任你操精品免费| 五月婷婷亚洲| 五月丁香爱婷婷深深| 熟女色专区| 亚洲99在线视频| 婷婷操婷婷干婷婷射| 色婷婷久久综合| 色五月婷婷网| 久久综合图片| 中文字幕AV网址| 台湾综合丁香五月蜜桃| 丁香五月六月欧美| a久久| www.色综合.com| www.超碰在线| 性爱111111| 婷婷久久天堂网| 婷婷五月精品中文字幕| 久久这里只精品66| 久久综合天天综合| 99视频35精品视频在线观看| www超碰| 欧美S码亚洲码精品M码| 婷婷六月久久| 五月天丁香六月综合| 麻豆忘忧草午夜| 国产色香蕉精品五夜婷| 日韩操人| 色欲五月婷婷| 久久五月丁香婷婷| 国产,欧美,学生妹,视频| 婷婷久久图片| 婷婷五月丁香五月丁香| 天天噜噜| 九九色精品| 九九激情| 天天肏屄夜夜爽| 色日本五月天| 色播五月丁香| 欧美超级视频97| 这里只有精9| 九九99热| 又大又粗九一在线| 9色在线| 九九热经典视频在线观看| 色婷婷狠狠| se婷97| 思思热99er在线视频| 五月天婷婷综合免费| 六月丁香久久| 综合激情肏逼网| 婷婷五月天日日日干干干| 五月丁香成人| 丁香五月天社区婷婷| 婷婷丁香六月五月天| 激情五月久久| 五月婷婷综合激情小说| www.婷婷五月天,com| 天天婷婷| 91dy.av| 中文资源在线a| 91色操| 丁香五月网| 在线观看亚洲AV| 激情国产综合| 日本97久久久精品| 五月丁香888| 冬月かえでAV无码播放| 97超碰99热99| 久热久re| 人人妻人人澡人人爽| 日韩 mm 不卡| 日韩精品一区二区刘| 欧美精品久| 九九美女视频| 第四色五月婷婷| 人人爽欧美婷婷久久久五月丁香| 六月激情丁香一道本7777| 伊人久久大香线蕉亚洲五月天,| 热99.com婷婷| 超碰A V在线| 五月丁香六月婷婷的女人| 日本色超碰| 婷婷色基地在线看| 婷婷丁香综合| 丁香五月婷婷亚洲综合精品| 另类综合激情| 久热视频A.| 操笔无码| 99热只有这里才是精品| 播五月丁香六月| 青草五月天| 六月色婷婷| 久久98| 色播五月天激情| 亚洲愉拍99热成人精品| 久综合九综合99| WWW.久久久久久久久久久久久| 青青草婷婷久久| 久久久久激情| 99亚洲视频| 色碰碰| 日本www五月婷婷| 五月丁香激情综合六月涩涩爱| 久久久精品人妻录| 亚洲va欧美va天堂v国产综合| 日本啪啪网| 狠狠色狠狠操| 激情五月四色| 久久思思99| 久久五月婷婷电影| 伊人干练久| 色色色色网站| 婷婷色导航| 激情内射人妻1区2区3区| 99热免费| 啪啪色激情五月天| 五月丁香久人妻中文| 爱草视频在线观看| 丁香五月婷婷五月| 中文av网| 东北熟女视频99| 成人一级片| 五月婷婷这里都是精品| 免费观看的婷婷五月视频在线| 婷婷的99视频网站| 久久久99精品免费观看| 久9视频免费播放| 激情五月丁香婷婷夜夜操| 亭亭五月天黑人2014| 99精品视频网| 第九色区av天堂| 香蕉中文在线| 99热这里只有精品手机在线观看| 色激情五月| 337p大胆噜噜噜噜噜91Av| 97碰碰九九视频| 欧洲不卡视频| 天天爽日日爽夜夜爽| 亚州色婷婷| 超碰cap| 久久人人看| 亚城区在线| 日本丁香五月| 玖玖色资源| 丁香婷婷久久激情| 大香蕉婷婷色| 亚洲国产成人AV在线| 婷婷久久综合| 色婷婷久久| 日欧一片内射VA在线影院| 久久久久8888| 色大综合| 精品久热| 人人性久久| 欧美日韩AAA| 五月丁香六月综合激情| 天堂久久性| www激情五月天| 久久久久9| 99免费热视频在线| 新伍月婷婷| 成人做爰A片免费看视频| 国产免费av在线| 伊人五月天婷婷| 六月婷婷综合| 欧美久久婷婷| 色99在线视频| 亚洲在线网站| 91色九| 六月丁香综合| 韩国不卡AC视频| 九九日本视频| 99在线观看视频| 在线综合91| 亚洲狠狠狠| 欧美性猛交 XXXX 乱大交| 久热伊人| 91色逼| 色婷婷AⅤ| 五月色色激情网| www,婷婷,com| 26uuu欧美亚洲日韩| 99色在线| 婷婷色色五月天| 色婷婷88| 吊色AV男人的天堂| 婷婷五月天高清无码| 激情六月婷婷啪啪| 婷婷六月丁香在线| 婷婷97| 99热99在线| 人妻激情在线| 日韩成人电影在线播放| 五月丁香色婷婷| 久久久香港| 亚洲AV色婷婷人禽五月天| 婷婷不卡基地| 丁香五月开心五月激情| 五月天婷婷色播综合在线| 色婷婷丁香五月观看| 天天操婷婷| 亚洲国产色婷婷| 色欲一区二区三区精品A片| 亚洲激情网| 人人操av| 久久久jd| 久久综合五月天| 婷婷五月综激情| 综合久久97| 婷婷午夜精品久久久| 成人在线视频网| 亚洲AV人人操| 思思久久99| 国内裸舞二区| 99精品国产在热久久| 丁香婷婷六月天| 亚洲乱码日产精品BD| 五月丁香九九九综合| aV直接看| 婷婷五月激情视频在线| 天天色99| 日韩人妻在线观看| 欧美噜噜噜草| 狠狠综合| 国产熟女日日骚五月丁香爱| 久久婷婷老| 欧美成人色婷婷| 欧美超级视频97| 天天肏夜夜肏| www.99热国产| 日韩人妻AV在线| 激情5月婷婷| 五月婷A V在线| 亚洲色优| 99热啪啪| 精品夜夜澡人妻无码AV| 婷婷激情五月天视频在线| 毛v一区二区视频| 婷婷永久在线| 操逼福利视频| 五月丁香日逼| 色婷婷色99国产综合精品| 色色综合无码| 91人妻人人操| 丁香五月婷婷大香蕉| 99re熱| 色综合99无码| 色五月婷婷在线| 狠狠色丁香五月婷巨| 国产精品久久久久9999小说 | 五月丁香婷色| 2022久久婷婷| 久久人人九九| 夜夜夜夜做天天天做无码视频| 亚洲成人网址在线观看| 超碰93在线观看| 六月色婷婷欧美| 国产99久9在线+|+传媒| 97操操| 色狠狠六月| 最新日韩久热免费视频看看| 可以看的AV| 色综色五月天婷婷| 任你爽免费视频| 一本色道久久88综合日韩精品| 五月丁香另类图片| 99,色| 五月婷久久综合| 婷婷五月六月| 婷婷五月天免费视频在线观看| 色99网| 丰满人妻一区二区三区| 五月天激情AV| 狠狠夜夜五月丁香| 天天网曰日曰夜夜综合永久免费| 九九这里有精品| 伊人五月人妻精品| 五月婷婷色影院| 99精品视频播放| 婷婷色综合| 99re热视频这里只精品5| 婷婷六月丁香激情| 91免费试看| 婷婷五月天影院| 五月天婷婷丁香| 亚洲人人干| 91九色视频| 伊人天堂婷婷| 免费看欧美成人A片无码| 丁香五月伊人| 婷婷五月久久| 五月丁香婷婷网网网网| avv在线| 超碰av在| 久久九九色| 99久久精品国产色欲| 色色网站免费观看| 激情图片亚洲| 91肏| cao视频,现在观看| 午夜不卡久久精品无码免费| 国产67194| 99久久6| 五月婷婷久久网| 丁香九月综合| 99综合自拍| 五月婷婷丁香大香蕉| 成熟妇人A片免费看网站| 亚洲成人网站在线观看| 五月花婷婷| 99热成人在线观看| 六月色色婷婷| 亚洲色涩视频| 九九aV| 丝袜激情网| 中文字幕av久久爽| 久久黄色片| 亚洲乱码精品久久久久..| 色色色婷婷五月| 丁香五月婷婷AV在线| 久久久区区一久久久久久| 天天狠狠插| 天天爽天天弄| 5月激情天| 色婷婷综合网站| 色丁香婷婷| 色综合狠狠色| 97人操| 久久五月婷天天干| 三十熟女| 97亚洲视频在线| 五月丁香| 国产精品国产成人国产三级| 激情五月丁香五月| 狠狠草狠狠草| 狠狠色色| 婷婷五月天成人网| 九九热免费| 玖玖精品视频| 91久久五月天| 国产亚洲色婷婷久久99精品91| 五月开心色| 亚洲激情综合免费| 日本社区五月天激情| 色五月第四色| 国产精品热搜丁香五月婷婷| 战争与艾拉电影免费观看| 天天xxxxxx天天日| www国产亚洲色婷婷com| 五月婷婷久| 操操操操操电影网| 99精品无码网站| 婷婷五月视频| 丁香五月激情啪啪| 狠狠的日| 五月久久婷婷丁香| 91婷婷色五月| 激情五月天影院| 日韩成人精品中文字幕| 大香蕉啪啪啪| 日韩一本操| 婷婷黄色网| 狠狠色婷婷色| 丁香五月AV| 久久ww| 丁香综合伊人| 另类小说五月天激情| AV五月婷婷露脸| 丁香五月六月综合激情| caop在线| 久久性爱视频| 亚洲天堂热| 久久五月天激情| 2050人人操免费工开爱 | 丁香激情网| 不卡的AV网站| 大香蕉人人网| 色婷婷88| 激情涩涩网| 新伍月婷婷| 日本欧美成人片AAAA| 人妻人人操| 日韩免费视频| 久久99网| 久色网址| 色丁香综合影院| 常久最新免费的色吊丝| 婷婷综合精品| 精国产品一区二区三区A片| 婷婷五月丁香青青草在线| 婷婷久久影院| 九九综合视频在线观看| 人妻熟妇六区| 五月天天天天天天天天天天天婷婷婷| 超碰碰碰碰| 三十熟女| 91丨九色丨熟女丰满| 99这里只有精品国产| 五月天社区狠狠| 天天操无码| αv中文字幕在线观| www.久久9| 欧美激情五月天婷婷| 丁香五月激情五月开心五月| 九九99精品视频| 日韩丰满少妇无码内射 | 久久视频在线| 丁香六月五月天| 丁香五月伊人| 成人短视频在线| 一本综合丁香日日狠狠色| 亚洲AV日韩无码| 免费观看欧美成人AA片爱我多深| 人人搡人人| 丁香五月狠狠在线观看| 很很干夜夜干| 无码少妇高潮喷水A片免费| 18久久| 婷婷在线观看五月天在线视频| 天天做天天摸| 91操人| 超碰高清在线| 婷婷综合成人五月天| 99精品在线观看视频| 性做爰A片免费视频A片直播 | 20253AV| 99热9| 婷婷五月丁香在线视频| 中文成人在线| 在线观看欧美3区| 日韩五月婷婷| 五月天丁香成人社| 五月天小说激情| 一起草av| 99热国产免费| 日B日潘金莲BB| 色婷婷丁香五月| 天天爱天天操| 啪啪日本欧美| 色噜噜狠狠色综| 色色色综合| AV在线免费观看不卡| 婷婷五月综合激情| 欧美日韩成人在线网站| 韩国不卡AC视频| 成人小说 五月天 婷婷| 91碰在线| 丁香六月av| 丁香五月婷在线| 五月丁香啪| 丁香五月婷婷激情网| 日韩视频99| 欧美69久成人做爰视频| 婷五月天天| 婷婷五月香蕉| 亚洲狠9| 婷婷色香六月综合激情| 久久五月天综合| 另类专区在线| 五月丁香影视| 综合99在线| 五月丁香另类网| 久久精彩视频| 九九热这里只有精品556| 久草A片| 99re久热只有精品6在线直播.com| 五月综合精品| 久久色大香蕉| 婷婷五月丁香成人| 狠狠综合网| 噜噜噜噜噜在线| 婷婷伊人五月天| 久久久久久18| 激情五月,色播五月| 九九九九九九热| 五月婷婷丁香在线视频| 青青草视频免费观看| 深爱激情五月天| 婷色五月天| 伊人三级激情| 欧美成人色婷婷| 六月婷在线| 激情五月影院| 操比激情五月| 开心五月网 | 国产国产乱老熟女视频网站97| 67194成I人在线观看线路1| 久热 91| 日韩综合久久| 亚洲九区| 超碰91av| 夜夜爱网站| 蜜臀av无码久久久久久久久| 99热思思| 婷婷日| 国产精品第一国产精品| 99只有这里是精品| 婷婷伊人五月天| 五月天婷婷人妻| 青青久久大香蕉| 激情深爱五月天| 亚洲免费99| 看片视频在线免费日产在线看| 精热在线综合网| 97精品综合| 六月丁香婷婷色69| av一区免费看| 五月婷婷导航| 天天操加勒比| 99热思思| 狠狠色狠狠色综合日日91| 国产FREESEXVIDEOS性中国| 色五月婷婷视频| 狠狠色婷婷综合开心影视| 这里只有精品视频在线| 性生活视频98791| 99热手机在线精品| 丁香五月天婷婷中文| 婷婷激情五月天桃花网| 五月丁香婷婷AV| 婷婷天堂综合| 亚洲成av人影院| 六月丁香社区| 2016日日夜夜操| 日日干天天| 综合色综合| 99亚洲视频| 久久久久人妻| 97色婷婷五月天| 色婷另类| 99∨VTV| 色狠狠综合| 久9热视频在线观看| 91热爆在线| 九九99一区| 久热黄色| 亚洲色无码A片一区二区麻豆| 丁香六月婷婷综合欧美| 久久久激情| 成人午夜天| 99热这里只有精| 欧美va亚洲va| 九九久久色| 九九九热精品| 伊人婷婷五月 | www,色中色| 91人操人人人操人| 日日日日日| 五月综合无码| 五月婷婷色色色| 欧美精品在线观看| www.久久99热地址发布| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 亚洲无AV在线中文字幕| 5月婷婷6月六月丁香| 亚洲精品色色|