针对移动机器人导航navigation中的全局路径规划部分,详细剖析其实现过程。
旁边专栏还在更新ROS-Navigation 包其他源码分析,便于继续深入了解
前言
在 move_base 框架中,线程 planThread 开启后,进入全局路径规划 GlobalPlanner 规划器。根据 nav_core 程序包提供的标准模板,可以直接使用自定的算法编程实现。服务Plan service接收到请求后,全局路径规划器被唤醒,通过函数PlannerWithCostmap接收规划目标点 goal,并调用构造函数 make Plan()进行路径规划。make Plan()是路径规划的功能实现函数,其首先将目标点转化成规划地图下的点,设置规划地图的尺寸大小作为约束,从 caculate Potential()函数进入 A*算法,进行具体的代价函数计算,并通过get Plan Potential 得到栅格地图下的具体路径,并发布/plan,这是整个模块的核心部分。
附navigation功能包下载地址:点这里。
提示:以下是本篇文章正文内容
1. 类实现间的继承关系
2. 类所实现作用过程的剖析
参考:
https://github.com/ros-planning/navigation/tree/kinetic-devel/
全局路劲规划的部分内容就是如上所述,内容较多,可以收藏一下,方便以后查看噢~~~