久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

ROS話題通信實(shí)戰(zhàn):rostopic工具與msg消息類型詳解

ROS話題通信實(shí)戰(zhàn):rostopic工具與msg消息類型詳解 1. 前言從一次小車控制失靈說(shuō)起做機(jī)器人開發(fā)繞不開ROS而ROS里最基礎(chǔ)也最常用的通信機(jī)制就是話題Topic。我見(jiàn)過(guò)不少初學(xué)者剛裝好ROS就急著跑launch文件對(duì)著終端里嘩嘩滾動(dòng)的日志一臉茫然根本不知道底層發(fā)生了什么。直到有一次我在調(diào)試一個(gè)兩輪差速小車時(shí)方向盤沒(méi)反應(yīng)電機(jī)紋絲不動(dòng)查了半天才發(fā)現(xiàn)是話題沒(méi)對(duì)上——發(fā)布端在發(fā)/cmd_vel訂閱端卻盯著/cmd_vel_mux/input/teleop等數(shù)據(jù)。那一刻我意識(shí)到不懂rostopic工具和msg消息結(jié)構(gòu)做ROS開發(fā)就像閉著眼開車。這篇內(nèi)容面向所有準(zhǔn)備入門或正在入門ROS的開發(fā)者也適合那些已經(jīng)能跑通demo但總感覺(jué)“原理不清楚”的朋友。我會(huì)完整拆解ROS話題通信的核心概念、rostopic工具的實(shí)際用法、msg消息類型的定義要點(diǎn)以及我用真實(shí)項(xiàng)目驗(yàn)證過(guò)的常見(jiàn)問(wèn)題排查思路。主題就是ROS里的topic話題、rostopic工具、msg消息三個(gè)關(guān)鍵詞爭(zhēng)取用最直白的話把這條通信鏈路講透。給新手先打個(gè)底R(shí)OS節(jié)點(diǎn)之間的數(shù)據(jù)交換核心方式之一就是話題通信。一個(gè)節(jié)點(diǎn)發(fā)布消息另一個(gè)節(jié)點(diǎn)訂閱消息雙方通過(guò)話題名和消息類型建立連接話題本身不存數(shù)據(jù)它只負(fù)責(zé)轉(zhuǎn)交。rostopic就是那個(gè)能讓你“看見(jiàn)”這條鏈路的命令行工具。下面我按自己的理解從原理到實(shí)操?gòu)目垂ぞ叩綄憁sg一步步展開。2. 話題通信機(jī)制為什么ROS不直接用函數(shù)調(diào)用2.1 分布式架構(gòu)下的通信需求ROS節(jié)點(diǎn)本身就是獨(dú)立進(jìn)程一個(gè)節(jié)點(diǎn)是一個(gè)可執(zhí)行文件運(yùn)行時(shí)各自獨(dú)立互不干擾。既然進(jìn)程獨(dú)立就不能像寫單體程序那樣直接函數(shù)調(diào)用你需要一種進(jìn)程間通信的手段。ROS提供了兩種主流方式話題和服務(wù)。服務(wù)是請(qǐng)求-應(yīng)答模式一問(wèn)一答適合同步調(diào)用話題則是發(fā)布-訂閱模式發(fā)布者持續(xù)往外發(fā)訂閱者持續(xù)往里收兩者完全解耦適合傳感器數(shù)據(jù)、控制指令這類連續(xù)數(shù)據(jù)流。剛開始我不理解為什么ROS要搞兩套通信方式后來(lái)對(duì)比過(guò)真實(shí)場(chǎng)景才明白拿激光雷達(dá)來(lái)說(shuō)它每秒鐘產(chǎn)生幾十幀掃描數(shù)據(jù)如果每個(gè)需要使用這些數(shù)據(jù)的模塊都用服務(wù)去請(qǐng)求那雷達(dá)節(jié)點(diǎn)會(huì)被請(qǐng)求阻塞數(shù)據(jù)根本來(lái)不及向外發(fā)。用話題就輕松多了發(fā)布者只管發(fā)訂閱者按自己的頻率去收誰(shuí)也不會(huì)拖累誰(shuí)。2.2 話題消息的發(fā)布-訂閱模型話題通信最典型的場(chǎng)景就是傳感器數(shù)據(jù)發(fā)布和算法節(jié)點(diǎn)訂閱。發(fā)布端通過(guò)advertise聲明“我要發(fā)某類消息到某個(gè)話題”訂閱端通過(guò)subscribe聲明“我要從某個(gè)話題收某類消息”。兩邊對(duì)接的關(guān)鍵是話題名一致、消息類型一致。如果只有話題名相同但類型不同ROS會(huì)自動(dòng)提示錯(cuò)誤不會(huì)幫你做任何類型轉(zhuǎn)換。維護(hù)一個(gè)話題通信網(wǎng)絡(luò)的核心角色叫Master節(jié)點(diǎn)早期版本或ROS 2的Discovery機(jī)制后期版本。在ROS 1里每個(gè)節(jié)點(diǎn)啟動(dòng)后先去Master注冊(cè)自己的話題、服務(wù)等信息發(fā)布者和訂閱者通過(guò)Master牽線搭橋完成匹配。匹配成功后數(shù)據(jù)流就不經(jīng)過(guò)Master直接在兩者之間點(diǎn)對(duì)點(diǎn)傳輸。這也是為什么你在終端看到rosrun啟動(dòng)的節(jié)點(diǎn)會(huì)自動(dòng)輸出一個(gè)URI這個(gè)URI就是它用來(lái)和Master打交道用的。2.3 話題、消息與服務(wù)的關(guān)系梳理很多教程把這些概念混在一起講搞得很亂。我建議直接記結(jié)論話題是數(shù)據(jù)流動(dòng)的通道消息是通道里流動(dòng)的數(shù)據(jù)格式服務(wù)則是另一套完全不同的同步交互機(jī)制。一個(gè)話題由話題名和消息類型唯一確定。消息類型可以理解成一種結(jié)構(gòu)體里面定義了字段的名字和類型。舉個(gè)例子我發(fā)一個(gè)速度指令到/cmd_vel消息類型是geometry_msgs/Twist里面包含linear線速度和angular角速度兩個(gè)三維向量分量。訂閱端只要拿到這個(gè)類型的數(shù)據(jù)就能解析出手把對(duì)應(yīng)字段控制電機(jī)轉(zhuǎn)速。背出這些定義之后你就能很快看懂別人寫的代碼——話題名決定了你監(jiān)聽(tīng)什么消息類型決定了你收到后能取出什么字段。注意ROS話題通信是異步的發(fā)布方不關(guān)心訂閱方是否存在。你單獨(dú)運(yùn)行一個(gè)發(fā)布程序哪怕完全沒(méi)有任何訂閱者消息照樣會(huì)往話題里發(fā)只是沒(méi)有接收方而已。這在調(diào)試時(shí)常常讓人困惑“為什么我的話題沒(méi)數(shù)據(jù)輸出”結(jié)果檢查發(fā)現(xiàn)話題確實(shí)在發(fā)只是沒(méi)人訂閱。3. rostopic工具實(shí)用指南終端里摸清話題的底細(xì)3.1 常用命令速查與場(chǎng)景對(duì)照rostopic工具是排查話題問(wèn)題最直接的手段。我平時(shí)調(diào)試新節(jié)點(diǎn)第一步永遠(yuǎn)是查看當(dāng)前系統(tǒng)里到底有哪些話題在活動(dòng)。先跑rostopic list看看全局再跑rostopic info 話題名看看某個(gè)話題的具體信息如果想知道數(shù)據(jù)內(nèi)容就用rostopic echo這個(gè)命令會(huì)持續(xù)打印消息內(nèi)容。我用一個(gè)表格整理常用rostopic子命令和對(duì)應(yīng)場(chǎng)景方便你快速索引命令功能典型使用場(chǎng)景rostopic list列出當(dāng)前所有活躍話題查看節(jié)點(diǎn)啟動(dòng)后到底有沒(méi)有創(chuàng)建預(yù)期話題rostopic info查看話題詳情類型、發(fā)布者和訂閱者數(shù)量確認(rèn)兩端是否已建立連接排查消息類型是否匹配rostopic echo打印話題里的實(shí)際消息內(nèi)容查看數(shù)據(jù)數(shù)值變化是否正常rostopic hz統(tǒng)計(jì)話題發(fā)布頻率驗(yàn)證發(fā)布頻率是否符合設(shè)計(jì)預(yù)期rostopic bw統(tǒng)計(jì)話題帶寬占用排查數(shù)據(jù)量是否異常偏大rostopic type輸出話題的消息類型快速獲取消息類型全名rostopic pub手動(dòng)向話題發(fā)布一條消息調(diào)試接收端程序免去等待真實(shí)發(fā)布者啟動(dòng)3.2 親手實(shí)戰(zhàn)用rostopic觀察機(jī)器人速度話題我們用一個(gè)真實(shí)存在的場(chǎng)景來(lái)演示。我這邊有個(gè)TurtleBot相關(guān)的基礎(chǔ)模擬環(huán)境打開終端啟動(dòng)模擬器后我執(zhí)行$ rostopic list /rosout /rosout_agg /turtle1/cmd_vel /turtle1/pose /turtle1/teleop_relative /turtle1/velocity_relative/turtle1/cmd_vel顯然是速度指令話題/turtle1/pose是位姿話題。此時(shí)我輸入rostopic info /turtle1/cmd_vel輸出會(huì)告訴我消息類型是geometry_msgs/Twist發(fā)布者有一個(gè)訂閱者數(shù)量取決于當(dāng)前有哪些節(jié)點(diǎn)在訂閱。然后我用rostopic echo /turtle1/pose就能看到類似這樣的連續(xù)輸出x: 5.544444561 y: 5.544444561 theta: 0.0000 linear_velocity: 2.0000 angular_velocity: 0.0000這個(gè)數(shù)據(jù)說(shuō)明了當(dāng)前的坐標(biāo)、朝向和速度信息。如果你在調(diào)試時(shí)數(shù)據(jù)紋絲不動(dòng)說(shuō)明沒(méi)有新的發(fā)布數(shù)據(jù)到達(dá)要么發(fā)布端卡住了要么話題名沒(méi)對(duì)上。3.3 實(shí)操心得rostopic echo最常見(jiàn)的坑用rostopic echo時(shí)要小心消息量。有些話題頻率很高比如IMU數(shù)據(jù)或點(diǎn)云數(shù)據(jù)一旦echo起來(lái)屏幕刷新速度極快甚至影響系統(tǒng)性能。我的做法是先用rostopic hz看發(fā)布頻率如果太高就只echo一次或者直接看rostopic hz的統(tǒng)計(jì)結(jié)果不要糾結(jié)具體數(shù)據(jù)值。實(shí)踐中我踩過(guò)另一個(gè)坑有時(shí)候rostopic list能看到話題但rostopic echo卻沒(méi)有任何輸出。這種情況通常是因?yàn)樵掝}有發(fā)布者但發(fā)布者還沒(méi)開始頻率發(fā)送或者消息頻率太低、間隔太久。你先確認(rèn)rostopic hz的輸出如果連它都顯示no new messages那就是真的沒(méi)有數(shù)據(jù)重點(diǎn)找發(fā)布端的bug如果hz正常但echo不輸出多半是終端緩沖區(qū)的問(wèn)題重新跑一個(gè)干凈的終端就正常了。提示rostopic pub配合-r參數(shù)可以指定發(fā)布頻率用于測(cè)試非常方便。比如我要模擬一個(gè)速度發(fā)布器可以執(zhí)行rostopic pub -r 10 /cmd_vel geometry_msgs/Twist {linear: {x: 1.0}, angular: {z: 0.5}}這句話表示以10Hz的頻率向/cmd_vel發(fā)布線速度1.0、角速度0.5的Twist消息。注意消息中間不能有多余空格否則bash會(huì)解析錯(cuò)誤。4. msg消息類型結(jié)構(gòu)從標(biāo)準(zhǔn)類型到自定義消息4.1 ROS標(biāo)準(zhǔn)消息類型一覽與選擇邏輯消息類型是ROS通信的“詞匯表”。標(biāo)準(zhǔn)消息類型由不同的功能包組織比如geometry_msgs負(fù)責(zé)幾何相關(guān)sensor_msgs負(fù)責(zé)傳感器數(shù)據(jù)std_msgs負(fù)責(zé)基礎(chǔ)數(shù)據(jù)類型。我在決定用哪種消息類型時(shí)會(huì)先問(wèn)自己一個(gè)問(wèn)題我要傳的數(shù)據(jù)本質(zhì)是什么是速度就用Twist是位姿就用Pose是圖像就用Image是文本就用String。初學(xué)者很容易一股腦用std_msgs/String傳一切其實(shí)不推薦。比如你要傳機(jī)器人位置用String拼字符串是能運(yùn)行但接收端要自己拆分字符串不僅麻煩而且容易出錯(cuò)。如果你用geometry_msgs/Pose里面直接就有x、y、z、朝向四元數(shù)誰(shuí)都看得懂還自動(dòng)配套了坐標(biāo)系消息頭。這就是選擇標(biāo)準(zhǔn)類型的意義語(yǔ)義清晰和現(xiàn)有工具鏈無(wú)縫對(duì)接。4.2 自定義msg文件編寫方法與package.xml配置當(dāng)標(biāo)準(zhǔn)消息類型不夠用的時(shí)候就需要自定義msg文件。我的經(jīng)驗(yàn)是三步走在功能包目錄下創(chuàng)建msg文件夾新建一個(gè).msg文件然后修改CMakeLists.txt和package.xml。假設(shè)我要定義一個(gè)自定義消息PersonInfo.msg內(nèi)容包含姓名、年齡和分?jǐn)?shù)string name uint8 age float32 scoremsg文件語(yǔ)法很直觀每行格式是“類型 字段名”。類型支持標(biāo)準(zhǔn)ROS基礎(chǔ)類型例如int32、float64、string也支持其他自定義消息類型但需要在CMakeLists里聲明依賴。接下來(lái)修改CMakeLists.txt找到原來(lái)注釋掉的add_message_files塊取消注釋并填入你的msg文件名add_message_files( FILES PersonInfo.msg )找到generate_messages塊確認(rèn)填入依賴包名generate_messages( DEPENDENCIES std_msgs )package.xml里要加這么兩行聲明消息生成依賴build_dependmessage_generation/build_depend exec_dependmessage_runtime/exec_depend然后回到工作空間根目錄執(zhí)行catkin_make或catkin build生成的消息頭文件會(huì)出現(xiàn)在devel/include文件夾里對(duì)應(yīng)的編程語(yǔ)言綁定代碼也會(huì)自動(dòng)生成。4.3 常見(jiàn)錯(cuò)誤解決catkin_make找不到自定義消息新手編譯自定義msg時(shí)遇到最多的問(wèn)題就是在其他包里include這個(gè)自定義消息頭文件結(jié)果編譯時(shí)報(bào)錯(cuò)找不到頭文件。這個(gè)問(wèn)題的根源是包間依賴沒(méi)有聲明好編譯器不知道去哪找這個(gè)頭文件。解決思路是在你要使用自定義消息的包的CMakeLists.txt里find_package中加上那個(gè)自定義包的名字同時(shí)package.xml里增加depend標(biāo)簽。比如說(shuō)我在包/demo_pkg里定義了一個(gè)PersonInfo.msg同時(shí)導(dǎo)出了一個(gè)庫(kù)demo_msgs另一個(gè)包要用它則那個(gè)包必須find_package(catkin REQUIRED COMPONENTS roscpp std_msgs demo_msgs )在代碼里include時(shí)要注意路徑C里應(yīng)該是這樣的#include demo_msgs/PersonInfo.h一旦編譯錯(cuò)誤提示找不到這個(gè)頭文件九成是上述依賴沒(méi)配置好或者catkin_make后忘了重新source環(huán)境變量文件。4.4 消息嵌套與復(fù)雜消息結(jié)構(gòu)經(jīng)驗(yàn)談自定義消息不一定只是基礎(chǔ)類型的堆疊ROS允許嵌套其他消息類型。比如我定義一個(gè)結(jié)構(gòu)Header header geometry_msgs/Pose pose float64 confidenceHeader是一個(gè)標(biāo)準(zhǔn)消息頭包含時(shí)間戳和坐標(biāo)系ID。加上之后接收端能拿到數(shù)據(jù)產(chǎn)生的時(shí)間與坐標(biāo)系信息這在多傳感器融合中非常關(guān)鍵。特別是在做SLAM或?qū)Ш綍r(shí)位姿消息基本必須帶Header不然拿到數(shù)據(jù)都不知道是什么時(shí)刻、在哪個(gè)坐標(biāo)系下測(cè)的。嵌套消息的編譯配置和普通自定義msg沒(méi)有本質(zhì)區(qū)別只是generate_messages(DEPENDENCIES ...)里的依賴要加上geometry_msgs。寫msg文件時(shí)每一行依然遵循“類型空格字段名”當(dāng)類型里包含斜杠時(shí)說(shuō)明是跨包的消息類型不能省略包名前綴。5. COM口速率參數(shù)換算Windows串口通信中的經(jīng)典困惑這個(gè)部分看起來(lái)和ROS無(wú)關(guān)但它是我在實(shí)際項(xiàng)目中頻繁遇到的問(wèn)題當(dāng)你在ROS中通過(guò)串口控制下位機(jī)單片機(jī)或電機(jī)驅(qū)動(dòng)板時(shí)串口的波特率設(shè)置必須和底層固件完全一致否則數(shù)據(jù)包解碼必然出錯(cuò)。5.1 波特率本質(zhì)每秒傳輸?shù)姆?hào)數(shù)波特率表示每秒傳輸?shù)男盘?hào)碼元數(shù)單位是baud。但很多時(shí)候我們直接把它等同于比特率這在二進(jìn)制調(diào)制下確實(shí)一致。比如我設(shè)置波特率115200意味著每秒通過(guò)串口傳輸115200個(gè)二進(jìn)制位。換算成字節(jié)大致是115200除以10起始位數(shù)據(jù)位8停止位1有校驗(yàn)位則為11約11520字節(jié)每秒。這個(gè)帶寬對(duì)普通傳感器數(shù)據(jù)足夠了。5.2 串口參數(shù)換算公式與實(shí)操示例拿一個(gè)我常用的9軸IMU模塊為例它輸出的數(shù)據(jù)幀結(jié)構(gòu)為幀頭2字節(jié)數(shù)據(jù)26字節(jié)校驗(yàn)位2字節(jié)總共30字節(jié)。我希望IMU以50Hz頻率向ROS發(fā)送數(shù)據(jù)那么妙算最低需要多少波特率呢50Hz乘以30字節(jié)等于1500字節(jié)每秒。按常規(guī)串口10位編碼方式比特率為1500乘10等于15000bps即至少需要15000波特率才能不丟數(shù)據(jù)。實(shí)際上為了穩(wěn)定我會(huì)選用更高的檔位比如38400或57600。這個(gè)換算過(guò)程公式是波特率 數(shù)據(jù)字節(jié)每秒 × 每個(gè)字節(jié)的位數(shù)每個(gè)字節(jié)的位數(shù)通常是101個(gè)起始位 8個(gè)數(shù)據(jù)位 1個(gè)停止位如果有校驗(yàn)位則加1。實(shí)際選型時(shí)留30%到50%的余量確保系統(tǒng)在峰值數(shù)據(jù)量時(shí)不會(huì)因緩沖區(qū)溢出而丟幀。5.3 串口調(diào)試經(jīng)驗(yàn)ros::serial與自定義驅(qū)動(dòng)節(jié)點(diǎn)在ROS中操作串口的方案有現(xiàn)成的serial功能包。我一般這樣初始化serial::Serial ser; ser.setPort(/dev/ttyUSB0); ser.setBaudrate(115200); serial::Timeout to serial::Timeout::simpleTimeout(100); ser.setTimeout(to); ser.open();open成功后通過(guò)ser.read()讀取字節(jié)流再按自定義協(xié)議解析出IMU加速度、角速度字段最后封裝成sensor_msgs::Imu消息發(fā)布到話題上。這一步的處理流程是先讀取原始字節(jié)解析出一個(gè)完整的幀再把幀里物理量換算成標(biāo)準(zhǔn)單位最后填充消息字段、打上時(shí)間戳并publish。遇到串口數(shù)據(jù)亂碼時(shí)不要急著看代碼邏輯先檢查幾個(gè)固定問(wèn)題波特率是否一致、串口設(shè)備號(hào)是否選對(duì)、數(shù)據(jù)幀長(zhǎng)度是否和代碼假設(shè)一致。我有一次花了兩個(gè)小時(shí)排查最后發(fā)現(xiàn)只是同時(shí)插了兩個(gè)USB轉(zhuǎn)串口適配器程序讀取的是錯(cuò)誤的/dev/ttyUSB1而不是/dev/ttyUSB0。提示在Linux下查看串口設(shè)備可以執(zhí)行l(wèi)s -l /dev/ttyUSB*或dmesg | grep ttyUSB確認(rèn)當(dāng)前插入的適配器被分配到了哪個(gè)設(shè)備節(jié)點(diǎn)。6. 典型調(diào)試場(chǎng)景復(fù)盤從話題數(shù)據(jù)流到節(jié)點(diǎn)運(yùn)行6.1 場(chǎng)景一明明發(fā)了消息訂閱端卻收不到這個(gè)場(chǎng)景我遇到過(guò)很多次。寫了一個(gè)發(fā)布/cmd_vel的遙控節(jié)點(diǎn)啟動(dòng)后控制小車但小車沒(méi)反應(yīng)。使用rostopic echo /cmd_vel查看控制指令確實(shí)在發(fā)那問(wèn)題就出在訂閱端。使用rostopic info /cmd_vel查看訂閱者數(shù)量結(jié)果是Subscriber: None說(shuō)明小車控制節(jié)點(diǎn)壓根沒(méi)有訂閱這個(gè)話題。再看小車控制節(jié)點(diǎn)的launch文件發(fā)現(xiàn)它訂閱的是/mobile_base/cmd_vel名稱都不一樣自然不會(huì)通。ROS的話題名匹配是嚴(yán)格的字符串精確匹配不存在模糊匹配機(jī)制所以“名稱一致”是最基礎(chǔ)的前提。這種問(wèn)題用rostopic工具一分鐘就能定位到很多新手卻喜歡反復(fù)改代碼重新編譯效率很低。6.2 場(chǎng)景二頻率異常波動(dòng)與發(fā)布節(jié)奏影響還有一種典型情況rostopic hz /scan顯示的激光雷達(dá)數(shù)據(jù)頻率忽高忽低從9Hz到11Hz來(lái)回跳。打開發(fā)布端日志發(fā)現(xiàn)是主機(jī)CPU占用過(guò)高導(dǎo)致發(fā)布線程被系統(tǒng)調(diào)度延誤。此時(shí)你需要優(yōu)化線程優(yōu)先級(jí)或降低其他節(jié)點(diǎn)的負(fù)荷。ROS話題通信的實(shí)時(shí)性受系統(tǒng)調(diào)度影響明顯實(shí)時(shí)性要求高的場(chǎng)景需要額外配置實(shí)時(shí)內(nèi)核或使用實(shí)時(shí)線程機(jī)制。從發(fā)布節(jié)奏角度說(shuō)如果你的發(fā)布者代碼里有一個(gè)耗時(shí)的循環(huán)比如發(fā)送數(shù)據(jù)前先做大量圖像處理后處理那么實(shí)際發(fā)布頻率會(huì)被拉的遠(yuǎn)低于設(shè)計(jì)值。建議單獨(dú)開辟一個(gè)發(fā)送線程專門處理數(shù)據(jù)發(fā)送不參與耗時(shí)計(jì)算。6.3 場(chǎng)景三消息類型匹配錯(cuò)誤引發(fā)的暗坑當(dāng)兩個(gè)節(jié)點(diǎn)使用同一話題名但消息類型不一致時(shí)ROS終端通常會(huì)打印錯(cuò)誤消息提示類型沖突。但有一種隱蔽的出錯(cuò)方式數(shù)字類型被錯(cuò)誤選擇導(dǎo)致數(shù)值范圍不夠。例如我用int8存儲(chǔ)一個(gè)角度值0到180超過(guò)了int8能表達(dá)的范圍-128到127消息被截?cái)嗷蛞绯鼋邮斩四玫絹y碼。遇到這類問(wèn)題先用rostopic type 話題名確認(rèn)類型再對(duì)比代碼里賦值時(shí)變量的真實(shí)類型。工具不會(huì)騙你它顯示什么類型就是實(shí)際傳輸用的類型。寫代碼時(shí)盡量用float32或float64除非你明確知道數(shù)據(jù)范圍很小且無(wú)需小數(shù)。7. 常見(jiàn)問(wèn)題速查表一表解決大部分話題調(diào)試?yán)_我把這些年經(jīng)常碰到的話題、消息、rostopic工具相關(guān)問(wèn)題整理成了速查表你可以直接把它貼在工位旁邊排查問(wèn)題時(shí)對(duì)照著看現(xiàn)象可能原因排查方法rostopic list看不到預(yù)期話題發(fā)布節(jié)點(diǎn)沒(méi)啟動(dòng)或者崩潰檢查節(jié)點(diǎn)進(jìn)程是否存活源碼中advertise是否真正被執(zhí)行話題存在但無(wú)數(shù)據(jù)發(fā)布者發(fā)送頻率太低或發(fā)送邏輯處于條件分支中使用rostopic hz確認(rèn)實(shí)際頻率在代碼中臨時(shí)加日志輸出消息類型不匹配發(fā)布端和訂閱端使用了不同msg類型rostopic info 話題名查看兩端信息比對(duì)完整類型全名echo數(shù)據(jù)頻繁刷新卡屏發(fā)布頻率高且消息量大改用rostopic hz或rostopic bw統(tǒng)計(jì)信息避免實(shí)時(shí)echo大流量話題自定義msg編譯失敗缺少依賴聲明或msg文件夾路徑不對(duì)檢查msg文件位置、CMakeLists配置、package.xml聲明串口亂碼波特率不匹配、數(shù)據(jù)位/停止位設(shè)置不對(duì)確認(rèn)下位機(jī)參數(shù)先用串口助手發(fā)固定字節(jié)做回環(huán)測(cè)試訂閱回調(diào)不執(zhí)行話題沒(méi)有觸發(fā)消息或回調(diào)函數(shù)本身有阻塞操作確認(rèn)消息有發(fā)布回調(diào)里輸出日志避免回調(diào)內(nèi)做耗時(shí)大計(jì)算發(fā)布頻率遠(yuǎn)低于預(yù)期發(fā)布循環(huán)里有耗時(shí)操作將發(fā)布邏輯從重計(jì)算中分離單獨(dú)線程發(fā)送注意以上排查手段都基于ROS 1的roscore環(huán)境。如果你用的是ROS 2很多命令格式有變化比如rostopic list變成了ros2 topic listrostopic echo變成了ros2 topic echo但思路完全一致——先看話題列表再看內(nèi)容再查頻率。8. 一步到位從一個(gè)msg文件到完整的發(fā)布訂閱Demo最后我還是想帶你動(dòng)手寫一個(gè)完整的示例把之前講的東西串起來(lái)。這個(gè)例子我常用來(lái)帶新人入門十分鐘能跑通然后你就理解了話題通信全流程。先建一個(gè)功能包c(diǎn)atkin_create_pkg demo_ros roscpp std_msgs geometry_msgs自定義消息放到demo_ros/msg/PersonInfo.msgstring name uint8 age float64 score然后修改CMakeLists.txt加入add_message_files(FILES PersonInfo.msg) generate_messages(DEPENDENCIES std_msgs)新建src/publisher.cpp#include ros/ros.h #include demo_ros/PersonInfo.h int main(int argc, char** argv) { ros::init(argc, argv, person_info_publisher); ros::NodeHandle nh; ros::Publisher pub nh.advertisedemo_ros::PersonInfo(/person_info, 10); ros::Rate rate(1.0); int count 0; while (ros::ok()) { demo_ros::PersonInfo msg; msg.name developer; msg.age 25 count; msg.score 88.5; pub.publish(msg); count; rate.sleep(); } return 0; }新建src/subscriber.cpp#include ros/ros.h #include demo_ros/PersonInfo.h void personInfoCallback(const demo_ros::PersonInfo::ConstPtr msg) { ROS_INFO(Received name: [%s], age: [%d], score: [%.2f], msg-name.c_str(), msg-age, msg-score); } int main(int argc, char** argv) { ros::init(argc, argv, person_info_subscriber); ros::NodeHandle nh; ros::Subscriber sub nh.subscribe(/person_info, 10, personInfoCallback); ros::spin(); return 0; }修改CMakeLists.txt可執(zhí)行文件部分add_executable(person_info_publisher src/publisher.cpp) target_link_libraries(person_info_publisher ${catkin_LIBRARIES}) add_dependencies(person_info_publisher demo_ros_generate_messages_cpp) add_executable(person_info_subscriber src/subscriber.cpp) target_link_libraries(person_info_subscriber ${catkin_LIBRARIES}) add_dependencies(person_info_subscriber demo_ros_generate_messages_cpp)然后編譯、source環(huán)境變量先運(yùn)行roscore再運(yùn)行發(fā)布和訂閱兩個(gè)節(jié)點(diǎn)。用rostopic echo /person_info你就能看到消息內(nèi)容用rostopic info /person_info能看到類型和訂閱者數(shù)量。此時(shí)再回頭看整個(gè)通信鏈路會(huì)發(fā)現(xiàn)思路清晰很多。提示add_dependencies這一行是新手最容易漏掉的。沒(méi)有它自定義消息的頭文件可能還沒(méi)生成就被編譯器拿過(guò)去include導(dǎo)致編譯失敗。專門記一下這個(gè)坑。我做ROS項(xiàng)目這些年最大的體會(huì)是話題通信看著簡(jiǎn)單真正熟練掌握需要你對(duì)工具使用足夠熟練。rostopic工具不是擺設(shè)在調(diào)試時(shí)能節(jié)省大量時(shí)間msg類型選對(duì)了代碼邏輯清晰團(tuán)隊(duì)協(xié)作也順暢。希望這篇內(nèi)容把你帶進(jìn)ROS的大門讓你在遇到問(wèn)題時(shí)不再無(wú)從下手而是打開終端用幾個(gè)命令就能鎖定方向。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色鬼在线综合| 情侣开房子拍 日韩无码 女的很漂亮| 久久久久久久久久久999| 亚洲高清无毛一区二区| 丝袜亚洲91| www.伪伪| 亚洲欧美在线丝袜| 激情终合网| 人妻精品视频一区二区| 欧美一区二区三区入口| 伊人天天久久动态图| 国产黄a三级三级三级av在线看| 2024年最新色情网站在线观看| 四虎免费看黄| 无套内射性感少妇视频| 视频一区二区三区精品| 精品十八在线观看| 青娱乐手机日韩在线视频| 日本综合久久| 在线观看中文av字幕| 麻豆三极片| 色网1| 91一区二区| 国语国产操逼伊人AV网| 青青青国产手线观看视频2| 欧美第二页午夜| 人人色人人射人人妻| 乱伦日本色图AⅤ| 91久久久亚洲| 另类欧美综合| 欧美成97爱| 精品视频久久区| 黄色二级片网站| 婷婷综合网站| 人人人人插| 熟女丰满人妻一区| 大JI巴好深好爽又大又粗视频| 婷婷色导航| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 久久综合97| 少妇色综合| 久久久久久久九九九九九九| 国产一级久久久| 亚洲另类综合欧美| 免费AV播放| 久久性爱网站| 国产51色综合久久免费| 亚洲AV无码AV吞精久久久久 | 探花激情视频| 六六久久日韩不卡| 国产欧美一区二区| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 色色色色电影网| 91免费看一区二区三区| 欧美性爱日韩高清| 色爱国产| 开心激情婷婷| 能看的AV| 美女露胸露屁股| oumeisetu综合| 日韩欧美视频青青| 九九在线精品| 手机不卡视频不卡在线一二三区| 三级片大波波| 亚洲人91| 青青草公开在线免费不卡视频| 黄页网站成人免费| 97超碰色情| 水多多映视AV| 日日插夜夜| 91干熟女| 国产成人亚洲精品自产在线| 蜜臀久久久久久999| 日韩精品区二区三区不卡| 欧美 亚洲 制服 精品| AV天天在线观看| 天综合中文| 97中文天堂| 欧美亚洲影视| 97中文字幕一区| 亚洲国产福利视频| 亚洲国产成人7777| 97九色人妻| 婷婷五月综合在线| 久久亚洲不卡一区二区三区 | 国产精品色片一区二区| 蜜臀久久99精品久久综合| 国产一级137片内射麻豆| 欧美91在线+|+欧美| 老司机老司机午夜影院| 国产强奸无码乱伦| 久久成人东京热人妻| 淫色网综合| 97欧美性爱| 久久久久九九九| 久久高清无码夜夜操| 玖色AV| 欧美系列在线一区二区| 日本孕妇一区二区视频操逼免费看 | 强奸xx国产| 操婢日韩| www久久国产精品| 60秒免费视频| 欧美日韩午夜精品一区二区三区| 国内成人圈中文字幕无码视频| 久久精品一区二区三区不卡| 人人干人人操人人..com| 九九色综合| 天天色悠悠激情| 中文字幕综合人妻| 人妻少妇精品一区二区三区| 色欧洲97| 一区二区三区美女超清| 伊人久久88国产女| 欧美亚洲图片| 天天享受天天看| 天天综合精品| 国产人伦a片信息免费片| 亚洲中字幕日本一区二区三区| 九t超碰| 嫩草 我啊~嗯~在线| 9超碰免费| 内射日韩大臀美女| 日韩啪啪啪啪啪| 激情综合网五月婷婷五月天| 日韩av乱伦| 久久激情亚洲精品无码?V| 亚洲一区中文精品| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 国产极品粉嫩馒头一线天av| 天天综合网网欲色| 91国模| 久久久久久十| 日本欧美国内在线| 国产超碰97| 精品性爱久久视频| yellow网站免费观看日韩高清无码| 亚洲AV无码| 99久久久无码国产精品性啊聊| 日日干日日| 综合熟妇一区二区三区| 免费a在线播放v| 天堂伊人久久| 欧美久久伊人| 舔人妻中文免费视频| 韩国一级做A片免费的| 欧美猛交黑寡妇中文字幕| 囯产精品久久久久久久久久梁医生| 无码又爽又硬又激情免费视频| 超碰9 7女人| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 久久久精| 日本色婷婷| 久久久久国产精品久久久| 大香蕉亚洲中文| 精品无码人妻一区二区免费蜜桃| 超碰碰97| 97视频在线视频| 九九九九免费视频| av天堂加勒比| 91欧美在线| 一级一性爱免费视频| 精品久久久av无码免费| 精品无码不卡视频| 色五月婷婷色| 蜜桃视频一区二区三区在线观看| 男人的天堂日本东京热| 羞答答AV中文字| 91九色丨风韵犹存| 国产女人高潮嗷嗷嗷叫小说| 欧美日韩 强奸乱伦| 国产亚洲综合欧美一区| 91精品人妻一区二区三区蜜桃臀| 啊啊啊啊啊啊啊好爽不要| 天天操天天谢| 97综合国产| 一级性爱视频免费在线| 久久98| 日本青青草在线| 亚洲永久AV无码精品秋霞| 亚洲性猛| 69精品| 粉嫩av久久一区二区三区| 爆操无码| 青苹果影院男人的天堂| 天天碰久久入| 国产一区二区三区免费视频在性观看| 搡老熟女老女人老熟妇免费视频| 91大神电影天堂| 夜夜爽爽夜夜精品视频| 狠狠超| 久久av一级av少妇av高潮| 图片区小说区| 激情欧美日韩女同久久| 91久久国产精品| 我要去看2个日本美女.com曹逼 | www.AV有限公司一区| 亚洲一区二区精品福利| 91东京热男人的天堂| 妺妺跟我一起洗澡没忍住| 97色在线观看| 久久久四区| 国产成人亚洲精品无码古代早漏男| 日韩成人性日韩成人性爱视频在线免费观看 | 東南亚性呦成人伦理资源在线视频| 97天天综合网| 人妻密肉在线观看| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 超碰人人干| 亚洲一区在线观看欧洲| 思思热一热婷婷热一热| 奇米四色影视777久久久| 日本不卡一二区| 伊蕉97蜜桃97狠狠综合干 | 99精品九九九九九九| 在线a v| 欧美福利视频啊啊啊啊| 国产精品不卡一区二区电影| 伊人天天久久动态图| 91久久伊人婷婷青青草| 亚洲精品97p| 日韩精品亚洲一二三| 久久超碰97中文字幕| 97精品国产97久久久| 婷婷五月天网| 日本在线不卡123| 国产成人网址| 天天天乱色综合全| 欧美在线大香蕉| 躁躁日曰躁2020| 色欲人妻一区二区在线| 日韩人妻丝袜美腿中文| 亚洲AV不卡在线观看| 免费国产| 亚洲综合在线91| 96麻豆精品一区二区三区| 亚洲资源一区| 亚洲一卡二卡在线免费| 久久性爱网站| 好一吊区二区| 麻豆人妻偷人精品无码视频| 人妻激情另类| 亚洲av总站| 情色AV电影| 2019天天操天天爽天天拍| 开心六月色| 欧美激情久| 啊啊啊啊啊好舒服视频| 精品人妻一区二区三区不卡断| 成人性生活高清视频在线播放| 伊人操| 国产福利电影| 久久九九国产精品| 久久侵犯人妻爽爽爽| 久久只有精品一区二区三区| 一区二区三区男人的天堂| 亚洲欧美清纯| 国产毛片片精品天天看视频| 国产精品亚洲天堂网址| 久操精品网| 青青爽| 久久夜夜夜| 亚洲天堂久| 97国产人人| 一起草日韩| 国产亚洲综合欧美一区| 国产情色第一第二页在线观看| 青青青草原| 欧州91高潮| 国产51色综合久久免费| 天天综合~91入口| 久久一区二区高清免费| 99色在线| 在线五区| 国产理论视频在线播放| 91人妻视频在线| 亚洲97网站| 成年人黄色视频免费| av天堂手机版追回 | 亭亭在线资源| 国产福利在线视频网站| 蜜桃臀 后入 一区 二区 三区 在线| 啊啊啊好大好湿| 亚洲高清综合网| 国产精品亚洲天堂网址| 欧美性暴力猛交XXXX| 久久精品视频一区三区小泽玛利亚| 久久久日本电影| 探花一区在线| 1024手机看片欧美日韩| 伦激情人妻另类人妻| 99婷婷| 超碰69| 成人免费在线网站| 走光一区92下载| 加勒比伊人综合| 日韩免费高清大片在线| 欧美色图片91| 欧洲一区二区三区四区在线观看| 亚洲AV免费在线观看| 亚洲在钱| 看一级黄色视频| 人妻黑丝袜电影| AV一区观看| 97激情97激情| 欧洲性爱无码区| 国产午夜福利专区综合| 亚洲av综合伊人久久| 校园春色五月天| 色老汉色| 亚洲午夜AV| 国产精品对白内射| 国产精品亚洲无码| 久草老司机| 免费操逼视频下载| 婷婷探花久久精品一区| 国产伦精品一区二区三区在线观 | 亚洲AV无码久久精品蜜桃小说| 日韩免费簧片| 动漫片子网站3黄| 欧美激情视频在线一区| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 爱我干综合| 超碰97人人乐| 亚洲.欧美.丝袜.中文.综合| 91色综合| 成人久久精品| 亚洲精品一区二区三区在线播放| 少妇精品久久久八区九区| AV乱伦专区| 97色诱| 九九综合久久中文字幕| 九9热伊人| 欧美黄色大香蕉一区二区| 青青草导航在线视频| 婷婷色综合| 日韩在线观看AV| 亚洲色人妻综合| 久久久久久久强迫| 秋霞福利网| 可以看的av| 91精品国产91综合久久蜜臀| 91丝袜美腿片| 91粉芽高清在线一区二区| 久久狠狠色噜噜狠狠狠狠97| 精品中文日韩字幕视频| 五月丁香狠狠爱| 青青青国产| 视频一区二区三区精品| 亚州,欧美在线| 久久伊人网视频一区二区三区| 天天谢天天干| 深爱伊人影院| 色 亚洲 91| AA丁香综合激情| 小视频国产| 国产深喉| 91国产美女丝袜足交精品视频 | 99rre在线精品99re8| 免費人妻夜夜爽天天爽爽一区| 精品国产人成在线| 黑白配性爱AV成| 操人妻逼91| 99热免费| 国产中文字幕曰本毛片| AV和黑人在线播放| 亚洲国产精品无码AV久久| 日欧毛片久久| 国产白嫩精品久久| 骚逼高潮久久精品| 亚洲AV成人无码久久精品播放| yw尤物av无码点击进入麻豆| 欧美 亚洲精品首页| 色情亚洲日本成人| 色老汉玖玖爱| 97久久超碰| 国产亚洲精品美女久久久久久2021| 少妇的嫩逼图片| 日韩综合97P| 中文字幕在线观看第二页| 日本久久网| 无码久久亚洲高清,| 在线不欧美| 伊人欧美大香蕉视频| 久久熟女久| 性欧美天天| 91N欧美| 日本淫乱女一区二区三区视频| 五月丁香社区婷婷日韩欧美精品影院 | 一区二区视频你懂的| 激情图片伦理国产一区二区日韩| 啊啊啊操一区| 夂久色| 国产高清精品福利| h无码动漫在线观看| 大屁股人妻女教师撅着屁股| 亚洲无线码欧洲精品区别| 国产肏逼网站| 国产精品午夜福利亚洲综合网| 亚洲伊人成综合成人网| 色吧 综合| 精品欧美不卡在线播放| a级免费在线观看| 一区二区三区国产在线播放| 在线播放成人高清免费视频 | 久久激情五月| 亚洲一区日韩| 91综合在线| 日韩无码第3页| 日比av无码| 91色婷婷综合久久中文字幕二区| 久久风骚城市| 少妇一区二区三区| 亚洲一区日韩精品中文字幕| 亚洲制服aⅴ中文字幕| 久久直播国产| 99热网站| 东北老女人的激情视频| 青青伊人加勒比海| 91熟女在线| 无码久久亚洲高清,| 美国黄片aaa| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 亚洲另类电影| 日本久久久久久久久| 天天综合网国产| 色天使大香蕉| 精品女同一区| 亚洲一区中文精品| 国产 v乱码一区二| 亚洲男人天堂2019| 色色婷婷五月| 亚州高清色综合| 欧美综色欧| 人妻丰满熟妇av无码区蜜桃| 啪啪性爱免费视频| 日本一级性爱| 久久超碰、| 极品粉嫩少妇视频| 777超碰| 大香蕉啪啪啪啪在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | av2014 日韩在线中文字幕| 中文字幕一二三av| 色综合V| 日韩欧美亚洲一区二区三区影院| 丁香五月天婷婷姐| 骚鸭AV| 亚洲欧洲中文日韩女优乱码| 久久综合九九| 91欧美综合在线| 久久91| 大香蕉免费乱伦视频| yirendaxiangjiashipin| 中文字幕一区二区三四五区日日骚| 久偷拍欧美日韩三区| 蜜桃久久一区二区| 97福利视频| 久久久九九九九| 日躁天天爽爽| 婷婷99| AV色五月天| 97在线免费看视频| 一级一性爱免费视频| 狠狠色综合网| 成人AV在线网站| caoni国产亚洲av| 欧美亚洲一区二区久久久婷精品大包诱| 国产精品一区二区麻豆| 成人性爱视频在线看| 91丝袜美女| 亚洲色图综合| 日本免费不卡二区| 91亚洲人| 激情五月天综合网| 欧美亚洲激情一二三| 国产婷婷综合在线观看| 久久熟女人| 亚洲日韩国产精品| 无码免费一区二区三区啪啪| 99热欧美| 一本道综合色图| aV中文麻| 欧美亚州手机在线| 亚洲一区二区三区婷婷| 9999久久久久| 亚洲天天更新| 国产suv精品一区二区四区999| 欧美 亚洲 在线| 欧美色五月| 一区二区视频在看| 国产成人资源| 无码不卡亚洲成?人片| 东北夫妻性偷拍| 91社区伊人| 一个人在线看的黄色电影网站| 大香蕉欧美| 人妻精品综合中文字幕在线| 麻豆国产精品午夜视频| 嗯啊不要啊在线 | 日韩中文字幕在线视频观看| 亚州欧美总和| 可以看的av| а√天堂资源官网在线资源| 精品网站99999| 欧美性爱中文字幕无线码| 97超碰影音| 一级免费啪啪片| 九九九免费视频| 中文字幕日韩人妻视频一区二区三区交换夫妻 | 欧亚日韩综合精品国产| 亚洲欧美精品一区天堂久久 | 亚洲国产精品无码AV久久| 密臀在线免费观看| 日韩丝袜二区| 亚洲国产一级黄色视频| 天天操熟妇| 麻豆视频test| 中国国国产一级特黄毛片| 91熟女在线| 一本一首道人妻少妇免费久久| 偷看洗澡一二三区美女| 久久久一区二区三区四区五区| 日本蜜桃| 国产熟女少妇一区| 色官网在线| 国产亚洲精品一区二区三区| 日韩精品 欧美激情| 久久超碰免费的| 日韩啪啪网| 97在线精品观看视频| 国产精品农村妇女| 色臀aV| 97亚洲一区| 国产精品久久久久av| 亚洲欧洲综合av在线| 九九热男人天堂| 午夜无码精品免费看性色| 不卡日本一区二区| 国产熟女自拍| 极品五月天噜噜| 国产亚洲福利第一页丝袜| 国产97在线播放| 亚洲欧洲无码一区夜| 尤物av网站| 六九九九| 久久九九网| 美国aaaaa一级黄片| 黄片视频观看| 欧美日本成人一区二区| 国产精品一区二区三区免费视频| 日韩毛片9| 色综合超碰超| 少妇无码av专区线| 欧美草草高清日韩视频| 91国精产品| 大香蕉国产中文自拍| 欧美做爰无码A片视频| 午夜福利在线合集| 欧美牲| 亚洲se电影| 国产农村妇女精品1区二区| 精品成人久久久人人亚洲| 色999人与兽| 超碰人人妻| www.久久爱| 天天干天天操天天干天天操| 嫩草影院永久在线制服丝袜| 99∨VTV| 色99色| 黄色高清久久无码依人| 日韩偷拍色图| 九九九久千久久激情蜜桃在线看| 95自拍视频在线观看| 大香蕉中文aV在线| 18岁禁 茉莉成人久久| 日B操| 自拍偷拍国产欧美日韩韩| 亚洲天堂在线怕怕视频| AAAAAAAAA黄片| 美女写真| 丁香九月激情| 欧美亚洲第1页| 中文字幕日韩精品一区二区三区| 免费人人搞97| 女人天堂网| 97国产精品一区| 久久精品—区二区三区内射| 国模私拍一区二区三区神乳| 人人操人人摸人人看人人插| 午夜AV人气不卡| 欧美综合区| 日韩熟妇二区| 日本天天吊| 伊人网在线视频| 97欧美色| 国产亚洲精品精AV.| 日韩亚洲国产视频| 成人AV在线电影| 97人人爱人人做人人乐| 热热色色综合| 五十路三区在线| 999亚洲国产视频| 婷婷精品视频| 后入式在线免费观看60秒| 亚洲文学偷乱拍啪啪啪啪| 成人性交免费视屏| 三级AV入口| 日日夜夜精品| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 成人精品在线免费视频| 国产高清免费不卡av| 色婷婷综合网| 久久最新视频免费观看| 91国产丝袜白虎| 男女性感激情网站| 欧美婷婷| 1204金沙人妻懂旧版免费| 97国产|免费| 人人操人人操人人人操| 人人操人人大香蕉| 黄色不卡视频| 少妇无码999| 日韩精品视频在线观看一卡二卡| caopeng97| 中文字幕诱惑制服人妻丝袜美丝袜美| 国产老女人久久毛| 乱伦熟女区| 伊人丝袜美腿高跟在线观看高清| 欧美牲| 99日精品欧美国产| 操逼无毒无码免费视频| 精品人妻免费观看| 色五月丁香五月| 97欧美久久久久久久| 青青操网| 四月丁香婷婷| 又粗又长又大国产不卡| 免費黃色視頻觀看一| wuyechaopeng| 操操操日本的逼| 亚洲国产综合久久久性感熟妇| 老熟女综合| 秋霞一级视频在线观看免费| 91欧美长吊| 十八禁啪啪视频| 天天插天天射| 奶水 人妻 哺乳 在线| 国语精品内射在线观看| 性色国产东北露脸精品视频| 国产精品ⅴ无码大片在线看.| 六六久久日韩不卡| 亚洲男人天堂手机版| 波多野结衣被操50分钟免费视频 | 中文字幕欧美丝袜07资源| 久久一区二区三区入口| 欧美青青草视频| 国产亚洲精品第一最新| 久久熟女久| 欧美大香蕉同搞| 日本精品九九九| 国产AV激情无码久久无码| 男人的天堂无码| www黄片免费看com| 亚洲天天精品| 丁香五月激情综合| 欧美翘臀视频网站一区二区三区| 欧美超碰9798| 狠狠操狠狠操操| 1024亚洲中文字幕久在线看片你懂的| 欧美日本成人一区二区| av在线人气| 免费在线看黄片av| 亚洲在高跟鞋自慰久久在色线| 日本十八禁免费看污网站| 五月天亚洲网| 120分钟婬片免费看| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 97超碰无码网| 久草网站免费在线观看| av天堂精品久久| 亚洲丝袜二区在线| 欧美日韩国产中文超碰| 国产精品成久久久久午夜午夜| 久久久久久中文版| 久久久成人国产精品无码| 亚洲日韩97| 欧美久久草熟女| 中文字幕乱码人妻二区三区| 男人天堂毛片| 日本天天人人狠狠在线日美女 | 青青11操操操操操操操操| 人妻9117c| 日韩欧美麻豆 | 日韩中文字幕精品一二三事国产精品| 五月婷在线| 激情五月综合开心五月| 丰满翘臀美女影院视频| 操我无码| 97在线免费观看视频| 日韩一级二级三级免费看完整版国语版| 国产精品激情久久久久久久| 超碰在线免费一区二区三区| 国产白领连续中出在线播放| 日本高清久久| 中文字幕一区二区韩| 九九热av| 日韩精品影视| 麻豆国产第一| 亚洲 综合 欧美| 8050无码八戒| 欧洲综合无码| av日韩中文字幕| 中文字幕女同在线| 夜夜肏2021| 日本中文字幕在线视频| 精品国产一区二区三区在线播出| 97在线欧| 熟女网站最新| 国产伦精品免编号公布| 久久五月天婷婷| 国产女人与拘做受视频免费| 国产女同在线观看视频| 91丝袜人妻| 龙兴卡官方查询| 欧美亚洲日韩16色| 99热色这里只有精品| 三级三级三级日本99| 青娱乐久久艹| 日韩综合成人免费视频| 久久久久久久97| 五月天婷婷社区| 欧美熟女逼久久久久久| 丝袜综合| 蜜桃不卡一区二区| 少妇免费视频| 欧美天天插| 91强热人妻| 欧亚乱色熟女一区二区| 九九精品无码专区免费| 国产亚洲日韩欧| 免费精品无码一级毛片牛牛影视 | 久九色| 啊啊啊啊无码| 67914在线兔费成人视频| 9ⅰ久久久天天| 91激情综合| 无码精品啪啪啪一区二区三区三州| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 91天堂丝袜美腿| 亚洲色图片区| 五月天婷婷社区| 日韩情色一区二区| 黄页av| 秋霞怕怕片| 欧美 精品国产制服第一页| 国产97av| 成人怡红院| 男人的天堂2018| se吧提供91精品国产91久久久久久| 蜜桃狠狠色伊人亚洲综合网站| 精品视频一区二区| 精品无码欧美三级| 国产精品久久aV| 乱抡国产91| 久久国产性爱| 97香蕉碰碰人妻国产欧美| 婷婷在线精品| 亚洲精品97在线| 色狠人在线99| 日日爽熟女| 日本二三四区| 国产麻豆91欧美一区二区久久婷婷国产精品| 国产尤物在线三区| 91黄射| 亚州性色| site:sinbotex.com| 操逼日批| 99性视频| 亚洲精品丝袜| 东京热熟女亚洲视频网站| 国产精品一二三| 成人性交午夜免费片| 日韩免费看在线黄色片| 一区二区三区免费岛国片| 男人兔费天堂| 人妻精品一区二区全免费| 综合色久欲| 91亚洲人| 国产亚洲深夜激情| 性爱乱伦一区| 偷拍欧美综合| 天堂av最新电影网| 精品一区二区三区丰满熟女-亚洲欧美一区 | 丝袜熟女一区二区三区| 国产蜜臀精品一区免费尤物| 天天澡天天爽日日av| 另类欧美色| 不卡一区二区日本视频| 综合网色| 久久精品男人的天堂| 中文视频在线观看| 午夜男女爽爽爽在线视频 | 97超碰欧美中文字幕| 黄色电影在线播放综合网站 | 色臀aV| 午夜性生活av免费在线看| 围产精品一区二区三区视频播放| 大伊香蕉在线视频免费| 超碰538| 国产综合久久久麻桃个| 国产 三级自拍| 欧美狠狠操| 97超碰精品| 色999五月色| 欧美 熟女 日韩| 日本精品五区| 青青草天天亲夜夜操网| 加勒比伊人影院| 啪啪综合网| 国产精品一二三免费网站| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 99无码狠狠久久| 日本一级性爱| 亚洲少妇激情视频| 欧美日韩啪啪电影| 欧美嗯啊……在线观看视频免费| 97超碰大| 亚欧国产无码精品在线| 久久视频,这里只有精品| A一区片| 欧美狠狠弄| 国产精品美女| 大鸡吧尹人在线| 精品欧美乱码久| 国产丝袜视频| 日韩无码第3页| 久久久久亚洲AV无码专区少妇| 久插不卡| 日本成人免费一区二区三区| 超硑97精品| 日本伦乱九九九综合| 97硬碰| 91精品人妻偷情| 欧亚第一综合网| 日韩在线地址一| 好看的久久不射无码影视影院| 日韩激情电影中文字幕| 久久久久久久久久久久黄色| 欧美人与动性人交a| 中文字幕88av在线| 人妻二区| 亚洲综合 欧美| 乱伦3P视频| 久久精品高清无码一区| 天天日天天搞天天干| 97久久久精品| 综合欧美激情网| 欧洲色综合| 天天日天天色| 乱人乱色一区二区三区免费 | 国产传媒美日韩av| 18禁中文字幕| 亚洲综合夜色| 丁香五月天堂| 97精品免费视频网站| 婷婷五月天久久精品视频一区二区三区| 欧美人妻少妇| 蜜桃色院一区久久| 亚洲 欧美 手机在线观看| 一本色道久久综合精品婷婷| 日韩精品一二三四| 啪啪视频亚洲第一| 天天超级碰碰碰| 麻豆人妻精品一区二区| 一区二区三区国产在线播放| 96国产污污污丝袜| 强免费黄色网址| 日本国产欧美一区三区二区| 熟女AV一区| 中文字幕成人| 亚洲精品一二牛牛| 综合色久欲| 97久精品| 久久久 国产精品| 欧美日韩另类激情图片| 老女人碰碰在线碰碰视频| 日欧操屄视频| 熟女乱伦A| 大香蕉中文201| 欧美乱妇狂野欧美在线视频| 99性视频| 中文字幕一区电影在线观看| 天堂成人网| 中国熟女91| 97蜜桃综合| 欧美色五月| 免费人成在线观看网站品爱网| 成人性交午夜免费片| 日韩乱码Av| 可以在线观看AV的网站| 欧美精品黑人猛交高潮| 久草婷婷| 色性综合| 99自拍视频在线| 日本三级A片网站com| 亚洲欧美综合| 蜜桃臀一区二区三区久久| 日日天天久久啊啊aaa| 日本精品第一视频在'| 狠狠色伊人亚洲综合网站色| 97超碰9| 999九九精品| 抽插爽| 人人摸人人干| 久久人人看| 国产精品无码av嫩草| 国内毛片欧美香蕉精品| 蜜臀Av一区二区三区| 啊啊啊啊啊啊啊网址在线观看| 国内精品999| 丁香五月婷婷基地| 日本色色色色色视频| 国产成人无码啪| 国产精品国产精品国产| 色综合大香蕉| 久久精品电影| 啊啊啊久久久视频| 四虎AV影视国产精品亚洲精品| 精品一区二区三区最新| 日本中文字幕在线电影| 国产亚洲精品玖玖玖在线观看| 神马久久久久久伦理片| 日韩强奸av| 国产狂喷潮在线精品| 五十路熟女人妻一区二区在线观看| 久久国产精品一区二区| 91亚洲狠狠色| 东北老熟女| 天堂精品一区| 一卡二卡在线播放| 日韩精品一区,二区 九九...老司机| 蜜臀亚洲综合一二三四区| 91av天美性媒精品视频| 男人 天堂 日 亚洲| 色诱中文字幕| 97伪v| 91挑色欧美| 少妇人妻激情四射| 日本日日色视频| 超碰98综合网| 青青草导航在线视频| 亚洲骚男同com| 人人妻人人爽| 久久久9999| 18禁无码永久免费无限制| 日韩有码 一区二区三区| 人人看人人插| 久久青青草原免费视频| 午夜精品久久久久久久99蜜桃一| 亚洲国产成人精品无码专区| 成人短视频在线观看| 久久激情视频| 夜夜操av亚洲一区二区| 91xingse| 国产精品久久久久久久久久久久久久久久久久 | 青青草自拍视频在线播放| 吉田爱美AV在线| 欧美97在线观看| 人妻人久久精品中文字幕| 不卡六六在线91| 抽插亚洲无码| 久久久一区二区三区三州| 久久国产性爱| 伊人久久88国产女| 国产天天骚| 激情久久日韩精品中文字幕麻豆| 国产自偷| 成人免费视瓶| 熟女色综合久久| 99国内精品| 无码九九九九| 熟妇色99| 亚洲精品国产熟女久久久久久| 激情啪啪拍91| 天天操夜夜操| 91网18| laoshunv91| 亚州黄站| 乱伦一二三区| 久久精品中文字幕观看| 日本福利二区视频| 午夜精品久久久久久久男人的天堂| 99自拍B亚洲| 亚洲人人夜夜澡人人爽| 麻豆精品.欧美精品.日韩精品.| 国产精品白丝在线播放| 国产极品精品美女视频| 色五月激情综合网| 黄污污污污| 欧洲Au麻豆| 一区二区视频在看| 乱伦AVxx| 成人影 天天操 亚洲| 亚洲综合有码| 強姦亂倫a| 老色69| 欧美自拍网| 三级激情网站| 超碰 另类 欧美 | www超碰| 男人的天堂VA在线| 婷婷操视频| 久久久婷婷婷| 999久久芭蕾| 97人人操人人摸人人爱| 欧洲综合视频| 亚洲成人贴图| 影音先锋国产精品| 日韩精品系列| 岛国黄色短视频| 天堂日本亚洲欧美| 亚洲图片欧美| 免費黃色視頻觀看一| 日韩欧美蜜桃精品久久中文字幕久久| 秋霞网无码| 日韩紧密久久| 亚洲麻豆av一区二区| 五月天色图| 久久久啊啊啊| 成人福利视频网| 亚洲天天精品| 欧美人人AAA| 亚洲综合射| 无码聚合| 后入式在线免费观看60秒| 欧美一区二区福利在线| 91草草草| 日韩无码视频黄色| 久久久久9999妇女| 精品无码欧美三级| 成人日本精品九区| 日日AAvv| AA丁香综合激情| 亚洲色宗合| 人妻啊啊人妻啊| 韩国一级做a久久久久| 亚洲中文字幕av| 久久久久久人| 婷婷操逼| 97中文字幕九区| 精精夜夜| 国产色图乱伦| 啊啊啊啊二区好大| 亚洲国产精品无码AV在线| 久久国产99精品72福利| 国产农村妇女精品| 美女露胸露尿口| 最新制服中文第一页| 婷婷六月色| 日本一二区不卡| 欧美九九爱| 国语av狠狠色丁香婷婷综合激情| 天堂九九九九九九九九九| 亚洲色图欧美色图另类图片| 色情五月综合婷婷| 久久内射| 一区=区三区视频| 亚洲成aⅴ人片不卡无码| 日日嗨AV一区二区夜夜| 国产免费一区二区在线A片视频| 精品人妻一区春色| 97人人干| 激情五月综合开心五月| 欧美91在线+|+欧美| 强免费黄色网址| 尤物网站91| 麻豆伊人网| 五月婷婷性爱| 国产精品九九九| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 91 丝袜在线| 亚洲精品久| 高清国产性猛交xxxx乱大交| 久久少妇人妻| 亚洲色婷婷| 国产精品国产自产高清AV | 九九久久一区二区伦理| 另类老少妇| 欲色影视综合吧| 精品亚洲国产成人AV制服丝袜| 日日骚网站| 熟女高潮合集-永久久久-成人AV| 超碰在线人妻中文字幕| 欧美色吧综合| 五月天伊人| 嫖老熟女A片一二三区| 91处女在线观看| 久久精品国产97欧美精品亚洲| 伊人五月天| 思思性爱| 亚州欧美在线| 日韩精品三级片长长久久| 91爱综合| 啪一啪免费视频| 99e久久国产精品| 国产熟女无套内射| 91天美传媒在线观看| 六月婷激情福利天堂69| 中国探花熟女| 久久精品国产精品一区| 97久久超碰日韩精品| 日韩国语字幕| 国产一区二区三区影片| 人人干黄色| 精品久久97| 夜夜骑日日| 天天拍天| 操香逼| 久久大香蕉手机高清| 无码色| 亚洲最新a在线观看| 欧美日韩免费性爱| 国产家庭乱伦表演| 久久精品超碰| 青草伊人久久| 东北女人的毛片| 国产日韩精品一区二区三区| 精品一区二区三区蜜桃臀赵总 | 日韩免费性爱视频在线观看| 午夜120视频在线观看| 欧美自拍偷拍综合图片| 亚洲欧美日韩激情不卡| 亚洲成成熟女人综合一区二区| 老鸭窝在线视频播放| 九九九九九九视频| 亚洲成人色情五月天丁香花| 九月婷婷综合| 久久婷婷视频| av大香蕉| 激情五月天视频| 精品一区二区成人动漫| 中日高清无码操逼视频| 国产精品女久久久久av爽| 上海一级黄片| 国产精品宅男免费| 北约熟女超碰| 国产A v无码专区| 国产乱人伦AVA麻豆软件.| 成人日韩3| 久操网视频| 欧美日韩性爱无码| 377p欧洲日本亚洲大胆| 伊人网综合在线视频| 欧美色性爱| 乱伦图一区| 日本国产成人亚洲精品无码| 大香蕉九九| 九九久久99| 亚洲精品久|