그래서 ROS2에서는 “Lifecycle Node” (또는 Managed Node) 개념을 도입
| 상태 | 설명 | 비고 |
|---|---|---|
| unconfigured | 노드가 막 만들어졌지만 설정이나 실행에 필요한 구성이 완료되지 않은 상태 | “기계의 전원은 켜졌지만 아직 설정 안 한 상태” |
| inactive | 노드의 발행자(Publisher), 구독자(Subscriber), 서비스 등이 구성되었지만, 주요 기능을 수행하지 않는 상태 | “시동은 걸렸지만 기어는 중립에 있는 상태” |
| active | 실제로 동작 중 (토픽 퍼블리시, 구독 등) | “주행 중인 자동차” |
| finalized | 완전히 종료된 상태 | “시동 끄고 주차 완료” |
| 명령 | 전이 전 상태 | 전이 후 상태 설명 |
|---|---|---|
| configure | unconfigured → configuring → inactive | 초기 설정 수행 |
| activate | inactive → activating → active | 퍼블리셔/구독자 실제 활성화 |
| deactivate | active → deactivating → inactive | 퍼블리셔 중단, 안전하게 멈춤 |
| cleanup | inactive → cleaningup → unconfigured | 설정 해제, 리셋 |
| shutdown | (어떤 상태든) → shuttingdown → finalized | 노드 종료 |
ㄴ 명령어 : ros2 lifecycle set /노드이름 activate