[{"data":1,"prerenderedAt":4913},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-ji-qi-ren-dao-hang-navigation2-shi-ti-pian":3,"wiki-doc-items-2023-12-30-ros2-tutorial":4619},{"id":4,"title":5,"body":6,"chapterDepth":4606,"chapterOrder":4607,"date":4608,"description":84,"docKey":4609,"docRoot":4610,"docTitle":4611,"extension":4612,"isWikiDoc":966,"isWikiIndex":4613,"meta":4614,"navigation":966,"path":4615,"seo":4616,"stem":4617,"wikiDepth":134,"__hash__":4618},"wiki\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-机器人导航Navigation2(实体篇).md","机器人导航Navigation2(实体篇)",{"type":7,"value":8,"toc":4597},"minimark",[9,13,32,36,44,50,53,59,63,67,70,73,76,79,86,89,94,97,102,105,110,113,118,121,156,161,166,171,174,177,180,185,188,193,198,201,206,209,214,217,222,225,230,233,241,244,248,281,286,291,295,300,317,321,324,327,330,333,338,341,344,350,355,358,363,366,369,374,379,384,389,394,397,400,405,667,672,935,938,945,1382,1389,1652,1658,4590,4593],[10,11,12],"h3",{"id":12},"准备工作",[14,15,16,20,23,26,29],"ol",{},[17,18,19],"li",{},"实物",[17,21,22],{},"已经跑过一遍机器人导航Navigation2(仿真篇)",[17,24,25],{},"本章只讲大体思路实现，一般只要你仿真篇搞明白了，实体篇看看大体思路就懂怎么实现了。",[17,27,28],{},"本章非赵虚左教程，是自己的实现思路，仅供参考，可能赵老师有更好的办法，不过他还没出实体篇教程。",[17,30,31],{},"本章用的是4轮麦克纳姆轮实现的，仅供参考。",[33,34,35],"p",{},"以下代码都在下方这个github仓库里：",[33,37,38],{},[39,40,41],"a",{"href":41,"rel":42},"https:\u002F\u002Fgithub.com\u002FCyberNaviRobot\u002FCyberRobot_ROS2_WS",[43],"nofollow",[33,45,46],{},[47,48,49],"em",{},"下方的教程只有实现思路，不会放源码，所以建议克隆一下这个仓库，看看源码。",[10,51,52],{"id":52},"导航参数参考",[33,54,55],{},[39,56,57],{"href":57,"rel":58},"https:\u002F\u002Fdocs.nav2.org\u002Fconfiguration\u002Findex.html",[43],[10,60,62],{"id":61},"slam-定位与建图","SLAM 定位与建图",[64,65,66],"h4",{"id":66},"slam_toolbox",[33,68,69],{},"根据上方的节点说明，我们要订阅\u002Fscan和\u002Ftf。",[33,71,72],{},"一般激光雷达的说明书都会提供源码去发布\u002Fscan,所以这个请看你硬件的说明书。",[33,74,75],{},"\u002Ftf则需要我们发布odom_frame到base_frame的转换，我们必须使用C++代码去动态发布odom的坐标变换。",[33,77,78],{},"但是这里你需要发布\u002Fodom,以便于知道机器人的位置和姿态，这样才能够够推算出机器人在map中的位置。",[33,80,81],{},[82,83],"img",{"alt":84,"src":85},"","https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1806.webp",[33,87,88],{},"确保slam toolbox各项参数没有设置错，特别是坐标系等等，其他参数可以看着说明微调。",[33,90,91],{},[82,92],{"alt":84,"src":93},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1807.webp",[33,95,96],{},"确保激光雷达发布的话题是\u002Fscan。",[33,98,99],{},[82,100],{"alt":84,"src":101},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1808.webp",[33,103,104],{},"先启动激光雷达",[33,106,107],{},[82,108],{"alt":84,"src":109},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1809.webp",[33,111,112],{},"再启动urdf模型，同时发布tf。",[33,114,115],{},[82,116],{"alt":84,"src":117},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1810.webp",[33,119,120],{},"最后开启slam",[122,123,127],"pre",{"className":124,"code":125,"language":126,"meta":84,"style":84},"language-bash shiki shiki-themes github-light github-dark","ros2 launch mycar_slam_slam_toolbox online_sync_launch.py use_sim_time:=false\n","bash",[128,129,130],"code",{"__ignoreMap":84},[131,132,135,139,143,146,149,152],"span",{"class":133,"line":134},"line",1,[131,136,138],{"class":137},"sScJk","ros2",[131,140,142],{"class":141},"sZZnC"," launch",[131,144,145],{"class":141}," mycar_slam_slam_toolbox",[131,147,148],{"class":141}," online_sync_launch.py",[131,150,151],{"class":141}," use_sim_time:=",[131,153,155],{"class":154},"sj4cs","false\n",[33,157,158],{},[82,159],{"alt":84,"src":160},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1811.webp",[33,162,163],{},[82,164],{"alt":84,"src":165},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1812.webp",[33,167,168],{},[82,169],{"alt":84,"src":170},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1813.webp",[64,172,173],{"id":173},"cartographer",[33,175,176],{},"根据cartographer说明，我们需要\u002Fscan和\u002Fodom即可。",[33,178,179],{},"先打开串口接收节点，接收stm32传过来的数据。",[33,181,182],{},[82,183],{"alt":84,"src":184},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1814.webp",[33,186,187],{},"然后再打开里程计节点，发布odom话题",[33,189,190],{},[82,191],{"alt":84,"src":192},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1815.webp",[33,194,195],{},[82,196],{"alt":84,"src":197},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1816.webp",[33,199,200],{},"再发布一下TF，可以直接用launch开启robot_state_publisher和joint_state_publisher,并打开urdf模型来发布TF。",[33,202,203],{},[82,204],{"alt":84,"src":205},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1817.webp",[33,207,208],{},"打开激光雷达的节点，发布scan话题",[33,210,211],{},[82,212],{"alt":84,"src":213},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1818.webp",[33,215,216],{},"等\u002Fodom,\u002Fscan和TF全发了之后，再打开cartographer建图，然后可以检查map的TF是否发布。",[33,218,219],{},[82,220],{"alt":84,"src":221},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1819.webp",[33,223,224],{},"检查TF树如下：",[33,226,227],{},[82,228],{"alt":84,"src":229},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1820.webp",[33,231,232],{},"建图如下",[33,234,235,238],{},[82,236],{"alt":84,"src":237},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1821.webp",[82,239],{"alt":84,"src":240},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1822.webp",[10,242,243],{"id":243},"地图服务",[64,245,247],{"id":246},"保存地图序列化","保存地图(序列化)",[122,249,251],{"className":124,"code":250,"language":126,"meta":84,"style":84},"mkdir .\u002Fmap\nros2 run nav2_map_server map_saver_cli -f map\u002Fmy_map\n",[128,252,253,261],{"__ignoreMap":84},[131,254,255,258],{"class":133,"line":134},[131,256,257],{"class":137},"mkdir",[131,259,260],{"class":141}," .\u002Fmap\n",[131,262,264,266,269,272,275,278],{"class":133,"line":263},2,[131,265,138],{"class":137},[131,267,268],{"class":141}," run",[131,270,271],{"class":141}," nav2_map_server",[131,273,274],{"class":141}," map_saver_cli",[131,276,277],{"class":154}," -f",[131,279,280],{"class":141}," map\u002Fmy_map\n",[33,282,283],{},[82,284],{"alt":84,"src":285},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1823.webp",[33,287,288],{},[82,289],{"alt":84,"src":290},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1824.webp",[64,292,294],{"id":293},"读取地图反序列化","读取地图(反序列化)",[33,296,297],{},[82,298],{"alt":84,"src":299},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1825.webp",[122,301,303],{"className":124,"code":302,"language":126,"meta":84,"style":84},"ros2 launch mycar_map_server map_server.launch.py\n",[128,304,305],{"__ignoreMap":84},[131,306,307,309,311,314],{"class":133,"line":134},[131,308,138],{"class":137},[131,310,142],{"class":141},[131,312,313],{"class":141}," mycar_map_server",[131,315,316],{"class":141}," map_server.launch.py\n",[10,318,320],{"id":319},"amcl自适应蒙特卡洛定位","AMCL自适应蒙特卡洛定位",[33,322,323],{},"首先需要地图的数据，发布\u002Fmap话题。",[33,325,326],{},"其次需要激光雷达数据，即\u002Fscan话题。",[33,328,329],{},"然后需要坐标变换消息，即\u002Ftf话题。",[33,331,332],{},"然后那个\u002Finitial_pose话题，是2D地图上的初始位置，可以用rviz2发布，也可以用C++代码发布。",[33,334,335],{},[82,336],{"alt":84,"src":337},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1826.webp",[33,339,340],{},"然后需要修改一下参数：",[33,342,343],{},"这个是参数的官方网站：",[33,345,346],{},[39,347,348],{"href":348,"rel":349},"https:\u002F\u002Fdocs.nav2.org\u002Fconfiguration\u002Fpackages\u002Fconfiguring-amcl.html#",[43],[33,351,352],{},[82,353],{"alt":84,"src":354},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1827.webp",[33,356,357],{},"修改完Launch后，再修改params参数。",[33,359,360],{},[82,361],{"alt":84,"src":362},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1828.webp",[33,364,365],{},"这里的OmniChassis不止指全向轮底盘，而是广义的全向轮底盘，像全向轮底盘，麦轮底盘都是全向轮底盘。当然也可以自定义底盘类型。",[33,367,368],{},"这个配置文件最顶上的那个use_sim_time设置为False。",[33,370,371],{},[82,372],{"alt":84,"src":373},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1829.webp",[33,375,376],{},[82,377],{"alt":84,"src":378},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1830.webp",[33,380,381],{},[82,382],{"alt":84,"src":383},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1831.webp",[33,385,386],{},[82,387],{"alt":84,"src":388},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1832.webp",[33,390,391],{},[82,392],{"alt":84,"src":393},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1833.webp",[10,395,396],{"id":396},"导航服务器",[33,398,399],{},"涉及的话题太多了，所以我们列出来了一个表：",[14,401,402],{},[17,403,404],{},"订阅的话题",[406,407,408,425],"table",{},[409,410,411],"thead",{},[412,413,414,419,422],"tr",{},[415,416,418],"th",{"align":417},"left","话题",[415,420,421],{"align":417},"接口",[415,423,424],{"align":417},"描述",[426,427,428,440,451,462,470,481,492,503,511,520,531,539,549,558,566,577,588,599,610,621,629,639,649,657],"tbody",{},[412,429,430,434,437],{},[431,432,433],"td",{"align":417},"\u002Fgoal_pose",[431,435,436],{"align":417},"geometry_msgs\u002Fmsg\u002FPoseStamped",[431,438,439],{"align":417},"导航目标点，用于触发导航任务",[412,441,442,445,448],{},[431,443,444],{"align":417},"\u002Ftf",[431,446,447],{"align":417},"tf2_msgs\u002Fmsg\u002FTFMessage",[431,449,450],{"align":417},"坐标变换消息，用于不同坐标系之间的转换",[412,452,453,456,459],{},[431,454,455],{"align":417},"\u002Fodom",[431,457,458],{"align":417},"nav_msgs\u002Fmsg\u002FOdometry",[431,460,461],{"align":417},"里程计数据，提供机器人位置和运动信息",[412,463,464,466,468],{},[431,465,418],{"align":417},[431,467,421],{"align":417},[431,469,424],{"align":417},[412,471,472,475,478],{},[431,473,474],{"align":417},"\u002Fglobal_costmap\u002Ffootprint",[431,476,477],{"align":417},"geometry_msgs\u002Fmsg\u002FPolygon",[431,479,480],{"align":417},"机器人（或任何移动平台）的足迹（footprint）信息。足迹是机器人在地图上占据的空间形状，通常用多边形表示。",[412,482,483,486,489],{},[431,484,485],{"align":417},"\u002Fmap",[431,487,488],{"align":417},"nav_msgs\u002Fmsg\u002FOccupancyGrid",[431,490,491],{"align":417},"发布环境地图，特别是用于导航的占用网格图（Occupancy Grid Map）。",[412,493,494,497,500],{},[431,495,496],{"align":417},"\u002Fscan",[431,498,499],{"align":417},"sensor_msgs\u002Fmsg\u002FLaserScan",[431,501,502],{"align":417},"激光扫描数据。",[412,504,505,507,509],{},[431,506,418],{"align":417},[431,508,421],{"align":417},[431,510,424],{"align":417},[412,512,513,515,517],{},[431,514,455],{"align":417},[431,516,458],{"align":417},[431,518,519],{"align":417},"机器人的里程计信息，包含位置、速度和姿态",[412,521,522,525,528],{},[431,523,524],{"align":417},"\u002Fspeed_limit",[431,526,527],{"align":417},"nav2_msgs\u002Fmsg\u002FSpeedLimit",[431,529,530],{"align":417},"导航过程中的速度限制信息，用于动态调整机器人的移动速度",[412,532,533,535,537],{},[431,534,418],{"align":417},[431,536,421],{"align":417},[431,538,424],{"align":417},[412,540,541,544,546],{},[431,542,543],{"align":417},"\u002Flocal_costmap\u002Ffootprint",[431,545,477],{"align":417},[431,547,548],{"align":417},"机器人或移动平台的足迹多边形，用于本地代价地图的计算",[412,550,551,553,555],{},[431,552,496],{"align":417},[431,554,499],{"align":417},[431,556,557],{"align":417},"激光扫描仪的扫描数据，用于环境感知和避障",[412,559,560,562,564],{},[431,561,418],{"align":417},[431,563,421],{"align":417},[431,565,424],{"align":417},[412,567,568,571,574],{},[431,569,570],{"align":417},"\u002Fclock",[431,572,573],{"align":417},"rosgraph_msgs\u002Fmsg\u002FClock",[431,575,576],{"align":417},"ROS系统时间",[412,578,579,582,585],{},[431,580,581],{"align":417},"\u002Fcmd_vel_teleop",[431,583,584],{"align":417},"geometry_msgs\u002Fmsg\u002FTwist",[431,586,587],{"align":417},"遥操作命令，用于控制机器人的线性和角速度",[412,589,590,593,596],{},[431,591,592],{"align":417},"\u002Flocal_costmap\u002Fcostmap_raw",[431,594,595],{"align":417},"nav2_msgs\u002Fmsg\u002FCostmap",[431,597,598],{"align":417},"局部代价地图的原始数据",[412,600,601,604,607],{},[431,602,603],{"align":417},"\u002Flocal_costmap\u002Fpublished_footprint",[431,605,606],{"align":417},"geometry_msgs\u002Fmsg\u002FPolygonStamped",[431,608,609],{"align":417},"机器人在局部代价地图中的已发布足迹",[412,611,612,615,618],{},[431,613,614],{"align":417},"\u002Fpreempt_teleop",[431,616,617],{"align":417},"std_msgs\u002Fmsg\u002FEmpty",[431,619,620],{"align":417},"遥操作抢占信号，用于中断当前遥操作",[412,622,623,625,627],{},[431,624,418],{"align":417},[431,626,421],{"align":417},[431,628,424],{"align":417},[412,630,631,634,636],{},[431,632,633],{"align":417},"\u002Fglobal_costmap\u002Fcostmap_raw",[431,635,595],{"align":417},[431,637,638],{"align":417},"全局代价地图的原始数据，用于路径规划",[412,640,641,644,646],{},[431,642,643],{"align":417},"\u002Fglobal_costmap\u002Fpublished_footprint",[431,645,606],{"align":417},[431,647,648],{"align":417},"机器人在全局代价地图中的足迹表示",[412,650,651,653,655],{},[431,652,418],{"align":417},[431,654,421],{"align":417},[431,656,424],{"align":417},[412,658,659,662,664],{},[431,660,661],{"align":417},"\u002Fcmd_vel_nav",[431,663,584],{"align":417},[431,665,666],{"align":417},"接收来自其他节点的速度控制指令的话题",[14,668,669],{"start":263},[17,670,671],{},"发布的话题",[406,673,674,684],{},[409,675,676],{},[412,677,678,680,682],{},[415,679,418],{"align":417},[415,681,421],{"align":417},[415,683,424],{"align":417},[426,685,686,697,705,715,724,735,744,754,763,774,784,795,805,815,823,833,843,852,862,871,882,890,900,908,918,926],{},[412,687,688,691,694],{},[431,689,690],{"align":417},"\u002Fplan",[431,692,693],{"align":417},"nav_msgs\u002Fmsg\u002FPath",[431,695,696],{"align":417},"当前位置到目标点的全局路径",[412,698,699,701,703],{},[431,700,418],{"align":417},[431,702,421],{"align":417},[431,704,424],{"align":417},[412,706,707,710,712],{},[431,708,709],{"align":417},"\u002Fglobal_costmap\u002Fcostmap",[431,711,488],{"align":417},[431,713,714],{"align":417},"发布全局代价地图的当前状态。",[412,716,717,719,721],{},[431,718,633],{"align":417},[431,720,595],{"align":417},[431,722,723],{"align":417},"未经进一步处理的原始代价地图数据。",[412,725,726,729,732],{},[431,727,728],{"align":417},"\u002Fglobal_costmap\u002Fcostmap_updates",[431,730,731],{"align":417},"map_msgs\u002Fmsg\u002FOccupancyGridUpdate",[431,733,734],{"align":417},"全局代价地图的更新，该消息可以高效更新地图。",[412,736,737,739,741],{},[431,738,643],{"align":417},[431,740,606],{"align":417},[431,742,743],{"align":417},"发布机器人的足迹（footprint），即机器人在地图上占据的空间形状。",[412,745,746,749,752],{},[431,747,748],{"align":417},"话题名称",[431,750,751],{"align":417},"消息类型",[431,753,424],{"align":417},[412,755,756,758,760],{},[431,757,661],{"align":417},[431,759,584],{"align":417},[431,761,762],{"align":417},"发布控制命令，包括线性和角速度，用于控制机器人按照规划路径移动。",[412,764,765,768,771],{},[431,766,767],{"align":417},"\u002Fcost_cloud",[431,769,770],{"align":417},"sensor_msgs\u002Fmsg\u002FPointCloud2",[431,772,773],{"align":417},"发布成本地图中的点云数据，用于避障和路径规划。",[412,775,776,779,781],{},[431,777,778],{"align":417},"\u002Flocal_plan",[431,780,693],{"align":417},[431,782,783],{"align":417},"发布局部路径规划结果，即机器人应如何到达当前目标点附近的一个点。",[412,785,786,789,792],{},[431,787,788],{"align":417},"\u002Fmarker",[431,790,791],{"align":417},"visualization_msgs\u002Fmsg\u002FMarkerArray",[431,793,794],{"align":417},"发布可视化标记，用于在RViz等可视化工具中显示路径、障碍物等信息。",[412,796,797,800,802],{},[431,798,799],{"align":417},"\u002Freceived_global_plan",[431,801,693],{"align":417},[431,803,804],{"align":417},"发布从全局规划器接收到的全局路径，即当前位置到目标点的路径。",[412,806,807,810,812],{},[431,808,809],{"align":417},"\u002Ftransformed_global_plan",[431,811,693],{"align":417},[431,813,814],{"align":417},"发布经过坐标变换的全局路径，确保路径与机器人的当前坐标系一致。",[412,816,817,819,821],{},[431,818,418],{"align":417},[431,820,421],{"align":417},[431,822,424],{"align":417},[412,824,825,828,830],{},[431,826,827],{"align":417},"\u002Flocal_costmap\u002Fclearing_endpoints",[431,829,770],{"align":417},[431,831,832],{"align":417},"清除成本图上的障碍物点云数据，通常用于动态障碍物处理",[412,834,835,838,840],{},[431,836,837],{"align":417},"\u002Flocal_costmap\u002Fcostmap",[431,839,488],{"align":417},[431,841,842],{"align":417},"本地成本图，表示机器人周围环境的可通行性",[412,844,845,847,849],{},[431,846,592],{"align":417},[431,848,595],{"align":417},[431,850,851],{"align":417},"未经处理的本地成本图，可能包含更详细的信息",[412,853,854,857,859],{},[431,855,856],{"align":417},"\u002Flocal_costmap\u002Fcostmap_updates",[431,858,731],{"align":417},[431,860,861],{"align":417},"本地成本图的更新信息，包括哪些区域发生了变化",[412,863,864,866,868],{},[431,865,603],{"align":417},[431,867,606],{"align":417},[431,869,870],{"align":417},"发布的机器人足迹多边形，时间戳表示发布时间",[412,872,873,876,879],{},[431,874,875],{"align":417},"\u002Flocal_costmap\u002Fvoxel_grid",[431,877,878],{"align":417},"nav2_msgs\u002Fmsg\u002FVoxelGrid",[431,880,881],{"align":417},"体素网格数据，用于成本图生成中的空间划分和优化",[412,883,884,886,888],{},[431,885,418],{"align":417},[431,887,421],{"align":417},[431,889,424],{"align":417},[412,891,892,895,897],{},[431,893,894],{"align":417},"\u002Fcmd_vel",[431,896,584],{"align":417},[431,898,899],{"align":417},"发送给底层控制器的速度命令",[412,901,902,904,906],{},[431,903,418],{"align":417},[431,905,421],{"align":417},[431,907,424],{"align":417},[412,909,910,913,915],{},[431,911,912],{"align":417},"\u002Fplan_smoothed",[431,914,693],{"align":417},[431,916,917],{"align":417},"经过平滑处理后的全局路径",[412,919,920,922,924],{},[431,921,418],{"align":417},[431,923,421],{"align":417},[431,925,424],{"align":417},[412,927,928,930,932],{},[431,929,894],{"align":417},[431,931,584],{"align":417},[431,933,934],{"align":417},"发布经过处理或平滑后的速度控制指令的话题",[33,936,937],{},"由于赵虚左是把官方的源码重新写在了WS里，这样对于初学者来说会比较麻烦，对于初学者来说建议使用官方写好的bringup节点，以下是我根据官方Wiki总结出来的使用方法：（这里选择使用官方的bringup节点，而不是赵虚左老师的节点。）",[33,939,940,941,944],{},"以下是配置的",[128,942,943],{},"nav2.launch.py","文件：",[122,946,950],{"className":947,"code":948,"language":949,"meta":84,"style":84},"language-python shiki shiki-themes github-light github-dark","import os\n\nfrom ament_index_python.packages import get_package_share_directory\nfrom launch import LaunchDescription\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\nfrom launch.substitutions import LaunchConfiguration\n\n# from launch_ros.actions import Node\n\ndef generate_launch_description():\n    navigation2_dir = get_package_share_directory('nav05_navigation2')\n    nav2_bringup_dir = get_package_share_directory('nav2_bringup')\n\n    # launch的参数的优先级比yaml的参数优先级高\n    use_sim_time = LaunchConfiguration('use_sim_time', default='flase')\n    map_yaml_path = LaunchConfiguration('map',default=os.path.join(navigation2_dir,'map','house.yaml'))\n    nav2_param_path = LaunchConfiguration('params_file',default=os.path.join(navigation2_dir,'params','nav2.yaml'))\n\n    return LaunchDescription([\n        DeclareLaunchArgument('use_sim_time',default_value=use_sim_time,description='Use simulation (Gazebo) clock if true'),\n        DeclareLaunchArgument('map',default_value=map_yaml_path,description='Full path to map file to load'),\n        DeclareLaunchArgument('params_file',default_value=nav2_param_path,description='Full path to param file to load'),\n\n        IncludeLaunchDescription(\n            PythonLaunchDescriptionSource([nav2_bringup_dir,'\u002Flaunch','\u002Fbringup_launch.py']),\n            launch_arguments={\n                'map': map_yaml_path,\n                'use_sim_time': use_sim_time,\n                'params_file': nav2_param_path}.items(),\n        ),\n    ])\n","python",[128,951,952,962,968,982,995,1008,1020,1033,1046,1051,1058,1063,1075,1093,1108,1113,1119,1147,1180,1211,1216,1225,1254,1279,1304,1309,1315,1332,1343,1352,1361,1370,1376],{"__ignoreMap":84},[131,953,954,958],{"class":133,"line":134},[131,955,957],{"class":956},"szBVR","import",[131,959,961],{"class":960},"sVt8B"," os\n",[131,963,964],{"class":133,"line":263},[131,965,967],{"emptyLinePlaceholder":966},true,"\n",[131,969,971,974,977,979],{"class":133,"line":970},3,[131,972,973],{"class":956},"from",[131,975,976],{"class":960}," ament_index_python.packages ",[131,978,957],{"class":956},[131,980,981],{"class":960}," get_package_share_directory\n",[131,983,985,987,990,992],{"class":133,"line":984},4,[131,986,973],{"class":956},[131,988,989],{"class":960}," launch ",[131,991,957],{"class":956},[131,993,994],{"class":960}," LaunchDescription\n",[131,996,998,1000,1003,1005],{"class":133,"line":997},5,[131,999,973],{"class":956},[131,1001,1002],{"class":960}," launch.actions ",[131,1004,957],{"class":956},[131,1006,1007],{"class":960}," DeclareLaunchArgument\n",[131,1009,1011,1013,1015,1017],{"class":133,"line":1010},6,[131,1012,973],{"class":956},[131,1014,1002],{"class":960},[131,1016,957],{"class":956},[131,1018,1019],{"class":960}," IncludeLaunchDescription\n",[131,1021,1023,1025,1028,1030],{"class":133,"line":1022},7,[131,1024,973],{"class":956},[131,1026,1027],{"class":960}," launch.launch_description_sources ",[131,1029,957],{"class":956},[131,1031,1032],{"class":960}," PythonLaunchDescriptionSource\n",[131,1034,1036,1038,1041,1043],{"class":133,"line":1035},8,[131,1037,973],{"class":956},[131,1039,1040],{"class":960}," launch.substitutions ",[131,1042,957],{"class":956},[131,1044,1045],{"class":960}," LaunchConfiguration\n",[131,1047,1049],{"class":133,"line":1048},9,[131,1050,967],{"emptyLinePlaceholder":966},[131,1052,1054],{"class":133,"line":1053},10,[131,1055,1057],{"class":1056},"sJ8bj","# from launch_ros.actions import Node\n",[131,1059,1061],{"class":133,"line":1060},11,[131,1062,967],{"emptyLinePlaceholder":966},[131,1064,1066,1069,1072],{"class":133,"line":1065},12,[131,1067,1068],{"class":956},"def",[131,1070,1071],{"class":137}," generate_launch_description",[131,1073,1074],{"class":960},"():\n",[131,1076,1078,1081,1084,1087,1090],{"class":133,"line":1077},13,[131,1079,1080],{"class":960},"    navigation2_dir ",[131,1082,1083],{"class":956},"=",[131,1085,1086],{"class":960}," get_package_share_directory(",[131,1088,1089],{"class":141},"'nav05_navigation2'",[131,1091,1092],{"class":960},")\n",[131,1094,1096,1099,1101,1103,1106],{"class":133,"line":1095},14,[131,1097,1098],{"class":960},"    nav2_bringup_dir ",[131,1100,1083],{"class":956},[131,1102,1086],{"class":960},[131,1104,1105],{"class":141},"'nav2_bringup'",[131,1107,1092],{"class":960},[131,1109,1111],{"class":133,"line":1110},15,[131,1112,967],{"emptyLinePlaceholder":966},[131,1114,1116],{"class":133,"line":1115},16,[131,1117,1118],{"class":1056},"    # launch的参数的优先级比yaml的参数优先级高\n",[131,1120,1122,1125,1127,1130,1133,1136,1140,1142,1145],{"class":133,"line":1121},17,[131,1123,1124],{"class":960},"    use_sim_time ",[131,1126,1083],{"class":956},[131,1128,1129],{"class":960}," LaunchConfiguration(",[131,1131,1132],{"class":141},"'use_sim_time'",[131,1134,1135],{"class":960},", ",[131,1137,1139],{"class":1138},"s4XuR","default",[131,1141,1083],{"class":956},[131,1143,1144],{"class":141},"'flase'",[131,1146,1092],{"class":960},[131,1148,1150,1153,1155,1157,1160,1163,1165,1167,1170,1172,1174,1177],{"class":133,"line":1149},18,[131,1151,1152],{"class":960},"    map_yaml_path ",[131,1154,1083],{"class":956},[131,1156,1129],{"class":960},[131,1158,1159],{"class":141},"'map'",[131,1161,1162],{"class":960},",",[131,1164,1139],{"class":1138},[131,1166,1083],{"class":956},[131,1168,1169],{"class":960},"os.path.join(navigation2_dir,",[131,1171,1159],{"class":141},[131,1173,1162],{"class":960},[131,1175,1176],{"class":141},"'house.yaml'",[131,1178,1179],{"class":960},"))\n",[131,1181,1183,1186,1188,1190,1193,1195,1197,1199,1201,1204,1206,1209],{"class":133,"line":1182},19,[131,1184,1185],{"class":960},"    nav2_param_path ",[131,1187,1083],{"class":956},[131,1189,1129],{"class":960},[131,1191,1192],{"class":141},"'params_file'",[131,1194,1162],{"class":960},[131,1196,1139],{"class":1138},[131,1198,1083],{"class":956},[131,1200,1169],{"class":960},[131,1202,1203],{"class":141},"'params'",[131,1205,1162],{"class":960},[131,1207,1208],{"class":141},"'nav2.yaml'",[131,1210,1179],{"class":960},[131,1212,1214],{"class":133,"line":1213},20,[131,1215,967],{"emptyLinePlaceholder":966},[131,1217,1219,1222],{"class":133,"line":1218},21,[131,1220,1221],{"class":956},"    return",[131,1223,1224],{"class":960}," LaunchDescription([\n",[131,1226,1228,1231,1233,1235,1238,1240,1243,1246,1248,1251],{"class":133,"line":1227},22,[131,1229,1230],{"class":960},"        DeclareLaunchArgument(",[131,1232,1132],{"class":141},[131,1234,1162],{"class":960},[131,1236,1237],{"class":1138},"default_value",[131,1239,1083],{"class":956},[131,1241,1242],{"class":960},"use_sim_time,",[131,1244,1245],{"class":1138},"description",[131,1247,1083],{"class":956},[131,1249,1250],{"class":141},"'Use simulation (Gazebo) clock if true'",[131,1252,1253],{"class":960},"),\n",[131,1255,1257,1259,1261,1263,1265,1267,1270,1272,1274,1277],{"class":133,"line":1256},23,[131,1258,1230],{"class":960},[131,1260,1159],{"class":141},[131,1262,1162],{"class":960},[131,1264,1237],{"class":1138},[131,1266,1083],{"class":956},[131,1268,1269],{"class":960},"map_yaml_path,",[131,1271,1245],{"class":1138},[131,1273,1083],{"class":956},[131,1275,1276],{"class":141},"'Full path to map file to load'",[131,1278,1253],{"class":960},[131,1280,1282,1284,1286,1288,1290,1292,1295,1297,1299,1302],{"class":133,"line":1281},24,[131,1283,1230],{"class":960},[131,1285,1192],{"class":141},[131,1287,1162],{"class":960},[131,1289,1237],{"class":1138},[131,1291,1083],{"class":956},[131,1293,1294],{"class":960},"nav2_param_path,",[131,1296,1245],{"class":1138},[131,1298,1083],{"class":956},[131,1300,1301],{"class":141},"'Full path to param file to load'",[131,1303,1253],{"class":960},[131,1305,1307],{"class":133,"line":1306},25,[131,1308,967],{"emptyLinePlaceholder":966},[131,1310,1312],{"class":133,"line":1311},26,[131,1313,1314],{"class":960},"        IncludeLaunchDescription(\n",[131,1316,1318,1321,1324,1326,1329],{"class":133,"line":1317},27,[131,1319,1320],{"class":960},"            PythonLaunchDescriptionSource([nav2_bringup_dir,",[131,1322,1323],{"class":141},"'\u002Flaunch'",[131,1325,1162],{"class":960},[131,1327,1328],{"class":141},"'\u002Fbringup_launch.py'",[131,1330,1331],{"class":960},"]),\n",[131,1333,1335,1338,1340],{"class":133,"line":1334},28,[131,1336,1337],{"class":1138},"            launch_arguments",[131,1339,1083],{"class":956},[131,1341,1342],{"class":960},"{\n",[131,1344,1346,1349],{"class":133,"line":1345},29,[131,1347,1348],{"class":141},"                'map'",[131,1350,1351],{"class":960},": map_yaml_path,\n",[131,1353,1355,1358],{"class":133,"line":1354},30,[131,1356,1357],{"class":141},"                'use_sim_time'",[131,1359,1360],{"class":960},": use_sim_time,\n",[131,1362,1364,1367],{"class":133,"line":1363},31,[131,1365,1366],{"class":141},"                'params_file'",[131,1368,1369],{"class":960},": nav2_param_path}.items(),\n",[131,1371,1373],{"class":133,"line":1372},32,[131,1374,1375],{"class":960},"        ),\n",[131,1377,1379],{"class":133,"line":1378},33,[131,1380,1381],{"class":960},"    ])\n",[33,1383,1384,1385,1388],{},"以下是",[128,1386,1387],{},"rviz2.launch.py","：",[122,1390,1392],{"className":947,"code":1391,"language":949,"meta":84,"style":84},"import os\n\nfrom ament_index_python.packages import get_package_share_directory\nfrom launch import LaunchDescription\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\nfrom launch_ros.actions import Node\n\ndef generate_launch_description():\n    navigation2_dir = get_package_share_directory('nav05_navigation2')\n\n    use_sim_time = LaunchConfiguration('use_sim_time', default='false')\n\n    rviz_config_dir = os.path.join(navigation2_dir,'rviz','nav2.rviz')\n\n    return LaunchDescription([\n        DeclareLaunchArgument('use_sim_time',default_value=use_sim_time,description='Use simulation (Gazebo) clock if true'),\n\n        Node(\n            package='rviz2',\n            executable='rviz2',\n            name='rviz2',\n            arguments=['-d', rviz_config_dir],\n            parameters=[{'use_sim_time': use_sim_time}],\n            output='screen'),\n    ])\n",[128,1393,1394,1400,1404,1414,1424,1434,1444,1456,1460,1468,1480,1484,1505,1509,1529,1533,1539,1561,1565,1570,1583,1594,1605,1621,1636,1648],{"__ignoreMap":84},[131,1395,1396,1398],{"class":133,"line":134},[131,1397,957],{"class":956},[131,1399,961],{"class":960},[131,1401,1402],{"class":133,"line":263},[131,1403,967],{"emptyLinePlaceholder":966},[131,1405,1406,1408,1410,1412],{"class":133,"line":970},[131,1407,973],{"class":956},[131,1409,976],{"class":960},[131,1411,957],{"class":956},[131,1413,981],{"class":960},[131,1415,1416,1418,1420,1422],{"class":133,"line":984},[131,1417,973],{"class":956},[131,1419,989],{"class":960},[131,1421,957],{"class":956},[131,1423,994],{"class":960},[131,1425,1426,1428,1430,1432],{"class":133,"line":997},[131,1427,973],{"class":956},[131,1429,1002],{"class":960},[131,1431,957],{"class":956},[131,1433,1007],{"class":960},[131,1435,1436,1438,1440,1442],{"class":133,"line":1010},[131,1437,973],{"class":956},[131,1439,1040],{"class":960},[131,1441,957],{"class":956},[131,1443,1045],{"class":960},[131,1445,1446,1448,1451,1453],{"class":133,"line":1022},[131,1447,973],{"class":956},[131,1449,1450],{"class":960}," launch_ros.actions ",[131,1452,957],{"class":956},[131,1454,1455],{"class":960}," Node\n",[131,1457,1458],{"class":133,"line":1035},[131,1459,967],{"emptyLinePlaceholder":966},[131,1461,1462,1464,1466],{"class":133,"line":1048},[131,1463,1068],{"class":956},[131,1465,1071],{"class":137},[131,1467,1074],{"class":960},[131,1469,1470,1472,1474,1476,1478],{"class":133,"line":1053},[131,1471,1080],{"class":960},[131,1473,1083],{"class":956},[131,1475,1086],{"class":960},[131,1477,1089],{"class":141},[131,1479,1092],{"class":960},[131,1481,1482],{"class":133,"line":1060},[131,1483,967],{"emptyLinePlaceholder":966},[131,1485,1486,1488,1490,1492,1494,1496,1498,1500,1503],{"class":133,"line":1065},[131,1487,1124],{"class":960},[131,1489,1083],{"class":956},[131,1491,1129],{"class":960},[131,1493,1132],{"class":141},[131,1495,1135],{"class":960},[131,1497,1139],{"class":1138},[131,1499,1083],{"class":956},[131,1501,1502],{"class":141},"'false'",[131,1504,1092],{"class":960},[131,1506,1507],{"class":133,"line":1077},[131,1508,967],{"emptyLinePlaceholder":966},[131,1510,1511,1514,1516,1519,1522,1524,1527],{"class":133,"line":1095},[131,1512,1513],{"class":960},"    rviz_config_dir ",[131,1515,1083],{"class":956},[131,1517,1518],{"class":960}," os.path.join(navigation2_dir,",[131,1520,1521],{"class":141},"'rviz'",[131,1523,1162],{"class":960},[131,1525,1526],{"class":141},"'nav2.rviz'",[131,1528,1092],{"class":960},[131,1530,1531],{"class":133,"line":1110},[131,1532,967],{"emptyLinePlaceholder":966},[131,1534,1535,1537],{"class":133,"line":1115},[131,1536,1221],{"class":956},[131,1538,1224],{"class":960},[131,1540,1541,1543,1545,1547,1549,1551,1553,1555,1557,1559],{"class":133,"line":1121},[131,1542,1230],{"class":960},[131,1544,1132],{"class":141},[131,1546,1162],{"class":960},[131,1548,1237],{"class":1138},[131,1550,1083],{"class":956},[131,1552,1242],{"class":960},[131,1554,1245],{"class":1138},[131,1556,1083],{"class":956},[131,1558,1250],{"class":141},[131,1560,1253],{"class":960},[131,1562,1563],{"class":133,"line":1149},[131,1564,967],{"emptyLinePlaceholder":966},[131,1566,1567],{"class":133,"line":1182},[131,1568,1569],{"class":960},"        Node(\n",[131,1571,1572,1575,1577,1580],{"class":133,"line":1213},[131,1573,1574],{"class":1138},"            package",[131,1576,1083],{"class":956},[131,1578,1579],{"class":141},"'rviz2'",[131,1581,1582],{"class":960},",\n",[131,1584,1585,1588,1590,1592],{"class":133,"line":1218},[131,1586,1587],{"class":1138},"            executable",[131,1589,1083],{"class":956},[131,1591,1579],{"class":141},[131,1593,1582],{"class":960},[131,1595,1596,1599,1601,1603],{"class":133,"line":1227},[131,1597,1598],{"class":1138},"            name",[131,1600,1083],{"class":956},[131,1602,1579],{"class":141},[131,1604,1582],{"class":960},[131,1606,1607,1610,1612,1615,1618],{"class":133,"line":1256},[131,1608,1609],{"class":1138},"            arguments",[131,1611,1083],{"class":956},[131,1613,1614],{"class":960},"[",[131,1616,1617],{"class":141},"'-d'",[131,1619,1620],{"class":960},", rviz_config_dir],\n",[131,1622,1623,1626,1628,1631,1633],{"class":133,"line":1281},[131,1624,1625],{"class":1138},"            parameters",[131,1627,1083],{"class":956},[131,1629,1630],{"class":960},"[{",[131,1632,1132],{"class":141},[131,1634,1635],{"class":960},": use_sim_time}],\n",[131,1637,1638,1641,1643,1646],{"class":133,"line":1306},[131,1639,1640],{"class":1138},"            output",[131,1642,1083],{"class":956},[131,1644,1645],{"class":141},"'screen'",[131,1647,1253],{"class":960},[131,1649,1650],{"class":133,"line":1311},[131,1651,1381],{"class":960},[33,1653,1384,1654,1657],{},[128,1655,1656],{},"nav2.yaml","配置文件（差速模型+DWE局部规划器）：",[122,1659,1661],{"className":947,"code":1660,"language":949,"meta":84,"style":84},"amcl:\n  ros__parameters:\n    use_sim_time: false\n    alpha1: 0.2\n    alpha2: 0.2\n    alpha3: 0.2\n    alpha4: 0.2\n    alpha5: 0.2\n    base_frame_id: \"base_link\"\n    beam_skip_distance: 0.5\n    beam_skip_error_threshold: 0.9\n    beam_skip_threshold: 0.3\n    do_beamskip: false\n    global_frame_id: \"map\"\n    lambda_short: 0.1\n    laser_likelihood_max_dist: 2.0\n    laser_max_range: 100.0\n    laser_min_range: -1.0\n    laser_model_type: \"likelihood_field\"\n    max_beams: 60\n    max_particles: 2000\n    min_particles: 500\n    odom_frame_id: \"odom\"\n    pf_err: 0.05\n    pf_z: 0.99\n    recovery_alpha_fast: 0.0\n    recovery_alpha_slow: 0.0\n    resample_interval: 1\n    robot_model_type: \"nav2_amcl::DifferentialMotionModel\"\n    save_pose_rate: 0.5\n    sigma_hit: 0.2\n    tf_broadcast: true\n    transform_tolerance: 1.0\n    update_min_a: 0.2\n    update_min_d: 0.25\n    z_hit: 0.5\n    z_max: 0.05\n    z_rand: 0.5\n    z_short: 0.05\n    scan_topic: scan\n\namcl_map_client:\n  ros__parameters:\n    use_sim_time: false\n\namcl_rclcpp_node:\n  ros__parameters:\n    use_sim_time: false\n\nbt_navigator:\n  ros__parameters:\n    use_sim_time: false\n    global_frame: map\n    robot_base_frame: base_link\n    odom_topic: \u002Fodom\n    bt_loop_duration: 10\n    default_server_timeout: 20\n\n    # 'default_nav_through_poses_bt_xml' and 'default_nav_to_pose_bt_xml' are use defaults:\n\n    # nav2_bt_navigator\u002Fnavigate_to_pose_w_replanning_and_recovery.xml\n\n    # nav2_bt_navigator\u002Fnavigate_through_poses_w_replanning_and_recovery.xml\n\n    # They can be set here or via a RewrittenYaml remap from a parent launch file to Nav2.\n    plugin_lib_names:\n    - nav2_compute_path_to_pose_action_bt_node\n    - nav2_compute_path_through_poses_action_bt_node\n    - nav2_smooth_path_action_bt_node\n    - nav2_follow_path_action_bt_node\n    - nav2_spin_action_bt_node\n    - nav2_wait_action_bt_node\n    - nav2_back_up_action_bt_node\n    - nav2_drive_on_heading_bt_node\n    - nav2_clear_costmap_service_bt_node\n    - nav2_is_stuck_condition_bt_node\n    - nav2_goal_reached_condition_bt_node\n    - nav2_goal_updated_condition_bt_node\n    - nav2_globally_updated_goal_condition_bt_node\n    - nav2_is_path_valid_condition_bt_node\n    - nav2_initial_pose_received_condition_bt_node\n    - nav2_reinitialize_global_localization_service_bt_node\n    - nav2_rate_controller_bt_node\n    - nav2_distance_controller_bt_node\n    - nav2_speed_controller_bt_node\n    - nav2_truncate_path_action_bt_node\n    - nav2_truncate_path_local_action_bt_node\n    - nav2_goal_updater_node_bt_node\n    - nav2_recovery_node_bt_node\n    - nav2_pipeline_sequence_bt_node\n    - nav2_round_robin_node_bt_node\n    - nav2_transform_available_condition_bt_node\n    - nav2_time_expired_condition_bt_node\n    - nav2_path_expiring_timer_condition\n    - nav2_distance_traveled_condition_bt_node\n    - nav2_single_trigger_bt_node\n    - nav2_is_battery_low_condition_bt_node\n    - nav2_navigate_through_poses_action_bt_node\n    - nav2_navigate_to_pose_action_bt_node\n    - nav2_remove_passed_goals_action_bt_node\n    - nav2_planner_selector_bt_node\n    - nav2_controller_selector_bt_node\n    - nav2_goal_checker_selector_bt_node\n    - nav2_controller_cancel_bt_node\n    - nav2_path_longer_on_approach_bt_node\n    - nav2_wait_cancel_bt_node\n    - nav2_spin_cancel_bt_node\n    - nav2_back_up_cancel_bt_node\n    - nav2_drive_on_heading_cancel_bt_node\n\nbt_navigator_rclcpp_node:\n  ros__parameters:\n    use_sim_time: false\n\ncontroller_server:\n  ros__parameters:\n    use_sim_time: false\n    controller_frequency: 20.0\n    min_x_velocity_threshold: 0.001\n    min_y_velocity_threshold: 0.5\n    min_theta_velocity_threshold: 0.001\n    failure_tolerance: 0.3\n    progress_checker_plugin: \"progress_checker\"\n    goal_checker_plugins: [\"general_goal_checker\"] # \"precise_goal_checker\"\n    controller_plugins: [\"FollowPath\"]\n\n    # Progress checker parameters\n    progress_checker:\n      plugin: \"nav2_controller::SimpleProgressChecker\"\n      required_movement_radius: 0.5\n      movement_time_allowance: 10.0\n\n    # Goal checker parameters\n    #precise_goal_checker:\n\n    #  plugin: \"nav2_controller::SimpleGoalChecker\"\n\n    #  xy_goal_tolerance: 0.25\n\n    #  yaw_goal_tolerance: 0.25\n\n    #  stateful: True\n    general_goal_checker:\n      stateful: True\n      plugin: \"nav2_controller::SimpleGoalChecker\"\n      xy_goal_tolerance: 0.25\n      yaw_goal_tolerance: 0.25\n\n    # DWB parameters\n    FollowPath:\n      plugin: \"dwb_core::DWBLocalPlanner\"\n      debug_trajectory_details: True\n      min_vel_x: 0.0\n      min_vel_y: 0.0\n      max_vel_x: 0.26\n      max_vel_y: 0.0\n      max_vel_theta: 1.0\n      min_speed_xy: 0.0\n      max_speed_xy: 0.26\n      min_speed_theta: 0.0\n\n      # Add high threshold velocity for turtlebot 3 issue.\n\n      # https:\u002F\u002Fgithub.com\u002FROBOTIS-GIT\u002Fturtlebot3_simulations\u002Fissues\u002F75\n      acc_lim_x: 2.5\n      acc_lim_y: 0.0\n      acc_lim_theta: 3.2\n      decel_lim_x: -2.5\n      decel_lim_y: 0.0\n      decel_lim_theta: -3.2\n      vx_samples: 20\n      vy_samples: 5\n      vtheta_samples: 20\n      sim_time: 1.7\n      linear_granularity: 0.05\n      angular_granularity: 0.025\n      transform_tolerance: 0.2\n      xy_goal_tolerance: 0.25\n      trans_stopped_velocity: 0.25\n      short_circuit_trajectory_evaluation: True\n      stateful: True\n      critics: [\"RotateToGoal\", \"Oscillation\", \"BaseObstacle\", \"GoalAlign\", \"PathAlign\", \"PathDist\", \"GoalDist\"]\n      BaseObstacle.scale: 0.02\n      PathAlign.scale: 32.0\n      PathAlign.forward_point_distance: 0.1\n      GoalAlign.scale: 24.0\n      GoalAlign.forward_point_distance: 0.1\n      PathDist.scale: 32.0\n      GoalDist.scale: 24.0\n      RotateToGoal.scale: 32.0\n      RotateToGoal.slowing_factor: 5.0\n      RotateToGoal.lookahead_time: -1.0\n\ncontroller_server_rclcpp_node:\n  ros__parameters:\n    use_sim_time: false\n\nlocal_costmap:\n  local_costmap:\n    ros__parameters:\n      update_frequency: 5.0\n      publish_frequency: 2.0\n      global_frame: odom\n      robot_base_frame: base_link\n      use_sim_time: false\n      rolling_window: true\n      width: 3\n      height: 3\n      resolution: 0.05\n      robot_radius: 0.22\n      plugins: [\"static_layer\", \"obstacle_layer\", \"voxel_layer\", \"inflation_layer\"]\n      inflation_layer:\n        plugin: \"nav2_costmap_2d::InflationLayer\"\n        cost_scaling_factor: 3.0\n        inflation_radius: 0.55\n      obstacle_layer:\n        plugin: \"nav2_costmap_2d::ObstacleLayer\"\n        enabled: True\n        observation_sources: scan\n        scan:\n          topic: \u002Fscan\n          max_obstacle_height: 2.0\n          clearing: True\n          marking: True\n          data_type: \"LaserScan\"\n          raytrace_max_range: 3.0\n          raytrace_min_range: 0.0\n          obstacle_max_range: 2.5\n          obstacle_min_range: 0.0\n      voxel_layer:\n        plugin: \"nav2_costmap_2d::VoxelLayer\"\n        enabled: True\n        publish_voxel_map: True\n        origin_z: 0.0\n        z_resolution: 0.05\n        z_voxels: 16\n        max_obstacle_height: 2.0\n        mark_threshold: 0\n        observation_sources: scan\n        scan:\n          topic: \u002Fscan\n          max_obstacle_height: 2.0\n          clearing: True\n          marking: True\n          data_type: \"LaserScan\"\n          raytrace_max_range: 3.0\n          raytrace_min_range: 0.0\n          obstacle_max_range: 2.5\n          obstacle_min_range: 0.0\n      static_layer:\n        plugin: \"nav2_costmap_2d::StaticLayer\"\n        map_subscribe_transient_local: True\n      always_send_full_costmap: True\n\n  local_costmap_client:\n    ros__parameters:\n      use_sim_time: false\n  local_costmap_rclcpp_node:\n    ros__parameters:\n      use_sim_time: false\n\nglobal_costmap:\n  global_costmap:\n    ros__parameters:\n      update_frequency: 1.0\n      publish_frequency: 1.0\n      global_frame: map\n      robot_base_frame: base_link\n      use_sim_time: false\n      robot_radius: 0.22\n      resolution: 0.05\n      track_unknown_space: true\n      plugins: [\"static_layer\", \"obstacle_layer\", \"inflation_layer\"]\n      obstacle_layer:\n        plugin: \"nav2_costmap_2d::ObstacleLayer\"\n        enabled: True\n        observation_sources: scan\n        scan:\n          topic: \u002Fscan\n          max_obstacle_height: 2.0\n          clearing: True\n          marking: True\n          data_type: \"LaserScan\"\n          raytrace_max_range: 3.0\n          raytrace_min_range: 0.0\n          obstacle_max_range: 2.5\n          obstacle_min_range: 0.0\n      static_layer:\n        plugin: \"nav2_costmap_2d::StaticLayer\"\n        map_subscribe_transient_local: True\n      inflation_layer:\n        plugin: \"nav2_costmap_2d::InflationLayer\"\n        cost_scaling_factor: 3.0\n        inflation_radius: 0.55\n      always_send_full_costmap: True\n\n  global_costmap_client:\n    ros__parameters:\n      use_sim_time: false\n  global_costmap_rclcpp_node:\n    ros__parameters:\n      use_sim_time: false\n\nmap_server:\n  ros__parameters:\n    use_sim_time: false\n    yaml_filename: \"house.yaml\"\n\nmap_saver:\n  ros__parameters:\n    use_sim_time: false\n    save_map_timeout: 5.0\n    free_thresh_default: 0.25\n    occupied_thresh_default: 0.65\n    map_subscribe_transient_local: True\n\nplanner_server:\n  ros__parameters:\n    expected_planner_frequency: 20.0\n    use_sim_time: false\n    planner_plugins: [\"GridBased\"]\n    GridBased:\n      plugin: \"nav2_navfn_planner\u002FNavfnPlanner\"\n      tolerance: 0.5\n      use_astar: false\n      allow_unknown: true\n\nplanner_server_rclcpp_node:\n  ros__parameters:\n    use_sim_time: false\n\nsmoother_server:\n  ros__parameters:\n    use_sim_time: false\n    smoother_plugins: [\"simple_smoother\"]\n    simple_smoother:\n      plugin: \"nav2_smoother::SimpleSmoother\"\n      tolerance: 1.0e-10\n      max_its: 1000\n      do_refinement: True\n\nbehavior_server:\n  ros__parameters:\n    costmap_topic: local_costmap\u002Fcostmap_raw\n    footprint_topic: local_costmap\u002Fpublished_footprint\n    cycle_frequency: 10.0\n    behavior_plugins: [\"spin\", \"backup\", \"drive_on_heading\", \"wait\"]\n    spin:\n      plugin: \"nav2_behaviors\u002FSpin\"\n    backup:\n      plugin: \"nav2_behaviors\u002FBackUp\"\n    drive_on_heading:\n      plugin: \"nav2_behaviors\u002FDriveOnHeading\"\n    wait:\n      plugin: \"nav2_behaviors\u002FWait\"\n    global_frame: odom\n    robot_base_frame: base_link\n    transform_tolerance: 0.1\n    use_sim_time: false\n    simulate_ahead_time: 2.0\n    max_rotational_vel: 1.0\n    min_rotational_vel: 0.4\n    rotational_acc_lim: 3.2\n\nrobot_state_publisher:\n  ros__parameters:\n    use_sim_time: false\n\nwaypoint_follower:\n  ros__parameters:\n    loop_rate: 20\n    stop_on_failure: false\n    waypoint_task_executor_plugin: \"wait_at_waypoint\"\n    wait_at_waypoint:\n      plugin: \"nav2_waypoint_follower::WaitAtWaypoint\"\n      enabled: True\n      waypoint_pause_duration: 200\n\nvelocity_smoother:\n  ros__parameters:\n    use_sim_time: false\n    smoothing_frequency: 20.0\n    scale_velocities: False\n    feedback: \"OPEN_LOOP\"\n    max_velocity: [0.26, 0.0, 1.0]\n    min_velocity: [-0.26, 0.0, -1.0]\n    max_accel: [2.5, 0.0, 3.2]\n    max_decel: [-2.5, 0.0, -3.2]\n    odom_topic: \"odom\"\n    odom_duration: 0.1\n    deadband_velocity: [0.0, 0.0, 0.0]\n    velocity_timeout: 1.0\n",[128,1662,1663,1668,1673,1678,1686,1693,1700,1707,1714,1722,1730,1738,1746,1751,1759,1767,1775,1783,1794,1802,1810,1818,1826,1834,1842,1850,1858,1865,1873,1881,1888,1895,1900,1907,1915,1924,1932,1940,1948,1956,1962,1967,1973,1978,1983,1988,1994,1999,2004,2009,2015,2020,2025,2034,2040,2052,2061,2070,2075,2081,2086,2092,2097,2103,2108,2114,2120,2129,2137,2145,2153,2161,2169,2177,2185,2193,2201,2209,2217,2225,2233,2241,2249,2257,2265,2273,2281,2289,2297,2305,2313,2321,2329,2337,2345,2353,2361,2369,2377,2385,2393,2401,2409,2417,2425,2433,2441,2449,2457,2465,2470,2476,2481,2486,2491,2497,2502,2507,2516,2525,2533,2541,2549,2558,2573,2585,2590,2596,2602,2611,2619,2628,2633,2639,2645,2650,2656,2661,2667,2672,2678,2683,2689,2695,2704,2712,2720,2728,2733,2739,2745,2753,2761,2769,2777,2786,2794,2802,2810,2818,2826,2831,2837,2842,2848,2857,2865,2874,2884,2892,2902,2910,2919,2927,2936,2944,2953,2961,2968,2976,2984,2991,3032,3041,3050,3058,3067,3075,3083,3091,3099,3108,3118,3123,3129,3134,3139,3144,3150,3156,3162,3170,3178,3184,3190,3196,3202,3211,3219,3227,3236,3262,3268,3277,3286,3295,3301,3309,3317,3323,3329,3340,3348,3356,3364,3373,3381,3389,3397,3405,3411,3419,3426,3434,3442,3450,3459,3467,3476,3481,3486,3495,3502,3509,3516,3523,3530,3537,3544,3551,3557,3565,3573,3581,3586,3592,3597,3602,3608,3613,3618,3623,3629,3635,3640,3647,3654,3662,3667,3672,3679,3686,3692,3709,3714,3721,3728,3733,3738,3747,3754,3761,3768,3775,3782,3789,3796,3803,3808,3815,3822,3827,3834,3841,3848,3855,3860,3866,3871,3876,3882,3887,3892,3897,3903,3908,3913,3922,3927,3933,3938,3943,3951,3959,3968,3976,3981,3987,3992,4000,4005,4016,4022,4030,4038,4044,4050,4055,4061,4066,4071,4076,4082,4087,4092,4103,4109,4117,4125,4134,4142,4147,4153,4158,4169,4180,4188,4214,4220,4228,4234,4242,4248,4256,4262,4270,4276,4281,4288,4293,4301,4309,4318,4326,4331,4337,4342,4347,4352,4358,4363,4371,4377,4386,4392,4400,4408,4417,4422,4428,4433,4438,4446,4455,4464,4485,4507,4527,4549,4556,4564,4582],{"__ignoreMap":84},[131,1664,1665],{"class":133,"line":134},[131,1666,1667],{"class":960},"amcl:\n",[131,1669,1670],{"class":133,"line":263},[131,1671,1672],{"class":960},"  ros__parameters:\n",[131,1674,1675],{"class":133,"line":970},[131,1676,1677],{"class":960},"    use_sim_time: false\n",[131,1679,1680,1683],{"class":133,"line":984},[131,1681,1682],{"class":960},"    alpha1: ",[131,1684,1685],{"class":154},"0.2\n",[131,1687,1688,1691],{"class":133,"line":997},[131,1689,1690],{"class":960},"    alpha2: ",[131,1692,1685],{"class":154},[131,1694,1695,1698],{"class":133,"line":1010},[131,1696,1697],{"class":960},"    alpha3: ",[131,1699,1685],{"class":154},[131,1701,1702,1705],{"class":133,"line":1022},[131,1703,1704],{"class":960},"    alpha4: ",[131,1706,1685],{"class":154},[131,1708,1709,1712],{"class":133,"line":1035},[131,1710,1711],{"class":960},"    alpha5: ",[131,1713,1685],{"class":154},[131,1715,1716,1719],{"class":133,"line":1048},[131,1717,1718],{"class":960},"    base_frame_id: ",[131,1720,1721],{"class":141},"\"base_link\"\n",[131,1723,1724,1727],{"class":133,"line":1053},[131,1725,1726],{"class":960},"    beam_skip_distance: ",[131,1728,1729],{"class":154},"0.5\n",[131,1731,1732,1735],{"class":133,"line":1060},[131,1733,1734],{"class":960},"    beam_skip_error_threshold: ",[131,1736,1737],{"class":154},"0.9\n",[131,1739,1740,1743],{"class":133,"line":1065},[131,1741,1742],{"class":960},"    beam_skip_threshold: ",[131,1744,1745],{"class":154},"0.3\n",[131,1747,1748],{"class":133,"line":1077},[131,1749,1750],{"class":960},"    do_beamskip: false\n",[131,1752,1753,1756],{"class":133,"line":1095},[131,1754,1755],{"class":960},"    global_frame_id: ",[131,1757,1758],{"class":141},"\"map\"\n",[131,1760,1761,1764],{"class":133,"line":1110},[131,1762,1763],{"class":960},"    lambda_short: ",[131,1765,1766],{"class":154},"0.1\n",[131,1768,1769,1772],{"class":133,"line":1115},[131,1770,1771],{"class":960},"    laser_likelihood_max_dist: ",[131,1773,1774],{"class":154},"2.0\n",[131,1776,1777,1780],{"class":133,"line":1121},[131,1778,1779],{"class":960},"    laser_max_range: ",[131,1781,1782],{"class":154},"100.0\n",[131,1784,1785,1788,1791],{"class":133,"line":1149},[131,1786,1787],{"class":960},"    laser_min_range: ",[131,1789,1790],{"class":956},"-",[131,1792,1793],{"class":154},"1.0\n",[131,1795,1796,1799],{"class":133,"line":1182},[131,1797,1798],{"class":960},"    laser_model_type: ",[131,1800,1801],{"class":141},"\"likelihood_field\"\n",[131,1803,1804,1807],{"class":133,"line":1213},[131,1805,1806],{"class":960},"    max_beams: ",[131,1808,1809],{"class":154},"60\n",[131,1811,1812,1815],{"class":133,"line":1218},[131,1813,1814],{"class":960},"    max_particles: ",[131,1816,1817],{"class":154},"2000\n",[131,1819,1820,1823],{"class":133,"line":1227},[131,1821,1822],{"class":960},"    min_particles: ",[131,1824,1825],{"class":154},"500\n",[131,1827,1828,1831],{"class":133,"line":1256},[131,1829,1830],{"class":960},"    odom_frame_id: ",[131,1832,1833],{"class":141},"\"odom\"\n",[131,1835,1836,1839],{"class":133,"line":1281},[131,1837,1838],{"class":960},"    pf_err: ",[131,1840,1841],{"class":154},"0.05\n",[131,1843,1844,1847],{"class":133,"line":1306},[131,1845,1846],{"class":960},"    pf_z: ",[131,1848,1849],{"class":154},"0.99\n",[131,1851,1852,1855],{"class":133,"line":1311},[131,1853,1854],{"class":960},"    recovery_alpha_fast: ",[131,1856,1857],{"class":154},"0.0\n",[131,1859,1860,1863],{"class":133,"line":1317},[131,1861,1862],{"class":960},"    recovery_alpha_slow: ",[131,1864,1857],{"class":154},[131,1866,1867,1870],{"class":133,"line":1334},[131,1868,1869],{"class":960},"    resample_interval: ",[131,1871,1872],{"class":154},"1\n",[131,1874,1875,1878],{"class":133,"line":1345},[131,1876,1877],{"class":960},"    robot_model_type: ",[131,1879,1880],{"class":141},"\"nav2_amcl::DifferentialMotionModel\"\n",[131,1882,1883,1886],{"class":133,"line":1354},[131,1884,1885],{"class":960},"    save_pose_rate: ",[131,1887,1729],{"class":154},[131,1889,1890,1893],{"class":133,"line":1363},[131,1891,1892],{"class":960},"    sigma_hit: ",[131,1894,1685],{"class":154},[131,1896,1897],{"class":133,"line":1372},[131,1898,1899],{"class":960},"    tf_broadcast: true\n",[131,1901,1902,1905],{"class":133,"line":1378},[131,1903,1904],{"class":960},"    transform_tolerance: ",[131,1906,1793],{"class":154},[131,1908,1910,1913],{"class":133,"line":1909},34,[131,1911,1912],{"class":960},"    update_min_a: ",[131,1914,1685],{"class":154},[131,1916,1918,1921],{"class":133,"line":1917},35,[131,1919,1920],{"class":960},"    update_min_d: ",[131,1922,1923],{"class":154},"0.25\n",[131,1925,1927,1930],{"class":133,"line":1926},36,[131,1928,1929],{"class":960},"    z_hit: ",[131,1931,1729],{"class":154},[131,1933,1935,1938],{"class":133,"line":1934},37,[131,1936,1937],{"class":960},"    z_max: ",[131,1939,1841],{"class":154},[131,1941,1943,1946],{"class":133,"line":1942},38,[131,1944,1945],{"class":960},"    z_rand: ",[131,1947,1729],{"class":154},[131,1949,1951,1954],{"class":133,"line":1950},39,[131,1952,1953],{"class":960},"    z_short: ",[131,1955,1841],{"class":154},[131,1957,1959],{"class":133,"line":1958},40,[131,1960,1961],{"class":960},"    scan_topic: scan\n",[131,1963,1965],{"class":133,"line":1964},41,[131,1966,967],{"emptyLinePlaceholder":966},[131,1968,1970],{"class":133,"line":1969},42,[131,1971,1972],{"class":960},"amcl_map_client:\n",[131,1974,1976],{"class":133,"line":1975},43,[131,1977,1672],{"class":960},[131,1979,1981],{"class":133,"line":1980},44,[131,1982,1677],{"class":960},[131,1984,1986],{"class":133,"line":1985},45,[131,1987,967],{"emptyLinePlaceholder":966},[131,1989,1991],{"class":133,"line":1990},46,[131,1992,1993],{"class":960},"amcl_rclcpp_node:\n",[131,1995,1997],{"class":133,"line":1996},47,[131,1998,1672],{"class":960},[131,2000,2002],{"class":133,"line":2001},48,[131,2003,1677],{"class":960},[131,2005,2007],{"class":133,"line":2006},49,[131,2008,967],{"emptyLinePlaceholder":966},[131,2010,2012],{"class":133,"line":2011},50,[131,2013,2014],{"class":960},"bt_navigator:\n",[131,2016,2018],{"class":133,"line":2017},51,[131,2019,1672],{"class":960},[131,2021,2023],{"class":133,"line":2022},52,[131,2024,1677],{"class":960},[131,2026,2028,2031],{"class":133,"line":2027},53,[131,2029,2030],{"class":960},"    global_frame: ",[131,2032,2033],{"class":154},"map\n",[131,2035,2037],{"class":133,"line":2036},54,[131,2038,2039],{"class":960},"    robot_base_frame: base_link\n",[131,2041,2043,2046,2049],{"class":133,"line":2042},55,[131,2044,2045],{"class":960},"    odom_topic: ",[131,2047,2048],{"class":956},"\u002F",[131,2050,2051],{"class":960},"odom\n",[131,2053,2055,2058],{"class":133,"line":2054},56,[131,2056,2057],{"class":960},"    bt_loop_duration: ",[131,2059,2060],{"class":154},"10\n",[131,2062,2064,2067],{"class":133,"line":2063},57,[131,2065,2066],{"class":960},"    default_server_timeout: ",[131,2068,2069],{"class":154},"20\n",[131,2071,2073],{"class":133,"line":2072},58,[131,2074,967],{"emptyLinePlaceholder":966},[131,2076,2078],{"class":133,"line":2077},59,[131,2079,2080],{"class":1056},"    # 'default_nav_through_poses_bt_xml' and 'default_nav_to_pose_bt_xml' are use defaults:\n",[131,2082,2084],{"class":133,"line":2083},60,[131,2085,967],{"emptyLinePlaceholder":966},[131,2087,2089],{"class":133,"line":2088},61,[131,2090,2091],{"class":1056},"    # nav2_bt_navigator\u002Fnavigate_to_pose_w_replanning_and_recovery.xml\n",[131,2093,2095],{"class":133,"line":2094},62,[131,2096,967],{"emptyLinePlaceholder":966},[131,2098,2100],{"class":133,"line":2099},63,[131,2101,2102],{"class":1056},"    # nav2_bt_navigator\u002Fnavigate_through_poses_w_replanning_and_recovery.xml\n",[131,2104,2106],{"class":133,"line":2105},64,[131,2107,967],{"emptyLinePlaceholder":966},[131,2109,2111],{"class":133,"line":2110},65,[131,2112,2113],{"class":1056},"    # They can be set here or via a RewrittenYaml remap from a parent launch file to Nav2.\n",[131,2115,2117],{"class":133,"line":2116},66,[131,2118,2119],{"class":960},"    plugin_lib_names:\n",[131,2121,2123,2126],{"class":133,"line":2122},67,[131,2124,2125],{"class":956},"    -",[131,2127,2128],{"class":960}," nav2_compute_path_to_pose_action_bt_node\n",[131,2130,2132,2134],{"class":133,"line":2131},68,[131,2133,2125],{"class":956},[131,2135,2136],{"class":960}," nav2_compute_path_through_poses_action_bt_node\n",[131,2138,2140,2142],{"class":133,"line":2139},69,[131,2141,2125],{"class":956},[131,2143,2144],{"class":960}," nav2_smooth_path_action_bt_node\n",[131,2146,2148,2150],{"class":133,"line":2147},70,[131,2149,2125],{"class":956},[131,2151,2152],{"class":960}," nav2_follow_path_action_bt_node\n",[131,2154,2156,2158],{"class":133,"line":2155},71,[131,2157,2125],{"class":956},[131,2159,2160],{"class":960}," nav2_spin_action_bt_node\n",[131,2162,2164,2166],{"class":133,"line":2163},72,[131,2165,2125],{"class":956},[131,2167,2168],{"class":960}," nav2_wait_action_bt_node\n",[131,2170,2172,2174],{"class":133,"line":2171},73,[131,2173,2125],{"class":956},[131,2175,2176],{"class":960}," nav2_back_up_action_bt_node\n",[131,2178,2180,2182],{"class":133,"line":2179},74,[131,2181,2125],{"class":956},[131,2183,2184],{"class":960}," nav2_drive_on_heading_bt_node\n",[131,2186,2188,2190],{"class":133,"line":2187},75,[131,2189,2125],{"class":956},[131,2191,2192],{"class":960}," nav2_clear_costmap_service_bt_node\n",[131,2194,2196,2198],{"class":133,"line":2195},76,[131,2197,2125],{"class":956},[131,2199,2200],{"class":960}," nav2_is_stuck_condition_bt_node\n",[131,2202,2204,2206],{"class":133,"line":2203},77,[131,2205,2125],{"class":956},[131,2207,2208],{"class":960}," nav2_goal_reached_condition_bt_node\n",[131,2210,2212,2214],{"class":133,"line":2211},78,[131,2213,2125],{"class":956},[131,2215,2216],{"class":960}," nav2_goal_updated_condition_bt_node\n",[131,2218,2220,2222],{"class":133,"line":2219},79,[131,2221,2125],{"class":956},[131,2223,2224],{"class":960}," nav2_globally_updated_goal_condition_bt_node\n",[131,2226,2228,2230],{"class":133,"line":2227},80,[131,2229,2125],{"class":956},[131,2231,2232],{"class":960}," nav2_is_path_valid_condition_bt_node\n",[131,2234,2236,2238],{"class":133,"line":2235},81,[131,2237,2125],{"class":956},[131,2239,2240],{"class":960}," nav2_initial_pose_received_condition_bt_node\n",[131,2242,2244,2246],{"class":133,"line":2243},82,[131,2245,2125],{"class":956},[131,2247,2248],{"class":960}," nav2_reinitialize_global_localization_service_bt_node\n",[131,2250,2252,2254],{"class":133,"line":2251},83,[131,2253,2125],{"class":956},[131,2255,2256],{"class":960}," nav2_rate_controller_bt_node\n",[131,2258,2260,2262],{"class":133,"line":2259},84,[131,2261,2125],{"class":956},[131,2263,2264],{"class":960}," nav2_distance_controller_bt_node\n",[131,2266,2268,2270],{"class":133,"line":2267},85,[131,2269,2125],{"class":956},[131,2271,2272],{"class":960}," nav2_speed_controller_bt_node\n",[131,2274,2276,2278],{"class":133,"line":2275},86,[131,2277,2125],{"class":956},[131,2279,2280],{"class":960}," nav2_truncate_path_action_bt_node\n",[131,2282,2284,2286],{"class":133,"line":2283},87,[131,2285,2125],{"class":956},[131,2287,2288],{"class":960}," nav2_truncate_path_local_action_bt_node\n",[131,2290,2292,2294],{"class":133,"line":2291},88,[131,2293,2125],{"class":956},[131,2295,2296],{"class":960}," nav2_goal_updater_node_bt_node\n",[131,2298,2300,2302],{"class":133,"line":2299},89,[131,2301,2125],{"class":956},[131,2303,2304],{"class":960}," nav2_recovery_node_bt_node\n",[131,2306,2308,2310],{"class":133,"line":2307},90,[131,2309,2125],{"class":956},[131,2311,2312],{"class":960}," nav2_pipeline_sequence_bt_node\n",[131,2314,2316,2318],{"class":133,"line":2315},91,[131,2317,2125],{"class":956},[131,2319,2320],{"class":960}," nav2_round_robin_node_bt_node\n",[131,2322,2324,2326],{"class":133,"line":2323},92,[131,2325,2125],{"class":956},[131,2327,2328],{"class":960}," nav2_transform_available_condition_bt_node\n",[131,2330,2332,2334],{"class":133,"line":2331},93,[131,2333,2125],{"class":956},[131,2335,2336],{"class":960}," nav2_time_expired_condition_bt_node\n",[131,2338,2340,2342],{"class":133,"line":2339},94,[131,2341,2125],{"class":956},[131,2343,2344],{"class":960}," nav2_path_expiring_timer_condition\n",[131,2346,2348,2350],{"class":133,"line":2347},95,[131,2349,2125],{"class":956},[131,2351,2352],{"class":960}," nav2_distance_traveled_condition_bt_node\n",[131,2354,2356,2358],{"class":133,"line":2355},96,[131,2357,2125],{"class":956},[131,2359,2360],{"class":960}," nav2_single_trigger_bt_node\n",[131,2362,2364,2366],{"class":133,"line":2363},97,[131,2365,2125],{"class":956},[131,2367,2368],{"class":960}," nav2_is_battery_low_condition_bt_node\n",[131,2370,2372,2374],{"class":133,"line":2371},98,[131,2373,2125],{"class":956},[131,2375,2376],{"class":960}," nav2_navigate_through_poses_action_bt_node\n",[131,2378,2380,2382],{"class":133,"line":2379},99,[131,2381,2125],{"class":956},[131,2383,2384],{"class":960}," nav2_navigate_to_pose_action_bt_node\n",[131,2386,2388,2390],{"class":133,"line":2387},100,[131,2389,2125],{"class":956},[131,2391,2392],{"class":960}," nav2_remove_passed_goals_action_bt_node\n",[131,2394,2396,2398],{"class":133,"line":2395},101,[131,2397,2125],{"class":956},[131,2399,2400],{"class":960}," nav2_planner_selector_bt_node\n",[131,2402,2404,2406],{"class":133,"line":2403},102,[131,2405,2125],{"class":956},[131,2407,2408],{"class":960}," nav2_controller_selector_bt_node\n",[131,2410,2412,2414],{"class":133,"line":2411},103,[131,2413,2125],{"class":956},[131,2415,2416],{"class":960}," nav2_goal_checker_selector_bt_node\n",[131,2418,2420,2422],{"class":133,"line":2419},104,[131,2421,2125],{"class":956},[131,2423,2424],{"class":960}," nav2_controller_cancel_bt_node\n",[131,2426,2428,2430],{"class":133,"line":2427},105,[131,2429,2125],{"class":956},[131,2431,2432],{"class":960}," nav2_path_longer_on_approach_bt_node\n",[131,2434,2436,2438],{"class":133,"line":2435},106,[131,2437,2125],{"class":956},[131,2439,2440],{"class":960}," nav2_wait_cancel_bt_node\n",[131,2442,2444,2446],{"class":133,"line":2443},107,[131,2445,2125],{"class":956},[131,2447,2448],{"class":960}," nav2_spin_cancel_bt_node\n",[131,2450,2452,2454],{"class":133,"line":2451},108,[131,2453,2125],{"class":956},[131,2455,2456],{"class":960}," nav2_back_up_cancel_bt_node\n",[131,2458,2460,2462],{"class":133,"line":2459},109,[131,2461,2125],{"class":956},[131,2463,2464],{"class":960}," nav2_drive_on_heading_cancel_bt_node\n",[131,2466,2468],{"class":133,"line":2467},110,[131,2469,967],{"emptyLinePlaceholder":966},[131,2471,2473],{"class":133,"line":2472},111,[131,2474,2475],{"class":960},"bt_navigator_rclcpp_node:\n",[131,2477,2479],{"class":133,"line":2478},112,[131,2480,1672],{"class":960},[131,2482,2484],{"class":133,"line":2483},113,[131,2485,1677],{"class":960},[131,2487,2489],{"class":133,"line":2488},114,[131,2490,967],{"emptyLinePlaceholder":966},[131,2492,2494],{"class":133,"line":2493},115,[131,2495,2496],{"class":960},"controller_server:\n",[131,2498,2500],{"class":133,"line":2499},116,[131,2501,1672],{"class":960},[131,2503,2505],{"class":133,"line":2504},117,[131,2506,1677],{"class":960},[131,2508,2510,2513],{"class":133,"line":2509},118,[131,2511,2512],{"class":960},"    controller_frequency: ",[131,2514,2515],{"class":154},"20.0\n",[131,2517,2519,2522],{"class":133,"line":2518},119,[131,2520,2521],{"class":960},"    min_x_velocity_threshold: ",[131,2523,2524],{"class":154},"0.001\n",[131,2526,2528,2531],{"class":133,"line":2527},120,[131,2529,2530],{"class":960},"    min_y_velocity_threshold: ",[131,2532,1729],{"class":154},[131,2534,2536,2539],{"class":133,"line":2535},121,[131,2537,2538],{"class":960},"    min_theta_velocity_threshold: ",[131,2540,2524],{"class":154},[131,2542,2544,2547],{"class":133,"line":2543},122,[131,2545,2546],{"class":960},"    failure_tolerance: ",[131,2548,1745],{"class":154},[131,2550,2552,2555],{"class":133,"line":2551},123,[131,2553,2554],{"class":960},"    progress_checker_plugin: ",[131,2556,2557],{"class":141},"\"progress_checker\"\n",[131,2559,2561,2564,2567,2570],{"class":133,"line":2560},124,[131,2562,2563],{"class":960},"    goal_checker_plugins: [",[131,2565,2566],{"class":141},"\"general_goal_checker\"",[131,2568,2569],{"class":960},"] ",[131,2571,2572],{"class":1056},"# \"precise_goal_checker\"\n",[131,2574,2576,2579,2582],{"class":133,"line":2575},125,[131,2577,2578],{"class":960},"    controller_plugins: [",[131,2580,2581],{"class":141},"\"FollowPath\"",[131,2583,2584],{"class":960},"]\n",[131,2586,2588],{"class":133,"line":2587},126,[131,2589,967],{"emptyLinePlaceholder":966},[131,2591,2593],{"class":133,"line":2592},127,[131,2594,2595],{"class":1056},"    # Progress checker parameters\n",[131,2597,2599],{"class":133,"line":2598},128,[131,2600,2601],{"class":960},"    progress_checker:\n",[131,2603,2605,2608],{"class":133,"line":2604},129,[131,2606,2607],{"class":960},"      plugin: ",[131,2609,2610],{"class":141},"\"nav2_controller::SimpleProgressChecker\"\n",[131,2612,2614,2617],{"class":133,"line":2613},130,[131,2615,2616],{"class":960},"      required_movement_radius: ",[131,2618,1729],{"class":154},[131,2620,2622,2625],{"class":133,"line":2621},131,[131,2623,2624],{"class":960},"      movement_time_allowance: ",[131,2626,2627],{"class":154},"10.0\n",[131,2629,2631],{"class":133,"line":2630},132,[131,2632,967],{"emptyLinePlaceholder":966},[131,2634,2636],{"class":133,"line":2635},133,[131,2637,2638],{"class":1056},"    # Goal checker parameters\n",[131,2640,2642],{"class":133,"line":2641},134,[131,2643,2644],{"class":1056},"    #precise_goal_checker:\n",[131,2646,2648],{"class":133,"line":2647},135,[131,2649,967],{"emptyLinePlaceholder":966},[131,2651,2653],{"class":133,"line":2652},136,[131,2654,2655],{"class":1056},"    #  plugin: \"nav2_controller::SimpleGoalChecker\"\n",[131,2657,2659],{"class":133,"line":2658},137,[131,2660,967],{"emptyLinePlaceholder":966},[131,2662,2664],{"class":133,"line":2663},138,[131,2665,2666],{"class":1056},"    #  xy_goal_tolerance: 0.25\n",[131,2668,2670],{"class":133,"line":2669},139,[131,2671,967],{"emptyLinePlaceholder":966},[131,2673,2675],{"class":133,"line":2674},140,[131,2676,2677],{"class":1056},"    #  yaw_goal_tolerance: 0.25\n",[131,2679,2681],{"class":133,"line":2680},141,[131,2682,967],{"emptyLinePlaceholder":966},[131,2684,2686],{"class":133,"line":2685},142,[131,2687,2688],{"class":1056},"    #  stateful: True\n",[131,2690,2692],{"class":133,"line":2691},143,[131,2693,2694],{"class":960},"    general_goal_checker:\n",[131,2696,2698,2701],{"class":133,"line":2697},144,[131,2699,2700],{"class":960},"      stateful: ",[131,2702,2703],{"class":154},"True\n",[131,2705,2707,2709],{"class":133,"line":2706},145,[131,2708,2607],{"class":960},[131,2710,2711],{"class":141},"\"nav2_controller::SimpleGoalChecker\"\n",[131,2713,2715,2718],{"class":133,"line":2714},146,[131,2716,2717],{"class":960},"      xy_goal_tolerance: ",[131,2719,1923],{"class":154},[131,2721,2723,2726],{"class":133,"line":2722},147,[131,2724,2725],{"class":960},"      yaw_goal_tolerance: ",[131,2727,1923],{"class":154},[131,2729,2731],{"class":133,"line":2730},148,[131,2732,967],{"emptyLinePlaceholder":966},[131,2734,2736],{"class":133,"line":2735},149,[131,2737,2738],{"class":1056},"    # DWB parameters\n",[131,2740,2742],{"class":133,"line":2741},150,[131,2743,2744],{"class":960},"    FollowPath:\n",[131,2746,2748,2750],{"class":133,"line":2747},151,[131,2749,2607],{"class":960},[131,2751,2752],{"class":141},"\"dwb_core::DWBLocalPlanner\"\n",[131,2754,2756,2759],{"class":133,"line":2755},152,[131,2757,2758],{"class":960},"      debug_trajectory_details: ",[131,2760,2703],{"class":154},[131,2762,2764,2767],{"class":133,"line":2763},153,[131,2765,2766],{"class":960},"      min_vel_x: ",[131,2768,1857],{"class":154},[131,2770,2772,2775],{"class":133,"line":2771},154,[131,2773,2774],{"class":960},"      min_vel_y: ",[131,2776,1857],{"class":154},[131,2778,2780,2783],{"class":133,"line":2779},155,[131,2781,2782],{"class":960},"      max_vel_x: ",[131,2784,2785],{"class":154},"0.26\n",[131,2787,2789,2792],{"class":133,"line":2788},156,[131,2790,2791],{"class":960},"      max_vel_y: ",[131,2793,1857],{"class":154},[131,2795,2797,2800],{"class":133,"line":2796},157,[131,2798,2799],{"class":960},"      max_vel_theta: ",[131,2801,1793],{"class":154},[131,2803,2805,2808],{"class":133,"line":2804},158,[131,2806,2807],{"class":960},"      min_speed_xy: ",[131,2809,1857],{"class":154},[131,2811,2813,2816],{"class":133,"line":2812},159,[131,2814,2815],{"class":960},"      max_speed_xy: ",[131,2817,2785],{"class":154},[131,2819,2821,2824],{"class":133,"line":2820},160,[131,2822,2823],{"class":960},"      min_speed_theta: ",[131,2825,1857],{"class":154},[131,2827,2829],{"class":133,"line":2828},161,[131,2830,967],{"emptyLinePlaceholder":966},[131,2832,2834],{"class":133,"line":2833},162,[131,2835,2836],{"class":1056},"      # Add high threshold velocity for turtlebot 3 issue.\n",[131,2838,2840],{"class":133,"line":2839},163,[131,2841,967],{"emptyLinePlaceholder":966},[131,2843,2845],{"class":133,"line":2844},164,[131,2846,2847],{"class":1056},"      # https:\u002F\u002Fgithub.com\u002FROBOTIS-GIT\u002Fturtlebot3_simulations\u002Fissues\u002F75\n",[131,2849,2851,2854],{"class":133,"line":2850},165,[131,2852,2853],{"class":960},"      acc_lim_x: ",[131,2855,2856],{"class":154},"2.5\n",[131,2858,2860,2863],{"class":133,"line":2859},166,[131,2861,2862],{"class":960},"      acc_lim_y: ",[131,2864,1857],{"class":154},[131,2866,2868,2871],{"class":133,"line":2867},167,[131,2869,2870],{"class":960},"      acc_lim_theta: ",[131,2872,2873],{"class":154},"3.2\n",[131,2875,2877,2880,2882],{"class":133,"line":2876},168,[131,2878,2879],{"class":960},"      decel_lim_x: ",[131,2881,1790],{"class":956},[131,2883,2856],{"class":154},[131,2885,2887,2890],{"class":133,"line":2886},169,[131,2888,2889],{"class":960},"      decel_lim_y: ",[131,2891,1857],{"class":154},[131,2893,2895,2898,2900],{"class":133,"line":2894},170,[131,2896,2897],{"class":960},"      decel_lim_theta: ",[131,2899,1790],{"class":956},[131,2901,2873],{"class":154},[131,2903,2905,2908],{"class":133,"line":2904},171,[131,2906,2907],{"class":960},"      vx_samples: ",[131,2909,2069],{"class":154},[131,2911,2913,2916],{"class":133,"line":2912},172,[131,2914,2915],{"class":960},"      vy_samples: ",[131,2917,2918],{"class":154},"5\n",[131,2920,2922,2925],{"class":133,"line":2921},173,[131,2923,2924],{"class":960},"      vtheta_samples: ",[131,2926,2069],{"class":154},[131,2928,2930,2933],{"class":133,"line":2929},174,[131,2931,2932],{"class":960},"      sim_time: ",[131,2934,2935],{"class":154},"1.7\n",[131,2937,2939,2942],{"class":133,"line":2938},175,[131,2940,2941],{"class":960},"      linear_granularity: ",[131,2943,1841],{"class":154},[131,2945,2947,2950],{"class":133,"line":2946},176,[131,2948,2949],{"class":960},"      angular_granularity: ",[131,2951,2952],{"class":154},"0.025\n",[131,2954,2956,2959],{"class":133,"line":2955},177,[131,2957,2958],{"class":960},"      transform_tolerance: ",[131,2960,1685],{"class":154},[131,2962,2964,2966],{"class":133,"line":2963},178,[131,2965,2717],{"class":960},[131,2967,1923],{"class":154},[131,2969,2971,2974],{"class":133,"line":2970},179,[131,2972,2973],{"class":960},"      trans_stopped_velocity: ",[131,2975,1923],{"class":154},[131,2977,2979,2982],{"class":133,"line":2978},180,[131,2980,2981],{"class":960},"      short_circuit_trajectory_evaluation: ",[131,2983,2703],{"class":154},[131,2985,2987,2989],{"class":133,"line":2986},181,[131,2988,2700],{"class":960},[131,2990,2703],{"class":154},[131,2992,2994,2997,3000,3002,3005,3007,3010,3012,3015,3017,3020,3022,3025,3027,3030],{"class":133,"line":2993},182,[131,2995,2996],{"class":960},"      critics: [",[131,2998,2999],{"class":141},"\"RotateToGoal\"",[131,3001,1135],{"class":960},[131,3003,3004],{"class":141},"\"Oscillation\"",[131,3006,1135],{"class":960},[131,3008,3009],{"class":141},"\"BaseObstacle\"",[131,3011,1135],{"class":960},[131,3013,3014],{"class":141},"\"GoalAlign\"",[131,3016,1135],{"class":960},[131,3018,3019],{"class":141},"\"PathAlign\"",[131,3021,1135],{"class":960},[131,3023,3024],{"class":141},"\"PathDist\"",[131,3026,1135],{"class":960},[131,3028,3029],{"class":141},"\"GoalDist\"",[131,3031,2584],{"class":960},[131,3033,3035,3038],{"class":133,"line":3034},183,[131,3036,3037],{"class":960},"      BaseObstacle.scale: ",[131,3039,3040],{"class":154},"0.02\n",[131,3042,3044,3047],{"class":133,"line":3043},184,[131,3045,3046],{"class":960},"      PathAlign.scale: ",[131,3048,3049],{"class":154},"32.0\n",[131,3051,3053,3056],{"class":133,"line":3052},185,[131,3054,3055],{"class":960},"      PathAlign.forward_point_distance: ",[131,3057,1766],{"class":154},[131,3059,3061,3064],{"class":133,"line":3060},186,[131,3062,3063],{"class":960},"      GoalAlign.scale: ",[131,3065,3066],{"class":154},"24.0\n",[131,3068,3070,3073],{"class":133,"line":3069},187,[131,3071,3072],{"class":960},"      GoalAlign.forward_point_distance: ",[131,3074,1766],{"class":154},[131,3076,3078,3081],{"class":133,"line":3077},188,[131,3079,3080],{"class":960},"      PathDist.scale: ",[131,3082,3049],{"class":154},[131,3084,3086,3089],{"class":133,"line":3085},189,[131,3087,3088],{"class":960},"      GoalDist.scale: ",[131,3090,3066],{"class":154},[131,3092,3094,3097],{"class":133,"line":3093},190,[131,3095,3096],{"class":960},"      RotateToGoal.scale: ",[131,3098,3049],{"class":154},[131,3100,3102,3105],{"class":133,"line":3101},191,[131,3103,3104],{"class":960},"      RotateToGoal.slowing_factor: ",[131,3106,3107],{"class":154},"5.0\n",[131,3109,3111,3114,3116],{"class":133,"line":3110},192,[131,3112,3113],{"class":960},"      RotateToGoal.lookahead_time: ",[131,3115,1790],{"class":956},[131,3117,1793],{"class":154},[131,3119,3121],{"class":133,"line":3120},193,[131,3122,967],{"emptyLinePlaceholder":966},[131,3124,3126],{"class":133,"line":3125},194,[131,3127,3128],{"class":960},"controller_server_rclcpp_node:\n",[131,3130,3132],{"class":133,"line":3131},195,[131,3133,1672],{"class":960},[131,3135,3137],{"class":133,"line":3136},196,[131,3138,1677],{"class":960},[131,3140,3142],{"class":133,"line":3141},197,[131,3143,967],{"emptyLinePlaceholder":966},[131,3145,3147],{"class":133,"line":3146},198,[131,3148,3149],{"class":960},"local_costmap:\n",[131,3151,3153],{"class":133,"line":3152},199,[131,3154,3155],{"class":960},"  local_costmap:\n",[131,3157,3159],{"class":133,"line":3158},200,[131,3160,3161],{"class":960},"    ros__parameters:\n",[131,3163,3165,3168],{"class":133,"line":3164},201,[131,3166,3167],{"class":960},"      update_frequency: ",[131,3169,3107],{"class":154},[131,3171,3173,3176],{"class":133,"line":3172},202,[131,3174,3175],{"class":960},"      publish_frequency: ",[131,3177,1774],{"class":154},[131,3179,3181],{"class":133,"line":3180},203,[131,3182,3183],{"class":960},"      global_frame: odom\n",[131,3185,3187],{"class":133,"line":3186},204,[131,3188,3189],{"class":960},"      robot_base_frame: base_link\n",[131,3191,3193],{"class":133,"line":3192},205,[131,3194,3195],{"class":960},"      use_sim_time: false\n",[131,3197,3199],{"class":133,"line":3198},206,[131,3200,3201],{"class":960},"      rolling_window: true\n",[131,3203,3205,3208],{"class":133,"line":3204},207,[131,3206,3207],{"class":960},"      width: ",[131,3209,3210],{"class":154},"3\n",[131,3212,3214,3217],{"class":133,"line":3213},208,[131,3215,3216],{"class":960},"      height: ",[131,3218,3210],{"class":154},[131,3220,3222,3225],{"class":133,"line":3221},209,[131,3223,3224],{"class":960},"      resolution: ",[131,3226,1841],{"class":154},[131,3228,3230,3233],{"class":133,"line":3229},210,[131,3231,3232],{"class":960},"      robot_radius: ",[131,3234,3235],{"class":154},"0.22\n",[131,3237,3239,3242,3245,3247,3250,3252,3255,3257,3260],{"class":133,"line":3238},211,[131,3240,3241],{"class":960},"      plugins: [",[131,3243,3244],{"class":141},"\"static_layer\"",[131,3246,1135],{"class":960},[131,3248,3249],{"class":141},"\"obstacle_layer\"",[131,3251,1135],{"class":960},[131,3253,3254],{"class":141},"\"voxel_layer\"",[131,3256,1135],{"class":960},[131,3258,3259],{"class":141},"\"inflation_layer\"",[131,3261,2584],{"class":960},[131,3263,3265],{"class":133,"line":3264},212,[131,3266,3267],{"class":960},"      inflation_layer:\n",[131,3269,3271,3274],{"class":133,"line":3270},213,[131,3272,3273],{"class":960},"        plugin: ",[131,3275,3276],{"class":141},"\"nav2_costmap_2d::InflationLayer\"\n",[131,3278,3280,3283],{"class":133,"line":3279},214,[131,3281,3282],{"class":960},"        cost_scaling_factor: ",[131,3284,3285],{"class":154},"3.0\n",[131,3287,3289,3292],{"class":133,"line":3288},215,[131,3290,3291],{"class":960},"        inflation_radius: ",[131,3293,3294],{"class":154},"0.55\n",[131,3296,3298],{"class":133,"line":3297},216,[131,3299,3300],{"class":960},"      obstacle_layer:\n",[131,3302,3304,3306],{"class":133,"line":3303},217,[131,3305,3273],{"class":960},[131,3307,3308],{"class":141},"\"nav2_costmap_2d::ObstacleLayer\"\n",[131,3310,3312,3315],{"class":133,"line":3311},218,[131,3313,3314],{"class":960},"        enabled: ",[131,3316,2703],{"class":154},[131,3318,3320],{"class":133,"line":3319},219,[131,3321,3322],{"class":960},"        observation_sources: scan\n",[131,3324,3326],{"class":133,"line":3325},220,[131,3327,3328],{"class":960},"        scan:\n",[131,3330,3332,3335,3337],{"class":133,"line":3331},221,[131,3333,3334],{"class":960},"          topic: ",[131,3336,2048],{"class":956},[131,3338,3339],{"class":960},"scan\n",[131,3341,3343,3346],{"class":133,"line":3342},222,[131,3344,3345],{"class":960},"          max_obstacle_height: ",[131,3347,1774],{"class":154},[131,3349,3351,3354],{"class":133,"line":3350},223,[131,3352,3353],{"class":960},"          clearing: ",[131,3355,2703],{"class":154},[131,3357,3359,3362],{"class":133,"line":3358},224,[131,3360,3361],{"class":960},"          marking: ",[131,3363,2703],{"class":154},[131,3365,3367,3370],{"class":133,"line":3366},225,[131,3368,3369],{"class":960},"          data_type: ",[131,3371,3372],{"class":141},"\"LaserScan\"\n",[131,3374,3376,3379],{"class":133,"line":3375},226,[131,3377,3378],{"class":960},"          raytrace_max_range: ",[131,3380,3285],{"class":154},[131,3382,3384,3387],{"class":133,"line":3383},227,[131,3385,3386],{"class":960},"          raytrace_min_range: ",[131,3388,1857],{"class":154},[131,3390,3392,3395],{"class":133,"line":3391},228,[131,3393,3394],{"class":960},"          obstacle_max_range: ",[131,3396,2856],{"class":154},[131,3398,3400,3403],{"class":133,"line":3399},229,[131,3401,3402],{"class":960},"          obstacle_min_range: ",[131,3404,1857],{"class":154},[131,3406,3408],{"class":133,"line":3407},230,[131,3409,3410],{"class":960},"      voxel_layer:\n",[131,3412,3414,3416],{"class":133,"line":3413},231,[131,3415,3273],{"class":960},[131,3417,3418],{"class":141},"\"nav2_costmap_2d::VoxelLayer\"\n",[131,3420,3422,3424],{"class":133,"line":3421},232,[131,3423,3314],{"class":960},[131,3425,2703],{"class":154},[131,3427,3429,3432],{"class":133,"line":3428},233,[131,3430,3431],{"class":960},"        publish_voxel_map: ",[131,3433,2703],{"class":154},[131,3435,3437,3440],{"class":133,"line":3436},234,[131,3438,3439],{"class":960},"        origin_z: ",[131,3441,1857],{"class":154},[131,3443,3445,3448],{"class":133,"line":3444},235,[131,3446,3447],{"class":960},"        z_resolution: ",[131,3449,1841],{"class":154},[131,3451,3453,3456],{"class":133,"line":3452},236,[131,3454,3455],{"class":960},"        z_voxels: ",[131,3457,3458],{"class":154},"16\n",[131,3460,3462,3465],{"class":133,"line":3461},237,[131,3463,3464],{"class":960},"        max_obstacle_height: ",[131,3466,1774],{"class":154},[131,3468,3470,3473],{"class":133,"line":3469},238,[131,3471,3472],{"class":960},"        mark_threshold: ",[131,3474,3475],{"class":154},"0\n",[131,3477,3479],{"class":133,"line":3478},239,[131,3480,3322],{"class":960},[131,3482,3484],{"class":133,"line":3483},240,[131,3485,3328],{"class":960},[131,3487,3489,3491,3493],{"class":133,"line":3488},241,[131,3490,3334],{"class":960},[131,3492,2048],{"class":956},[131,3494,3339],{"class":960},[131,3496,3498,3500],{"class":133,"line":3497},242,[131,3499,3345],{"class":960},[131,3501,1774],{"class":154},[131,3503,3505,3507],{"class":133,"line":3504},243,[131,3506,3353],{"class":960},[131,3508,2703],{"class":154},[131,3510,3512,3514],{"class":133,"line":3511},244,[131,3513,3361],{"class":960},[131,3515,2703],{"class":154},[131,3517,3519,3521],{"class":133,"line":3518},245,[131,3520,3369],{"class":960},[131,3522,3372],{"class":141},[131,3524,3526,3528],{"class":133,"line":3525},246,[131,3527,3378],{"class":960},[131,3529,3285],{"class":154},[131,3531,3533,3535],{"class":133,"line":3532},247,[131,3534,3386],{"class":960},[131,3536,1857],{"class":154},[131,3538,3540,3542],{"class":133,"line":3539},248,[131,3541,3394],{"class":960},[131,3543,2856],{"class":154},[131,3545,3547,3549],{"class":133,"line":3546},249,[131,3548,3402],{"class":960},[131,3550,1857],{"class":154},[131,3552,3554],{"class":133,"line":3553},250,[131,3555,3556],{"class":960},"      static_layer:\n",[131,3558,3560,3562],{"class":133,"line":3559},251,[131,3561,3273],{"class":960},[131,3563,3564],{"class":141},"\"nav2_costmap_2d::StaticLayer\"\n",[131,3566,3568,3571],{"class":133,"line":3567},252,[131,3569,3570],{"class":960},"        map_subscribe_transient_local: ",[131,3572,2703],{"class":154},[131,3574,3576,3579],{"class":133,"line":3575},253,[131,3577,3578],{"class":960},"      always_send_full_costmap: ",[131,3580,2703],{"class":154},[131,3582,3584],{"class":133,"line":3583},254,[131,3585,967],{"emptyLinePlaceholder":966},[131,3587,3589],{"class":133,"line":3588},255,[131,3590,3591],{"class":960},"  local_costmap_client:\n",[131,3593,3595],{"class":133,"line":3594},256,[131,3596,3161],{"class":960},[131,3598,3600],{"class":133,"line":3599},257,[131,3601,3195],{"class":960},[131,3603,3605],{"class":133,"line":3604},258,[131,3606,3607],{"class":960},"  local_costmap_rclcpp_node:\n",[131,3609,3611],{"class":133,"line":3610},259,[131,3612,3161],{"class":960},[131,3614,3616],{"class":133,"line":3615},260,[131,3617,3195],{"class":960},[131,3619,3621],{"class":133,"line":3620},261,[131,3622,967],{"emptyLinePlaceholder":966},[131,3624,3626],{"class":133,"line":3625},262,[131,3627,3628],{"class":960},"global_costmap:\n",[131,3630,3632],{"class":133,"line":3631},263,[131,3633,3634],{"class":960},"  global_costmap:\n",[131,3636,3638],{"class":133,"line":3637},264,[131,3639,3161],{"class":960},[131,3641,3643,3645],{"class":133,"line":3642},265,[131,3644,3167],{"class":960},[131,3646,1793],{"class":154},[131,3648,3650,3652],{"class":133,"line":3649},266,[131,3651,3175],{"class":960},[131,3653,1793],{"class":154},[131,3655,3657,3660],{"class":133,"line":3656},267,[131,3658,3659],{"class":960},"      global_frame: ",[131,3661,2033],{"class":154},[131,3663,3665],{"class":133,"line":3664},268,[131,3666,3189],{"class":960},[131,3668,3670],{"class":133,"line":3669},269,[131,3671,3195],{"class":960},[131,3673,3675,3677],{"class":133,"line":3674},270,[131,3676,3232],{"class":960},[131,3678,3235],{"class":154},[131,3680,3682,3684],{"class":133,"line":3681},271,[131,3683,3224],{"class":960},[131,3685,1841],{"class":154},[131,3687,3689],{"class":133,"line":3688},272,[131,3690,3691],{"class":960},"      track_unknown_space: true\n",[131,3693,3695,3697,3699,3701,3703,3705,3707],{"class":133,"line":3694},273,[131,3696,3241],{"class":960},[131,3698,3244],{"class":141},[131,3700,1135],{"class":960},[131,3702,3249],{"class":141},[131,3704,1135],{"class":960},[131,3706,3259],{"class":141},[131,3708,2584],{"class":960},[131,3710,3712],{"class":133,"line":3711},274,[131,3713,3300],{"class":960},[131,3715,3717,3719],{"class":133,"line":3716},275,[131,3718,3273],{"class":960},[131,3720,3308],{"class":141},[131,3722,3724,3726],{"class":133,"line":3723},276,[131,3725,3314],{"class":960},[131,3727,2703],{"class":154},[131,3729,3731],{"class":133,"line":3730},277,[131,3732,3322],{"class":960},[131,3734,3736],{"class":133,"line":3735},278,[131,3737,3328],{"class":960},[131,3739,3741,3743,3745],{"class":133,"line":3740},279,[131,3742,3334],{"class":960},[131,3744,2048],{"class":956},[131,3746,3339],{"class":960},[131,3748,3750,3752],{"class":133,"line":3749},280,[131,3751,3345],{"class":960},[131,3753,1774],{"class":154},[131,3755,3757,3759],{"class":133,"line":3756},281,[131,3758,3353],{"class":960},[131,3760,2703],{"class":154},[131,3762,3764,3766],{"class":133,"line":3763},282,[131,3765,3361],{"class":960},[131,3767,2703],{"class":154},[131,3769,3771,3773],{"class":133,"line":3770},283,[131,3772,3369],{"class":960},[131,3774,3372],{"class":141},[131,3776,3778,3780],{"class":133,"line":3777},284,[131,3779,3378],{"class":960},[131,3781,3285],{"class":154},[131,3783,3785,3787],{"class":133,"line":3784},285,[131,3786,3386],{"class":960},[131,3788,1857],{"class":154},[131,3790,3792,3794],{"class":133,"line":3791},286,[131,3793,3394],{"class":960},[131,3795,2856],{"class":154},[131,3797,3799,3801],{"class":133,"line":3798},287,[131,3800,3402],{"class":960},[131,3802,1857],{"class":154},[131,3804,3806],{"class":133,"line":3805},288,[131,3807,3556],{"class":960},[131,3809,3811,3813],{"class":133,"line":3810},289,[131,3812,3273],{"class":960},[131,3814,3564],{"class":141},[131,3816,3818,3820],{"class":133,"line":3817},290,[131,3819,3570],{"class":960},[131,3821,2703],{"class":154},[131,3823,3825],{"class":133,"line":3824},291,[131,3826,3267],{"class":960},[131,3828,3830,3832],{"class":133,"line":3829},292,[131,3831,3273],{"class":960},[131,3833,3276],{"class":141},[131,3835,3837,3839],{"class":133,"line":3836},293,[131,3838,3282],{"class":960},[131,3840,3285],{"class":154},[131,3842,3844,3846],{"class":133,"line":3843},294,[131,3845,3291],{"class":960},[131,3847,3294],{"class":154},[131,3849,3851,3853],{"class":133,"line":3850},295,[131,3852,3578],{"class":960},[131,3854,2703],{"class":154},[131,3856,3858],{"class":133,"line":3857},296,[131,3859,967],{"emptyLinePlaceholder":966},[131,3861,3863],{"class":133,"line":3862},297,[131,3864,3865],{"class":960},"  global_costmap_client:\n",[131,3867,3869],{"class":133,"line":3868},298,[131,3870,3161],{"class":960},[131,3872,3874],{"class":133,"line":3873},299,[131,3875,3195],{"class":960},[131,3877,3879],{"class":133,"line":3878},300,[131,3880,3881],{"class":960},"  global_costmap_rclcpp_node:\n",[131,3883,3885],{"class":133,"line":3884},301,[131,3886,3161],{"class":960},[131,3888,3890],{"class":133,"line":3889},302,[131,3891,3195],{"class":960},[131,3893,3895],{"class":133,"line":3894},303,[131,3896,967],{"emptyLinePlaceholder":966},[131,3898,3900],{"class":133,"line":3899},304,[131,3901,3902],{"class":960},"map_server:\n",[131,3904,3906],{"class":133,"line":3905},305,[131,3907,1672],{"class":960},[131,3909,3911],{"class":133,"line":3910},306,[131,3912,1677],{"class":960},[131,3914,3916,3919],{"class":133,"line":3915},307,[131,3917,3918],{"class":960},"    yaml_filename: ",[131,3920,3921],{"class":141},"\"house.yaml\"\n",[131,3923,3925],{"class":133,"line":3924},308,[131,3926,967],{"emptyLinePlaceholder":966},[131,3928,3930],{"class":133,"line":3929},309,[131,3931,3932],{"class":960},"map_saver:\n",[131,3934,3936],{"class":133,"line":3935},310,[131,3937,1672],{"class":960},[131,3939,3941],{"class":133,"line":3940},311,[131,3942,1677],{"class":960},[131,3944,3946,3949],{"class":133,"line":3945},312,[131,3947,3948],{"class":960},"    save_map_timeout: ",[131,3950,3107],{"class":154},[131,3952,3954,3957],{"class":133,"line":3953},313,[131,3955,3956],{"class":960},"    free_thresh_default: ",[131,3958,1923],{"class":154},[131,3960,3962,3965],{"class":133,"line":3961},314,[131,3963,3964],{"class":960},"    occupied_thresh_default: ",[131,3966,3967],{"class":154},"0.65\n",[131,3969,3971,3974],{"class":133,"line":3970},315,[131,3972,3973],{"class":960},"    map_subscribe_transient_local: ",[131,3975,2703],{"class":154},[131,3977,3979],{"class":133,"line":3978},316,[131,3980,967],{"emptyLinePlaceholder":966},[131,3982,3984],{"class":133,"line":3983},317,[131,3985,3986],{"class":960},"planner_server:\n",[131,3988,3990],{"class":133,"line":3989},318,[131,3991,1672],{"class":960},[131,3993,3995,3998],{"class":133,"line":3994},319,[131,3996,3997],{"class":960},"    expected_planner_frequency: ",[131,3999,2515],{"class":154},[131,4001,4003],{"class":133,"line":4002},320,[131,4004,1677],{"class":960},[131,4006,4008,4011,4014],{"class":133,"line":4007},321,[131,4009,4010],{"class":960},"    planner_plugins: [",[131,4012,4013],{"class":141},"\"GridBased\"",[131,4015,2584],{"class":960},[131,4017,4019],{"class":133,"line":4018},322,[131,4020,4021],{"class":960},"    GridBased:\n",[131,4023,4025,4027],{"class":133,"line":4024},323,[131,4026,2607],{"class":960},[131,4028,4029],{"class":141},"\"nav2_navfn_planner\u002FNavfnPlanner\"\n",[131,4031,4033,4036],{"class":133,"line":4032},324,[131,4034,4035],{"class":960},"      tolerance: ",[131,4037,1729],{"class":154},[131,4039,4041],{"class":133,"line":4040},325,[131,4042,4043],{"class":960},"      use_astar: false\n",[131,4045,4047],{"class":133,"line":4046},326,[131,4048,4049],{"class":960},"      allow_unknown: true\n",[131,4051,4053],{"class":133,"line":4052},327,[131,4054,967],{"emptyLinePlaceholder":966},[131,4056,4058],{"class":133,"line":4057},328,[131,4059,4060],{"class":960},"planner_server_rclcpp_node:\n",[131,4062,4064],{"class":133,"line":4063},329,[131,4065,1672],{"class":960},[131,4067,4069],{"class":133,"line":4068},330,[131,4070,1677],{"class":960},[131,4072,4074],{"class":133,"line":4073},331,[131,4075,967],{"emptyLinePlaceholder":966},[131,4077,4079],{"class":133,"line":4078},332,[131,4080,4081],{"class":960},"smoother_server:\n",[131,4083,4085],{"class":133,"line":4084},333,[131,4086,1672],{"class":960},[131,4088,4090],{"class":133,"line":4089},334,[131,4091,1677],{"class":960},[131,4093,4095,4098,4101],{"class":133,"line":4094},335,[131,4096,4097],{"class":960},"    smoother_plugins: [",[131,4099,4100],{"class":141},"\"simple_smoother\"",[131,4102,2584],{"class":960},[131,4104,4106],{"class":133,"line":4105},336,[131,4107,4108],{"class":960},"    simple_smoother:\n",[131,4110,4112,4114],{"class":133,"line":4111},337,[131,4113,2607],{"class":960},[131,4115,4116],{"class":141},"\"nav2_smoother::SimpleSmoother\"\n",[131,4118,4120,4122],{"class":133,"line":4119},338,[131,4121,4035],{"class":960},[131,4123,4124],{"class":154},"1.0e-10\n",[131,4126,4128,4131],{"class":133,"line":4127},339,[131,4129,4130],{"class":960},"      max_its: ",[131,4132,4133],{"class":154},"1000\n",[131,4135,4137,4140],{"class":133,"line":4136},340,[131,4138,4139],{"class":960},"      do_refinement: ",[131,4141,2703],{"class":154},[131,4143,4145],{"class":133,"line":4144},341,[131,4146,967],{"emptyLinePlaceholder":966},[131,4148,4150],{"class":133,"line":4149},342,[131,4151,4152],{"class":960},"behavior_server:\n",[131,4154,4156],{"class":133,"line":4155},343,[131,4157,1672],{"class":960},[131,4159,4161,4164,4166],{"class":133,"line":4160},344,[131,4162,4163],{"class":960},"    costmap_topic: local_costmap",[131,4165,2048],{"class":956},[131,4167,4168],{"class":960},"costmap_raw\n",[131,4170,4172,4175,4177],{"class":133,"line":4171},345,[131,4173,4174],{"class":960},"    footprint_topic: local_costmap",[131,4176,2048],{"class":956},[131,4178,4179],{"class":960},"published_footprint\n",[131,4181,4183,4186],{"class":133,"line":4182},346,[131,4184,4185],{"class":960},"    cycle_frequency: ",[131,4187,2627],{"class":154},[131,4189,4191,4194,4197,4199,4202,4204,4207,4209,4212],{"class":133,"line":4190},347,[131,4192,4193],{"class":960},"    behavior_plugins: [",[131,4195,4196],{"class":141},"\"spin\"",[131,4198,1135],{"class":960},[131,4200,4201],{"class":141},"\"backup\"",[131,4203,1135],{"class":960},[131,4205,4206],{"class":141},"\"drive_on_heading\"",[131,4208,1135],{"class":960},[131,4210,4211],{"class":141},"\"wait\"",[131,4213,2584],{"class":960},[131,4215,4217],{"class":133,"line":4216},348,[131,4218,4219],{"class":960},"    spin:\n",[131,4221,4223,4225],{"class":133,"line":4222},349,[131,4224,2607],{"class":960},[131,4226,4227],{"class":141},"\"nav2_behaviors\u002FSpin\"\n",[131,4229,4231],{"class":133,"line":4230},350,[131,4232,4233],{"class":960},"    backup:\n",[131,4235,4237,4239],{"class":133,"line":4236},351,[131,4238,2607],{"class":960},[131,4240,4241],{"class":141},"\"nav2_behaviors\u002FBackUp\"\n",[131,4243,4245],{"class":133,"line":4244},352,[131,4246,4247],{"class":960},"    drive_on_heading:\n",[131,4249,4251,4253],{"class":133,"line":4250},353,[131,4252,2607],{"class":960},[131,4254,4255],{"class":141},"\"nav2_behaviors\u002FDriveOnHeading\"\n",[131,4257,4259],{"class":133,"line":4258},354,[131,4260,4261],{"class":960},"    wait:\n",[131,4263,4265,4267],{"class":133,"line":4264},355,[131,4266,2607],{"class":960},[131,4268,4269],{"class":141},"\"nav2_behaviors\u002FWait\"\n",[131,4271,4273],{"class":133,"line":4272},356,[131,4274,4275],{"class":960},"    global_frame: odom\n",[131,4277,4279],{"class":133,"line":4278},357,[131,4280,2039],{"class":960},[131,4282,4284,4286],{"class":133,"line":4283},358,[131,4285,1904],{"class":960},[131,4287,1766],{"class":154},[131,4289,4291],{"class":133,"line":4290},359,[131,4292,1677],{"class":960},[131,4294,4296,4299],{"class":133,"line":4295},360,[131,4297,4298],{"class":960},"    simulate_ahead_time: ",[131,4300,1774],{"class":154},[131,4302,4304,4307],{"class":133,"line":4303},361,[131,4305,4306],{"class":960},"    max_rotational_vel: ",[131,4308,1793],{"class":154},[131,4310,4312,4315],{"class":133,"line":4311},362,[131,4313,4314],{"class":960},"    min_rotational_vel: ",[131,4316,4317],{"class":154},"0.4\n",[131,4319,4321,4324],{"class":133,"line":4320},363,[131,4322,4323],{"class":960},"    rotational_acc_lim: ",[131,4325,2873],{"class":154},[131,4327,4329],{"class":133,"line":4328},364,[131,4330,967],{"emptyLinePlaceholder":966},[131,4332,4334],{"class":133,"line":4333},365,[131,4335,4336],{"class":960},"robot_state_publisher:\n",[131,4338,4340],{"class":133,"line":4339},366,[131,4341,1672],{"class":960},[131,4343,4345],{"class":133,"line":4344},367,[131,4346,1677],{"class":960},[131,4348,4350],{"class":133,"line":4349},368,[131,4351,967],{"emptyLinePlaceholder":966},[131,4353,4355],{"class":133,"line":4354},369,[131,4356,4357],{"class":960},"waypoint_follower:\n",[131,4359,4361],{"class":133,"line":4360},370,[131,4362,1672],{"class":960},[131,4364,4366,4369],{"class":133,"line":4365},371,[131,4367,4368],{"class":960},"    loop_rate: ",[131,4370,2069],{"class":154},[131,4372,4374],{"class":133,"line":4373},372,[131,4375,4376],{"class":960},"    stop_on_failure: false\n",[131,4378,4380,4383],{"class":133,"line":4379},373,[131,4381,4382],{"class":960},"    waypoint_task_executor_plugin: ",[131,4384,4385],{"class":141},"\"wait_at_waypoint\"\n",[131,4387,4389],{"class":133,"line":4388},374,[131,4390,4391],{"class":960},"    wait_at_waypoint:\n",[131,4393,4395,4397],{"class":133,"line":4394},375,[131,4396,2607],{"class":960},[131,4398,4399],{"class":141},"\"nav2_waypoint_follower::WaitAtWaypoint\"\n",[131,4401,4403,4406],{"class":133,"line":4402},376,[131,4404,4405],{"class":960},"      enabled: ",[131,4407,2703],{"class":154},[131,4409,4411,4414],{"class":133,"line":4410},377,[131,4412,4413],{"class":960},"      waypoint_pause_duration: ",[131,4415,4416],{"class":154},"200\n",[131,4418,4420],{"class":133,"line":4419},378,[131,4421,967],{"emptyLinePlaceholder":966},[131,4423,4425],{"class":133,"line":4424},379,[131,4426,4427],{"class":960},"velocity_smoother:\n",[131,4429,4431],{"class":133,"line":4430},380,[131,4432,1672],{"class":960},[131,4434,4436],{"class":133,"line":4435},381,[131,4437,1677],{"class":960},[131,4439,4441,4444],{"class":133,"line":4440},382,[131,4442,4443],{"class":960},"    smoothing_frequency: ",[131,4445,2515],{"class":154},[131,4447,4449,4452],{"class":133,"line":4448},383,[131,4450,4451],{"class":960},"    scale_velocities: ",[131,4453,4454],{"class":154},"False\n",[131,4456,4458,4461],{"class":133,"line":4457},384,[131,4459,4460],{"class":960},"    feedback: ",[131,4462,4463],{"class":141},"\"OPEN_LOOP\"\n",[131,4465,4467,4470,4473,4475,4478,4480,4483],{"class":133,"line":4466},385,[131,4468,4469],{"class":960},"    max_velocity: [",[131,4471,4472],{"class":154},"0.26",[131,4474,1135],{"class":960},[131,4476,4477],{"class":154},"0.0",[131,4479,1135],{"class":960},[131,4481,4482],{"class":154},"1.0",[131,4484,2584],{"class":960},[131,4486,4488,4491,4493,4495,4497,4499,4501,4503,4505],{"class":133,"line":4487},386,[131,4489,4490],{"class":960},"    min_velocity: [",[131,4492,1790],{"class":956},[131,4494,4472],{"class":154},[131,4496,1135],{"class":960},[131,4498,4477],{"class":154},[131,4500,1135],{"class":960},[131,4502,1790],{"class":956},[131,4504,4482],{"class":154},[131,4506,2584],{"class":960},[131,4508,4510,4513,4516,4518,4520,4522,4525],{"class":133,"line":4509},387,[131,4511,4512],{"class":960},"    max_accel: [",[131,4514,4515],{"class":154},"2.5",[131,4517,1135],{"class":960},[131,4519,4477],{"class":154},[131,4521,1135],{"class":960},[131,4523,4524],{"class":154},"3.2",[131,4526,2584],{"class":960},[131,4528,4530,4533,4535,4537,4539,4541,4543,4545,4547],{"class":133,"line":4529},388,[131,4531,4532],{"class":960},"    max_decel: [",[131,4534,1790],{"class":956},[131,4536,4515],{"class":154},[131,4538,1135],{"class":960},[131,4540,4477],{"class":154},[131,4542,1135],{"class":960},[131,4544,1790],{"class":956},[131,4546,4524],{"class":154},[131,4548,2584],{"class":960},[131,4550,4552,4554],{"class":133,"line":4551},389,[131,4553,2045],{"class":960},[131,4555,1833],{"class":141},[131,4557,4559,4562],{"class":133,"line":4558},390,[131,4560,4561],{"class":960},"    odom_duration: ",[131,4563,1766],{"class":154},[131,4565,4567,4570,4572,4574,4576,4578,4580],{"class":133,"line":4566},391,[131,4568,4569],{"class":960},"    deadband_velocity: [",[131,4571,4477],{"class":154},[131,4573,1135],{"class":960},[131,4575,4477],{"class":154},[131,4577,1135],{"class":960},[131,4579,4477],{"class":154},[131,4581,2584],{"class":960},[131,4583,4585,4588],{"class":133,"line":4584},392,[131,4586,4587],{"class":960},"    velocity_timeout: ",[131,4589,1793],{"class":154},[10,4591,4592],{"id":4592},"多车编队",[4594,4595,4596],"style",{},"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 pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":84,"searchDepth":263,"depth":263,"links":4598},[4599,4600,4601,4602,4603,4604,4605],{"id":12,"depth":970,"text":12},{"id":52,"depth":970,"text":52},{"id":61,"depth":970,"text":62},{"id":243,"depth":970,"text":243},{"id":319,"depth":970,"text":320},{"id":396,"depth":970,"text":396},{"id":4592,"depth":970,"text":4592},0,"1700","2023-12-30","2023-12-30-ros2-tutorial","\u002Fwiki\u002F2023-12-30-ros2-tutorial","Ros2 Tutorial","md",false,{},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-ji-qi-ren-dao-hang-navigation2-shi-ti-pian",{"title":5,"description":84},"wiki\u002F2023-12-30-ros2-tutorial\u002F1700-机器人导航Navigation2(实体篇)","Ky8_mhC2ZfZdu48W6RuKXhu-miqLIJRH_XYShr47Vd4",[4620,4625,4630,4635,4640,4645,4650,4655,4660,4665,4670,4675,4680,4685,4690,4695,4700,4705,4710,4715,4720,4725,4730,4735,4740,4745,4749,4754,4758,4763,4768,4773,4778,4783,4788,4793,4798,4803,4808,4813,4818,4823,4828,4833,4838,4843,4848,4853,4858,4863,4868,4873,4878,4883,4888,4893,4894,4899,4904,4909],{"path":4621,"stem":4622,"title":4623,"date":4608,"chapterOrder":4624,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ros2-jie-shao","wiki\u002F2023-12-30-ros2-tutorial\u002F0100-ROS2介绍","ROS2介绍","0100",{"path":4626,"stem":4627,"title":4628,"date":4608,"chapterOrder":4629,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-ru-men-cao-zuo","wiki\u002F2023-12-30-ros2-tutorial\u002F0200-入门操作","入门操作","0200",{"path":4631,"stem":4632,"title":4633,"date":4608,"chapterOrder":4634,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","wiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包","工作空间与功能包","0300",{"path":4636,"stem":4637,"title":4638,"date":4608,"chapterOrder":4639,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-si-da-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F0400-四大通信","四大通信","0400",{"path":4641,"stem":4642,"title":4643,"date":4608,"chapterOrder":4644,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4646,"stem":4647,"title":4648,"date":4608,"chapterOrder":4649,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","wiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","Launch","0600",{"path":4651,"stem":4652,"title":4653,"date":4608,"chapterOrder":4654,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-hui-su-rosbag2","wiki\u002F2023-12-30-ros2-tutorial\u002F0700-回溯rosbag2","回溯rosbag2","0700",{"path":4656,"stem":4657,"title":4658,"date":4608,"chapterOrder":4659,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-zuo-biao-bian-huan-tf","wiki\u002F2023-12-30-ros2-tutorial\u002F0800-坐标变换TF","坐标变换TF","0800",{"path":4661,"stem":4662,"title":4663,"date":4608,"chapterOrder":4664,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4666,"stem":4667,"title":4668,"date":4608,"chapterOrder":4669,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4671,"stem":4672,"title":4673,"date":4608,"chapterOrder":4674,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-gazeboclassic","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-GazeboClassic","Gezebo Classic","1100-0100",{"path":4676,"stem":4677,"title":4678,"date":4608,"chapterOrder":4679,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4681,"stem":4682,"title":4683,"date":4608,"chapterOrder":4684,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4686,"stem":4687,"title":4688,"date":4608,"chapterOrder":4689,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4691,"stem":4692,"title":4693,"date":4608,"chapterOrder":4694,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-gezebo-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-Gezebo仿真平台","Gezebo仿真平台","1100",{"path":4696,"stem":4697,"title":4698,"date":4608,"chapterOrder":4699,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-humble-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-Humble版本","Humble导航仿真","1200-0100",{"path":4701,"stem":4702,"title":4703,"date":4608,"chapterOrder":4704,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-jazzy-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-Jazzy版本","Jazzy导航仿真","1200-0200",{"path":4706,"stem":4707,"title":4708,"date":4608,"chapterOrder":4709,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy","Humble与Jazzy导航的差异","1200-0300",{"path":4711,"stem":4712,"title":4713,"date":4608,"chapterOrder":4714,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4716,"stem":4717,"title":4718,"date":4608,"chapterOrder":4719,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4721,"stem":4722,"title":4723,"date":4608,"chapterOrder":4724,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4726,"stem":4727,"title":4728,"date":4608,"chapterOrder":4729,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-chuan-kou-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-串口通信","UART串口通信","1300-0100",{"path":4731,"stem":4732,"title":4733,"date":4608,"chapterOrder":4734,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4736,"stem":4737,"title":4738,"date":4608,"chapterOrder":4739,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4741,"stem":4742,"title":4743,"date":4608,"chapterOrder":4744,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信","CAN通信","1300-0200",{"path":4746,"stem":4747,"title":4718,"date":4608,"chapterOrder":4748,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4750,"stem":4751,"title":4752,"date":4608,"chapterOrder":4753,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-tcp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-TCP通信","TCP通信","1300-0300",{"path":4755,"stem":4756,"title":4718,"date":4608,"chapterOrder":4757,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4759,"stem":4760,"title":4761,"date":4608,"chapterOrder":4762,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-udp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-UDP通信","UDP通信","1300-0400",{"path":4764,"stem":4765,"title":4766,"date":4608,"chapterOrder":4767,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-linux-ying-jian-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-Linux硬件通信","Linux硬件通信","1300",{"path":4769,"stem":4770,"title":4771,"date":4608,"chapterOrder":4772,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-ji-qi-ren-zu-cheng","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-机器人组成","机器人组成","1400-0100",{"path":4774,"stem":4775,"title":4776,"date":4608,"chapterOrder":4777,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4779,"stem":4780,"title":4781,"date":4608,"chapterOrder":4782,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4784,"stem":4785,"title":4786,"date":4608,"chapterOrder":4787,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4789,"stem":4790,"title":4791,"date":4608,"chapterOrder":4792,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4794,"stem":4795,"title":4796,"date":4608,"chapterOrder":4797,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-fen-bu-shi-da-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-分布式搭建","分布式搭建","1400-0400",{"path":4799,"stem":4800,"title":4801,"date":4608,"chapterOrder":4802,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-you-hua-ri-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-优化日志","优化日志","1400-0500",{"path":4804,"stem":4805,"title":4806,"date":4608,"chapterOrder":4807,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4809,"stem":4810,"title":4811,"date":4608,"chapterOrder":4812,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4814,"stem":4815,"title":4816,"date":4608,"chapterOrder":4817,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4819,"stem":4820,"title":4821,"date":4608,"chapterOrder":4822,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4824,"stem":4825,"title":4826,"date":4608,"chapterOrder":4827,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4829,"stem":4830,"title":4831,"date":4608,"chapterOrder":4832,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4834,"stem":4835,"title":4836,"date":4608,"chapterOrder":4837,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4839,"stem":4840,"title":4841,"date":4608,"chapterOrder":4842,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-ying-jian-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-硬件平台","硬件平台","1400-0600",{"path":4844,"stem":4845,"title":4846,"date":4608,"chapterOrder":4847,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4849,"stem":4850,"title":4851,"date":4608,"chapterOrder":4852,"chapterDepth":970,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-lun-shi-li-cheng-ji-biao-ding","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定","轮式里程计标定","1400-0800-0100-0100",{"path":4854,"stem":4855,"title":4856,"date":4608,"chapterOrder":4857,"chapterDepth":970,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4859,"stem":4860,"title":4861,"date":4608,"chapterOrder":4862,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4864,"stem":4865,"title":4866,"date":4608,"chapterOrder":4867,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4869,"stem":4870,"title":4871,"date":4608,"chapterOrder":4872,"chapterDepth":263,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4874,"stem":4875,"title":4876,"date":4608,"chapterOrder":4877,"chapterDepth":134,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4879,"stem":4880,"title":4881,"date":4608,"chapterOrder":4882,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-ji-qi-ren-ying-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-机器人硬件","机器人硬件","1400",{"path":4884,"stem":4885,"title":4886,"date":4608,"chapterOrder":4887,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ros2-control","wiki\u002F2023-12-30-ros2-tutorial\u002F1500-ROS2_Control","ROS2_Control","1500",{"path":4889,"stem":4890,"title":4891,"date":4608,"chapterOrder":4892,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\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":4615,"stem":4617,"title":5,"date":4608,"chapterOrder":4607,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},{"path":4895,"stem":4896,"title":4897,"date":4608,"chapterOrder":4898,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","wiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS","1800",{"path":4900,"stem":4901,"title":4902,"date":4608,"chapterOrder":4903,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-webots-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1900-Webots仿真平台","Webots仿真平台","1900",{"path":4905,"stem":4906,"title":4907,"date":4608,"chapterOrder":4908,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":4613},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","wiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","OpenCV","2000",{"path":4610,"stem":4910,"title":4911,"date":4608,"chapterOrder":4912,"chapterDepth":4606,"docKey":4609,"docRoot":4610,"docTitle":4611,"isWikiDoc":966,"isWikiIndex":966},"wiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2机器人操作系统教程",null,1784505232026]