ROS2与Navigation2入门教程-配置恢复器服务器(Recovery Server)
说明:
- 介绍如何配置恢复器服务器(Recovery Server)
概述
其源代码位于Github网站上。
恢复器服务器实现了用于处理恢复请求的服务器,并托管了实现各种C++恢复器的插件向量。也可以为每个自定义恢复器实现独立的恢复器服务器,但该服务器允许多个恢复器共享诸如成本地图和TF缓冲区等资源,以降低新行为的增量成本。
等待(wait)恢复器没有参数,等待的持续时间会在动作请求中给出。
恢复器服务器参数
恢复器服务器具有以下7个参数:
costmap_topic参数:
数据类型:string
默认值:“local_costmap/costmap_raw”
描述:设置用于发布碰撞检测原始成本地图的话题。
- footprint_topic参数:
数据类型:string
默认值:“local_costmap/ published_footprint”
描述:设置用于发布成本地图坐标系中的足迹的话题。
- cycle_frequency参数:
数据类型:double
默认值:10.0
描述:用于设置运行恢复器插件的频率。
- transform_tolerance参数:
数据类型:double
默认值:0.1
描述:用于设置TF坐标变换的容差。
- global_frame参数:
数据类型:string
默认值:“odom”
描述:用于设置参考坐标系。
- robot_base_frame参数:
数据类型:string
默认值:“base_link”
描述:用于设置机器人的底座坐标系。
- recovery_plugins参数:
数据类型:vector<string>
默认值:{“spin”, “back_up”, “wait”}
描述:要使用的插件名称列表,也要与动作服务器名称匹配。
- 注:此列表中定义的每个插件命名空间下都要有一个plugin参数来定义要在该命名空间中加载的插件类型。
- 例如:
recoveries_server:
ros__parameters:
recovery_plugins: ["spin", "backup", "wait"]
spin:
plugin: "nav2_recoveries/Spin"
backup:
plugin: "nav2_recoveries/BackUp"
wait:
plugin: "nav2_recoveries/Wait"
默认插件
- 当recovery_plugins参数未被覆盖时,会加载以下默认插件:
命名空间(Namespace) | 默认插件(Plugin) | |
“spin” | “nav2_recoveries/Spin” | |
“backup” | “nav2_recoveries/BackUp” | |
“wait” | “nav2_recoveries/Wait” |
旋转恢复器(Spin Recovery)参数
旋转距离会在动作请求中给出。旋转恢复器具有以下4个参数:
simulate_ahead_time参数:
数据类型:double
默认值:2.0
描述:用于设置等待碰撞的时间长度(单位为秒)。
- max_rotational_vel参数:
数据类型:double
默认值:1.0
描述:用于设置最大旋转速度(单位为弧度/秒)。
- min_rotational_vel参数:
数据类型:double
默认值:0.4
描述:用于设置最小旋转速度(单位为弧度/秒)。
- rotational_acc_lim参数:
数据类型:double
默认值:3.2
描述:用于设置最大旋转加速度(单位为弧度/秒2)。
后退恢复器(Backup Recovery)参数
后退距离会在动作请求给出。后退恢复器只有1个参数:
simulate_ahead_time参数:
数据类型:double
默认值:2.0
描述:用于设置等待碰撞的时间长度(单位为秒)。
示例
recoveries_server:
ros__parameters:
costmap_topic: local_costmap/costmap_raw
footprint_topic: local_costmap/published_footprint
cycle_frequency: 10.0
recovery_plugins: ["spin", "backup", "wait"]
spin:
plugin: "nav2_recoveries/Spin"
backup:
plugin: "nav2_recoveries/BackUp"
wait:
plugin: "nav2_recoveries/Wait"
global_frame: odom
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
参考:
- https://navigation.ros.org/configuration/packages/configuring-recovery-server.html
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号