行为服务器

在Github上的源代码

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)

后退行为参数

备份距离、速度和时间允许值是从操作请求中提供的。

模拟前进时间

类型

默认

双精度

2.0

描述

向前查找碰撞的时间(秒)

按目标导航行为参数

按指定方向行驶距离、速度和时间允许值是从操作请求中提供的。

模拟前进时间

类型

默认

双精度

2.0

描述

向前查找碰撞的时间(秒)

辅助遥操作行为参数

辅助远程操控中的时间允许值是在操作请求中给定的。

投影时间

类型

默认

双精度

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