学过ROS入门的人应该都跑过经典的turtlebot,其中就有导航的demo,大致流程就是可以先通过激光SLAM构建出场景地图,然后导入地图,进行初始姿态标定,接着便可以在Rviz下实现点到点之间的导航。上述情况是针对于室内情况,在环境开阔且复杂的室外,当无法完整的建出环境地图时,就要借助GPS信号的帮助。这里分享一个自己借助GPS信号完成的点对点之间导航的小测试。
1. GPS信号获取
获取GPS信号,这个在ROS下应该有很多应用案例,不再赘述。我使用的是华测的GNSS RTK(读取GPS信号的功能包见:https://github.com/wulifzd/get_gps.git),由于自身实验条件限制,这里我只获取经纬度值,忽略海拔方向的变化,测量值只读取到小数点后第六位,并将测量结果都发布在“local_xy_origin”这一话题上,运行效果见下图,由于我是在室内运行的所以没有信号值输出,当然在室内测试时可以向“local_xy_origin”话题pub位置信息以模拟真实环境,注意frame_id 要选择为“map”坐标系。
2. 导航功能实现
在导航实现部分&#