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

ARTICLE DETAIL

資訊詳情

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

ROS2自定義消息實(shí)戰(zhàn):從msg設(shè)計(jì)到話題觀測(cè)

ROS2自定義消息實(shí)戰(zhàn):從msg設(shè)計(jì)到話題觀測(cè) 這周調(diào)四輪差速底盤(pán)時(shí)我又被同一個(gè)問(wèn)題絆了一下輪速、電流、溫度、PWM這些狀態(tài)量到底用哪種ROS2話題消息發(fā)下游節(jié)點(diǎn)才看得最省心用Float32MultiArray當(dāng)然能發(fā)但下標(biāo)一多收的一方根本不知道第3個(gè)float是電流還是占空比。于是我把這套協(xié)議寫(xiě)成了自定義msg順手把ROS2自定義消息設(shè)計(jì)、功能包配置、發(fā)布訂閱實(shí)現(xiàn)和話題觀測(cè)的完整流程走了一遍。這篇記錄就是這次實(shí)戰(zhàn)的復(fù)盤(pán)適合剛?cè)腴T(mén)ROS2、被自定義消息繞暈的新手也適合想規(guī)范自己消息接口的中級(jí)開(kāi)發(fā)者。看完你能獨(dú)立完成一個(gè)msg功能包從設(shè)計(jì)字段到編譯驗(yàn)證再通過(guò)命令行和可視化工具把話題數(shù)據(jù)看得明明白白。1. 自定義消息的適用邊界什么時(shí)候該自己寫(xiě)msg什么時(shí)候直接用標(biāo)準(zhǔn)類型1.1 從底盤(pán)狀態(tài)發(fā)布需求說(shuō)起一個(gè)下標(biāo)引發(fā)的協(xié)議混亂先還原一下場(chǎng)景。我要把四個(gè)輪子的目標(biāo)轉(zhuǎn)速、實(shí)際轉(zhuǎn)速、電機(jī)溫度、母線電流、PWM占空比發(fā)出來(lái)每50ms一幀總共需要十幾二十個(gè)字段。第一反應(yīng)是用std_msgs/Float32MultiArray定義一個(gè)20維的數(shù)組。發(fā)布端攥著下標(biāo)一個(gè)values[3]xxx地賦值訂閱端也要靠下標(biāo)去猜一旦兩個(gè)版本對(duì)不上輕則讀錯(cuò)數(shù)據(jù)重則把溫度當(dāng)成了轉(zhuǎn)速去跑安全判斷。這已經(jīng)不是代碼風(fēng)格的問(wèn)題是數(shù)據(jù)安全隱患。用自定義msg之后完全不同msg里字段有名字、有類型、有注釋motor_id就是motor_idtemperature就是temperature。發(fā)布端寫(xiě)起來(lái)是msg.temperature45.2訂閱端一眼就知道這個(gè)數(shù)代表什么代碼可讀性和可維護(hù)性直接上了一個(gè)臺(tái)階。1.2 標(biāo)準(zhǔn)消息庫(kù)能覆蓋大多數(shù)場(chǎng)景但個(gè)性化協(xié)議還得自己來(lái)不是說(shuō)所有消息都要自定義ROS2發(fā)展到現(xiàn)在標(biāo)準(zhǔn)接口庫(kù)已經(jīng)非常全。我最常用的幾個(gè)標(biāo)準(zhǔn)消息類型適用場(chǎng)景std_msgs/String、Bool、Int32簡(jiǎn)單狀態(tài)量、開(kāi)關(guān)、日志字符串std_msgs/Header帶時(shí)間戳和frame_id的消息頭geometry_msgs/Pose、Twist、Transform位姿、速度、坐標(biāo)變換相關(guān)sensor_msgs/Image、LaserScan、Imu相機(jī)、激光雷達(dá)、IMU傳感器數(shù)據(jù)nav_msgs/Odometry里程計(jì)判斷是否要自定義消息我一般看三條這個(gè)數(shù)據(jù)結(jié)構(gòu)會(huì)不會(huì)在多個(gè)節(jié)點(diǎn)之間復(fù)用字段是否相對(duì)固定下游是否依賴字段名字做邏輯判斷如果三個(gè)答案都是“是”就值得寫(xiě)自定義msg。如果只是一次性臨時(shí)傳參沒(méi)人在乎字段名那用MultiArray之類的通用結(jié)構(gòu)也能湊合但別讓這種代碼活過(guò)一星期。還有一個(gè)重要權(quán)衡標(biāo)準(zhǔn)消息類型往往自帶工具鏈支持。sensor_msgs/Imu可以在rviz2里直接可視化nav_msgs/Odometry可以被導(dǎo)航棧直接消費(fèi)。自定義消息想讓外部工具看懂就得自己寫(xiě)插件或者靠Foxglove這類通用工具兜底。所以我的原則是能復(fù)用標(biāo)準(zhǔn)消息就別自創(chuàng)只有標(biāo)準(zhǔn)類型無(wú)法準(zhǔn)確表達(dá)業(yè)務(wù)語(yǔ)義時(shí)才自寫(xiě)。2. 從零創(chuàng)建一個(gè)獨(dú)立msg功能包依賴、文件配置與編譯鏈路2.1 為什么我建議把msg單獨(dú)放在一個(gè)功能包里項(xiàng)目一多你就知道消息接口和業(yè)務(wù)邏輯混裝在一個(gè)包里麻煩會(huì)接踵而至。A包要引用B包里的msgB包又要依賴A包的消息很容易出現(xiàn)循環(huán)依賴。更常見(jiàn)的是業(yè)務(wù)包更新頻繁消息包也跟著一遍遍重新編譯所有依賴它的節(jié)點(diǎn)全要連帶重編開(kāi)發(fā)效率被拖得很低。所以我現(xiàn)在只要項(xiàng)目里有自定義消息都會(huì)給它們單獨(dú)建一個(gè)功能包比如叫my_msgs或者robot_interfaces。命名上建議用“項(xiàng)目名interfaces”或者“項(xiàng)目名msgs”既清楚又符合社區(qū)習(xí)慣。功能包構(gòu)建類型用ament_cmake雖然消息也能在ament_python包里生成但CMake版對(duì)跨語(yǔ)言支持最省事Python和C節(jié)點(diǎn)都能直接消費(fèi)不用額外處理安裝路徑。2.2 創(chuàng)建功能包與編寫(xiě)MotorStatus.msg創(chuàng)建命令很簡(jiǎn)單cd ~/ros2_ws/src ros2 pkg create my_msgs --build-type ament_cmake mkdir my_msgs/msg然后在msg目錄下新建MotorStatus.msg內(nèi)容可以這樣設(shè)計(jì)# 電機(jī)狀態(tài)消息 int32 motor_id # 電機(jī)編號(hào) float32 speed # 當(dāng)前轉(zhuǎn)速 rad/s float32 target_speed # 目標(biāo)轉(zhuǎn)速 rad/s float32 current # 母線電流 A float32 temperature # 電機(jī)溫度 ℃ builtin_interfaces/Time stamp # 時(shí)間戳每一行就是一個(gè)字段格式是“類型 名字 # 注釋”。注釋會(huì)在ros2 interface show里顯示出來(lái)等于把設(shè)計(jì)文檔直接帶進(jìn)了工具鏈。2.3 CMakeLists.txt與package.xml里缺一不可的配置寫(xiě)好msg文件后最關(guān)鍵的配置在CMakeLists.txt和package.xml里。CMakeLists.txt中至少在ament_package()之前加find_package(rosidl_default_generators REQUIRED) find_package(builtin_interfaces REQUIRED) rosidl_generate_interfaces(${PROJECT_NAME} msg/MotorStatus.msg )package.xml里需要補(bǔ)齊這幾行buildtool_dependrosidl_default_generators/buildtool_depend exec_dependrosidl_default_runtime/exec_depend dependbuiltin_interfaces/depend member_of_grouprosidl_interface_packages/member_of_group這個(gè)member_of_group是最容易被忽略的一行。漏掉之后消息雖然能編譯出來(lái)但其他功能包可能沒(méi)法正常識(shí)別這個(gè)包提供的接口現(xiàn)象就是找不到類型、build依賴報(bào)錯(cuò)或者ros2 interface list里搜不到。2.4 編譯、source與接口驗(yàn)證缺一步都會(huì)讓你懷疑人生配置完成后回到工作空間根目錄編譯cd ~/ros2_ws colcon build --packages-select my_msgs source install/setup.bash然后驗(yàn)證接口是否被正確識(shí)別ros2 interface show my_msgs/msg/MotorStatus看到剛才寫(xiě)的字段說(shuō)明消息包已經(jīng)注冊(cè)到系統(tǒng)里了。這一步一定要做。如果不做就急著去寫(xiě)發(fā)布訂閱節(jié)點(diǎn)遇到import報(bào)錯(cuò)再回頭排查浪費(fèi)的時(shí)間遠(yuǎn)超你想象。3. msg字段設(shè)計(jì)原則類型選型、命名習(xí)慣與版本演進(jìn)3.1 字段類型怎么選從基本類型到時(shí)間和嵌套消息ROS2 msg的基本類型和大多數(shù)語(yǔ)言差不多bool、int8/16/32/64、uint8/16/32/64、float32、float64、string。需要注意兩點(diǎn)一是float32對(duì)應(yīng)C的floatPython則統(tǒng)一用float二是ROS2里時(shí)間戳字段推薦顯式寫(xiě)builtin_interfaces/TimeDuration同理用builtin_interfaces/Duration不要再用舊版本那種裸time/duration寫(xiě)法跨包依賴時(shí)容易出問(wèn)題。如果涉及坐標(biāo)、位姿等數(shù)據(jù)可以直接嵌套其他包的消息std_msgs/Header header geometry_msgs/Pose pose sensor_msgs/PointCloud2 cloud嵌套能極大復(fù)用已有生態(tài)下游拿到Pose后可以直接配合TF、rviz等工具使用。數(shù)組也很常用float32[] ranges表示變長(zhǎng)數(shù)組float32[4] wheel_speeds表示定長(zhǎng)數(shù)組。設(shè)計(jì)時(shí)想清楚業(yè)務(wù)需要的是定長(zhǎng)還是變長(zhǎng)定長(zhǎng)數(shù)組在內(nèi)存布局上更規(guī)整變長(zhǎng)數(shù)組更適合點(diǎn)云這類動(dòng)態(tài)數(shù)據(jù)。3.2 常量定義與注釋規(guī)范msg里允許定義常量用法和枚舉很像uint8 MODE_IDLE0 uint8 MODE_RUN1 uint8 MODE_FAULT2 uint8 mode下游判斷模式時(shí)不用寫(xiě)裸數(shù)字直接用MotorStatus.MODE_RUN代碼可讀性提高一大截。注釋用#建議把單位、范圍、異常值都寫(xiě)在注釋里ros2 interface show都能看到等于給協(xié)議做了可查詢的活文檔。我見(jiàn)過(guò)很多項(xiàng)目里msg文件干干凈凈沒(méi)有任何注釋過(guò)兩個(gè)月連自己都得猜字段含義這習(xí)慣真的得改。3.3 版本迭代時(shí)盡量向后兼容消息協(xié)議一旦在多個(gè)節(jié)點(diǎn)間流傳改動(dòng)就要格外謹(jǐn)慎。加一個(gè)字段所有發(fā)布端和訂閱端都更新基本沒(méi)問(wèn)題但刪字段、改類型哪怕只是int32改成float32都可能讓舊節(jié)點(diǎn)按錯(cuò)誤的字節(jié)序解析數(shù)據(jù)出現(xiàn)完全不正常的值。我的經(jīng)驗(yàn)是能加字段就加字段不要?jiǎng)h改舊字段如果實(shí)在要改語(yǔ)義就新增加一個(gè)字段舊字段保留并標(biāo)記為deprecated。另外msg功能包升級(jí)后依賴它的業(yè)務(wù)功能包必須重新編譯并source否則節(jié)點(diǎn)還在跑舊類型定義容易出現(xiàn)字段對(duì)不上、內(nèi)存解析錯(cuò)位的詭異問(wèn)題。4. 發(fā)布與訂閱自定義消息Python與C的最小可運(yùn)行實(shí)現(xiàn)4.1 Python發(fā)布端與訂閱端從import到publish只需要幾行Python端流程很清晰發(fā)布節(jié)點(diǎn)import rclpy from rclpy.node import Node from my_msgs.msg import MotorStatus class MotorPublisher(Node): def __init__(self): super().__init__(motor_status_publisher) self.publisher_ self.create_publisher(MotorStatus, motor_status, 10) self.timer self.create_timer(0.1, self.timer_callback) def timer_callback(self): msg MotorStatus() msg.motor_id 1 msg.speed 120.5 msg.target_speed 120.0 msg.current 3.2 msg.temperature 45.2 self.publisher_.publish(msg) def main(argsNone): rclpy.init(argsargs) node MotorPublisher() rclpy.spin(node) node.destroy_node() rclpy.shutdown() if __name__ __main__: main()訂閱節(jié)點(diǎn)唯一需要注意的是回調(diào)函數(shù)只接收一個(gè)msg參數(shù)class MotorSubscriber(Node): def __init__(self): super().__init__(motor_status_subscriber) self.subscription self.create_subscription( MotorStatus, motor_status, self.listener_callback, 10) def listener_callback(self, msg): self.get_logger().info( fmotor_id{msg.motor_id} temp{msg.temperature:.2f})我自己項(xiàng)目里最容易犯的錯(cuò)是msg字段拼寫(xiě)和定義不一致比如定義的是target_speed寫(xiě)代碼時(shí)寫(xiě)成targetSpeedPython會(huì)在賦值時(shí)才報(bào)AttributeError一報(bào)錯(cuò)就先慌半天。其實(shí)翻一眼ros2 interface show就能對(duì)上排查成本極低。4.2 C實(shí)現(xiàn)要點(diǎn)蛇形頭文件與CMake鏈接C工程里消息頭文件是蛇形命名的my_msgs/msg/motor_status.hpp。寫(xiě)一個(gè)最小發(fā)布端#include rclcpp/rclcpp.hpp #include my_msgs/msg/motor_status.hpp using my_msgs::msg::MotorStatus; class MotorPublisher : public rclcpp::Node { public: MotorPublisher() : Node(motor_status_publisher) { publisher_ this-create_publisherMotorStatus(motor_status, 10); timer_ this-create_wall_timer(std::chrono::milliseconds(100), [this]() { auto msg std::make_sharedMotorStatus(); msg-motor_id 1; msg-speed 120.5; msg-target_speed 120.0; msg-current 3.2; msg-temperature 45.2; publisher_-publish(*msg); }); } private: rclcpp::PublisherMotorStatus::SharedPtr publisher_; rclcpp::TimerBase::SharedPtr timer_; };CMakeLists里要鏈接my_msgsfind_package(my_msgs REQUIRED) ament_target_dependencies(motor_pub rclcpp my_msgs)漏掉find_package(my_msgs REQUIRED)時(shí)編譯報(bào)錯(cuò)通常是找不到頭文件提示并不直觀容易讓人誤以為是路徑問(wèn)題。如果發(fā)現(xiàn)編譯一報(bào)錯(cuò)就是fatal error: my_msgs/msg/motor_status.hpp: No such file or directory九成是這句沒(méi)寫(xiě)。4.3 QoS匹配是topic echo沒(méi)數(shù)據(jù)最常見(jiàn)的元兇發(fā)布訂閱都寫(xiě)對(duì)了ros2 topic echo還是沒(méi)數(shù)據(jù)十有八九是QoS策略不兼容。簡(jiǎn)單說(shuō)QoS就是收發(fā)雙方對(duì)消息可靠性、時(shí)效性、歷史深度的約定。depth是隊(duì)列深度reliability分reliable和best_effort前者保證不丟包但可能延遲后者犧牲可靠性換低延遲。如果發(fā)布端是sensor_databest_effort訂閱端卻是默認(rèn)的reliable兩邊匹配不上數(shù)據(jù)就傳不過(guò)去。排查方法很直接ros2 topic info /motor_status -v這個(gè)命令會(huì)顯示發(fā)布者和訂閱者各自的QoS配置。如果reliability一側(cè)是Reliable另一側(cè)是Best Effort就需要在create_subscription里顯式指定QoS或者把發(fā)布端的QoS改成兼容版本。我用攝像頭數(shù)據(jù)時(shí)經(jīng)常遇到這個(gè)問(wèn)題而自己寫(xiě)的控制消息默認(rèn)reliable通常不太會(huì)踩坑但一旦踩了排查起來(lái)很隱蔽。5. 話題觀測(cè)的完整工具箱CLI、可視化工具與日志兜底5.1 ros2 topic系列命令list、echo、info、hz、bw一次說(shuō)清命令行是觀測(cè)話題的第一道門(mén)我基本每天都會(huì)用到這一組命令ros2 topic list # 列出所有話題 ros2 topic list -t # 列出話題及其消息類型 ros2 topic echo /motor_status # 持續(xù)打印話題數(shù)據(jù) ros2 topic echo /motor_status --once # 只打印一幀 ros2 topic info /motor_status -v # 查看發(fā)布訂閱數(shù)量和QoS ros2 topic hz /motor_status # 統(tǒng)計(jì)真實(shí)發(fā)布頻率 ros2 topic bw /motor_status # 統(tǒng)計(jì)話題帶寬占用 ros2 interface show my_msgs/msg/MotorStatus # 查看字段定義其中hz最實(shí)用。比如你設(shè)置了10Hz定時(shí)器但回調(diào)耗時(shí)太長(zhǎng)hz顯示出來(lái)只有2Hz不用猜就能定位是發(fā)布側(cè)卡了還是調(diào)度出了問(wèn)題。bw則在排查大消息點(diǎn)云、圖像占用帶寬時(shí)很有用。5.2 rqt_graph與rviz2可視化觀測(cè)能做到什么程度rqt_graph能把節(jié)點(diǎn)和話題關(guān)系畫(huà)成一張圖是理解系統(tǒng)拓?fù)渥钪庇^的工具rqt_graph看到節(jié)點(diǎn)間的箭頭就能快速判斷話題名和節(jié)點(diǎn)連接是否符合預(yù)期。如果某個(gè)話題的箭頭沒(méi)畫(huà)出來(lái)或者多了一個(gè)意料之外的節(jié)點(diǎn)連接通常說(shuō)明命名或邏輯有問(wèn)題。我在調(diào)多節(jié)點(diǎn)系統(tǒng)時(shí)幾乎每次都會(huì)先開(kāi)rqt_graph再?zèng)Q定下一步看哪里。rviz2對(duì)自定義消息的支持就有限了。像Pose、LaserScan、Imu這種標(biāo)準(zhǔn)消息rviz2有專門(mén)的Display插件可以直接可視化但MotorStatus這種純數(shù)值消息rviz2沒(méi)有默認(rèn)Display能顯示。我一般不在rviz2里看這種消息而是用Foxglove Studio。Foxglove對(duì)自定義消息支持得更好能直接以表格和曲線形式看任意字段非常適合電機(jī)狀態(tài)這類遙測(cè)數(shù)據(jù)。5.3 自寫(xiě)觀測(cè)節(jié)點(diǎn)和ros2 bag不依賴圖形界面的兜底方案如果目標(biāo)環(huán)境沒(méi)有圖形界面比如工控機(jī)或者Docker容器里命令行和自寫(xiě)節(jié)點(diǎn)就很重要。我個(gè)人的習(xí)慣是在每個(gè)業(yè)務(wù)包里留一個(gè)debug_sub節(jié)點(diǎn)用最簡(jiǎn)單的方式打印關(guān)鍵字段必要時(shí)還可以直接pdb.set_trace()進(jìn)入調(diào)試單幀數(shù)據(jù)就能停在那慢慢看。另一個(gè)被低估的工具是ros2 bagros2 bag record /motor_status ros2 bag play rosbag2_xxx現(xiàn)場(chǎng)測(cè)完一包數(shù)據(jù)回到工位回放配合topic echo和Foxglove慢慢分析。尤其是偶發(fā)異??咳搜鄱onsole根本盯不住錄包回放是唯一高效的辦法。這個(gè)習(xí)慣幫我解決過(guò)好幾次“現(xiàn)場(chǎng)復(fù)現(xiàn)不了”的疑難雜癥。6. 踩坑實(shí)錄自定義msg使用中最容易翻車(chē)的五個(gè)細(xì)節(jié)6.1 source順序和構(gòu)建緩存導(dǎo)致的消息類型“消失”最常見(jiàn)也最氣人的問(wèn)題明明已經(jīng)colcon build了ros2 interface show卻提示找不到類型。原因通常是當(dāng)前終端沒(méi)有source新生成的install/setup.bash或者之前source的是另一個(gè)工作空間的setup.bash。解決辦法是新開(kāi)終端cd ~/ros2_ws source install/setup.bash確保路徑里同時(shí)包含基礎(chǔ)ROS2環(huán)境和當(dāng)前工作空間。如果source沒(méi)問(wèn)題但還是找不到就得懷疑build/install目錄里的舊緩存了。這種時(shí)候我一般直接刪掉build和install目錄再重新build雖然慢一點(diǎn)但能把各種莫名其妙的舊文件問(wèn)題一次性清干凈。6.2 修改msg后調(diào)用方還在用舊字段我試過(guò)在MotorStatus里把current字段改名為bus_current所有被依賴的包都重新編譯了但跑起來(lái)的一個(gè)Python節(jié)點(diǎn)一直報(bào)AttributeError。原因是想當(dāng)然以為source了新環(huán)境就萬(wàn)事大吉實(shí)際上某些ros2 run是從舊終端啟動(dòng)的進(jìn)程還加載著舊環(huán)境變量或者install目錄里舊包沒(méi)被覆蓋。解決方法是全關(guān)終端重新source必要時(shí)把install目錄下對(duì)應(yīng)包的緩存刪掉再build。經(jīng)驗(yàn)就是當(dāng)你肉眼看到字段沒(méi)生效先殺終端進(jìn)程和舊節(jié)點(diǎn)而不是只編譯一次。6.3 消息包被多個(gè)業(yè)務(wù)包依賴時(shí)的構(gòu)建順序問(wèn)題當(dāng)my_msgs被底盤(pán)控制、導(dǎo)航、狀態(tài)機(jī)三個(gè)包同時(shí)依賴時(shí)colcon build的默認(rèn)順序一般沒(méi)問(wèn)題它會(huì)自己解析依賴。但如果只用了--packages-select去編譯某個(gè)業(yè)務(wù)包而my_msgs還沒(méi)編譯或沒(méi)source那結(jié)果一定是找不到頭文件或import報(bào)錯(cuò)。正確做法是用--packages-up-tocolcon build --packages-up-to motor_controller這個(gè)命令會(huì)把依賴鏈上游一起編譯而--packages-select只編譯指定包本身。這兩個(gè)參數(shù)的差別踩過(guò)坑的自然懂。6.4 echo有話題但數(shù)據(jù)為空或出現(xiàn)nan這個(gè)坑我踩得莫名其妙。發(fā)布端打印出來(lái)的msg里明明是正常數(shù)值但訂閱端收到后卻是nan或者0。后來(lái)發(fā)現(xiàn)是C代碼里創(chuàng)建了消息對(duì)象但沒(méi)有給字段賦值就發(fā)布某些字段的值取決于內(nèi)存初始狀態(tài)不一定是0。另一個(gè)常見(jiàn)情況是把float32字段定義成數(shù)組了或者數(shù)據(jù)結(jié)構(gòu)改了但解析代碼沒(méi)改。建議發(fā)布前先斷言一遍關(guān)鍵字段if (!std::isfinite(msg-speed)) return;這種防御式寫(xiě)法能把臟數(shù)據(jù)擋在源頭省得下游節(jié)點(diǎn)拿到異常值后像無(wú)頭蒼蠅一樣亂轉(zhuǎn)。6.5 話題名和消息類型對(duì)不上排查思路固定化還有一類錯(cuò)誤跟msg設(shè)計(jì)無(wú)關(guān)但特別容易在項(xiàng)目里反復(fù)出現(xiàn)發(fā)布的是/motor_status訂閱端監(jiān)聽(tīng)的是/motor_status/statusrqt_graph一看全是孤立節(jié)點(diǎn)。這種問(wèn)題排查思路可以固定下來(lái)先用ros2 topic list -t確認(rèn)當(dāng)前話題名單和類型再用ros2 topic info /topic -v確認(rèn)收發(fā)雙方都在最后再用rqt_graph看拓?fù)洹0催@個(gè)順序走一般十分鐘內(nèi)能定位。文末不放什么宏大結(jié)論只講兩個(gè)個(gè)人體會(huì)。第一個(gè)自定義msg并不是越早設(shè)計(jì)越好先在小范圍場(chǎng)景里跑通發(fā)布訂閱等字段趨于穩(wěn)定后再抽出獨(dú)立消息包會(huì)少改很多協(xié)議。第二個(gè)我在my_msgs里維護(hù)了一個(gè)protocol_design.md把每個(gè)字段的含義、單位、有效范圍都寫(xiě)清楚這個(gè)文件比代碼注釋有用十倍每次改協(xié)議先改文檔再改msg下游同事都能少問(wèn)很多問(wèn)題。如果你也在折騰自定義消息建議從最簡(jiǎn)單的MotorStatus這類狀態(tài)消息開(kāi)始先看完topic echo輸出再談其他。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
最新精品视频99| 亚洲色情网站| 青青青在线视频国产| 91久久婷婷| 五月婷婷成人| a网站免费观看| 另类专区在线观看| 立川无码av| 色九九综合| 免费AV黄在线播放| 91干婷婷| 日本WWW九九九| 亭亭五月基地在线| 五月天国产| 好吊操这里只有精品| 色噜噜狠狠色综合日日| 九九综合久久| 中文字幕在线资源| 亚洲乱码精品久久久久..| 婷婷五月天av网| 97色色网| 婷婷五月激情的图片| 久狠狠| 天堂在线观看视频| 五月天激情四射网站| 99久在线观看| 青青久在线视频免费观看| 五月婷婷免费在线观看| 停停综合色色| 六月婷婷五月丁香| 色婷婷五月中文字幕在线dvd| 丁香五月婷婷激情中文| 色婷视频| 国产精品操| 亚洲激情av| 99视频超级精品| 无遮挡国产高潮视频免费观看| 丁香激激情网| 狠狠色狠狠| 色播五月| 丁香六月欧美| 色六月丁香婷婷啪啪啪| 三日本无码| 婷婷五月天综合网| 九九99视频精品| 久久9情免费| 欧美乱码国产一级A片| 天天插天天玩天天干| 精品影院| 九热...av| 丁香六月av| 日韩有码一区| 色五月开心开心五月激情五月| 91美女啪啪| 人人综合久| 深爱激情网五月| 67194线路二在线观看| 99A级片| 欧美天天综合网站上去吧| 丁香五月综合激情久久潮喷| 五月丁香六月婷| 色婷婷五月基地在线| 婷婷操无码| 五月天婷婷AV| 九月婷婷久久久| 又大又粗九一在线| 激情五月婷婷| 丁香久久| 激情五月六月婷婷综合啪啪| 成人短视频免费| 九九碰九九爱97| 开心亚洲久久开心| 五月天激情四射| 色一色综合| 操操自拍| 成人免费va| 国产人妻操逼| 婷婷色五月激情强奸四射| 天天干天天干天天| 第四色五月婷婷| 婷婷丁香五月久久| 色五月天影视| 欧美色久| 激情五月天啪啪| 日婷婷| 区区久久妻| 成人婷婷色综合| 超碰国产在线| 五月天综合色| 五月天播播| 日韩婷婷五月天| 91成人视频| 精品久9| 99无码视频| 激情五月天偷拍综合网| 久久综合激情婷婷激情| 婷婷五月天人妻| 色婷婷香蕉| 色五月色五天色情网址| 久久五月婷综合| 99热精品在线| www.91.com黄| 色情五月婷| 天天色综网| 玖玖在线资源视频| 激情五月黄色小说| 激情五月天在线观看婷婷| 五月天丁香综合久久国产| 五月婷婷先锋| xxxx五月天色色| 夜夜爽77777妓女免费下载| 99热免费精品| 五月丁香福利| 99在线热| 超碰av在线| 99成人小视频| 五月丁香六月综合激情无码软件亮点| 久婷婷五月综合欧美| 亚洲中文AV| 五月婷婷丁香六月| 亚洲12p| 天天玩夜夜操| 婷婷性爱| 婷婷五月天激情网| 成人精品一区日本无码网 | 亚洲激情在线| 强伦轩人妻一区二区电影| 欧美五月婷婷| 夜夜爱网站| jiZZdr| 激情网五月| 人人人操97| 狠狠干2007| 色色啊| ri电影在线| 久久婷婷激情五月天一区二区| 99综合久久| 99久久婷婷五月综合| 丁香玖玖| 九九五月天| 久久伦乱| 天天日天天干天天爱| 激情五月婷黄版| 99这里有精品视频3| 丁香五月激情婷婷视频| 大波美女VA网站| 日日夜夜青青草| 五月天啪啪| 99视频精品| 五月天丁香六月综合| 色色激情五月天| 五月丁香操婷逼| 亚洲啪啪啪啪| 成人无码髙潮喷水A片| 欧美性生交XXXXX无码小说| 91超级碰碰碰| 啪啪视频99| 婷婷五月丁香综合亚洲| 日本视频欧美观看免费| 99视频超级精品| 婷婷5月天激情综合| 亚洲日韩人妻操逼| 99re鈥哸鈥唙| 少妇高潮一区二区三区99欧美| 色人妻五月| 亚洲成人五月天| 少妇性按摩无码中文A片| 五月婷婷激情久久| 日产精品久久久久久久蜜臀| 色吊丝中文字幕| 97欧美在线| 精品久热69| 一二区成人电影| 三级三久久线久久99久目本WW| 99精品热视频只有精品10| 色色婷| 日本色婷婷久久99精品91| 伊人网色婷婷五月天| 色日本五月天| 九九综合| 欧美啪啪网| 久久婷婷综合国产| 色婷五月婷婷| AV性爱网| 成人精品99| 九九视频在线| 九热视频| 色99免费视频中文| 色婷婷婷综合五月天| 亚洲人成人五月天| 久久激情网| 午夜69成人做爰视频| 伊人影院久久网| 伊人婷婷综合| 亚洲人人操BD| 精品久久人妻| 久久综合影院| 天天精品视频在线观看视频| 色噜噜婷婷| 91919191919久久成人视频| wwww.色婷婷| 色色婷| 五月天激情婷婷小说| 碰97久久| 99精品丰满| 亚洲成人网站在线观看| 色屌丝中文字幕| 天天综合网站| 婷婷综合精品| 国产亚洲色婷婷久久99精品91| 91九色精品熟女内射| 日韩三级视频一区二区| 美女要搞搞天天搞搞搞网站| 久热9| 爱穴久久| 婷婷五月天综合蜜桃| 久久99大全| 欧美大片| 激情五月天久久丁香| 五月婷婷m| 97狠狠色| www.五月丁香| 996日日爱| 五月天婷婷影院| 久久久性爱网| 丁香色婷婷五月天| 亚洲妇女熟BBW| 日韩肏屄网| 99re这里只有精品在线观看| 色色丁香| 99re6热在线精品视频播放速度| 久久这里只有精品8| 黄桃AV无码免费一区二区三区| 婷婷激情视频| 五月婷婷六月天| 国产一区二区av免费| 婷婷色网站| 久久金品黃色| 亚洲精品另类| 婷婷情色激情| 亚洲AV成人无码精品| 九九综合网色全集 | 色色婷五月天| 日韩无码专区| 五月丁香六月婷婷,婷| 九月婷婷色色| 色综合香蕉| 国产欧美日韩一区二区三区| 午夜婷婷| 狠狠狠狠免费| 免费无码毛片一区二区A片| 五月激情综合网| 欧美激情-区二区三区| 五月丁香婷婷综合| 色播综合| 五月天另类小说| 91九色 婷婷| 天天干 夜夜爽| 丁香婷婷成年| 丁香六月婷婷综合在线| 99国产精品白浆在线观看免费| 久久99婷婷| 婷婷五月天综合AV| 久热精彩视频98| 欧美丁香六月激情视频| 黄色视频网站在线播放| 精品视频这里只有精品| 五月天激情综合网| 婷婷爱综合| 天天日天天色| 五月停停色色丁香| 色99在线观看| 五月激情啪啪| 色婷视频| 男女久久婷婷五月天| 激情婷婷| 日本狠狠爽| 丁香五月AV| 99久久a线观| 人人草人人舔| 天天天天天操| 成人五月天。COM| 中文乱子伦视频| 欧美情色一区| 婷婷 激情 五月| 亚洲乱码日产精品BD| 这里只有精品在线播放| 日韩性爱无码| 色999五月色| 97色色婷婷| 九九视频在线观看| 26uuu.| 激情网五月天| 开心激情久久久久久久| 日韩久久欧亚| 婷婷天堂站| 99综合免费视频| 99操逼| 久久久五月激| 六月激情网| 日日夜夜干| 婷婷色情网| 99综合| 蜜桃婷婷丁香五月天狠狠久久综合| 色婷婷成人做爰A片免费看网站| 免费久久这里只有精品99| 五月天伊人| 丁香伊人激情| 91oumei| 成人综合视频在线| 性 色 婷婷| 六月丁香AV| 激情婷婷五月天日本系列| Aα在线免费观看| 综合大香蕉| 久热这里有精品视频| 96丁香婷婷九月蜜桃综合久久| 狠狠操狠狠狠| 色色五月天丁香婷婷| 色色a| 人妻综合网| 激情五月激情综合网| 黄页大全十八禁| www.久久9| 五月香婷婷| 丁香五月激情六月欧亚激情综合导航 | 五月婷婷与六月丁香图片激情| 五月天丁香成人社| 国产真实乱了老女人视频| 激情丁香六月| 在线中文字幕视频| 91色色色视频| 亚洲中文字幕网| 99综合一区| 超碰成人AV| 六月激情综合| 婷婷五月丁香在线视频| 激情五月综合免费| 五月丁香六月综合基地| 91狼友视频网页更新| 91玖玖| 激情五月,色五月| 久久性都花花世界成人免费视频| 天天爱天天狠天天透| 国产精品久久99| 激情玖玖综合网| 91九色网| 丁香婷婷色五月激情综合| 日本精品在线噜噜噜| www超碰com| 9久热在线视频精品| 开心五月深爱五月婷| 九九干视频| 日韩av一区二区在线/日产精品久久久| 91美女被操| 91色色色视频| 国产精品91抖高| 这里只有精彩视| 久久人操| 久久最新色| 精品爱欲五| 五月花在线观看视频| 久久欧洲久久| www.97碰碰com| 久久九久久| 99性爱视频| 超碰国产AV| 人妻操在线看| 五月婷婷co.m| 丁香五月综合婷婷| 久久婷婷东京热| 婷婷色色亚洲| 午夜天堂一区人妻| 91啪啪视频| 99re热精品在线视频| 9久热在线视频| 少妇人妻人伦A片| 99人妻碰碰碰久久久久禁片| 天天爽天天日| ji'qi'luan'ren'lun| 婷婷五月天 偷拍| 五月开心久久| 久草丁香婷婷五月天婷| 美女xx不卡| 激情小说色五月| 国产成人综合网| 另类图片天天影视在线观看| 色色色在线观看| 欧美va在线| 亭亭五月激情亚洲在线| 伊人青草成人| 欧美狠狠草| 亚洲亚洲人成综合网络| 蜜桃人妻无码AV天堂三区| 婷婷天天色| 淫水导航| 色五婷婷| 99热这里只有精品2| 色9色| 久久中文人妻系列| 色狠狠色噜噜AV天堂五区| 热99这就是精品视频| 夜夜爱伊人| 99热这里只有精品在线观看| 激情五月婷婷五月| 亚洲精品在线视频| 色色综合网站| www.夜夜操.com| 超碰在线91| 人妻内射视频| 亚洲天堂久久| 色色欧美色色色| 亚洲宗合激情| 桃色五月婷婷| 9 1大香蕉| 五月丁香花激情啪啪网| 99re在线免费视频| 99啪视频在线观看| 久久99久久99精品免观看粉嫩| 99久久久精品| 超碰人人91| 另类精品视频在线观看| 五月色情婷婷| 天天射射夜| 婷婷五月丁香婷婷| 亚洲色色香蕉| 91丨九色丨熟女丰满| 综合大香蕉| 五月丁香免费看| 香蕉婷婷| 欧美搡BBBBB摔BBBBB| 亚洲精品又粗又大又爽A片| 亚洲亚洲人成综合网络| 国产综合A片| 71在线精品视频一区| 久久婷婷五月综合激情国产| 人人草成人视频| 99久久久| 欧美大奶熟女噜噜噜噜| 色色婷婷综合网| 天天色综合图片| 伊人激情影院| www.五月.com| 开心色色五月天综合| 亚洲综合碰| 伊人网啪啪| 日韩中文欧美| 天天干天天操天天上| 国产成人+亚洲+欧洲| 色婷婷小说网| 色色色色综合网| 久久综合99综合| 热996精品在线观看| Av九九| 天天拍夜夜撸| 亚洲五月天婷婷综合| 久久a热| 亚洲色综合| 看片视频在线免费日产在线看| 国产真人做爰视频免费| 丁香五月电影院在线观看| 色色五月丁香| 久色中文| 玖玖99免费视频| 激情五月综合亚洲另类| 婷婷五月激情综合啪啪| 色久播播| 天天摸日日舔狠狠添婷婷婷| 久久久久久久久99精品| 亚洲成av人影院| 999九九九久久久99HD| 婷婷九月丁香天堂丁香天堂| 5月婷婷综合| 91精品综合久久久久久五月丁香| 婷婷综合激情| 五月婷av| 婷婷久久综合| 五月第四色| 婷婷丁香五月天激情| 99久99久| 就要去操亚洲成人精品五月天丁香婷婷| 日韩精品色| 丁香五月婷婷色情综合| 操逼电影免费看| 日韩影院三级| 狠狠干在线| 日产精品一线二线三线芒果 | 免费观看的av| 97香蕉碰碰人妻国产欧美| Www.se.久久| 五月天丁香六月综合| 一本久道综合色婷婷五月| 亚洲综合激情五月久久| 久久精品99久久久久久久久| mmm1717.6dbm人人爱人人操| 91干视频| 婷婷激情四射五月天| www.激情五月天.com| 日本爆乳片手机在线播放| 久久九九99| 久久五月天免费网站| 丁香五月在线视频| 99爱爱| 墨西哥毛片内射精| 婷婷色五月天综合网| 欧美99热| 新男人天堂人妻| 色色影院aaaav| 五月天色综合| 午夜日日| 无码任你操| 狠狠干在线| 久久精品婷婷五月丁香| 天天爽天天爽夜夜爽| 九九热最新| 婷婷五月六月丁香| 天天做天天爱天天做| 97色片| 日韩无码专区| 成人必爱视| 五月婷婷色色| 97视频久久| 六月色播| .comwww在线观看免费操| 婷婷色天香| 久热这里只有| 日本天堂爱爱| 91九色中文字幕女在线观看| 久久影视婷婷五月| 在线综合网| 亚洲视频在线网站| 襙逼网| 大地资源色婷婷视频在线| 97狠狠色| 99ri在线| 婷婷五月天影院| 激情六月婷婷| 色射影院| 激情AV| 丁香九月激情久久| 丁香婷婷六月男男| 人人操操| 久9热视频| 国产肏屄大片| 久碰婷婷视频| 无码髙清| 黄色五月婷婷| 色婷婷网| av久热| 天天做夜夜爽| 国产亚洲99久久精品| 99热日韩| 99久久精彩视频。| 丁香六月激情综合| 夜夜爽天天| 一级黄色影片| 丁香五月天激情综合网| 五月丁香六月综合图| 久久婷婷五月综合97色一本| 国产激情视频在线观看| 另类小说五月天综合| 国产精产国品一二三在观看| 亚洲婷婷开心五月| 色五月 婷婷, 大香蕉| 日日操天天爽| 69久热| 三级大香蕉网| 国产精品扒开腿做爽爽爽A片唱戏| 人妻内射麻豆视频| 天天插操| 激情综合五月天| 久久久精品AV| 五月香婷婷| 激情五月天综合网站网站网站| 婷婷六月综合激情| 免费黄色片子| 噜噜五月天综合| 婷婷精品在线| 国产伦亲子伦亲子视频观看| 91久久婷婷人人澡草| 色色五月丁香婷婷综合| 91avse| ay2区| 色优久久| 99久久玖玖| 亚洲色图45p| 人人摸人人| 99色播| 婷婷五月天天激情| 激情99| 性韩日色婷婷五月天激情啪啪XXX| 99色色网| 2025天天操| 艹B高清无码| 99热精品10| 亚洲精品一区中文字幕乱码| 99热这里有精品| 久久伊人大香蕉| 欧美槡BBBB槡BBB少妇| 天天干-天天日| 综合网狠狠| 久久香蕉网| 天天日人人爽| 亚洲小电影在线观看黄999| 五月婷婷成人| 超碰1999| 日韩黄黄| 色色色网站| 综合网五月天123| www、丁香五月天| 婷婷丁香六月天| 五月天婷婷影院影院观看| 91九色网| 2022久久婷婷| 99热偷拍| 亚洲欧美一区二区三区四区爱爱动图| 五月6香色婷婷视频| 中文字幕成人版| 五月丁香婷婷综合久久| 激情五月天啪啪| 亚洲成人网站在线播放| 国产日韩精品SUV| 激情五月婷黄版| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 99精品偷拍视频| www.夜夜| 亚洲综合色网| www.婷婷,com| 久久久婷| a在线免费v| 开心婷婷五月| 天天插天天插| 婷婷色网站| 五月六月丁香激情视频| 色五月婷婷青娱乐| 色五月婷婷久久| 日本欧美成人片AAAA| 色丁香综合影院| 亚洲另类婷婷综合| 亚洲在线播放| 曰韩五月丁香色婷婷无码| 九九热av| 开心激情婷婷| 99热无码| 丁香婷婷五色月| 深爱激情中文五月天av| 色黄啪啪| 婷婷在线网| 色综合五月| 婷婷五月丁香色综合| 五月丁香六月合| 色婷婷久久综合久色综| 久久久久久久五月| 99精彩视频| 伊人五月天男人的天堂在线| 色综合网址| 色月丁| 狠狠爱丁香婷| 香蕉97碰碰碰欧美| 日本色色图| 激情第四色| 婷婷欧美激情| 丁香五月第九色| www.激情五月天。com| 综合久久高清| 狠狠色噜噜狠狠| 97日本在线播放| 蜜桃五月天| 五月丁香啪| 99在线精品免费视频| 日韩成人电影在线播放| 99精品免费视频| 538久久| 热久久思思热思思| 天天干天天日日| 日韩抽插操逼| 91艹人| 另类五月婷婷| 丁香五月婷婷狠狠色| 色五月天堂| 亚韩在线视频| 99九九在线视频| 99色.com| 日本3级片一区2区| 五月天激情网址| 青996青| 九月婷婷人人操人人舔人人爱| 无码碰碰| 五月天丁香啪啪啪啪| 97色综合| 五月激情综合性爱| 丁香密臀AV激情网| 99黄色在线视频精品熟女| 99亚洲精品视频| 狼人婷婷综合| 开心五月激情网| 婷婷五月播| 六月激情久久婷婷| 美女要搞搞天天搞搞搞网站| www,五月丁,com| 亚洲色vA| 五月丁香六月欧美综合网站| 天天爽天天干天天| 深爱综合网| 丁香五月婷婷av| 五月色网| 91色涩| 这里只有精品视频在线| 成人国产欧美大片一区| 五月天啪啪网| 日韩人妻在线观看| 天天射夜夜爽| 青青草婷婷综合五月| 亚洲丁香五月在线观看| 丁香五月偷拍| 五月丁香狠狠爱| 激情综合色| 日本婷婷激情四射中文字幕在线观看| 99久久五月丁香野外| 五月婷婷色综图片| 九九热九九| 色五月综合婷婷| 色五月天成人| 亚洲精品午夜国产va久久成人| 97久久视频| 色九四色| 久久9久| 婷婷五月天色综合翘| 99热这里只有精品最新| 久9视频免费播放| 色五月丁香五月| 99人妻碰碰久久久禁片| 九九色天堂| 五月天激情综合在线| 亚洲丁香五月美女| 欧美综合激情丁香五月六月婷| 中文字幕在线资源| 9视频在线成人网站| 婷婷久久免费| 丁香五月婷婷动漫视频| 丁香五月亚综合图片| 9|无码久久久久久| 9精品久久999| 夜夜爱伊人| 丁香婷婷五月天色播| 热99在线| 九九久久99| 欧美六月婷婷| 日韩九九视频| 无码 色| 色五月综合网| 国产精品岛国片在线观看免费| 久久婷婷啪啪视频| 久久婷婷丁香六月天| 九九热自拍| 激情丁香五月婷婷| 第五婷婷伊人丁香| 翔田千里aV中文字幕| 九九色99| 91精品久久久久久| 人妻Av在线| 久久er免费视频| 色婷婷五月天视频网站| 五月婷婷六月丁香| 亚洲成人网站在线播放| 亚洲激情区| 26uuu国产| 71在线精品视频一区| 亚洲尤物在线| www.狠狠| 丁香五月黄色| 亚洲综合色丁香五月天| 99ri在线观看视频| 操逼五月婷婷| 99re思思热在线视频| 播五月,色五月,开心五月播放器| 亚洲无码 图片区| 婷婷久久网| 99热这里只有精品50| 性爱综合网| 91视频久久久| 婷婷色五月情| 97人妻碰碰中文无码久热丝袜| www.99精品视频| 六月亭亭久久综合激情| 色婷婷综合网站| 久久久久久久久99精品| 人人看人人摸人人| 欧美经典片免费观看大全| 六月婷婷激情图片| 婷婷色色婷婷| 欧美日韩成人综合9| 五月丁香久久网| 99精品热视频| 99热热热国产超碰| 五月激情久久综合网| 欧美大片免费播放器| 99精品久久| 六月丁香色色| 日韩有码久久| 五月开心深深爱激情综合 | 激情综合五| 色婷婷狠| 五月婷婷九九热| 大香伊人婷婷影院| 五月婷婷九| 日欧一片内射VA在线影院| 再綫Av免费視品| 亚洲另类在线观看| 夜色综合网| 天天干天天干天天干天天干天天干| 超碰人人摸人人操| 激情网第四色| 伊人综合网站| 五月天婷婷爱丁香中文字幕| 国产亚洲在线观看| 婷婷五月综合婷婷| 久久激情视频| 婷婷色五月偷拍| 久热只有精品| 丁香五月天激情网址| 婷婷五月丁香基地| 九九综合精品| 99啪啪视频| 国产成人网站在线观看| 91九色精品女同系列| 狠狠干综合网| 色婷婷成人网| 色五月婷婷天堂| 婷婷五月丁香在线视频| 婷婷激情五月天激情小说| 99热网站| 99热高清在线| 97碰人人操| 99手机在线精品视频| 婷婷五月综合网| 在线99精品| 国产性爱一级| 欧美日韩123| 超碰chaompinm| 五月伊人综合| 激情五月综合网| 婷婷激情小说网| 超碰v| 丁香五月婷婷亚洲另类| 天天操天天干天天射| 丁香五月激情婷婷| 超碰自拍天堂| 99爱在线视频| www.com色播五月天| 五月天另类激情在线| 色老久久| www色色com| 五月婷婷久久爱| 天天色中文字幕女优AV| 五月婷天天搞视频| 久久99免费视频网站| 99久在线精品99re8| 色婷婷国产精品综合在线观看| 超碰在线看| 99re久热只有精品6在线直播| 丁香五月婷婷综合啪啪| 女人天堂 AV| 亚洲综合色成丁香五月色| 欧美VA在线| 激情五月天啪啪| 五月天另类视频| 婷婷六月丁香1| 欧美啪啪网| 久热综合| 五月丁香成人| av在线观看网址| 天天摸天天肏| 色播五月丁香婷婷| 97人人干。| 亚洲另类婷婷综合| 五月婷婷成人网首页| 超碰自拍天堂| 久色网址| wwccc久久久| 自拍视频在线观看9| 爆乳熟妇一区二区三区爆乳| 国产成人VA| 九九久久玖玖爱| 99精品久久久久久久婷婷| 久久aaa| 婷婷丁香91| 六月丁香啪啪啪| 免费黄色片子| 婷婷激情五月呦呦| 26UUU欧美激情一区二区| 男人天堂伊人五月丁香| 91在线人| 思思re99视频在线观看| 激情综合网婷婷久久| 99热热热国产超碰| 色色婷婷五月| 狠狠干综合网| 九九Av| 精品一二三区久久AAA片| 欧洲一区二区| 开心日韩丁香婷婷五月| www.婷婷,com| 九九视频在线观看视频6| 天天操天天操天天操天天操天天操| 性爱综合网| 色婷婷综合丁香五月天| 日本九九九九| 综合噜噜| 色婷婷色五月色丁香| 五月丁香综合影院| 中文字幕无码人妻少妇免费视频 | 9在线9在线婷婷在线国产| 伊人久久婷婷| 狠狠干综合| 婷婷性爱无码视频| 丁香六月婷婷综合激情欧美| 2018夜夜草| 可以免费观看的AV| 激情综合五月色在线| 综合99久久天天综合| 激情综合色| 亚洲色婷婷五月天| 五月丁香成人| 久久新地址| 超碰五月婷婷五月天| 婷婷五月天激情网| 九九婷婷综合| 五月婷婷自拍| 狠狠五月丁香色婷| 丁香五月天导航| 九九久久高清| 69凹凸成人综合网| 婷婷五月天社区| 五月丁香在线| 六月伊人婷婷| 99re热精品在线视频| 欧美啪啪网| 久久久久久久久月丁| 精品色色| 色婷婷大香蕉| 色五月婷婷91| 日日操夜夜骑| 颜射 精品性爱av| 天天操天天日天天爱| 国产精品色婷婷久久久精品| 色色五月婷婷网| 九九性视频| 五月天婷婷久久| 久久免费操| 日韩色色视频| 九九无码视屏| 婷婷综合网伊人| 色婷婷狠狠干| 色玖玖玖| 婷婷五月综合丁香久久| 成人国产欧美大片一区| 五月天精品| WWW久久久| 五月天伊人| 婷婷五月天狠狠色| 直接看的AV网站| 色色色色色色色综合| 日本色频| 区区久久妻| 中文无码婷婷| 99在线免费视频| 91激情五月开心| 99操无码视频观看| 天堂综合久久| 开心五月婷婷婷美女| 综合久久伊人| 久久99日本精品视频免费观看| 精品人妻伦九区久久AAA片| 99精品免费| 丁香婷婷色五月| 色色吧综合| 激情五月天色色网| 大香蕉久| 色9999日韩国产| 亚洲无码播放| www婷婷| 99激情视频| 97色色视频| 婷婷色婷婷| 中国丰满熟女A片免费观| 丁香五月性爱| 国产精品第一国产精品| 99色在线| 久久激情视频| 亚洲乱码日产精品BD在线观看| 亚洲婷婷激情888精品久| 色宗合,宗合网| 日本久久天堂| 丁香五月花婷婷开心| 99色精品视频| 高清激情av在线观看| 婷婷丁香五另类网站| 婷婷五月AA五月在线| 99热只有这里才是精品| 婷婷五月天BBw| 色五月欧美| 婷婷丁香花五月天| 97自拍视频在线| 久久99综合| 99视频| 丁香五月玖玖| 香蕉97碰碰碰超视精品| 亚卅毛片| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 男人的天堂五月丁香| 久久99久久99精品免观看粉嫩| 色综合久久天天综合网| 丁香五月激情综合| 九九Av| 色婷婷网大全在线| 五月婷婷丁香综合,亚洲天堂| 五月丁香激| 色综合夜夜| WWW.开心五月天.COM| 亚洲狠狠干| 婷婷五月综激情| 五月天婷婷丁香| 国产美女无遮挡裸体毛片A片| 色色综合五月| 97人人搞| 久久视频婷婷视频| 丁香亚洲婷婷五月| 丁香婷婷深情五月亚洲| 色情婷婷| 色和综合网| 99亚洲视频| 亚洲激情无码久久| 99这里只有精品99| 综合AV在线| 欧美性色A片免费免费观看的| 97色一二三| 六月婷久久| 99色婷婷| 五月开心深深爱激情综合 | 丁香五月婷婷姐| 色99欧洲色19| 黄色五月婷婷| 中文字幕无码人妻少妇免费视频 | www.久久| 色综合久久88色综合天天| 71在线精品视频一区| 开心五月六月婷婷| 操91| 91人妻视频| 色狠狠综合网| 成人中文网| www.婷婷.com| 丁香六月婷婷高清| 开心婷婷中文字幕| 九九精品热| 一级性感毛片| 天天天天天天天干| 欧美色色网| 激情五月天网| 99热99| 久er7久热| 99视频在线观看网址| 99久热| 久久综合婷婷激情| 久久婷婷五月丁香网| 成人网站免费sxj| 99re热在线视频| 337久久| 五月丁香婷婷福利| 久久精品只有这| 国产亚洲成AV人片在线观黄桃 | 久久精品国产AV一区二区三区 | 五月 成人 婷婷| 色色色色色色色色色999| 婷婷五月丁香啪啪| 性做爰A片免费视频A片直播| 色五婷婷| 五月精品免费XXX| 在线播放中文字幕| www狠狠com| 激情五月婷在线精品| 99精品久久| 海外网站专业操老外| 五月永久激情| 深爱激情五月婷婷| WWW.久久久久久久久久久久久| 国产阿姨日皮艹逼内射视频| 99re视频在线播放| 五月丁香六月停停停| 狠狠色综合777| 超碰在线观看99| 91丨九色丨老农村| www.久久66| 色五月综合| 婷婷五月无码| 五月天无码视屏播放| 内射综合网| 五月天综合色| 欧美另类五月激情| 99热这里只有精品99| 亚洲色婷婷五月天| 激情五月婷在线精品| 操一区| 亚洲99综合| 99re思思热久久| 成人超碰网| 婷婷久久免费看| 亚洲色99| av五月丁香婷婷网| 婷婷激情丁五月| 99久热| 六月丁香啪啪啪| 99色网站| 久热9热| 99热这里只有的精品视| 欧美A级成人婬片免费看理论| 男人先锋久久| 涩五月婷婷| 免费观看日韩成人av| 色狠狠图片| 99热免费精品| 久久五月天视频| 深爱五月天| 成人 九九九九| 婷婷五月天免费视频| 99热亚洲只有色| 无码一区二区日韩| 天天干 夜夜爽| 大香蕉婷婷丁香视频在线| 9久热在线视频精品| 97香蕉人人在线观看| 六九色综合婷婷五月天| 国产精品A片在线| 韩国天天婷婷| 婷婷五月天大香蕉在线视频观看| 婷婷基地五月色| 四川女人毛多水多A片| 婷婷五月丁香在线观看| 激情五月天丁香| 六月丁香综合999| 欧美搡BBBBB摔BBBBB| 深爱激情五月天色婷婷| 香蕉AV福利精品导航| 99热久久最新地址| 五月婷婷之综合激情| 欧美色婷婷| 亚洲激情五月天| 天天摸.天天mo| 天天操夜夜操| 亚洲Av入口| 日本视频久久| 俺也高清无码高清视频| 大鸡巴伊人网| 九九热精品| 91久久精品无码一区二区三区| 玖玖爱综合网| 五月婷久久| 99精品网| 色婷婷五月天激情久久| 射婷婷中文字幕| 97婷婷五月| 啪啪操操| 91色五月| 九九热视频网站| 97caop| 久久久久久五月天| 人人操碰| 99热主页日本| 天天做天天爱天天搞| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 婷婷成人综合免费视频| 国产熟妇乱子伦hd| 国产资源91在线| 黄久久久| 色五月综合激情| 婷婷亚洲五月丁香综合在线| 夜夜嗨一区二区三区直播内容 | 婷婷九月亚洲| 六月综合婷婷开心伊人| 99热这只有| 五月丁香激情综合| 久久五月婷综合网| 五月综合激情网| 日本婷婷五月天| www色色com| 五月丁香影视| 激情婷婷人妻| 五月婷婷黄网站大全| 久热 91| 激情婷婷内射| 久久久潮喷-久久久九九-成人AV| 五月丁香黄色视频| 北京熟妇搡BBBB搡BBBB| | 特黄三级又爽又粗又大| 婷婷九月激情| www.99热最新视频8| 欧美日韩国产一二区| 五月婷婷六月天| 婷婷激情五月天网站| 色婷婷丁香女女| 婷婷五月综激情| 久久丁香五月婷婷激情综合网| 69久久久| 91超碰人人操| 思思热性操| 丁香 亚洲 久久| 97色吧| 婷婷五月丁香激情色情| 婷婷色色欧美| 天天综合五月天| 99热精在线九九久久保| 亚洲综合成人网站| 五月天综合色| 激情五月天激情五月天| 午夜免费试看| 婷婷欠久少妇| 97精品自拍| 激情开心五月亚洲| 五月丁香激情怕怕| 五月天天丁香婷婷| 激情网综合| 亚洲操逼片| 国产黄色在线观看| 久久久精品AV| 丁香五月中文字幕久色| 97色久| 99热每日| 人妻久久久久久久| 丁香五月激情啪啪| 91AV婷婷| 99久久国产综合精品五月天喷水\| 51国精产品自偷自偷综合 | 99热在线只有精品| 综合啪啪| 狠狠狠狠狠狠草| 中文字幕在线日亚州9| 婷婷精品性性性性性性性| 激情av| 丁香五月婷婷高清| 婷婷色啪| 亭亭社区五月天| 5月婷婷综合| 色吧婷婷五月亚洲| 中文字幕永久在线| 婷婷五月丁香综合激情| 成人日韩欧美| 玖玖五月丁香| 九九热狼人| 色五月色五天色情网| 五月丁香天堂网| 中文字幕+乱码+中文字幕在线观看| 成人短视频在线免费观看| 精品夜夜澡人妻无码AV| 99久re热视频精品98| 婷婷五月天熟妇| wwW天天干| 中文字幕AV在线播放| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 中文字幕按摩做爰| 97精品欧美91久久久久久久| 五月婷婷久久爱| 丁香五月天AV在线| 99热综合在线| 色婷五月|