99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

ROS 2:打造機(jī)器人神經(jīng)系統(tǒng),架構(gòu)實(shí)戰(zhàn)與坑點(diǎn)全解析

ROS 2:打造機(jī)器人神經(jīng)系統(tǒng),架構(gòu)實(shí)戰(zhàn)與坑點(diǎn)全解析 ROS 2。這一兩年帶學(xué)生做機(jī)器人競賽又幫幾家小公司調(diào)工業(yè)AGV我越來越覺得“ROS 2是機(jī)器人的神經(jīng)系統(tǒng)”這句話不是修辭而是對底層設(shè)計(jì)最準(zhǔn)確的概括。之前用ROS 1的時(shí)候大家叫它“機(jī)器人操作系統(tǒng)”但所有人都知道它更像是一套通信中間件。到了ROS 2事情變了它開始具備自主發(fā)現(xiàn)、分布式通信、生命周期管理、實(shí)時(shí)控制這些特征這些恰恰是生物神經(jīng)系統(tǒng)的工作方式。你把它部署到一臺差速底盤上可能感覺不明顯但當(dāng)你面對一臺六軸機(jī)械臂加AGV底盤加視覺傳感器組成的復(fù)合機(jī)器人時(shí)你會發(fā)現(xiàn)ROS 2幾乎復(fù)刻了“感受器—傳入神經(jīng)—中樞—傳出神經(jīng)—效應(yīng)器”的完整鏈路。這篇文章會從神經(jīng)系統(tǒng)的隱喻切入先把ROS 2的核心架構(gòu)講透再帶著大家從零搭一套“感知—規(guī)劃—執(zhí)行”的最小閉環(huán)最后聊聊我在實(shí)際項(xiàng)目中踩過的坑。適合三類人看剛?cè)腴T想搞懂ROS 2設(shè)計(jì)思路的學(xué)生準(zhǔn)備把ROS 2落到工業(yè)現(xiàn)場但還沒理順架構(gòu)的工程師以及對機(jī)器人內(nèi)部協(xié)作機(jī)制感興趣的愛好者。讀完你可以自己畫出一張ROS 2的“神經(jīng)系統(tǒng)拓?fù)鋱D”。1. 為什么“神經(jīng)系統(tǒng)”這個(gè)比喻不只是比喻1.1 單機(jī)時(shí)代的問題每個(gè)模塊都在各自為戰(zhàn)我最早接觸機(jī)器人控制時(shí)用的不是ROS而是一堆傳感器和執(zhí)行器直接連到單片機(jī)或者工控機(jī)上。那時(shí)候的架構(gòu)非常簡單主控程序里一個(gè)while循環(huán)從頭跑到尾先讀激光雷達(dá)再讀IMU跑一遍算法最后把PWM發(fā)出去。表面上看沒什么問題但只要你往這個(gè)系統(tǒng)里加第二個(gè)傳感器或者打算讓兩個(gè)電機(jī)獨(dú)立工作代碼就會開始變得混亂。我記得有一次給一臺循跡小車加超聲波避障原有的代碼是雷達(dá)數(shù)據(jù)直接進(jìn)控制函數(shù)我又要在同一個(gè)函數(shù)里處理超聲波的觸發(fā)邏輯。結(jié)果兩個(gè)月后回頭一看整個(gè)main.c文件接近兩千行變量命名還特別隨意。最崩潰的是想單獨(dú)測試避障模塊得把整輛小車通電跑起來根本沒有所謂的單元測試。這種“鐵板一塊”的結(jié)構(gòu)最大的問題在于缺乏標(biāo)準(zhǔn)化的“神經(jīng)通路”每個(gè)模塊都直接和大腦黏在一起沒有獨(dú)立的數(shù)據(jù)通道也沒有故障隔離。后來上ROS 1情況好了些節(jié)點(diǎn)之間通過話題通信總算能把傳感器驅(qū)動、算法、決策拆開了。但ROS 1的底層通信基于TCPROS中心化的master節(jié)點(diǎn)一旦掛了整個(gè)系統(tǒng)直接“腦死亡”。而且這種中心化設(shè)計(jì)和分布式神經(jīng)系統(tǒng)差得很遠(yuǎn)。我遇到過master崩潰導(dǎo)致小車原地轉(zhuǎn)圈的情況那種感覺就像人的大腦皮層突然斷電脊髓反射都消失了別提多狼狽。1.2 神經(jīng)系統(tǒng)三要素與ROS 2的對應(yīng)關(guān)系你回想一下生物學(xué)里的神經(jīng)系統(tǒng)感受器負(fù)責(zé)感知外界刺激傳入神經(jīng)把信號送到中樞中樞經(jīng)過整合后發(fā)出指令再由傳出神經(jīng)傳到效應(yīng)器執(zhí)行。此外還有大量反射弧不經(jīng)過大腦就能快速響應(yīng)危險(xiǎn)情況比如手碰到熱鍋會立刻縮回來。ROS 2把這套邏輯映射得非常清晰。傳感器驅(qū)動節(jié)點(diǎn)是“感受器”比如激光雷達(dá)驅(qū)動節(jié)點(diǎn)不斷發(fā)出/scan話題IMU驅(qū)動節(jié)點(diǎn)發(fā)出/imu/data/scan和/imu/data就是“傳入神經(jīng)纖維”。導(dǎo)航、規(guī)劃、狀態(tài)估計(jì)這些節(jié)點(diǎn)相當(dāng)于中樞神經(jīng)系統(tǒng)它們訂閱傳入信號經(jīng)過計(jì)算后發(fā)布速度指令底盤驅(qū)動節(jié)點(diǎn)收到的/cmd_vel就是“傳出神經(jīng)”最終驅(qū)動電機(jī)旋轉(zhuǎn)。而DDSData Distribution Service在里面的角色特別像神經(jīng)遞質(zhì)——它決定了信息怎么包裝、怎么傳遞、怎么保證不丟。ROS 2不直接使用TCP或UDP而是通過DDS實(shí)現(xiàn)發(fā)布/訂閱模型。DDS的發(fā)現(xiàn)機(jī)制Discovery允許每個(gè)節(jié)點(diǎn)像神經(jīng)元感知突觸連接一樣自動查找系統(tǒng)中其它節(jié)點(diǎn)并建立連接不需要人工配置對方IP。這徹底區(qū)別于ROS 1中心化的master方式。還有一層更重要的對應(yīng)就是反射弧。在ROS 2里你可以為安全功能搭建一個(gè)獨(dú)立的低延遲通路。比如碰觸傳感器檢測到碰撞直接發(fā)給急停節(jié)點(diǎn)的/stop話題這條鏈路不經(jīng)過導(dǎo)航算法不做路徑重規(guī)劃控制器收到就立刻剎車。這種和主循環(huán)隔離的“脊髓反射式”設(shè)計(jì)在工業(yè)安全里非常實(shí)用我后來無論是調(diào)試AGV還是機(jī)械臂都會留一條這樣的安全支路。1.3 ROS 2的分層從反射到認(rèn)知如果只把ROS 2看成通信庫那就浪費(fèi)了它真正的價(jià)值。它的完整架構(gòu)其實(shí)是分層的最底下是實(shí)時(shí)控制層高頻跑著PID和運(yùn)動學(xué)解算對應(yīng)腦干和脊髓中間是協(xié)同層跑著SLAM、目標(biāo)識別、路徑規(guī)劃對應(yīng)小腦和基底節(jié)最上面是決策層負(fù)責(zé)任務(wù)調(diào)度、異常處理某種程度上對應(yīng)大腦皮層。這種分層的直接好處是你可以為不同層次選擇不同的通信策略、不同的QoS質(zhì)量服務(wù)參數(shù)甚至不同的計(jì)算平臺。實(shí)時(shí)控制層跑在MCU上用Micro-ROS通過共享內(nèi)存或串口通信協(xié)同層跑在工控機(jī)或者Jetson上用標(biāo)準(zhǔn)的UDP/DDS通信決策層可以放在服務(wù)器上通過網(wǎng)絡(luò)管理多臺機(jī)器人。這也是為什么很多工廠的調(diào)度系統(tǒng)——比如VDA5050標(biāo)準(zhǔn)里提到的AGV管理——會選擇ROS 2作為車載控制器和上位機(jī)之間的“神經(jīng)束”而不是自己發(fā)明一套臨時(shí)協(xié)議。2. 核心架構(gòu)像神經(jīng)元一樣通信2.1 話題與消息分布式傳感器信號的“血液”如果你打開一個(gè)正常運(yùn)行的ROS 2系統(tǒng)輸入ros2 topic list會看到大量的話題名。以導(dǎo)航機(jī)器人為例典型話題包括/scan激光雷達(dá)、/odom里程計(jì)、/map地圖、/amcl_pose定位位姿、/plan全局路徑、/cmd_vel速度指令等。話題的發(fā)布/訂閱模型本質(zhì)上就是神經(jīng)系統(tǒng)里“神經(jīng)遞質(zhì)擴(kuò)散到突觸后膜”的數(shù)字化版本。消息類型是話題的“語法”。ROS 2遵循包名/消息類型的約定比如geometry_msgs/msg/Twist定義線速度和角速度sensor_msgs/msg/LaserScan定義一幀激光數(shù)據(jù)。這種類型化設(shè)計(jì)極大降低了對接成本。我以前寫底層驅(qū)動時(shí)最痛苦的事就是對接不同廠家提供的“自定義串口協(xié)議”。A廠激光雷達(dá)發(fā)的是角度數(shù)組加距離數(shù)組兩段B廠家卻是按極坐標(biāo)打包每次都要寫轉(zhuǎn)換層。在ROS 2里大家只要遵循LaserScan類型雷達(dá)驅(qū)動和導(dǎo)航算法之間就不存在對接問題了。QoS是ROS 2通信里最重要的概念沒有之一。QoS策略里的Reliability設(shè)定為RELIABLE時(shí)類似TCP那樣保證消息不丟設(shè)為BEST_EFFORT時(shí)像UDP那樣犧牲可靠性來換實(shí)時(shí)性。這個(gè)設(shè)計(jì)完全對應(yīng)神經(jīng)系統(tǒng)里的速度與準(zhǔn)確性權(quán)衡——你傳遞痛覺信號時(shí)寧愿快但是粗傳遞精細(xì)動作指令時(shí)寧愿慢一點(diǎn)但要準(zhǔn)。2.2 服務(wù)與動作反射弧和協(xié)調(diào)中樞話題是單向異步的適合持續(xù)不斷的數(shù)據(jù)流但有些交互需要“請求—響應(yīng)”模式。ROS 2提供了服務(wù)Service客戶端發(fā)一個(gè)請求服務(wù)器端處理后返回響應(yīng)。比如你想讓機(jī)器人報(bào)告當(dāng)前電池電壓可以調(diào)用/battery_state服務(wù)客戶端發(fā)送空請求服務(wù)器返回電壓值。這就是神經(jīng)系統(tǒng)里的“反射弧”不經(jīng)過復(fù)雜的模式處理直接應(yīng)答。不過在控制機(jī)器人運(yùn)動時(shí)服務(wù)在這種場景就很別扭。比如導(dǎo)航到一個(gè)目標(biāo)點(diǎn)可能需要幾秒鐘這期間你需要不斷獲得進(jìn)度反饋還可以隨時(shí)取消目標(biāo)。服務(wù)天然的短連接特性做不到這一點(diǎn)。于是ROS 2提供了動作Action它的接口包括目標(biāo)、反饋、結(jié)果三個(gè)部分。動作服務(wù)器接收目標(biāo)后開始執(zhí)行在執(zhí)行過程中持續(xù)發(fā)布反饋話題任務(wù)完成后再發(fā)送結(jié)果。動作機(jī)制特別像小腦對運(yùn)動的協(xié)調(diào)過程。你決定走到門口目標(biāo)小腦不斷根據(jù)當(dāng)前肢體狀態(tài)發(fā)出調(diào)整信號反饋?zhàn)叩胶蟾嬖V大腦“我到了”結(jié)果。在Navigation2里/navigate_to_pose就是一個(gè)標(biāo)準(zhǔn)動作接口客戶端發(fā)送目標(biāo)位姿導(dǎo)航系統(tǒng)返回當(dāng)前狀態(tài)和是否成功。我在項(xiàng)目里最喜歡用動作來做任務(wù)封裝因?yàn)樗荝OS 2里少數(shù)自帶狀態(tài)機(jī)的機(jī)制。2.3 生命周期狀態(tài)管理與自動重啟ROS 2還有一個(gè)不太起眼但非常實(shí)用的機(jī)制生命周期節(jié)點(diǎn)Lifecycle Node。普通節(jié)點(diǎn)一啟動就進(jìn)入活躍狀態(tài)生命周期節(jié)點(diǎn)則多了配置、未配置、非活躍、活躍、關(guān)閉等狀態(tài)。這對應(yīng)什么對應(yīng)人體自主神經(jīng)系統(tǒng)對器官的調(diào)節(jié)。有些節(jié)點(diǎn)不需要持續(xù)工作比如環(huán)境地圖構(gòu)建節(jié)點(diǎn)只有在建圖時(shí)才需要運(yùn)行建完圖就應(yīng)該進(jìn)入非活躍狀態(tài)有些節(jié)點(diǎn)啟動時(shí)需要先加載參數(shù)和連接硬件全部成功后才能對外提供服務(wù)。生命周期節(jié)點(diǎn)允許你顯式地控制這些狀態(tài)轉(zhuǎn)換配合ros2 lifecycle set /node configure這類命令可以實(shí)現(xiàn)比較優(yōu)雅的系統(tǒng)啟動和關(guān)停流程。我在給AGV做電源管理時(shí)就依賴生命周期節(jié)點(diǎn)啟動時(shí)先把激光雷達(dá)驅(qū)動節(jié)點(diǎn)配置好再啟動導(dǎo)航節(jié)點(diǎn)等導(dǎo)航節(jié)點(diǎn)進(jìn)入活躍狀態(tài)后才允許底盤運(yùn)動。如果某個(gè)節(jié)點(diǎn)啟動失敗系統(tǒng)會嘗試重新配置而不是整臺機(jī)器“死機(jī)”。這就是神經(jīng)系統(tǒng)里的容錯(cuò)——一根神經(jīng)束受損不至于讓整個(gè)身體癱瘓。3. 從零搭建一套最小“神經(jīng)回路”3.1 環(huán)境準(zhǔn)備與常用命令我目前主用的發(fā)行版是ROS 2 Humble基于Ubuntu 22.04這也是當(dāng)前最穩(wěn)的長期支持版本。安裝Desktop版本就包含了常用的庫和工具。sudo apt install ros-humble-desktop python3-colcon-common-extensions source /opt/ros/humble/setup.bash一個(gè)容易忽略的配置是把source寫進(jìn)~/.bashrc里否則每次開新終端都要手動輸入。注意ROS 2支持多版本共存如果你裝了Foxy又裝Humble一定要在~/.bashrc里注釋掉舊的source行不然環(huán)境變量會亂。開發(fā)機(jī)器人程序建議建一個(gè)工作空間。我的習(xí)慣是~/ros2_ws/src存放代碼用colcon構(gòu)建。mkdir -p ~/ros2_ws/src cd ~/ros2_ws/src colcon build --symlink-install--symlink-install參數(shù)很關(guān)鍵Python代碼修改后不用重新buildPython腳本直接生效調(diào)試效率能高不少。3.2 寫一個(gè)“感覺神經(jīng)元”和一個(gè)“運(yùn)動神經(jīng)元”我舉一個(gè)最簡單的例子創(chuàng)建一個(gè)模擬速度傳感器的節(jié)點(diǎn)它每秒發(fā)布一次隨機(jī)速度值然后一個(gè)“電機(jī)控制器”節(jié)點(diǎn)訂閱這個(gè)值做一次限幅處理并打印出來。這兩個(gè)節(jié)點(diǎn)就是神經(jīng)系統(tǒng)里最小單元——一個(gè)感受器一個(gè)效應(yīng)器。先建包c(diǎn)d ~/ros2_ws/src ros2 pkg create --build-type ament_python py_sensor_demo cd py_sensor_demopy_sensor_demo/sensor_hub.py內(nèi)容import rclpy from rclpy.node import Node from std_msgs.msg import Float32 import random class SensorHub(Node): def __init__(self): super().__init__(sensor_hub) self.publisher_ self.create_publisher(Float32, wheel_speed, 10) self.timer self.create_timer(1.0, self.publish_speed) def publish_speed(self): msg Float32() msg.data random.uniform(0.0, 5.0) self.publisher_.publish(msg) self.get_logger().info(fPublishing: {msg.data:.2f} m/s) def main(argsNone): rclpy.init(argsargs) node SensorHub() rclpy.spin(node) node.destroy_node() rclpy.shutdown()再寫“運(yùn)動神經(jīng)元”actuator_node.pyimport rclpy from rclpy.node import Node from std_msgs.msg import Float32 class ActuatorNode(Node): def __init__(self): super().__init__(actuator_node) self.subscription self.create_subscription( Float32, wheel_speed, self.speed_callback, 10) def speed_callback(self, msg): # 限幅保護(hù)超過4.0就當(dāng)作4.0 speed min(msg.data, 4.0) self.get_logger().info(fActuator received: {speed:.2f} m/s - sending PWM) def main(argsNone): rclpy.init(argsargs) node ActuatorNode() rclpy.spin(node) node.destroy_node() rclpy.shutdown()終端A運(yùn)行傳感器節(jié)點(diǎn)終端B運(yùn)行執(zhí)行器節(jié)點(diǎn)ros2 run py_sensor_demo sensor_hub ros2 run py_sensor_demo actuator_node你會看到B終端持續(xù)打印接收到的速度值。這個(gè)例子雖然簡單但它完整演示了ROS 2神經(jīng)系統(tǒng)的基本工作方式數(shù)據(jù)通過話題傳遞兩個(gè)節(jié)點(diǎn)彼此不需要知道對方的存在sensor_hub只管發(fā)actuator_node只管收。3.3 用rqt_graph看系統(tǒng)的“神經(jīng)網(wǎng)絡(luò)拓?fù)洹比绻卸鄠€(gè)話題、多個(gè)節(jié)點(diǎn)同時(shí)跑單靠日志就很難看明白數(shù)據(jù)是怎么流的。這時(shí)候就是rqt_graph的舞臺。rqt_graph你會看到一張圖橢圓是節(jié)點(diǎn)箭頭是話題。看到從sensor_hub到actuator_node的一條箭頭箭頭旁邊標(biāo)著wheel_speed。這張圖就是整個(gè)機(jī)器人系統(tǒng)的“神經(jīng)網(wǎng)絡(luò)拓?fù)洹?。我每次調(diào)試機(jī)器人必先把rqt_graph打開。有一次客戶說機(jī)器人導(dǎo)航偶爾不響應(yīng)我第一反應(yīng)不是改代碼而是把整個(gè)過程跑一遍盯著rqt_graph看哪個(gè)節(jié)點(diǎn)沒有訂閱關(guān)系。結(jié)果發(fā)現(xiàn)是導(dǎo)航算法訂閱的/scan話題名不一致雷達(dá)節(jié)點(diǎn)發(fā)布的是/scan_raw而導(dǎo)航節(jié)點(diǎn)訂閱的是/scan。rqt_graph上一眼就能看出這兩條鏈路是斷開的。這種問題不看圖純看代碼會排查很久。4. 實(shí)戰(zhàn)項(xiàng)目里的“感知—規(guī)劃—執(zhí)行”閉環(huán)4.1 移動機(jī)器人導(dǎo)航從SLAM到路徑規(guī)劃導(dǎo)航是ROS 2最成熟的應(yīng)用場景之一。一套典型的移動機(jī)器人導(dǎo)航系統(tǒng)包括激光雷達(dá)驅(qū)動節(jié)點(diǎn)感知、SLAM節(jié)點(diǎn)建圖和定位、全局規(guī)劃器和局部規(guī)劃器規(guī)劃、底盤驅(qū)動節(jié)點(diǎn)執(zhí)行。底盤的“感受器”輸出是里程計(jì)話題/odom激光雷達(dá)輸出/scanSLAM節(jié)點(diǎn)訂閱這兩個(gè)話題輸出機(jī)器人在地圖中的位姿估計(jì)/amcl_pose全局規(guī)劃器根據(jù)目標(biāo)點(diǎn)在地圖上規(guī)劃一條全局路徑發(fā)布到/plan局部規(guī)劃器則根據(jù)實(shí)時(shí)激光數(shù)據(jù)避障并輸出/cmd_vel底盤驅(qū)動節(jié)點(diǎn)執(zhí)行速度指令再通過編碼器反饋更新里程計(jì)。這就是一個(gè)完整的感知—規(guī)劃—執(zhí)行閉環(huán)。我在實(shí)際做項(xiàng)目時(shí)最常調(diào)整的是局部規(guī)劃器的參數(shù)。ROS 2默認(rèn)的Nav2棧里DWA和TEB兩種局部規(guī)劃器各有特點(diǎn)。DWA計(jì)算快、適合差速底盤TEB對阿克曼轉(zhuǎn)向和狹窄通道更友好但需要調(diào)參的門檻更高。很多新手一上來就把速度限制設(shè)得很大導(dǎo)致機(jī)器人在走廊里來回?fù)u擺其實(shí)是局部代價(jià)地圖參數(shù)和底盤轉(zhuǎn)彎半徑不匹配。這類問題的排查我會先降低最大線速度和角速度再逐步調(diào)上去而不是一上來就調(diào)大規(guī)劃權(quán)重。4.2 機(jī)械臂控制運(yùn)動學(xué)、規(guī)劃與控制機(jī)械臂場景下ROS 2的坐標(biāo)為運(yùn)動規(guī)劃和逆運(yùn)動學(xué)提供了非常好的支持。一個(gè)六軸機(jī)械臂的“神經(jīng)系統(tǒng)”大致是這樣的視覺傳感器識別到目標(biāo)物體發(fā)布物體位姿運(yùn)動規(guī)劃節(jié)點(diǎn)通過MoveIt 2調(diào)用逆運(yùn)動學(xué)求解器計(jì)算每個(gè)關(guān)節(jié)的目標(biāo)角度軌跡控制器按照設(shè)定的速度和加速度生成一條關(guān)節(jié)軌跡發(fā)給底層伺服驅(qū)動。關(guān)節(jié)編碼器把實(shí)際位置反饋給控制器形成閉環(huán)。我調(diào)試過一些國產(chǎn)協(xié)作臂底層伺服通常由廠商提供專門的驅(qū)動包高層規(guī)劃則用MoveIt 2。兩者之間的關(guān)鍵是如何把/joint_states話題對齊。底層伺服發(fā)布的關(guān)節(jié)角度順序如果不匹配URDF模型里的順序機(jī)械臂會畫出非常詭異的軌跡。這個(gè)問題排查起來特費(fèi)勁我后來直接在URDF里定義關(guān)節(jié)順序時(shí)就和底層驅(qū)動約好按J1到J6的順序排列避免在代碼里做映射。機(jī)械臂的規(guī)劃終端執(zhí)行器是另一個(gè)容易被低估的話題。熱門搜索詞里有“機(jī)器人終端執(zhí)行器-音圈電機(jī)”音圈電機(jī)驅(qū)動的夾爪或者末端執(zhí)行器在ROS 2里一般通過動作接口控制。比如夾爪動作服務(wù)器接收open或close目標(biāo)執(zhí)行時(shí)反饋夾爪位置完成后返回夾持力數(shù)據(jù)。這種設(shè)計(jì)思路和執(zhí)行器控制的“傳出神經(jīng)”完全一致指令發(fā)出、狀態(tài)反饋、結(jié)果回報(bào)。4.3 Micro-ROS讓MCU成為神經(jīng)系統(tǒng)里的“神經(jīng)元末梢”很多人的印象里ROS 2必須跑在Linux系統(tǒng)上跑在帶操作系統(tǒng)的工控機(jī)上。但真實(shí)機(jī)器人里有大量傳感器和執(zhí)行器是由MCU控制的比如STM32、ESP32。這些設(shè)備資源有限跑不了標(biāo)準(zhǔn)的ROS 2節(jié)點(diǎn)。于是有了Micro-ROS它把ROS 2的通信模型移植到了RTOS或裸機(jī)環(huán)境讓MCU能作為ROS 2網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)參與通信。我最近在ESP32上做過一個(gè)Micro-ROS小項(xiàng)目ESP32采集IMU數(shù)據(jù)并通過Wi-Fi發(fā)布到ROS 2網(wǎng)絡(luò)同時(shí)訂閱一個(gè)控制指令話題來驅(qū)動舵機(jī)。核心思路是用micro_ros_arduino這個(gè)庫ESP32作為Micro-ROS Agent的客戶端連接上運(yùn)行在電腦上的Agent再通過網(wǎng)絡(luò)橋接到ROS 2。核心代碼大致如下#include micro_ros_arduino.h #include stdio.h #include rcl/rcl.h #include rcl/error_handling.h #include rclc/rclc.h #include rclc/executor.h #include sensor_msgs/msg/imu.h #include std_msgs/msg/int16.h這里最關(guān)鍵的是保證Wi-Fi信號穩(wěn)定Micro-ROS的通信對延遲敏感。我調(diào)試時(shí)遇到過ESP32間歇性掉線的問題排查到最后發(fā)現(xiàn)是Wi-Fi休眠策略導(dǎo)致的丟包。把ESP32的Wi-Fi設(shè)置為不睡眠問題立刻消失。這種問題在標(biāo)準(zhǔn)的ROS 2網(wǎng)絡(luò)里很難復(fù)現(xiàn)因?yàn)榍度胧焦?jié)點(diǎn)和主機(jī)的時(shí)鐘、網(wǎng)絡(luò)狀態(tài)差異很大。Micro-ROS解決了“神經(jīng)末梢”的接入問題。如果你做一個(gè)四足機(jī)器人每條腿的關(guān)節(jié)控制器都可以是一塊STM32通過CAN或者串口與主控通信而主控跑一個(gè)大一點(diǎn)的ROS 2節(jié)點(diǎn)來做步態(tài)規(guī)劃和傳感器融合。這種架構(gòu)比把所有控制邏輯堆在一個(gè)主控里要清晰得多也方便擴(kuò)展腿的數(shù)量。4.4 工業(yè)應(yīng)用VDA5050、視覺引導(dǎo)與AGV調(diào)度工業(yè)現(xiàn)場里ROS 2的應(yīng)用已經(jīng)從學(xué)術(shù)項(xiàng)目轉(zhuǎn)向落地交付。VDA5050是汽車工業(yè)界提出的一套AGV與上位調(diào)度系統(tǒng)之間的通信協(xié)議標(biāo)準(zhǔn)近年來很多做移動機(jī)器人的公司都在適配。VDA5050定義了一系列標(biāo)準(zhǔn)化消息比如connection、order、state、visualization通過MQTT或者REST接口傳遞。在ROS 2體系里可以用一個(gè)適配器節(jié)點(diǎn)把這些VDA5050消息轉(zhuǎn)成ROS 2話題比如收到上位機(jī)的order消息后調(diào)用Nav2的導(dǎo)航動作再把導(dǎo)航狀態(tài)打包成state消息上報(bào)。視覺引導(dǎo)又是另一個(gè)方向。熱門搜索詞里的“TVA視覺引導(dǎo)”就是典型的視覺引導(dǎo)抓取或定位場景。相機(jī)檢測到目標(biāo)物體計(jì)算出物體在機(jī)器人坐標(biāo)系下的位姿發(fā)布為geometry_msgs/PoseStamped。機(jī)械臂或AGV收到這個(gè)位姿后通過MoveIt 2或Nav2規(guī)劃執(zhí)行。這里容易踩的坑是標(biāo)定相機(jī)坐標(biāo)系、機(jī)械臂基座坐標(biāo)系、機(jī)器人底盤坐標(biāo)系三者之間的變換必須精確。ROS 2里用tf2管理這些坐標(biāo)系之間的變換關(guān)系我在現(xiàn)場調(diào)試時(shí)看到機(jī)械臂抓歪90%的情況都是tf樹哪里斷了或者變換發(fā)布頻率太低。工業(yè)場景和學(xué)術(shù)場景最大區(qū)別是可靠性要求。學(xué)術(shù)Demo里節(jié)點(diǎn)掛了重啟一下就行工業(yè)現(xiàn)場節(jié)點(diǎn)掛了可能就意味著產(chǎn)線停線。ROS 2的ros2 daemon stop、ros2 doctor這類工具在調(diào)試時(shí)就特別重要因?yàn)樗鼈兡芸焖俳o你一個(gè)系統(tǒng)健康狀態(tài)診斷。我一般在上線前會做一次持續(xù)壓測讓機(jī)器以最高頻率跑導(dǎo)航指令24小時(shí)同時(shí)監(jiān)控每個(gè)節(jié)點(diǎn)的CPU占用和延遲把潛在問題提前暴露出來。5. 神經(jīng)系統(tǒng)“生病了”怎么辦常見問題與排查5.1 節(jié)點(diǎn)之間“失聯(lián)”了癥狀ros2 topic list能看到話題但訂閱者收不到數(shù)據(jù)或者節(jié)點(diǎn)之間完全找不到對方。排查步驟由淺入深。首先是ping一下對端IP確認(rèn)網(wǎng)絡(luò)通接著看ROS_DOMAIN_ID是否一致這個(gè)環(huán)境變量是ROS 2對系統(tǒng)進(jìn)行“分組”的方式域ID不同相當(dāng)于兩個(gè)不相干的世界節(jié)點(diǎn)之間一定收不到對方的話題。比如有次客戶抱怨“我們兩臺機(jī)器通過WiFi連不上但同一臺機(jī)器上的話題都正常”我一看兩臺機(jī)器的環(huán)境變量一臺ROS_DOMAIN_ID0另一臺設(shè)成了1自然完全隔離。另一個(gè)常見原因是防火墻屏蔽了DDS的組播端口。DDS默認(rèn)用18555端口發(fā)現(xiàn)設(shè)備同時(shí)還會分配一些隨機(jī)的UDP端口。很多企業(yè)內(nèi)網(wǎng)開了嚴(yán)格防火墻ROS 2的發(fā)現(xiàn)機(jī)制就被直接干掉。我在現(xiàn)場處理過好幾次這種情況解決方式是在網(wǎng)關(guān)上放行ROS 2使用的端口范圍或者把RMWROS 2 Middleware Implementation換成支持共享內(nèi)存的配置這樣至少同一臺機(jī)器上的節(jié)點(diǎn)通信不受影響。5.2 QoS不匹配導(dǎo)致“丟消息”癥狀某些話題別人能收到你的節(jié)點(diǎn)收不到或者數(shù)據(jù)時(shí)不時(shí)斷一下。這是新手最容易踩的坑。發(fā)布方和訂閱方的QoS策略必須兼容比如發(fā)布方用RELIABLE訂閱方用BEST_EFFORT在DDS層面是允許的但某些情況下會丟包。以激光雷達(dá)為例很多國產(chǎn)雷達(dá)驅(qū)動默認(rèn)發(fā)布BEST_EFFORT而導(dǎo)航算法訂閱時(shí)用的是RELIABLE這時(shí)候如果網(wǎng)絡(luò)稍有波動雷達(dá)數(shù)據(jù)就會被丟棄。解決辦法是查閱雷達(dá)驅(qū)動文檔調(diào)整驅(qū)動節(jié)點(diǎn)里的QoS配置讓它與訂閱方匹配。我習(xí)慣在設(shè)計(jì)系統(tǒng)時(shí)統(tǒng)一約定傳感器數(shù)據(jù)流用BEST_EFFORT保證實(shí)時(shí)性控制指令和任務(wù)隊(duì)列用RELIABLE保證不丟。這樣既不會因?yàn)榕紶杹G一幀激光讓導(dǎo)航卡死也不會因?yàn)榭刂浦噶顏G了造成安全事故。5.3 資源受限設(shè)備上的實(shí)時(shí)性癥狀MCU或者低性能工控機(jī)上跑Micro-ROS出現(xiàn)卡頓、超時(shí)、數(shù)據(jù)丟失。Micro-ROS在ESP32上最常碰到的坑有三個(gè)。第一是Wi-Fi不穩(wěn)定這個(gè)我前面提過第二是內(nèi)存不足ESP32雖然號稱320KB RAM但運(yùn)行Micro-ROS后可用內(nèi)存很緊張如果代碼里還做了大數(shù)組或者頻繁動態(tài)分配幾乎必然崩潰。第三是棧溢出有些RTOS任務(wù)默認(rèn)棧很小調(diào)大任務(wù)棧能救回來。如果你要跑實(shí)時(shí)控制我的經(jīng)驗(yàn)是不要把所有東西都丟到Micro-ROS里。電機(jī)電流環(huán)、速度環(huán)這種高頻控制應(yīng)該跑在MCU裸機(jī)上Micro-ROS只負(fù)責(zé)低頻的指令下發(fā)和狀態(tài)上報(bào)。通俗地說脊髓反射必須留在脊髓不能交給大腦皮層。把反射弧做到通信最底層是保證系統(tǒng)實(shí)時(shí)性最樸素也最有效的辦法。5.4 排查工具清單我用的比較多的排查命令整理成一張速查表命令/工具用途典型場景ros2 doctor檢查系統(tǒng)環(huán)境、RMW配置、依賴完整性排查環(huán)境變量錯(cuò)亂、依賴缺失ros2 topic list -t列出所有話題及類型快速確認(rèn)話題是否存在ros2 topic echo /topic打印某個(gè)話題的消息內(nèi)容判斷傳感器驅(qū)動是否正常工作ros2 node info /node查看節(jié)點(diǎn)的訂閱和發(fā)布關(guān)系檢查節(jié)點(diǎn)是否有邏輯錯(cuò)誤ros2 lifecycle get /node獲取生命周期節(jié)點(diǎn)狀態(tài)查看節(jié)點(diǎn)是否處于活躍狀態(tài)rqt_graph可視化節(jié)點(diǎn)和話題連接圖排查鏈路斷裂ros2 bag record錄制話題數(shù)據(jù)包離線回放分析問題colcon test運(yùn)行包的單元測試回歸測試我在現(xiàn)場碰到過最“玄學(xué)”的一個(gè)問題是機(jī)器人動起來后某個(gè)傳感器話題會掉線停下來又恢復(fù)。后來用ros2 bag record全程錄制離線回放才發(fā)現(xiàn)是供電不夠底盤電機(jī)大電流導(dǎo)致傳感器電壓跌落驅(qū)動直接重啟。這個(gè)問題的根因在電氣層但ROS 2的工具鏈幫我快速定位到了現(xiàn)象發(fā)生的時(shí)間和話題節(jié)省了大量排查時(shí)間。6. 我如何看“神經(jīng)系統(tǒng)”這個(gè)定位做了這么多年機(jī)器人我最深的感受是ROS 2的價(jià)值不僅僅在于提供了發(fā)布訂閱、服務(wù)、動作這些具體功能更在于它迫使你把一個(gè)機(jī)器人系統(tǒng)拆分成可以獨(dú)立演進(jìn)、獨(dú)立調(diào)試、獨(dú)立故障隔離的單元。分布式通信、QoS控制、生命周期管理、Micro-ROS這套組合拳本質(zhì)上是在幫你搭一套分層、冗余、可自愈的“神經(jīng)系統(tǒng)”。任何有心把機(jī)器人做上規(guī)模的人都該認(rèn)真研究這種架構(gòu)思維。不要把ROS 2當(dāng)成本質(zhì)上只是湊熱鬧的中間件而是把它當(dāng)作一種控制機(jī)器人復(fù)雜性的方法論。哪怕你最后不用ROS 2理解了這套分層和通信原則你也能把機(jī)器人底層設(shè)計(jì)得更健壯。如果讓我給你一條個(gè)人建議先別急著調(diào)算法先把你的系統(tǒng)按“感受器—神經(jīng)通路—決策中樞—執(zhí)行器”畫一張圖再對照ROS 2的機(jī)制把圖畫成rqt_graph。當(dāng)你畫清楚這張圖你的一只腳就已經(jīng)踏進(jìn)了新一代機(jī)器人開發(fā)的大門。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情五月综合网| 97caop| 9999久久久久| 丁香五月婷婷久久久| 色五月偷偷| 天天操夜夜啊| 伊人干综合| 国产成人AV| 99精品无码| 狠狠色丁香99| 九九熱最新視頻| 艹色18p| 91超级碰碰| 久久这里有精品视频| 亚韩在线视频| 五月天婷婷伊人| 久久婷婷五月综合色丁香花| 思思热在线视频精品| 国产激情婷婷| 五月丁香六月婷婷姐| 天天在线久久综合 | 久久XX| 以及AA大片看看| 99热精品中文字幕| 天天天干夜夜夜操| 五月丁香六月婷婷网| 婷婷天天日婷婷| 婷婷五月天综合蜜桃| 日韩久久色| 欧在线一区| 性爱视频久久| 屁股翘好撅高迎合跪趴| 99国产在线精品视频| 九月色婷婷| 91成人性爱视频| 色婷婷婷婷成人网| 五月婷婷影视| 99性爱视频网站| 伊人丁香婷婷东京| AV79| 99这里只有精品| 久久黄色片| 日日操,日日爽| 丁香五月六月久久综合| 五月婷婷中字在线| 亚洲 在线 性爱| 色网站99| www.五月丁香av| 婷婷激情五月天网站| 在线观看亚洲视频影院| 婷婷丁香人妻天久久| 色婷婷久久综合| 99热日| 美女被肏网站在线看| AV在线不卡播放| 色色色网站| 五月成人网站| 亚洲天堂婷婷| 成人色图情色成人网 www.5b5b5bcom 五月天 | 天天干电影| 色五月人妻| 日韩成人综合网| 97色久| 综合色情网| 超碰99在线| 开心五月网| 67194国产| 亚洲高清在线| 六月五月天婷婷涩播在线| 婷婷五月丁香五月| 午夜日日| 五月丁香婷婷AV天堂| 五月综亚洲| 婷婷丁香综合成人| 婷婷五月天丁香| 99热这里是精品| seav天堂| 五月天综合久久| 久久综合网免费视频| 天天拍夜夜爽日日| 超碰97免费在线| 色丁香五月| 婷婷综合| 97在线精品视频| 99小视频| 天天插天天爽| 欧美槡BBBB槡BBB少妇| 五月丁香花成人社区| 熟美女麻豆| 色色五月婷| 婷婷5月色| 99综合免费视频| 亚洲秘 无码一区二区三区妃光/1| 庭庭久久内射| 九九综合网| 看全色黄大色大片| 婷婷五月婷婷五月| 五月婷婷色播| 99色中文| 婷婷五月天综合小说网| 激情综合久久| PORNY九色9l自拍视频成人| 激情综合五月色在线| 五月丁香淫淫婷婷婷| 丁香大香蕉| 99久久九九视频| 99热99操| 丁香五月婷婷在线观看| 五月天婷婷色播综合在线| 久久久久婷| 免费色色色| 精品色| 能直接看的av网站| 国产av影片| 激情都市五月天| 大香蕉99热| 色五月丁香com| 99激情网| 综合久久综合久久| 色你久久| 天天操夜夜操| 99偷拍视频在线日本| WWW五月婷婷| 久久激情五月婷婷| 六月丁香天堂| 青草五月天| 午夜69成人做爰视频| 亚洲成人AV在线播放| 99热99热不卡| 天天综合区| 亚洲sesesese| 五月天婷婷社区| 五月婷婷综合影院| 亚洲性视频| 99热免费18| 思思视频这里是精品| 无码区婷婷五月花开| 色噜噜丁香| WWW·天天操·视频?| 成人欧美日韩| 91热爆在线| 另类图片五月天| 久操乱| 伊人丁香五月| 婷婷五月综合中文字幕| 婷婷深爱五月| 丁香五婷婷| 成人开心五月天| 秋霞AV吧| 99这里有精品视频视频| 六月婷婷AV| 99性爱视频网站| 天天碰夜夜操| 激情五月天伊人av| 九九热10| 狠狠爱综合网| 色婷婷久久综合丁香五月| 婷婷香蕉精品| 天天影院色| 日本少妇AA一级特黄大片| 99热6色| 狠狠色噜噜色狠狠狠综合色| 殴美综合激情五月天免费视频| 久久全色| 亚洲超碰在线| 精品无码人妻一区| 久久中国毛毛片爱久久| 五月天另类视频| ay2区| 久久天天| 日韩在线aaa| 久久综合综合综合| 日日操日日撸| 婷婷五月图片小说网| 人妻在线观看视频| 91偷拍视频| 久久精品色| 五月天综合网| 激情综合丁香五月| 中文字幕AV在线| 婷香五月激情视频| 激情九九这里只有精品| 亚洲在线操| 91五月天| 五月婷婷啪啪啪啪| 五月丁香A片| 我淫我色婷婷五月天激情四射| 2025天天操| 94干大香蕉| 99久在线精品| 日韩操逼小电影| 九九热在线视频观看免费10| www.99在线| 五月天激情网页| 六月丁香天堂| 97在线观视频免费观看 | 丁香无月在线观看| 啪啪五月婷婷| 五月综合久久| 五月丁香六月婷| 久色网| 婷婷在线中文字幕| 五月天com| 五月婷婷综合精品| 久久奄也去色色网站| se婷97| 丁香五月天堂网| 五月婷婷六月奇米网丁香| 久久嘟嘟丁香| 激情综合网婷婷五夜| 另类精品视频在线观看| 女力报到正好爱上你| 婷婷99中文字幕| 香蕉久久av一区二区三区| 五月丁六月香| 人人看人人草人人摸| 一起草无码| 久久综合九色综合97婷婷| 夜夜撸天天操| 99精品视频免费观看近期发布| 婷婷五月婷婷| 欧美丁香五月| 五月激情五月婷婷五月天在线| 日本久久综合| 丁香五月激情网| 熟女少妇内射日韩亚洲| 我爱大香蕉| 99ri视频在线播放| 99久久激情视频| 久久在线视频只有这里有精品| 99久久五月婷婷| 日日夜夜狠狠| 97碰在线视频| 99色在线视频| 色五月天电影| 五月丁香在线观看| 久久婷婷综合五月天| 久热只有精品| 日本天天色| 丁香色五月婷婷91桃色| 五月天激情图| 华人在线免费| 婷婷激情社区| 无套内射极品大美女| 色噜综| 少妇丁香婷婷| 色五月婷婷五月丁香五月激情五月视频| 伊人综合色干| 五月天操逼网| 久久色情| 丁香五月自拍| 开心久久爱五月天| 丁香五月网在线观看| 日本女天天爽| 亚洲婷婷激情888精品久| 色噜噜狠狠色综| 人人插9| 五月天丁香欧美激情| 99热爆在线| 久久五月婷天天干| 色五月婷婷91在线| 五月丁香好婷婷A片网| av在线不卡播放| 久久五月婷综合网| 激情性爱五月| 国产激情久久久| 性色五月天| 五月天婷婷色色| 91超级碰碰| 激情婷婷六月天| 五月婷婷AV| 大香蕉婷婷丁香天堂AV| 成人视频网| 亚洲日本韩国| 五月天色色色色色| 久草大| av九九| 丁香六月综合激情| 美国天天日天天操| 操日视频| 欧美电影在线观看| 1234操逼网| 99热这里都是精品| 天天开心AV色综合婷婷五月天| 狠狠色噜噜狠狠狠888了| 99热这里只有精品在线播放| 99精品一二三四视频| 91人人网| 大香伊人久色| 日本熟妇精品99| 思思久久网| 思思热性操| 婷婷操婷婷干婷婷射| 婷婷五月丁香色综合| 日本色色色| 夫妇交换刺激做爰| 五月婷婷影| 草美女在线观看视频在线播放| 人人色AV| 亚洲色五月| 无码少妇高潮喷水A片免费| 97成人在线视频| 五月婷婷|欧美| 狠狠艹狠狠艹| 激情开心五月天| 五月丁香六月| 超碰不卡在线| 视色综合| 中文字幕永久在线| 狠狠爱婷婷爱| 亚洲视频伍月婷婷| 亚洲人妻av伦理| 91九九精品| 欧美色色色| 亚洲国产色色| 成人精品一区日本无码网| 久久综合网桃花| 日本色婷婷五月天成人电影| 啪啪激情综合| 激情熟女网| 五月天色狠狠| 九热视频| 日本一级一片免费视频| 激情文学五月丁香六月婷婷| 中文字幕精品无码一区二区| 色五月婷婷中文字幕| 天天视频亚洲| 狠狠精品干练久久久无码中文字幕| 探花搜索结果 - 黄上黄| 婷婷五月丁香高清无码| 精品人妻伦一二三区久| 99久久久免费| WWW99热| 亚洲韩国日产综合AV| 丁香女人五月天| 综合狠狠干| 色网五月婷婷| 五月激情偷拍婷婷| www.超碰在线| 激情五月,色五月| 久久99久久99精品免观看粉嫩| 久草丁香婷婷1024| 色婷婷五月天综合网| 丝袜大香蕉| 五月丁香亭亭操逼| www,com,五月色色| 9999热在线免费观看| 激情五月天无人视频在线| AA丁香综合激情| 综合久久久| 人人摸人人澡人人| 中文字幕av在线播放| 国产色色视频| 五月久久网| 九九在线精点品| 超碰免费观看| 99热这里只有精品在线| 4399在线观看免费高清黄色视频| 婷婷五月丁香五月| 玖玖在线视| 婷婷五月天亚洲综合| 激情婷婷视频在线| 综合激情五月婷婷| 五月丁香色色| 97色色网| 天天天摸夜夜夜玩| 日本人妻操| 丁香五月色| 久久丁香九| 99综合色| 亚洲六月色婷婷| 91超碰人人操| 欧美综合婷婷欧美综| 嫩BBB槡BBBB搡BBBB| 五月天婷婷在线观看精品男人| 久久久97| 激情五月婷婷老师| 26UUU欧美激情一区二区| 亚洲av综合网| XXXX岛国| 99热免费18| 五月激情婷婷国产精品久久久久久| 99免费青青蜜臀| 91凹凸在线| 狼人久草| 婷婷综合九色伊人| 欧美色宗和激情| 丁香色情五月综合激情| 激情五月丁香五月综合| 91AV婷婷| 天天插轮理| 超碰京东热av男人的天堂| 婷婷婷久久久| 婷婷丁香五另类网站| 狠狠爱丁香婷| 五月天婷婷久久视频| 五月婷婷丁香伦理网| 99超碰欧美| 婷婷成人五月天成人文学| 99久在线观看| 熟妇国产| 人人播| 91啪级电影| 久久五月婷综合网| 久久五月婷| 99精品大片| 久热99| 久久九九激情五月天| 99热色精品| 三级三久久线久久99久目本WW| 亚洲亚洲人成综合网络| 五月婷婷五月| 久久在线人妻| 综合亚洲六月婷婷在线| 欧美123区免| 婷婷综合视频| 婷婷中文字幕网| 袁子仪视频观看| 激情婷婷视频在线| 一二线视频 另类| 五月婷婷六月丁香综合| 天天爽天天干天天| 女人天堂av| 99玖玖人人| 婷婷丁香社区| 婷婷五月色播放| 色五月婷婷五月天激情综合| 五月激情开心婷婷| 99九九久久| 亚洲天堂碰碰婷婷| 久久婷婷五月天激情新地址| 五月丁香综合| 色吧五月| 啊V视频在线观看| 色五月婷婷五月天激情综合| 欧美综合激情五月| 情五月亚洲婷婷| 色五月超碰| www.91AV.COM| 99草在线免费观看视频| 99欧美精品99日本精品| 江苏少妇性BBB搡BBB爽爽爽| 超碰碰碰碰| 人妻人人操| 色婷婷日本| 丁香五月激情图片| 洗浴中心操B视频| 亚洲丁香五月美女| 国内裸舞二区| 成人必爱视| 激情五月天久久丁香| 99热日| 丁香五月婷婷欧美成人色图| 色偷偷综合| 99视频网| 日本人人xxx| 日日操日日爽| 色色色色色色色色综合网| 色青青视频| 久久网站观看免费欧洲国产| 婷婷色五月综合丁香| 九九aV| 丁香婷婷五月综合影院| 99九九综合久久九九| 1024婷婷综合久久五月天| 丁香五月婷婷激情蜜桃| 色情五月| 丁香五月六月综合激情| 婷婷五月丁香综合| 黄色99视频| 激情五月,色五月| 久久免费精品小视频| 久操热线| 九九这里有精品视频| 日本美女天天日天天爽| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 久久性爱网| 丁香婷婷成年| 综合网色综合| www.激情| 丁六月激情| 色婷婷香蕉丁丁网| 99热这里只有精品青草| 久久久久9| 人人草人人爱| 99九九精品视频推荐| 91久久网站| 色五月大| 丁香五月婷婷五月天在线| www.狠狠操.co m| va婷婷在线免费观看| 婷婷五月综合视频| 欧美99视频| www.五月丁香| 伊人在线大香蕉网| av九九| 美女100%露全身无挡网站| 九色色| 丁香五月成人网| 婷婷久久大香蕉| 国产亚洲成AV人片在线观黄桃| 极品精品一区二区三区在线| 久久婷婷91| 精品色情一区二区三区四区| 狠狠插日日干撸| 91凹凸在线| 五月婷婷色色| 成人免费高清在线播放| 色播播之激情五月婷婷| 五月丁香在线| 亚洲成人在线观看av| 久久婷婷五月激情综合| 99爱在线| 婷婷激情人妻| WWW.HENHENL.| 综合亚洲色色| 五月激情小说| 色青青电影色五月| 99久热| 婷婷色情六月| 狠狠干综合| 婷婷五月丁香香蕉| 99热这里只有精品1998| 俺去也五月天婷婷| 丁香五婷| 五月激情网络| 欧美一级色| 都市激情亚洲| 五月天另类小说久久小说网| 99热国产这里只有精品| 日本123区日韩欧美不卡在线看| 操操操av| 五月丁香影院| 丁香五月天婷婷91| 五月婷婷人妻| 麻豆WWWCOM内射软件| 久久婷婷五月天激情四射| 五月丁香婷庭在线| 99网| 久久久思思热| 激情综合五月丁香| 色五婷婷| 91日视频| 成人AV网站在线| 超碰AAAAAAV| 天天在线久久综合 | 午夜天堂啪啪| 国产精品视频免费看| 婷久久久| 天天色综合网吨吧| 91久久精品国产91性色TV| 色情综合网| 日本在线视频播放91| 色综合中文综合网| 色婷婷五月天视频在线| 丁香六月天婷婷色| 国产精品久久久丁香五月八戒视频| 色色色色网| 久久99久久99精品免观看粉| 欧美日韩AAAAA| 99熟女啪啪视频| 中文字幕在线不卡视频| 婷婷色五月天在线| 九月av在线| 99视频在线精品免费观看2| 69热91天堂| 米奇影视资源婷婷狠狠色激情欧美五月丁香| 狠狠色狠狠操| 99色色网站| 4399成人黄A片| 欧亚色色| 色色热| 国产va在线视频| 三男玩一女三A片| 干亚洲天堂| 99精彩视频| 99er6| A片女女女女女女BBBB| 欧美性丁香色色五月天综合爱爱| 五月天婷婷久久| 五月天婷五月天综合网在线观| 久久婷婷五月天| 婷婷五月开心中文字幕色| 丁香六月激情| 99热亚洲精品66| 成人五月天。COM| 九九精品热| 六月激情婷婷综合| 26UUU精品一区二区| 噜噜色五月| 六月丁香网| 森林影视大全,最好看的2019年视频 | 五月丁香六月婷婷的女人| 五月激情天| 激情性爱五月天| 99色天堂| 深夜激情网| 精品99在线看| 亚洲精品无码一区二区| 99热这里只有精品18| 加勒比日本一区二区三区| 91热在线| 五月婷婷之六月丁香| 丁香五月天亚洲综合| 色欲影香| 婷婷五月天少妇| 欲求不满的人妻| 五月婷在线观看| 婷婷在线五月天观看| 丁香婷婷五月综合欧美另类| 在线网黄| 激情五月天婷婷视频| 婷婷综合偷拍| 99热这里只有精品9| 激情性五月天免费小说视频| 超碰二区| 五月天丁香婷婷视频网址 | 婷婷激情九月| 婷婷五月综合在线视频| 99热久草| 深爱五月天| 亚洲视频丁香网va| 五月婷婷偷拍| 69天堂99| 九九AV| www五月| 99热国内| 亚洲综合视频在线| 97男人天堂| 六月天婷婷| 五月色婷婷综合| 综合激情网五月激情| 天啪色| 亚洲欧洲中文日韩久久AV乱码| 激情五月天影院| 五月天婷婷在看| 久久婷五月天| 激情六月丁香| 日日爽日日| 丁香婷婷免费| 丁香五月大香蕉| 婷婷五月天首页激情| 精品一二三区久久AAA片| 狠狠爱婷婷丁香| 婷婷综合六月| 色情五月天se| 夜夜躁狠狠| 欧美在线看| 99免费热视频| www98日本小时间到了| 欧美成人va| 狠狠综合区| 婷婷久久国产视频| 中文字幕欧美日韩VA免费视频| 色综合网上班开心婷婷久久| 色情婷婷| 99re思思热在线视频| 色色婷| 色丁香五月婷婷| 五月激情综合网| 久久婷婷综合基地| 丁香五月在线| 97五月天婷婷午夜| 午夜少妇在线观看视频| 人色五月天婷婷| 国产AV熟妇人震精品一品二区 | 五月天久久婷婷| 亚洲视频久久| 精品99在线| 五月丁香成人| 无码色| 婷婷五月天激情综合| 国产肥白大熟妇BBBB视频| 亚洲XX日本| 五月天另类小说久久小说网| 99热精品中文字幕| 五月丁香六月成人| 丰满人妻一区二区三区| 婷婷五月天com| 综合五月激情| 丁香五月婷婷偷拍| www.xtbsty.cn.com蜜乳AV| av九九| 国产成人va在线| 一区二区三区四区牛| 91ncm视频| 99这里只有精品视频免费| 最近中文字幕大全免费版在线 | 久草 天堂| 337p大胆噜噜噜噜噜91Av| 五月天色婷婷小说| 97超碰在线观看免费| 综合婷婷久久| 五月亭亭六月激情| 97日日碰碰| 色久九| 亚洲 精品 综合 精品| 99热爆在线| www,com,五月色色| 五月天伊人av| 超碰五月婷婷五月天| 久热 91| 五月亚洲激情| 伊人久久大香线蕉AV最新午夜| 天天噜日日噜综合无码| 丁香五月天精品| 精品爆操| 久久AAAA片一区二区| 月婷婷婷婷五月| 日本女天天爽| 97香蕉人人在线观看| 中文AV网| 丁香六月色婷婷| 六月丁香婷婷视频综合在线观看| 亚洲人操亚洲人| 成人短视频在线| 1995年关宝慧版蜘蛛女| ww久久| 韩国不卡AC视频 | 夜夜久久综合网| 无码少妇高潮喷水A片免费| 天天玩夜夜操| 亚洲丁香五月美女| 超碰成人在线观看| 精品五月花| 久久久久人妻| 综合99久久天天综合| 久久狠狠色| 超碰大香蕉网| 色久一| 国产3p露脸普通话对白| 亚洲愉拍99热成人精品| 亚洲色情在线| 狠狠擼综合| 91热99| 综合网色综合| 婷婷色五月大香蕉在线| 天天干夜晚夜操| 色噜噜狠噜噜视频| 色五月丁香在线| 激情五月婷婷丁香六月| 欧美日韩成人在线网| 色色色com| 五月天伊人| 日韩狠狠色| 日韩1区2区| 亚洲成人乱码av网站| 久久欧洲久久| 久久久久久综合88| 婷婷 伊人 久久| 99九九精品视频推荐| 色九月| 五月天激情亚洲| 六月久久婷婷| z色五月播播久久| 天天插天天插天天插| 五月婷色丁香| 在线VA视频| 99久热| 91久久综合亚洲鲁鲁五月天| 欧美精品A片一区在线观看| 色情终和网| 日韩免费视频| 婷婷久久综合| 国产亚洲99久久精品| 六月丁香婷| 在线婷婷| 中文字幕在线观看视频www| 国产激情在线| 丁香婷婷激情| 婷婷五月色情| 99视频网址| 日本狠狠干| 狠狠色综合网| 九九在线精品| 五月天婷婷AV| 亚洲乱码在线观看| 五月伊人网| 五月天色色网站| 9久精品视频| 中文字幕av在线| 乱码操操| 久久久久久久人妻| 久久久久9999| 国产乱妇无乱码大黄AA片| 777影视理论片大全在线观看| 婷婷五月天丁香| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 婷婷色网站| 久久婷婷伊人| 激情99| 激情五月综合网| 少妇高潮呻吟A片免费看软件 | 96丁香婷婷九月蜜桃综合久久| 碰碰碰97国产| 99热99思午夜精品| 91好好热日本在线| 大香蕉婷婷丁香视频在线| 婷婷精品视频| 丁香五月图片| 亚洲VA在线| 79精品视频| 五月婷婷日| 婷婷91| 久久免费精彩视频| 五月激情综| 影音先锋91| 色色日本| 少妇伦子伦精品无吗| 欧美日本不卡黄色片| 欧美久人人| 99ri国产在线| 亚洲性图一区二区三区| 五月天婷婷五月| 天天摸天天舔| 99爱这里只有精品免费视频| 丰满女老板BD高清A片| 99A片| 五月停停色| 第四色婷婷日本| www激情网| 五月天另类激情在线| 色999五月色| 少妇性按摩无码中文A片| 丁香五月婷婷总啪啪| 14色综合婷婷| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 婷婷五月激情图片| 中文字幕日产A片在线看| 六月婷欧美丁香综合| AV无码免费| 色播播之激情五月婷婷| 午夜丁香婷婷| 91超级碰| 色色色1网址| www色色色com| 色六月视频| 日韩九区| 一起操最新网址| 91色色色| 日本熟女内射| 深爱开心激情| 久久久色情| 天天搞夜夜叫| 99热这里只有精品免费| 九九热超碰| 五月婷婷色白丝| 久久亚洲色导航| 丁香六月激情| 国产黄大片在线观看画质优化| 色色九九五月天| 五月丁香在线婷婷蜜桃| 另类激情五月| 日韩精品呦呦va| 26UUU一区二区| 丁香五月天成人网站| AA丁香综合激情| 亚洲AV第二区国产精品| 婷婷五月天视频在线观看| 伊人久久大香网| 熟妇国产| 视色网在线播放| 五月天丁香综合| 伊人大香蕉爱聚| 丁香五月天欧美成人| 色五月婷婷小说亚洲中文字幕组| 精品夜夜澡人妻无码AV| 色丁香婷婷| 五月婷婷中文字幕| 久久人人做人人妻人人玩精品va| 中美日韩成人在线| 五月丁香婷婷六月| 91无码一区人妻A片蜜| 色婷婷影院| 激情综合网激情五月天| 成人AV片播放| 五月天三级| 丁香五月激情综合| 超碰国产av| 中文在线视频久1| 人妻第九页| 97丁香花五月天激情小说| 五月天伊人综合| 婷婷久久天堂网| 热99只有精品| 欧美交换配乱吟粗大25P| 亚洲色久| 亚洲六月婷婷| www久久艹| 无码任你操| 老司机视频lsj爱就色| 亚洲婷婷五月草久| 狠狠色综合网| 狠狠做五月| 欧美日朝成人| 天堂久久婷婷| 九九99热| 狠狠99| 天天操夜夜操| 99啪在线视频| 久久精品视频在这里有| 久热A片| 射久久丁香五月| 无码91中文字幕| 狠狠色丁香婷婷基地| 丁香五月婷婷色| 五月婷婷在线视频免费观看| 五月天婷婷社区| 欧美日韩999| 五月天大香蕉| 大香蕉九九| 婷婷深爱五月天| 日日干五月天婷婷| 99视频只有精品| 色情性爱视频网址| 超碰在线成人| 色亭亭五月天网扯| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 欧美人人草| 九九精品婷| 婷婷五月天播播| 亚洲午夜一区二区| 婷婷九月综合| 激情久久综合| 丁香五月婷婷基地| 亚洲综合激| 免费无码毛片一区二区A片| 久久九九99字幕| 婷婷色色网站| 99在线精品免费视频| 狠狠色丁香婷婷| 欧洲一区二区| 激情五月婷婷综合| 亚洲欧洲另类| 五月婷婷九| 丁香青青五月天| 天天肏高清在线| 激情av| 乱精品一区字幕二区| 六月婷婷影院| 色色色9 9 9| 99ri国产在线| 亚洲综合网区| 九月丁香久久网| 成人丁香五月天| 欧美色图天堂网色| 99爱视频在线观看| sewuyuejiqingwang| 九九精品re免费视频| 九九热10| 国产阿姨日皮艹逼内射视频| 色九四色| 久婷婷色| 日本熟女三区| www.91AV.com| 综合激情婷婷| www.五月天婷婷姐姐| 激情婷婷22月间| 丁香婷婷大香蕉| 五月丁六月香av| 日本三级网址| 婷婷五月天av| 人人噜天天上| 五月婷婷激情综合| 婷婷丁香91综合| 久99久在线观看| 丁香久色| 99re热在线视频观看| 色五月天电影| 色婷婷丁香香香蕉视频| 日本超碰在线| 九九九激情网| 丁香六月婷婷综合| 人人舔天天| 超碰人人操在线| 国产性爱在线| 日本久热| 五月天成人在线| 99re免费精品视频| 超91热| 婷婷深爱五月| ji'qi'luan'ren'lun| 色婷婷丁香网| 久久免费试看120秒| 9久热| 另类 在线| 99aese| 日本久久综合| 综久久久| 国产成人片| 91成人电影| 丁香婷婷色五月合集| 成人精品在线| 91亚洲免费片| 99re6在线视频精品免费| 天天综合五月天| 五月天婷婷乱| 噜噜色天天开心| 久久精品五月| 艹B高清无码| 九九热99热| 天天干天天插| 中文网av| 天天爽夜夜爽夜夜爽精| 97热这里精品在线视频| 免费91久久精品| 欧美成人精品A片免费一区99| 激情综合激情综合| 成年人99热| 亚洲色色在线| 日韩综合天堂| 丁香五月婷婷色偷偷| 丁香伍月婷电影全集| 99性爱| 日韩成人中文字幕| 996er热| 日日爽天天| 六月丁香激情最新更新| 99热18| 日本久久精品18| 久久天堂色| 91狼友视频网页更新| 欧美性猛交AAAA片黑人 | 五月婷婷综合网| 久久92| 婷婷欧美| 五月婷激情| 丁香色综合| 天天综合亚洲综合| 丁香五月瑟瑟| 伊人青草成人| 99国产小视频2013| 伊人久久婷婷| 色综合色五月| 久久婷婷五月综合色奶水99啪| 97人妻碰碰碰久久久久-最近国语高清| 九九九九热99超碰| www.金莲av| 色婷婷丁香花五月天| 被强行糟蹋的女人A片| 久久久五月天| 中文字幕成人| 狠狠色婷婷7777久| 久久婷婷亚洲| 国产毛片精品一区二区色欲黄A片| 97久久人人| 天天噜日日噜综合无码| 色噜噜狠狠色综合成人99| 久久五月婷婷丁香| 激情久久久久久久久久久| 五月丁香久久| 婷婷情色五月天| 91九色丨国产丨爆乳| 五月婷婷激情性爱| 九九九热精品| 色五月天综合网| 综合色99| 强辱丰满人妻HD中文字幕| 国产XXXX搡XXXXX搡麻豆| 无码激情AAAAA片-区区| 国产精品美女久久久久AV超清| 国产成人精品一区二三区熟女在线| 激情又色又爽又黄的A片| 极品人妻VIDEOSSS人妻| 婷婷五月丁香亚洲| 9l久久久视频| 影音先锋男人资源站一区二区| 五月天激情啪啪| 六月丁香综合| 99久久99视频只有精品| 天天爽天天日人人爱| 丁香5月啪啪| 婷婷五月天香蕉| 成年人丁香五月| 九九精品综合| 天天爽天天操| 亚洲亚洲人成综合网络| 就去色色五月丁香婷婷久久久| 九九激情视频| 超碰免费人妻| 777.色色| 99热中文字幕久久| 97碰人人操| 亚洲激情网| 这里只有精品96| 91九色无码内射| √天堂资源在线人妻熟女| 99热色无码| 久热这里只有精品66| 六月婷婷开心| 国产一级片| 99ER热精品视频| 91色欲综合| 色五月婷婷av| 婷婷五月天,影院| 情久久综合五月天| 六月婷婷综合| 人妻熟人中文字幕一区二区| 九月婷婷激情久久| 色五月成人| 五月婷婷干| 99爱视频| 国产99久久久国产精品免费看| 大香蕉丁香五月| 九九九色综合| 婷婷五月天激情亚洲小说| 另类小说色婷婷| 亚洲成人免费电影| 成人精品网站在线观看| 日本三级韩三级99久久| 欧美97p| 五月婷婷人人人操| 国产精品日本一区二区在线播放| 五月丁香中文婷婷中文| 99热欧美在线观看| 十月丁香九月婷婷综合| 五月婷婷香| 婷婷五月激情综合网| 色婷婷大香蕉| 丁香5月婷婷| 久热这里只有精品99re| 百度一下国产精品A| 婷婷五月天黄色| 五月丁香激情婷婷综合| 在线婷婷| 婷婷五月综合丁香久久| AV伊人青草丁香六月| 五月婷婷免费看| 91操人视频| 伊人五月综合网| 色婷婷六月综合| 婷婷五月天久久久| 成人免费超碰| 色之综合网| www.99热在线| 色婷婷激情Av久久久| 五月丁香婷婷色| 精品人妻一区二区三区四区不卡在| 120分钟婬片免费看| 密乳Va| 五月综合精品| www.久热| 99操免费视频| 婷婷五月天免费视频在线观看| 日日操夜夜撸| 婷婷五月丁香香蕉| 五月丁香六月综合激情网| 九九热在线观看视频| 91 原创 在线 九色| 另类综合网| 亚洲久热| 黄色AV日韩| 丁香六月婷| 精品热九九| 丁香五月婷婷色综合基地| 婷婷五月天久久久| 欧美丁香五月| 丁香五月激情综合啪啪| 成人无码精品1区2区3区免费看| 天天操加勒比| 99热只有这里有精品| 久久桃花网色婷婷| 欧美va国产va| 激情五月小说婷婷| 99热亚洲精品| 九九精品免费| 国内久久婷婷| 天天摸天天高潮天天爽| 国产69久久久欧美黑人A片| 激情av| 92久久| 台湾无码A片一区二区| 特级西西4444www无码| 99久久97| 综合色色婷婷| 9色91视频| www.色婷婷。com| 亚洲九九夜夜| 天天干,天天舔| 婷婷综合网| 4399无码视频| www.一起草av| 久久丁香五月婷婷| 日本强伦片中文字幕免费看| 五月丁香色色综合| 五月天色综合| 99色综合网| 夜夜干天天操| 久久亚洲A| 激情五月天视频| AV九九| 色五月天综合网| 掩去也综合五月视频| 人人播| 狠狠艹狠狠艹| 99热超碰| 色的色综合| 久久在线视频免费观看| 91视屏在线观看com.wwwvv| 无码激情AAAAA片-区区| 翔田千里无码| 久婷狼色诱惑在线| 日本操逼九九九九58日本操逼| 玖玖@三月天天丁香婷婷| 成人电影丁香六月天| 九九中文色色| 人妻啪啪啪| 日韩AV在线免费观看| 99九九热在线观看| 九九香蕉网| 久久小视频| 五月婷婷丁香五月亚洲色| 久99999热视频在线观看免费| 九九热手机在线视频| www超碰com| 九九激情| 91在线日| 97人人射| 开心五月婷婷在线视频免费观看| 激情综合视频| 开心五月网| 九月丁香亭亭| 亚洲激情在线| www.sezonghe| 伊人9草在线观看| 超碰免费99| 伊人五月婷婷| 五月停性愛| 亚洲无码色| 国产日比| 中文字幕 中文字幕明步| 亚洲va欧美va国产综合久久久| 久久99精品久久久久久青青AR| 97操视频| 五月天播播综合| 一区二区你懂的| 六月婷婷综合激情| 婷婷四月 成人 狠狠干| 婷婷色色欧美综合网| 婷婷五月色激情欧美激情| 久久婷色| 亚洲综合网在线| 天天爱天天秀天天做| 精品久久二6| 沈娜娜av| 无码人妻激情| 久久伊人日日夜夜| 婷婷伊人綜合| 五月婷婷开心网| 99热99热| 91九色丨国产丨爆乳| 色欲一区二区三区精品A片| 99久久性爱| 中文字幕永久在线| 五月丁香婷婷欧美色图视频五月丁香777电影 | 丁香五月婷婷亚洲激情四射| 91丨九色丨国产打屁股| 噜噜噜色噜噜| 99黄色在线视频精品熟女| 欧美性做爰大片免费看办公室 | 亚洲av电影网站| 久久综合爱| 五月综合缴情网| 99久久婷婷国产综合精品青桔| 久久婷婷一级片| 色色网站|