[{"data":1,"prerenderedAt":790},["ShallowReactive",2],{"wiki-page-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv":3,"wiki-doc-items-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv":481,"language-switcher-data-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv":774,"wiki-i18n-paths-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv":789},{"id":4,"title":5,"body":6,"canonicalPath":462,"chapterDepth":463,"chapterOrder":464,"date":465,"description":55,"docI18nKey":466,"docKey":467,"docRoot":468,"docTitle":469,"extension":470,"i18nKey":471,"isBlogPost":472,"isWikiDoc":99,"isWikiIndex":472,"layout":473,"legacyPath":473,"locale":474,"localeSlug":475,"meta":476,"navigation":99,"path":462,"seo":477,"sourcePath":478,"sourceStem":471,"stem":479,"wikiDepth":96,"__hash__":480},"content\u002F_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV.md","OpenCV",{"type":7,"value":8,"toc":458},"minimark",[9,13,21,25,28,35,41,44,50,60,65,73,80,83,149,154,157,178,183,186,234,237,252,255,260,271,274,279,323,387,390,409,412,417,420,429,436,445,451,454],[10,11,5],"h3",{"id":12},"opencv",[14,15,16],"p",{},[17,18,20],"a",{"href":19},"\u002Fwiki\u002F2026-04-13-opencv-jiao-cheng","Basic Vision Algorithm - OpenCV Implementation",[10,22,24],{"id":23},"cv_bridge","CV_Bridge",[14,26,27],{},"cv_bridge Wikipedia Introduction:",[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],{},"ROS2 Humble's cv_bridge repository link (be sure to select the corresponding version branch):",[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,64],"h4",{"id":63},"install","Install",[14,66,67,68,72],{},"Pre-compile OpenCV4 with CUDA in advance. See ",[17,69,71],{"href":70},"\u002Fwiki\u002F2023-12-10-dian-kong-shi-jue-huan-jing-da-jian","Electrical Control Team Environment Setup Guide"," for details.",[74,75,76],"ol",{},[77,78,79],"li",{},"apt installation (not recommended)",[14,81,82],{},"Since ROS's built-in cv_bridge automatically links to ROS's own OpenCV version, we generally do not use the cv_bridge that comes with ROS2. Instead, we typically need to manually compile a custom cv_bridge.",[84,85,89],"pre",{"className":86,"code":87,"language":88,"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",[90,91,92,101,108,115,120,126,132,137,143],"code",{"__ignoreMap":55},[93,94,97],"span",{"class":95,"line":96},"line",1,[93,98,100],{"emptyLinePlaceholder":99},true,"\n",[93,102,104],{"class":95,"line":103},2,[93,105,107],{"class":106},"sJ8bj","# 通用命令\n",[93,109,111],{"class":95,"line":110},3,[93,112,114],{"class":113},"sVt8B","sudo apt install ros-\u003Cros2-distro>-vision-opencv\n",[93,116,118],{"class":95,"line":117},4,[93,119,100],{"emptyLinePlaceholder":99},[93,121,123],{"class":95,"line":122},5,[93,124,125],{"class":106},"# ROS2 Humble\n",[93,127,129],{"class":95,"line":128},6,[93,130,131],{"class":113},"sudo apt install ros-humble-vision-opencv\n",[93,133,135],{"class":95,"line":134},7,[93,136,100],{"emptyLinePlaceholder":99},[93,138,140],{"class":95,"line":139},8,[93,141,142],{"class":106},"# ROS2 Jazzy\n",[93,144,146],{"class":95,"line":145},9,[93,147,148],{"class":113},"sudo apt install ros-jazzy-vision-opencv\n",[74,150,151],{"start":103},[77,152,153],{},"Source code compilation and installation (recommended)",[14,155,156],{},"This tutorial uses Jazzy as an example.",[14,158,159,160,163,164,167,168,171,172,174,175,177],{},"First, clone the repository. You can clone the ",[90,161,162],{},"jazzy",", ",[90,165,166],{},"humble",", or ",[90,169,170],{},"rolling"," branches — any ROS2 version should work without major changes. However, since the official ",[90,173,162],{}," branch hasn't been released yet, I'll just clone the default ",[90,176,170],{}," branch.",[14,179,180],{},[53,181],{"alt":55,"src":182},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1955.webp",[14,184,185],{},"Create a new folder.",[84,187,189],{"className":86,"code":188,"language":88,"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",[90,190,191,196,201,205,210,215,220,224,229],{"__ignoreMap":55},[93,192,193],{"class":95,"line":96},[93,194,195],{"class":113},"mkdir ~\u002Fros2_ws\u002Fsrc\n",[93,197,198],{"class":95,"line":103},[93,199,200],{"class":113},"cd ~\u002Fros2_ws\u002Fsrc\n",[93,202,203],{"class":95,"line":110},[93,204,100],{"emptyLinePlaceholder":99},[93,206,207],{"class":95,"line":117},[93,208,209],{"class":106},"# 克隆源码\n",[93,211,212],{"class":95,"line":122},[93,213,214],{"class":113},"git clone https:\u002F\u002Fgithub.com\u002Fros-perception\u002Fvision_opencv.git\n",[93,216,217],{"class":95,"line":128},[93,218,219],{"class":113},"cd vision_opencv\n",[93,221,222],{"class":95,"line":134},[93,223,100],{"emptyLinePlaceholder":99},[93,225,226],{"class":95,"line":139},[93,227,228],{"class":106},"# 如果是humble建议:\n",[93,230,231],{"class":95,"line":145},[93,232,233],{"class":113},"git checkout humble\n",[14,235,236],{},"Install dependencies",[84,238,240],{"className":86,"code":239,"language":88,"meta":55,"style":55},"sudo apt install python3-numpy\nsudo apt install libboost-python-dev\n",[90,241,242,247],{"__ignoreMap":55},[93,243,244],{"class":95,"line":96},[93,245,246],{"class":113},"sudo apt install python3-numpy\n",[93,248,249],{"class":95,"line":103},[93,250,251],{"class":113},"sudo apt install libboost-python-dev\n",[14,253,254],{},"Modify the CMakeLists of cv_bridge.",[14,256,257],{},[53,258],{"alt":55,"src":259},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1956.webp",[14,261,262,263,266,267,270],{},"Change the original ",[90,264,265],{},"find_package(OpenCV 4 QUIET)"," to an exact match version, and add the ",[90,268,269],{},"EXACT"," parameter:",[14,272,273],{},"EXACT means that if an exact version is not found, CMake will report an error and abort the build.",[14,275,276],{},[53,277],{"alt":55,"src":278},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1957.webp",[84,280,282],{"className":86,"code":281,"language":88,"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",[90,283,284,293,298,303,308,313,318],{"__ignoreMap":55},[93,285,286,290],{"class":95,"line":96},[93,287,289],{"class":288},"szBVR","find_package",[93,291,292],{"class":113},"(OpenCV 4.11 EXACT QUIET\n",[93,294,295],{"class":95,"line":103},[93,296,297],{"class":113},"  COMPONENTS\n",[93,299,300],{"class":95,"line":110},[93,301,302],{"class":113},"    opencv_core\n",[93,304,305],{"class":95,"line":117},[93,306,307],{"class":113},"    opencv_imgproc\n",[93,309,310],{"class":95,"line":122},[93,311,312],{"class":113},"    opencv_imgcodecs\n",[93,314,315],{"class":95,"line":128},[93,316,317],{"class":113},"  CONFIG\n",[93,319,320],{"class":95,"line":134},[93,321,322],{"class":113},")\n",[84,324,326],{"className":86,"code":325,"language":88,"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",[90,327,328,333,337,342,346,351,356,360,365,370,375,381],{"__ignoreMap":55},[93,329,330],{"class":95,"line":96},[93,331,332],{"class":113},"cd ~\u002Fros2_ws\n",[93,334,335],{"class":95,"line":103},[93,336,100],{"emptyLinePlaceholder":99},[93,338,339],{"class":95,"line":110},[93,340,341],{"class":106},"# 下面这三个根据情况三选一,一般是第一个colcon build --symlink-install\n",[93,343,344],{"class":95,"line":117},[93,345,100],{"emptyLinePlaceholder":99},[93,347,348],{"class":95,"line":122},[93,349,350],{"class":106},"# 如果你曾经没编译过\n",[93,352,353],{"class":95,"line":128},[93,354,355],{"class":113},"colcon build --symlink-install\n",[93,357,358],{"class":95,"line":134},[93,359,100],{"emptyLinePlaceholder":99},[93,361,362],{"class":95,"line":139},[93,363,364],{"class":106},"# 如果你只想编译cv_bridge\n",[93,366,367],{"class":95,"line":145},[93,368,369],{"class":113},"colcon build --symlink-install --packages-select cv_bridge\n",[93,371,373],{"class":95,"line":372},10,[93,374,100],{"emptyLinePlaceholder":99},[93,376,378],{"class":95,"line":377},11,[93,379,380],{"class":106},"# 如果你曾经编译过一遍,则需要下列命令\n",[93,382,384],{"class":95,"line":383},12,[93,385,386],{"class":113},"colcon build --symlink-install --packages-select cv_bridge --allow-overriding cv_bridge\n",[14,388,389],{},"Verification:",[84,391,393],{"className":86,"code":392,"language":88,"meta":55,"style":55},"\n# 列出cv_bridge链接的opencv版本\nldd .\u002Finstall\u002Fcv_bridge\u002Flib\u002Flibcv_bridge.so | grep opencv \n",[90,394,395,399,404],{"__ignoreMap":55},[93,396,397],{"class":95,"line":96},[93,398,100],{"emptyLinePlaceholder":99},[93,400,401],{"class":95,"line":103},[93,402,403],{"class":106},"# 列出cv_bridge链接的opencv版本\n",[93,405,406],{"class":95,"line":110},[93,407,408],{"class":113},"ldd .\u002Finstall\u002Fcv_bridge\u002Flib\u002Flibcv_bridge.so | grep opencv\n",[14,410,411],{},"As shown in the image below, I have successfully linked to version 411, which is OpenCV 4.11.",[14,413,414],{},[53,415],{"alt":55,"src":416},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1958.webp",[14,418,419],{},"Next, configure the environment:",[84,421,423],{"className":86,"code":422,"language":88,"meta":55,"style":55},"vim ~\u002F.bashrc\n",[90,424,425],{"__ignoreMap":55},[93,426,427],{"class":95,"line":96},[93,428,422],{"class":113},[14,430,431,432,435],{},"Add the following sentence to the line below ",[90,433,434],{},"source \u002Fopt\u002Fros\u002Fjazzy\u002Fsetup.bash",":",[84,437,439],{"className":86,"code":438,"language":88,"meta":55,"style":55},"source ~\u002Fros2_ws\u002Finstall\u002Fsetup.bash\n",[90,440,441],{"__ignoreMap":55},[93,442,443],{"class":95,"line":96},[93,444,438],{"class":113},[14,446,447,450],{},[90,448,449],{},":wq"," saved",[14,452,453],{},"Installation and environment setup complete.",[455,456,457],"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":103,"depth":103,"links":459},[460,461],{"id":12,"depth":110,"text":5},{"id":23,"depth":110,"text":24},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv",0,"2000","2023-12-30","wiki\u002F2023-12-30-ros2-tutorial","en-us:2023-12-30-ros2-tutorial","\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial","Ros2 Tutorial","md","wiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV",false,null,"en-US","en-us",{},{"title":5,"description":55},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","lpH0Ugn1vB5QfLSfQY_jfWlSJXmzj1Jiz0_rptwV5Ag",[482,487,492,497,502,507,512,517,522,527,532,537,542,547,552,557,562,567,572,577,582,587,592,597,602,607,611,616,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,755,760,765,770,771],{"path":483,"stem":484,"title":485,"date":465,"chapterOrder":486,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ros2-jie-shao","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ROS2介绍","Introduction to ROS2","0100",{"path":488,"stem":489,"title":490,"date":465,"chapterOrder":491,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-ru-men-cao-zuo","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-入门操作","Getting Started","0200",{"path":493,"stem":494,"title":495,"date":465,"chapterOrder":496,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包","Workspace and Function Packages","0300",{"path":498,"stem":499,"title":500,"date":465,"chapterOrder":501,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-si-da-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-四大通信","Four Major Communications","0400",{"path":503,"stem":504,"title":505,"date":465,"chapterOrder":506,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ros2-qi-ta-tong-xin-ji-zhi","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ROS2其他通信机制","ROS2 Other Communication Mechanisms","0500",{"path":508,"stem":509,"title":510,"date":465,"chapterOrder":511,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","Launch","0600",{"path":513,"stem":514,"title":515,"date":465,"chapterOrder":516,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-hui-su-rosbag2","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-回溯rosbag2","Replaying rosbag2","0700",{"path":518,"stem":519,"title":520,"date":465,"chapterOrder":521,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-zuo-biao-bian-huan-tf","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-坐标变换TF","Coordinate Transformation TF","0800",{"path":523,"stem":524,"title":525,"date":465,"chapterOrder":526,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-ke-shi-hua-ping-tai-rviz2-yu-urdf-jian-mo-yu-yan","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-可视化平台RVIZ2与URDF建模语言","Visualization Platform RVIZ2 and URDF Modeling Language","0900",{"path":528,"stem":529,"title":530,"date":465,"chapterOrder":531,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-stage-ros2-fang-zhen-ping-tai","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-Stage_Ros2仿真平台","Stage_Ros2 Simulation Platform","1000",{"path":533,"stem":534,"title":535,"date":465,"chapterOrder":536,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-gazeboclassic","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-GazeboClassic","Gezebo Classic","1100-0100",{"path":538,"stem":539,"title":540,"date":465,"chapterOrder":541,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo","Ignition Gazebo（Gazebo Fortress）","1100-0200",{"path":543,"stem":544,"title":545,"date":465,"chapterOrder":546,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-gazebosim","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-GazeboSim","Gz Sim（Gazebo Harmonic）","1100-0300",{"path":548,"stem":549,"title":550,"date":465,"chapterOrder":551,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-igngz2gzsim","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-Igngz2gzsim","Migrate Ign Gazebo to Gz Sim","1100-0400",{"path":553,"stem":554,"title":555,"date":465,"chapterOrder":556,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-gezebo-fang-zhen-ping-tai","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-Gezebo仿真平台","Gazebo simulation platform","1100",{"path":558,"stem":559,"title":560,"date":465,"chapterOrder":561,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-humble-ban-ben","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-Humble版本","Humble Navigation Simulation","1200-0100",{"path":563,"stem":564,"title":565,"date":465,"chapterOrder":566,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-jazzy-ban-ben","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-Jazzy版本","Jazzy Navigation Simulation","1200-0200",{"path":568,"stem":569,"title":570,"date":465,"chapterOrder":571,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy","Differences in Navigation between Humble and Jazzy","1200-0300",{"path":573,"stem":574,"title":575,"date":465,"chapterOrder":576,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-ji-qi-ren-dao-hang-navigation2-fang-zhen-pian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-机器人导航Navigation2(仿真篇)","Robot Navigation with Navigation2 (Simulation)","1200",{"path":578,"stem":579,"title":580,"date":465,"chapterOrder":581,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-boost-aiso","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-Boost.Aiso","Boost.Asio库","1300-0100-0100",{"path":583,"stem":584,"title":585,"date":465,"chapterOrder":586,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2-serial-driver","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2_serial_driver","ROS2 Serial Driver Library","1300-0100-0200",{"path":588,"stem":589,"title":590,"date":465,"chapterOrder":591,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-chuan-kou-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-串口通信","UART serial communication","1300-0100",{"path":593,"stem":594,"title":595,"date":465,"chapterOrder":596,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","SocketCAN","1300-0200-0100",{"path":598,"stem":599,"title":600,"date":465,"chapterOrder":601,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2-socketcan","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2_socketcan","ROS2_SocketCAN","1300-0200-0200",{"path":603,"stem":604,"title":605,"date":465,"chapterOrder":606,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信","CAN communication","1300-0200",{"path":608,"stem":609,"title":580,"date":465,"chapterOrder":610,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-boost-aiso","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-Boost.Aiso","1300-0300-0100",{"path":612,"stem":613,"title":614,"date":465,"chapterOrder":615,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-tcp-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-TCP通信","TCP communication","1300-0300",{"path":617,"stem":618,"title":580,"date":465,"chapterOrder":619,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-boost-aiso","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-Boost.Aiso","1300-0400-0100",{"path":621,"stem":622,"title":623,"date":465,"chapterOrder":624,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-udp-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-UDP通信","UDP communication","1300-0400",{"path":626,"stem":627,"title":628,"date":465,"chapterOrder":629,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-linux-ying-jian-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-Linux硬件通信","Linux hardware communication","1300",{"path":631,"stem":632,"title":633,"date":465,"chapterOrder":634,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-ji-qi-ren-zu-cheng","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-机器人组成","Robot Composition","1400-0100",{"path":636,"stem":637,"title":638,"date":465,"chapterOrder":639,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-yuan-cheng-kai-fa-ssh","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-远程开发SSH","Remote Development SSH","1400-0200-0100",{"path":641,"stem":642,"title":643,"date":465,"chapterOrder":644,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-yuan-cheng-fang-wen-zhuo-mian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-远程访问桌面","Remote Desktop Access","1400-0200-0200",{"path":646,"stem":647,"title":648,"date":465,"chapterOrder":649,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-gong-kong-ji-zhi-yuan-cheng-kai-fa-huan-jing","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-工控机之远程开发环境","Remote Development Environment for Industrial PC","1400-0200",{"path":651,"stem":652,"title":653,"date":465,"chapterOrder":654,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-gong-kong-ji-zhi-wai-jie-usb-she-bei","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-工控机之外接USB设备","External USB Devices for the Industrial PC","1400-0300",{"path":656,"stem":657,"title":658,"date":465,"chapterOrder":659,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-fen-bu-shi-da-jian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-分布式搭建","Distributed setup","1400-0400",{"path":661,"stem":662,"title":663,"date":465,"chapterOrder":664,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-you-hua-ri-zhi","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-优化日志","Optimize logs","1400-0500",{"path":666,"stem":667,"title":668,"date":465,"chapterOrder":669,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-li-cheng-ji-odom","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-里程计Odom","odometry","1400-0600-0100",{"path":671,"stem":672,"title":673,"date":465,"chapterOrder":674,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-guan-xing-ji-imu","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-惯性计IMU","Inertial Measurement Unit (IMU)","1400-0600-0200",{"path":676,"stem":677,"title":678,"date":465,"chapterOrder":679,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-ji-guang-lei-da-lidar","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-激光雷达LiDAR","LiDAR","1400-0600-0300",{"path":681,"stem":682,"title":683,"date":465,"chapterOrder":684,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-xiang-ji-camera","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-相机Camera","Camera","1400-0600-0400",{"path":686,"stem":687,"title":688,"date":465,"chapterOrder":689,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-quan-qiu-ding-wei-gnss","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-全球定位GNSS","Global Navigation Satellite System (GNSS)","1400-0600-0500",{"path":691,"stem":692,"title":693,"date":465,"chapterOrder":694,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-shou-bing-joy","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-手柄joy","The query \"手柄JOY\" is a bit ambiguous. To help you better, could you please provide more details? For example:","1400-0600-0600",{"path":696,"stem":697,"title":698,"date":465,"chapterOrder":699,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-jian-pan-kong-zhi-jie-dian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-键盘控制节点","Keyboard control node","1400-0600-0700",{"path":701,"stem":702,"title":703,"date":465,"chapterOrder":704,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-ying-jian-ping-tai","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-硬件平台","Hardware platform","1400-0600",{"path":706,"stem":707,"title":708,"date":465,"chapterOrder":709,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-zuo-biao-xi-yu-hua-ti-guan-xi","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-坐标系与话题关系","Coordinate System and Topic Relationship","1400-0700",{"path":711,"stem":712,"title":713,"date":465,"chapterOrder":714,"chapterDepth":110,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-lun-shi-li-cheng-ji-biao-ding","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定","Wheel odometry calibration","1400-0800-0100-0100",{"path":716,"stem":717,"title":718,"date":465,"chapterOrder":719,"chapterDepth":110,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-lun-shi-li-cheng-ji-yu-imu-rong-he","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-轮式里程计与IMU融合","Fusion of Wheel Odometry and IMU","1400-0800-0100-0200",{"path":721,"stem":722,"title":723,"date":465,"chapterOrder":724,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-lun-shi-li-cheng-ji-biao-ding-yu-rong-he","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-轮式里程计标定与融合","Wheel odometry calibration and fusion","1400-0800-0100",{"path":726,"stem":727,"title":728,"date":465,"chapterOrder":729,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-ji-guang-lei-da-gong-ju","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-激光雷达工具","Lidar Tool","1400-0800-0200",{"path":731,"stem":732,"title":733,"date":465,"chapterOrder":734,"chapterDepth":103,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-xiang-ji-shi-yong-jin-jie","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-相机使用进阶","Advanced Camera Usage","1400-0800-0300",{"path":736,"stem":737,"title":738,"date":465,"chapterOrder":739,"chapterDepth":96,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-ying-jian-ping-tai-jin-jie","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-硬件平台进阶","Advanced Hardware Platform","1400-0800",{"path":741,"stem":742,"title":743,"date":465,"chapterOrder":744,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-ji-qi-ren-ying-jian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-机器人硬件","Robot hardware","1400",{"path":746,"stem":747,"title":748,"date":465,"chapterOrder":749,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ros2-control","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ROS2_Control","ROS2_Control","1500",{"path":751,"stem":752,"title":753,"date":465,"chapterOrder":754,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-Moveit2工业机器人机械臂","MoveIt2 industrial robot arm","1600",{"path":756,"stem":757,"title":758,"date":465,"chapterOrder":759,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-ji-qi-ren-dao-hang-navigation2-shi-ti-pian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-机器人导航Navigation2(实体篇)","Robot Navigation with Navigation2 (Physical Robot)","1700",{"path":761,"stem":762,"title":763,"date":465,"chapterOrder":764,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS","1800",{"path":766,"stem":767,"title":768,"date":465,"chapterOrder":769,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-webots-fang-zhen-ping-tai","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-Webots仿真平台","Webots simulation platform","1900",{"path":462,"stem":479,"title":5,"date":465,"chapterOrder":464,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":472},{"path":468,"stem":772,"title":773,"date":465,"chapterOrder":473,"chapterDepth":463,"docKey":467,"docRoot":468,"docTitle":469,"isWikiDoc":99,"isWikiIndex":99},"_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2 Robot Operating System Tutorial",{"variants":775},[776,777,780,783,786],{"path":462,"localeSlug":475,"i18nKey":471},{"path":778,"localeSlug":779,"i18nKey":471},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","zh-hant",{"path":781,"localeSlug":782,"i18nKey":471},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","zh-hk",{"path":784,"localeSlug":785,"i18nKey":471},"\u002Fzh-tw\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","zh-tw",{"path":787,"localeSlug":788,"i18nKey":471},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","zh-cn",[462,478,778,478,781,478,784,478,787,478],1784646860232]