[{"data":1,"prerenderedAt":868},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv":3,"wiki-doc-items-2023-12-30-ros2-tutorial":448,"wiki:author-members":856},{"id":4,"title":5,"authors":6,"body":8,"chapterDepth":435,"chapterOrder":436,"date":437,"description":48,"docKey":438,"docRoot":439,"docTitle":440,"extension":441,"isWikiDoc":90,"isWikiIndex":442,"meta":443,"navigation":90,"path":444,"seo":445,"stem":446,"wikiDepth":87,"__hash__":447},"wiki\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV.md","OpenCV",[7],"董佳辉",{"type":9,"value":10,"toc":432},"minimark",[11,16,20,28,34,37,43,53,57,64,71,74,140,145,148,151,156,159,207,210,225,228,233,244,247,252,296,360,363,382,385,390,393,402,409,418,425,428],[12,13,15],"h3",{"id":14},"cv_bridge","CV_Bridge",[17,18,19],"p",{},"cv_bridge维基百科介绍:",[17,21,22],{},[23,24,25],"a",{"href":25,"rel":26},"https:\u002F\u002Fwiki.ros.org\u002Fcv_bridge",[27],"nofollow",[17,29,30],{},[23,31,32],{"href":32,"rel":33},"https:\u002F\u002Findex.ros.org\u002Fp\u002Fcv_bridge\u002F",[27],[17,35,36],{},"ROS2Humble的cv_bridge仓库链接(注意选择对应版本的分支branches):",[17,38,39],{},[23,40,41],{"href":41,"rel":42},"https:\u002F\u002Fgithub.com\u002Fros-perception\u002Fvision_opencv\u002Ftree\u002Fhumble",[27],[17,44,45,50],{},[46,47],"img",{"alt":48,"src":49},"","https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1953.webp",[46,51],{"alt":48,"src":52},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1954.webp",[54,55,56],"h4",{"id":56},"安装",[17,58,59,60],{},"提前自己编译好带CUDA的OpenCV4,详见",[23,61,63],{"href":62},"\u002Fwiki\u002F2023-12-10-dian-kong-shi-jue-huan-jing-da-jian","电控组环境搭建大全",[65,66,67],"ol",{},[68,69,70],"li",{},"apt安装(不建议)",[17,72,73],{},"由于ros自带的cv_bridge自动链接ros自带的oepncv版本,所以我们一般不会用ros2自带的cv_bridge,一般都需要自己手动编译一个cv_bridge.",[75,76,80],"pre",{"className":77,"code":78,"language":79,"meta":48,"style":48},"language-cmake shiki shiki-themes github-light github-dark","\n# 通用命令\nsudo apt install ros-\u003Cros2-distro>-vision-opencv\n\n# ROS2 Humble\nsudo apt install ros-humble-vision-opencv\n\n# ROS2 Jazzy\nsudo apt install ros-jazzy-vision-opencv\n","cmake",[81,82,83,92,99,106,111,117,123,128,134],"code",{"__ignoreMap":48},[84,85,88],"span",{"class":86,"line":87},"line",1,[84,89,91],{"emptyLinePlaceholder":90},true,"\n",[84,93,95],{"class":86,"line":94},2,[84,96,98],{"class":97},"sJ8bj","# 通用命令\n",[84,100,102],{"class":86,"line":101},3,[84,103,105],{"class":104},"sVt8B","sudo apt install ros-\u003Cros2-distro>-vision-opencv\n",[84,107,109],{"class":86,"line":108},4,[84,110,91],{"emptyLinePlaceholder":90},[84,112,114],{"class":86,"line":113},5,[84,115,116],{"class":97},"# ROS2 Humble\n",[84,118,120],{"class":86,"line":119},6,[84,121,122],{"class":104},"sudo apt install ros-humble-vision-opencv\n",[84,124,126],{"class":86,"line":125},7,[84,127,91],{"emptyLinePlaceholder":90},[84,129,131],{"class":86,"line":130},8,[84,132,133],{"class":97},"# ROS2 Jazzy\n",[84,135,137],{"class":86,"line":136},9,[84,138,139],{"class":104},"sudo apt install ros-jazzy-vision-opencv\n",[65,141,142],{"start":94},[68,143,144],{},"源码编译安装(建议)",[17,146,147],{},"本教程以jazzy为例子.",[17,149,150],{},"首先克隆仓库,克隆jazzy,humble,rolling都可以,只要是ROS2的基本都没啥大变化.但是官方暂时没出jazzy,我就直接克隆默认的rolling了.",[17,152,153],{},[46,154],{"alt":48,"src":155},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1955.webp",[17,157,158],{},"新建一个文件夹",[75,160,162],{"className":77,"code":161,"language":79,"meta":48,"style":48},"mkdir ~\u002Fros2_ws\u002Fsrc\ncd ~\u002Fros2_ws\u002Fsrc\n\n# 克隆源码\ngit clone https:\u002F\u002Fgithub.com\u002Fros-perception\u002Fvision_opencv.git\ncd vision_opencv\n\n# 如果是humble建议:\ngit checkout humble\n",[81,163,164,169,174,178,183,188,193,197,202],{"__ignoreMap":48},[84,165,166],{"class":86,"line":87},[84,167,168],{"class":104},"mkdir ~\u002Fros2_ws\u002Fsrc\n",[84,170,171],{"class":86,"line":94},[84,172,173],{"class":104},"cd ~\u002Fros2_ws\u002Fsrc\n",[84,175,176],{"class":86,"line":101},[84,177,91],{"emptyLinePlaceholder":90},[84,179,180],{"class":86,"line":108},[84,181,182],{"class":97},"# 克隆源码\n",[84,184,185],{"class":86,"line":113},[84,186,187],{"class":104},"git clone https:\u002F\u002Fgithub.com\u002Fros-perception\u002Fvision_opencv.git\n",[84,189,190],{"class":86,"line":119},[84,191,192],{"class":104},"cd vision_opencv\n",[84,194,195],{"class":86,"line":125},[84,196,91],{"emptyLinePlaceholder":90},[84,198,199],{"class":86,"line":130},[84,200,201],{"class":97},"# 如果是humble建议:\n",[84,203,204],{"class":86,"line":136},[84,205,206],{"class":104},"git checkout humble\n",[17,208,209],{},"安装依赖:",[75,211,213],{"className":77,"code":212,"language":79,"meta":48,"style":48},"sudo apt install python3-numpy\nsudo apt install libboost-python-dev\n",[81,214,215,220],{"__ignoreMap":48},[84,216,217],{"class":86,"line":87},[84,218,219],{"class":104},"sudo apt install python3-numpy\n",[84,221,222],{"class":86,"line":94},[84,223,224],{"class":104},"sudo apt install libboost-python-dev\n",[17,226,227],{},"修改cv_bridge的CMakeLists",[17,229,230],{},[46,231],{"alt":48,"src":232},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1956.webp",[17,234,235,236,239,240,243],{},"将原本的",[81,237,238],{},"find_package(OpenCV 4 QUIET)","改为精确匹配版本，并添加",[81,241,242],{},"EXACT","参数：",[17,245,246],{},"EXACT是未找到精确版本时，CMake会报错并终止构建.",[17,248,249],{},[46,250],{"alt":48,"src":251},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1957.webp",[75,253,255],{"className":77,"code":254,"language":79,"meta":48,"style":48},"find_package(OpenCV 4.11 EXACT QUIET\n  COMPONENTS\n    opencv_core\n    opencv_imgproc\n    opencv_imgcodecs\n  CONFIG\n)\n",[81,256,257,266,271,276,281,286,291],{"__ignoreMap":48},[84,258,259,263],{"class":86,"line":87},[84,260,262],{"class":261},"szBVR","find_package",[84,264,265],{"class":104},"(OpenCV 4.11 EXACT QUIET\n",[84,267,268],{"class":86,"line":94},[84,269,270],{"class":104},"  COMPONENTS\n",[84,272,273],{"class":86,"line":101},[84,274,275],{"class":104},"    opencv_core\n",[84,277,278],{"class":86,"line":108},[84,279,280],{"class":104},"    opencv_imgproc\n",[84,282,283],{"class":86,"line":113},[84,284,285],{"class":104},"    opencv_imgcodecs\n",[84,287,288],{"class":86,"line":119},[84,289,290],{"class":104},"  CONFIG\n",[84,292,293],{"class":86,"line":125},[84,294,295],{"class":104},")\n",[75,297,299],{"className":77,"code":298,"language":79,"meta":48,"style":48},"cd ~\u002Fros2_ws\n\n# 下面这三个根据情况三选一,一般是第一个colcon build --symlink-install\n\n# 如果你曾经没编译过\ncolcon build --symlink-install\n\n# 如果你只想编译cv_bridge\ncolcon build --symlink-install --packages-select cv_bridge\n\n# 如果你曾经编译过一遍,则需要下列命令\ncolcon build --symlink-install --packages-select cv_bridge --allow-overriding cv_bridge\n",[81,300,301,306,310,315,319,324,329,333,338,343,348,354],{"__ignoreMap":48},[84,302,303],{"class":86,"line":87},[84,304,305],{"class":104},"cd ~\u002Fros2_ws\n",[84,307,308],{"class":86,"line":94},[84,309,91],{"emptyLinePlaceholder":90},[84,311,312],{"class":86,"line":101},[84,313,314],{"class":97},"# 下面这三个根据情况三选一,一般是第一个colcon build --symlink-install\n",[84,316,317],{"class":86,"line":108},[84,318,91],{"emptyLinePlaceholder":90},[84,320,321],{"class":86,"line":113},[84,322,323],{"class":97},"# 如果你曾经没编译过\n",[84,325,326],{"class":86,"line":119},[84,327,328],{"class":104},"colcon build --symlink-install\n",[84,330,331],{"class":86,"line":125},[84,332,91],{"emptyLinePlaceholder":90},[84,334,335],{"class":86,"line":130},[84,336,337],{"class":97},"# 如果你只想编译cv_bridge\n",[84,339,340],{"class":86,"line":136},[84,341,342],{"class":104},"colcon build --symlink-install --packages-select cv_bridge\n",[84,344,346],{"class":86,"line":345},10,[84,347,91],{"emptyLinePlaceholder":90},[84,349,351],{"class":86,"line":350},11,[84,352,353],{"class":97},"# 如果你曾经编译过一遍,则需要下列命令\n",[84,355,357],{"class":86,"line":356},12,[84,358,359],{"class":104},"colcon build --symlink-install --packages-select cv_bridge --allow-overriding cv_bridge\n",[17,361,362],{},"验证:",[75,364,366],{"className":77,"code":365,"language":79,"meta":48,"style":48},"\n# 列出cv_bridge链接的opencv版本\nldd .\u002Finstall\u002Fcv_bridge\u002Flib\u002Flibcv_bridge.so | grep opencv \n",[81,367,368,372,377],{"__ignoreMap":48},[84,369,370],{"class":86,"line":87},[84,371,91],{"emptyLinePlaceholder":90},[84,373,374],{"class":86,"line":94},[84,375,376],{"class":97},"# 列出cv_bridge链接的opencv版本\n",[84,378,379],{"class":86,"line":101},[84,380,381],{"class":104},"ldd .\u002Finstall\u002Fcv_bridge\u002Flib\u002Flibcv_bridge.so | grep opencv\n",[17,383,384],{},"如下图,我的成功链接到411了,也就是opencv4.11版本.",[17,386,387],{},[46,388],{"alt":48,"src":389},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1958.webp",[17,391,392],{},"接下来配置环境:",[75,394,396],{"className":77,"code":395,"language":79,"meta":48,"style":48},"vim ~\u002F.bashrc\n",[81,397,398],{"__ignoreMap":48},[84,399,400],{"class":86,"line":87},[84,401,395],{"class":104},[17,403,404,405,408],{},"在",[81,406,407],{},"source \u002Fopt\u002Fros\u002Fjazzy\u002Fsetup.bash","的下一行加入下面这句",[75,410,412],{"className":77,"code":411,"language":79,"meta":48,"style":48},"source ~\u002Fros2_ws\u002Finstall\u002Fsetup.bash\n",[81,413,414],{"__ignoreMap":48},[84,415,416],{"class":86,"line":87},[84,417,411],{"class":104},[17,419,420,421,424],{},"输入",[81,422,423],{},":wq","保存",[17,426,427],{},"完成安装与环境配置结束.",[429,430,431],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":48,"searchDepth":94,"depth":94,"links":433},[434],{"id":14,"depth":101,"text":15},0,"2000","2023-12-30","2023-12-30-ros2-tutorial","\u002Fwiki\u002F2023-12-30-ros2-tutorial","Ros2 Tutorial","md",false,{},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv",{"title":5,"description":48},"wiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","00oOXlg3kJRzXWBSyjrlMTtb22Q0zyZkpxNV44sHAkU",[449,455,461,467,473,479,485,491,497,503,509,515,521,527,533,539,545,551,557,563,569,575,581,587,593,599,605,611,617,623,629,635,641,647,653,658,664,669,675,681,687,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,851],{"path":450,"stem":451,"title":452,"authors":453,"date":437,"chapterOrder":454,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ros2-jie-shao","wiki\u002F2023-12-30-ros2-tutorial\u002F0100-ROS2介绍","ROS2介绍",[7],"0100",{"path":456,"stem":457,"title":458,"authors":459,"date":437,"chapterOrder":460,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-ru-men-cao-zuo","wiki\u002F2023-12-30-ros2-tutorial\u002F0200-入门操作","入门操作",[7],"0200",{"path":462,"stem":463,"title":464,"authors":465,"date":437,"chapterOrder":466,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","wiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包","工作空间与功能包",[7],"0300",{"path":468,"stem":469,"title":470,"authors":471,"date":437,"chapterOrder":472,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-si-da-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F0400-四大通信","四大通信",[7],"0400",{"path":474,"stem":475,"title":476,"authors":477,"date":437,"chapterOrder":478,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ros2-qi-ta-tong-xin-ji-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F0500-ROS2其他通信机制","ROS2其他通信机制",[7],"0500",{"path":480,"stem":481,"title":482,"authors":483,"date":437,"chapterOrder":484,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","wiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","Launch",[7],"0600",{"path":486,"stem":487,"title":488,"authors":489,"date":437,"chapterOrder":490,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-hui-su-rosbag2","wiki\u002F2023-12-30-ros2-tutorial\u002F0700-回溯rosbag2","回溯rosbag2",[7],"0700",{"path":492,"stem":493,"title":494,"authors":495,"date":437,"chapterOrder":496,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-zuo-biao-bian-huan-tf","wiki\u002F2023-12-30-ros2-tutorial\u002F0800-坐标变换TF","坐标变换TF",[7],"0800",{"path":498,"stem":499,"title":500,"authors":501,"date":437,"chapterOrder":502,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-ke-shi-hua-ping-tai-rviz2-yu-urdf-jian-mo-yu-yan","wiki\u002F2023-12-30-ros2-tutorial\u002F0900-可视化平台RVIZ2与URDF建模语言","可视化平台RVIZ2与URDF建模语言",[7],"0900",{"path":504,"stem":505,"title":506,"authors":507,"date":437,"chapterOrder":508,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-stage-ros2-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1000-Stage_Ros2仿真平台","Stage_Ros2仿真平台",[7],"1000",{"path":510,"stem":511,"title":512,"authors":513,"date":437,"chapterOrder":514,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-gazeboclassic","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-GazeboClassic","Gezebo Classic",[7],"1100-0100",{"path":516,"stem":517,"title":518,"authors":519,"date":437,"chapterOrder":520,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo","Ignition Gazebo（Gazebo Fortress）",[7],"1100-0200",{"path":522,"stem":523,"title":524,"authors":525,"date":437,"chapterOrder":526,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-gazebosim","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-GazeboSim","Gz Sim（Gazebo Harmonic）",[7],"1100-0300",{"path":528,"stem":529,"title":530,"authors":531,"date":437,"chapterOrder":532,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-igngz2gzsim","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-Igngz2gzsim","将Ign Gazebo迁移至Gz Sim",[7],"1100-0400",{"path":534,"stem":535,"title":536,"authors":537,"date":437,"chapterOrder":538,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-gezebo-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-Gezebo仿真平台","Gezebo仿真平台",[7],"1100",{"path":540,"stem":541,"title":542,"authors":543,"date":437,"chapterOrder":544,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-humble-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-Humble版本","Humble导航仿真",[7],"1200-0100",{"path":546,"stem":547,"title":548,"authors":549,"date":437,"chapterOrder":550,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-jazzy-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-Jazzy版本","Jazzy导航仿真",[7],"1200-0200",{"path":552,"stem":553,"title":554,"authors":555,"date":437,"chapterOrder":556,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy","Humble与Jazzy导航的差异",[7],"1200-0300",{"path":558,"stem":559,"title":560,"authors":561,"date":437,"chapterOrder":562,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0100-you-xian-zhuang-tai-ji-fsm","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0100-有限状态机FSM","有限状态机（Finite State Machine）",[7],"1200-0400-0100",{"path":564,"stem":565,"title":566,"authors":567,"date":437,"chapterOrder":568,"chapterDepth":101,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0100-ji-ben-gai-nian","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0100-基本概念","基本概念",[7],"1200-0400-0200-0100",{"path":570,"stem":571,"title":572,"authors":573,"date":437,"chapterOrder":574,"chapterDepth":101,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0200-kong-zhi-yu-zhuang-shi-gui-ze","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0200-控制与装饰规则","控制与装饰规则",[7],"1200-0400-0200-0200",{"path":576,"stem":577,"title":578,"authors":579,"date":437,"chapterOrder":580,"chapterDepth":101,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0300-di-yi-ge-wan-zheng-cheng-xu","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0300-第一个完整程序","第一个完整程序",[7],"1200-0400-0200-0300",{"path":582,"stem":583,"title":584,"authors":585,"date":437,"chapterOrder":586,"chapterDepth":101,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0400-jie-dian-zhi-jian-chuan-shu-ju","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0400-节点之间传数据","节点之间传数据",[7],"1200-0400-0200-0400",{"path":588,"stem":589,"title":590,"authors":591,"date":437,"chapterOrder":592,"chapterDepth":101,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0500-chi-xu-ren-wu-yu-zhong-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0500-持续任务与中止","持续任务与中止",[7],"1200-0400-0200-0500",{"path":594,"stem":595,"title":596,"authors":597,"date":437,"chapterOrder":598,"chapterDepth":101,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0600-zu-he-shi-ji-ren-wu","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0600-组合实际任务","组合实际任务",[7],"1200-0400-0200-0600",{"path":600,"stem":601,"title":602,"authors":603,"date":437,"chapterOrder":604,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-xing-wei-shu-bt","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-行为树BT","行为树（BehaviorTree.CPP）",[7],"1200-0400-0200",{"path":606,"stem":607,"title":608,"authors":609,"date":437,"chapterOrder":610,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-fsm-yu-bt","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-FSM与BT","有限状态机FSM与行为树BT",[7],"1200-0400",{"path":612,"stem":613,"title":614,"authors":615,"date":437,"chapterOrder":616,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-ji-qi-ren-dao-hang-navigation2-fang-zhen-pian","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-机器人导航Navigation2(仿真篇)","机器人导航Navigation2(仿真篇)",[7],"1200",{"path":618,"stem":619,"title":620,"authors":621,"date":437,"chapterOrder":622,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-Boost.Aiso","Boost.Asio库",[7],"1300-0100-0100",{"path":624,"stem":625,"title":626,"authors":627,"date":437,"chapterOrder":628,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2-serial-driver","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2_serial_driver","ROS2 Serial Driver库",[7],"1300-0100-0200",{"path":630,"stem":631,"title":632,"authors":633,"date":437,"chapterOrder":634,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-chuan-kou-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-串口通信","UART串口通信",[7],"1300-0100",{"path":636,"stem":637,"title":638,"authors":639,"date":437,"chapterOrder":640,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","SocketCAN",[7],"1300-0200-0100",{"path":642,"stem":643,"title":644,"authors":645,"date":437,"chapterOrder":646,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2-socketcan","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2_socketcan","ROS2_SocketCAN",[7],"1300-0200-0200",{"path":648,"stem":649,"title":650,"authors":651,"date":437,"chapterOrder":652,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信","CAN通信",[7],"1300-0200",{"path":654,"stem":655,"title":620,"authors":656,"date":437,"chapterOrder":657,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-Boost.Aiso",[7],"1300-0300-0100",{"path":659,"stem":660,"title":661,"authors":662,"date":437,"chapterOrder":663,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-tcp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-TCP通信","TCP通信",[7],"1300-0300",{"path":665,"stem":666,"title":620,"authors":667,"date":437,"chapterOrder":668,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-Boost.Aiso",[7],"1300-0400-0100",{"path":670,"stem":671,"title":672,"authors":673,"date":437,"chapterOrder":674,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-udp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-UDP通信","UDP通信",[7],"1300-0400",{"path":676,"stem":677,"title":678,"authors":679,"date":437,"chapterOrder":680,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-linux-ying-jian-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-Linux硬件通信","Linux硬件通信",[7],"1300",{"path":682,"stem":683,"title":684,"authors":685,"date":437,"chapterOrder":686,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-ji-qi-ren-zu-cheng","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-机器人组成","机器人组成",[7],"1400-0100",{"path":688,"stem":689,"title":690,"authors":691,"date":437,"chapterOrder":692,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-yuan-cheng-kai-fa-ssh","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-远程开发SSH","远程开发SSH",[7],"1400-0200-0100",{"path":694,"stem":695,"title":696,"authors":697,"date":437,"chapterOrder":698,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-yuan-cheng-fang-wen-zhuo-mian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-远程访问桌面","远程访问桌面",[7],"1400-0200-0200",{"path":700,"stem":701,"title":702,"authors":703,"date":437,"chapterOrder":704,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-gong-kong-ji-zhi-yuan-cheng-kai-fa-huan-jing","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-工控机之远程开发环境","工控机之远程开发环境",[7],"1400-0200",{"path":706,"stem":707,"title":708,"authors":709,"date":437,"chapterOrder":710,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-gong-kong-ji-zhi-wai-jie-usb-she-bei","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-工控机之外接USB设备","工控机之外接USB设备",[7],"1400-0300",{"path":712,"stem":713,"title":714,"authors":715,"date":437,"chapterOrder":716,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-fen-bu-shi-da-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-分布式搭建","分布式搭建",[7],"1400-0400",{"path":718,"stem":719,"title":720,"authors":721,"date":437,"chapterOrder":722,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-you-hua-ri-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-优化日志","优化日志",[7],"1400-0500",{"path":724,"stem":725,"title":726,"authors":727,"date":437,"chapterOrder":728,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-li-cheng-ji-odom","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-里程计Odom","里程计Odom",[7],"1400-0600-0100",{"path":730,"stem":731,"title":732,"authors":733,"date":437,"chapterOrder":734,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-guan-xing-ji-imu","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-惯性计IMU","惯性计IMU",[7],"1400-0600-0200",{"path":736,"stem":737,"title":738,"authors":739,"date":437,"chapterOrder":740,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-ji-guang-lei-da-lidar","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-激光雷达LiDAR","激光雷达LiDAR",[7],"1400-0600-0300",{"path":742,"stem":743,"title":744,"authors":745,"date":437,"chapterOrder":746,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-xiang-ji-camera","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-相机Camera","相机Camera",[7],"1400-0600-0400",{"path":748,"stem":749,"title":750,"authors":751,"date":437,"chapterOrder":752,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-quan-qiu-ding-wei-gnss","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-全球定位GNSS","全球定位GNSS",[7],"1400-0600-0500",{"path":754,"stem":755,"title":756,"authors":757,"date":437,"chapterOrder":758,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-shou-bing-joy","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-手柄joy","手柄JOY",[7],"1400-0600-0600",{"path":760,"stem":761,"title":762,"authors":763,"date":437,"chapterOrder":764,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-jian-pan-kong-zhi-jie-dian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-键盘控制节点","键盘控制节点",[7],"1400-0600-0700",{"path":766,"stem":767,"title":768,"authors":769,"date":437,"chapterOrder":770,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-ying-jian-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-硬件平台","硬件平台",[7],"1400-0600",{"path":772,"stem":773,"title":774,"authors":775,"date":437,"chapterOrder":776,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-zuo-biao-xi-yu-hua-ti-guan-xi","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-坐标系与话题关系","坐标系与话题关系",[7],"1400-0700",{"path":778,"stem":779,"title":780,"authors":781,"date":437,"chapterOrder":782,"chapterDepth":101,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-lun-shi-li-cheng-ji-biao-ding","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定","轮式里程计标定",[7],"1400-0800-0100-0100",{"path":784,"stem":785,"title":786,"authors":787,"date":437,"chapterOrder":788,"chapterDepth":101,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-lun-shi-li-cheng-ji-yu-imu-rong-he","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-轮式里程计与IMU融合","轮式里程计与IMU融合",[7],"1400-0800-0100-0200",{"path":790,"stem":791,"title":792,"authors":793,"date":437,"chapterOrder":794,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-lun-shi-li-cheng-ji-biao-ding-yu-rong-he","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-轮式里程计标定与融合","轮式里程计标定与融合",[7],"1400-0800-0100",{"path":796,"stem":797,"title":798,"authors":799,"date":437,"chapterOrder":800,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-ji-guang-lei-da-gong-ju","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-激光雷达工具","激光雷达工具",[7],"1400-0800-0200",{"path":802,"stem":803,"title":804,"authors":805,"date":437,"chapterOrder":806,"chapterDepth":94,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-xiang-ji-shi-yong-jin-jie","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-相机使用进阶","相机使用进阶",[7],"1400-0800-0300",{"path":808,"stem":809,"title":810,"authors":811,"date":437,"chapterOrder":812,"chapterDepth":87,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-ying-jian-ping-tai-jin-jie","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-硬件平台进阶","硬件平台进阶",[7],"1400-0800",{"path":814,"stem":815,"title":816,"authors":817,"date":437,"chapterOrder":818,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-ji-qi-ren-ying-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-机器人硬件","机器人硬件",[7],"1400",{"path":820,"stem":821,"title":822,"authors":823,"date":437,"chapterOrder":824,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ros2-control","wiki\u002F2023-12-30-ros2-tutorial\u002F1500-ROS2_Control","ROS2_Control",[7],"1500",{"path":826,"stem":827,"title":828,"authors":829,"date":437,"chapterOrder":830,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","wiki\u002F2023-12-30-ros2-tutorial\u002F1600-Moveit2工业机器人机械臂","Moveit2工业机器人机械臂",[7],"1600",{"path":832,"stem":833,"title":834,"authors":835,"date":437,"chapterOrder":836,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-ji-qi-ren-dao-hang-navigation2-shi-ti-pian","wiki\u002F2023-12-30-ros2-tutorial\u002F1700-机器人导航Navigation2(实体篇)","机器人导航Navigation2(实体篇)",[7],"1700",{"path":838,"stem":839,"title":840,"authors":841,"date":437,"chapterOrder":842,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","wiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS",[7],"1800",{"path":844,"stem":845,"title":846,"authors":847,"date":437,"chapterOrder":848,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-webots-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1900-Webots仿真平台","Webots仿真平台",[7],"1900",{"path":444,"stem":446,"title":5,"authors":850,"date":437,"chapterOrder":436,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":442},[7],{"path":439,"stem":852,"title":853,"authors":854,"date":437,"chapterOrder":855,"chapterDepth":435,"docKey":438,"docRoot":439,"docTitle":440,"isWikiDoc":90,"isWikiIndex":90},"wiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2机器人操作系统教程",[7],null,[857,859,862,865],{"name":7,"image":858},"\u002Fimages\u002Fmember_photo\u002F董佳辉.jpg",{"name":860,"image":861},"宫金良","\u002Fimages\u002Fmember_photo\u002F宫金良.jpg",{"name":863,"image":864},"巩丽","\u002Fimages\u002Fmember_photo\u002F巩丽.png",{"name":866,"image":867},"张彦斐","\u002Fimages\u002Fmember_photo\u002F张彦斐.jpg",1792431904697]