ROS进阶教程(四)Movebase使用小结
- Movebase的源码安装
- Movebase结构
- 插件文件的参数配置及修改
- 集中答疑区
Movebase的源码安装
Movebase源码位于Navigation包中,大家可在Git官方代码包中进行安装
1 2 | cd ~/catkin/src git clone https://github.com/ros-planning/navigation.git |
亦可直接
1 | sudo apt-get install ros-kinetic-navigation |
Movebase结构
ROS 提供的

插件文件的参数配置及修改
- 规划器:全局规划、局部规划与行为恢复
- 代价地图:全局代价地图和局部代价地图
下图给出了默认的局部规划器与全局规划器等插件,为了实现更个性化的功能,推荐自己原创的或改进的规划器来替代相应的部分,甚至可以去掉不需要的插件,如代价地图、恢复机制等。

系统默认插件及实现功能如下:
| 插件文件 | 实现功能 |
|---|---|
| base_local_planner | 实现了 Trajectory Rollout 和 DWA 两种局部规划算法 |
| dwa_local_planner | 实现了DWA局部规划算法 |
| global_planner | 实现局部规划算法,可在参数中进行选择,默认存在parrot_planner, navfn, global_planner三种规划算法可以选择 |
| local_costmap | 局部代价地图,与局部规划器配合使用 |
| global_costmap | 全局代价地图 |
注意:插件的参数是在yaml文件中进行配置,
博主会在之后的专题中给出我目前使用的所改进的和原创的全局规划和局部规划算法,请大家持续关注,同时大家可在该资源中获取源码包https://download.csdn.net/download/qq_33742147/12326533
集中答疑区
由于关于Movebase原理的介绍已经非常多,故博主不在此赘述。但是相信大家即使明白了Movebase的运行机制,依然会有非常多的使用问题,因此本贴在此开设集中答疑区,欢迎大家留言咨询问
博主也会持续搜集有代表性的问题,在此更新处为大家统一解答
- 为什么我的move_base找不到可以修改代码的地方?
答:首先确认
1 | rospack find move_base |
查找其对应的位置,如果发现找到的结果在如
- 为什么我下载的navigation里面找不到这个.yaml文件,它到底在哪个路径下面啊?
答:.yaml参数文件并不是在navigation文件中,而是在你所安装的驱动包里,如博主的参数配置文件在
- 为何运行导航时经常出现如
Rotate recovery behavior started 这种字样?
答:这是movebase的旋转恢复机制,旋转恢复的产生会有三种判断机制,具体的判断和实施方法在
博主有两年多ROS的使用经验,目前仍在不停研究中。本系列ROS及SLAM进阶教程将涵盖ROS的进阶功能使用、机器人SLAM及导航的设计及研究等领域,持续不断更新中。如果大家有相关问题或发现作者漏洞欢迎私戳,同时欢迎关注收藏。
同时欢迎关注博主Git:
https://github.com/redglassli