控制器服务器
Controller Server实现了用于处理堆栈的控制器请求的服务器,并承载了插件实现的映射表。它将接收控制器、进度检查器和目标检查器的路径和插件名称,并调用相应的插件。
参数
- 控制器频率
类型
默认
双精度
20.0
- 描述
控制器运行的频率(Hz)。
- controller_plugins
类型
默认
字符串向量
['跟随路径']
- 描述
用于处理请求和参数的控制器插件的映射名称列表。
- 注意
此列表中定义的每个插件命名空间都需要有一个:code:`plugin`参数,用于定义要加载到该命名空间中的插件类型。
示例:
controller_server: ros__parameters: controller_plugins: ["FollowPath"] FollowPath: plugin: "dwb_core::DWBLocalPlanner"
- progress_checker_plugins
类型
默认
字符串向量
["progress_checker"]
- 描述
检查机器人进度的进度检查插件的映射名称。以前用于Humble和旧版本的``progress_checker_plugin``,使用单个字符串插件。
- 注意
定义的插件命名空间需要有一个
plugin
参数来定义要在命名空间中加载的插件类型。示例:
controller_server: ros__parameters: progress_checker_plugins: ["progress_checker"] # progress_checker_plugin: "progress_checker" For Humble and older progress_checker: plugin: "nav2_controller::SimpleProgressChecker"
- goal_checker_plugins
类型
默认
string
'goal_checker'
- 描述
检查目标是否已达到的目标检查插件的映射名称。
- 注意
定义的插件命名空间需要有一个
plugin
参数来定义要在命名空间中加载的插件类型。示例:
controller_server: ros__parameters: goal_checker_plugins: ["goal_checker"] goal_checker: plugin: "nav2_controller::SimpleGoalChecker"
- min_x_velocity_threshold
类型
默认
双精度
0.0001
- 描述
控制器服务器在将接收到的里程计消息发送给控制器插件之前会过滤速度部分。低于此阈值(以 m/s 为单位)的里程计值将被设置为 0.0。
- min_y_velocity_threshold
类型
默认
双精度
0.0001
- 描述
控制器服务器在将接收到的里程计消息发送给控制器插件之前会过滤速度部分。低于此阈值(以 m/s 为单位)的里程计值将被设置为 0.0。对于非全向移动机器人
- min_theta_velocity_threshold
类型
默认
双精度
0.0001
- 描述
控制器服务器在将接收到的里程计消息发送给控制器插件之前会过滤速度部分。低于此阈值(以 rad/s 为单位)的里程计值将被设置为 0.0。
- failure_tolerance
类型
默认
双精度
0.0
- 描述
被调用的控制器插件在失败之前的最大持续时间(即插件的 computeVelocityCommands 函数抛出异常)允许的时间(以秒为单位),否则 nav2_msgs::action::FollowPath 动作将失败。将其设置为特殊值 -1.0 可以使其无限制,设置为 0 则禁用,设置为正值可设定适当的超时时间。
- speed_limit_topic
类型
默认
string
"speed_limit"
- 描述
Speed limiting topic name to subscribe. This could be published by Speed Filter (please refer to 速度过滤器参数 configuration page). You can also use this without the Speed Filter as well if you provide an external server to publish these messages.
- odom_topic
类型
默认
string
"odom"
- 描述
用于获取瞬时速度测量值的主题。
Provided Plugins
下面列出的插件位于 nav2_controller 命名空间中。
默认插件
当未覆盖 progress_checker_plugins
、 goal_checker_plugin
或 controller_plugins
参数时,将加载以下默认插件:
命名空间
插件
"progress_checker"
"nav2_controller::SimpleProgressChecker"
"goal_checker"
"nav2_controller::SimpleGoalChecker"
"FollowPath"
"dwb_core::DWBLocalPlanner"
示例
controller_server:
ros__parameters:
use_sim_time: True
controller_frequency: 20.0
min_x_velocity_threshold: 0.001
min_y_velocity_threshold: 0.5
min_theta_velocity_threshold: 0.001
failure_tolerance: 0.3
odom_topic: "odom"
progress_checker_plugins: ["progress_checker"] # progress_checker_plugin: "progress_checker" For Humble and older
goal_checker_plugin: "goal_checker"
controller_plugins: ["FollowPath"]
progress_checker:
plugin: "nav2_controller::SimpleProgressChecker"
required_movement_radius: 0.5
movement_time_allowance: 10.0
goal_checker:
plugin: "nav2_controller::SimpleGoalChecker"
xy_goal_tolerance: 0.25
yaw_goal_tolerance: 0.25
stateful: True
FollowPath:
plugin: "dwb_core::DWBLocalPlanner"