nav2_controller(Nav2控制器)是Nav2中的任务服务器。根据 nav2_planner 模块计算出路径规划(全局路径或局部路径),生成速度、方向控制的命令(说白了就是控制机器人沿着找到的路走)。
nav2_controller生成速度、方向控制的命令的方法可以有多种,因此它设计成插件形式,可以使用现有的插件,比如“DWB Controller”“TEB Controller”“MPPI Controller”等,也可以自己来实现。
nav2_controller还是一个动作服务器(Action Server),对应的动作消息为“nav2_msgs::action::FollowPath”
主函数一共四行,对应ROS2节点实现的四步:初始化、创建节点、阻塞运行、关闭。
int main(int argc,