生命周期管理

Github 上的源代码 [校准@小鱼]

生命周期管理模块实现了以确定性方式处理堆栈的生命周期转换状态的方法。它将接收一组有序节点以逐个转换到配置和激活状态以运行堆栈。然后它将以相反的顺序将堆栈带入完成状态。它还将创建与服务器的绑定连接,以确保它们仍然处于启动状态,并在所有节点无响应或崩溃时向下过渡。 [校准@songhuangong]

参数

node_names

类型

默认值

vector<string>

N/A

描述

通过生命周期转换启动的节点名称的有序列表。 [校准@songhuangong]

autostart

类型

默认值

bool

false

描述

是否在启动时将节点转换为活动状态。 [待校准@2691]

bond_timeout

类型

默认值

int

4.0

描述

如果服务器无响应,则过渡到此管理器的所有生命周期节点超时,以秒为单位。设置为 0 以停用。对于全本地节点发现,建议始终大于 0.3s。注意:如果服务器干净地退出,管理员将立即收到通知。 [校准@小鱼]

Example

lifecycle_manager:
  ros__parameters:
    autostart: true
    node_names: ['controller_server', 'planner_server', 'recoveries_server', 'bt_navigator', 'waypoint_follower']
    bond_timeout: 4.0