自主导航
本小节使用上节教程雷达建图建好的地图,实现自主导航到目标点的实验。
1 准备开始
- 确保机器人已经上电,急停开关打开。
- 确保机器人主机安装连接好了激光雷达USB接口和底盘的USB通讯接口。
- 确保前几节教程的实验正常测试通过。
- 确保正常关闭前面的教程运行的程序和终端。
2 详细步骤
- 关闭所有终端,打开新终端,运行导航节点
运行导航相关节点时,需要在命令后面跟上roslaunch handsfree_2dnav navigation.launch map_name:=my_map sim:=false
map_name:=my_map sim:=false
,sim是让小车可以使用仿真和实机的标识,把建图教程保存的地图名字传递给程序,my_map是我们建图教程保存的地图名字。
运行完成后会自动加载对应的rviz配置文件,显示地图和相关传感器的可视化数据:
初始位置的标定
在RVIZ地图中看到的机器人的初始位置可能并不是其当前在地图中的实际位置,为了机器人能实现导航,我们需要手动标定初始位置。- 点击RVIZ菜单栏的2D Pose Estimate图标。
- 将鼠标移动到机器人在地图中的实际位置,摁住左键,调整好方向后松开。
重复以上动作,直到机器人在地图中的位置和机器人实际的位置一样。可以观察激光雷达的数据和地图的边界是不是吻合上。
标定好的效果如下:
导航到目标点
标定号初始位置后,我们就可以在地图上选择一个点作为目标点,让机器人导航过去。- 点击RVIZ菜单栏的2D Nav Goal图标。
鼠标指定一个地图上机器人可以到达的地方。 如果一切正常的话,机器人将规划出一条路径,并自主移动到所指定的目标点。
效果如下: