免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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精品久久久久久久| 色婷婷五月天小说| 天天色天天爱天天舔| 77777亚洲午夜久久| 日本三级韩三级99久久| 五月婷婷婷| 99精吕视频在线观看了| 五月天玖玖狠狠色色| 色五月婷婷av| 九九自拍网| 婷婷97色| 久久婷婷五月天大香蕉| 中文毛片无遮挡高潮免费| 五月天激情四射网站| 97人妻碰碰碰碰碰久久久久久| 夜夜撸夜夜骑| AV在线资源| 五月婷婷说| 加勒比色色| 五月天丁香网站| 婷婷五月丁香色色| 天堂久久久久天堂网| 天天干天天干天天干| 天天干天天爽| AV在线免费播放| 五月婷视屏在线观看| 开心五月婷婷六月丁香| 五月丁香六月婷婷免费| 婷婷五月天激情视频| 99这里只有精品视频在线| 在线你懂的亚洲欧| 97资源碰碰| 五月丁香婷婷啪啪综合| www.婷婷.com| 久久久大香蕉| 婷婷色女| 久久狠色噜噜狠狠狠狠97| 另类天堂| 婷婷五月天伊人| 99久久网站| 婷婷五月在线观看| 色婷婷狠狠爱| 色狠狠色| 99ER热精品视频| 超碰AV在线| 五月婷婷与六月丁香图片激情| av色色国产| 天天免费日日夜夜夜夜| 九九久久网| 国产婷婷五月在线视频| www.91在线观看| 操97免费超级视频| 久久机热/这里只有精品| 9l视频自拍9l九色9l成人| 99色精品| 国产在这里只有精品| 强伦轩人妻一区二区电影| 婷婷激情性爱| 成人精品视频99在线观看免费| 五月丁香狠狠爱| 国产精品99久久久久久久女警 | av中文字幕免费观看| 中文成人在线| 五月丁香久久婷| 久久婷婷东京热大香樵| 四色永久成人网站| 99热99热| 天堂色婷婷| 97色片| 午夜成人AV在线| 操91| 偷拍九九热| 久久婷鲁| 久久色天堂| 激情网站五月| 99热在线精品观看| 久久久久久人妻| 99热这里只有精| 激情图片亚洲| 婷婷五月天奸女| 色色色色热热| 色色色免费视频| 丁香久久综合| 97人妻超级碰碰碰碰碰| 97操碰在线视频| 激情久久久| 色色婷五月天| 色婷婷五月在线| 欧美一级色| 美国少妇性做爰| 超碰五月婷婷五月天| 久久大香蕉视频| 亚洲精品电影| 婷婷五月天综合小说网| 思思热在线观看| 日本久久久97| 丁香五月婷婷深爱综合激情| 色色色地址| 桃色五月婷婷| 99热这里只有精品55| 天天日天天爽| 国产成人AV在线播放| 九九色中文| 色亭亭五月天网扯| 99ri在线视频| 激情久久综合网| 亚洲国产色婷婷| 婷婷久久亚洲| 免费看欧美成人A片无码| 久久久久久久,99精品视频| 99热精品观看| 九九久热| 婷婷五月欧美综合| WWW夜夜| 妻久久人久久| 日本久久久97| 色五月天中文字幕| 五月丁香综合啪啪| 日本一道久久| 99热免费精品| 婷婷丁香视频| 日日操夜夜骑| 熟女强人妻一区二区三区四区无| 久久婷婷成人视频| 亚洲超碰在线| av在线激情| 亚洲综合色丁香五月天| 亚洲妇女熟BBW| 先锋资源91| 五月婷婷综合潮喷| 影音先锋人妻出差| 九九视频在线观看视频6 | 五月激情射| 亚洲麻豆乱码国产2028| 成人国产欧美大片一区| 国产va在线视频| 久久9视频欧美| 丁香五月天堂亚洲社区| 国产另类综合| seuuu婷婷| 激情婷婷五月亚洲| 久久婷婷色| 婷婷久久性爱| 99riAv1国产在线观看| 三日本无码| 丁香婷婷少妇| 日韩av手机在线观看| 日本一级一级一级一级| 欧美日韩aaa| 日本精品99网站| 五月天婷婷成人| 免费在线观看AV网站| 99在线免费视| 天天操夜夜操| 亚色网站小视频| 激情丁香五月天| 26.uuu丁香五月婷婷| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 五月激情网站| 涩综合网| 婷婷五月天视频| 91超级碰| 九九热精品视频在线观看| 久久五月网| 天天肏天天肏天天肏| 亚洲 欧洲 国产 伦综合| 人人爽欧美婷婷久久久五月丁香| 日本色色网站| 婷婷五月激情综合| 精品夜夜澡人妻无码AV| 久热视频这里只有精品68| 国产真人做爰视频免费| 五月丁香基地| 第四色大香蕉| 日日综合网| 久色网址| 年轻的妺妺伦理HD中文| 99re这里只有精品在线观看| 99热日本精品| 丁香综合网| 妇激情基地| 99亚州综合精品成人网| 开心五月激情站| 激情都市另类| 五月天婷婷激情小说电影| 噜噜五月天综合| 五月婷婷免费看| 色婷综合| 中文字幕成人| 狠狠色噜噜狠狠狠888了| 五月丁香色停停啪啪啪| 久久五月天网| 色五月婷婷少妇人妻| 国产偷人爽久久久久久老妇APP| 亚洲热综合网在线观看| 五月香蕉网| 无码区婷婷五月花开| 激情久久久| 五月婷在线| www,色中色| 六月丁香成人| 色婷婷电影网| 日韩aaa| 人妻人人操| 亚洲无AV在线中文字幕| 超碰在线国产9| 丁香五月色| 都市激情五月婷婷综合| 99超碰人人| 97色婷| 国产日批视频| 九月婷婷色色| 国产婷婷色综合AV蜜臀AV | 五月婷婷综合在线观看| 激情丁香婷婷六月天| 激情九月丁香婷婷| 久久激情五月婷婷| 婷婷五月天亚洲| 97人妻碰碰中文无码久热丝袜| 亚洲熟妇AV乱码在线观看| 玖玖资源站中文| 色V狠狠的干| 热91久| 天堂综合久久 | 丁香五月深爱五月婷婷| 非洲一级AV| 99精品国产在热久久| av色色国产| 丁香婷婷综合精品六月初| 狠狠色婷| 少妇真实被内射视频三四区| 91操网| 五月天婷婷黄色| 久久免费操| 艳妇野外情欲放荡HD| 色婷婷五月天在线观看| 久久这里都是精品视频| 激情五月天色| 日韩一级A片黄色| 九九艹女| 在线看的免费网站| 亚洲色频| 久婷五月| 婷婷丁香激情综合色情| 五月 丁香 欧美| 五月香蕉婷婷| 成人AV播放| 天天天干夜夜夜操| 久热 91| 怡红院精品视频久久久久久久久| 色黑鬼导航| 激情五月综合第一页| 无码成人AAAAA毛片AI换脸| 任你爽精品免费视频6| 色综合综合网| 五月天婷a| 色丁香五月婷婷婷| 五月天综合在线| www99xxxx五月丁| 538在线精品| 激情综合亚洲| 97久久超碰| 噜噜噜久久| 99久久大片| 激情婷婷丁香色情五月天| 永久无码色| 亚洲成人超碰| www999日韩精品| 香蕉五月婷婷| 五月天怕怕| 桃色五月婷婷| 就爱日五月天| 激情超碰网| 久久中文网| WWW.国产| 天天拍天天操| 激情五月婷婷| 97伦乱| 男人先锋久久| 伊人99久久| 国产99久久久国产精品免费看| 狠狠 婷婷| 91婷婷在线| 狠狠爱婷婷爱| 九九黄色网| 99久久精品色老| 九九精品综合| eeuss人妻| 婷婷五月天美女| 成久综合视频| 夜夜天天天天天干天天爽| 色五月xxx| 欧日美女Va| 丁香六月婷婷久久综合八月| 激情五月天色色网| 影音先锋女人av鲁色资源网小说免费| 色宗合,宗合网| 色婷婷丁香五月天在线视频| 六月丁香好婷婷| 少妇人妻凹凸视频| 天天爽天天日| 四色99久久| 天天做夜夜爽| 久久国产一区二区三区| 任我肏视频精品| 在线99精品| 性生活视频98791| 亚洲五月婷婷| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 天天综合情| 色热久资源| 丁香五月日啪| 97色色色色色| 久久激情五月| 亚洲九N| 99精日本久久| 国产老熟妇亲子乱对白| 九九热色视频| 五月天色裸体视频| 婷综合| 9l视频自拍9l九色成人| 久热99中文字幕| 99久久亚洲国产| 婷婷操超碰| 成人噜噜网| 99精彩视频在线观看| 丁香美女主播视频在线观看 | 夜夜躁狠狠 | 亚洲正能量欧美| 在线成人av播放| 成人电影AV在线观看| 人妻狠狠操| 五月丁香婷婷激情在线| 99狠狠色| 五月天丁香婷婷视频网址| 丁香五月婷婷欧美成人色图| 亚洲丁香五月综合| 五月天色不卡| 三年高清大片免费观看国语| 99精品久久久久| 六月婷婷六月天天在线免费| 99视频在线观看网址| 色色激情五月天| 日本黄色三级片内射| 玖玖婷婷婷丁香五月| 天天综合情| 中文字幕无码成人电影| 免费AV黄在线播放| 色女人久久| 人妻熟人中文字幕一区二区 | 深爱激情丁香| 四LLL少妇BBBB槡BBBB| 人人操人人看97干| 天天插天天很| 色综合激情| 五月婷婷婷色| 久久6这里只有精品| 狠狠操天天干| 九九成人电影婷婷| 丁香五月六月久久综合| 天堂中文国产| 日日噜噜久久婷婷五月天| 久久99热这里只有| 在线观看av网站| 婷婷五月天性色| 色婷婷视频| 色婷婷视频在线| www.五月天| 国产91视频| 婷婷五月天第三页| 五月美女婷婷风骚| 激情网狠狠干| 狠狠干狠狠干| 免费AV播放| 99精品热| 色五月色情| 第四色婷婷五月| 婷婷五月天丁香| 97在线视频 欧美| 激情五月综合六月丁香婷婷狠狠干| 久久久.COM| 丁香五月天BBw| 激情综合网激情五月天| www狠狠| 99精品视频免费观看| 色欧美一级| 色婷婷久久综合久色| 国产无套精品一区二区| 91干| 99在线精品观看99| 99自拍视频在线| 亚洲免费av在线| 99精品九九| 亚洲行行色色| 免费91久久精品| 六月婷婷私欲| 五月天婷婷综合色| 色噜噜狠狠狠综合曰曰曰| 亚洲12p| 天天操天天爽天天爱| 小视频久久久aaa| 欧洲综合视频| 97干在线| 亚洲网站在线鸭子av| 久久ab| 久久久久婷婷| 人妻久久久| 九九热AV| 国外亚洲成AV人片在线观看| 人妻在线中文字幕久久| 综合久久五| 欧美综合激情五月| 99久久天堂婷婷| 成人超碰Av| 亚洲天堂AV综合网| 五月婷婷在线观看黄| 中文字幕永久在线| 色综合久久五月| 精品国产AV色一区二区深夜久久| 五月丁香成人| 九九九九无码| 九九热10| 丁香婷婷五月天色综合| 黄急一级视频| 五月激情婷婷国产精品久久久久久| 自拍视频在线观看9| 看片视频在线免费日产在线看| 99久久精彩视频| 色七七九九| 丁香六月激情四射| 激情婷婷激情在线不卡| 美国十月色婷婷在线观看| 这里只有精彩小视频视频网站| www.五月婷| 青青草tp| 天天做天天爱天天爽在| 五月综合激情久久| 五月天狠狠| 大香蕉伊人99| 99操99| www.com操| 97碰碰叉| 亚洲av网站在线观看| 综合激情五月天| 丰满老熟妇BBBBB搡BBB| 综合一本道| av在线中文| 99欧美| 久久这里只有欧美| 丁香六月婷婷综合| 春色激情| 在线另类视频| 婷婷97| 六月丁香VA| 久久六月天| 亚洲无AV在线中文字幕| A久久| aaa丁香五月天| 色婷插| 成人丁香色| 狠狠久久婷五月综合色| 五月天婷婷色色网| 亚洲乱码日产精品BD| 久久激情五月| 狠狠色丁香婷婷综合久久97AV| Aα在线免费观看| 婷婷五月天开心网| 丁香六月情| 五月婷婷另类| 99久久五月丁香野外| 六月婷婷综合| 美欧成人视频| 99久久久国产精品免费蜜乳tv| 色久影院| 色色草97| 噼里啪啦完整版中文在线观看 | 五月天色婷婷基地| 久久久久久久丁香五月天婷婷| 教师性爱毛片| 亚洲精品视频在线播放| 在线观看av网站| 婷婷狠狠五月综合| 丁香色情五月综合激情| www.久久爱.c n| 久久久国产精品黄毛片| 可以看的AV| 99精品在线观看视频| 婷婷五月天色丁香| 99碰超| 99这里有精品| 五月婷婷视频ab| 久热9| 久久色午夜在线导航| 欧美色婷婷| 色婷婷综合影院| 色情免费视频播放| www.sd-xiangsu.cpm| 婷婷色五月开心五月| 婷婷视频在线| 影音先锋女人AA鲁色资源| 丁香久久久| 婷婷激情五月天小说校园| 婷婷激情综合无月| 五月六月丁香激情视频| 99熟女视频| 久久一品区| 99re资源在线视频导航| 岛国在线观看91| 99久久久| 最近中文字幕在线中文视频| 九九亚洲| 婷婷激情社区| 99啪啪| 中文字幕av在线播放| 色停停五月天| 婷婷五月天狠狠| 一区二区三区四区无码| 婷婷开心激情综合五月天| www.狠狠操.com| 久久这里面只有精品视频| 天天激情5月天亚洲| 黄网网站在线播放| 九九热九九| 97久久人人| 五月丁香好婷婷A片网| 九伊人网| 色婷婷五月在线| 久久99大全| 亚洲色综久久五月| 97碰免费视频在线| 九九香蕉网| 欧美在线干| 久久精品4| 97操在线视频| 色婷五月| 国产一级视频a| 日本强伦片中文字幕免费看| 婷婷婷婷婷婷婷婷婷婷丁香| 99久久97| 色色色色区| 日本免费91| AV无码免费| 久久多色| WWW、日本色丁香co m| 青青草a在线| 99热这是里只有精品| 色五月开心五月激情五月| 国产精品在线视频| 狠狠色综合网站| 色色色国产| 婷婷婷婷婷开心无码播放| 很很干天天干| 色婷五月| 性色做爰片在线观看WW| 伊人九九68| www.爱婷婷.com| 欧美日韩123| 五月丁香六月在线欧美| 激情五月婷婷在线区| 夜夜夜叫天天天做| 亚洲丁香婷婷丁香五月天激情| 九九热大香蕉| 成人精品视频99在线观看免费| 国产又爽又猛又粗的视频A片| 琪琪布丁香社区激情五月天| 丁香五月婷婷亚洲另类| 欧美黑人大吊| 婷婷伊人五月| 欧洲亚洲免费视频9| 婷婷中文字幕| 婷婷五月丁香成人网| 久久五月网| 亚洲综合激情五月久久| 99操网站| 欧美精品999| 色五月 激情婷婷 综合五月天| 五月天婷婷五月| 五月婷婷综合丁香视频| 天天做天天爱| 五月综合激情图片| 大香蕉久久| www狠狠| 亚洲不卡欧洲| 超碰日韩人妻在线| 日韩色五月| 狠色狠色狠色狠色狠色网| 九九视频这里只有精品| 99热这里| 91丨九色丨老农村| 五月丁香六月欧美综合| 欧美激情综合色综合啪啪五月| 色婷婷网| 大香蕉狼人久久| 有码人妻久久| 综合性爱网| 国产五月视频| 高清不卡一区| 婷婷五月激情天| 人妻久久久| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 黄网在线免费观看| 大鸡巴伊人网| 免费精品66| 五月天婷综合| 97色精品视频| 久久99热这里| 中文字幕在线播放视频| 中文字幕综合色| 热久久77777| 久婷| 91 九色 入口| 婷婷之六月丁香| 九月婷婷综合| 草榴视频网| 97好吊操| 精品国产乱码久久久久久免费| 思思99久久| 婷婷六月视频| 香蕉久久av一区二区三区 | 丁香五月日啪| 五月婷婷av| 免费97碰碰| 五月婷婷激情日本| 丁香五月激情综合啪啪| 久久久国产精品黄毛片| 五六月婷婷| 庭庭久久内射| 日韩伊人大香蕉| 五月天色婷婷基地| 亚洲无AV在线中文字幕| Xx色综合| 色婷婷www| 香焦网五月天| 在线成人视频免费| 五月丁香偷拍| 久久久精品色色色| 91操黄| 婷婷 激情 五月| 色婷婷五月天偷拍| 伊人久久婷婷| 亚洲热久久| 精品牛仔裤超碰| 99热成人精品网站| 狠狠久久婷婷| 婷婷激情综合| 欧美色色色色色色| 五月天婷婷小说| 九九九九成人| 六九色综合婷婷五月天| 99热欧美精品| 六月丁香啪啪啪| 97婷婷在线视频| 色无码| 成人啪啪色婷婷久| 久久小视频| 久久五月天网| 精品99在线观看| 啪啪夜久久| 91碰碰视频| 91无码视频| 色人久久| 丁香六月婷婷开心| 国产69久久久欧美黑人A片| 色色色色色色色综合| 久操热| 99热99热在线观看| 成人无码髙潮喷水A片| 五月色导航| 亚洲狠狠终合停停终合| 五月天婷婷在线AN| 激情五月天色色网| wWw色五月| 国外亚洲成AV人片在线观看| 五月天婷婷永久免费视频| 成人国产网| 婷婷五月综合网| 色一情一乱一乱91Av| 日本99在线| 五月天激情国产综合婷婷婷就去爱| 五月丁香亭亭| 狠狠草综合网| 国产婷婷五月天| 人妻内射视频| 五月丁香久久久| 婷婷五月天首页激情| 99无码精品| 九九99在线免费在线观看视频| 色色婷婷五月天| 美国天天日天天操| 99热高清在线| 婷婷激情五月| 婷婷五月情天| 久9久9久9久9久9久9| 色五月综合| 久久这里有| 五月丁香欧美综合| 国产成人精品一区二三区熟女在线| 日日操,夜夜撸| 99视频九九热| 中文字幕乱码亚洲精品一区| 高清无码入口| 好吊操这里只有精品| 色99xx| 激情四射五月天| 中文字幕日韩无码制服诱或| 免费看片操逼| 天天色播| 丁香婷婷月| 色之综合网| 日本97在线看片| 色色综合网站| 亚洲国产色色| 丁香六月婷婷综合激情欧美 | 狠狠精品干练久久久无码中文字幕| 婷婷激情五月天小说| 91久久精品无码一区二区三区| 五月综亚洲| 亚洲久久日| 青草视频在线播放| 97碰啪啪| 综合五月丁香六月婷婷| 久久久久久xxxxx| 青青色com久久| 九月丁香| 激情综合网五月丁香| 襙逼网| 玖玖爱综合网| 九九色情网五月天| 日本不卡高字幕在线2019| 99ri精品在线| 深爱婷婷丁香五月激情| 婷婷五月综合欧美在线播放| 成人五月天丁香| 日本三级第一页| 激情五月天色播| 色婷婷偷拍| 天天精品视频在线观看视频| 欧美成人无码高清一区二区三区| 成人版视频在线观看| 国内精品免费一区二区2009| 成人精品视频99在线观看免费| 婷婷综合亚洲| 五月丁香婷婷五月| 日日做夜夜爱| 久婷婷久草| 婷婷五月天最新综合你懂的| 久热黄色| 香蕉伊人综合| 中文字幕久久婷九女同| 人妻日日日| 五月天色五月| 五月天激情四射| 五月婷婷丁香| 色五月色五天免费视频| 丁香五月第四色88| 夜夜天天久久婷婷| 丁香五月婷婷性爱| 五月婷五月婷伊人伊人五月婷| 久热超碰91| 99啪在线| 18久久| 欧美婷婷色五月网| 色五月美女| 久久婷婷七月丁香| 91干婷婷| 97爱艹婷婷开心丁香激情综合| 成人做爰高潮A片免费视频| 色欲一区二区三区精品A片| 99热综合| 亚洲超碰在线| 色情五月综合婷婷| 男女99免费视频| 欧美色色色色色| 色婷婷操逼| 丁香五月91| 91久久| 丁香五月综合| 色10月婷婷视频| 大香蕉伊人久久| 99热超碰在线| 色五月婷婷五月丁香五月激情五月视频| 久热91| 第四色婷婷日本| 玖热精品综合视频| 五月婷婷激情四季| 激情黄色五月天| 99性爱无码| 五月丁香色婷婷熟女| 狠色狠色综合久久| 婷婷五月天在线观看免费| 深爱激情婷| 十一月婷婷激情四射| 九九干视频| 九九色人| 色啪网| 99ER热精品视频| www.9操| 99亚洲精品综合在线| 99精品综合在线| 五月丁香亭亭AV女优| 天天综合五月天| 婷婷五月丁香综合| 99热精品少| 五月婷婷干| 婷婷五月天伊人网| 91操网| 91一起操| 天天干天天av天天射 | 日本色五月| 秋霞免费视频| 婷婷亚洲在线| 综合色网站| 五月婷婷免费在线| 99色看| 五月丁香六月婷婷激情视频在线观看免费| 啪啪操超碰| 丁香五月av| 亚洲第一成人AV| 久久玖玖综合| 五月婷婷激情四季| 婷婷亚洲色| 婷婷色啪| 国产69久久久欧美黑人A片| 婷婷干| 丁香五月综合激情性爱| www.99热日韩.com| 99热在线这里| 亚洲最大视频| 色婷婷精| 五月天久久久| 思思热久久婷婷五月天| 91色噜噜狠狠狠狠色综合| 婷婷伊人激情婷婷| 婷婷五月天亚洲| 五月丁香六月激情欧美综合| 九九热123| 午夜九九九九九九九九九九九九九| 天天舔天天插天天爱| 天天橾夜夜爽| 丁香六月情| 天啪天啪天啪天啪| 色色网站免费在线视频| 色婷婷婷婷五月天| 97婷婷色| 五月婷婷九| 成人婷婷五月天| 播五月开心婷婷欧美综合| 丁香六月婷| 精品99视频| 五月综合777| 国産精品| 丁香影院五月综合| 色婷婷综合久色AV五色最新| 色婷婷精品| 婷婷综合五月| 九热久| 欧美婷婷五月| 色色婷婷丁香| 操日视频| 99er久久| 丁香六月激情| 伊人色综合影院视频| 亚洲性色XXXXX| 激情深爱五月天| 99久久精彩视频| 婷婷丁香五月天小说| 夜夜操天天干| 人妻激情视频| 久久人妻伊人| 99精品视频在线观看| 久久婷婷色| 婷婷五月天社区| 色综合色香蕉网| www.激情五月天.com| 日本99在线视频| 91超级碰人人操| 人人综合五月人人婷婷| 欧美精品999| 91婷婷丁香| 中文av网| 91在线观看www| 激情五月视频| 亚洲V国产V欧美V久久久久久| 4399成人黄A片| 超碰三级片| 久久婷婷的综合色丁香五月| 婷婷五月天男人影院色色网| 2018国产大陆天天弄| 激情网第九色| 天天色综网| 九九色综合网| 成人丁香色| 99爱爱网| 九九在线精点品| 国产免费av网站| 日韩 mm 不卡| 激情五月天www| 婷色天堂| 99色看| 久久精品A片777777| 色五月之第四色| 无码色| 色色热99| 五月天婷婷色| 干亚洲天堂| 91狠狠综合久久久| 99色看这里只有精品| 日本综合久久| 这里只有精品视频国产| 久久婷婷亚洲| 婷婷色五月亚洲| 少妇高潮呻吟A片免费看软件| 丁香六月天婷婷在线| 激情五月天网站| 色五月涩涩婷婷蜜桃| 一本大道嫩草AV无码专区| 侠女刀之记忆电影在线看免费| 天天插天天插| 99er6| 精品欧美一区二区三区久久久| 色亭亭五月天网扯| 专区无日本视频高清8| 黄色99网| 婷婷最新地址| cc精品国产性传播| 婷婷丁香五月激情密臀av| 玖玖婷婷色五月| www,久久久| 99热这里只有精品9| 国产成人AV人人爽人人澡Va| 一本色综合色| www夜夜操com| 久久最新色| 99精品久久| 99久久a线观| 超碰成人黄色网| 99久久6| 9久国产| 狠狠狠狠狠狠| 激情五月综合色婷婷| 日韩在线视频9色| 激情丁香五月天图片| 色情久久久| 丁香激情五月| 婷婷香五月综合激情| 狠狠色丁香婷婷| 色三级色三级| 狠狠五月天婷婷| 色婷婷精| 99热这里都是精品| 永久99免费视频网站| 亚洲无码影音| 中文字幕丰满人妻无码专区| 99re思思| 丁香九月激情在线视频| 婷婷激情人妻| 欧美群妇大交乱婬网| www.色多多婷| 噜噜噜久久| 天天日日夜夜爽| 丁香六月婷婷激情| 九月激情网| 五月五丁香婷婷| 91操片| 激情久久五月网| 五月婷婷九九热| 五月丁香久久| 欧美日韩AAAA| 亚洲成人网站在线观看| 99九九这里有免费视频| 久久性操| 欧美日本一区二区三区| 亚洲综合在线播放| 九九99久久精品| www.9797国产| 色五月丁香激情视频| 久久婷婷丁香视频网| 日本天天色| 九色啦蜜臀| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 91视频一起草| 图片区 小说区 区 亚洲五月| 欧美成人va| 爱草视频在线观看| www.91.com黄| 97碰碰叉| 九九人人操| 婷婷爱五月天| 伊人六月丁香婷婷| 色五月超碰| 日韩三十六页| 激情婷婷丁香| 五月丁香自拍| 色噜噜狠狠狠综合曰曰曰| 九九精品网站| 久久婷婷东京热大香樵| 男男野外做爰全过程69| 色婷婷www| 日日综合网| 一區四區歐美日韓| 激情五月天色色网| 操逼综合网| 色婷婷网大全在线| 婷婷激情图片| 色99自拍| 九九热99热| 翔田千里无码| 色五月婷婷激情综合网| 色99色| 婷婷五月丁香激情图片| 99国产精品久久久久久久久久久| 五月婷婷啪啪网| 综合五月网| 久久成人天| 亚洲精品乱码久久久久99| 日本3级片偷拍网站| 亚洲另类AV| 色色9 9| 青青草视频免费观看| 婷婷免费视频| 91视频五月丁香| 色婷婷丁香五月天在线观看| 五月天婷婷导航| 六月婷婷视频| 99免费视频久久| 深夜男女福利刺激影院一区完整| 丁香六月婷婷开心婷婷网| 操逼亚洲天堂| 1024亚洲无码| 国产SUV精品一区二区883| 99热啪啪| 成人丁香| 久久99热这里只有精品| 欧美噜噜久久久XXX| 国产老熟妇亲子乱对白| 成人在线观看一区| 成人片在线免费看| 99视频日韩| 国产精品24r| 狠狠色丁香乆乆| 欧美情色一区| 激情婷婷丁香| 丁香五月天AV在线| 91re色综合视频| 五月成人丁香av91| 狠狠色丁香乆乆| 五月丁香花成人社区| 玩熟女五十AV一二三区| 亚洲V国产V欧美V久久久久久| 99热这里只有精品8| 国产精品第一国产精品| 久久久天堂国产精品女人| 另类小说五月天| 99免费视频| 久久人妻熟女一区二区| 日本不卡高字幕在线2019| 不卡在线视频| 丁香五月亚洲综合| 激情五月婷色| 婷婷五月色情| 99在线免费视频| 欧美六月| 五月丁香爱婷婷深深| 激情五月图| 五月丁香啪啪激情| 日逼免费视频 | 五月天激情婷婷| 色色色五月婷| 91久热| 狠狠狠狠狠| 婷婷五月久久| 热久久婷婷| 在线中文亚洲| 综合婷婷| 天天插轮理| 综合婷婷五月丁香在线观看| 久草热在线视频| 九月激情网| 色情五月婷婷| 碰碰碰97国产| 99精品女人天堂| 亚洲综合99| 激情的五月| 丁香六月伊人| 97精品欧美91久久久久久久| 五月天婷婷色| 久9综合| 国产免费av在线| 大香蕉久操| 日韩欧美四五区| 五月开心深爱激情网| 91要啪| 涩五月婷婷| 九九色插| 色综合中文| 久久杏爱视频| 九九热99热| 91chinese在线| 亚洲精品又粗又大又爽A片| 超级碰碰视频无码| 五月五婷婷网| 九九热视频思思| 2017狠狠干| 男女啪啪做爰高潮无遮挡| 欧美三级大片AA在线看| 秋霞性爱AV| 日日操日日射| 任你日视频| 日韩欧美不卡| www.色9| 欧美综合丁香网| 五月婷婷六月色| 欧亚成人A片一区二区| 色爱综合五月| 看黄的网站18禁| 婷婷亚洲欧美丁香五月| 亚洲视频99| 婷婷国产五月天17c| 五月婷婷在线丁香| 99热这| 国产99热| 日本97久久久精品| va中文资源在线观看| 日日噜噜夜夜狠狠久久丁香六月| 五月婷婷久久综合| 91婷婷五月丁香碰| 天天做天天干天天综合网| 国产色网站| 欧州婷婷五月天综合| 91精品丝袜久久久久久| 欧美va在线| 五月婷婷激情网| 欧美色色色色色色色色色色| 日逼免费视频| 天天操人人干| 激情宗合 激情宗合| 26uuuu精品一区二区| 99热碰碰热| 伊人大香久久| 激情亚洲五月| 日日干天天爽| 亚洲熟女乱色综合亚洲网站| 婷婷中文字幕版| 激情五月综合网| 99视频91| 可以直接看的AV网站| 夜夜爽天天爽| 丁香九月综合激情| 激情六月日韩| 国产偷人爽久久久久久老妇APP| 91男同| 婷婷无码五月天| 婷婷伊人五月天| 欧美狠狠草| 婷婷中文无码| 婷婷综合日本| 婷婷五月天免费视频在线观看| 五月天婷婷色色| 色婷婷免费观看| 精品色色| 久热伊人在91| www.av骚货| 青青草国产亚洲精品久久| 九九伊人网| 五月丁香激情婷婷| 亚洲精品成人片在线播| 欧美激情综合色综合| 国产偷人爽久久久久久老妇APP| 四色综合网| 99亚州综合精品成人网| 99re久热只有精品6在线直播.com| 久久婷婷六月综合| 九色成人AV在线| 99热99这里有免费的精品| 狠狠精品干练久久久无码中文字幕| 久热99| 婷婷五月丁香手机在线视频| 婷婷丁香中文字幕| 亚洲五月丁香综合网| 婷色五月天| 久久综合影院| 大香蕉欧美在线| 丁香五月天婷婷91| 热99在线| 色射7856五月天激情四射| 天堂AV在线看| 婷婷中文无码| 五月天久久综合| 免费成人网在线观看| 97婷婷五月| yirenjiqingshiping| 欧美va欧美va差| 91在线人| 99re热视频这里只精品5| 婷婷五月天淫荡| 五月婷六月丁| 狠狠爱成人综合网| 色射婷婷五月天| 丁香婷婷五月激情四射网| 激情五月狠狠| 九月av在线| 久久婷婷五月综合啪| 久久婷婷五月天激情| 九九大香蕉黄色影院| 在线观看av网站| 激情五月综合网最新| 大香蕉av在线| 婷婷色网| 日本噜噜色网| 色婷婷狠狠18yy| 五月天婷婷在线播放| 久操人| 久久久久久97| 久久黄A片| 拍真实国产伦偷精品| 综合久久五月| 久碰久| 99久精品视频| 久久免费精品小视频| av大香蕉| 婷婷激情网五月天| 亚洲久艹| 九九精品综合| 99热综合| 热思思九九| 夜夜综合色| 色婷婷五月天成人网| 五月丁香亚洲综合| ji'qing'luan'ren'lun| 国内精品免费一区二区2009| 婷婷欧美| 天天操天天爱天天日| 国产偷人爽久久久久久老妇APP| 深夜A片| 亚洲性爱电影| 狠狠色丁香| 这里只有精品9| 国产免费av在线| 操骚货在线| 五月婷久久在线| 中文字幕,综合,91| 色色五月婷| 丁香五月婷婷色偷偷| 在线成人网址| 丰满女老板BD高清A片| 久久亚洲激情五码| 婷婷精品在线| 少妇性BBB搡BBB爽爽爽视頻| 99热地址| a色色色色色| 精品日本视频444| www.婷婷.com| 天天摸,天天爽| 日本人妻久久| 婷婷久久色| 狠狠色噜噜| 亚洲超碰在线| 丁香五月亚洲综合| 99色婷婷| 久久五月婷天天干| 大香蕉99热| 超碰人妻公开在线| 婷婷色九月| 色婷婷亚洲在线| 超碰人人操人人干|