行为服务器
Behavior Server实现了处理恢复行为请求和托管实现各种C++行为的插件向量的服务器。也可以为每个自定义行为实现独立的行为服务器,但此服务器允许多个行为共享资源,如costmaps和TF缓冲区,以降低新行为的增量成本。
注意:等待恢复行为没有参数,等待的持续时间在动作请求中给出。注意:在Rolling/Humble之前,这是恢复服务器,而不是行为服务器。启动文件、行为和测试都已重命名。
Behavior Server参数
- 局部代价地图主题
类型
默认
string
"local_costmap/costmap_raw"
- 描述
用于在局部代价地图上进行碰撞检查的原始代价地图主题。
- global_costmap_topic
类型
默认
string
"global_costmap/costmap_raw"
- 描述
用于在全局代价地图上进行碰撞检查的原始代价地图主题。
- 局部轮廓主题
类型
默认
string
"local_costmap/published_footprint"
- 描述
在本地代价地图框架中的足迹主题。
- global_footprint_topic
类型
默认
string
"global_costmap/published_footprint"
- 描述
全局代价地图框架中的足迹主题。
- 循环频率
类型
默认
双精度
10.0
- 描述
运行行为插件的频率。
- transform_tolerance
类型
默认
双精度
0.1
- 描述
TF变换容差。
- 本地帧
类型
默认
string
"odom"
- 描述
本地参考框架。
- global_frame
类型
默认
string
"地图"
- 描述
全局参考帧。
- 机器人基准坐标系
类型
默认
string
"base_link"
- 描述
机器人基准坐标系。
- 行为插件
类型
默认
字符串向量
{"spin", "back_up", "drive_on_heading", "wait"}
- 描述
要使用的插件名称列表,也与动作服务器名称匹配。
- 注意
此列表中定义的每个插件命名空间都需要有一个:code:`plugin`参数,用于定义要加载到该命名空间中的插件类型。
示例:
behavior_server: ros__parameters: behavior_plugins: ["spin", "backup", "drive_on_heading", "wait"] spin: plugin: "nav2_behaviors/Spin" backup: plugin: "nav2_behaviors/BackUp" drive_on_heading: plugin: "nav2_behaviors/DriveOnHeading" wait: plugin: "nav2_behaviors/Wait"
默认插件
当未覆盖 behavior_plugins
参数时,将加载以下默认插件:
命名空间
插件
"旋转"
"nav2_behaviors/Spin"
"备份"
"nav2_behaviors/BackUp"
"按照航向前进"
"nav2_behaviors/DriveOnHeading"
"等待"
"nav2_behaviors/Wait"
旋转行为参数
从动作请求中给出旋转距离
- 模拟前进时间
类型
默认
双精度
2.0
- 描述
向前查找碰撞的时间(秒)
- 最大旋转速度
类型
默认
双精度
1.0
- 描述
最大旋转速度(弧度/秒)
- min_rotational_vel
类型
默认
双精度
0.4
- 描述
最小旋转速度(rad/s)。
- rotational_acc_lim
类型
默认
双精度
3.2
- 描述
最大旋转加速度(弧度/秒^2)
辅助遥操作行为参数
辅助远程操控中的时间允许值是在操作请求中给定的。
- 投影时间
类型
默认
双精度
1.0
- 描述
向前查找碰撞的时间(秒)
- 模拟时间步长
类型
默认
双精度
0.1
- 描述
投影的时间步长(秒)。
- cmd_vel_teleop
类型
默认
string
cmd_vel_teleop
- 描述
用于监听远程操作消息的主题。
示例
behavior_server:
ros__parameters:
local_costmap_topic: local_costmap/costmap_raw
local_footprint_topic: local_costmap/published_footprint
global_costmap_topic: global_costmap/costmap_raw
global_footprint_topic: global_costmap/published_footprint
cycle_frequency: 10.0
behavior_plugins: ["spin", "backup", "drive_on_heading", "wait", "assisted_teleop"]
spin:
plugin: "nav2_behaviors/Spin"
backup:
plugin: "nav2_behaviors/BackUp"
drive_on_heading:
plugin: "nav2_behaviors/DriveOnHeading"
wait:
plugin: "nav2_behaviors/Wait"
assisted_teleop:
plugin: "nav2_behaviors/AssistedTeleop"
local_frame: odom
global_frame: map
robot_base_frame: base_link
transform_timeout: 0.1
simulate_ahead_time: 2.0
max_rotational_vel: 1.0
min_rotational_vel: 0.4
rotational_acc_lim: 3.2