ros navigation 导航框架简介

各功能包介绍

    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源码包结构

ros navigation 导航框架简介_第1张图片
    从上图可以看到,整个navigation stack可以分为三部分,在导航中,move_base为实现逻辑框架,而nav_core提供了全局路径规划器/局部路径规划器通过接口,通过这个接口可以实现按照插件形式来更换算法,另外还提供了两种(二维和三维)栅格地图;
    地图服务器主要是管理地图,用于读写地图并发布地图消息供其他功能包订阅.
    定位方面fake_localization提供了一个实现,robot_pose_ekf主要是综合传感器信息修正机器人的里程值,而amcl主要是用于提供将机器人的里程计值和地图结合,估算出机器人在地图中位置。

你可能感兴趣的:(slam)