1、下载编译Navigation功能包
cd ~/catkin_ws/src
sudo apt-get install https://github.com/ros-planning/navigation
cd ..
catkin_make
下载后编译可能会出现依赖项缺失情况,如下(举例子,navigation应该不会依赖Moveit的包)
could not find
moveit_coreConfig.cmake
moveit_core-config.cmake
此时下载对应版本的包就行了,假如是上述的,就在终端输入以下命令
sudo apt-get install ros-版本-moveit-core
功能包功能含义
下载完成后,功能包如下图:
其中工作框架如下:
中间的move_base是整个框架的中心,用它来完成导航功能,其矩形框中是move_base节点涉及的一些功能,有global_planner, global_costmap, local_planner等。源码包中也相关功能包。
move_base的输入有amcl,sensor transforms ,odometry source,map_server, sensor sources节点信息,由move_base相关处理,最后输出到cmd_vel节点。
其中白色的是插件,灰色的是可以选择提供的信息,浅蓝色是必须提供的,由平台决定。
功能包 | 功能 |
---|---|
acml | 定位算法 |
base_local_planner | 局部路径规划器 |
carrot_planner | 一个简单的全局路径规划器 |
clear_costmap_recovery | 清除代价地图的恢复行为… |
costmap_2d | 实现2d代价地图 |
dwa_local_planner | dwa算法局部路径规划实现 |
fake_localization | acml的API接口 |
global_planner | 全局路径规划 |
map_server | 提供地图数据,yaml或者是image |
move_base | navigation中最主要的框架 |
move_slow_and_clear | 缓慢移动修复机制,会限制机器人速度 |
nav_core | 路径规划接口类 |
navfn | 全局路径规划,旧版本的,有bug |
rotate_recovery | 旋转恢复 |
voxel_grid | 三维代价地图 |
以上是navigation包的所有package,以及其功能。