[{"data":1,"prerenderedAt":509},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-lun-shi-li-cheng-ji-biao-ding":3,"wiki-doc-items-2023-12-30-ros2-tutorial":214},{"id":4,"title":5,"body":6,"chapterDepth":200,"chapterOrder":201,"date":202,"description":12,"docKey":203,"docRoot":204,"docTitle":205,"extension":206,"isWikiDoc":207,"isWikiIndex":208,"meta":209,"navigation":207,"path":210,"seo":211,"stem":212,"wikiDepth":87,"__hash__":213},"wiki\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定.md","轮式里程计标定",{"type":7,"value":8,"toc":197},"minimark",[9,13,29,32,38,41,46,49,54,57,62,65,70,73,111,114,117,123,135,140,143,146,150,153,157,160,164,167,170,174,185,190,193],[10,11,12],"p",{},"轮式里程计标定是校准机器人轮子的旋转和移动，以提供机器人运动中的准确位置和姿态信息的方法。通过标定，可以修正因轮子尺寸和轮距等因素引起的误差，获得更准确的运动轨迹。本节将以MyCar导航机器人为例演示标定过程，其标定步骤如下：",[14,15,16,20,23,26],"ol",{},[17,18,19],"li",{},"准备测量场地；",[17,21,22],{},"线性位移标定；",[17,24,25],{},"转角位移标定；",[17,27,28],{},"验证和调整。",[10,30,31],{},"另外，该过程还需要使用尺子作为测量工具。",[10,33,34],{},[35,36,37],"strong",{},"1.准备测量场地",[10,39,40],{},"选择一个开放而平坦的区域，确保没有障碍物和其他干扰因素。",[10,42,43],{},[35,44,45],{},"2.线性位移标定",[10,47,48],{},"线性位移标定是用来标定机器人在直线移动时行进的距离。该标定与车轮直径参数密切相关，当车轮直径测量不准确或轮胎磨损时，会导致轮式里程计的线性位移出现误差。以下是线性位移标定的主要步骤：",[10,50,51],{},[35,52,53],{},"（1）实际数据采集",[10,55,56],{},"启动机器人底盘和键盘控制节点，使用键盘控制机器人向前直线运动一段距离，并测量线性位移数据。",[10,58,59],{},[35,60,61],{},"（2）里程计消息采集",[10,63,64],{},"机器人停止后，输出里程计消息，并获取里程计消息中的机器人的位移数据。",[10,66,67],{},[35,68,69],{},"（3）参数计算以及修改",[10,71,72],{},"收集实际位移数据（w1）和里程计消息中的位移数据（w2），并结合驱动包配置文件中的原轮胎直径值（d1），即可计算修正后的轮胎直径值（d）。计算公式如下：",[74,75,80],"pre",{"className":76,"code":77,"language":78,"meta":79,"style":79},"language-cpp shiki shiki-themes github-light github-dark","d = w1 \u002F w2 * d1;\n","cpp","",[81,82,83],"code",{"__ignoreMap":79},[84,85,88,92,96,99,102,105,108],"span",{"class":86,"line":87},"line",1,[84,89,91],{"class":90},"sVt8B","d ",[84,93,95],{"class":94},"szBVR","=",[84,97,98],{"class":90}," w1 ",[84,100,101],{"class":94},"\u002F",[84,103,104],{"class":90}," w2 ",[84,106,107],{"class":94},"*",[84,109,110],{"class":90}," d1;\n",[10,112,113],{},"将计算出的结果写入 MyCar 机器人的配置文件对应的参数，并重新构建。",[10,115,116],{},"为了获得最佳结果，可以多次执行上述流程。每次执行后，测量并记录新的实际位移数据（w1）和里程计消息中的位移数据（w2），然后根据新的数据再次计算修正后的轮胎直径值（d）。不断迭代这个过程，可以逐步优化轮胎直径的估计值，减小里程计的线性位移误差。",[10,118,119],{},[120,121,122],"em",{},"小提示：",[124,125,126,129,132],"blockquote",{},[10,127,128],{},"如果使用的是以Arduino为主控的MyCar两轮差速机器人，那么需要修改ros2_arduino_bridge功能包下的params\u002Farduino.yaml文件，该文件中有一个名为wheel_diameter参数即为车轮直径；",[10,130,131],{},"如果使用的是以Stm32为主控的MyCar两轮差速机器人，那么需要修改ros2_stm32_bridge功能包下的params\u002Fstm32_2w.yaml文件，该文件中有一个名为wheel_diameter参数即为车轮直径；",[10,133,134],{},"如果使用的是以Stm32为主控的MyCar四轮差速机器人，那么需要修改ros2_stm32_bridge功能包下的params\u002Fstm32_4w.yaml文件，该文件中有一个名为wheel_diameter参数即为车轮直径。",[10,136,137],{},[35,138,139],{},"3.转角位移标定",[10,141,142],{},"转角位移标定是用来标定机器人在转弯时的角度变化。该标定与底盘的旋转半径参数密切相关，当旋转半径设置不当时，会导致转角位移的测量误差。另外需要注意的是，如果是两轮差速机器人，那么旋转半径和轮间距基本一致。这是因为两轮差速机器人在旋转时没有造成车体的侧滑运动，所以可以使用轮间距来计算旋转角度，并且旋转半径可以近似等于轮间距。然而，对于四轮差速机器人，在旋转时会产生侧滑，轮间距无法直接用于计算旋转角度。四轮差速机器人的旋转半径需要通过实验获取，因为它的旋转半径受到侧滑运动的影响。此外，由于机器人的左右侧轮胎差异或车辆重心偏移等原因，左旋转和右旋转时计算旋转角度所使用的旋转半径可能不同，因此需要进行分别实验来获取左右旋转时的旋转半径。",[10,144,145],{},"以下是转角位移标定的主要步骤：",[10,147,148],{},[35,149,53],{},[10,151,152],{},"启动机器人底盘和键盘控制节点，使用键盘控制机器人原地旋转，并测量转角位移数据，比如可以原地旋转一周。",[10,154,155],{},[35,156,61],{},[10,158,159],{},"机器人停止后，打开rviz2，并添加tf插件，以显示机器人基坐标系（一般是base_link或base_footprint）与里程计坐标系（一般是odom）相对关系。",[10,161,162],{},[35,163,69],{},[10,165,166],{},"在机器人原地旋转一周时，如果机器人基坐标系与里程计坐标系相吻合，那么旋转半径参数无需调整；如果机器人基坐标系与里程计坐标系不吻合且rviz2中机器人的旋转角度大于实际旋转角度，那么请将旋转半径调大；如果机器人基坐标系与里程计坐标系不吻合且rviz2中机器人的旋转角度小于实际旋转角度，那么请将旋转半径调小。将计算出的结果写入 MyCar 机器人的配置文件对应的参数，并重新构建。",[10,168,169],{},"为了获得最佳结果，可以多次执行上述流程。每次执行后，测量并记录新的实际转角位移数据和rviz2中的坐标系相对关系，然后根据新的数据再次修正旋转半径。通过不断迭代这个过程，可以逐步优化旋转半径的估计值，减小转角位移的测量误差。",[10,171,172],{},[120,173,122],{},[124,175,176,179,182],{},[10,177,178],{},"如果使用的是以Arduino为主控的MyCar两轮差速机器人，那么需要修改ros2_arduino_bridge功能包下的params\u002Farduino.yaml文件，该文件中有一个名为wheel_track参数即为车轮直径，在ros2_arduino_bridge中并未对左旋转和右旋转做区分；",[10,180,181],{},"如果使用的是以Stm32为主控的MyCar两轮差速机器人，那么需要修改ros2_stm32_bridge功能包下的params\u002Fstm32_2w.yaml文件，在机器人左旋转时，要标定的是名为model_param_acw的参数，在机器人右旋转时，要标定的是名为model_param_cw的参数；",[10,183,184],{},"如果使用的是以Stm32为主控的MyCar四轮差速机器人，那么需要修改ros2_stm32_bridge功能包下的params\u002Fstm32_4w.yaml文件，和两轮差速类似的，在机器人左旋转时，要标定的是名为model_param_acw的参数，在机器人右旋转时，要标定的是名为model_param_cw的参数。",[10,186,187],{},[35,188,189],{},"4.验证和调整",[10,191,192],{},"将标定后的轮式里程计应用于实际场景中，并进行验证和调整。观察车辆的实际位置和运动与估计值的差异，并进行必要的调整和校准。另外，当车辆使用环境发生改变，或持续使用较长一段时间后，建议对里程计进行重新标定。",[194,195,196],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}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":79,"searchDepth":198,"depth":198,"links":199},2,[],3,"1400-0800-0100-0100","2023-12-30","2023-12-30-ros2-tutorial","\u002Fwiki\u002F2023-12-30-ros2-tutorial","Ros2 Tutorial","md",true,false,{},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-lun-shi-li-cheng-ji-biao-ding",{"title":5,"description":12},"wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定","a9Yx5iNirnWPKPw9X94muDWgI79mi4U7gAK9d1Lgetc",[215,221,226,231,236,241,246,251,256,261,266,271,276,281,286,291,296,301,306,311,316,321,326,331,336,341,345,350,354,359,364,369,374,379,384,389,394,399,404,409,414,419,424,429,434,439,444,445,450,455,460,465,470,475,480,485,490,495,500,505],{"path":216,"stem":217,"title":218,"date":202,"chapterOrder":219,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ros2-jie-shao","wiki\u002F2023-12-30-ros2-tutorial\u002F0100-ROS2介绍","ROS2介绍","0100",0,{"path":222,"stem":223,"title":224,"date":202,"chapterOrder":225,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-ru-men-cao-zuo","wiki\u002F2023-12-30-ros2-tutorial\u002F0200-入门操作","入门操作","0200",{"path":227,"stem":228,"title":229,"date":202,"chapterOrder":230,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","wiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包","工作空间与功能包","0300",{"path":232,"stem":233,"title":234,"date":202,"chapterOrder":235,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-si-da-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F0400-四大通信","四大通信","0400",{"path":237,"stem":238,"title":239,"date":202,"chapterOrder":240,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":242,"stem":243,"title":244,"date":202,"chapterOrder":245,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","wiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","Launch","0600",{"path":247,"stem":248,"title":249,"date":202,"chapterOrder":250,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-hui-su-rosbag2","wiki\u002F2023-12-30-ros2-tutorial\u002F0700-回溯rosbag2","回溯rosbag2","0700",{"path":252,"stem":253,"title":254,"date":202,"chapterOrder":255,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-zuo-biao-bian-huan-tf","wiki\u002F2023-12-30-ros2-tutorial\u002F0800-坐标变换TF","坐标变换TF","0800",{"path":257,"stem":258,"title":259,"date":202,"chapterOrder":260,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":262,"stem":263,"title":264,"date":202,"chapterOrder":265,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":267,"stem":268,"title":269,"date":202,"chapterOrder":270,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-gazeboclassic","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-GazeboClassic","Gezebo Classic","1100-0100",{"path":272,"stem":273,"title":274,"date":202,"chapterOrder":275,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":277,"stem":278,"title":279,"date":202,"chapterOrder":280,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":282,"stem":283,"title":284,"date":202,"chapterOrder":285,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":287,"stem":288,"title":289,"date":202,"chapterOrder":290,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-gezebo-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-Gezebo仿真平台","Gezebo仿真平台","1100",{"path":292,"stem":293,"title":294,"date":202,"chapterOrder":295,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-humble-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-Humble版本","Humble导航仿真","1200-0100",{"path":297,"stem":298,"title":299,"date":202,"chapterOrder":300,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-jazzy-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-Jazzy版本","Jazzy导航仿真","1200-0200",{"path":302,"stem":303,"title":304,"date":202,"chapterOrder":305,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy","Humble与Jazzy导航的差异","1200-0300",{"path":307,"stem":308,"title":309,"date":202,"chapterOrder":310,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":312,"stem":313,"title":314,"date":202,"chapterOrder":315,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":317,"stem":318,"title":319,"date":202,"chapterOrder":320,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":322,"stem":323,"title":324,"date":202,"chapterOrder":325,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-chuan-kou-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-串口通信","UART串口通信","1300-0100",{"path":327,"stem":328,"title":329,"date":202,"chapterOrder":330,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":332,"stem":333,"title":334,"date":202,"chapterOrder":335,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":337,"stem":338,"title":339,"date":202,"chapterOrder":340,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信","CAN通信","1300-0200",{"path":342,"stem":343,"title":314,"date":202,"chapterOrder":344,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":346,"stem":347,"title":348,"date":202,"chapterOrder":349,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-tcp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-TCP通信","TCP通信","1300-0300",{"path":351,"stem":352,"title":314,"date":202,"chapterOrder":353,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":355,"stem":356,"title":357,"date":202,"chapterOrder":358,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-udp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-UDP通信","UDP通信","1300-0400",{"path":360,"stem":361,"title":362,"date":202,"chapterOrder":363,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-linux-ying-jian-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-Linux硬件通信","Linux硬件通信","1300",{"path":365,"stem":366,"title":367,"date":202,"chapterOrder":368,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-ji-qi-ren-zu-cheng","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-机器人组成","机器人组成","1400-0100",{"path":370,"stem":371,"title":372,"date":202,"chapterOrder":373,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":375,"stem":376,"title":377,"date":202,"chapterOrder":378,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":380,"stem":381,"title":382,"date":202,"chapterOrder":383,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":385,"stem":386,"title":387,"date":202,"chapterOrder":388,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":390,"stem":391,"title":392,"date":202,"chapterOrder":393,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-fen-bu-shi-da-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-分布式搭建","分布式搭建","1400-0400",{"path":395,"stem":396,"title":397,"date":202,"chapterOrder":398,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-you-hua-ri-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-优化日志","优化日志","1400-0500",{"path":400,"stem":401,"title":402,"date":202,"chapterOrder":403,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":405,"stem":406,"title":407,"date":202,"chapterOrder":408,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":410,"stem":411,"title":412,"date":202,"chapterOrder":413,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":415,"stem":416,"title":417,"date":202,"chapterOrder":418,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":420,"stem":421,"title":422,"date":202,"chapterOrder":423,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":425,"stem":426,"title":427,"date":202,"chapterOrder":428,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":430,"stem":431,"title":432,"date":202,"chapterOrder":433,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":435,"stem":436,"title":437,"date":202,"chapterOrder":438,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-ying-jian-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-硬件平台","硬件平台","1400-0600",{"path":440,"stem":441,"title":442,"date":202,"chapterOrder":443,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":210,"stem":212,"title":5,"date":202,"chapterOrder":201,"chapterDepth":200,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},{"path":446,"stem":447,"title":448,"date":202,"chapterOrder":449,"chapterDepth":200,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":451,"stem":452,"title":453,"date":202,"chapterOrder":454,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":456,"stem":457,"title":458,"date":202,"chapterOrder":459,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":461,"stem":462,"title":463,"date":202,"chapterOrder":464,"chapterDepth":198,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":466,"stem":467,"title":468,"date":202,"chapterOrder":469,"chapterDepth":87,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":471,"stem":472,"title":473,"date":202,"chapterOrder":474,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-ji-qi-ren-ying-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-机器人硬件","机器人硬件","1400",{"path":476,"stem":477,"title":478,"date":202,"chapterOrder":479,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ros2-control","wiki\u002F2023-12-30-ros2-tutorial\u002F1500-ROS2_Control","ROS2_Control","1500",{"path":481,"stem":482,"title":483,"date":202,"chapterOrder":484,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":486,"stem":487,"title":488,"date":202,"chapterOrder":489,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\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":491,"stem":492,"title":493,"date":202,"chapterOrder":494,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","wiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS","1800",{"path":496,"stem":497,"title":498,"date":202,"chapterOrder":499,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-webots-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1900-Webots仿真平台","Webots仿真平台","1900",{"path":501,"stem":502,"title":503,"date":202,"chapterOrder":504,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":208},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","wiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","OpenCV","2000",{"path":204,"stem":506,"title":507,"date":202,"chapterOrder":508,"chapterDepth":220,"docKey":203,"docRoot":204,"docTitle":205,"isWikiDoc":207,"isWikiIndex":207},"wiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2机器人操作系统教程",null,1784505231918]