0 前言
机器人在实际导航过程中,常常需要执行各种各样的控制算法应对不同的场景,例如:前方突然遇到障碍物,切换混合A*算法执行倒车,然后再切换原算法;充电桩对接;某些路段想要实时避开障碍物
需要机器人在不同的场景切换执行对应的算法插件
本文通过指导如何配置实现以及相关源码分析的方式,讲解实现导航多控制器实时切换功能
1 controller参数配置
controller_server:
ros__parameters:
controller_plugins: ["FollowPath"]
FollowPath:
plugin: "dwb_core::DWBLocalPlanner"
默认只有"FollowPath"
一个映射名,如果要增加控制器,则往该列表里添加新的字符串,且此列表中定义的每个插件命名空间都需要有一个plugin
参数来定义要在命名空间中加载的控制器插件
举例:
controller_server:
ros__parameters:
controller_plugins: