ROS的Navigation导航系统&move_base

Navigation系统和人在使用地图app进行导航的过程类似,接下来让我们看下面的两幅框图:

global_planner(全局规划器)从map _server地图服务器获取global_costmap(全局地图数据),然后根据输入的导航目的地(move_base_simple/goal)生成全局导航路线(internal  nav_msgs/Path)发送给local_planner(局部规划器),由脑子来驱动机器人的底盘通讯节点(local_planner),控制机器人沿着全局导航路线进行移动,在这过程中需要激光雷达(也就是机器人的眼睛)结合定位器amcl节点来实时给出机器人的自身位置(tf),同时还需要里程计(odom)来提升定位的可靠性,在移动过程中经常会出现一些临时障碍物,所以机器人还会使用雷达、相机等传感器实时生成机器人周围的障碍物地图,又称local_costmap(局部地图)。当遇到临时障碍物挡住导航路线时,会动用局部规划器的避障算法绕开障碍物,若实在绕不过去会激活应急机制,机器人会采用一系列措施尝试突破这种困境。尝试所有措施依旧无法突破,会将障碍物更新至全局地图中,请求全局规划器再规划一条新的路线直至最终完成导航任务。

move_base:move_base的软件包包含了很多用于导航的功能,并且其中也包含了一个同名的move_base节点,将全局规划器和局部规划器连到了一起,同时还维护着两个地图分别给两个规划器使用,也就是上图中的大方框所示。下图所示的四个红色方框表示给move_base节点输送数据原料的四条线路,当四个线路都正常工作且给定导航目标点,move_base才会输出指令给底盘节点驱动机器人行驶去往目标点。

1、map_server:地图服务节点,将地图运行起来并将导航需要的地图文件加载进去,move_base就会自动来获取地图数据。

2、sensor sources:多个叠加在一起多个传感器节点,仿真机器人加载到仿真环境之中会自动输出这些数据到对应的话题。

3、odometry sources:仿真机器人自己提供。

4、tf:仿真机器人自带。

5、amcl:定位节点,需要自己运行,软件包和节点名均为amcl。

总结:将下列三个节点运行起来,再指定一下导航目标点就能让move_base控制机器人进行自主导航了

                     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值