概述
各功能包介绍
amcl:amcl的作用是根据机器人自身的里程数值以及地图特征,利用粒子滤波修正机器人在已知的地图内的位置
base_local_planner: 局部路径规划器
dwa_local_planner:也是局部路径规划器,使用动态窗口法
carrot_planner: 很简单的全局路径规划器,生成的路径为目标点到机器人当前点的连线上的点
clear_costmap_recovery: 无法规划路径的恢复算法
costmap_2d: 代价地图实现
fake_localization: 主要用来做定位仿真
global_planner:全局路径规划算法包
map_server: 提供代价地图的管理服务
move_base: 机器人移动导航框架(导航最主要的逻辑框架)
move_slow_and_clear:也是一种恢复策略
nav_core:提供接口,能够实现插件更换算法的主要包
nav_fn:全局路径规划算法
robot_pose_ekf:综合里程计、GPS、imu数据,通过拓展卡尔曼滤波进行位置估计
rotate_recovery:旋转恢复策略实现包
voxel_grid:三维代价地图
Navigation Stack
图1. Navigation Stack源码包结构
从上图可以看到,整个navigation stack可以分为三部分,在导航中,move_base为实现逻辑框架,而nav_core提供了全局路径规划器/局部路径规划器通过接口,通过这个接口可以实现按照插件形式来更换算法,另外还提供了两种(二维和三维)栅格地图;
地图服务器主要是管理地图,用于读写地图并发布地图消息供其他功能包订阅.
定位方面fake_localization提供了一个实现,robot_pose_ekf主要是综合传感器信息修正机器人的里程值,而amcl主要是用于提供将机器人的里程计值和地图结合,估算出机器人在地图中位置。
最后
以上就是舒心短靴为你收集整理的ros navigation 导航框架简介的全部内容,希望文章能够帮你解决ros navigation 导航框架简介所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复