古月 ROS移动机器人实战5.3ROS导航框架介绍笔记

机器人自主导航流程
在这里插入图片描述
机器人躲避障碍物,偏离最优路径,由本地规划器完成。本地规划器实时规划避障路径,还会努力让机器人沿着全局路径运动,也就是规划机器人每时每刻的运动速度,速度通过cmd_vel发送给底盘,底盘中的驱动就会控制机器人的电机按照某一速度运动,从而带动机器人向目标前进。

白色表示在导航里面这个模块是必须的(ros提供的,可以直接用),灰色用不用都行(需要可以直接调用),蓝色需要重点关注(硬件相关的驱动和控制需要自己实现)
全局规划器负责规划从起点到终点的最优路径,本地规划器尽量让机器人沿着最优路径运动,并完成对动态障碍物的实时避障规划,计算路径的依据是全局和局部代价地图,代价地图是在栅格地图的基础上给每个格子赋予了一个代价值,规划器规划的路径就会有一个总体代价,付出的代价越小就是越优的路径。
完整地图变成的代价地图数据量大,但是信息量足够多,主要提供给全局规划器使用;本地代价地图只裁剪了机器人周边小范围的代价地图,便于实时计算,提供给本地规划器使用。
recovery_behaviors,机器人发现自己无法导航时触发的行为,原地打转、寻找出路或者清除代价地图,重新根据传感器来检测障碍物是否真实存在,还可以根据应用场景,自己开发恢复动作。
amcl是基于雷达的全新定位算法,就像是手机的GPS功能一样,持续为导航提供机器人的位姿信息,里程计也可以定位,但是有累积误差,因此大部分时间需要用到amcl。
蓝色的模块:需要根据机器人采用的硬件,为导航提供相应的数据支持。通过传感器驱动发布话题信息,还有传感器与机器人的坐标变换,便于算法将雷达获取的深度数据转换成机器人坐标系下的距离。
参考链接:http://wiki.rps.org/navigation
机器人根据里程计硬件实时发布odom话题。
最终只是给机器人发布一个速度控制的话题–cmd_vel。指令落实到机器人的电机上需要机器人的底层控制器来实现。
在这里插入图片描述
在这里插入图片描述
amcl功能包封装了一套针对二维环境下的蒙特卡洛定位方法,针对已有的地图使用粒子滤波器跟踪一个机器人的姿态,得到优化后的全局定位。以某一个固定的频率不断对粒子做筛选,基本一致的留下,不一致的删掉,最终这些粒子就会逐渐向机器人的真实位姿靠拢,聚集度最高的地方就看做是机器人的当前位姿。可以参考《概率机器人》做更加深入的学习。
在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值