ROS导航包学习 - 全局路径规划
ROS导航包中全局路径规划功能在navigator/global_planner/planner_core.h
planner_core.h文件中定义了全局规划器的功能接口
class GlobalPlanner : public nav_core::BaseGlobalPlanner
其中nav_core基类定义在/navigator/nav_core_base_global_planner.h中
主要定义了2个纯虚函数接口:
1.makePlan 路径规划接口函数
2.initialize 初始化规划器接口函数
在GlobalPlanner中的主要接口函数:
1 makePlan 重载了路径规划接口函数
2 initialize 重载了初始化规划器接口函数
3 computePotential 新定义了计算规划地图势场的接口函数 (已经不使用了)
4 getPlanFromPotential 新定义了得到规划路径的接口函数(提供给makePlan使用)
在GlobalPlanner中的主要成员变量
1 Expander* planner_ 成员变量图搜索算法指针,如: (a星、dijkstra),该成员变量为图搜索算法的基类,定义在navigator/global_planner/expender.h中,提供了一个纯虚汗数接口定义
calculatePotentials 图搜索算法计算势场接口,这个接口会被(a星、dijkstra)图搜索算法集成并提供给GlobalPlanner的makePlan使用
GlobalPlanner中原定义的computePotential接口不使用了,应该也是为了更方便的扩展不同的图搜索算法,而将计算规划地图势场的功能交由独立的图搜索算法实现。