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就是base_local_planner的重写版本,对动态窗口的速度采样更好,其实就是不同的package,在navigation metapackage你都能找到这些package。
我们可以看出,move_base是navigation的逻辑核心&#