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
返回資訊列表
丁香六月婷婷综合缴| 天天综合网亚洲综合网| 久久婷婷欧美| 超碰爱爱爱| 国产精品社区| 激情AV网| 大香蕉伊人99| 婷婷激情综合色五月久久91| 九九综舍久久| 亚洲婷婷丁香五月天激情小说| 丁香婷婷六月天| 在热视频精品| 色综合久久久久| 伊人激情| 国产精品人妻在线网址| 一本久久亚洲五月婷婷| 五月天婷婷乱论小说| 大香蕉五月婷婷| 五月天婷婷基地| 人妻丰满精品一区二区A片| 变态另类色图| 女人露出p毛视频www网站| 天色综合网站| 91精品无码| 国产激情视频在线观看| 亚洲成人av在线播放| 精品久色| 激情五月丁香亭亭| 中文字幕丰满孑伦无码专区| 九九狠狠干| 天天做天天爰天天爽天天无遮挡| 色呦呦美女| 五月婷婷无码| 9热视频在线观看| 天天爱天天做综合| 天天搞天天爽| 97精品人人A片免费看| 天天干,夜夜爽| 亚洲中文乱字字幕在线永久| 开心五月婷婷综合在线精品素人| 激情五月天之六月婷婷| 久久98| 国产偷人爽久久久久久老妇APP| 久久大香蕉伊人| 丁香六月天AV| 激情婷婷色色| 婷婷欧美激情| 丁香婷婷在线| 性做爰1一7伦| 97色碰| 激情五月丁香六月综合AVXXXX| 91啪啪| 青青草原亚洲久| 亚洲99综合| 99热这里只有精品1998| 9色在线| 91人妻人人操| 五月婷婷播| 五月婷婷视频| 久久涩视频| 久久久五月天| 91九色中文| 熟女人妻视频| 亚洲色情免费网| 一起草无码| 午夜精品久久久久久久爽| 色五月婷婷91| 日本爆乳片手机在线播放| 免费观看全黄做爰的视频| 色婷| 高清无码网址| 综合久久六月| 日本熟女内射| 婷婷99狠狠躁天天久久久九九九| 99视频精品视频| 99热99美国在线观看| 久久婷婷免费| 26uuu国产精品| 99色精品| 伊人激情| 丁香婷婷五月| 久久久久久欧美精品se一二三四| 婷婷97碰碰| 久久99精品久| 色停停五月天| 91大操| 九九九九九无码| 97碰久久| 乱码操操| 国产91视频| 五月天婷婷丁香花| 亚洲激情97五月天| 超碰免费人人肏| 丁香月五月天婷婷久久| 五月天激情网站| 九九色色网| 七七色色综合| 美女黄频aⅴ视频| 五月精品| 色你久久| 9久久婷婷国产综合精品性色| 九九超日本| 五月深爱网| 97超碰,人人舔,人人操,人人摸 | 国产乱妇无乱码大黄AA片| 久久9久| 五月婷婷久久大香蕉| 欧美啪啪网| 婷婷精品综合| 婷婷五月丁香色播| 婷婷五月天AV在线| 天天操B| 丁香五月手机在线| 天天插天天玩天天干| 日本女人久久| 香蕉婷婷| 91超级碰碰| 五月丁香五月丁香| 国产午夜成人AV在线播放| 五月丁香激情综合啪| 久草热在线视频| 色10月婷婷视频| 婷婷金品综合视频| 天天成人综合| 黄色高清无码| 操逼巨乳91| 在线看av| caop在线视频| 五月视频日本免费观看| 少妇水多A片太爽了| 2025天天爽天天摸| 丁香九色不卡aaa| 色五月天成人| 色五月婷婷综合| 久9热| 久久婷婷青草五月天| 色五月婷婷大香蕉| 九九久久99| 五月色综合| 久久久er热| 欧美丰满熟妇BBB久久久| 亚洲综合视频一下| 亚洲婷婷丁香五月| 婷婷综合五月| 天天艹夜夜爽| 五月婷综合激情| 能看的av| 热久久思思热思思| 97干在线免费| 老司机伊人| 青青夜夜狠狠夜夜狠狠| 丁香五月婷婷香| 五月天激情图片| www.久久爱.com| 天天干 夜夜爽| 婷婷在线观看五月天在线视频| 成人综合网站| 天天操天天干天天日| www.婷婷六月天| 免费AV播放| 五月丁香婷中文字幕| 色色色五月| 五月天激情四射网站| 亚洲精品视频在线| 182tv992tv人之初午夜免费观看| 五月天婷婷操逼视频| 亭亭丁香aV| 超碰婷婷色| 99热这里只有精品中文字幕| 色婷婷五月天天天天天| 婷婷丁香综合在线| 久久久久这里只有精品| 五月婷婷六月丁香综合| 九九热这里只有精品556| 熟妇人妻中文字幕无码老熟妇| 国产成人+亚洲+欧洲| 18久久| 草草视频91| 色婷婷伦理| 久久丁香九| 丁香五月影院| 五月丁香婷婷激情视频| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 色五月婷婷丁香婷婷| 伊人天堂婷婷| 色五月首页| 欧美一级操逼视频| 九九热这里都是精品6| 九九伦子片| 综合色图区| 亚洲色色在线| 六月婷婷综合久久| 玖玖91| 大香蕉520| 五月丁香六月综合激情网| 青青草轻轻操| 操操综合网婷婷| 超碰成人电影| 99热精品在这里| 成人做爰A片免费看网站找不到了| 国产精女同一区二区三区久| 久久久com| 免费视频无码| 久久色这里只有精品| 9久热| 免费日本aⅴ中文字幕| 成人在线精品| 免费视频99| 成人婷婷五月天| 激情图片99| 丰满少妇猛烈A片免费看观看| 一区二区乱码视频| 丁香五月婷中字幕| 婷婷狠狠五月综合| 99在线精品视频观看免费下载| 九九色99| 思思re99视频在线观看| 五月丁香花伦理电影| 另类激情五月| 99热69| 成人.在线日韩| 五月婷婷激情五月| 99热9999| 五月婷婷狠狠干| 久久婷婷色情7777网站| 久久一级片| 国产真实乱了老女人视频 | 色色丁香五月婷婷| 九玖视频这里只有精品| 黄色三级日本| 日韩99视频| 免费视频1区| 中文字幕在线观看视频www| 九九久久网| 日本在线wwww| 丁香婷婷浪潮AV久久综合| 久99热| 亚洲综合网 665566| 日韩无码色色| 十月丁香九月婷婷综合| www.激情五月天com| 伊人青草成人| 天天天操天天天爰| 九九热这里有精品视频| 免费黄色片子| 婷婷亚洲天堂| 涩五月婷婷| 六月丁香色色| 99九无网码| 9热在线视频精品| 九九精品9| 97人人草| 国产成人精品一区二三区熟女在线| 九九热在线视频观看| 五月天天爽| 激情小说之五月| 亚洲开心激情网| 五月丁香六月在线欧美| 五月婷婷影院| 91爱操| 91色噜噜狠狠狠狠色综合| 国产伊人大香蕉| 日本三级日本黄色| 91人人看| 美国不卡视频| 天天se在线视频| 丁香 亚洲 久久| 日本情色一区二区| 五月丁香天堂网| 六月丁香五月天| 五月天精品视频| 丁香 婷婷 亚洲 熟女| 丁香五月综合亚洲| 99热久久这里只有精品2010| 人。妻久久| 99热九九热| 国产26uuu| 日日综合网| 成人免费va| 婷婷va| 六月激情久久| 男女99免费视频| 国产免费一区二区在线A片视频| 久久亚洲婷婷| 99欧美| 成AV人片一区二区三区久久| 在线视频区| 九月停停| 成人永久免费视频在线观看| 国产精品久久..4399| 91porn一起草| 五月天色社区| 激情婷婷丁香色五月| 99热在线爱| 亚洲国产99| 综合久久99| 婷婷射综合| www.日韩国产| 亚洲成人网站在线观看| 深夜激情网| 超碰99热| 色丁香综合影院| 亚洲精品性色| 99这里只有精品| 大香蕉伊人99| 涩五月婷婷| 淫五月停停| 婷婷五月激情视频网| 高清国产AV| 久久婷婷五月综合啪| 色色综合热| 日本免费91| 91色婷婷综合久久中文字幕二区| 激情婷婷五月女| 五月婷色丁香| 日本五月天网站| 爱操人妻| 天天干狠狠| 丁香五月欧美色综合| 色婷婷丁香综合中文字幕| 九九色影院| 好好日激情五月天| 99精品福利视频| 婷婷六月啪啪| 日韩中文欧美| 久久久天堂国产精品女人| 丁香伍月婷电影全集| 色婷九九九| caop在线视频| WWW.色婷婷.COM| 色噜噜狠狠色综无码久久合欧美| 色色国产| 婷婷五月中文字幕| 狠狠操天天操天天操| 99热精品在线播放| 99网| 色色色五月天婷婷| 91人人爽狠狠狠| 九九在线免费观看| 五月丁香六月情| 啪啪 综合网| 国产肥白大熟妇BBBB视频| 久久六月综合| 婷婷97狠狠干| 天天综合色丁香| 久久ab| 琪琪布丁香社区激情五月天| 日日干天天射| 久久aaaa片一区二区| 亚洲婷婷五月| 婷婷五月激情四射手| 无码色综合| 97超碰综合| 色人妻五月| 九九碰九九爱97超碰| 色色色热热热| 亚洲综合色网| 婷婷五月激情综合啪啪| 婷婷五月天色综合翘| 99综合| 日本不卡一区二区三区| 婷婷色五月激情| 五月婷精品| 六月丁丁香| 成人网在线视频| 婷婷色色狠狠| 六月婷婷色色色| 5月丁香综合图区| 九九亚洲视频| 色色色网站| 激情AV网| 思思热思在线精品视频| 婷婷性爱影院| 黄色五月婷| 人人添人人| 成人av免费观看| 97操男人的天堂| 五月婷婷六月丁香激情综合网| 国产精品色婷婷99久久精品| 99热网精品| 国产99热| 91久久综合亚洲鲁鲁五月天| 蜜臀99久久精品久久久久| 婷婷在线操| 伊人久久婷婷| 中文字幕丰满人妻无码专区| 欧美久久五月婷婷| 色婷婷激情| 成人中文字幕在线| 天天摸天天做天天爱天天爽| av在线婷婷| 欧美一级a| 日日干综合| 五月婷丁香| 99热色婷婷| 久色国产| WWW色五月| 亚洲综合激| 久久人操| 日本综合色色| 91婷婷色五月| 天天网曰日曰夜夜综合永久免费| 激情五月天激情综合网| 5月丁香综合图区| 色9色| 天天激情站| 欧美久久久久久久久中文字幕| 五月香六月婷| 色综合99无码 | 秋霞三级影视资源| 色丁香五月婷婷| 久久99网站| 激情99热| 99热碰碰热| 日本久久性| 三级毛片7979| 中文字幕成人影视| 五月丁香成人| 九九热AV| 五月丁婷香| 99re这里| 亚洲中文字幕av| 色欲av伊人久久大香线蕉影院| 99caobi| 另类五月激情| 婷婷丁香综合| 日韩av在线免费观看| 五月天丁香婷婷社区| 亚洲夜夜操| 伊人大综合| 五月色俺婷婷| 殴美97色| 色综合伊人网| 五月婷婷丁香综合,亚洲天堂| 天天舔日日肏夜夜爽| 99热10在线高清播放| 新激情五月天色播| 丁香五月天社区婷婷| 精品无码视频| 综合亚洲AV| 99这里有精品| 五月婷婷黄色| 日韩婷婷| 五月噜噜| 色婷婷无吗| 综合婷婷都市激情| 久99精品视频| 午夜一区| 人人操Av| 99亚洲精品综合在线| 婷婷激情丁五月| 4399在线观看免费高清毛片| 开心激情网五月| 丁香六月婷婷开心婷婷网| 五月天成人综合| 婷婷五月天综合久久| 99ri国产| 在线中文av| 成人av在线电影| 伊人影音无码一区二区三区| 思思9久久| 婷婷色5月激情网| 综合www色| 9久久久久| 狠狠做五月| 熟妇内谢69XXXXXA片| 婷婷色情小说| 丁香五月色网| 欧洲色| 欧美3AaAa大片| 日韩伊人大香蕉| 色五月综合| 男人综合网| 9精品国产在热久久| 97久久精品| 五月天激情综合| www.五月天婷婷姐姐| 日笨久久网| 免费精品99| 99re99在线看| 婷婷9月天| 大婷婷色呦呦噜噜色呦呦噜噜| 我爱大香蕉| 亚洲精品一区无码A片| 色婷五月天激情| 久久久久98| 天天做天天爱天天高潮| 六月婷婷九月丁香亚洲综合| 国产免费AV网站| 欧美大肥婆大肥BBBBB| 五月婷婷丁香社区| 天天综合久久| bukadeavzaixian| 大香蕉99| 丁香欧美| 9色在线| 五月天丁香久久综合| 国产永久一二一起草| 日日夜夜亚洲一区| 丁香婷婷五月天激情四射| AV 3P| 人人操操| 国产亚洲色婷婷久久99精品91| 亚洲天码视频www蛋播视频| 中文字幕在线不卡| 91国产精品视频播放| 色婷婷久久久| 丁香成人色情五月天| av网址在线| 一本婷婷丁香久久 | 天天干天天爽天天操| 九九中文字幕九| 日本综合色图| 丁香九月综合激情| 五月婷婷欧美激情| 天天射影| 熟女啪啪视频| 亚洲精品又粗又大又爽A片| 婷婷五月色激情欧美激情| 中文人妻主播久久| se99热久久一本| 嫩草AV久久伊人妇女超级A| 五月丁香婷婷综合| 亚洲九九99精品视频在线播放| 久久久久久久久99精品| 五月天伊人| 99在线看片| 六月婷婷av| 国产亚洲成人综合| 中字幕视频在线永久在线观看免费| 97性视频| 色噜噜狠狠插综合| 草AV9999| 玖玖爱资源站| 婷婷五月天毛片| 综合av在线| 成人五月天丁香| 久久er+| 欧美 日韩 成人 在线| 69热91天堂| 91九色精品熟女内射| 91色色色18| 日日夜夜久| 襙逼网| 99热欧美在线观看| 亚洲精品网址| 五月婷九月| 激情五月婷婷| 色噜噜狠狠色综无码久久合欧美| 深爱开心激情| 久久女婷| 综合AV在线| 色婷婷综合网| 综合久久五月天| 六月婷婷国产| 五月丁香网视频| 日韩美女羞羞网站在线观看| 五月天婷婷激情四射综合| 色色色欧美| 99色视频| 99热免| caop在线视频| 亚洲网视屏| 99丁香五月婷| 色综合久久中文| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 天天日,天天干,天天操| 人妻VideOssS人妻| 婷婷六月色情| 欧美婷婷五月激情| 这里只有视频精品| 婷婷五月天成人导航| 色日本综合| 婷婷五月a| 婷婷五月超碰| 久久婷婷的综合色丁香五月| 1000部毛片A片免费观看| 天天操天天操天天操天天操天天操| 色久丁香五| 五月丁香六月婷婷操操操| 79色色色色| 五月天激情视频五月天| 性天天中文网| 亚洲五月花| 婷婷激情五月天激情| 夜夜操,天天撸| 精品成人无码A片观看香草视频| 天天操夜夜夜拍拍拍| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 婷婷综合在线视频| 97干在线观看| 天堂资源欧日浪女在线播放| 特黄三级片| 中文无码婷婷| 九九综合视频在线观看| av在线观看网站| 九九精品自拍| 久久这里这里有精品免费视频| 亚洲日本激情| 五月丁香六月婷婷综合免| 天天 日综合| 婷婷五月天99| 欧美综合在线五月天色婷婷| 99热这里只有精品2016| 婷婷色爱| 激情久久丁香| 日韩人妻无码专区| 色五月首页| 99久久国产宗和精品1上映| 五月丁香亭亭电影久久| 日本欧美啪啪| 91人人操| 深爱五月月天| 六月婷色六月| 久久五月天综合| 日良久久| 性无码专区无码| 日产精品久久久久久久蜜臀| www.久99| 99热天堂| 成人av中文字幕| 激情婷婷五月女| 五月色天五月色| 国产成人99久久亚洲综合精品| 久久综合影院| 九色婷婷| 国内精品免费一区二区2009| www.婷婷,com| 激情宗合哪里能看| 性天天中文网| 99久久久久久| 国产乱人偷精品人妻A片| 欧美日本不卡黄色片| 碰碰人人漕| 欧美天天爽| 日日日影院| 激情五月天激情小说| 色婷婷丁香| 五月天开心网| 9久热精品在线视频| 亚洲精品另类| 久热伊人| 狠狠狠激情网| 国产这里只有精品| 久久色婷婷| 牛色色碰| 婷婷综合视频| 五月丁香婷婷人体| 亚洲最大在线| 97人碰人操| 五月婷婷色影院| 99色播| 色欲一二三| 99热在线播放| 97超碰在线观看免费| 九九激情网| 26uuu欧美宗合| 欧美色五月| 国内9l视频自拍老熟女九色| 91婷婷丁香五月天免费视频网站| 五月天狠狠草| www.色婷婷| 久草婷婷视频| site:esunnet.com| 久久激情天堂| 99综合免费视频| 婷婷狠狠干| 91啪啪视频| 看国产探花操逼三级片| 伊人久久婷| AV色色天堂中文| 日韩久久色| 天天爽夜夜爽夜爽精品| 九九热在线视频观看| 五月天激情日色在线| 婷婷色五月噜噜| 天天爽天天干| 成人网在线观看视频| 丁香大香蕉| 天天操天天操天天操天天操天天操天天操| 狠狠色成人影片| 五月天婷婷激情六月久久| 亚洲一个色| 色婷婷五月综合网| 97色干| 国产熟女大叫受不了| 色情五月天婷婷| 五月天成人综合| 国产精品色婷婷久久久精品| 六月色婷婷欧美| 色婷婷www| 俺去婷婷 丁香| 亚州视频九九99| 激情五月天社区| 婷婷玖玖五月天| 婷婷五月天综合色| 亚洲精品V天堂中文字幕| 91丨九色丨43老版熟女| 夜色综合网| 天天日日| 婷婷丁香五月天小说| 成人丁香| 一起操最新网址| 激情纯色婷婷五月天在线不卡视频| 99久久久99久久91熟女| 丁香五月人妻| 狠狠色综合五月| 五月激情站| 婷婷99中文字幕| 这里只有精品久久| 久久久香港| 亚洲五月天伊人| 91九色在线| 久久丝丝热| 99热这里只有免费精品| 中日韩美欧成人一区二区精品在线| 激情五月图| 尔尔AV一区| 五月丁香婷婷基地| 成人欧美日韩| 久久性刺激| 国产精品色色| 五月五月婷婷| 日狠狠| 色色9 9| 天天日婷婷| 欧美特大片黄| 五月天激情在线视频| www.夜夜操.com| 一区二区乱码视频| 精品99在线| 丁香激情五月天| 色五月丁香五月婷婷五月成人网| 无码一区精品一区视频| 亚洲综合婷婷五月| 五月婷婷影院| 九月激情网| 综合久久久| 久久与婷婷| 色综合久久88色综合天天99| 久久久亚洲成人无码A片| 天天干天天爽天天操| 丰滿爆乳一区二区三区| 五月婷婷丁香av| 亚洲AV成人无码精品| 久久66成人网站| 色婷小说| 丁香婷婷激情五月天无毒不卡蜜桃| 丁香五月手机视频| 久热亚洲| 99热9999| www.婷婷五月| 激情婷婷五六月天| 国产五月视频| 996日日爱| 人人干人人操外国| 另类 在线| 色婷| 丁香六月婷婷综合| 亚洲无码成人性爰网| 熟女人妻一区二区三区免费看| 伊人五月人妻精品| ai97re99一本| 99精品视频网| 婷婷五月激情图片| 色五月激情五月开心五月| 99re在线观看视频| 无码人妻精品一区二区蜜桃色欲| 51精品国内探花| 五月激情综合美女久久| 婷婷久久性爱| 婷婷五月天电影网| 丁香五月婷婷五月天在线| 久久激情视频| 丁香五月激情婷婷| 色天堂97| 成人丁香五月| 五月激情婷婷色| 99在线看片| 大香蕉久热| 婷婷免费精品视频| 激婷网| 五月婷婷久草在线视频综合| 97极品在线| 色噜噜狠狠色综无码久久合欧美| 色婷婷六月精品| 色综啪啪网| 天天爱天天操| 亚洲精品va| 九月婷婷在线视频| www.日本91| 五月丁香爱婷婷深深| 婷婷五月天国产传媒| 日本成人噜噜噜| 激情小说五月天| 日韩一本操| 五月婷婷啪啪| 97在线综合| 欧美私人家庭影院| 丁香五月天成人网站| 激情综合亚洲| 波多婷婷久久| 色婷婷在线播放| 思思热久在线观看视频| 丁香六月婷婷久久亚洲天堂| 国产亚洲在线| 色六月丁香婷婷啪啪啪| 4399无码视频二区| 六月丁香啪啪啪| 综合在线丁香五月| 人妻激情视频| 欧美影院婷婷| 色了色综合| 性欧美日本| 日逼AV影音先锋男人资源站| 色五月婷婷色五月| 成人噜噜网| 国产精品A片在线| 五月激情影视| 五月天网站亭亭| 五月丁色AV| 91综合在线观看首页| 日日干日日| AV性爱在线| 九九视频这里是精品五月| www.com任你艹| 五月婷婷色| 深爱激情五月天| 婷婷伊人激情婷婷| www.91五月| 欧美丁香婷婷五月| 开心深爱激情网| 人人添人人| 男人天堂99| 婷婷色综合网日韩国产| 天天日天天色| 五月婷婷丁香婷婷| 婷婷五月丁香基| 一区二区成人电影| 中文字幕高清av| 99啪啪| 不卡影院午夜理论片| 婷婷五月激情综合| AV免费在线网站| 亚洲精品无AMM毛片| 91热在线| 亚洲免费婷婷| 天天综合色综合| 99色在线观看| 97久久精品视频| 粉嫩AV久久一区二区三区| 色5月婷婷色| 夜夜综合色| 热九九精品| 婷婷终合色图| 中文字幕人妻一区二区| 开心激情婷婷| WWW.17C亚洲精品| 国产日日操夜夜操的肉棒视频| 久久久91| 激情五月丁香六月综合AVXXXX| 色婷婷六月| 久99久视频| 91se在线视频| 婷婷五月丁香五月综合网| 俺也去综合| 好吊操这里只有精品| 69精品人妻不卡视频| 国产看真人毛片爱做A片| 99色天堂| 玖玖在线| 婷婷色综合av| 久久99免费视频| 九九亚洲小视频| 色欲操| 噜噜狠狠色综合久| 五月天丁香花婷婷| 天天插天天射| 天天插天天爽| 天天操夜夜操| 热99在线| 五月婷婷免费看| 婷婷五月色网| 白天AV月月| 丁香五月天色| 玖玖国产视频一区| 日熟女| 婷婷色五月天色| 久久99免费视频| 亚洲AV无码成人电影| 热思思九九| 午夜天堂一区人妻| 色婷婷成人做爰A片免费看网站| www99精品| 色色AV色色色东莞| 婷婷五月天日日日干干干| 色五月激情五月丁香五月婷婷啪啪综合 | 久久思思热| 99热综合在线| 天天爽天天干天天| 性生活视频98791| 婷婷五月丁香av网站| www.99日本| 五月激情射| 天啪天啪天啪天啪| 亚洲狠狠爱婷婷| 超碰av在| 色色色九九九五月婷婷| 综合久久狠狠| 98国产精品综合一区二区三区| 99性爱| 色婷婷av在线观看| 九九热在线精品视频| 操91| 五月丁香综合在线| 婷婷五月在线观看| 99色色网| 9久久狠狠的| 精品国产AV色一区二区深夜久久| 96丁香六月婷婷蜜桃综合久久| 久久婷婷色丁香| 亭亭五月激情亚洲在线| 热99精品视频| 国产精品色婷婷AV综合色色| 另类小说五月天综合| 操嫩逼电影| 五月婷AV| 亚洲久热无码| 丁香五月激情无码视频| www色中色综合| 五月天婷婷婷| 丁香五月婷婷五月| 9久热在线视频精品| 在线中文字幕视频| 色99网| 狠狠做深爱婷婷久久综合一区| 丁香五月婷婷视频| 亚欧州精品视频| 玖玖资源在线视频| 亚洲V国产V欧美V久久久久久| 91919191919久久成人视频| 色啪久 | caop在线视频| 伊人久久婷婷| 综合久久激情久久| 超碰色人妾| 殴美激情综合网| 国产噜一噜天天噜| 五月婷婷开心深| 色婷婷五月网| 丁香五月天资源网| 免费亚洲婷婷中文字幕| 大香蕉婷婷| 亚洲精品又粗又大又爽A片| 婷婷影视久久| 色五月在线综合| 激情亭亭五月| 色色精品色| 久久婷婷五月综合色播| 直接看的av| 色情五月婷婷| 性生生活大片又黄又| 丁香婷婷久久 | AV片一区在线观看| 婷婷色五月天色色| 97精品综合久久| 亚洲日韩26uuu| 激情五月天 婷婷| 尔尔AV一区| 久久婷婷综合五月| 婷婷激情97| 五月婷婷av| 色婷婷内射| 婷婷五月天手机版视频| 天天爽天天日天天舔| 色五月欧美| 丁香婷婷基地| 丝雨一区二区| 色欲婷婷五月天| 99热精品在线播放观看| 丁香五月激情在线| 99热免费精品| 中文字幕操比影片| 91碰| 这里只有九九精品| 影视av久久久噜噜噜噜噜三级| 思思热视频在线观看| 97人人干视频| 超碰在线人人| 天天色官网| 婷香五月| 婷婷丁香五月天综合在线日韩| 噜噜操操| www.十八禁不禁AV.com| 五月婷婷久久大香蕉| 天天天天干| 丁香五月九九| 亚洲性爱99| 久色激情| AA片在线观看视频在线播放| 91碰超| 婷婷激情丁五月| 综合久久99| 色99超碰| 久热这里只有精品3| 天天日夜夜拍| 国产毛片精品一区二区色欲黄A片| 九九久久免费视频44| 99精品热视频只有精品10| 五月婷在线播放| 色色网站| 久久九⑨| 色吧五月婷婷六月丁香| 久久美女五月天| 青草青草视频2免费观看| 国产老熟妇亲子乱对白| 久久久五月婷婷| 国产一级片| 久久五月婷天天干| 6月丁香婷婷| 色婷婷综合网| 婷婷五月天VI| 99在线视频播放| 99综合免费视频| 九九成人视频| 激情久久 婷婷| 五月婷婷免费| 狠狠色噜噜狠狠狠888| 4399欧美另类视频| 婷婷五月综合在线视频| 丁香五月Av| 91丨九色|PRNY熟妇| 一级A片天天操夜夜操| 五月丁香六月婷婷啪啪| 九九九九大香蕉| 我爱宗和色| 黄色五月婷婷| 亚洲色综合色网| 天天天天做夜夜夜夜做| 99色综合| 亚洲AV成人精品日韩在线播放| 99思思热只有在这里看| 九九热精品| 色色婷婷五月天| 五月天婷综合| 日日操夜夜擼| 涩涩涩,com| 婷婷色综合| 潮汕成人AV片在线| 色色色在线免费视频| 97热视频| 欧美日韩国产伦精品日韩人妻一| 五月丁香婷婷俺| 99热热热99精品婷婷| 综合久久婷婷五月丁香| 99热碰碰| 天堂美国久久| 亚洲久久视频| 久久国产色| www,久久久人人| 狠狠色综合五月| 国产激情视频在线观看| 在线99热| 婷婷五月草| 久久38视频| 色噜噜狠狠狠综合曰曰曰| 国产精品久久久爽爽爽麻豆色哟哟| 袁子仪视频观看| 思思99热| 98毛片| 九九综合久久| 电影爱拉战争免费观看| 激情五月天婷婷五月天| 久er免费视频| 九九亚洲视频| 九九99久久| 99性视频| 欧美色狠婷久| 婷婷五月丁香六月| 九九色中文| 激情五月综合| 69精品人人人人| 久久婷婷五月| 亚洲综人色综网| 色五月色五天色情网| 99re免费精品视频| 色五月五月婷婷| 激情亭亭五月| 成人短视频在线免费观看| www激情网站| 综合五月丁香六月婷婷| 99热精品网| 99热这里只有精品最新网址| 狠狠综合久久综合| 深爱婷婷网| 99热久草| 亚洲人妻Av| 综合色播| 99久在线精品99re8热| 99色在线观看免费| 久久丁香| 五月婷婷免费视频| 亚洲精品第一国产综合亚AV | 亚洲另类婷婷综合| 五月婷婷啪| 狠狠色狠狠操| 插插干干干色| www.久久99精品| 99热在线观看| 色情五月综合婷婷| 99久久欧美| 亚洲网站999| 精品无码色| 超碰com| 五月天综合图片| 欧美三级大片AA在线看| 99色精品| 另类国产欧美视频| 丁香六月婷婷综合缴| 先锋资源婷婷| 成人 在线 日韩| 亚洲啪啪啪啪| 五月激情综合网| 亚洲夜五月| 国产偷人爽久久久久久老妇APP| 六月丁香五月亭亭| 五月丁香狠狠爱婷婷综合| 人人人va亚洲视频在线| 五月婷婷97| 色色丁香婷婷综合| 激情综合五月激情17| 最近韩国日本免费高清观看| 丁香五月成人在线| 综合玖玖偷拍| 超碰人人操在线| 婷婷丁香五月精品| 丁香五月婷婷香| 色色免费网站| 思思久ren热| 操逼综合激情网| 噜噜操操| 婷婷深爱五月天在线| 欧美三级视频| 色99自拍| 思思99精品视频在线观看| 激情色五月天| 九九色大香蕉| 婷婷,五月天,丁香,第一| 国精产品一区一区三区免费视频| 久久婷婷综合五月趴| 人人操插| 99国产精品白浆在线观看免费| 久久久久人妻精选| 全高清无码视頻| 九九在线精品| 九九久久这里只有精品XB| 人人干人人操外国| 五月丁香影院| 丁香五月天激情综合网| 9有码中文| 欧美成人A片AAA片在线播放| tingtingzonghewang| 久久玖玖综合| 99热色精品| 五月花激情| 五月丁香婷婷啪啪| 风流少妇A片一区二区蜜桃 | 五月天色婷婷基地| 色婷婷综合久久久久| 综合五月婷婷| 天天操综合网站| 综合激情五月丁香| 九九九九九九热| 99性爱| 五月情四婷婷| 久久伦乱| 伊人高清无码| 99热最新网址| 天天摸天天日天天舔| www.日本久久videos| 五月婷婷综合天天操| 色色婷| 婷婷一本和五月丁香| 色九亚洲| 男同色五月开心五月激情五月| 亚洲成人免费电影| 五月婷六月| 五月婷婷无码| 色色色色色综合| 欧洲色区| 丁香五月综合激情性爱| 久久伊人日日夜夜| 七七九色| 婷婷色色综合| 色色日本| 十月色综合| 天堂婷婷五月色| 婷婷激情在线| 婷婷丁香色五月天| 成人在线日韩| 亚洲精品大片| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 涩婷婷五月天在线精品视频| 五月天五月色婷婷综合| 六月婷婷综合久久| 五月丁香六月婷婷视频| 五月丁了香蕉综合| 九色在线观看91av| 91男同视频| 啪啪黄页网| 婷婷六月丁香色| 丁香无月在线观看| 欧美日韩成人在线免费| 国产乱人偷精品人妻A片| 色婷丁香| 五月婷婷丁香婷婷| 久久五月天黄色五月天色网址| 99婷婷| 青青草99re| 国外亚洲成AV人片在线观看| 久草A片| 久热免费| 婷婷五月激情在线| 电影爱拉战争免费观看| 日韩无码成人电影| 人人草碰| 色婷婷小视频| 久久人妻熟女一区二区| 丁香色综合| 色色色综合色| 激情色情五月天| 天天爽天天弄| 亚洲色碰| 9精品视频在线| 无码一区二区三区四区五区91c| 国产精品人成A片一区二区| av中文在线| 九月婷婷色色| 五月丁香六月婷婷久久久综合| 天天干,天天舔| 五月玖玖| 9 99免费视频| 五月丁香婷婷99| 99在线资源视频| 欧美三级巜人妻互换| 久久久GOGO无码啪啪艺术| 五月色综合| 一月婷婷色色| 天天日天天舔| 激情五月丁香五月| 婷婷五月花西瓜| 婷婷射图五月天| 天天综合色综合| 久久多色| 91丨九色丨熟女丰满| 热99精品视频| www久久久久久久| 九九综合九色欧美狠狠| 欧美婷婷| 五月婷婷五月天| 五月丁香婷婷综合网| 五月叮香啪| 婷婷激情图片| 九九热在线视频| 激情综合网激情五月天| 精品久热|