[{"data":1,"prerenderedAt":797},["ShallowReactive",2],{"wiki-page-\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy":3,"wiki-doc-items-\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy":487,"language-switcher-data-\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy":781,"wiki-i18n-paths-\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy":796},{"id":4,"title":5,"body":6,"canonicalPath":468,"chapterDepth":287,"chapterOrder":469,"date":470,"description":258,"docI18nKey":471,"docKey":472,"docRoot":473,"docTitle":474,"extension":475,"i18nKey":476,"isBlogPost":477,"isWikiDoc":478,"isWikiIndex":477,"layout":479,"legacyPath":479,"locale":480,"localeSlug":481,"meta":482,"navigation":478,"path":468,"seo":483,"sourcePath":484,"sourceStem":476,"stem":485,"wikiDepth":287,"__hash__":486},"content\u002F_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy.md","Humble與Jazzy導航的差異",{"type":7,"value":8,"toc":461},"minimark",[9,14,34,37,45,245,248,251,261,270,273,276,315,318,340,343,346,390,397,413,416,457],[10,11,13],"h2",{"id":12},"參考的官方-jazzy-示例","參考的官方 Jazzy 示例",[15,16,17,24,29],"ul",{},[18,19,20],"li",{},[21,22,23],"code",{},"\u002Fopt\u002Fros\u002Fjazzy\u002Fshare\u002Fnav2_bringup\u002Fparams\u002Fnav2_params.yaml",[18,25,26],{},[21,27,28],{},"\u002Fopt\u002Fros\u002Fjazzy\u002Fshare\u002Fnav2_bt_navigator\u002Fbehavior_trees\u002Fnavigate_to_pose_w_replanning_and_recovery.xml",[18,30,31],{},[21,32,33],{},"\u002Fopt\u002Fros\u002Fjazzy\u002Fshare\u002Fnav2_bt_navigator\u002Fbehavior_trees\u002Fnavigate_through_poses_w_replanning_and_recovery.xml",[10,35,36],{"id":36},"修改內容",[38,39,40,41,44],"p",{},"可以複製一個humble的功能包並命名為 ",[21,42,43],{},"mycar_navigation2_jazzy",",然後拿這個功能包進行改動.",[46,47,48,66,93,141,165,208,221],"ol",{},[18,49,50,51,53,54],{},"將功能包名保持為 ",[21,52,43],{},"，並在相關位置補充修改邊界註釋。",[15,55,56,61],{},[18,57,58],{},[21,59,60],{},"package.xml",[18,62,63],{},[21,64,65],{},"CMakeLists.txt",[18,67,68,69,72,73,75,76],{},"將 ",[21,70,71],{},"_jazzy"," 包內 launch 文件的包路徑查詢保持為 ",[21,74,43],{},"，並補充修改邊界註釋。",[15,77,78,83,88],{},[18,79,80],{},[21,81,82],{},"launch\u002Fnav2.launch.py",[18,84,85],{},[21,86,87],{},"launch\u002Fbringup.launch.py",[18,89,90],{},[21,91,92],{},"launch\u002Fauto_slam.launch.py",[18,94,95,96,99,100,103,104],{},"對照 Jazzy 官方 ",[21,97,98],{},"bt_navigator"," 示例更新 ",[21,101,102],{},"params\u002Fbt.yaml","。",[15,105,106,109,116,122,135],{},[18,107,108],{},"刪除 Humble 時代列出的 Nav2 內置 BT 插件列表。",[18,110,111,112,115],{},"Jazzy 會自動加載 Nav2 內置 BT 插件，",[21,113,114],{},"plugin_lib_names"," 只保留自定義 BT 插件。",[18,117,118,119,121],{},"沒有自定義 BT 插件時不傳 ",[21,120,114],{},"，避免空列表被解析成無類型參數。",[18,123,124,125,128,129,128,132,103],{},"新增 ",[21,126,127],{},"navigators","、",[21,130,131],{},"navigate_to_pose",[21,133,134],{},"navigate_through_poses",[18,136,124,137,140],{},[21,138,139],{},"error_code_names","，用於配合 Jazzy 官方行為樹裏的 error code blackboard 變量。",[18,142,143,144],{},"對照 Jazzy 官方 pluginlib 類名更新 planner 和 behavior 插件。",[15,145,146,155],{},[18,147,148,151,152],{},[21,149,150],{},"nav2_navfn_planner\u002FNavfnPlanner"," 改為 ",[21,153,154],{},"nav2_navfn_planner::NavfnPlanner",[18,156,157,160,161,164],{},[21,158,159],{},"nav2_behaviors\u002FSpin"," 等改為 ",[21,162,163],{},"nav2_behaviors::Spin"," 等",[18,166,167,168],{},"對照 Jazzy 官方行為樹更新自定義 BT XML。",[15,169,170,176,185,200],{},[18,171,172,173,103],{},"添加 ",[21,174,175],{},"BTCPP_format=\"4\"",[18,177,172,178,181,182,103],{},[21,179,180],{},"PlannerSelector"," 和 ",[21,183,184],{},"ControllerSelector",[18,186,187,128,190,128,193,196,197,103],{},[21,188,189],{},"ComputePathToPose",[21,191,192],{},"ComputePathThroughPoses",[21,194,195],{},"FollowPath"," 添加 ",[21,198,199],{},"error_code_id",[18,201,172,202,181,205,103],{},[21,203,204],{},"WouldAPlannerRecoveryHelp",[21,206,207],{},"WouldAControllerRecoveryHelp",[18,209,210,211],{},"對照 Jazzy 官方 controller 參數名更新進度檢查器參數。",[15,212,213],{},[18,214,215,151,218],{},[21,216,217],{},"progress_checker_plugin",[21,219,220],{},"progress_checker_plugins: [\"progress_checker\"]",[18,222,223,224],{},"整理 planner\u002Fcontroller 參數文件的 YAML 結構。",[15,225,226,233],{},[18,227,228,229,232],{},"將重複的 ",[21,230,231],{},"\u002F**"," 頂層鍵合併成一個。",[18,234,235,181,238,241,242,244],{},[21,236,237],{},"global_costmap",[21,239,240],{},"local_costmap"," 掛在同一個 ",[21,243,231],{}," 根鍵下，避免參數解析時覆蓋 server 參數。",[10,246,247],{"id":247},"主要修復的問題",[38,249,250],{},"啓動時報錯：",[252,253,259],"pre",{"className":254,"code":256,"language":257,"meta":258},[255],"language-text","Failed to create navigator id navigate_to_pose. Exception: ID [ComputePathToPose] already registered\n","text","",[21,260,256],{"__ignoreMap":258},[38,262,263,264,266,267,269],{},"原因是 Humble 配置在 ",[21,265,114],{}," 中手動列出了 Nav2 內置 BT 插件，而 Jazzy 已經自動加載這些內置插件，導致 ",[21,268,189],{}," 被重複註冊。",[10,271,272],{"id":272},"使用方式",[38,274,275],{},"重新構建並 source：",[252,277,281],{"className":278,"code":279,"language":280,"meta":258,"style":258},"language-bash shiki shiki-themes github-light github-dark","colcon build --symlink-install --packages-select mycar_navigation2_jazzy\nsource install\u002Fsetup.bash\n","bash",[21,282,283,306],{"__ignoreMap":258},[284,285,288,292,296,300,303],"span",{"class":286,"line":287},"line",1,[284,289,291],{"class":290},"sScJk","colcon",[284,293,295],{"class":294},"sZZnC"," build",[284,297,299],{"class":298},"sj4cs"," --symlink-install",[284,301,302],{"class":298}," --packages-select",[284,304,305],{"class":294}," mycar_navigation2_jazzy\n",[284,307,309,312],{"class":286,"line":308},2,[284,310,311],{"class":298},"source",[284,313,314],{"class":294}," install\u002Fsetup.bash\n",[38,316,317],{},"啓動 Jazzy 版本：",[252,319,321],{"className":278,"code":320,"language":280,"meta":258,"style":258},"ros2 launch mycar_navigation2_jazzy bringup.launch.py use_sim_time:=True\n",[21,322,323],{"__ignoreMap":258},[284,324,325,328,331,334,337],{"class":286,"line":287},[284,326,327],{"class":290},"ros2",[284,329,330],{"class":294}," launch",[284,332,333],{"class":294}," mycar_navigation2_jazzy",[284,335,336],{"class":294}," bringup.launch.py",[284,338,339],{"class":294}," use_sim_time:=True\n",[10,341,342],{"id":342},"已驗證",[38,344,345],{},"已執行：",[252,347,349],{"className":278,"code":348,"language":280,"meta":258,"style":258},"colcon build --symlink-install --packages-select mycar_navigation2_jazzy\nros2 launch mycar_navigation2_jazzy nav2.launch.py --show-args\nros2 launch mycar_navigation2_jazzy bringup.launch.py --show-args\n",[21,350,351,363,377],{"__ignoreMap":258},[284,352,353,355,357,359,361],{"class":286,"line":287},[284,354,291],{"class":290},[284,356,295],{"class":294},[284,358,299],{"class":298},[284,360,302],{"class":298},[284,362,305],{"class":294},[284,364,365,367,369,371,374],{"class":286,"line":308},[284,366,327],{"class":290},[284,368,330],{"class":294},[284,370,333],{"class":294},[284,372,373],{"class":294}," nav2.launch.py",[284,375,376],{"class":298}," --show-args\n",[284,378,380,382,384,386,388],{"class":286,"line":379},3,[284,381,327],{"class":290},[284,383,330],{"class":294},[284,385,333],{"class":294},[284,387,336],{"class":294},[284,389,376],{"class":298},[38,391,392,393,396],{},"另外用 ",[21,394,395],{},"timeout"," 做過短啓動檢查：",[252,398,399],{"className":278,"code":320,"language":280,"meta":258,"style":258},[21,400,401],{"__ignoreMap":258},[284,402,403,405,407,409,411],{"class":286,"line":287},[284,404,327],{"class":290},[284,406,330],{"class":294},[284,408,333],{"class":294},[284,410,336],{"class":294},[284,412,339],{"class":294},[38,414,415],{},"結果：",[15,417,418,427,435,441,450],{},[18,419,420,422,423,181,425,103],{},[21,421,98],{}," 成功創建 ",[21,424,131],{},[21,426,134],{},[18,428,429,432,433,103],{},[21,430,431],{},"planner_server"," 成功加載 ",[21,434,154],{},[18,436,437,440],{},[21,438,439],{},"controller_server"," 成功加載 DWB 和所有 critics。",[18,442,443,432,446,449],{},[21,444,445],{},"behavior_server",[21,447,448],{},"nav2_behaviors::..."," 插件。",[18,451,452,453,456],{},"在沒有 Gazebo\u002Frobot_state_publisher\u002FTF 的短啓動環境裏，最後停在等待 ",[21,454,455],{},"base_link -> map"," TF，這是預期的運行環境缺失，不是配置 fatal。",[458,459,460],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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);}",{"title":258,"searchDepth":308,"depth":308,"links":462},[463,464,465,466,467],{"id":12,"depth":308,"text":13},{"id":36,"depth":308,"text":36},{"id":247,"depth":308,"text":247},{"id":272,"depth":308,"text":272},{"id":342,"depth":308,"text":342},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","1200-0300","2023-12-30","wiki\u002F2023-12-30-ros2-tutorial","zh-hk:2023-12-30-ros2-tutorial","\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial","Ros2 Tutorial","md","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy",false,true,null,"zh-HK","zh-hk",{},{"title":5,"description":258},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy","WDrI_i1kWI54ZGD2jC0MSuZUmWDaFrWe40LbLB6iGVQ",[488,494,499,504,509,514,519,524,529,534,539,544,549,554,559,564,569,574,575,580,585,590,595,600,605,610,614,619,623,628,633,638,643,648,653,658,663,668,673,678,683,688,693,698,703,708,713,718,723,728,733,738,743,748,753,758,763,768,773,778],{"path":489,"stem":490,"title":491,"date":470,"chapterOrder":492,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ros2-jie-shao","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ROS2介绍","ROS2介紹","0100",0,{"path":495,"stem":496,"title":497,"date":470,"chapterOrder":498,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-ru-men-cao-zuo","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-入门操作","入門操作","0200",{"path":500,"stem":501,"title":502,"date":470,"chapterOrder":503,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包","工作空間與功能包","0300",{"path":505,"stem":506,"title":507,"date":470,"chapterOrder":508,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-si-da-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-四大通信","四大通信","0400",{"path":510,"stem":511,"title":512,"date":470,"chapterOrder":513,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ros2-qi-ta-tong-xin-ji-zhi","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ROS2其他通信机制","ROS2其他通信機制","0500",{"path":515,"stem":516,"title":517,"date":470,"chapterOrder":518,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","Launch","0600",{"path":520,"stem":521,"title":522,"date":470,"chapterOrder":523,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-hui-su-rosbag2","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-回溯rosbag2","回溯rosbag2","0700",{"path":525,"stem":526,"title":527,"date":470,"chapterOrder":528,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-zuo-biao-bian-huan-tf","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-坐标变换TF","座標變換TF","0800",{"path":530,"stem":531,"title":532,"date":470,"chapterOrder":533,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-ke-shi-hua-ping-tai-rviz2-yu-urdf-jian-mo-yu-yan","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-可视化平台RVIZ2与URDF建模语言","可視化平台RVIZ2與URDF建模語言","0900",{"path":535,"stem":536,"title":537,"date":470,"chapterOrder":538,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-stage-ros2-fang-zhen-ping-tai","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-Stage_Ros2仿真平台","Stage_Ros2仿真平台","1000",{"path":540,"stem":541,"title":542,"date":470,"chapterOrder":543,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-gazeboclassic","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-GazeboClassic","Gezebo Classic","1100-0100",{"path":545,"stem":546,"title":547,"date":470,"chapterOrder":548,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo","Ignition Gazebo（Gazebo Fortress）","1100-0200",{"path":550,"stem":551,"title":552,"date":470,"chapterOrder":553,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-gazebosim","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-GazeboSim","Gz Sim（Gazebo Harmonic）","1100-0300",{"path":555,"stem":556,"title":557,"date":470,"chapterOrder":558,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-igngz2gzsim","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-Igngz2gzsim","將Ign Gazebo遷移至Gz Sim","1100-0400",{"path":560,"stem":561,"title":562,"date":470,"chapterOrder":563,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-gezebo-fang-zhen-ping-tai","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-Gezebo仿真平台","Gezebo仿真平台","1100",{"path":565,"stem":566,"title":567,"date":470,"chapterOrder":568,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-humble-ban-ben","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-Humble版本","Humble導航仿真","1200-0100",{"path":570,"stem":571,"title":572,"date":470,"chapterOrder":573,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-jazzy-ban-ben","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-Jazzy版本","Jazzy導航仿真","1200-0200",{"path":468,"stem":485,"title":5,"date":470,"chapterOrder":469,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},{"path":576,"stem":577,"title":578,"date":470,"chapterOrder":579,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-ji-qi-ren-dao-hang-navigation2-fang-zhen-pian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-机器人导航Navigation2(仿真篇)","機器人導航Navigation2(仿真篇)","1200",{"path":581,"stem":582,"title":583,"date":470,"chapterOrder":584,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-boost-aiso","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-Boost.Aiso","Boost.Asio庫","1300-0100-0100",{"path":586,"stem":587,"title":588,"date":470,"chapterOrder":589,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2-serial-driver","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2_serial_driver","ROS2 Serial Driver庫","1300-0100-0200",{"path":591,"stem":592,"title":593,"date":470,"chapterOrder":594,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-chuan-kou-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-串口通信","UART串口通信","1300-0100",{"path":596,"stem":597,"title":598,"date":470,"chapterOrder":599,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","SocketCAN","1300-0200-0100",{"path":601,"stem":602,"title":603,"date":470,"chapterOrder":604,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2-socketcan","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2_socketcan","ROS2_SocketCAN","1300-0200-0200",{"path":606,"stem":607,"title":608,"date":470,"chapterOrder":609,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信","CAN通信","1300-0200",{"path":611,"stem":612,"title":583,"date":470,"chapterOrder":613,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-boost-aiso","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-Boost.Aiso","1300-0300-0100",{"path":615,"stem":616,"title":617,"date":470,"chapterOrder":618,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-tcp-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-TCP通信","TCP通信","1300-0300",{"path":620,"stem":621,"title":583,"date":470,"chapterOrder":622,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-boost-aiso","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-Boost.Aiso","1300-0400-0100",{"path":624,"stem":625,"title":626,"date":470,"chapterOrder":627,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-udp-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-UDP通信","UDP通信","1300-0400",{"path":629,"stem":630,"title":631,"date":470,"chapterOrder":632,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-linux-ying-jian-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-Linux硬件通信","Linux硬件通信","1300",{"path":634,"stem":635,"title":636,"date":470,"chapterOrder":637,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-ji-qi-ren-zu-cheng","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-机器人组成","機器人組成","1400-0100",{"path":639,"stem":640,"title":641,"date":470,"chapterOrder":642,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-yuan-cheng-kai-fa-ssh","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-远程开发SSH","遠程開發SSH","1400-0200-0100",{"path":644,"stem":645,"title":646,"date":470,"chapterOrder":647,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-yuan-cheng-fang-wen-zhuo-mian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-远程访问桌面","遠程訪問桌面","1400-0200-0200",{"path":649,"stem":650,"title":651,"date":470,"chapterOrder":652,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-gong-kong-ji-zhi-yuan-cheng-kai-fa-huan-jing","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-工控机之远程开发环境","工控機之遠程開發環境","1400-0200",{"path":654,"stem":655,"title":656,"date":470,"chapterOrder":657,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-gong-kong-ji-zhi-wai-jie-usb-she-bei","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-工控机之外接USB设备","工控機之外接USB設備","1400-0300",{"path":659,"stem":660,"title":661,"date":470,"chapterOrder":662,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-fen-bu-shi-da-jian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-分布式搭建","分佈式搭建","1400-0400",{"path":664,"stem":665,"title":666,"date":470,"chapterOrder":667,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-you-hua-ri-zhi","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-优化日志","優化日誌","1400-0500",{"path":669,"stem":670,"title":671,"date":470,"chapterOrder":672,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-li-cheng-ji-odom","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-里程计Odom","里程計Odom","1400-0600-0100",{"path":674,"stem":675,"title":676,"date":470,"chapterOrder":677,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-guan-xing-ji-imu","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-惯性计IMU","慣性計IMU","1400-0600-0200",{"path":679,"stem":680,"title":681,"date":470,"chapterOrder":682,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-ji-guang-lei-da-lidar","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-激光雷达LiDAR","激光雷達LiDAR","1400-0600-0300",{"path":684,"stem":685,"title":686,"date":470,"chapterOrder":687,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-xiang-ji-camera","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-相机Camera","相機Camera","1400-0600-0400",{"path":689,"stem":690,"title":691,"date":470,"chapterOrder":692,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-quan-qiu-ding-wei-gnss","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-全球定位GNSS","全球定位GNSS","1400-0600-0500",{"path":694,"stem":695,"title":696,"date":470,"chapterOrder":697,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-shou-bing-joy","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-手柄joy","手柄JOY","1400-0600-0600",{"path":699,"stem":700,"title":701,"date":470,"chapterOrder":702,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-jian-pan-kong-zhi-jie-dian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-键盘控制节点","鍵盤控制節點","1400-0600-0700",{"path":704,"stem":705,"title":706,"date":470,"chapterOrder":707,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-ying-jian-ping-tai","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-硬件平台","硬件平台","1400-0600",{"path":709,"stem":710,"title":711,"date":470,"chapterOrder":712,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-zuo-biao-xi-yu-hua-ti-guan-xi","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-坐标系与话题关系","座標系與話題關係","1400-0700",{"path":714,"stem":715,"title":716,"date":470,"chapterOrder":717,"chapterDepth":379,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-lun-shi-li-cheng-ji-biao-ding","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定","輪式里程計標定","1400-0800-0100-0100",{"path":719,"stem":720,"title":721,"date":470,"chapterOrder":722,"chapterDepth":379,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-lun-shi-li-cheng-ji-yu-imu-rong-he","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-轮式里程计与IMU融合","輪式里程計與IMU融合","1400-0800-0100-0200",{"path":724,"stem":725,"title":726,"date":470,"chapterOrder":727,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-lun-shi-li-cheng-ji-biao-ding-yu-rong-he","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-轮式里程计标定与融合","輪式里程計標定與融合","1400-0800-0100",{"path":729,"stem":730,"title":731,"date":470,"chapterOrder":732,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-ji-guang-lei-da-gong-ju","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-激光雷达工具","激光雷達工具","1400-0800-0200",{"path":734,"stem":735,"title":736,"date":470,"chapterOrder":737,"chapterDepth":308,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-xiang-ji-shi-yong-jin-jie","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-相机使用进阶","相機使用進階","1400-0800-0300",{"path":739,"stem":740,"title":741,"date":470,"chapterOrder":742,"chapterDepth":287,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-ying-jian-ping-tai-jin-jie","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-硬件平台进阶","硬件平台進階","1400-0800",{"path":744,"stem":745,"title":746,"date":470,"chapterOrder":747,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-ji-qi-ren-ying-jian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-机器人硬件","機器人硬件","1400",{"path":749,"stem":750,"title":751,"date":470,"chapterOrder":752,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ros2-control","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ROS2_Control","ROS2_Control","1500",{"path":754,"stem":755,"title":756,"date":470,"chapterOrder":757,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-Moveit2工业机器人机械臂","Moveit2工業機器人機械臂","1600",{"path":759,"stem":760,"title":761,"date":470,"chapterOrder":762,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-ji-qi-ren-dao-hang-navigation2-shi-ti-pian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-机器人导航Navigation2(实体篇)","機器人導航Navigation2(實體篇)","1700",{"path":764,"stem":765,"title":766,"date":470,"chapterOrder":767,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS","1800",{"path":769,"stem":770,"title":771,"date":470,"chapterOrder":772,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-webots-fang-zhen-ping-tai","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-Webots仿真平台","Webots仿真平台","1900",{"path":774,"stem":775,"title":776,"date":470,"chapterOrder":777,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":477},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","OpenCV","2000",{"path":473,"stem":779,"title":780,"date":470,"chapterOrder":479,"chapterDepth":493,"docKey":472,"docRoot":473,"docTitle":474,"isWikiDoc":478,"isWikiIndex":478},"_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2機器人操作系統教程",{"variants":782},[783,786,789,790,793],{"path":784,"localeSlug":785,"i18nKey":476},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","en-us",{"path":787,"localeSlug":788,"i18nKey":476},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","zh-hant",{"path":468,"localeSlug":481,"i18nKey":476},{"path":791,"localeSlug":792,"i18nKey":476},"\u002Fzh-tw\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","zh-tw",{"path":794,"localeSlug":795,"i18nKey":476},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","zh-cn",[784,484,787,484,468,484,791,484,794,484],1784646825722]