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