简介
gav_core包里面只有四个头文件,规定了导航核心功能包必须有的接口。
四个头文件中:
三个虚基类:BaseGlobalPlanner、BaseLocalPlanner、RecoveryBehavior
函数:loadParameterWithDeprecation加载ros参数服务器中的参数。
BaseGlobalPlanner类
1、虚函数initialize:
需实现功能:设定全局规划器名字,给出costmap
2、虚函数makePlan。
需实现功能:根据起点终点规划出一条路径。
BaseLocalPlanner类
1、虚函数computeVelocityCommands
需实现功能:给定机器人的当前位置,方向和速度,计算要发送到基座的速度命令
2、虚函数isGoalReached
需实现功能:是否到达目标
3、虚函数setPlan
需实现功能:给局部规划器一个需要跟随的路径
4、虚函数initialize:
需实现功能:设定局部规划器名字,给出costmap,给一个tf listener
RecoveryBehavior类
1、虚函数initialize:
需实现功能:设定恢复行为名字,给出全局、局部costmap,给一个tf listener
2、虚函数runBehavior
需实现功能:给定行为。
可借鉴的思想:接口化的设计思想,便于读、修改、维护