[{"data":1,"prerenderedAt":671},["ShallowReactive",2],{"wiki-page-/zh-cn/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai":3,"wiki-doc-items-/zh-cn/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai":303,"language-switcher-data-/zh-cn/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai":655,"wiki-i18n-paths-/zh-cn/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai":670},{"id":4,"title":5,"body":6,"canonicalPath":285,"chapter":286,"chapterSort":287,"date":288,"description":12,"docI18nKey":289,"docKey":290,"docRoot":291,"docTitle":292,"extension":293,"i18nKey":294,"isBlogPost":295,"isWikiDoc":205,"isWikiIndex":295,"layout":296,"legacyPath":297,"locale":298,"localeSlug":299,"meta":300,"navigation":205,"path":285,"seo":301,"sourcePath":297,"sourceStem":294,"stem":294,"wikiDepth":63,"__hash__":302},"content/wiki/2023-12-30-ros2-tutorial/ch19-Webots仿真平台.md","Webots仿真平台",{"type":7,"value":8,"toc":283},"minimark",[9,13,16,25,31,34,37,40,43,46,49,279],[10,11,12],"p",{},"这个平台用来测运动学很舒服。",[10,14,15],{},"可以SolidWorks转URDF（ROS官方提供sw2udfo工具），再URDF转Webots（webots官方提供urdf2webots工具）。",[10,17,18],{},[19,20,24],"a",{"href":21,"rel":22},"https://github.com/ros/solidworks%5C_urdf%5C_exporter",[23],"nofollow","https://github.com/ros/solidworks\\_urdf\\_exporter",[10,26,27],{},[19,28,29],{"href":29,"rel":30},"https://github.com/cyberbotics/urdf2webots",[23],[10,32,33],{},"这样的话，连电机甚至都给你选好了，你只需要写运动学即可。",[10,35,36],{},"运动控制程序可以用C/C++、Python、Java等语言编写，控制的时候只需要注意一下控制电机角度和速度的方式以及单位即可。",[10,38,39],{},"如果你给电机setPosition(INFINITY)的话，那么这个电机将变成角度电机，而原本设置速度的函数将会变成设置角速度。",[10,41,42],{},"如果你没给电机设置setPosition(INFINITY)，那么这个电机就是个速度电机。",[10,44,45],{},"角度单位是rad（存疑）",[10,47,48],{},"速度单位是rad/s（存疑）",[50,51,56],"pre",{"className":52,"code":53,"language":54,"meta":55,"style":55},"language-cpp shiki shiki-themes github-light github-dark","        for (int i = 0;i \u003C 4;i++)\n        {\n                //舵电机仿真中默认顺时针为正\n                swerve_motor[i] = robot->getMotor(\"swerve_joint\" + std::to_string(i));\n                //swerve_motor[i]->setPosition(INFINITY);       // 注释掉：不启用速度控制\n                swerve_motor[i]->setPosition(0.0);       // 初始角度为0\n                swerve_motor[i]->setVelocity(50.0);       // 设置角速度\n\n                //驱动电机仿真中默认向后滚为正\n                drive_motor[i] = robot->getMotor(\"drive_joint\" + std::to_string(i));\n                drive_motor[i]->setPosition(INFINITY);   // 启用速度控制\n                drive_motor[i]->setVelocity(-0.0);        // 初始速度为0\n        }\n","cpp","",[57,58,59,103,109,116,153,162,182,200,207,213,240,254,273],"code",{"__ignoreMap":55},[60,61,64,68,72,75,78,81,85,88,91,94,97,100],"span",{"class":62,"line":63},"line",1,[60,65,67],{"class":66},"szBVR","        for",[60,69,71],{"class":70},"sVt8B"," (",[60,73,74],{"class":66},"int",[60,76,77],{"class":70}," i ",[60,79,80],{"class":66},"=",[60,82,84],{"class":83},"sj4cs"," 0",[60,86,87],{"class":70},";i ",[60,89,90],{"class":66},"\u003C",[60,92,93],{"class":83}," 4",[60,95,96],{"class":70},";i",[60,98,99],{"class":66},"++",[60,101,102],{"class":70},")\n",[60,104,106],{"class":62,"line":105},2,[60,107,108],{"class":70},"        {\n",[60,110,112],{"class":62,"line":111},3,[60,113,115],{"class":114},"sJ8bj","                //舵电机仿真中默认顺时针为正\n",[60,117,119,122,124,127,131,134,138,141,144,147,150],{"class":62,"line":118},4,[60,120,121],{"class":70},"                swerve_motor[i] ",[60,123,80],{"class":66},[60,125,126],{"class":70}," robot->",[60,128,130],{"class":129},"sScJk","getMotor",[60,132,133],{"class":70},"(",[60,135,137],{"class":136},"sZZnC","\"swerve_joint\"",[60,139,140],{"class":66}," +",[60,142,143],{"class":129}," std",[60,145,146],{"class":70},"::",[60,148,149],{"class":129},"to_string",[60,151,152],{"class":70},"(i));\n",[60,154,156,159],{"class":62,"line":155},5,[60,157,158],{"class":114},"                //swerve_motor[i]->setPosition(INFINITY);",[60,160,161],{"class":114},"       // 注释掉：不启用速度控制\n",[60,163,165,168,171,173,176,179],{"class":62,"line":164},6,[60,166,167],{"class":70},"                swerve_motor[i]->",[60,169,170],{"class":129},"setPosition",[60,172,133],{"class":70},[60,174,175],{"class":83},"0.0",[60,177,178],{"class":70},");",[60,180,181],{"class":114},"       // 初始角度为0\n",[60,183,185,187,190,192,195,197],{"class":62,"line":184},7,[60,186,167],{"class":70},[60,188,189],{"class":129},"setVelocity",[60,191,133],{"class":70},[60,193,194],{"class":83},"50.0",[60,196,178],{"class":70},[60,198,199],{"class":114},"       // 设置角速度\n",[60,201,203],{"class":62,"line":202},8,[60,204,206],{"emptyLinePlaceholder":205},true,"\n",[60,208,210],{"class":62,"line":209},9,[60,211,212],{"class":114},"                //驱动电机仿真中默认向后滚为正\n",[60,214,216,219,221,223,225,227,230,232,234,236,238],{"class":62,"line":215},10,[60,217,218],{"class":70},"                drive_motor[i] ",[60,220,80],{"class":66},[60,222,126],{"class":70},[60,224,130],{"class":129},[60,226,133],{"class":70},[60,228,229],{"class":136},"\"drive_joint\"",[60,231,140],{"class":66},[60,233,143],{"class":129},[60,235,146],{"class":70},[60,237,149],{"class":129},[60,239,152],{"class":70},[60,241,243,246,248,251],{"class":62,"line":242},11,[60,244,245],{"class":70},"                drive_motor[i]->",[60,247,170],{"class":129},[60,249,250],{"class":70},"(INFINITY);",[60,252,253],{"class":114},"   // 启用速度控制\n",[60,255,257,259,261,263,266,268,270],{"class":62,"line":256},12,[60,258,245],{"class":70},[60,260,189],{"class":129},[60,262,133],{"class":70},[60,264,265],{"class":66},"-",[60,267,175],{"class":83},[60,269,178],{"class":70},[60,271,272],{"class":114},"        // 初始速度为0\n",[60,274,276],{"class":62,"line":275},13,[60,277,278],{"class":70},"        }\n",[280,281,282],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":55,"searchDepth":105,"depth":105,"links":284},[],"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai","19",19000000,"2023-12-30","wiki/2023-12-30-ros2-tutorial","zh-cn:2023-12-30-ros2-tutorial","/zh-cn/wiki/2023-12-30-ros2-tutorial","Ros2 Tutorial","md","wiki/2023-12-30-ros2-tutorial/ch19-Webots仿真平台",false,null,"/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai","zh-CN","zh-cn",{},{"title":5,"description":12},"7YS852E45Wh3BOoaz2nYigNxRi0Po0zNXRG6WQ53iKw",[304,310,316,322,328,334,340,346,352,358,364,370,376,382,388,394,400,406,411,417,422,428,434,440,446,452,458,464,470,476,482,488,494,500,506,512,518,524,530,536,542,548,554,560,566,572,578,584,590,596,597,603,609,615,621,627,633,639,645,651],{"path":305,"stem":306,"title":307,"date":288,"chapter":308,"chapterSort":309,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch1-ros2-jie-shao","wiki/2023-12-30-ros2-tutorial/ch1-ROS2介绍","ROS2介绍","1",1000000,{"path":311,"stem":312,"title":313,"date":288,"chapter":314,"chapterSort":315,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch10-stage-ros2-fang-zhen-ping-tai","wiki/2023-12-30-ros2-tutorial/ch10-Stage_Ros2仿真平台","Stage_Ros2仿真平台","10",10000000,{"path":317,"stem":318,"title":319,"date":288,"chapter":320,"chapterSort":321,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch11-1-gazeboclassic","wiki/2023-12-30-ros2-tutorial/ch11-1-GazeboClassic","Gezebo Classic","11.1",11010000,{"path":323,"stem":324,"title":325,"date":288,"chapter":326,"chapterSort":327,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch11-2-ignitiongazebo","wiki/2023-12-30-ros2-tutorial/ch11-2-IgnitionGazebo","Ignition Gazebo（Gazebo Fortress）","11.2",11020000,{"path":329,"stem":330,"title":331,"date":288,"chapter":332,"chapterSort":333,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch11-3-gazebosim","wiki/2023-12-30-ros2-tutorial/ch11-3-GazeboSim","Gz Sim（Gazebo Harmonic）","11.3",11030000,{"path":335,"stem":336,"title":337,"date":288,"chapter":338,"chapterSort":339,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch11-4-igngz2gzsim","wiki/2023-12-30-ros2-tutorial/ch11-4-Igngz2gzsim","将Ign Gazebo迁移至Gz Sim","11.4",11040000,{"path":341,"stem":342,"title":343,"date":288,"chapter":344,"chapterSort":345,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch11-gezebo-fang-zhen-ping-tai","wiki/2023-12-30-ros2-tutorial/ch11-Gezebo仿真平台","Gezebo仿真平台","11",11000000,{"path":347,"stem":348,"title":349,"date":288,"chapter":350,"chapterSort":351,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch12-1-humble-ban-ben","wiki/2023-12-30-ros2-tutorial/ch12-1-Humble版本","Humble导航仿真","12.1",12010000,{"path":353,"stem":354,"title":355,"date":288,"chapter":356,"chapterSort":357,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch12-2-jazzy-ban-ben","wiki/2023-12-30-ros2-tutorial/ch12-2-Jazzy版本","Jazzy导航仿真","12.2",12020000,{"path":359,"stem":360,"title":361,"date":288,"chapter":362,"chapterSort":363,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch12-3-humble2jazzy","wiki/2023-12-30-ros2-tutorial/ch12-3-Humble2Jazzy","Humble与Jazzy导航的差异","12.3",12030000,{"path":365,"stem":366,"title":367,"date":288,"chapter":368,"chapterSort":369,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch12-ji-qi-ren-dao-hang-navigation2-fang-zhen-pian","wiki/2023-12-30-ros2-tutorial/ch12-机器人导航Navigation2(仿真篇)","机器人导航Navigation2(仿真篇)","12",12000000,{"path":371,"stem":372,"title":373,"date":288,"chapter":374,"chapterSort":375,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-1-1-boost-aiso","wiki/2023-12-30-ros2-tutorial/ch13-1-1-Boost.Aiso","Boost.Asio库","13.1.1",13010100,{"path":377,"stem":378,"title":379,"date":288,"chapter":380,"chapterSort":381,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-1-2-ros2-serial-driver","wiki/2023-12-30-ros2-tutorial/ch13-1-2-ros2_serial_driver","ROS2 Serial Driver库","13.1.2",13010200,{"path":383,"stem":384,"title":385,"date":288,"chapter":386,"chapterSort":387,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-1-chuan-kou-tong-xin","wiki/2023-12-30-ros2-tutorial/ch13-1-串口通信","UART串口通信","13.1",13010000,{"path":389,"stem":390,"title":391,"date":288,"chapter":392,"chapterSort":393,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-2-1-socketcan","wiki/2023-12-30-ros2-tutorial/ch13-2-1-socketcan","SocketCAN","13.2.1",13020100,{"path":395,"stem":396,"title":397,"date":288,"chapter":398,"chapterSort":399,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-2-2-ros2-socketcan","wiki/2023-12-30-ros2-tutorial/ch13-2-2-ros2_socketcan","ROS2_SocketCAN","13.2.2",13020200,{"path":401,"stem":402,"title":403,"date":288,"chapter":404,"chapterSort":405,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-2-can-tong-xin","wiki/2023-12-30-ros2-tutorial/ch13-2-CAN通信","CAN通信","13.2",13020000,{"path":407,"stem":408,"title":373,"date":288,"chapter":409,"chapterSort":410,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-3-1-boost-aiso","wiki/2023-12-30-ros2-tutorial/ch13-3-1-Boost.Aiso","13.3.1",13030100,{"path":412,"stem":413,"title":414,"date":288,"chapter":415,"chapterSort":416,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-3-tcp-tong-xin","wiki/2023-12-30-ros2-tutorial/ch13-3-TCP通信","TCP通信","13.3",13030000,{"path":418,"stem":419,"title":373,"date":288,"chapter":420,"chapterSort":421,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-4-1-boost-aiso","wiki/2023-12-30-ros2-tutorial/ch13-4-1-Boost.Aiso","13.4.1",13040100,{"path":423,"stem":424,"title":425,"date":288,"chapter":426,"chapterSort":427,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin","wiki/2023-12-30-ros2-tutorial/ch13-4-UDP通信","UDP通信","13.4",13040000,{"path":429,"stem":430,"title":431,"date":288,"chapter":432,"chapterSort":433,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-linux-ying-jian-tong-xin","wiki/2023-12-30-ros2-tutorial/ch13-Linux硬件通信","Linux硬件通信","13",13000000,{"path":435,"stem":436,"title":437,"date":288,"chapter":438,"chapterSort":439,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-1-ji-qi-ren-zu-cheng","wiki/2023-12-30-ros2-tutorial/ch14-1-机器人组成","机器人组成","14.1",14010000,{"path":441,"stem":442,"title":443,"date":288,"chapter":444,"chapterSort":445,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-2-1-yuan-cheng-kai-fa-ssh","wiki/2023-12-30-ros2-tutorial/ch14-2-1-远程开发SSH","远程开发SSH","14.2.1",14020100,{"path":447,"stem":448,"title":449,"date":288,"chapter":450,"chapterSort":451,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-2-2-yuan-cheng-fang-wen-zhuo-mian","wiki/2023-12-30-ros2-tutorial/ch14-2-2-远程访问桌面","远程访问桌面","14.2.2",14020200,{"path":453,"stem":454,"title":455,"date":288,"chapter":456,"chapterSort":457,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-2-gong-kong-ji-zhi-yuan-cheng-kai-fa-huan-jing","wiki/2023-12-30-ros2-tutorial/ch14-2-工控机之远程开发环境","工控机之远程开发环境","14.2",14020000,{"path":459,"stem":460,"title":461,"date":288,"chapter":462,"chapterSort":463,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-3-gong-kong-ji-zhi-wai-jie-usb-she-bei","wiki/2023-12-30-ros2-tutorial/ch14-3-工控机之外接USB设备","工控机之外接USB设备","14.3",14030000,{"path":465,"stem":466,"title":467,"date":288,"chapter":468,"chapterSort":469,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-4-fen-bu-shi-da-jian","wiki/2023-12-30-ros2-tutorial/ch14-4-分布式搭建","分布式搭建","14.4",14040000,{"path":471,"stem":472,"title":473,"date":288,"chapter":474,"chapterSort":475,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-5-you-hua-ri-zhi","wiki/2023-12-30-ros2-tutorial/ch14-5-优化日志","优化日志","14.5",14050000,{"path":477,"stem":478,"title":479,"date":288,"chapter":480,"chapterSort":481,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-1-li-cheng-ji-odom","wiki/2023-12-30-ros2-tutorial/ch14-6-1-里程计Odom","里程计Odom","14.6.1",14060100,{"path":483,"stem":484,"title":485,"date":288,"chapter":486,"chapterSort":487,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-2-guan-xing-ji-imu","wiki/2023-12-30-ros2-tutorial/ch14-6-2-惯性计IMU","惯性计IMU","14.6.2",14060200,{"path":489,"stem":490,"title":491,"date":288,"chapter":492,"chapterSort":493,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-3-ji-guang-lei-da-lidar","wiki/2023-12-30-ros2-tutorial/ch14-6-3-激光雷达LiDAR","激光雷达LiDAR","14.6.3",14060300,{"path":495,"stem":496,"title":497,"date":288,"chapter":498,"chapterSort":499,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-4-xiang-ji-camera","wiki/2023-12-30-ros2-tutorial/ch14-6-4-相机Camera","相机Camera","14.6.4",14060400,{"path":501,"stem":502,"title":503,"date":288,"chapter":504,"chapterSort":505,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-5-quan-qiu-ding-wei-gnss","wiki/2023-12-30-ros2-tutorial/ch14-6-5-全球定位GNSS","全球定位GNSS","14.6.5",14060500,{"path":507,"stem":508,"title":509,"date":288,"chapter":510,"chapterSort":511,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-6-shou-bing-joy","wiki/2023-12-30-ros2-tutorial/ch14-6-6-手柄joy","手柄JOY","14.6.6",14060600,{"path":513,"stem":514,"title":515,"date":288,"chapter":516,"chapterSort":517,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-7-jian-pan-kong-zhi-jie-dian","wiki/2023-12-30-ros2-tutorial/ch14-6-7-键盘控制节点","键盘控制节点","14.6.7",14060700,{"path":519,"stem":520,"title":521,"date":288,"chapter":522,"chapterSort":523,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-ying-jian-ping-tai","wiki/2023-12-30-ros2-tutorial/ch14-6-硬件平台","硬件平台","14.6",14060000,{"path":525,"stem":526,"title":527,"date":288,"chapter":528,"chapterSort":529,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-7-zuo-biao-xi-yu-hua-ti-guan-xi","wiki/2023-12-30-ros2-tutorial/ch14-7-坐标系与话题关系","坐标系与话题关系","14.7",14070000,{"path":531,"stem":532,"title":533,"date":288,"chapter":534,"chapterSort":535,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-1-1-lun-shi-li-cheng-ji-biao-ding","wiki/2023-12-30-ros2-tutorial/ch14-8-1-1-轮式里程计标定","轮式里程计标定","14.8.1.1",14080101,{"path":537,"stem":538,"title":539,"date":288,"chapter":540,"chapterSort":541,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-1-2-lun-shi-li-cheng-ji-yu-imu-rong-he","wiki/2023-12-30-ros2-tutorial/ch14-8-1-2-轮式里程计与IMU融合","轮式里程计与IMU融合","14.8.1.2",14080102,{"path":543,"stem":544,"title":545,"date":288,"chapter":546,"chapterSort":547,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-1-lun-shi-li-cheng-ji-biao-ding-yu-rong-he","wiki/2023-12-30-ros2-tutorial/ch14-8-1-轮式里程计标定与融合","轮式里程计标定与融合","14.8.1",14080100,{"path":549,"stem":550,"title":551,"date":288,"chapter":552,"chapterSort":553,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-2-ji-guang-lei-da-gong-ju","wiki/2023-12-30-ros2-tutorial/ch14-8-2-激光雷达工具","激光雷达工具","14.8.2",14080200,{"path":555,"stem":556,"title":557,"date":288,"chapter":558,"chapterSort":559,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-3-xiang-ji-shi-yong-jin-jie","wiki/2023-12-30-ros2-tutorial/ch14-8-3-相机使用进阶","相机使用进阶","14.8.3",14080300,{"path":561,"stem":562,"title":563,"date":288,"chapter":564,"chapterSort":565,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-ying-jian-ping-tai-jin-jie","wiki/2023-12-30-ros2-tutorial/ch14-8-硬件平台进阶","硬件平台进阶","14.8",14080000,{"path":567,"stem":568,"title":569,"date":288,"chapter":570,"chapterSort":571,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-ji-qi-ren-ying-jian","wiki/2023-12-30-ros2-tutorial/ch14-机器人硬件","机器人硬件","14",14000000,{"path":573,"stem":574,"title":575,"date":288,"chapter":576,"chapterSort":577,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch15-ros2-control","wiki/2023-12-30-ros2-tutorial/ch15-ROS2_Control","ROS2_Control","15",15000000,{"path":579,"stem":580,"title":581,"date":288,"chapter":582,"chapterSort":583,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","wiki/2023-12-30-ros2-tutorial/ch16-Moveit2工业机器人机械臂","Moveit2工业机器人机械臂","16",16000000,{"path":585,"stem":586,"title":587,"date":288,"chapter":588,"chapterSort":589,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch17-ji-qi-ren-dao-hang-navigation2-shi-ti-pian","wiki/2023-12-30-ros2-tutorial/ch17-机器人导航Navigation2(实体篇)","机器人导航Navigation2(实体篇)","17",17000000,{"path":591,"stem":592,"title":593,"date":288,"chapter":594,"chapterSort":595,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch18-microros","wiki/2023-12-30-ros2-tutorial/ch18-MicroROS","MicroROS","18",18000000,{"path":285,"stem":294,"title":5,"date":288,"chapter":286,"chapterSort":287,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},{"path":598,"stem":599,"title":600,"date":288,"chapter":601,"chapterSort":602,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch2-ru-men-cao-zuo","wiki/2023-12-30-ros2-tutorial/ch2-入门操作","入门操作","2",2000000,{"path":604,"stem":605,"title":606,"date":288,"chapter":607,"chapterSort":608,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch20-opencv","wiki/2023-12-30-ros2-tutorial/ch20-OpenCV","OpenCV","20",20000000,{"path":610,"stem":611,"title":612,"date":288,"chapter":613,"chapterSort":614,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch3-gong-zuo-kong-jian-yu-gong-neng-bao","wiki/2023-12-30-ros2-tutorial/ch3-工作空间与功能包","工作空间与功能包","3",3000000,{"path":616,"stem":617,"title":618,"date":288,"chapter":619,"chapterSort":620,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch4-si-da-tong-xin","wiki/2023-12-30-ros2-tutorial/ch4-四大通信","四大通信","4",4000000,{"path":622,"stem":623,"title":624,"date":288,"chapter":625,"chapterSort":626,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch5-ros2-qi-ta-tong-xin-ji-zhi","wiki/2023-12-30-ros2-tutorial/ch5-ROS2其他通信机制","ROS2其他通信机制","5",5000000,{"path":628,"stem":629,"title":630,"date":288,"chapter":631,"chapterSort":632,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch6-launch","wiki/2023-12-30-ros2-tutorial/ch6-Launch","Launch","6",6000000,{"path":634,"stem":635,"title":636,"date":288,"chapter":637,"chapterSort":638,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch7-hui-su-rosbag2","wiki/2023-12-30-ros2-tutorial/ch7-回溯rosbag2","回溯rosbag2","7",7000000,{"path":640,"stem":641,"title":642,"date":288,"chapter":643,"chapterSort":644,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch8-zuo-biao-bian-huan-tf","wiki/2023-12-30-ros2-tutorial/ch8-坐标变换TF","坐标变换TF","8",8000000,{"path":646,"stem":647,"title":648,"date":288,"chapter":649,"chapterSort":650,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":295},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch9-ke-shi-hua-ping-tai-rviz2-yu-urdf-jian-mo-yu-yan","wiki/2023-12-30-ros2-tutorial/ch9-可视化平台RVIZ2与URDF建模语言","可视化平台RVIZ2与URDF建模语言","9",9000000,{"path":291,"stem":652,"title":653,"date":288,"chapter":296,"chapterSort":654,"docKey":290,"docRoot":291,"docTitle":292,"isWikiDoc":205,"isWikiIndex":205},"wiki/2023-12-30-ros2-tutorial/index","ROS2机器人操作系统教程",0,{"variants":656},[657,660,663,666,669],{"path":658,"localeSlug":659,"i18nKey":294},"/en-us/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai","en-us",{"path":661,"localeSlug":662,"i18nKey":294},"/zh-hant/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai","zh-hant",{"path":664,"localeSlug":665,"i18nKey":294},"/zh-hk/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai","zh-hk",{"path":667,"localeSlug":668,"i18nKey":294},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai","zh-tw",{"path":285,"localeSlug":299,"i18nKey":294},[658,297,661,297,664,297,667,297,285,297],1780663053499]