Skip to content

托管节点

托管节点生命周期(managed lifecycles)允许对 ROS 系统的状态进行更精细的控制。 本示例通过一对简单的 talker/listener 托管节点,展示如何实现和使用托管生命周期。 你可以借此理解并实践这种节点管理方式。

领域:ROS-framework | 内容类型:示例 | 经验:专家

ROS 2 引入了托管节点(managed nodes)的概念,也称为生命周期节点(lifecycle nodes)。 这些节点能够确保资源在各生命周期状态的转换过程中被正确地初始化(initialise)、激活(activate)、停用(deactivate)和清理(cleanup)。 一个常见的用例是硬件控制节点——这类节点涉及的摄像头、激光雷达(lidar)、电机驱动器以及其他传感器和执行器,都必须按受控顺序启动、配置和关闭。

使用生命周期节点可以确保硬件仅在就绪后才进行初始化,并在关闭或错误恢复期间被安全释放。 以下功能包可用于实现这些托管节点:rclcpp_lifecycle(实现库)和 lifecycle_msgs(接口定义)。

如需安装 ROS 2,请参阅安装说明。

关于如何运行该示例,请参见:lifecycle_demo_launch.py

关于如何运行该示例及其具体工作原理,请参见:lifecycle README

功能包/参考:

  • rclcpp_lifecycle(实现库):包含生命周期实现原型的功能包。
  • lifecycle_msgs(接口定义):包含生命周期相关消息和服务定义的功能包。
  • lifecycle:包含生命周期实现演示的功能包。