[{"data":1,"prerenderedAt":637},["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":216,"wiki:author-members":625},{"id":4,"title":5,"authors":6,"body":8,"chapterDepth":202,"chapterOrder":203,"date":204,"description":14,"docKey":205,"docRoot":206,"docTitle":207,"extension":208,"isWikiDoc":209,"isWikiIndex":210,"meta":211,"navigation":209,"path":212,"seo":213,"stem":214,"wikiDepth":89,"__hash__":215},"wiki\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定.md","轮式里程计标定",[7],"董佳辉",{"type":9,"value":10,"toc":199},"minimark",[11,15,31,34,40,43,48,51,56,59,64,67,72,75,113,116,119,125,137,142,145,148,152,155,159,162,166,169,172,176,187,192,195],[12,13,14],"p",{},"轮式里程计标定是校准机器人轮子的旋转和移动，以提供机器人运动中的准确位置和姿态信息的方法。通过标定，可以修正因轮子尺寸和轮距等因素引起的误差，获得更准确的运动轨迹。本节将以MyCar导航机器人为例演示标定过程，其标定步骤如下：",[16,17,18,22,25,28],"ol",{},[19,20,21],"li",{},"准备测量场地；",[19,23,24],{},"线性位移标定；",[19,26,27],{},"转角位移标定；",[19,29,30],{},"验证和调整。",[12,32,33],{},"另外，该过程还需要使用尺子作为测量工具。",[12,35,36],{},[37,38,39],"strong",{},"1.准备测量场地",[12,41,42],{},"选择一个开放而平坦的区域，确保没有障碍物和其他干扰因素。",[12,44,45],{},[37,46,47],{},"2.线性位移标定",[12,49,50],{},"线性位移标定是用来标定机器人在直线移动时行进的距离。该标定与车轮直径参数密切相关，当车轮直径测量不准确或轮胎磨损时，会导致轮式里程计的线性位移出现误差。以下是线性位移标定的主要步骤：",[12,52,53],{},[37,54,55],{},"（1）实际数据采集",[12,57,58],{},"启动机器人底盘和键盘控制节点，使用键盘控制机器人向前直线运动一段距离，并测量线性位移数据。",[12,60,61],{},[37,62,63],{},"（2）里程计消息采集",[12,65,66],{},"机器人停止后，输出里程计消息，并获取里程计消息中的机器人的位移数据。",[12,68,69],{},[37,70,71],{},"（3）参数计算以及修改",[12,73,74],{},"收集实际位移数据（w1）和里程计消息中的位移数据（w2），并结合驱动包配置文件中的原轮胎直径值（d1），即可计算修正后的轮胎直径值（d）。计算公式如下：",[76,77,82],"pre",{"className":78,"code":79,"language":80,"meta":81,"style":81},"language-cpp shiki shiki-themes github-light github-dark","d = w1 \u002F w2 * d1;\n","cpp","",[83,84,85],"code",{"__ignoreMap":81},[86,87,90,94,98,101,104,107,110],"span",{"class":88,"line":89},"line",1,[86,91,93],{"class":92},"sVt8B","d ",[86,95,97],{"class":96},"szBVR","=",[86,99,100],{"class":92}," w1 ",[86,102,103],{"class":96},"\u002F",[86,105,106],{"class":92}," w2 ",[86,108,109],{"class":96},"*",[86,111,112],{"class":92}," d1;\n",[12,114,115],{},"将计算出的结果写入 MyCar 机器人的配置文件对应的参数，并重新构建。",[12,117,118],{},"为了获得最佳结果，可以多次执行上述流程。每次执行后，测量并记录新的实际位移数据（w1）和里程计消息中的位移数据（w2），然后根据新的数据再次计算修正后的轮胎直径值（d）。不断迭代这个过程，可以逐步优化轮胎直径的估计值，减小里程计的线性位移误差。",[12,120,121],{},[122,123,124],"em",{},"小提示：",[126,127,128,131,134],"blockquote",{},[12,129,130],{},"如果使用的是以Arduino为主控的MyCar两轮差速机器人，那么需要修改ros2_arduino_bridge功能包下的params\u002Farduino.yaml文件，该文件中有一个名为wheel_diameter参数即为车轮直径；",[12,132,133],{},"如果使用的是以Stm32为主控的MyCar两轮差速机器人，那么需要修改ros2_stm32_bridge功能包下的params\u002Fstm32_2w.yaml文件，该文件中有一个名为wheel_diameter参数即为车轮直径；",[12,135,136],{},"如果使用的是以Stm32为主控的MyCar四轮差速机器人，那么需要修改ros2_stm32_bridge功能包下的params\u002Fstm32_4w.yaml文件，该文件中有一个名为wheel_diameter参数即为车轮直径。",[12,138,139],{},[37,140,141],{},"3.转角位移标定",[12,143,144],{},"转角位移标定是用来标定机器人在转弯时的角度变化。该标定与底盘的旋转半径参数密切相关，当旋转半径设置不当时，会导致转角位移的测量误差。另外需要注意的是，如果是两轮差速机器人，那么旋转半径和轮间距基本一致。这是因为两轮差速机器人在旋转时没有造成车体的侧滑运动，所以可以使用轮间距来计算旋转角度，并且旋转半径可以近似等于轮间距。然而，对于四轮差速机器人，在旋转时会产生侧滑，轮间距无法直接用于计算旋转角度。四轮差速机器人的旋转半径需要通过实验获取，因为它的旋转半径受到侧滑运动的影响。此外，由于机器人的左右侧轮胎差异或车辆重心偏移等原因，左旋转和右旋转时计算旋转角度所使用的旋转半径可能不同，因此需要进行分别实验来获取左右旋转时的旋转半径。",[12,146,147],{},"以下是转角位移标定的主要步骤：",[12,149,150],{},[37,151,55],{},[12,153,154],{},"启动机器人底盘和键盘控制节点，使用键盘控制机器人原地旋转，并测量转角位移数据，比如可以原地旋转一周。",[12,156,157],{},[37,158,63],{},[12,160,161],{},"机器人停止后，打开rviz2，并添加tf插件，以显示机器人基坐标系（一般是base_link或base_footprint）与里程计坐标系（一般是odom）相对关系。",[12,163,164],{},[37,165,71],{},[12,167,168],{},"在机器人原地旋转一周时，如果机器人基坐标系与里程计坐标系相吻合，那么旋转半径参数无需调整；如果机器人基坐标系与里程计坐标系不吻合且rviz2中机器人的旋转角度大于实际旋转角度，那么请将旋转半径调大；如果机器人基坐标系与里程计坐标系不吻合且rviz2中机器人的旋转角度小于实际旋转角度，那么请将旋转半径调小。将计算出的结果写入 MyCar 机器人的配置文件对应的参数，并重新构建。",[12,170,171],{},"为了获得最佳结果，可以多次执行上述流程。每次执行后，测量并记录新的实际转角位移数据和rviz2中的坐标系相对关系，然后根据新的数据再次修正旋转半径。通过不断迭代这个过程，可以逐步优化旋转半径的估计值，减小转角位移的测量误差。",[12,173,174],{},[122,175,124],{},[126,177,178,181,184],{},[12,179,180],{},"如果使用的是以Arduino为主控的MyCar两轮差速机器人，那么需要修改ros2_arduino_bridge功能包下的params\u002Farduino.yaml文件，该文件中有一个名为wheel_track参数即为车轮直径，在ros2_arduino_bridge中并未对左旋转和右旋转做区分；",[12,182,183],{},"如果使用的是以Stm32为主控的MyCar两轮差速机器人，那么需要修改ros2_stm32_bridge功能包下的params\u002Fstm32_2w.yaml文件，在机器人左旋转时，要标定的是名为model_param_acw的参数，在机器人右旋转时，要标定的是名为model_param_cw的参数；",[12,185,186],{},"如果使用的是以Stm32为主控的MyCar四轮差速机器人，那么需要修改ros2_stm32_bridge功能包下的params\u002Fstm32_4w.yaml文件，和两轮差速类似的，在机器人左旋转时，要标定的是名为model_param_acw的参数，在机器人右旋转时，要标定的是名为model_param_cw的参数。",[12,188,189],{},[37,190,191],{},"4.验证和调整",[12,193,194],{},"将标定后的轮式里程计应用于实际场景中，并进行验证和调整。观察车辆的实际位置和运动与估计值的差异，并进行必要的调整和校准。另外，当车辆使用环境发生改变，或持续使用较长一段时间后，建议对里程计进行重新标定。",[196,197,198],"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":81,"searchDepth":200,"depth":200,"links":201},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":14},"wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定","_qGtlW4Em-no0YYAmZHex3NxQBcVn4D03lvLMLOLSCo",[217,224,230,236,242,248,254,260,266,272,278,284,290,296,302,308,314,320,326,332,338,344,350,356,362,368,374,380,386,392,398,404,410,416,422,427,433,438,444,450,456,462,468,474,480,486,492,498,504,510,516,522,528,534,540,546,548,554,560,566,572,578,584,590,596,602,608,614,620],{"path":218,"stem":219,"title":220,"authors":221,"date":204,"chapterOrder":222,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ros2-jie-shao","wiki\u002F2023-12-30-ros2-tutorial\u002F0100-ROS2介绍","ROS2介绍",[7],"0100",0,{"path":225,"stem":226,"title":227,"authors":228,"date":204,"chapterOrder":229,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-ru-men-cao-zuo","wiki\u002F2023-12-30-ros2-tutorial\u002F0200-入门操作","入门操作",[7],"0200",{"path":231,"stem":232,"title":233,"authors":234,"date":204,"chapterOrder":235,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","wiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包","工作空间与功能包",[7],"0300",{"path":237,"stem":238,"title":239,"authors":240,"date":204,"chapterOrder":241,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-si-da-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F0400-四大通信","四大通信",[7],"0400",{"path":243,"stem":244,"title":245,"authors":246,"date":204,"chapterOrder":247,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ros2-qi-ta-tong-xin-ji-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F0500-ROS2其他通信机制","ROS2其他通信机制",[7],"0500",{"path":249,"stem":250,"title":251,"authors":252,"date":204,"chapterOrder":253,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","wiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","Launch",[7],"0600",{"path":255,"stem":256,"title":257,"authors":258,"date":204,"chapterOrder":259,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-hui-su-rosbag2","wiki\u002F2023-12-30-ros2-tutorial\u002F0700-回溯rosbag2","回溯rosbag2",[7],"0700",{"path":261,"stem":262,"title":263,"authors":264,"date":204,"chapterOrder":265,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-zuo-biao-bian-huan-tf","wiki\u002F2023-12-30-ros2-tutorial\u002F0800-坐标变换TF","坐标变换TF",[7],"0800",{"path":267,"stem":268,"title":269,"authors":270,"date":204,"chapterOrder":271,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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建模语言",[7],"0900",{"path":273,"stem":274,"title":275,"authors":276,"date":204,"chapterOrder":277,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-stage-ros2-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1000-Stage_Ros2仿真平台","Stage_Ros2仿真平台",[7],"1000",{"path":279,"stem":280,"title":281,"authors":282,"date":204,"chapterOrder":283,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-gazeboclassic","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-GazeboClassic","Gezebo Classic",[7],"1100-0100",{"path":285,"stem":286,"title":287,"authors":288,"date":204,"chapterOrder":289,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo","Ignition Gazebo（Gazebo Fortress）",[7],"1100-0200",{"path":291,"stem":292,"title":293,"authors":294,"date":204,"chapterOrder":295,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-gazebosim","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-GazeboSim","Gz Sim（Gazebo Harmonic）",[7],"1100-0300",{"path":297,"stem":298,"title":299,"authors":300,"date":204,"chapterOrder":301,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-igngz2gzsim","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-Igngz2gzsim","将Ign Gazebo迁移至Gz Sim",[7],"1100-0400",{"path":303,"stem":304,"title":305,"authors":306,"date":204,"chapterOrder":307,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-gezebo-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-Gezebo仿真平台","Gezebo仿真平台",[7],"1100",{"path":309,"stem":310,"title":311,"authors":312,"date":204,"chapterOrder":313,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-humble-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-Humble版本","Humble导航仿真",[7],"1200-0100",{"path":315,"stem":316,"title":317,"authors":318,"date":204,"chapterOrder":319,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-jazzy-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-Jazzy版本","Jazzy导航仿真",[7],"1200-0200",{"path":321,"stem":322,"title":323,"authors":324,"date":204,"chapterOrder":325,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy","Humble与Jazzy导航的差异",[7],"1200-0300",{"path":327,"stem":328,"title":329,"authors":330,"date":204,"chapterOrder":331,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0100-you-xian-zhuang-tai-ji-fsm","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0100-有限状态机FSM","有限状态机（Finite State Machine）",[7],"1200-0400-0100",{"path":333,"stem":334,"title":335,"authors":336,"date":204,"chapterOrder":337,"chapterDepth":202,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0100-ji-ben-gai-nian","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0100-基本概念","基本概念",[7],"1200-0400-0200-0100",{"path":339,"stem":340,"title":341,"authors":342,"date":204,"chapterOrder":343,"chapterDepth":202,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0200-kong-zhi-yu-zhuang-shi-gui-ze","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0200-控制与装饰规则","控制与装饰规则",[7],"1200-0400-0200-0200",{"path":345,"stem":346,"title":347,"authors":348,"date":204,"chapterOrder":349,"chapterDepth":202,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0300-di-yi-ge-wan-zheng-cheng-xu","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0300-第一个完整程序","第一个完整程序",[7],"1200-0400-0200-0300",{"path":351,"stem":352,"title":353,"authors":354,"date":204,"chapterOrder":355,"chapterDepth":202,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0400-jie-dian-zhi-jian-chuan-shu-ju","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0400-节点之间传数据","节点之间传数据",[7],"1200-0400-0200-0400",{"path":357,"stem":358,"title":359,"authors":360,"date":204,"chapterOrder":361,"chapterDepth":202,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0500-chi-xu-ren-wu-yu-zhong-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0500-持续任务与中止","持续任务与中止",[7],"1200-0400-0200-0500",{"path":363,"stem":364,"title":365,"authors":366,"date":204,"chapterOrder":367,"chapterDepth":202,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0600-zu-he-shi-ji-ren-wu","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0600-组合实际任务","组合实际任务",[7],"1200-0400-0200-0600",{"path":369,"stem":370,"title":371,"authors":372,"date":204,"chapterOrder":373,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-xing-wei-shu-bt","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-行为树BT","行为树（BehaviorTree.CPP）",[7],"1200-0400-0200",{"path":375,"stem":376,"title":377,"authors":378,"date":204,"chapterOrder":379,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-fsm-yu-bt","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-FSM与BT","有限状态机FSM与行为树BT",[7],"1200-0400",{"path":381,"stem":382,"title":383,"authors":384,"date":204,"chapterOrder":385,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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(仿真篇)",[7],"1200",{"path":387,"stem":388,"title":389,"authors":390,"date":204,"chapterOrder":391,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-Boost.Aiso","Boost.Asio库",[7],"1300-0100-0100",{"path":393,"stem":394,"title":395,"authors":396,"date":204,"chapterOrder":397,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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库",[7],"1300-0100-0200",{"path":399,"stem":400,"title":401,"authors":402,"date":204,"chapterOrder":403,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-chuan-kou-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-串口通信","UART串口通信",[7],"1300-0100",{"path":405,"stem":406,"title":407,"authors":408,"date":204,"chapterOrder":409,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","SocketCAN",[7],"1300-0200-0100",{"path":411,"stem":412,"title":413,"authors":414,"date":204,"chapterOrder":415,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2-socketcan","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2_socketcan","ROS2_SocketCAN",[7],"1300-0200-0200",{"path":417,"stem":418,"title":419,"authors":420,"date":204,"chapterOrder":421,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信","CAN通信",[7],"1300-0200",{"path":423,"stem":424,"title":389,"authors":425,"date":204,"chapterOrder":426,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-Boost.Aiso",[7],"1300-0300-0100",{"path":428,"stem":429,"title":430,"authors":431,"date":204,"chapterOrder":432,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-tcp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-TCP通信","TCP通信",[7],"1300-0300",{"path":434,"stem":435,"title":389,"authors":436,"date":204,"chapterOrder":437,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-Boost.Aiso",[7],"1300-0400-0100",{"path":439,"stem":440,"title":441,"authors":442,"date":204,"chapterOrder":443,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-udp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-UDP通信","UDP通信",[7],"1300-0400",{"path":445,"stem":446,"title":447,"authors":448,"date":204,"chapterOrder":449,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-linux-ying-jian-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-Linux硬件通信","Linux硬件通信",[7],"1300",{"path":451,"stem":452,"title":453,"authors":454,"date":204,"chapterOrder":455,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-ji-qi-ren-zu-cheng","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-机器人组成","机器人组成",[7],"1400-0100",{"path":457,"stem":458,"title":459,"authors":460,"date":204,"chapterOrder":461,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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",[7],"1400-0200-0100",{"path":463,"stem":464,"title":465,"authors":466,"date":204,"chapterOrder":467,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-yuan-cheng-fang-wen-zhuo-mian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-远程访问桌面","远程访问桌面",[7],"1400-0200-0200",{"path":469,"stem":470,"title":471,"authors":472,"date":204,"chapterOrder":473,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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-工控机之远程开发环境","工控机之远程开发环境",[7],"1400-0200",{"path":475,"stem":476,"title":477,"authors":478,"date":204,"chapterOrder":479,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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设备",[7],"1400-0300",{"path":481,"stem":482,"title":483,"authors":484,"date":204,"chapterOrder":485,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-fen-bu-shi-da-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-分布式搭建","分布式搭建",[7],"1400-0400",{"path":487,"stem":488,"title":489,"authors":490,"date":204,"chapterOrder":491,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-you-hua-ri-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-优化日志","优化日志",[7],"1400-0500",{"path":493,"stem":494,"title":495,"authors":496,"date":204,"chapterOrder":497,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-li-cheng-ji-odom","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-里程计Odom","里程计Odom",[7],"1400-0600-0100",{"path":499,"stem":500,"title":501,"authors":502,"date":204,"chapterOrder":503,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-guan-xing-ji-imu","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-惯性计IMU","惯性计IMU",[7],"1400-0600-0200",{"path":505,"stem":506,"title":507,"authors":508,"date":204,"chapterOrder":509,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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",[7],"1400-0600-0300",{"path":511,"stem":512,"title":513,"authors":514,"date":204,"chapterOrder":515,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-xiang-ji-camera","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-相机Camera","相机Camera",[7],"1400-0600-0400",{"path":517,"stem":518,"title":519,"authors":520,"date":204,"chapterOrder":521,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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",[7],"1400-0600-0500",{"path":523,"stem":524,"title":525,"authors":526,"date":204,"chapterOrder":527,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-shou-bing-joy","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-手柄joy","手柄JOY",[7],"1400-0600-0600",{"path":529,"stem":530,"title":531,"authors":532,"date":204,"chapterOrder":533,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-jian-pan-kong-zhi-jie-dian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-键盘控制节点","键盘控制节点",[7],"1400-0600-0700",{"path":535,"stem":536,"title":537,"authors":538,"date":204,"chapterOrder":539,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-ying-jian-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-硬件平台","硬件平台",[7],"1400-0600",{"path":541,"stem":542,"title":543,"authors":544,"date":204,"chapterOrder":545,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-zuo-biao-xi-yu-hua-ti-guan-xi","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-坐标系与话题关系","坐标系与话题关系",[7],"1400-0700",{"path":212,"stem":214,"title":5,"authors":547,"date":204,"chapterOrder":203,"chapterDepth":202,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},[7],{"path":549,"stem":550,"title":551,"authors":552,"date":204,"chapterOrder":553,"chapterDepth":202,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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融合",[7],"1400-0800-0100-0200",{"path":555,"stem":556,"title":557,"authors":558,"date":204,"chapterOrder":559,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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-轮式里程计标定与融合","轮式里程计标定与融合",[7],"1400-0800-0100",{"path":561,"stem":562,"title":563,"authors":564,"date":204,"chapterOrder":565,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-ji-guang-lei-da-gong-ju","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-激光雷达工具","激光雷达工具",[7],"1400-0800-0200",{"path":567,"stem":568,"title":569,"authors":570,"date":204,"chapterOrder":571,"chapterDepth":200,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-xiang-ji-shi-yong-jin-jie","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-相机使用进阶","相机使用进阶",[7],"1400-0800-0300",{"path":573,"stem":574,"title":575,"authors":576,"date":204,"chapterOrder":577,"chapterDepth":89,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-ying-jian-ping-tai-jin-jie","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-硬件平台进阶","硬件平台进阶",[7],"1400-0800",{"path":579,"stem":580,"title":581,"authors":582,"date":204,"chapterOrder":583,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-ji-qi-ren-ying-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-机器人硬件","机器人硬件",[7],"1400",{"path":585,"stem":586,"title":587,"authors":588,"date":204,"chapterOrder":589,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ros2-control","wiki\u002F2023-12-30-ros2-tutorial\u002F1500-ROS2_Control","ROS2_Control",[7],"1500",{"path":591,"stem":592,"title":593,"authors":594,"date":204,"chapterOrder":595,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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工业机器人机械臂",[7],"1600",{"path":597,"stem":598,"title":599,"authors":600,"date":204,"chapterOrder":601,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\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(实体篇)",[7],"1700",{"path":603,"stem":604,"title":605,"authors":606,"date":204,"chapterOrder":607,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","wiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS",[7],"1800",{"path":609,"stem":610,"title":611,"authors":612,"date":204,"chapterOrder":613,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-webots-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1900-Webots仿真平台","Webots仿真平台",[7],"1900",{"path":615,"stem":616,"title":617,"authors":618,"date":204,"chapterOrder":619,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":210},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","wiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","OpenCV",[7],"2000",{"path":206,"stem":621,"title":622,"authors":623,"date":204,"chapterOrder":624,"chapterDepth":223,"docKey":205,"docRoot":206,"docTitle":207,"isWikiDoc":209,"isWikiIndex":209},"wiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2机器人操作系统教程",[7],null,[626,628,631,634],{"name":7,"image":627},"\u002Fimages\u002Fmember_photo\u002F董佳辉.jpg",{"name":629,"image":630},"宫金良","\u002Fimages\u002Fmember_photo\u002F宫金良.jpg",{"name":632,"image":633},"巩丽","\u002Fimages\u002Fmember_photo\u002F巩丽.png",{"name":635,"image":636},"张彦斐","\u002Fimages\u002Fmember_photo\u002F张彦斐.jpg",1792431904304]