[{"data":1,"prerenderedAt":941},["ShallowReactive",2],{"wiki-page-/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin":3,"wiki-doc-items-/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin":573,"language-switcher-data-/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin":925,"wiki-i18n-paths-/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin":940},{"id":4,"title":5,"body":6,"canonicalPath":552,"chapter":553,"chapterSort":554,"date":555,"description":79,"docI18nKey":556,"docKey":557,"docRoot":558,"docTitle":559,"extension":560,"i18nKey":561,"isBlogPost":562,"isWikiDoc":563,"isWikiIndex":562,"layout":564,"legacyPath":564,"locale":565,"localeSlug":566,"meta":567,"navigation":563,"path":552,"seo":568,"sourcePath":569,"sourceStem":561,"stem":570,"wikiDepth":571,"__hash__":572},"content/_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-4-UDP通信.md","UDP通信",{"type":7,"value":8,"toc":539},"minimark",[9,14,18,21,24,27,55,58,63,66,69,72,83,86,92,95,171,174,178,181,271,274,277,342,345,348,354,357,374,377,383,387,390,473,476,482,486,489,492,495,501,504,510,513,516],[10,11,13],"h2",{"id":12},"linux-udp-通信","Linux UDP 通信",[15,16,17],"p",{},"UDP 通信是 Linux 網絡編程中非常常見的一種通信方式。",[15,19,20],{},"相比 TCP，UDP 不需要提前建立連接，發送方可以直接向指定 IP 和端口發送數據。它的特點是簡單、延遲低、開銷小，但不保證數據一定送達，也不保證順序。",[15,22,23],{},"在機器人項目中，UDP 常用於高頻、實時、允許少量丟包的數據傳輸場景。",[15,25,26],{},"在實際項目中，UDP 通信常見於：",[28,29,30,34,37,40,43,46,49,52],"ul",{},[31,32,33],"li",{},"激光雷達數據傳輸",[31,35,36],{},"網絡相機或傳感器數據流",[31,38,39],{},"機器人狀態廣播",[31,41,42],{},"局域網設備發現",[31,44,45],{},"遙控器或手柄數據傳輸",[31,47,48],{},"多機器人之間的簡單通信",[31,50,51],{},"高頻狀態上報",[31,53,54],{},"對實時性要求高、但允許少量丟包的場景",[15,56,57],{},"UDP 的核心特點是快，但不可靠。因此它更適合“持續發送的數據流”，而不是“必須保證每條消息都送達”的場景。",[59,60,62],"h3",{"id":61},"udp-通信是什麼","UDP 通信是什麼",[15,64,65],{},"UDP，全稱 User Datagram Protocol，是一種無連接的傳輸協議。",[15,67,68],{},"和 TCP 不同，UDP 通信不需要建立連接。只要知道目標 IP 和端口，就可以直接發送數據。",[15,70,71],{},"典型結構如下：",[73,74,80],"pre",{"className":75,"code":77,"language":78,"meta":79},[76],"language-text","UDP Sender\n    ↓\nUDP Receiver\n","text","",[81,82,77],"code",{"__ignoreMap":79},[15,84,85],{},"也可以是雙向通信：",[73,87,90],{"className":88,"code":89,"language":78,"meta":79},[76],"程序 A  ←UDP→  程序 B\n",[81,91,89],{"__ignoreMap":79},[15,93,94],{},"常見概念包括：",[96,97,98,111],"table",{},[99,100,101],"thead",{},[102,103,104,108],"tr",{},[105,106,107],"th",{},"概念",[105,109,110],{},"說明",[112,113,114,123,131,139,147,155,163],"tbody",{},[102,115,116,120],{},[117,118,119],"td",{},"IP 地址",[117,121,122],{},"用來定位網絡中的設備",[102,124,125,128],{},[117,126,127],{},"端口號",[117,129,130],{},"用來區分不同程序",[102,132,133,136],{},[117,134,135],{},"Datagram",[117,137,138],{},"UDP 數據報，一次發送對應一個數據報",[102,140,141,144],{},[117,142,143],{},"廣播",[117,145,146],{},"向局域網內多個設備發送數據",[102,148,149,152],{},[117,150,151],{},"組播",[117,153,154],{},"向加入同一組播組的設備發送數據",[102,156,157,160],{},[117,158,159],{},"丟包",[117,161,162],{},"UDP 不保證數據一定送達",[102,164,165,168],{},[117,166,167],{},"亂序",[117,169,170],{},"UDP 不保證數據按順序到達",[15,172,173],{},"UDP 和 TCP 最大的區別是：TCP 是可靠字節流，UDP 是不可靠數據報。",[59,175,177],{"id":176},"linux-下常見-udp-庫","Linux 下常見 UDP 庫",[15,179,180],{},"Linux 下進行 UDP 通信有多種方案，常見的包括：",[96,182,183,199],{},[99,184,185],{},[102,186,187,190,193,196],{},[105,188,189],{},"方案",[105,191,192],{},"類型",[105,194,195],{},"特點",[105,197,198],{},"適合場景",[112,200,201,215,229,243,257],{},[102,202,203,206,209,212],{},[117,204,205],{},"Linux socket API",[117,207,208],{},"Linux 原生接口",[117,210,211],{},"最底層、依賴少、通用性強",[117,213,214],{},"想深入理解網絡通信機制",[102,216,217,220,223,226],{},[117,218,219],{},"boost::asio",[117,221,222],{},"通用 C++ 網絡庫",[117,224,225],{},"支持同步/異步 UDP，適合工程封裝",[117,227,228],{},"推薦用於 C++ 項目",[102,230,231,234,237,240],{},[117,232,233],{},"Qt Network",[117,235,236],{},"Qt 網絡模塊",[117,238,239],{},"和 Qt 界面程序結合方便",[117,241,242],{},"Qt 上位機",[102,244,245,248,251,254],{},[117,246,247],{},"Python socket",[117,249,250],{},"Python 標準庫",[117,252,253],{},"簡單方便，適合測試",[117,255,256],{},"Python 調試腳本",[102,258,259,262,265,268],{},[117,260,261],{},"ROS 2 topic",[117,263,264],{},"ROS 2 通信機制",[117,266,267],{},"ROS 2 內部通信方便",[117,269,270],{},"ROS 2 系統內部數據傳輸",[15,272,273],{},"這些方案本質上都是為了完成 UDP 數據報的發送和接收，只是封裝方式不同。",[59,275,276],{"id":276},"各方案對比",[96,278,279,291],{},[99,280,281],{},[102,282,283,285,288],{},[105,284,189],{},[105,286,287],{},"優點",[105,289,290],{},"缺點",[112,292,293,303,313,323,333],{},[102,294,295,297,300],{},[117,296,205],{},[117,298,299],{},"原生、穩定、依賴少、通用性強",[117,301,302],{},"代碼相對繁瑣，異步處理麻煩",[102,304,305,307,310],{},[117,306,219],{},[117,308,309],{},"C++ 工程友好，異步 UDP 方便，適合封裝 driver",[117,311,312],{},"需要理解 io_context、endpoint、socket 等概念",[102,314,315,317,320],{},[117,316,233],{},[117,318,319],{},"和 Qt 程序結合自然，適合上位機",[117,321,322],{},"不適合脫離 Qt 的底層 driver",[102,324,325,327,330],{},[117,326,247],{},[117,328,329],{},"上手快，適合測試 UDP 包",[117,331,332],{},"不適合作為 C++ 底層主線",[102,334,335,337,339],{},[117,336,261],{},[117,338,267],{},[117,340,341],{},"不適合替代通用 UDP 學習",[59,343,344],{"id":344},"本教程建議選擇",[15,346,347],{},"本教程建議優先選擇：",[73,349,352],{"className":350,"code":351,"language":78,"meta":79},[76],"boost::asio\n",[81,353,351],{"__ignoreMap":79},[15,355,356],{},"原因是：",[28,358,359,362,365,368,371],{},[31,360,361],{},"適合 C++ 工程開發",[31,363,364],{},"和 TCP、串口、定時器可以使用同一套 Boost.Asio 編程模型",[31,366,367],{},"支持同步和異步 UDP 收發",[31,369,370],{},"不依賴 ROS 2，方便在普通 C++、OpenCV、Qt、嵌入式 Linux 項目中複用",[31,372,373],{},"適合封裝網絡傳感器、遠程遙控、狀態廣播等功能",[15,375,376],{},"推薦的工程結構是：",[73,378,381],{"className":379,"code":380,"language":78,"meta":79},[76],"上层项目：ROS 2 / OpenCV / Qt / 普通 C++ 程序\n        ↓\n自己封装的 UdpSender / UdpReceiver 类\n        ↓\nboost::asio\n        ↓\nUDP socket\n        ↓\n雷达 / 网络设备 / 远程控制端\n",[81,382,380],{"__ignoreMap":79},[59,384,386],{"id":385},"tcp-和-udp-怎麼選","TCP 和 UDP 怎麼選",[15,388,389],{},"TCP 和 UDP 都很常用，但適合的場景不同。",[96,391,392,405],{},[99,393,394],{},[102,395,396,399,402],{},[105,397,398],{},"對比項",[105,400,401],{},"TCP",[105,403,404],{},"UDP",[112,406,407,418,429,440,451,462],{},[102,408,409,412,415],{},[117,410,411],{},"是否連接",[117,413,414],{},"需要建立連接",[117,416,417],{},"不需要建立連接",[102,419,420,423,426],{},[117,421,422],{},"可靠性",[117,424,425],{},"可靠傳輸",[117,427,428],{},"不保證送達",[102,430,431,434,437],{},[117,432,433],{},"順序",[117,435,436],{},"保證順序",[117,438,439],{},"不保證順序",[102,441,442,445,448],{},[117,443,444],{},"延遲",[117,446,447],{},"相對更高",[117,449,450],{},"相對更低",[102,452,453,456,459],{},[117,454,455],{},"適合數據",[117,457,458],{},"命令、配置、文件、日誌",[117,460,461],{},"高頻數據、廣播、實時狀態",[102,463,464,467,470],{},[117,465,466],{},"典型場景",[117,468,469],{},"遠程控制、服務器通信、參數配置",[117,471,472],{},"雷達數據、遙控數據、狀態廣播",[15,474,475],{},"簡單理解：",[73,477,480],{"className":478,"code":479,"language":78,"meta":79},[76],"TCP：我要确保这条消息送到\nUDP：我要快速持续发送，偶尔丢一包也能接受\n",[81,481,479],{"__ignoreMap":79},[59,483,485],{"id":484},"與-ros-2-的關係","與 ROS 2 的關係",[15,487,488],{},"學習 UDP，並不代表要用 UDP 替代 ROS 2 的 topic。",[15,490,491],{},"在 ROS 2 系統內部，節點之間通信通常優先使用 ROS 2 自己的通信機制。而 UDP 更適合用來連接 ROS 2 系統之外的網絡設備，或者實現輕量級的遠程通信。",[15,493,494],{},"例如：",[73,496,499],{"className":497,"code":498,"language":78,"meta":79},[76],"激光雷达\n        ↓\nUDP 数据包\n        ↓\n自己封装的 UdpReceiver\n        ↓\nROS 2 节点发布点云 / LaserScan\n",[81,500,498],{"__ignoreMap":79},[15,502,503],{},"也可以用於：",[73,505,508],{"className":506,"code":507,"language":78,"meta":79},[76],"远程遥控端\n        ↓\nUDP\n        ↓\n机器人主控程序\n",[81,509,507],{"__ignoreMap":79},[59,511,512],{"id":512},"本章學習目標",[15,514,515],{},"學習完本章後，應該能夠掌握：",[28,517,518,521,524,527,530,533,536],{},[31,519,520],{},"UDP 通信的基本概念",[31,522,523],{},"UDP 和 TCP 的主要區別",[31,525,526],{},"IP 地址、端口號、endpoint 的含義",[31,528,529],{},"使用 C++ 發送和接收 UDP 數據",[31,531,532],{},"理解 UDP 丟包、亂序、廣播等特性",[31,534,535],{},"使用 Boost.Asio 封裝 UDP 通信類",[31,537,538],{},"為後續雷達數據接收、遠程遙控、狀態廣播打基礎",{"title":79,"searchDepth":540,"depth":540,"links":541},2,[542],{"id":12,"depth":540,"text":13,"children":543},[544,546,547,548,549,550,551],{"id":61,"depth":545,"text":62},3,{"id":176,"depth":545,"text":177},{"id":276,"depth":545,"text":276},{"id":344,"depth":545,"text":344},{"id":385,"depth":545,"text":386},{"id":484,"depth":545,"text":485},{"id":512,"depth":545,"text":512},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin","13.4",13040000,"2023-12-30","wiki/2023-12-30-ros2-tutorial","zh-tw:2023-12-30-ros2-tutorial","/zh-tw/wiki/2023-12-30-ros2-tutorial","Ros2 Tutorial","md","wiki/2023-12-30-ros2-tutorial/ch13-4-UDP通信",false,true,null,"zh-TW","zh-tw",{},{"title":5,"description":79},"/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-4-UDP通信",1,"NS2SjmoBbkhq58qluI6FYVSxMM6uZvpTuw-RXm4ttFA",[574,580,586,592,598,604,610,616,622,628,634,640,646,652,658,664,670,676,681,687,692,693,699,705,711,717,723,729,735,741,747,753,759,765,771,777,783,789,795,801,807,813,819,825,831,837,843,849,855,861,867,873,879,885,891,897,903,909,915,921],{"path":575,"stem":576,"title":577,"date":555,"chapter":578,"chapterSort":579,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch1-ros2-jie-shao","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch1-ROS2介绍","ROS2介紹","1",1000000,{"path":581,"stem":582,"title":583,"date":555,"chapter":584,"chapterSort":585,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch10-stage-ros2-fang-zhen-ping-tai","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch10-Stage_Ros2仿真平台","Stage_Ros2仿真平臺","10",10000000,{"path":587,"stem":588,"title":589,"date":555,"chapter":590,"chapterSort":591,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch11-1-gazeboclassic","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch11-1-GazeboClassic","Gezebo Classic","11.1",11010000,{"path":593,"stem":594,"title":595,"date":555,"chapter":596,"chapterSort":597,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch11-2-ignitiongazebo","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch11-2-IgnitionGazebo","Ignition Gazebo（Gazebo Fortress）","11.2",11020000,{"path":599,"stem":600,"title":601,"date":555,"chapter":602,"chapterSort":603,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch11-3-gazebosim","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch11-3-GazeboSim","Gz Sim（Gazebo Harmonic）","11.3",11030000,{"path":605,"stem":606,"title":607,"date":555,"chapter":608,"chapterSort":609,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch11-4-igngz2gzsim","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch11-4-Igngz2gzsim","將Ign Gazebo遷移至Gz Sim","11.4",11040000,{"path":611,"stem":612,"title":613,"date":555,"chapter":614,"chapterSort":615,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch11-gezebo-fang-zhen-ping-tai","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch11-Gezebo仿真平台","Gezebo仿真平臺","11",11000000,{"path":617,"stem":618,"title":619,"date":555,"chapter":620,"chapterSort":621,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch12-1-humble-ban-ben","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch12-1-Humble版本","Humble導航仿真","12.1",12010000,{"path":623,"stem":624,"title":625,"date":555,"chapter":626,"chapterSort":627,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch12-2-jazzy-ban-ben","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch12-2-Jazzy版本","Jazzy導航仿真","12.2",12020000,{"path":629,"stem":630,"title":631,"date":555,"chapter":632,"chapterSort":633,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch12-3-humble2jazzy","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch12-3-Humble2Jazzy","Humble與Jazzy導航的差異","12.3",12030000,{"path":635,"stem":636,"title":637,"date":555,"chapter":638,"chapterSort":639,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch12-ji-qi-ren-dao-hang-navigation2-fang-zhen-pian","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch12-机器人导航Navigation2(仿真篇)","機器人導航Navigation2(仿真篇)","12",12000000,{"path":641,"stem":642,"title":643,"date":555,"chapter":644,"chapterSort":645,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-1-1-boost-aiso","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-1-1-Boost.Aiso","Boost.Asio庫","13.1.1",13010100,{"path":647,"stem":648,"title":649,"date":555,"chapter":650,"chapterSort":651,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-1-2-ros2-serial-driver","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-1-2-ros2_serial_driver","ROS2 Serial Driver庫","13.1.2",13010200,{"path":653,"stem":654,"title":655,"date":555,"chapter":656,"chapterSort":657,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-1-chuan-kou-tong-xin","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-1-串口通信","UART串口通信","13.1",13010000,{"path":659,"stem":660,"title":661,"date":555,"chapter":662,"chapterSort":663,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-2-1-socketcan","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-2-1-socketcan","SocketCAN","13.2.1",13020100,{"path":665,"stem":666,"title":667,"date":555,"chapter":668,"chapterSort":669,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-2-2-ros2-socketcan","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-2-2-ros2_socketcan","ROS2_SocketCAN","13.2.2",13020200,{"path":671,"stem":672,"title":673,"date":555,"chapter":674,"chapterSort":675,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-2-can-tong-xin","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-2-CAN通信","CAN通信","13.2",13020000,{"path":677,"stem":678,"title":643,"date":555,"chapter":679,"chapterSort":680,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-3-1-boost-aiso","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-3-1-Boost.Aiso","13.3.1",13030100,{"path":682,"stem":683,"title":684,"date":555,"chapter":685,"chapterSort":686,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-3-tcp-tong-xin","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-3-TCP通信","TCP通信","13.3",13030000,{"path":688,"stem":689,"title":643,"date":555,"chapter":690,"chapterSort":691,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-4-1-boost-aiso","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-4-1-Boost.Aiso","13.4.1",13040100,{"path":552,"stem":570,"title":5,"date":555,"chapter":553,"chapterSort":554,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},{"path":694,"stem":695,"title":696,"date":555,"chapter":697,"chapterSort":698,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-linux-ying-jian-tong-xin","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch13-Linux硬件通信","Linux硬件通信","13",13000000,{"path":700,"stem":701,"title":702,"date":555,"chapter":703,"chapterSort":704,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-1-ji-qi-ren-zu-cheng","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-1-机器人组成","機器人組成","14.1",14010000,{"path":706,"stem":707,"title":708,"date":555,"chapter":709,"chapterSort":710,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-2-1-yuan-cheng-kai-fa-ssh","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-2-1-远程开发SSH","遠程開發SSH","14.2.1",14020100,{"path":712,"stem":713,"title":714,"date":555,"chapter":715,"chapterSort":716,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-2-2-yuan-cheng-fang-wen-zhuo-mian","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-2-2-远程访问桌面","遠程訪問桌面","14.2.2",14020200,{"path":718,"stem":719,"title":720,"date":555,"chapter":721,"chapterSort":722,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-2-gong-kong-ji-zhi-yuan-cheng-kai-fa-huan-jing","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-2-工控机之远程开发环境","工控機之遠程開發環境","14.2",14020000,{"path":724,"stem":725,"title":726,"date":555,"chapter":727,"chapterSort":728,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-3-gong-kong-ji-zhi-wai-jie-usb-she-bei","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-3-工控机之外接USB设备","工控機之外接USB設備","14.3",14030000,{"path":730,"stem":731,"title":732,"date":555,"chapter":733,"chapterSort":734,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-4-fen-bu-shi-da-jian","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-4-分布式搭建","分佈式搭建","14.4",14040000,{"path":736,"stem":737,"title":738,"date":555,"chapter":739,"chapterSort":740,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-5-you-hua-ri-zhi","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-5-优化日志","優化日誌","14.5",14050000,{"path":742,"stem":743,"title":744,"date":555,"chapter":745,"chapterSort":746,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-1-li-cheng-ji-odom","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-1-里程计Odom","里程計Odom","14.6.1",14060100,{"path":748,"stem":749,"title":750,"date":555,"chapter":751,"chapterSort":752,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-2-guan-xing-ji-imu","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-2-惯性计IMU","慣性計IMU","14.6.2",14060200,{"path":754,"stem":755,"title":756,"date":555,"chapter":757,"chapterSort":758,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-3-ji-guang-lei-da-lidar","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-3-激光雷达LiDAR","激光雷達LiDAR","14.6.3",14060300,{"path":760,"stem":761,"title":762,"date":555,"chapter":763,"chapterSort":764,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-4-xiang-ji-camera","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-4-相机Camera","相機Camera","14.6.4",14060400,{"path":766,"stem":767,"title":768,"date":555,"chapter":769,"chapterSort":770,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-5-quan-qiu-ding-wei-gnss","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-5-全球定位GNSS","全球定位GNSS","14.6.5",14060500,{"path":772,"stem":773,"title":774,"date":555,"chapter":775,"chapterSort":776,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-6-shou-bing-joy","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-6-手柄joy","手柄JOY","14.6.6",14060600,{"path":778,"stem":779,"title":780,"date":555,"chapter":781,"chapterSort":782,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-7-jian-pan-kong-zhi-jie-dian","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-7-键盘控制节点","鍵盤控制節點","14.6.7",14060700,{"path":784,"stem":785,"title":786,"date":555,"chapter":787,"chapterSort":788,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-ying-jian-ping-tai","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-6-硬件平台","硬件平臺","14.6",14060000,{"path":790,"stem":791,"title":792,"date":555,"chapter":793,"chapterSort":794,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-7-zuo-biao-xi-yu-hua-ti-guan-xi","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-7-坐标系与话题关系","座標系與話題關係","14.7",14070000,{"path":796,"stem":797,"title":798,"date":555,"chapter":799,"chapterSort":800,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-1-1-lun-shi-li-cheng-ji-biao-ding","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-1-1-轮式里程计标定","輪式里程計標定","14.8.1.1",14080101,{"path":802,"stem":803,"title":804,"date":555,"chapter":805,"chapterSort":806,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-1-2-lun-shi-li-cheng-ji-yu-imu-rong-he","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-1-2-轮式里程计与IMU融合","輪式里程計與IMU融合","14.8.1.2",14080102,{"path":808,"stem":809,"title":810,"date":555,"chapter":811,"chapterSort":812,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-1-lun-shi-li-cheng-ji-biao-ding-yu-rong-he","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-1-轮式里程计标定与融合","輪式里程計標定與融合","14.8.1",14080100,{"path":814,"stem":815,"title":816,"date":555,"chapter":817,"chapterSort":818,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-2-ji-guang-lei-da-gong-ju","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-2-激光雷达工具","激光雷達工具","14.8.2",14080200,{"path":820,"stem":821,"title":822,"date":555,"chapter":823,"chapterSort":824,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-3-xiang-ji-shi-yong-jin-jie","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-3-相机使用进阶","相機使用進階","14.8.3",14080300,{"path":826,"stem":827,"title":828,"date":555,"chapter":829,"chapterSort":830,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-ying-jian-ping-tai-jin-jie","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-8-硬件平台进阶","硬件平臺進階","14.8",14080000,{"path":832,"stem":833,"title":834,"date":555,"chapter":835,"chapterSort":836,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-ji-qi-ren-ying-jian","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch14-机器人硬件","機器人硬件","14",14000000,{"path":838,"stem":839,"title":840,"date":555,"chapter":841,"chapterSort":842,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch15-ros2-control","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch15-ROS2_Control","ROS2_Control","15",15000000,{"path":844,"stem":845,"title":846,"date":555,"chapter":847,"chapterSort":848,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch16-Moveit2工业机器人机械臂","Moveit2工業機器人機械臂","16",16000000,{"path":850,"stem":851,"title":852,"date":555,"chapter":853,"chapterSort":854,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch17-ji-qi-ren-dao-hang-navigation2-shi-ti-pian","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch17-机器人导航Navigation2(实体篇)","機器人導航Navigation2(實體篇)","17",17000000,{"path":856,"stem":857,"title":858,"date":555,"chapter":859,"chapterSort":860,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch18-microros","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch18-MicroROS","MicroROS","18",18000000,{"path":862,"stem":863,"title":864,"date":555,"chapter":865,"chapterSort":866,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch19-Webots仿真平台","Webots仿真平臺","19",19000000,{"path":868,"stem":869,"title":870,"date":555,"chapter":871,"chapterSort":872,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch2-ru-men-cao-zuo","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch2-入门操作","入門操作","2",2000000,{"path":874,"stem":875,"title":876,"date":555,"chapter":877,"chapterSort":878,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch20-opencv","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch20-OpenCV","OpenCV","20",20000000,{"path":880,"stem":881,"title":882,"date":555,"chapter":883,"chapterSort":884,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch3-gong-zuo-kong-jian-yu-gong-neng-bao","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch3-工作空间与功能包","工作空間與功能包","3",3000000,{"path":886,"stem":887,"title":888,"date":555,"chapter":889,"chapterSort":890,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch4-si-da-tong-xin","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch4-四大通信","四大通信","4",4000000,{"path":892,"stem":893,"title":894,"date":555,"chapter":895,"chapterSort":896,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch5-ros2-qi-ta-tong-xin-ji-zhi","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch5-ROS2其他通信机制","ROS2其他通信機制","5",5000000,{"path":898,"stem":899,"title":900,"date":555,"chapter":901,"chapterSort":902,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch6-launch","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch6-Launch","Launch","6",6000000,{"path":904,"stem":905,"title":906,"date":555,"chapter":907,"chapterSort":908,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch7-hui-su-rosbag2","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch7-回溯rosbag2","回溯rosbag2","7",7000000,{"path":910,"stem":911,"title":912,"date":555,"chapter":913,"chapterSort":914,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch8-zuo-biao-bian-huan-tf","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch8-坐标变换TF","座標變換TF","8",8000000,{"path":916,"stem":917,"title":918,"date":555,"chapter":919,"chapterSort":920,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":562},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch9-ke-shi-hua-ping-tai-rviz2-yu-urdf-jian-mo-yu-yan","_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/ch9-可视化平台RVIZ2与URDF建模语言","可視化平臺RVIZ2與URDF建模語言","9",9000000,{"path":558,"stem":922,"title":923,"date":555,"chapter":564,"chapterSort":924,"docKey":557,"docRoot":558,"docTitle":559,"isWikiDoc":563,"isWikiIndex":563},"_i18n/zh-tw/wiki/2023-12-30-ros2-tutorial/index","ROS2機器人操作系統教程",0,{"variants":926},[927,930,933,936,937],{"path":928,"localeSlug":929,"i18nKey":561},"/en-us/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin","en-us",{"path":931,"localeSlug":932,"i18nKey":561},"/zh-hant/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin","zh-hant",{"path":934,"localeSlug":935,"i18nKey":561},"/zh-hk/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin","zh-hk",{"path":552,"localeSlug":566,"i18nKey":561},{"path":938,"localeSlug":939,"i18nKey":561},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin","zh-cn",[928,569,931,569,934,569,552,569,938,569],1780671896020]