亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

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

啟元 Q1 的三套優(yōu)先級:排他鎖、復(fù)合權(quán)重與音量閃避 一、從一個(gè)字段名說起AudioFile.msg里有這么一行注釋# 可選項(xiàng)(1~100) priority priority_weight% is final priority uint32 priority_weight而PlayTtsRequest.msg里同樣叫priority_weight的字段注釋是這樣的# 可選非產(chǎn)品要求勿用優(yōu)先級加權(quán)參數(shù)(0-99)最小單位為 1 uint32 priority_weight兩個(gè)字段同名、同類型都是uint32含義卻差得很遠(yuǎn)。前者的取值范圍是 1–100是個(gè)百分比后者是 0–99是個(gè)絕對偏移。更關(guān)鍵的是PlayTts的最終權(quán)重算法在《接口說明.md》里寫得很明確最終權(quán)重 主級 * 100 子權(quán)也就是說TTS 的priority_weight直接加到百位以上而音頻文件那邊它是對priority做一個(gè)百分比調(diào)整。同樣是「微調(diào)優(yōu)先級」一處加在百位一處加在個(gè)位還帶著百分號。我最初以為這是文檔寫錯(cuò)了。把三套機(jī)制的定義都取出來放在一起之后才看清楚不是寫錯(cuò)是三套獨(dú)立設(shè)計(jì)的優(yōu)先級機(jī)制恰好共享了兩個(gè)字段名。這篇文章拆的就是這三套機(jī)制。它們分別屬于運(yùn)控輸入源、TTS 播報(bào)、音頻文件播放各有各的取值空間、比較方式和失敗行為。搞混任何一處代碼都會(huì)在沒有任何報(bào)錯(cuò)的情況下做出錯(cuò)誤行為——這是我在實(shí)測里反復(fù)撞到的同一類問題。二、三套機(jī)制并排看先把三套機(jī)制放在一張表里。機(jī)制接口字段取值空間主級形態(tài)比較方式低優(yōu)先級方的結(jié)果運(yùn)控輸入源SetMcInputSourcepriority0–100 連續(xù)整數(shù)連續(xù)排他鎖先到先得幀被靜默丟棄1000 ms 看門狗脫鎖TTS 播報(bào)PlayTtspriority_levelpriority_weight主級 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ú)立歸一化橫向長度不代表數(shù)值大小只用來看結(jié)構(gòu)運(yùn)控是均質(zhì)的連續(xù)刻度TTS 是跳段的離散塊跳過 3、5、9音頻是連續(xù)刻度上再疊一套四檔角色。圖中 L1–L10 的權(quán)重區(qū)間、priority的 1–10 取值、media_role的 40/60/80/100 四檔全部取自對應(yīng).msg文件與《接口說明.md》§2.1.1.4、§2.2.1.2、§2.2.1.3 三節(jié)。有一處值得單獨(dú)指出音頻文件播放那一行priority是 1–10而 TTS 的主級恰好也是 1、2、4、6、8、10 這幾個(gè)數(shù)字。數(shù)值看起來一樣含義毫無關(guān)系。AudioFile.priority是連續(xù)的 1–10默認(rèn) 6相鄰值只差一檔TtsPriorityLevel的主級是枚舉語義層跳過的那些值是為將來插入新檔位預(yù)留的位置。把priority_level 6的經(jīng)驗(yàn)搬到AudioFile.priority 6讀起來像實(shí)際語義完全不同。三、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主級取 1、2、4、6、8、10步長 2跳過 3、5、7、9。配合「最終權(quán)重 主級 × 100 子權(quán)」就得到下面這張取值表。常量value最終權(quán)重區(qū)間來源BACKGROUND_L10x01100 – 199接口 文檔SERVICE_L20x02200 – 299接口 文檔MISSION_L40x04400 – 499接口 文檔INTERACTION_L60x06600 – 699接口 文檔WARNING_L80x08800 – 899接口 文檔SAFETY_L100x0a1000 – 1099接口 文檔SYSTEM_L77700 – 799僅文檔接口無此常量表中最后一行的SYSTEM_L7是這篇文章的一個(gè)關(guān)鍵發(fā)現(xiàn)后面第七節(jié)會(huì)給出實(shí)測證據(jù)。先看一個(gè)更基礎(chǔ)的性質(zhì)。子權(quán)上限是 99主級步長是 100。相差 1這個(gè) 1 不是巧合。圖 2 的橫軸是最終權(quán)重1 單位對應(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à)。它換來的是排序的絕對可預(yù)測性主級一旦確定跨檔關(guān)系就鎖死了不會(huì)因?yàn)槟硞€(gè)調(diào)用方擅自把子權(quán)拉滿而產(chǎn)生檔位穿透。代價(jià)是分層變得剛性——如果產(chǎn)品上確實(shí)需要「低一檔的緊急播報(bào)壓過高檔的例行播報(bào)」這套算術(shù)給不出解法只能改主級。再看那些空檔。接口里的主級是 1、2、4、6、8、10跳過 3、5、7、9對應(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è)天然的空位里問題只在于接口沒給它常量。四、仲裁矩陣兩格與字面意思相反權(quán)重算出來之后誰先播、誰被打斷由《接口說明.md》§2.2.1.2 的四格矩陣決定。文檔原文是這樣的權(quán)重對比is_interrupted: trueis_interrupted: false新任務(wù)權(quán)重 ≥ 當(dāng)前任務(wù)當(dāng)前播報(bào)被立即掐斷且不可恢復(fù)新語音開始播放仲裁優(yōu)先級相同時(shí)存入緩沖區(qū)仲裁優(yōu)先級大于當(dāng)前任務(wù)時(shí)強(qiáng)制打斷新任務(wù)權(quán)重 當(dāng)前任務(wù)請求丟棄is_success: false請求丟棄is_success: false這張表里藏著兩個(gè)與字段名字面意思相反的結(jié)論我在實(shí)測中逐一確認(rèn)過。圖 3 把四格矩陣與實(shí)測樣本畫在一起。格內(nèi)樣本編號對應(yīng)第七節(jié) 8 個(gè)場景的序號服務(wù)端為按該矩陣實(shí)現(xiàn)的 mock非真機(jī)行為。第一個(gè)反直覺點(diǎn)is_interrupted true不是強(qiáng)制插隊(duì)開關(guān)。按字面理解「打斷true」應(yīng)該意味著「我有話要說現(xiàn)在就說」。但矩陣寫得清楚這一列只在「新權(quán)重 ≥ 當(dāng)前」那一行才起作用權(quán)重不足時(shí)填true一樣被丟棄。實(shí)測中第 5 條請求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í)測第 3 條請求L660 660當(dāng)前是 600is_interruptedfalse結(jié)果仍是PREEMPT_NOW——非搶占模式下權(quán)重更高照樣掐斷。兩點(diǎn)合起來這個(gè)字段的真實(shí)語義是「權(quán)重足夠時(shí)同檔要不要讓」。它管的是同級仲裁不是插隊(duì)權(quán)。而文檔對這個(gè)字段有三處描述只有一處與矩陣一致出處原文與矩陣是否一致PlayTtsRequest.msg注釋是否打斷同等優(yōu)先級播報(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注釋說的是「同等優(yōu)先級」與矩陣吻合字段表說的是「現(xiàn)有任務(wù)」把范圍放大了。差別就在這一行照字段表理解會(huì)寫出一個(gè)自己以為安全的調(diào)用——以為什么都不填就萬事大吉實(shí)際只要權(quán)重夠高就會(huì)被掐。五、音頻一處未閉合的歧義AudioFile.msg那一行的原文是# 可選項(xiàng)(1~100) priority priority_weight% is final priority uint32 priority_weight它給了表達(dá)式?jīng)]給運(yùn)算次序。至少有兩種都能自圓其說的讀法讀法 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)超不過相當(dāng)于「一檔之內(nèi)微調(diào)」。讀法 B 在weight100時(shí)直接翻倍priority6可以壓過 7 甚至 10相當(dāng)于「變相增加一到兩檔」。同一個(gè)字段兩種讀法跨檔能力差了兩檔。這不是筆誤級別的歧義是會(huì)影響排序結(jié)果的歧義。我沒有替它下結(jié)論因?yàn)檫@需要真機(jī)實(shí)測才能確定用兩個(gè)不同priority的音頻文件同時(shí)播放觀察實(shí)際輸出順序。在沒有真機(jī)的情況下斷言其中一種就是在編數(shù)據(jù)。這一處我留在第九節(jié)的「未決問題」里。順帶一提AudioFile還有第三個(gè)維度media_role。# 可選項(xiàng)PulseAudio media.role不傳默認(rèn) Music # 可選值A(chǔ)lert(系統(tǒng)告警,優(yōu)先級100) | Notification(系統(tǒng)提示音,優(yōu)先級80) | Communication(對話語音,優(yōu)先級60) | Music(音樂/媒體,優(yōu)先級40,默認(rèn)) # 非 Music 角色播放時(shí)會(huì)自動(dòng)降低(duck)音樂音量 string media_role這是第四套編號40/60/80/100由 PulseAudio 的角色體系決定與priority完全并行。所以嚴(yán)格說音頻這一路內(nèi)部同時(shí)跑著兩套排序一套是應(yīng)用層的priority 百分比一套是系統(tǒng)音頻服務(wù)層的media_role。前者決定誰先播后者決定誰壓低誰。這兩套之間如何交互文檔沒有展開。六、驗(yàn)證一把規(guī)則寫成代碼三套機(jī)制的規(guī)則都是純算術(shù)可以脫離 ROS 完整復(fù)現(xiàn)。我把它們寫成了一個(gè)零依賴的模塊只用標(biāo)準(zhǔn)庫。下面節(jié)選自taxonomy/levels.py完整文件在倉庫里。TTS_LEVEL_STRIDE 100 TTS_WEIGHT_MAX 99 def tts_final_weight(level_value: int, priority_weight: int) - int: 最終權(quán)重 主級 * 100 子權(quán)。 return level_value * TTS_LEVEL_STRIDE priority_weight def sub_weight_can_cross_level() - bool: 子權(quán)能否跨越主級子權(quán)上界 99主級步長 100。 return (TTS_WEIGHT_MAX 1) TTS_LEVEL_STRIDE這個(gè)函數(shù)不做范圍鉗制因?yàn)榻涌趯油瑯硬蛔觥猵riority_weight聲明為uint320–99 只是文檔約定類型系統(tǒng)擋不住 100 以上的輸入。這一點(diǎn)第七節(jié)的實(shí)測會(huì)確認(rèn)。跑一遍邊界場景命令與輸出都在圖 4 里。從這一處起凡是程序輸出一律給真實(shí)終端截圖不再手抄——寫稿時(shí)把輸出貼進(jìn)代碼塊最容易出的錯(cuò)不是抄錯(cuò)數(shù)字而是抄錯(cuò)一個(gè)自己沒注意到的對齊空格。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ū)間下半部分是相鄰兩級的臨界值——L1滿子權(quán) 199 對上L2零子權(quán) 200只差 1其余各相鄰對都差 101。這個(gè)「差 1」正是子權(quán)跨不了級的算術(shù)來源。抓圖腳本在倉庫tools/shot/下all_shots.sh一次跑完本文全部五張終端圖可以原樣復(fù)現(xiàn)。除了驗(yàn)證算術(shù)我還用窮舉確認(rèn)了一個(gè)文檔沒寫、但可以從矩陣推出來的結(jié)論。問題是is_interruptedfalse時(shí)入隊(duì)的任務(wù)按什么順序出隊(duì)文檔只寫「存入緩沖區(qū)在當(dāng)前任務(wù)播放完成后再進(jìn)行處理」沒說排序鍵。# 節(jié)選自 scenarios/exhaustive_queue.py 的 compute() def compute(): 返回 (入隊(duì)總數(shù), 差值-次數(shù), 主級-入隊(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è)合法主級 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è)合法請求 × 1000 個(gè)當(dāng)前權(quán)重共 600000 種組合判為 QUEUED 的只有 600 組「新權(quán)重 ? 當(dāng)前權(quán)重」的取值集合只有一個(gè)元素[0]。畫面下半部分按主級拆成六行每行 100 組正好等于該主級下合法的子權(quán)個(gè)數(shù)——每個(gè)請求只在「與自己權(quán)重相等」的那一個(gè)當(dāng)前權(quán)重上入隊(duì)。也就是說能被入隊(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í)際裁決是什么樣。先在容器里核對枚舉的可用性。這段代碼不需要真機(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ù)《接口說明.md》2.2.1.2「TtsPriorityLevel (推薦主級常量列表)」逐條核對 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}接口無此常量)圖 6 是ros2 run priority_lab enum_probe的原樣輸出。上半段逐條核對文檔 §2.2.1.2 的七個(gè)常量六個(gè)能取到SYSTEM_L7取不到分隔線以下的兩段是同一個(gè)腳本緊接著做的越界試驗(yàn)下面會(huì)用到。SYSTEM_L7在文檔 §2.2.1.2 的推薦常量表里帶著完整語義——「系統(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)用方自覺。接下來是端到端。我按第四節(jié)那張矩陣實(shí)現(xiàn)了一個(gè)PlayTts服務(wù)端掛到官方aimdk_msgs/srv/PlayTts上然后依次發(fā) 8 個(gè)請求。# 節(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í)長列對應(yīng)estimated_duration八條全是 0。第 5、6 條被丟棄時(shí)客戶端多打一行└─ error_message把服務(wù)端給的原因原樣帶回來。服務(wù)端側(cè)的裁決日志真實(shí)時(shí)序[#n]是請求序號圖 8 是同一個(gè)容器里cat /tmp/mock.log的結(jié)果客戶端剛跑完日志就是那一刻寫下的。默認(rèn)的日志前綴級別、納秒時(shí)間戳、節(jié)點(diǎn)名被RCUTILS_CONSOLE_OUTPUT_FORMAT{message}去掉——帶上它每行超過 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í)長不是官方數(shù)值但客戶端全程收不到任何通知。這是個(gè)結(jié)構(gòu)性的缺口下面單獨(dú)說。關(guān)于最后一點(diǎn)的成因文檔寫得很直白時(shí)長字段局限由于 TTS 采用云端/本地流式合成當(dāng)前版本下estimated_duration固定返回0。任務(wù)閉環(huán)建議系統(tǒng)暫未開放播報(bào)結(jié)束的話題通知。若業(yè)務(wù)邏輯需在語音播報(bào)后執(zhí)行如先說話后走動(dòng)建議通過字?jǐn)?shù)預(yù)估約 200ms/字進(jìn)行延時(shí)處理?;貓?zhí)里的estimated_duration字段實(shí)測確實(shí)是0圖 7 的「時(shí)長」列八行全為 0。也就是說TTS 是一條開環(huán)鏈路調(diào)用方知道「請求進(jìn)隊(duì)了」但永遠(yuǎn)不知道「說完了沒有」只能拿字?jǐn)?shù)乘以 200 ms 去估。相比之下運(yùn)控的CommonTaskResponse帶task_id可以追蹤任務(wù)狀態(tài)。同一個(gè) SDK 里一個(gè)異步接口有任務(wù) ID另一個(gè)沒有——這屬于接口層的空白不是使用者的疏忽。需要說明的是這個(gè)PlayTts服務(wù)端是我按文檔矩陣實(shí)現(xiàn)的不是啟元的實(shí)現(xiàn)。它的作用是讓請求走真實(shí)的 ROS 2 序列化通道驗(yàn)證契約能通、字段能填、回執(zhí)能解析。真機(jī)上「第 3 條請求到底會(huì)不會(huì)被掐斷」「value7會(huì)不會(huì)被接受」仍需真機(jī)確認(rèn)。凡是 mock 得出的結(jié)論我在上文都標(biāo)了來源。八、為什么會(huì)分成三套把三處定義的文件路徑擺出來原因就清楚了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)域里的排序問題各自設(shè)計(jì)了字段最終在字段名上撞了車。這不是誰抄錯(cuò)了誰而是分層架構(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)先級」回答的是「誰在控制」。TTS 要的是順序與可打斷。語音是流式的可以排隊(duì)、可以中途掐斷掐斷了也不會(huì)有物理后果。所以它用復(fù)合權(quán)重主級管檔、子權(quán)管同檔內(nèi)的先后還單獨(dú)給了is_interrupted控制同級是否讓位。這里「優(yōu)先級」回答的是「誰先說」。音頻要的是混音。提示音和背景音樂可以同時(shí)響不需要一方靜音。所以它用百分比微調(diào)加音量閃避——警報(bào)聲響起時(shí)把音樂壓低而不是掐掉音樂。這里「優(yōu)先級」回答的是「誰蓋過誰」。三種「優(yōu)先級」對應(yīng)三種完全不同的資源模型獨(dú)占資源、隊(duì)列資源、混音資源。資源模型不同仲裁方式自然不能通用。硬要統(tǒng)一成一套字段反而會(huì)把三處都做壞。真正的問題不在設(shè)計(jì)在命名。三個(gè)模塊都用了priority和priority_weight這兩個(gè)詞而它們的量綱、算法、邊界各不相同??缒K開發(fā)時(shí)前一處的直覺會(huì)直接帶到后一處出問題的地方往往連報(bào)錯(cuò)都沒有——運(yùn)控那邊靜默丟幀音頻那邊悄悄 duck只有 TTS 會(huì)給一個(gè)false。九、還沒解決的問題按重要程度排有五處AudioFile.priority_weight的運(yùn)算次序未定。第五節(jié)那兩種讀法跨檔能力差兩檔需要真機(jī)同時(shí)播兩個(gè)不同priority的文件、觀察實(shí)際輸出順序才能確定。無真機(jī)時(shí)斷言任何一種都是編數(shù)據(jù)。SYSTEM_L7是預(yù)留還是遺漏無法判斷。它在文檔里有完整語義在接口里沒有常量在權(quán)重空間里有位置。三種可能都存在正在實(shí)現(xiàn)中、文檔先寫了、或者實(shí)現(xiàn)時(shí)被砍了但文檔沒同步。沒有官方說明只能標(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)先級 100同時(shí)觸發(fā)時(shí)誰讓誰兩者在不同模塊、不同層各自的排序鍵無法直接比較。media_role與priority的優(yōu)先級關(guān)系未說明。文檔只說「非 Music 角色播放時(shí)會(huì)自動(dòng)降低duck音樂音量」沒說priority高的 Music 會(huì)不會(huì)拒絕被 duck。這五處我都留在原樣沒有替它補(bǔ)。補(bǔ)出來的東西看著完整實(shí)際是錯(cuò)的——尤其第 1 條和第 4 條隨便寫一個(gè)「應(yīng)該是這樣」讀的人照著做問題會(huì)出現(xiàn)在幾個(gè)月后的現(xiàn)場調(diào)試?yán)铩J?、接手這套接口時(shí)先做四件事如果要在啟元 Q1 上寫播報(bào)相關(guān)的業(yè)務(wù)按這個(gè)順序過一遍能避開大部分坑第一先確定你要用的是哪一套。是讓機(jī)器人「說一句話」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)。它只決定同級是否讓位。想讓一句話壓過正在播的內(nèi)容唯一可靠的手段是提高priority_level——但記住子權(quán)跨不了級L499仍然低于L60。第四給播報(bào)留出時(shí)間余量。PlayTts返回is_successtrue只代表進(jìn)隊(duì)了estimated_duration恒為 0沒有播報(bào)結(jié)束話題。要在播報(bào)后執(zhí)行動(dòng)作比如先說話再走動(dòng)只能按字?jǐn)?shù)估——文檔給的經(jīng)驗(yàn)值是約 200 ms/字單次播報(bào)建議控制在 100 字以內(nèi)。這四條不需要真機(jī)就能驗(yàn)證前三條第四條在真機(jī)上用秒表對一次字?jǐn)?shù)與時(shí)長就能把估算公式校準(zhǔn)成自己的系數(shù)。三套優(yōu)先級并存的局面短期不會(huì)改變——它們分屬三個(gè)模塊各自服務(wù)不同的資源模型統(tǒng)一命名的收益遠(yuǎn)小于改動(dòng)的風(fēng)險(xiǎn)。對開發(fā)者來說能做的事只有一件把它們的差異記清楚別用一套的直覺去寫另一套的代碼。本文用到的規(guī)則復(fù)現(xiàn)、枚舉核對、矩陣驗(yàn)證腳本都放在 AtomGit 上無需真機(jī)即可復(fù)現(xiàn)https://atomgit.com/2301_76341691/primebot-priority-taxonomy-lab如果你也在啟元機(jī)器人上做二次開發(fā)歡迎到啟元機(jī)器人開發(fā)者社區(qū) https://dev.primebot.com/ 交流那里有官方文檔、SDK 倉庫入口和開發(fā)者討論區(qū)。文中若有不準(zhǔn)確的地方也歡迎在倉庫提 Issue 指出來。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美少妇高潮久久91| 国产四虎在线| 第二页中文字幕| 四虎影库国产精品免费| 最新亚洲风情电影| 啊啊啊啊二区好大| 国产人妻精品一区二区三区秋霞| 国产第11页| 亚欧美综合网。| 天天爱综合网| 色色97爱| 超碰在线99| 久久久97| 久久爱超碰网| 97亚洲色图| 久久这里只| 日韩偷拍一区二区三区| 中文字幕精品一区欧美| 国产高清成人免费视频| AV99热18这里只有精品| 黄片免费看的| 狠狠躁日日躁夜夜躁A| 久久精品一区| 91天天综合日韩欧美| 亚洲精品一二牛牛| 日韩性爱视频在线免费观看| 亚洲无码99| 天天干人妇| 欧美久久伊人| 久久春色| 性色国产东北露脸精品视频| 欧美亚洲自拍另类人妻| 秋霞免费AV| 女人一区| 日韩在线性爱免费视频| 一区=区三区视频| 欧美综合天天| 午夜精品一区二区三区三上悠亚| 久久精品久久久久久久| 亚洲操人| 麻豆天美在线| 激情av| 九九九九九九综合| 手机看片日韩人妻| 五月天人妻综合| 黑人嘿嘿嘿超爽免费视频| 久久夜嗨| 欧美成人黄网色网站| 青青草伊人久久| 无码国产Av| AV在线播放网址| 艹比视频国产精品| 日本性交操一区二区不卡系列| 美日韩一卡二卡三卡免费人妻精品| 另类老少妇| 99中出在线| 亚洲色天| 欧美丝袜美女电影一二三四区| 猛猛干| 91超碰在线观看| 综合激情婷婷| 立川理惠无码一区二区| 蜜臀网 一区| 亚洲色吧网| 国产免a费看黄片在线| 中文字幕老熟妇黄色视频| 国产AV中文| 亚洲国产欧美中日韩成人综合视频| 1区2区3区视频| 欧美另类自拍 | 岛国视频一二三区| 亚洲丝袜色图| 丁香六月婷婷久久综合| 久操视频资源站公开| 99久久com免费视频′| 国产在线播放成人免费| 丰满人妻-区二区三区免费看 | 免费一级毛片在线视频观看| 强奸乱伦中文字幕AV| 伊人热综合| 先锋女优在线观看视频| 久久鲁夜| 五十路熟女工口| 91原创在线观看| 丰满美女一级毛片在线播放| 草草电影院| 欧美亚洲首页| 桃花色综合影院| 婷婷天堂站| 性爱av网站| 十八禁网站在线| 国产热RE99久久6国产精品首| 亚洲成人性爱网站在线播放| 欧美十八禁视频| 欧美日韩超碰在线| 日韩BBN| 超碰 欧美| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 亚春色色| 91中文字幕在线观看| 日韩熟女三十乱伦| 嫩草影院在线观看精品| 中文字幕88av在线| 天天躁狠狠躁av| 一区二区三区在线资源| 91天美免费| 色呦呦呦在线观看视频| 东京热一区二区中文字幕| 国产精品久久久久久久久久梁医生| 加勒比综合| 日韩性爱一级片| 91成人在线免费视频| 國產尤物AV尤物在線觀看| 大屁股人妻女教师撅着屁股| 欧美东京热精品A∨| 99热91| 欧美熟妇乱码在线一区| 婷婷激情啪啪| 一级免费精品| 成·人免费午夜在线观看| 在线v中文字幕一区二区三区| 精品99999久久久久久| 天天拍天天操| 欧美极品少妇| 国产网站在线播放| 国产1727欧美| 91少妇人妻| 天天综合网~91| 精品然女一区二区| 一本色道综合久久欧美| 99热这里只有精品8| 啊啊啊好疼| 国产福利合集| 精品人妻1237| 一级人妻性爱视频| 男人的天堂.com| 91人妻人人澡人人爽人人精品| 2025年A片视频精品| 欧美男女午夜啪啪| 色欲蜜臀AV| 伊人国产AV| 操迟操逼在巾线Fre看| 91九久| 色噜噜日韩精品| 久久亚洲婷婷| 大JI巴好深好爽又大又粗视频| 男女啊啊啊| 日韩999| 中文字幕蜜乳av| 欧美78p| 熟女少妇一区二区三区| 97人人干| 91无码人妻精品一区二区三区蜜桃| 国产97在线 | 亚洲| 日本 欧美 国产一区| 一级片视频啪啪| 天天日熟妇| 操逼逼中文字幕| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 亚洲风情综合网| 九九色逼| 欧美强奸乱能| 成人片视频| 久久激情亚洲精品无码?V| 涩综合导航| 亚洲高清色综合| 久久只有精品一区二区三区| 激情小说五月天| 久久久久9999| 国产精品九九九| 9999久久久久| 亚洲区限制级| 亚洲成人综合在线| 被窝影院午夜看片无码| 2019天天干| 亚洲日本加勒比在线| 成人八戒网站| 极品色综合| 日韩性爱电影一区| 成人午夜视频免费播放| 人人色97| 四虎永久在线精品免费网址| 九九干| 91精品亚洲内射孕妇| 欧州91高潮| 大奶的诱惑| 日韩在线电影| 大香蕉2017| 亚洲欧美97√| 26uuu国产免费观看| 亚洲午夜AV| 午夜天堂网| 日韩精品在线观看网站| 思思视频免费看网站| 欧美一区二区福利在线| 亚洲制服aⅴ中文字幕| 殴美大黄片| 澳门特级毛片免费观看| 97香蕉人人乳| 日本在线观看网址| 五月婷婷丁香| 啊啊啊啊啊操我视频| 国产丰满熟夫69mpp| 走光一区92下载| 97爱爱官网| 国产精品肉丝自拍| 91色色网站| 我想要 啊 啊 啊| 天天天堂影视日韩亚洲91| 狠狠色综合网| 九九九久久久久| 蜜桃久久精品一区二区三区| 美女淫穴| 后入精品| 亚洲精品一二区| 亚洲av影音先锋| 先锋精品av色鲁| SUV一区二区在线看| 欧美一区二区三区黄色影视| 国产成年女黄特黄| 亚洲AV无码国产精品久久久久 | 中文字幕精品日韩中文字幕| 五月天婷婷色| 夜草欧美| 亚洲精品久久久久毛片A片拉屎 | 97久久久| 人妻AV 中文字幕的| 夜夜人妻爽| 欧美性爱1080p| 国产精品第一页国产大屁股视频免费区i| 69久久久久久久久久久久久| 精品国产乱码久久久久久网站入口| 91男人天堂网| 夜夜骑日日| 男女激烈网站最新| 女人被添高潮免费视频| 长长久久88视频| 久久精品中文| 日韩精品一区二区三区色欲| 天天做天天爱天天爽| 伊香蕉综合久久久久久久噜噜噜 | 日韩不卡a级视频专区| 日本天天操| 麻豆综合一区av| 九九九九九九九精品视频| 久久亚洲一区二区色婷婷| WWW操逼| 人妻少妇精品久久久| 久草免费福利在线播放| 天天久久| 青青草原综合久久大伊人精品| 1769国内精品视频| 欧美天天干| 手机看片日韩人妻| 精品久久久久成人码免| 久久AV无码AV| 日本三级中国三级99人妇网站| 日产成人久久| 精品国产乱码久久久久久久久1| 色悠久| 色婷婷婷五月天激情四射| 久久久久久久九九九九九九| 伊人少妇久久久| 91操人| 粉嫩av久久一区二区三区| 久久久久久国产精品| 日本欧美韩国国产在线| 91精品国产91综合久久蜜臀| AV男人天堂网| 日欧毛片久久| 97AV在线免费观看| 美女淫穴| 99抽插| 91色黑人少妇| 啪一啪免费视频| 亚洲婷婷丁香在线| 熟妇色99| 亚洲在线a| 97 亚洲 日韩 欧美 在线| 欧美日日网| 日逼国产| 超碰是碰在线观看| 亚洲蜜臀懂色| 久久人妻无码毛片A片麻豆| 91网站18在线| 少妇第一页| 97精品97久久| 丝袜美腿诱惑亚洲欧美视频在线观看 | 中文字幕视频一区视频二区| 在线人人人人人人精品超| 91热| 精品国产乱码久久| 久久国产热视频97电影| 日本熟女中文字幕一区| 日日干日日操五月天伦理视频| 久久亚洲不卡一区二区三区| 97精品国产精品免费观看| 日韩美女高潮喷水视频| 无码九九| 人人操人人干网页| 婷婷91| 骚逼高潮久久精品| 色婷婷淫色网| 日韩一级性爱无码| 国内精品伊人久久久久影院会| 夜夜天天噜狠狠爱2021| 亚洲激情网一二三四区| 国产老熟女| 日韩97视频| 综合久久久久久久综合网| 欧美黄色片在线播放| 国产精品内射婷婷一级二| 亚洲国产精品无码AV在线| 日本视频在线观看污污污| 欧美性猛交美女自慰91| 精品人妻一区二区三区视频| 大香蕉中文201| 欧美偷拍区| 99热网站| 欧美大战久久久伊人| 青草园大香蕉| 中文字幕jul-617人妻熟女| 亚洲精品蜜桃久久久久久久| 精品丝袜无码一区二区三APP| 大香蕉五月天婷婷| 久久风骚城市| 国产精品国产自产拍高清AV| 婷婷探花久久精品一区| 人人干黄色| 在线情色电影 91大 | 九九九九热| 人妻久久久久久久久久久久久久久 | 精品人妻一区二区三区蜜桃视频| 欧美精品自慰系列寂寞少妇| 91日韩网站| 最近的最新的中文字幕视频| 色欧洲97| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 丁香六月婷婷久久综合| 欧美色图99| 性在久久久久久| 神马久久啊啊| 婷婷五月天社区| 日本精品久久久久久久| 一级啊性爱在线视频| 欧美日日人人天天| 淫淫总合网| 日韩性爱毛片操骚逼| 激情综合av| 亚洲色啪| 国产福利合集| www.久久久久| 蜜臀va69| 久/久精品99看9| 国产Av超碰| 中出20p| 狠狠色婷婷7777久| 自拍视频一区在线观看| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 精品176精品2| 嗯啊免费视频| 国产精品久久天天干| 精品人妻一区二区蜜桃视频| 精彩久久中文| 99精品丰满人妻| 91N五十路| 五月花婷婷| 最新无码国产| 一本久道久久综合狠狠爱一密臀精 | 天天色天天干天天射| 人妻少妇精品久久久| 男女打扑克高清网站| 日韩一级成人毛片免费观看| 激情婷婷丁香网| 富二代亚洲精品99| 翘臀vidoes| 91 综合网| 人人做人人妻人人夜视频| 精品国产乱码久久久影院| 天天舔日美女视频| 啊啊啊啊啊啊在线| 性综合网| 中文字幕精品亚洲熟女| 欧美在线第五页| 人人操人人精品影片| 黄色二级片网站| 99亚洲人人| 免费网站观看www在线观| 九九av| 精品人妻伦一区二区三区久久| 97资源免费视频| 激情四射五月天| 中文字幕人乱码中文字的预防方法| 2019午夜福利视频| 美女十八禁| 超碰97极品9| 人妻素股| 午夜精品久久久久久久久久久久久 | 激情黄色五月天| 欧洲综合色| 91精品久久久久五月天精品| 亚洲福利中文字幕在线| 色色综合97| 97色插| 久久精品视| 91性网| 天天影视色香欲综合网小说| 一区二区三区麻豆| 亚洲图片欧美偷拍| 91肉片| 久久直播国产| 久久久久9久久久久| 啊啊啊不要嗯嗯在线观看| 777超碰| 69视频入口| 大香蕉伊人网WWWn0n| 欧美亚洲手机在线| 亚洲天堂综合AV| 欧美午夜视频| 操屄不卡视频| 精品少妇99| 亚洲欧洲精品视频发布| 欧美制服另类丝袜| 欧美最婬乱婬爆婬性视频 | 久久男人网| 色色97爱| 国产11页| 极品色电影院| 欧美综合自拍| 九九九九九九成人| 成人av性爱电影在线观看| 中文字幕视频一区视频二区| 搡老熟女免费视频| 亚洲综合射| 操美女人妻| 亚洲一区二区三区不卡国产欧美| 天天综和| 激情无码日韩| 大香蕉中文201| 五月色网| 欧美亚洲国产91在线| 日韩欧美偷拍美女视频| 国产1769在线| 国产老太乱伦一区| 天天综合麻豆视频| 熟女一区二区| 中国农村熟妇毛片视频| 午夜福利合集| AV一二区| 亚洲综合五月天婷婷丁香| 亚洲伊人成综合成人网| 91丝袜人妻| 欧美少妇第一页| 久久人人爽爽人人爽人人片αV| 欧美综合网站999| 日欧操屄视频| 夜夜夜夜久久久久| 久久久啊啊啊| 麻豆a'v电影| 久久久精品日本一道| 日韩无码成人电影| 午夜乱轮操逼视频免费看| 91欧美情色| 加勒比无码毛片| 99xav| ,国产乱人伦精品一区二区三区| CCYY草草影院地址入口| 国产情色在线| 久久精品老司| 日韩中文字幕熟妇人妻| 97超碰碰碰| 亚洲免费看片| 人妻密肉在线观看| 超碰中文字幕人妻草一区| 真实高潮91| 亚洲欧美一区二区三区一猛片| 吖在线不卡一区二区国产剧情| 国产精品第一页国产大屁股视频免费区| 色香伊人| 蜜桃臀久久| 小泽玛利亚一二三| 日韩午夜精品一区二区三区电影| 丰满人妻一区二区三区免费| 蜜桃AV天堂| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 日韩紧密久久| 超碰79人人乐| 国产精品一区二区黄片| 综合一区中亚洲国产成人综合精品| 国内精品a| 亚洲综合在线第一页| 加勒比综合a∨| 西西美女视频网| 日本免费一区二| 国产福利精品最新在线| 久久久成人国产精品无码| 伊人丁香五月婷婷| 国产无马在线| 四虎影视永久在线免费| 思思热免费在线视频| 日韩免费在线观看不卡| 久久久91| 青娱乐国产剧情av一区| 天天爱天天操| 国产精品成人午夜福利| 秋霞Av理论一级在线| 久久r精品| 久久9精品网站| 凹凸视频在线一区二区| 不卡av在线中文字幕| 亚洲天堂在线怕怕视频| 十八岁啪啪视频免费看| 狠狠色色| 天天干2019| 97 亚洲 日韩 欧美 在线| 91欧美丨精品丨入口| 天天天干977| 日本久久久精品电影| 伊人性在线视频| 欧美日韩狠狠爱| 91爱网| 国产精品分类在线观看| 黄在线| 久久久久9999| 中文字幕55555| 懂色av中文字幕| 久久男人天堂| 久操精品网| 国产一区二区三区影片| 日本三级日本三级三级人妇四虎| 啊啊啊啊操死我了| 加勒比综合| 国内精品伊人久久久久影院会| 日韩欧美国产高清视频| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 久操电影网| se01国产在线视频| 久热色情精品| 午夜福利合集| 日日操丁香五月天| 强奸乱伦免费网站| 中出20p| 人妻无一区二区三区| av日韩中文字幕| 国产黄色在线播放观看| 五月天大香蕉| 欧美与日韩97| 肉嘟嘟www视频在线观看高清| 婷婷色五月激情| 9久9久| 在线观看成人性爱免费小视频| 99丝袜福利在线播放| 中文字幕精品三级久久久| 日本色色视频网站| 亚州再线| 久久久久亚洲AV无码专区少妇| 一二三区在线| 综合网91| 青青青艹在线视频| 性影在线视频| 91无码人妻| www.狠狠| 收看日本人日bb| 黑人与人妻| 91精品人妻电影| AV女资源| 91色图片| 国产熟女完整版中字 | 久久机热| 99性视频| 天天射日日干| 欧美爱国产综合、| 欧美色三级片91| 欧美精品宗合| 超碰97人人乐| 91啪9色| 99久久久无码国产精品性男| 伊人热综合| 欧美激情亚洲情色| 少妇国产不卡| 丁香久久| 精品一级毛片在线观看| 不卡视频一区蜜桃视频 | 女优视频第10页| 日韩性爱毛片操骚逼| 97超碰超欧美。| 久久9亚洲| 屁股久久久久久| 国产乱码久久久久久| 久久思思热| 色天使亚洲综合在线观看| 2017天天操天天日| 天躁夜夜躁2021| 一区二区国产视频在线观看| 九九在线视频| 欧美视频中文字幕区| 亚洲 日本 国产 综合| 自怕偷自怕亚洲精品| 日本天天干天天日一区| 大鸡吧尹人在线| 五月丁香狠狠爱| 十八禁的黄污污免费网站| 久草视频观看视频在线| 99久久久无码精品国产人| 国产精品高清2021在线| 亚洲欧洲成人在线电影| 天天干夜夜操一区二区| 亚洲中文丝袜美腿诱惑字幕| 国模久久在线| 51一区二区三区| 天天射天天色成人| 日本精品五区| 人人操人人干xxx| 成人小说另类在线| 人妻偷拍一区二区三区| 中文字幕在线免费观看2| AV乱伦国产| 中国zzijzzijzzwww精品| 久久婷婷色| 九月丁香婷婷| 日韩中文字幕精品一二三事国产精品| 久久久精品九| 亚洲熟女综合一区二区| aa片毛片| 无码抄逼网| 激情开心五月天| 99操逼| 日韩 欧美 校园一区| 亚州欧美一区| 9久久久久久| 亚洲国产综合视频| 五月天激情网图片| 99热aaa| 亚洲性猛| 天天操天天舔| 国产女性无套 免费观看| 国产精品天美传媒| 人妻社区男人天堂| 伊人91| 91丨豆花丨熟女| 亚洲免费精品一区| 亚洲国产97| aⅴ日韩成人电影av在线免费看av大全 | 国产极品精品美女视频| 国产操偷| 少妇三P| 人妻少妇精品久久久久久| 精品无人区麻豆乱码1区2区图片| 免费国产视频| 色爱综合网| 神马久久中文字幕| 加勒比99999| 欧 美 自 拍 偷 拍| 日韩AV电影网站| 国产精品网址| 狠狠狠一区二区三区| 伊蕉97蜜桃97狠狠综合干| 91老熟女老女人国产老太| 91综合在线| 欧美大香蕉专区网| 夜夜操天天肏| 9999久久久久| 久久99午夜精品一区人妻| 亚洲阿v天堂在线| 91AV老熟女视频| 精品在线蜜臀| 九月AV| 人人操,人人液| 日本高清视频在线观看黄已三辽| 黄色大片视频在线免费看| 九九天堂| 乳欲人妻办公室奶水| 天欧美在线| 欧美三级一级| 日韩性爱啪啪视频| 亚洲综合性网址| 色色色色日本| 久久青青草在线视频| 偷拍网站久久男女男| 午夜电影在线观看无码专区| 精品国产乱子伦一区二区三区,精品一| 大香蕉啪啪网| 日韩少妇一区二区三区| 久久老熟女| 久久精品中文字幕女同| 日韩人妻少妇 一区二区三区| 97视频在线播放| 色大师网站www永久网站视频| 午夜精品久久久久久久久久久久久| 亚洲欧洲偷拍一区| 丁香六月婷婷综合| 国产高清精品一区二区三区毛片 | 久久小视频| 国产无马在线| 精品久久久久久AV无码| 亚洲资源吧| 久久9亚洲| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 亚洲无码精品AV久久久| 职场同事知名国产国产精品久久欧美日韩| 色区久久| 一区二区三区视频在线观看免费| 成人羞羞视频国产| 天堂性色| 国产真实野战在线视频| 一级黄色性爱A级片| 日韩97| 色欧美在线| 一二三四视频在线社区中文字幕| 亚洲第一页欧美| 九九九久千久久激情蜜桃在线看| 99久久婷婷国产综合精品草原| 亚洲精品三| 最新啪啪视频| 黑丝内射一区二区三区| 婷婷五月天激情网| 中文字幕日韩人妻视频一区二区三区| 亚洲另类春色| 97这里有精品| 亚洲男人电影天堂| 亚洲天堂2020| 中文字幕丰满子伦无码专区在线视频最新| 91精品导航| 亚洲视频精选| 97在线视频观看网站| 男人久久天堂| 激情国产乱伦Av| 国语对白在线播放视频| 国产精品色色| 天天摸夜夜操视频| 久久精品一区二区| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 亚洲综合夜色| 超碰美国| 亚洲日本激情| 神马久久69| 久久精品—区二区三区内射| 亚洲色图日韩精品| 农村妇女一级二级三级视频| 欧美白嫩女HD| 亚洲丝袜综合| 日韩啪啪网| 9l视频自拍9l九色成人| 久久久久久夜夜夜夜夜| 国产精品网站www| 久草电影网| 91美女视频| 牛牛操视频逼| 99精品无码| 九九九九一级| 亚洲国产精品成人无码久久久 | 男人的天堂亚洲| 久久伊人东京热| 日韩精品午夜操呦呦不卡影院| 91久久婷婷| 小说区 图片区色 综合区| 亚洲色 国产 欧美 日韩| 天天夜夜久久| 97在线视频观看网站| 青青操97| 精品久久久久久AV无码| 国产精品肉丝自拍| 人人操 欧美| 欧美色偷拍 | 中文字幕欧洲有码| 日本三级日本三级99| 日本人妻天堂网站在线播放| 综合久久97| 久久激情网| 亚洲91色| 97人人爱人人做人人乐| 99老司机精品视频在线观看| 九月丁香婷婷| 久久9精品| 美女露胸露尿口| 免费的黄片有限公司| 久久有碼| 亚洲国产激情国产av| 999九九精品| 色色国产| 中文字幕,人妻,日韩| 国产精品肉丝自拍| 夜夜夜夜久久久久| 性欧美天天| 国产精品老师| 一级二级三级黑人无码| 欧美色图校园春色| 欧美色997| 日韩去日本高清在| 欧美天天影院| 婷婷五月天无码| 大香蕉免费乱伦视频| 97免费视频在线观看| 国产女人高潮嗷嗷嗷叫小说| 久久亚洲不卡一区二区三区| 亚洲色啪| 370p日韩欧美亚洲精品| 好吊色综合| 中文字幕一二三| 嗯啊啊啊轻点视频 | 亚洲精品97久久| 一区二区三区色综合| 成人性爱av| 免费观看的av| 秋霞 色色| 91久久久久久久久久久| 国产精品 视频| 偷拍亚洲情色| 1769精品一区二区三区| 樱花蜜乳av| 91黄站| 国产中午字一暮区| 精品人妻一区春色| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 久久爱97| 亚洲欧美变态| 欧美高潮| 成人一级二级| 啊啊啊不要啊啊受不了了视频在线 | 水澄无码AV| 色五月婷婷网| 香蕉人人操tv| 日本亚洲熟女视频| 少妇超碰在线| 亚洲精品成人激情在线| 国产精品视频白浆免费| av在线免费一区二区| 日本中文字幕不卡视频| V A在线| 国产成人超碰在线| 日韩在线性爱免费视频| 久久综合亚洲色1080p| 天天摸夜夜添无码小视频| 欧美一级久久久久久久大片动画 | 久久肏大逼| 色五月首页| 按摩中文字幕| 很很很很操| 亚洲男人天堂2016| 欧美在线55555| 老司机午夜精品福利视频一区二区| 欧美大片一区二区三区| 久久精品成人| 伊人网青青| 丁香九月激情啪| 亚洲人成色9999精品久久| 操亚州| 农村女一级毛卡片| 久久亚洲AV无码专区国产精品 | 亚洲天天艹| 亚洲精品一区二区免费在线观看| 亚洲黄色电影| 久久一区二区高清免费| 色九九九九久| 老司机福利社视频在线观看| 啊啊啊啊好疼| 成人毛片免费| 亚洲操操| 99久在线精品99re8| 青青草色AV| 久久久性| 自拍偷拍2025在线观看| www.夜夜| 午夜福利合集| 一区二区三区免费岛国片| 麻豆av一区二区三区| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 高清不卡 中文 人妻| 在线播放成人高清免费视频| 日韩精品一区二区三区色欲| 精品无码久久久久| 自怕偷自怕亚洲精品| 亚卅熟女乱色| 欧美激情精品久久久| 国产黄色视频久久| 久久久久国产亚洲一区欧美色图日韩| 深夜激情| 国产av波波国产精品| 国产久久视频| 啊啊在线| 蜜臀久久99精品久久综合| 97chaopengongkai| HEYZO高无码国产精品227| 密臀AV在线| 欧美v日韩v亚洲v最新在线| 亚洲欧洲小说图片视频| 久久精品国产亚洲AV先锋| 精品国产污一区二区三区| A级片一区| 97网址97| 两性综合网| 天天网综合| 无码99| 91人妻精华帖| 日本最新1区2区3区| 2024人人操人人摸| 婷婷久久五月综合激情| 9精品在线| 一级性爱视频免费在线| 久草久日| 99国产精品久久久久久久成人热| 久久久久久日韩| 啪啪自拍九九综合| 日日噜噜夜夜久久亚洲一区二区 | 人妻熟女午夜精品在线| 亚洲无码国产精品久久| 国产综合久| 色呦呦、国产精品| 囯产精品久久久久久久久久二区三区| 欧美色日本| 无遮挡猛进视频免费无限观看| 国产传媒av天美传媒在线| 久久华人网| 少妇与黑人高潮在线| 六月丁香久久| 97久久超碰| 日本一线产区和二线产区伦理片| 嗯啊不要啊在线 | 农村少妇久久久久久久| 一区二区三区日韩欧美| 人人爱操| 国产亚洲综合欧美一区| 亚洲黑人在线| 亚洲性天堂| 国产精品另类| 99日视频在线免费| 美女超碰978| 激情综合五月| 嗯嗯啊中文字幕| av天堂5| 亚洲国产成人精品无码专区| 亚洲高潮少妇| 天天影视综合网欧美精品| 日本高清熟女久久一区| 搡老熟女国产1000部| 美女高潮视频91| 午夜无码熟妇丰满人妻| 婷婷爽人人婷婷爽视频| 国产欧美日本亚洲精品| 97超碰免费人人性爱| 污污汅18禁网站在线永久免费观看| 丁香五月婷婷五月| 懂色AV中文| 亚洲成成熟女人综合一区二区| 91性高朝久久久久久久久| 巨爆乳肉感一区二区三区竹菊影视| 国产精品麻豆成人AV艾秋| 走光一区92下载| 91亚洲黄色网| 97无码视频在线播放| 超碰99在线观看| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 日本在线观看网址| 欧美综合91| 国产精品久久久久av| 大香蕉男人的天堂| 国产精品熟女九色九色蜜臀| 国产高清1234区| 国产丝袜高跟美女av免费观看| 欧美性爱一区| 日本熟女中文字幕一区| 人妻人人做人人澡人人爽欧美一区| 成人性爱高清视频免费看| 欧美综合骚| 18精品一二区| 欧美色www亚洲国产阿娇要播| 久久免费99精品久久久久久| 中日高清无码操逼视频| 亚洲色综合| 中文幕97| 国产视频第二页| 高清无码一区二区三区| 九九九午夜| 久久这里只| 五月香婷婷| 日本二区不卡| 女人双腿搬开让男人桶| 蜜臀av在线播放一区二区三区| 人妻少妇精品久久久| 美女久久久久久久久久久| www.99热| 78精品| 午夜天堂精品久久久久91| 91高清欧美| 2020久久免费视频| 日韩操p| 亚洲国产奇米影视久久| 性爱乱伦视频免费| 色99在线| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 日韩综合第八区国产精品| 精品日日人妻| 色优久久| 九九久久国产精品怡红院| 久久五月天婷婷丁香中文字幕| 亚州操操穴网| 9丨亚洲一区二区在线| 黄色成品网站| 精品成人亚洲午夜电影| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 9久热| 天美91| 欧美狠狠操| 中文自拍欧美影视| 亚洲色悠悠久久88| 日本精品一区二区中文字幕| 这里只有精品97| 亚州成人A√| 911粉嫩人妻| 中文?日韩?免费?精品| 国产99999久久精品| 婷婷五月天影院| 黑人娇小av在线播放 | 亚洲97网站| 狠狠狠狠狠| 国产一级内射无挡观看| juliaann欧美丝袜办公室| 亚洲人在线成线成人| 操逼日韩无码| 中文一区二区三区影院| 日韩中文字幕宗合在线| www.婷婷五月天| 欧美亚洲素人制服精品| av久日| 国产精品久久久三级无码| 综合久久久久久久综合网| 91丝袜美女视频| 99最新日韩偷拍视频| 嗯嗯啊啊好大好爽| 人妻天堂综合网| 美国精品国产精品| 日韩性爱长视频免费| 校园春色美腿丝袜 | 亚洲精品久久久久毛片A片拉屎 | 蜜桃臀AV在线| 日本熟妇精品九九| 白丝少妇一区二区| 欧美成不卡网| 五月激情视频| 亚洲色图欧美色图日韩色图| 午夜.DJ高清在线观看免费7| 精品一级毛片在线观看| 操国产高清| 啪啪综合网| 日本久久超碰| 欧美天天综合网版| 欧美色涩| 黄色成人网久久久久久| 老熟女搡BBBB搡BBBB视频| 日韩一级欧美一级国产一级台湾| 日韩精品在线视频,日韩精品……| 久热最新在线杭州| 综合久久9| 日韩一级欧美一级国产一级台湾| 深夜福利黄片| 日本性爱视频一级| 日韩人妻有码免费视频| 亚洲Av无码成人精品国产| 91九色网| 国产福利小视频高清在线观看| 亚洲欧美经典一区二区| 男人兔费天堂| 99www.bibizy香蕉资源国产一区二区三区高清 | 自拍鲍鱼一区在线高清观看免费| 狠狠色婷婷777| www四虎| 校园春色综合| 亚洲综合图片在线| 日本不卡在线二区三区| 97综合久久| 人妻熟女一区二区三区视频| 18禁久久| 成人AV超碰免费在线| 啊啊啊啊免费视频| 无码天天操| 大稥蕉免费视频这里只有精品| 激情黄色五月天| 九九九九久久久久| 无码视频黄色网战| 妇女视频网站| 91狠狠| 国产欧美一级在线观看| 蜜桃久久久久久久| 97亚洲色图| 日韩女模中文造逼| 伊人嫩草| 丰满少妇乱子伦精品无| 99碰碰| 高清视频一区| 五月香婷婷| 伊蕉97蜜桃97狠狠综合干| 欧美极品| 日韩素人无码一区二区三区三州| 骚熟女AV网| 久久久九九网站| 亚洲中文字幕av| 精品超碰国产| 最新制服中文第一页| 免费精品人妻一区二区三| 色爱欲亚洲| 黄色免费一级在线毛片| 四虎AV无码| 九九草| 国产九月婷婷| 色九色久| 岛国黄色大片网站| 午夜精品久久久久久久99| 久久久久久久久久va| 九九热免费在线国产视频伊人五月| 精品少妇一区二区三区在线视频 | 在线可观看的黄色网址| 思思热在线视频免费| 熟妇高潮一区二区免费视频| 9997se| 熟女日韩| 亚洲精品一二区| 激情黄色五月天| av资源在线播放天堂| 超碰吊日色| 国模限制级电影| 日韩成人在线性爱视频| 久久精品一区一起草| 少妇二级| h4610国产人妻| 成人三级片一区二区三区视频| 亚洲成人久久美女| 日韩亚洲精品一区二区| 综合色久欲| 亚欧高清在线| 久久久久亚洲av综合波多野制衣| 天天内射| 五月天黄色激情视频| 色欧洲| 中文字幕av久久爽Av| 日本一级性爱| 亚洲天堂7777| 99久久婷婷丁香| 亚洲欧美一区二区网址| 久久久涩| 在线天堂资源亚洲| 性欧美另类高清| av天堂手机版追回| 乱伦av.com| 极品综合| 一本色道综合久久欧美| 国产嫩草精品A88AV| 国产人人干| 神马久久69| 精品久久視頻在线| 亚洲欧美精品一区天堂久久 | 国产精品自产拍在线观看社区| 日韩强奸av| 精品高清av中文字幕| 91精品国产综合久久久蜜臀酒店| 啊啊啊 在线| 亚洲人综合| 草草草视频| 中文字幕一区二区三区50路| a啊啊啊啊啊啊啊啊一区二区| 78m啪啪啪|