美文网首页ROS机器人操作系统
ROS Navigation Stack之概要介绍

ROS Navigation Stack之概要介绍

作者: 茶色少年 | 来源:发表于2018-12-08 11:49 被阅读1次

    Navigation Stack概述

    [图片上传失败...(image-855943-1544240929262)]
    一句话概述的话,这个stack的作用就是根据外部传感器的信息来驱动机器人完成导航.至于具体是如何实现的,我以后将对每一个包都会进行介绍和分析(欢迎关注),下面先看看这个框架中每个功能包的介绍.

    各功能包介绍

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

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

    相关连接

    官方介绍:http://wiki.ros.org/navigation
    源码地址: https://github.com/ros-planning/navigation.git

    相关文章

      网友评论

        本文标题:ROS Navigation Stack之概要介绍

        本文链接:https://www.haomeiwen.com/subject/owqqhqtx.html