欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,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
返回資訊列表
综合久| 亚洲超碰在线| a v色婷婷| 久久婷婷青青| 欧美交换配乱吟粗大25P| 综合久久人妻| 五月天久久www| 超碰人人操| 99色在线视频| 五月天激情小说网| 狠狠干夜夜干| 国产99久久久| 99噜噜| 色婷婷丁香AV综合| 高清无码 一区 二区 三区| 开心五月婷婷综合在线精品素人| 91免费试看| 99热这里是精品| 色色无码| 九月av| 丁香六月成人网| a色色色色色| 欧美婷婷丁香五月| 丁香五月777| 97操在线| 停停六月 综合| 成人精品视频99在线观看免费| 久9热视频| 亚洲色综合性| 五月丁香婷婷俺| 99er免费在线观看| 人人干人人操人人摸人人做| 天天操,天天插| 九九家庭影院| 丁香六月婷婷综合网| 日韩啪啪网| 日本久久99久久| 久久婷青青草原| 97天堂| 久久精品9| 久色大| 天天色天天爱天天爱天天爱y| 99热99精品| 日亚二欧美| 天天色,天天操,天天射| 亚州激情在线视频| 人人射av| 亚洲视频图片婷婷五月| 99热| 激情六月综合| 亚洲乱码精品久久久久..| 色五月av| 91午夜婷婷狠狠久久综合9色| 亚洲乱码日产精品BD| 久久性爱视频| 婷婷字幕在线| 狠狠色狠狠| 99热在线精品播放| 丁香五月婷婷88在线| 久久久久久久久久久久久久人妻视频| 99精品网站| 天天干、天天日日| www狠狠| 激情久久久久久| 五月丁香成人| AA片在线观看视频在线播放| 综合九九日本| 偷偷狠狠久久婷婷五月天| 丁香五月 综合| ri电影在线| 激情婷婷另类| www.色五月.com| 欧美内射AA| 激情五月天影院| 丁香激情五月天| 婷婷五月激情欧美大胆视频| 婷婷六月天天| 婷婷综合网站| 丁香五月成人社区| 五月色丁香婷婷综合| 十区AV| 九九热99视频| 激情VA视频| 色综合久久天天综合网| 色五月婷婷7777| 五月婷婷九九久久| 涩涩涩婷婷| 婷婷五月天成人小说| 精品人妻伦一二三区久久| 超碰成人在线观看| 欧美人人草草| 九九色色| 亚洲在线网站| 夜夜骑操AV| 巴基斯坦粉嫩无码视频| 五月天激情网站| 丁香婷婷综合影院| 五月天开心成人网| 玖玖婷婷五月天| 超碰在线日夜| 高清无码.com| 91丨九色丨丰满人妖| 激情av| 91人人妻人人操| 久久丁香五月综合六月激情红杏视频 | 五月婷婷欲色| 色婷婷电影| 激情婷| 激情综合五月激情XXXX| 超碰在线免费9| WWW.桔色成人.COM| 五月噜噜噜色综合| 五月天另类小说| 久久婷婷大香蕉| 快乐激情五月色婷婷| 五月丁香欧美在线| 婷婷五月欧美综合| 丁香五月在线视频黑人| 国产人妻人伦精品一区二区| 97自拍视频在线| 久久婷婷五月综合伊人| 天天综合区| 亚洲va日| 九九热精品视频| 九月大香蕉| 五月婷婷久久网| 夜夜谢天天干| WWW夜夜| 五月婷婷中文字幕| 欧美三级欧美一级| 综合婷婷| 欧美婷婷| 亚洲操操操| 亚洲中文字幕AV| www.婷婷五月| 开心五月婷婷婷美女| 五月天成人在线播放丁香| 成人午夜无码视频| 五月社区丁香| 色色色九九九五月婷婷| 丁香六月婷婷综合啪啪| 丁香花操逼| 人人操人人爱丁香五月| 91热手机在线| 超碰激情网| 丁香五月综合久久综合| 五月天啪啪视频| 99久久久久久www| 色色色色av色色色色| 91人久| 操逼在线视频| 超碰在线个人观看| 色玖玖爱| 亚洲成色综合网站免费观看| 亚洲第一成人无码A片| 丁香六月 婷婷六月| 色婷婷视频| 日韩一区二区在线播放| 婷婷碰碰| 色情久久久| 五月天婷婷綜合院| 九九热免费视频| 成人五月天在线观看| 九九热AV| 日日爽日日爽| 婷婷99狠狠| 日狠狠| 久久色五月| 成人国产欧美大片一区| 五月婷婷九| 超碰免费人妻| 丁香8月手机综合| 日韩乱玛久久| 91玖玖| 青青草五月天| www.色色色色| 九九热这里有精品视频| 开心婷婷五月综合| 99色在线视频| 天天做 天天爱| 99热色婷婷| 99热啪啪| 99热在线精品观看| 五月天天天综合| 婷婷色色综合| 最新色色五月天| 在线国产精品色| 疯狂做受XXXX高潮A片| 天天精品视频在线观看视频| 97人妻碰碰碰久| 五月丁香网站| 99九九综合久久九九| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | www.色色色com| 思思热99热| 国产成人+综合亚洲+天堂| 开心五月婷婷婷美女| 四色99久久| 欧美激情xxxXX| 超热久碰.com| 久久9情免费| 激情啪啪五月| 五月天精品综合| 91热在线| 亚洲乱码w在线观看| 日日夜夜狠狠| 国产成人网站在线观看| 五月婷婷免费看| 99在线精品观看99| www.婷婷.com| 日本三级网址| 色综合网页| 人人摸人人搞| 婷婷97碰碰| 丁香五月婷婷乱| 欧美色色色色色色色| 欧美熟女视频 色婷婷| 丁香五月婷婷影院| 99久久综合网| AV在线免费播放| 天天xxxxxx天天日| 婷婷网五月| www九九热| 丁香婷婷久久综合在线| 五月丁香色色色| 超碰AV在线| 激情五月天综合网| 亚洲综合无码| 成人av中文字幕| 99亚洲无码| 日本婷婷综合精品| 久久6这里只有精品| 97婷婷狠狠| 五月婷婷综合性爱噜噜| 碰碰碰91| 久久一级片| 操精品9| 99视频在线观看地址| 4399成人黄A片| 色婷六月| 丁香五月天网站| 99热首页| 操日视频| 日本色色色| 激情都市丁香婷婷| 久久艹99| site:pnnrt.com| 伊人久久大香网| 色九月婷婷丁香| 色婷婷丁香五月天在线观看| 色婷婷综合影院| 五月丁香六月婷婷在线| 991精品在线视频| 五月丁香六月激情在线| 99热久草| 丁香色五月 97干| 亚洲激情四射| www.色婷婷.com| 亚洲丁香花色| 激情五月天小说| 久热99狠| 97人妻碰碰碰久久久久-最近国语高清| 在线综合亚洲欧美65| 超碰免费成人网站| 狠狠综合区| 4438国产免费看| 狠狠第四色| 欧美一级色| 操操操操操操婷婷五月天| 丁香五月激情啪啪| 六月五月久久丁香| 婷婷激情视频欧美视频自拍视频欧美剧| 99成人精品视频| 九九热视频这里只有精品| 99人妻碰碰碰久久久久视| 九九色大香蕉| 在线理论片| 五月婷婷 婷婷五月 一区二区 久久久| Blackedraw视频一区二区| 日本成人内射| 五夜婷婷| 久久久久久综合五月婷婷| 99r这里| 五月天激情小说网| 中文字幕欧美日韩VA免费视频| 成人国产欧美大片一区| 色玖玖玖| 伊人超碰| 五月婷婷激情综合| 超碰国产一区| 亚州激情网站无码| 99在线精品视频| 99这里有精品视频| 综合精品99| 伊人婷婷五月天| 能看的AV网站| 9l视频自拍九色9l视频自拍九色9l社区| 天天综合精品| 久久伦乱| 五月丁香六月综合激情无码软件亮点| 51国精产品自偷自偷综合| 97干干干丁香| 伊人五月天综合网| 色播五月天激情| 中文字幕在线日亚州9| 婷久久久| 狠狠狠人妻| 99精彩视频| 亚洲AV免费在线| 亚洲免费电影2| 五月丁香在线视频观看| 激情久久丁香| 婷婷五月丁香激情图片| 国产熟女日日骚五月丁香爱| 久久99网| 超碰在线免费9| 国产熟女日日骚五月丁香爱| 色99在线| 熟女色专区| 婷婷五月天开心网| 黄色AAAA韩国guochansanji | 婷婷综合欧美| 午夜成人综合| 五月天激情综合网| 99热99热不卡| 激情婷婷丁香| 五月天激情在线视频| 婷婷 伊人 久久| 婷婷四色五月| 99热.com| 性视频久久| 日韩在线婷婷五月天综合| 91蜜桃婷婷狠狠久久综合9色| 99色在线观看视频| 丁香五月天电影| 婷婷五月成人社区| 婷婷五月天BBw| 丁香五月天激情综合| 超碰免费成人| 可以直接看的AV| 婷婷五月激情的图片| 色婷婷社区| 久99婷婷色综合| 日韩砖区| 国产欧美日韩综合精品一区二区| 热99视频精品| 久久小说| 亚洲中文乱字字幕线在永久| 九九视频在线观看视频6| 免费AV黄在线播放| 99人妻碰碰久久久禁片| 天天爽夜夜爽| 香蕉色色网| 狠色狠色综合久久| 国产91在线视频| 婷婷五月六月丁香综合| 中文字幕精品推荐免费在线观| 日本性激情色播| 亚洲成人在线观看av| 五月永久激情| 五月婷婷久久网| 米奇影视五月天| 五月天社区婷婷| 综合久久五月| 九热电影av| www.日本91| 大香蕉伊人99| 五月丁香激情啪啪| 久久婷婷在线| 性爱激情小说AV五月丁香花| 91丨九色丨43老版熟女| 人妻操逼| 97超级碰碰碰久久久| 天堂草在线看www| 97AV人人插人人操| 欧美日韩99| 99久久久| 小香蕉av| 激情五月天综合网| 色爱99| 无码成人播放器| 婷婷丁香五月亚洲| www.色婷婷| 91艹人| 亚洲国产精品VA在线看黑人| 99色免费观看全部| 六月丁香婷婷综合色播| 国内9l视频自拍老熟女九色| 丁香五月婷婷激情网| 99激情网| 亚洲天堂九九九| 色婷婷狠狠爱| 五月天激情婷婷小说| 人妻激情网| 色五月成人| 久久aaa| 红桃91人妻爽人妻爽| 久久久五月五丁香| 好好干av| 婷婷激情五月综合| 热婷婷在线视频| 色丁香五月| 天天操天天爽天天爱| 色综合色色色色色色综合| 人人综合久| 五月色情婷婷开心五月色情| 五月天丁香综合| 99久久这里只有精品| 嫩草AV久久伊人妇女超级A| 国产AV一区二区三区最新精品| 久久偷拍综合五月天| 色婷五月| 丁香五婷| 综合五月激情| 婷婷久久综合| 婷婷激情四射| 日本天堂免费99| 综合五月亭亭9| 超碰在线中文字幕| 99碰碰碰| 色色色色丁香| www久久久| 久久99热这里只频精品6学生| 五月香蕉婷婷| 激情另类综合| 亚洲精品国产成人AV在线| 99ri网站在线观看| 极品少妇XXXX精品少妇偷拍| 丁香五月婷婷色| 国产婷婷五月色情综合| 久久人妻系列| 婷婷成人综合免费视频| 亚洲网站在线鸭子av| 激情丁香久久久久久| 国产又色又爽又黄又免费| 九色自拍| www.久久爱.com| 亚洲丁香五月| 伊人午夜综合色啪| 综合色色婷婷| 8090在线影视少妇| 久久99视频| 日本婷婷五月天| 天堂草在线观| 国产精品婷婷午夜在线观看| 这里只有精彩亚洲视频推荐| 综合五月天天天天天五月| 99这里的视频都是精品| 久久小视频免费| 五月丁香六月色婷| 天天操夜夜啊| 蜜桃婷婷五月| www.夜夜夜| 新久久五月天激情| 中文久久久人妻| 久热精品视频在线观| 97碰久久| 欧美色五月| 日本精品99网站| 人妻久热| 噜噜色天天开心| 丁香五月婷婷啪啪啪| 全高清无码视頻| 这里只有精品视频在线| 亚洲人人96@| 99干99| www.色五月| 久久九九热视频| 伊人久久艹| 少妇激情五月天| 色色色色五月天| 97操操| www,天天干| 开心五月婷婷| 99五月香婷婷丁香在线视频| 婷婷九九色| 色色五月丁香婷婷综合| 97久久久| 久久这里都是精品视频| 蜜桃五月天| 丁香午夜天| 丁香五月婷婷大香蕉| 狠狠色丁香婷婷久久综合| 91九色丨国产丨爆乳| 男女99免费视频| 天天做天天爱| 在线免费视频caop| 六月婷婷久久| 激情五月婷婷欧美极品 | 欧美噜噜免费观看| 青草视频在线蜜臀| 五月婷亚洲精品| 人妻AV在线观看| 热99在线| 永久天堂日本| 91超碰九色| 清色五月天| 99热这里只有精品22| 狼人婷婷久久| 狠狠色噜噜狠| 久久99久久久久久| 日日爱699| 任你日视频| 青青草国产亚洲精品久久| 99热人人操人人操| 人人草成人视频| 久久99成人性爱高清视频| 久久天天| 日韩乱轮AV| 五月婷久久久| 天天舔日日肏夜夜爽| 天天综合 99久久婷婷| 99色视频| 婷婷六月综合| 婷婷十月丁香| 二色av| 嫩草视频。| 玖玖在线视频| 91九色在线视频| 亚洲乱码日产精品BD| 免费人人操| 婷婷五月天伦理| 97色在线观看视频| 丁香婷婷浪潮AV久久综合| 色情综合| 丁香五月婷婷av| 欧美十二区| 大香蕉伊人久久| 日韩欧美一级大黄网站| 99ER热精品视频| 久综合九| 五月天婷婷色综合| 亚洲六月综合激情久久下卡| 婷婷六月激情小说网| 日本一区二区三区精品视频| 久久综合中文| 5月丁香婷婷激情网| 亚洲精品又粗又大又爽A片| 亚洲综合婷婷五月| 激情五月天婷婷五月天| 一起操最新网址| 26uuu国产色| 亚洲激情综合网| 99综合成人视频在线观看| 丁香五月综合福利视频导航| 91精品丝袜久久久久久| 色婷婷香蕉| 亚洲婷婷久久综合| 九九热在线99| 91久久电影| 五月天丁香看婷婷| av狠狠操| 五月丁香888| 六月丁AV| 激情文学 综合 九月| 就爱射中文字幕资源网| 99热草草| 俺去也五月天婷婷| 九月av在线| 吉澤明步Av一區二區| 丁香五月婷婷社区| 开心婷婷五月天激情网| 激情五月婷婷色色| 66成人网| 曰曰久久| 女人天堂AV| 激情五月第四色| 天天操夜夜操| 九九九午夜影院成人| 91狠狠综合久久久久久| 色综合天天网| 色色色五月天婷婷| 久久九九热视频| 色原狠狠综合| 天天综合网91| 婷婷五月成人有| 国产成人精品一区二三区熟女在线| 五月激情婷婷图片基地| 江苏少妇性BBB搡BBB爽爽爽| 日本熟女内射| 97五月婷婷| YJLZZJLZZ亚洲乱熟无码| 色综合天堂| 夜夜谢天天干| 1995年关宝慧版蜘蛛女| 久草网大香视频| 99久精品视频| 欧美五月丁香啪啪响视频| 五月丁香激情综合网| 操逼在线视频| 无码yw| www.五月.com| 婷婷伊人久久综合| 超碰99热精品| 99熟女| 色婷婷五月天综合网| www.1024久久| 激情五月天婷婷丁香| 天天爽天天日人人爱| 婷婷色色亚洲| 五月丁香无码| 婷婷六月激情丁香| 中文字幕,综合,91| 亚洲五月婷婷| 亚洲最大五月天成人网| 情色五月天网站| 一点色成人网| 91人操人人人操人| 五月天全国最大成人网| 久热超碰91| 性爱视频久久| 丁香五月AV| 狠色狠色狠狠色综合网| 五月花激情网| 国产av天堂| 五月花激情| 丁香五月综合久久八| 久久婷婷网址| 日本片日本片祼观看网站在线看中文版网页在线看 | 色婷婷丁香香香蕉视频| 66精品国产成人| 超碰人人在线观看| 99精品网| 9热在线观看| 五月婷婷激情| 天天色粽合合合合合合合| 亚洲 精品 综合 精品| 2013AV天堂| 久久99热网| 亚洲永久免费| 九九视频在线| 久久九九大香蕉电院| 久久色情| 日本99色| 在线亚洲综合网| 丁香六月婷婷久久综合| 午夜免费试看| 激情开心五月天| 婷婷激情五月天亚洲综合| 亚洲操逼网| 婷婷九月丁香天堂丁香天堂| 亚洲日本三级片| 五月婷婷六月天| 九九色影视| 深爱五月激情| 六月丁AV| 开心五月综合| 五月开心婷婷| 丁香五月天婷婷久久综合| 久热婷婷| 99自拍视频网站| 9超碰在线| 思思热99er| 碰97 久| 五月丁香六月激情综合| 九九在线精品| 狠狠插狠狠插| 五月婷婷五月天| 99视频自拍| 亚洲成人在线免费| 99热国产精品| 97福利视频| 九九久久99精品免费观看www| Www.狠狠| 色香欲综合| 五月激情六月婷婷| 丁香五月欧美激情| 99在线精品在线视频| 这里只有精品久| 五月婷婷深爱六月| 99色爱| 99热这里只有在线| 五月停停激情网| 深情五月天| 色五月第四色| 五月丁香在线| 久久九九网| 久久99久久99精品免视看婷| 婷婷啪啪| 国产精品第一国产精品| 亚洲精品久久久无码| 九九99久久精品| 婷婷五月激情四射手| 国产一级黄色影片,| 亚洲电影中文字幕| 婷婷丁香五月天影院 | 久草婷妨| 五月天婷婷人妻| 亚洲99精品欧美一区| 婷婷伊人网| 第四色五月婷婷| 色婷婷成人网| 色五月综合| 五月天综合在线网| 五月丁香久久丝袜啪啪| 操操国产| 色另类五月天| 久久人妻伦理| 色五月婷婷色| 婷婷色色综合| Www99热| 大功率国产在线| 五月花婷婷最新| 五月的色婷婷高潮| 99热精品在线观看| 激情综合丁香六| 无码九九九九| 97成人丁香婷婷| 亚洲性爱日韩无码| 五月婷婷亚洲| 久久五月婷6 9| 九九99香蕉在线视频播放| 国产伦理精品高清在线观看网站一区二区 | 思思热久久久久思思热| 婷婷综合五月天| 天天天天干| 九月性爱网| 无码啪啪| 亚洲精品五月| 99热这里只有精品22| 天天日天天肏天天奸| 香焦网五月天| 五月丁香狠狠地噜噜噜噜| 婷婷五月天亚洲综合| 国产成人精品一区二区三区视频 | 婷婷丁香成人网址| 久久婷婷色| Aaa久久| 狠狠色色| 激情综合五月婷婷丁香| 日本精品人妻无码77777| 人人性久久| 久久婷婷五月草视频| 五月停亭六月,六月停亭的英语| 成人无码髙潮喷水A片| 97干视频在线| 26uuu国产激情视频| 九九热精品| www.五月天色色色| 丁香五月欧美色综合| 丁香五月成人社区| 国产亚洲网站在线| 五月婷婷伊人在线| 深爱激情五月天| 國語久久婷| 99re热视频这里只精品| 颜射 精品性爱av| WWW免费视频碰碰碰碰| 久9热视频在线| 99热在线里有精品| 97人人射| 九月丁香婷婷综合| 99爱爱网| 色久99| 色播五月丁香| 日本在线播放97| 激情五月婷婷色综合| 丁香婷婷深情五月亚洲| 黄网免费观看| 婷婷五月综激情| 午夜丁香六月婷| 五月第四色| 久久这里只有精品视频15| 初夜av| 专区无日本视频高清8| 快乐激情五月色婷婷| 久久九区| 日本一道久久| 超碰99在线| 97操在线视频| 99在线精品观看99| 久久久婷| 五月婷婷综合网| 日韩色色网| 性综合网| 亚洲 激情 中文| 99精品成人无码A片观看金桔| 五月婷婷丁香啪啪| 五月天精品| 国产精品五月丁香| 1024操逼| 亚洲成人黄色网| #NAME?| 久久九九色| 丁香五月婷婷偷拍| 亚洲天堂爱爱| 新久久五月天激情| 免费看欧美成人A片无码| 丁香成人综合| www.99riav99| 九九激情| 欧美精品999| 97av在线视频| 五月综合六月丁| 丁香五月熟女| 夜夜大香蕉婷婷丁香| 国产成人在线不卡AV| 久久综合婷婷| 狠色狠色狠色狠色狠色网| 五月天婷婷狂暴白浆| 婷婷丁香五月亚洲| av国产精品偷| 嫩草AV久久伊人妇女超级A| 五月丁香婷中文| 日本三日本三级少妇三级66| 操九色| 婷婷五月天伊人在线| 最新无毒无码AV| 九九婷婷网五月天| 9久久精品| 婷婷情色开心五月天99| 激情综合五月婷婷六月丁香| 婷婷丁香激情综合色情| 国产在线aaa片一区二区99| 婷婷五月天综合色| 免费婷婷| 熟女少妇内射日韩亚洲| 五月天婷婷综合| 六月丁香婷婷拍拍| 精品操逼一区二区| 五月天婷婷在线AN| 五月丁香六月香综合激情| 91婷婷五月丁香碰| 色丁香五月婷婷| 婷婷开心激情五月激情网| 99热久草| 五月丁小婷婷激情四射| 久热中文字幕| 久久久久久丁香五月| 超碰免费人妻| 超碰妻人人| 久久狠狠干| 丁香五月综合网亚洲综合欧美狠狠| 亚洲AV中文在线| WwW色婷婷| AV在线资源| 丁香五月激情无码视频| 五月丁香啪啪啪| 97婷婷久久丁香| 色情综合网| 91丨九色丨熟女丰满| 天天色色婷婷| 大香蕉久久| 久久精品噜噜噜成人A∨色欲 | 99 热国产在| 激情精品久久| wwwss在线观看| 99超级碰碰| 常久最新免费的色吊丝| ss五月天激情| 丁香五月另类色婷婷麻豆| 婷色综合| 天堂成人A片永久免费网站| 超碰com| 精品五月天| 伊人超碰| 婷婷色色狠狠| 婷婷欧美综合| 五月五月婷婷| 拍色综合| 色五月,com| 99热在线观看| 五月激情在线| 黄网在线播放| 激情亚洲婷婷| 五月欧美丁香在线观看| 天天爽日日爽夜夜爽| 五月综亚洲| 婷婷色五月噜噜| 操操碰| 国产综合视频婷婷| 色九月婷婷丁香| 99热 在线播放| 99ri精品在线观看| 色综合77777| 国产精产国品一二三在观看| 9久久精品| 亚洲五月婷| 色综合色五月| 五月激情网站| 久久九九@| 五月天婷婷綜合院| 99男人的天堂| 久久婷婷啪啪视频| 亚洲天堂爱爱| 超碰亚洲天堂| 激情综合亚洲| 夜夜骑夜夜撸| 亚洲精品99| 大香蕉AV在线| 欧美丰满熟妇BBB久久久| 99热这里只有精品8| 五月丁香综合| 国产精品涩涩涩视频网站| 丰满人妻一区二区三区| 高清一区二区三区日本久| 国产乱人偷精品人妻A片| 欧美私人家庭影院| 婷婷综合仓库中文| .肏屄视频一区二区| www99xxxx五月丁| 天堂亚洲 在线| 国产无人区大片| 色综合久久44| 密黄站| 日批在线看| 婷婷五点亚洲| 操逼三区| 深爱激情五月婷婷| 九九aV| 日韩一区二区A片免费观看 | 99热这里只有精品1025| www.99视频| 成人欧美一区二区三区在线观看| 五月婷婷黄色视频| 天天插天天插天天插天天插| www.maotanji.com| 99无码| 久久婷婷免费| 丁香六月婷婷综合欧美| 五月天婷婷综合久久| 色丁香在线视频| 五月婷婷六月综合| 狠狠丁香| www,999日本色| 亚洲国产网站| 欧美性二区| 五月天激情小说婷婷基地| 久久538| 夜夜谢天天干| 国产精女同一区二区三区久| 久久激情天堂| 国产va在线视频| 日本五月天激情| 九九在线精点品| 久久丁香婷| 香蕉狠狠爱视频| 狠狠狠狠狠狠狠狠草| 五月丁香六月激情视频| 9色在线| 最新久久99视频网站| 99re66热这里只有精品| 激情六月一二| 26uuu国产| 五月色激情综合网| VA日本视频| 激情丁香五月天| 99只有精品| 久9热视频| 深爱激情久久| 欧美操人| 欧美婷婷九月| 狠狠色性| 九九精品自拍| 九九伦子片| 激情综合婷婷五月| 天天干,夜夜爽| 激情内射人妻1区2区3区| 九九婷婷综合| 天天日天天爱天天噪| 九九aV| 中文字幕欧美久久| 五区毛片七区毛片| 青草五月天| 久久久久久久久久久44| 这里只有精品在线播放| 五月丁香综合激情| 色碰97| 五月婷婷 六月丁香| 色色色婷| 激情久久婷婷| 国产精品久久久久久五月天加勒比| 激情综合婷婷| 欧美 日韩 人妻 高清 中文| 九九热视频在线观看| 夜夜资源站| 99综合色| 桃色五月婷婷| 婷婷免费成人视频| 99热这里只有精品22| 国产成人AV在线播放| 亚洲丁香五月| 国产无套精品一区二区| 五月丁香六月久久| 97人人干人人操| 婷婷丁香五月91| 色婷婷视频在线| 99热午夜精品| 久久一二三视频| 天天做天天爽| 五月伊人综合| 99在线精品观看99| 久久作爱| 免费观看亚洲AV片| yellow视频在线观看91| 亚洲天天操| 99色在线免费观看视频| www.99成人视频| 亚洲精品无码A片一区二区| 久久五月天激情视频| 99免费在线视频| 激情 五月 婷婷 丁香| 婷婷激情五月综合| 五月婷婷激情综合| se99视频| 久热这里只精品| 婷婷六月色| 亚洲区,视频区,视频区免费| 国产无套精品一区二区| 激情五月综合| 久久六月综合| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 97超碰99热99| 亚洲第一精品网站| 9久操| 久久丁香五月天| 4399欧美另类视频| 日本色99| 天天综合网、天天综合色| 99热这里只有精品55| 九九热只有这里精品| 五月丁香六月婷| 婷婷六月丁香久| 无码91中文字幕| 日日爽天天| 怡红院91a√| 久99综合婷婷| 99爱视频精品| 北京熟妇搡BBBB搡BBBB| 婷婷天天综合| 亚洲色五月婷婷| 亚洲网站999| 日韩成人综合网| JAPANRCEP老熟妇乱子伦视频| xxx综合在线| 五月丁香A∨在线| 久综合| 久鲁鲁色网 | 五月天开心网| 色婷婷六月综合| 婷婷丁香综合色AV| 久久激情五月天| 天天插天天玩天天干| 极品少妇XXXX精品少妇偷拍| 国产精品热搜丁香五月婷婷| 看片视频在线免费日产在线看| 成人短视频免费| 久久视频婷婷视频| 五月天久久婷婷婷| 免费观看日韩成人av| 久久多色| 色婷婷五月天激情综合 | 天天爽爽日日做做| 五月桃花网综合| 亚洲色夜| 天天做天天干天天综合网| 一区中文字幕电影| 激情五月天婷婷丁香| 激情美女五月天激情在线| 色色色色色五月丁香| 免费看欧美成人A片无码| 五月丁香六月婷婷国产视频| 99综合视频一体| 91九九九九九九| 丁香五月天啪啪| 久久机热这里只有精品| 午夜激情综合| 亚洲黄色操逼| 六月婷婷五月天| 开心色五月天久久久久久久| 色婷婷五月影视| 婷婷五月丁香激情图片| 成人电影一区| 96丁香六月婷婷蜜桃综合久久| 五月丁香六月婷婷啪啪综合| 第1影院之五月婷婷| 丁香色婷婷| 激情婷婷五月天| 伦99热| 人人爱操| 婷婷综合影院| 久久性爱网| 五月天色丁香| 天天干天天色综合| 丁香五月婷婷呀| 爱操人妻| 欧美激情久| 国产一级片色色| 亚洲热综合| 丁香五月激情网| 色色综合视频| 五月婷婷色丁香| 99爱视频精品| 国产婷婷综合在线免费视频| 中文字幕操比影片| 色婷婷成人做爰A片免费看网站 | 国产日产亚系列精品版优势| 超碰在线人妻| 激情综合网色播五月| 日本va视频| 五月天六月天| 丁香 婷婷 激情 综合 五月| 非洲一级AV| 丁香色影院| 嘿嘿视频免费看9| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 五月天婷婷色| 4399在线日本A片| 久久99久久久久久久噜噜| 91中文狠狠综合| 精品一二三区久久AAA片| 五月丁香777| 亚洲精品成人| 久久激情五月婷婷| 六月份天丁香婷婷| 五月丁香婷婷基地| 天天夜夜爽| 国产精品视频久久99| 婷婷五月丁香色情| 中国AV性爱观看| 日 日干 日日做| www.色婷婷。com| 秋霞学生妹一二级| 五月天色婷婷激情综合| 日日干五月天婷婷| 激情丁香五月天综合| 五月婷婷激情综合| 日本人妻A片成人免费看片| 五月婷网| 婷婷久久五月| 久久精彩免费视频精彩免费视频| 97碰碰人人| 激情视频网址| 天天射影| 亚洲综合视频天天精品| 在线观看五月婷婷网| 久久婷婷五月国产激情综合片| 26UUU一区二区| 天天摸,天天爽| 婷婷六月插屄激情| 亚洲噜色| 深爱激情婷| 综合网亚洲| 久99久在线观看| www.yw尤物| 国产精品色色| 国产精产国品一二三在观看| 国产国产乱老熟女视频网站97| 国产99久久久国产精品免费看| 激情AV网| 亚洲区1| 久久最新色| 色五月婷婷中文字幕在线观看 | 五月天综合网| 成人超碰AV| 五月色俺婷婷| 思思热99热| 99色在线视频| 久久er99热精品一区二区| 丁香六月婷婷操逼网| 69色婷婷| 这里只有精品偷拍| 情涩婷婷五月天| 色99在线观看| 亚洲久热| www.91av.com| 91久久久久久久91| 97啪啪| 天天综合久久| 涩涩五| 激情五月婷婷在线观看| 亚洲激情网| 丁香网五月天| 亚洲免费av在线| 九九热九九| 日本五月天婷婷丁香| 色色综合网站| 日本女色人人| 婷婷五月激情的图片| 综合综合色色| 丁香五月五月婷婷| 五月丁香色婷婷| 色色草97| 丁香五月天AV在线| 五月开心深深爱激情综合 | 五月婷婷福利| 色99在线视频| 天天射天天插天天干| jiujiujiuwuyuetian| 色的色综合| 五月欧美丁香在线观看| 99色综合| 五月天停停日日| 五月丁香六月婷婷不卡免费无码| 丁香五月天堂网| 日本熟妇乱妇熟色A片蜜桃| 成人资源在线| 伊人干练久| 九色婷婷| 综合精品啪啪| 日韩无码一区二区三区四区| 九九在线精品| 高清资源站日A美A欧亚…| 97丁香婷婷| 日韩操逼小电影| 久99久视频| 丁香五月激情综合婷综| 五月婷婷综合色啪首页| 色婷婷香蕉| 亚洲四色五月| 国产99视频永久免费| 99综合免费视频| 九九中文字幕九| 天天操天天操天天操| 色五月综合在线| 天天干,天天操,天天射| 欧美性爱5月天天天看| 五月丁香六月成人| 久久婷视频| av操一操| 婷婷综合中文| 丁香婷婷丁香五月欧美人| 五月伊人网| 狠狠色狠狠爱| 天天天天天天噜| 欧美搡BBBBB摔BBBBB| 99色视频| 大香蕉九操| 天天干天天曰天天射| 一级操逼内射在线视频| 亚洲国产精品二二三三区| 色 免费网站视频| 操日视频| 99内射视频| 色综合激情| 一级视频网址| 六月色色婷婷| 国产精品第一国产精品| 婷婷丁香午夜综合影视| 亚洲操B| 久久三级视频| 色狠狠色| 超碰免费人妻| 4399亚洲视频| 色呦呦美女| 日韩av在线免费观看| 亚洲超级碰| 狠狠色成人影片| 欧美日韩国产一区二区| 五月综合无码| 伊人成综合五月婷婷| 激情五月视频在线婷婷| 亚洲中文字幕在线电影| 丁香五月婷婷骚视屏| 欧美熟女视频 色婷婷| 色情久久久| 亚洲精品第一国产综合亚AV | 国产精产国品一二三在观看| 日操| 日本欧美成人片AAAA| 九九一综合精品| 五月婷婷综合激情小说| 丁香五月天啪啪激情综和网| 热99色| 日本色狠狠| 婷婷射综合|