[{"data":1,"prerenderedAt":921},["ShallowReactive",2],{"wiki-page-\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin":3,"wiki-doc-items-\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin":612,"language-switcher-data-\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin":905,"wiki-i18n-paths-\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin":920},{"id":4,"title":5,"body":6,"canonicalPath":593,"chapterDepth":160,"chapterOrder":594,"date":595,"description":153,"docI18nKey":596,"docKey":597,"docRoot":598,"docTitle":599,"extension":600,"i18nKey":601,"isBlogPost":602,"isWikiDoc":603,"isWikiIndex":602,"layout":604,"legacyPath":604,"locale":605,"localeSlug":606,"meta":607,"navigation":603,"path":593,"seo":608,"sourcePath":609,"sourceStem":601,"stem":610,"wikiDepth":160,"__hash__":611},"content\u002F_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信.md","CAN通信",{"type":7,"value":8,"toc":579},"minimark",[9,14,18,21,24,46,49,54,57,60,63,139,147,164,167,181,185,188,199,202,316,319,395,398,401,409,412,434,437,443,446,452,456,459,465,468,474,477,481,486,492,495,498,504,510,514,517,520,523,529,532,535,538,575],[10,11,13],"h2",{"id":12},"linux-can-通信","Linux CAN 通信",[15,16,17],"p",{},"CAN 通信是機器人、車輛、工業控制和電機驅動中非常常見的總線通信方式。",[15,19,20],{},"相比串口通信，CAN 更適合多個設備掛在同一條總線上進行通信。例如一個機器人底盤中，可能有多個電機驅動器、底盤控制板、傳感器節點共同連接在 CAN 總線上。",[15,22,23],{},"在實際項目中，CAN 通信常見於：",[25,26,27,31,34,37,40,43],"ul",{},[28,29,30],"li",{},"控制電機驅動器",[28,32,33],{},"讀取電機編碼器反饋",[28,35,36],{},"連接底盤控制板",[28,38,39],{},"多個控制節點之間通信",[28,41,42],{},"車輛總線通信",[28,44,45],{},"工業設備和運動控制系統",[15,47,48],{},"對於移動機器人底盤、電機控制、自動駕駛線控系統等方向來說，CAN 是非常重要的一類通信方式。",[50,51,53],"h3",{"id":52},"can-通信是什麼","CAN 通信是什麼",[15,55,56],{},"CAN，全稱 Controller Area Network，是一種多主機總線通信協議。",[15,58,59],{},"和串口點對點通信不同，CAN 總線上可以掛多個節點。每個節點都可以發送消息，其他節點根據 CAN ID 判斷是否需要處理這條消息。",[15,61,62],{},"CAN 通信中常見概念包括：",[64,65,66,79],"table",{},[67,68,69],"thead",{},[70,71,72,76],"tr",{},[73,74,75],"th",{},"概念",[73,77,78],{},"說明",[80,81,82,91,99,107,115,123,131],"tbody",{},[70,83,84,88],{},[85,86,87],"td",{},"CAN ID",[85,89,90],{},"用來標識一幀 CAN 消息的含義或來源",[70,92,93,96],{},[85,94,95],{},"標準幀",[85,97,98],{},"11 位 CAN ID",[70,100,101,104],{},[85,102,103],{},"擴展幀",[85,105,106],{},"29 位 CAN ID",[70,108,109,112],{},[85,110,111],{},"數據區",[85,113,114],{},"經典 CAN 一幀最多 8 字節數據",[70,116,117,120],{},[85,118,119],{},"CAN FD",[85,121,122],{},"CAN 的擴展版本，支持更長數據區和更高數據速率",[70,124,125,128],{},[85,126,127],{},"波特率",[85,129,130],{},"常見有 250K、500K、1M",[70,132,133,136],{},[85,134,135],{},"終端電阻",[85,137,138],{},"CAN 總線兩端通常需要 120Ω 終端電阻",[15,140,141,142,146],{},"在 Linux 中，CAN 設備通常不是 ",[143,144,145],"code",{},"\u002Fdev\u002FttyUSB0"," 這種設備文件，而是被抽象成網絡接口，例如：",[148,149,154],"pre",{"className":150,"code":151,"language":152,"meta":153,"style":153},"language-bash shiki shiki-themes github-light github-dark","can0\n","bash","",[143,155,156],{"__ignoreMap":153},[157,158,161],"span",{"class":159,"line":160},"line",1,[157,162,151],{"class":163},"sScJk",[15,165,166],{},"可以使用下面的命令查看：",[148,168,170],{"className":150,"code":169,"language":152,"meta":153,"style":153},"ip link\n",[143,171,172],{"__ignoreMap":153},[157,173,174,177],{"class":159,"line":160},[157,175,176],{"class":163},"ip",[157,178,180],{"class":179},"sZZnC"," link\n",[50,182,184],{"id":183},"linux-下常見-can-工具和庫","Linux 下常見 CAN 工具和庫",[15,186,187],{},"Linux 下 CAN 通信的核心是 SocketCAN。",[15,189,190,191,194,195,198],{},"SocketCAN 是 Linux 內核提供的 CAN 通信框架，它把 CAN 設備抽象成類似網絡接口的形式，例如 ",[143,192,193],{},"can0","、",[143,196,197],{},"can1","。",[15,200,201],{},"常見工具和庫包括：",[64,203,204,220],{},[67,205,206],{},[70,207,208,211,214,217],{},[73,209,210],{},"方案",[73,212,213],{},"類型",[73,215,216],{},"特點",[73,218,219],{},"適合場景",[80,221,222,236,260,274,288,302],{},[70,223,224,227,230,233],{},[85,225,226],{},"SocketCAN",[85,228,229],{},"Linux 原生 CAN 接口",[85,231,232],{},"Linux 標準方案，通用、穩定、工程常用",[85,234,235],{},"推薦作爲主線學習",[70,237,238,241,244,257],{},[85,239,240],{},"can-utils",[85,242,243],{},"SocketCAN 命令行工具集",[85,245,246,247,194,250,194,253,256],{},"提供 ",[143,248,249],{},"candump",[143,251,252],{},"cansend",[143,254,255],{},"cangen"," 等工具",[85,258,259],{},"調試 CAN 總線",[70,261,262,265,268,271],{},[85,263,264],{},"libsocketcan",[85,266,267],{},"SocketCAN 輔助庫",[85,269,270],{},"便於配置和管理 CAN 接口",[85,272,273],{},"需要程序內配置 CAN 參數時使用",[70,275,276,279,282,285],{},[85,277,278],{},"ros2_socketcan",[85,280,281],{},"ROS 2 封裝庫",[85,283,284],{},"將 SocketCAN 封裝進 ROS 2 生態",[85,286,287],{},"純 ROS 2 項目或參考實現",[70,289,290,293,296,299],{},[85,291,292],{},"ros2_canopen",[85,294,295],{},"ROS 2 CANopen 協議棧",[85,297,298],{},"適合 CANopen 設備",[85,300,301],{},"電機驅動器使用 CANopen 協議時",[70,303,304,307,310,313],{},[85,305,306],{},"廠商 SDK",[85,308,309],{},"廠商提供的驅動庫",[85,311,312],{},"和具體硬件綁定",[85,314,315],{},"使用特定 USB-CAN、PCIe-CAN 設備時",[50,317,318],{"id":318},"各方案對比",[64,320,321,333],{},[67,322,323],{},[70,324,325,327,330],{},[73,326,210],{},[73,328,329],{},"優點",[73,331,332],{},"缺點",[80,334,335,345,355,365,375,385],{},[70,336,337,339,342],{},[85,338,226],{},[85,340,341],{},"Linux 原生、通用、穩定、適合長期學習",[85,343,344],{},"需要理解 socket 編程和 CAN 幀結構",[70,346,347,349,352],{},[85,348,240],{},[85,350,351],{},"調試方便，命令簡單",[85,353,354],{},"主要用於命令行測試，不是完整工程封裝",[70,356,357,359,362],{},[85,358,264],{},[85,360,361],{},"配置 CAN 接口方便",[85,363,364],{},"不是主要的數據收發方案",[70,366,367,369,372],{},[85,368,278],{},[85,370,371],{},"和 ROS 2 生態結合方便",[85,373,374],{},"離開 ROS 2 後複用性較差",[70,376,377,379,382],{},[85,378,292],{},[85,380,381],{},"適合 CANopen 設備，協議棧完整",[85,383,384],{},"只適合 CANopen 場景，學習成本較高",[70,386,387,389,392],{},[85,388,306],{},[85,390,391],{},"對特定硬件支持好",[85,393,394],{},"通用性較差，容易綁定廠商",[50,396,397],{"id":397},"本教程建議選擇",[15,399,400],{},"本教程建議優先選擇：",[148,402,407],{"className":403,"code":405,"language":406,"meta":153},[404],"language-text","SocketCAN + can-utils\n","text",[143,408,405],{"__ignoreMap":153},[15,410,411],{},"原因是：",[25,413,414,417,420,425,428],{},[28,415,416],{},"SocketCAN 是 Linux 下 CAN 通信的標準方案",[28,418,419],{},"不依賴 ROS 2，適合普通 C++、OpenCV、Qt、嵌入式 Linux 項目",[28,421,422,424],{},[143,423,240],{}," 非常適合調試和驗證 CAN 設備",[28,426,427],{},"後續可以封裝成普通 C++ driver",[28,429,430,431],{},"可以自然接入 ",[143,432,433],{},"ros2_control hardware_interface",[15,435,436],{},"推薦的學習順序是：",[148,438,441],{"className":439,"code":440,"language":406,"meta":153},[404],"1. 使用 ip link 配置 can0\n2. 使用 candump 接收 CAN 帧\n3. 使用 cansend 发送 CAN 帧\n4. 理解 struct can_frame\n5. 使用 C++ SocketCAN 进行收发\n6. 封装自己的 CanDriver 类\n7. 接入 ROS 2 或 ros2_control\n",[143,442,440],{"__ignoreMap":153},[15,444,445],{},"推薦的工程結構是：",[148,447,450],{"className":448,"code":449,"language":406,"meta":153},[404],"上层项目：ROS 2 \u002F OpenCV \u002F Qt \u002F 普通 C++ 程序\n        ↓\n自己封装的 CanDriver 类\n        ↓\nSocketCAN\n        ↓\ncan0\n        ↓\n电机驱动器 \u002F STM32 \u002F 底盘控制板\n",[143,451,449],{"__ignoreMap":153},[50,453,455],{"id":454},"與-ros-2-的關係","與 ROS 2 的關係",[15,457,458],{},"學習 SocketCAN，並不代表不用 ROS 2。",[15,460,461,462,464],{},"在 ROS 2 項目中，可以將 CAN 通信封裝成一個普通 C++ 類，然後在 ROS 2 節點或 ",[143,463,433],{}," 中調用。",[15,466,467],{},"例如：",[148,469,472],{"className":470,"code":471,"language":406,"meta":153},[404],"ros2_control controller\n        ↓\nhardware_interface\n        ↓\n自己封装的 CanDriver\n        ↓\nSocketCAN\n        ↓\ncan0\n        ↓\n电机驱动器\n",[143,473,471],{"__ignoreMap":153},[15,475,476],{},"這樣做的好處是，CAN 通信代碼不會和 ROS 2 強綁定。以後即使寫普通 C++ 項目、Qt 上位機或者 OpenCV 控制程序，也可以繼續複用同一套 CAN driver。",[50,478,480],{"id":479},"什麼時候使用-ros2_socketcan","什麼時候使用 ros2_socketcan",[15,482,483,485],{},[143,484,278],{}," 並不是不能用。",[15,487,488,489,491],{},"如果項目本身就是純 ROS 2 架構，並且希望快速把 CAN 幀轉換成 ROS 2 topic，那麼 ",[143,490,278],{}," 是一個可以考慮的方案。",[15,493,494],{},"但是對於底層驅動學習和長期工程複用來說，仍然建議先掌握 SocketCAN。",[15,496,497],{},"可以這樣理解：",[148,499,502],{"className":500,"code":501,"language":406,"meta":153},[404],"SocketCAN：底层能力\nros2_socketcan：ROS 2 封装\n",[143,503,501],{"__ignoreMap":153},[15,505,506,507,509],{},"先學 SocketCAN，再看 ",[143,508,278],{}," 會更容易理解。",[50,511,513],{"id":512},"什麼時候使用-ros2_canopen","什麼時候使用 ros2_canopen",[15,515,516],{},"如果你的電機驅動器或工業設備使用的是 CANopen 協議，那麼就不能只把它當作普通 CAN 幀通信來看待。",[15,518,519],{},"CANopen 是建立在 CAN 之上的高層協議，涉及對象字典、PDO、SDO、NMT 等概念。",[15,521,522],{},"這種情況下，可以考慮學習：",[148,524,527],{"className":525,"code":526,"language":406,"meta":153},[404],"ros2_canopen\n",[143,528,526],{"__ignoreMap":153},[15,530,531],{},"但如果你的設備只是自定義 CAN 協議，例如自己規定 CAN ID 和數據格式，那麼優先學習 SocketCAN 就足夠了。",[50,533,534],{"id":534},"本章學習目標",[15,536,537],{},"學習完本章後，應該能夠掌握：",[25,539,540,543,549,556,563,566,569,572],{},[28,541,542],{},"CAN 通信的基本概念",[28,544,545,546,548],{},"Linux 下 ",[143,547,193],{}," 設備的使用方式",[28,550,551,552,555],{},"使用 ",[143,553,554],{},"ip link"," 配置 CAN 波特率",[28,557,551,558,194,560,562],{},[143,559,249],{},[143,561,252],{}," 調試 CAN 總線",[28,564,565],{},"理解 CAN ID、標準幀、擴展幀、數據區等概念",[28,567,568],{},"使用 C++ SocketCAN 進行 CAN 幀收發",[28,570,571],{},"將 CAN 通信封裝成可複用的 C++ 類",[28,573,574],{},"爲後續接入 ROS 2、ros2_control、電機驅動器控制打基礎",[576,577,578],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":153,"searchDepth":580,"depth":580,"links":581},2,[582],{"id":12,"depth":580,"text":13,"children":583},[584,586,587,588,589,590,591,592],{"id":52,"depth":585,"text":53},3,{"id":183,"depth":585,"text":184},{"id":318,"depth":585,"text":318},{"id":397,"depth":585,"text":397},{"id":454,"depth":585,"text":455},{"id":479,"depth":585,"text":480},{"id":512,"depth":585,"text":513},{"id":534,"depth":585,"text":534},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","1300-0200","2023-12-30","wiki\u002F2023-12-30-ros2-tutorial","zh-hant:2023-12-30-ros2-tutorial","\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial","Ros2 Tutorial","md","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信",false,true,null,"zh-Hant","zh-hant",{},{"title":5,"description":153},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信","8-Ep3oTflKEqZi2MfstirHUMylAmj2l229ukEIGazLw",[613,619,624,629,634,639,644,649,654,659,664,669,674,679,684,689,694,699,704,709,714,719,724,728,733,734,738,743,747,752,757,762,767,772,777,782,787,792,797,802,807,812,817,822,827,832,837,842,847,852,857,862,867,872,877,882,887,892,897,902],{"path":614,"stem":615,"title":616,"date":595,"chapterOrder":617,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ros2-jie-shao","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ROS2介绍","ROS2介紹","0100",0,{"path":620,"stem":621,"title":622,"date":595,"chapterOrder":623,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-ru-men-cao-zuo","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-入门操作","入門操作","0200",{"path":625,"stem":626,"title":627,"date":595,"chapterOrder":628,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包","工作空間與功能包","0300",{"path":630,"stem":631,"title":632,"date":595,"chapterOrder":633,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-si-da-tong-xin","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-四大通信","四大通信","0400",{"path":635,"stem":636,"title":637,"date":595,"chapterOrder":638,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ros2-qi-ta-tong-xin-ji-zhi","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ROS2其他通信机制","ROS2其他通信機制","0500",{"path":640,"stem":641,"title":642,"date":595,"chapterOrder":643,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","Launch","0600",{"path":645,"stem":646,"title":647,"date":595,"chapterOrder":648,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-hui-su-rosbag2","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-回溯rosbag2","回溯rosbag2","0700",{"path":650,"stem":651,"title":652,"date":595,"chapterOrder":653,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-zuo-biao-bian-huan-tf","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-坐标变换TF","座標變換TF","0800",{"path":655,"stem":656,"title":657,"date":595,"chapterOrder":658,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-ke-shi-hua-ping-tai-rviz2-yu-urdf-jian-mo-yu-yan","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-可视化平台RVIZ2与URDF建模语言","可視化平臺RVIZ2與URDF建模語言","0900",{"path":660,"stem":661,"title":662,"date":595,"chapterOrder":663,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-stage-ros2-fang-zhen-ping-tai","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-Stage_Ros2仿真平台","Stage_Ros2仿真平臺","1000",{"path":665,"stem":666,"title":667,"date":595,"chapterOrder":668,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-gazeboclassic","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-GazeboClassic","Gezebo Classic","1100-0100",{"path":670,"stem":671,"title":672,"date":595,"chapterOrder":673,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo","Ignition Gazebo（Gazebo Fortress）","1100-0200",{"path":675,"stem":676,"title":677,"date":595,"chapterOrder":678,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-gazebosim","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-GazeboSim","Gz Sim（Gazebo Harmonic）","1100-0300",{"path":680,"stem":681,"title":682,"date":595,"chapterOrder":683,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-igngz2gzsim","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-Igngz2gzsim","將Ign Gazebo遷移至Gz Sim","1100-0400",{"path":685,"stem":686,"title":687,"date":595,"chapterOrder":688,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-gezebo-fang-zhen-ping-tai","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-Gezebo仿真平台","Gezebo仿真平臺","1100",{"path":690,"stem":691,"title":692,"date":595,"chapterOrder":693,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-humble-ban-ben","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-Humble版本","Humble導航仿真","1200-0100",{"path":695,"stem":696,"title":697,"date":595,"chapterOrder":698,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-jazzy-ban-ben","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-Jazzy版本","Jazzy導航仿真","1200-0200",{"path":700,"stem":701,"title":702,"date":595,"chapterOrder":703,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy","Humble與Jazzy導航的差異","1200-0300",{"path":705,"stem":706,"title":707,"date":595,"chapterOrder":708,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-ji-qi-ren-dao-hang-navigation2-fang-zhen-pian","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-机器人导航Navigation2(仿真篇)","機器人導航Navigation2(仿真篇)","1200",{"path":710,"stem":711,"title":712,"date":595,"chapterOrder":713,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-boost-aiso","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-Boost.Aiso","Boost.Asio庫","1300-0100-0100",{"path":715,"stem":716,"title":717,"date":595,"chapterOrder":718,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2-serial-driver","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2_serial_driver","ROS2 Serial Driver庫","1300-0100-0200",{"path":720,"stem":721,"title":722,"date":595,"chapterOrder":723,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-chuan-kou-tong-xin","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-串口通信","UART串口通信","1300-0100",{"path":725,"stem":726,"title":226,"date":595,"chapterOrder":727,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","1300-0200-0100",{"path":729,"stem":730,"title":731,"date":595,"chapterOrder":732,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2-socketcan","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2_socketcan","ROS2_SocketCAN","1300-0200-0200",{"path":593,"stem":610,"title":5,"date":595,"chapterOrder":594,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},{"path":735,"stem":736,"title":712,"date":595,"chapterOrder":737,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-boost-aiso","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-Boost.Aiso","1300-0300-0100",{"path":739,"stem":740,"title":741,"date":595,"chapterOrder":742,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-tcp-tong-xin","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-TCP通信","TCP通信","1300-0300",{"path":744,"stem":745,"title":712,"date":595,"chapterOrder":746,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-boost-aiso","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-Boost.Aiso","1300-0400-0100",{"path":748,"stem":749,"title":750,"date":595,"chapterOrder":751,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-udp-tong-xin","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-UDP通信","UDP通信","1300-0400",{"path":753,"stem":754,"title":755,"date":595,"chapterOrder":756,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-linux-ying-jian-tong-xin","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-Linux硬件通信","Linux硬件通信","1300",{"path":758,"stem":759,"title":760,"date":595,"chapterOrder":761,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-ji-qi-ren-zu-cheng","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-机器人组成","機器人組成","1400-0100",{"path":763,"stem":764,"title":765,"date":595,"chapterOrder":766,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-yuan-cheng-kai-fa-ssh","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-远程开发SSH","遠程開發SSH","1400-0200-0100",{"path":768,"stem":769,"title":770,"date":595,"chapterOrder":771,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-yuan-cheng-fang-wen-zhuo-mian","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-远程访问桌面","遠程訪問桌面","1400-0200-0200",{"path":773,"stem":774,"title":775,"date":595,"chapterOrder":776,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-gong-kong-ji-zhi-yuan-cheng-kai-fa-huan-jing","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-工控机之远程开发环境","工控機之遠程開發環境","1400-0200",{"path":778,"stem":779,"title":780,"date":595,"chapterOrder":781,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-gong-kong-ji-zhi-wai-jie-usb-she-bei","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-工控机之外接USB设备","工控機之外接USB設備","1400-0300",{"path":783,"stem":784,"title":785,"date":595,"chapterOrder":786,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-fen-bu-shi-da-jian","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-分布式搭建","分佈式搭建","1400-0400",{"path":788,"stem":789,"title":790,"date":595,"chapterOrder":791,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-you-hua-ri-zhi","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-优化日志","優化日誌","1400-0500",{"path":793,"stem":794,"title":795,"date":595,"chapterOrder":796,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-li-cheng-ji-odom","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-里程计Odom","里程計Odom","1400-0600-0100",{"path":798,"stem":799,"title":800,"date":595,"chapterOrder":801,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-guan-xing-ji-imu","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-惯性计IMU","慣性計IMU","1400-0600-0200",{"path":803,"stem":804,"title":805,"date":595,"chapterOrder":806,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-ji-guang-lei-da-lidar","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-激光雷达LiDAR","激光雷達LiDAR","1400-0600-0300",{"path":808,"stem":809,"title":810,"date":595,"chapterOrder":811,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-xiang-ji-camera","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-相机Camera","相機Camera","1400-0600-0400",{"path":813,"stem":814,"title":815,"date":595,"chapterOrder":816,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-quan-qiu-ding-wei-gnss","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-全球定位GNSS","全球定位GNSS","1400-0600-0500",{"path":818,"stem":819,"title":820,"date":595,"chapterOrder":821,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-shou-bing-joy","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-手柄joy","手柄JOY","1400-0600-0600",{"path":823,"stem":824,"title":825,"date":595,"chapterOrder":826,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-jian-pan-kong-zhi-jie-dian","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-键盘控制节点","鍵盤控制節點","1400-0600-0700",{"path":828,"stem":829,"title":830,"date":595,"chapterOrder":831,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-ying-jian-ping-tai","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-硬件平台","硬件平臺","1400-0600",{"path":833,"stem":834,"title":835,"date":595,"chapterOrder":836,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-zuo-biao-xi-yu-hua-ti-guan-xi","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-坐标系与话题关系","座標系與話題關係","1400-0700",{"path":838,"stem":839,"title":840,"date":595,"chapterOrder":841,"chapterDepth":585,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-lun-shi-li-cheng-ji-biao-ding","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定","輪式里程計標定","1400-0800-0100-0100",{"path":843,"stem":844,"title":845,"date":595,"chapterOrder":846,"chapterDepth":585,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-lun-shi-li-cheng-ji-yu-imu-rong-he","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-轮式里程计与IMU融合","輪式里程計與IMU融合","1400-0800-0100-0200",{"path":848,"stem":849,"title":850,"date":595,"chapterOrder":851,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-lun-shi-li-cheng-ji-biao-ding-yu-rong-he","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-轮式里程计标定与融合","輪式里程計標定與融合","1400-0800-0100",{"path":853,"stem":854,"title":855,"date":595,"chapterOrder":856,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-ji-guang-lei-da-gong-ju","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-激光雷达工具","激光雷達工具","1400-0800-0200",{"path":858,"stem":859,"title":860,"date":595,"chapterOrder":861,"chapterDepth":580,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-xiang-ji-shi-yong-jin-jie","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-相机使用进阶","相機使用進階","1400-0800-0300",{"path":863,"stem":864,"title":865,"date":595,"chapterOrder":866,"chapterDepth":160,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-ying-jian-ping-tai-jin-jie","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-硬件平台进阶","硬件平臺進階","1400-0800",{"path":868,"stem":869,"title":870,"date":595,"chapterOrder":871,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-ji-qi-ren-ying-jian","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-机器人硬件","機器人硬件","1400",{"path":873,"stem":874,"title":875,"date":595,"chapterOrder":876,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ros2-control","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ROS2_Control","ROS2_Control","1500",{"path":878,"stem":879,"title":880,"date":595,"chapterOrder":881,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-Moveit2工业机器人机械臂","Moveit2工業機器人機械臂","1600",{"path":883,"stem":884,"title":885,"date":595,"chapterOrder":886,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-ji-qi-ren-dao-hang-navigation2-shi-ti-pian","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-机器人导航Navigation2(实体篇)","機器人導航Navigation2(實體篇)","1700",{"path":888,"stem":889,"title":890,"date":595,"chapterOrder":891,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS","1800",{"path":893,"stem":894,"title":895,"date":595,"chapterOrder":896,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-webots-fang-zhen-ping-tai","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-Webots仿真平台","Webots仿真平臺","1900",{"path":898,"stem":899,"title":900,"date":595,"chapterOrder":901,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":602},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","OpenCV","2000",{"path":598,"stem":903,"title":904,"date":595,"chapterOrder":604,"chapterDepth":618,"docKey":597,"docRoot":598,"docTitle":599,"isWikiDoc":603,"isWikiIndex":603},"_i18n\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2機器人操作系統教程",{"variants":906},[907,910,911,914,917],{"path":908,"localeSlug":909,"i18nKey":601},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","en-us",{"path":593,"localeSlug":606,"i18nKey":601},{"path":912,"localeSlug":913,"i18nKey":601},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","zh-hk",{"path":915,"localeSlug":916,"i18nKey":601},"\u002Fzh-tw\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","zh-tw",{"path":918,"localeSlug":919,"i18nKey":601},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","zh-cn",[908,609,593,609,912,609,915,609,918,609],1784646799124]