move_base
move_base节点位于导航框架正中心,可以理解为一个强大的路径规划器,在实际的导航任务中,只需要启动这一个node,并且给他提供数据,就可以规划出路径和速度。在navigation这个问题的角度,map是作为已知信息,默认是已经解决的。

下图表示了move_base的组成部分。

中间这个节点就是move_base,它要正常工作,首先需要设置好三个接口,分别叫做Base Local Planner、Base Global Planner、Recovery Behavior, 在ROS里,实际的路径规划一般就是分为这么三部分。
Base Local Planner是全局规划,负责轨迹的大方向,用来躲避静态障碍物。Base Global Planner是局部路径规划,负责具体的运动细节,用来躲避移动中的障碍物,也就是动态避障。
做好了这两部分路径规划,机器人就可以正常的运动了,但有些时候,机器人也会陷入一些运动情况,比如碰撞到障碍物,那它就会有一些恢复动作,Recovery Behavior就属于异常动作处理的方法。
针对这三个接口,每一个ROS都给我们提供了一些插件,供用户来选择。比如局部路径规划,ROS提供了两个插件,这每一个插件,都是不同算法的实现,dwa_local_planner就

本文深入解析ROS中的move_base节点,它是导航任务的核心,通过BaseLocalPlanner、BaseGlobalPlanner和RecoveryBehavior接口实现路径规划与避障。文章介绍了各个插件的功能,如dwa_local_planner和navfn,以及如何通过nav_core接口类调用这些插件。
最低0.47元/天 解锁文章
2920





