运动规划(2)Navigation的介绍
·
Navigation介绍
Navigation是ROS提供的二维导航包。
导航模块的作用:输入传感器信息、地图信息、机器人位姿以及目标点,计算并且输出安全可靠的速度控制指令(是对机器人的底座下方控制命令),全局路径和局部轨迹。
Navigation软件包的架构

- map_server:地图服务器,主要功能是保存地图和导入地图。
- costmap_2d:可以生产代价地图,以及提供各种相关的函数。
- robot_pose_ekf:扩展卡尔曼滤波器,输入是里程计、IMU、VO中的任意两个或者三个,输出是一个融合之后的pose。
- localization:这里是两个定位用的package。fake_localization一般是仿真用的,amcl才是实际定位用的package。
- nav_core:这里面只有三个文件,对应的是全局路径规划、局部路径规划、recovery_action的通用接口定义,具体功能实现则是在各个对应的规划器package里。
- move_base:这里实现的是整个导航的流程。什么时候调用全局路径规划、什么时候调用局部路径规划、什么时候调用recovery_action都是这个package管的。就是下图中间方框里做的事情,可以说是整个navigation stack的核心。
定位:
fake_localization : 一般是仿真用的定位
amcl:蒙特卡洛定位
全局规划:
global_planner : 提供dijstra和A算法
navfn : 提供dijstra和A算法
局部规划:
dwa_local_planner: 动态窗口法
base_local_planner:trajectory_planner 轨迹规划器
恢复行为:
move_slow_and_clear : 清除代价地图中信息并且限制机器人移动速度
clear_costmap_recovery:清理代价地图 rotate_recovery:旋转,清理代价地图
Navigation Stack 框架


魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)