Waypoint Follower

源代码在 Github.

航点跟随器模块使用 NavigateToPose 动作服务器实现了一种航点跟随方法。 它将接收一组有序的航点进行跟随,然后尝试按顺序导航到它们。 它还托管一个航点任务执行器插件,可用于在航点执行自定义行为,如等待用户指令、拍照或拿起箱子。 如果无法到达某个航点,stop_on_failure 参数将确定是继续前往下一个点还是停止。

参数

stop_on_failure:

Type

Default

bool

true

Description

如果单个航点失败,是否使操作任务失败。如果为 false,将继续到下一个航点。

loop_rate:

Type

Default

int

20

Description

对当前导航任务的结果进行检查。

global_frame_id:

Type

Default

string

‘map’

Description

robot_localization 发布的全局坐标系的名称。仅供 gps_waypoint_follower 使用,将 GPS 航点转换为此坐标系。

action_server_result_timeout:

Type

Default

Unit

double

900.0

seconds

Description

如果未产生结果,则操作服务器丢弃目标句柄的超时值(以秒为单位)。这在 rcl 中默认为 15 分钟,但在此 PR #1012 中更改为 10 秒,这可能小于 Nav2 中某些操作的运行时间。对于大多数应用程序,只要服务器内的操作不超过此期限,就不需要调整。 此问题已向 OSRF 提出,以寻找另一种解决方案来避免记账时出现活动目标超时,因此这是一个半临时的解决方法

bond_heartbeat_period:

Type

Default

double

0.1

Description

生命周期节点债券机制发布周期(在 /bond 主题上)。如果小于或等于 0.0,则禁用。

waypoint_task_executor_plugin:

Type

Default

string

‘wait_at_waypoint’

Description

用于定义机器人到达航点时要执行的任务的插件。

Note

定义的插件命名空间需要有一个:code:plugin 参数来定义要在命名空间中加载的插件的类型。

Example:

waypoint_follower:
  ros__parameters:
    waypoint_task_executor_plugin: "wait_at_waypoint"
    wait_at_waypoint:
      plugin: "nav2_waypoint_follower::WaitAtWaypoint"
      enabled: True
      waypoint_pause_duration: 0

提供的插件

下面列出的插件位于“nav2_waypoint_follower”命名空间内。

默认插件

Namespace

Plugin

“wait_at_waypoint”

“nav2_waypoint_follower::WaitAtWaypoint”

Example

waypoint_follower:
  ros__parameters:
    loop_rate: 20
    stop_on_failure: false
    waypoint_task_executor_plugin: "wait_at_waypoint"
      wait_at_waypoint:
        plugin: "nav2_waypoint_follower::WaitAtWaypoint"
        enabled: True
        waypoint_pause_duration: 0