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