Chapter 1273. 액션 서버 생명주기 관리 (Action Server Lifecycle Management) Chapter 1273. 액션 서버 생명주기 관리 (Action Server Lifecycle Management) 1273.1생명주기 관리의 개념과 필요성 1273.2ROS2 생명주기 노드(LifecycleNode) 개요 1273.3생명주기 노드의 상태 정의 1273.4UNCONFIGURED 상태의 의미 1273.5INACTIVE 상태의 의미 1273.6ACTIVE 상태의 의미 1273.7FINALIZED 상태의 의미 1273.8기본 상태와 전이 상태의 구분 1273.9생명주기 상태 전이 규칙 1273.10CONFIGURING 전이: on_configure 콜백 1273.11ACTIVATING 전이: on_activate 콜백 1273.12DEACTIVATING 전이: on_deactivate 콜백 1273.13CLEANING_UP 전이: on_cleanup 콜백 1273.14SHUTTING_DOWN 전이: on_shutdown 콜백 1273.15ERROR_PROCESSING 전이: on_error 콜백 1273.16전이 콜백의 성공/실패 반환 1273.17CallbackReturn::SUCCESS의 의미 1273.18CallbackReturn::FAILURE의 의미 1273.19CallbackReturn::ERROR의 의미 1273.20LifecycleNode에서의 액션 서버 생성 1273.21on_configure에서 액션 서버 인스턴스 생성 1273.22리소스 초기화 시점과 순서 1273.23매개변수 로딩과 유효성 검증 1273.24하드웨어 인터페이스 초기화 1273.25on_activate에서 액션 서버 활성화 1273.26액션 서버의 요청 수락 시작 1273.27센서 데이터 수집 시작 1273.28액추에이터 활성화 1273.29진단 발행 시작 1273.30on_deactivate에서 액션 서버 비활성화 1273.31신규 목표 수락 중단 1273.32진행 중인 목표의 처리 전략 1273.33진행 중인 목표의 안전한 취소 1273.34진행 중인 목표의 일시 정지 1273.35진행 중인 목표 완료 대기 1273.36센서 데이터 수집 중단 1273.37액추에이터 비활성화 1273.38on_cleanup에서 액션 서버 정리 1273.39액션 서버 인스턴스 해제 1273.40할당된 리소스 정리 1273.41내부 상태 초기화 1273.42on_shutdown에서의 최종 정리 1273.43비상 정지 시 shutdown 처리 1273.44모든 활성 목표의 강제 중단 1273.45하드웨어 안전 상태 복원 1273.46on_error에서의 오류 복구 1273.47오류 상태 진단과 로깅 1273.48복구 가능한 오류의 처리 1273.49복구 불가능한 오류 시 FINALIZED 전이 1273.50생명주기 노드와 액션 서버의 상태 일관성 1273.51생명주기 상태와 목표 수락 정책의 연동 1273.52INACTIVE 상태에서의 목표 거부 1273.53ACTIVE 상태에서만 목표 수락 1273.54상태 전이 중 목표 요청 처리 1273.55전이 중 목표 수신 시 대기열 처리 1273.56액션 서버와 생명주기 전이 관리자(Transition Manager) 1273.57프로그래밍 방식의 상태 전이 1273.58외부 서비스를 통한 상태 전이 1273.59ros2 lifecycle 명령줄 도구 1273.60lifecycle_msgs를 활용한 원격 상태 전이 1273.61생명주기 관리자(Lifecycle Manager) 통합 1273.62launch_ros의 lifecycle_node 지원 1273.63런치 파일에서의 생명주기 노드 구성 1273.64자동 상태 전이 시퀀스 설정 1273.65다중 생명주기 노드의 조율 1273.66의존성 기반 활성화 순서 1273.67구성요소 간 생명주기 동기화 1273.68Nav2 lifecycle_manager 분석 1273.69Nav2에서의 생명주기 관리 패턴 1273.70복구(Recovery) 동작과 생명주기 1273.71Nav2 서버들의 생명주기 조율 1273.72액션 서버의 상태 모니터링과 진단 1273.73diagnostic_updater를 활용한 상태 보고 1273.74현재 생명주기 상태 발행 1273.75활성 목표 수 보고 1273.76서버 건강 상태(Health Status) 발행 1273.77생명주기 기반 장애 복구 전략 1273.78자동 재시작 패턴 1273.79비활성화-재구성-재활성화 시퀀스 1273.80장애 경보와 외부 복구 트리거 1273.81Watchdog 타이머를 활용한 생명주기 감시 1273.82생명주기 노드의 QoS 관리 1273.83상태별 QoS 프로파일 전환 1273.84ACTIVE 상태의 실시간 QoS 설정 1273.85INACTIVE 상태의 대기 QoS 설정 1273.86생명주기 노드와 컴포넌트의 통합 1273.87컴포넌트 기반 생명주기 액션 노드 1273.88컴포넌트 컨테이너에서의 생명주기 관리 1273.89생명주기 관리의 안전 고려사항 1273.90안전 필수 시스템에서의 생명주기 설계 1273.91비상 상황에서의 상태 전이 규칙 1273.92안전 무결성 수준과 생명주기 관리 1273.93네비게이션 액션 서버 생명주기 예제 1273.94Nav2 NavigateToPose 서버의 생명주기 1273.95맵 로딩과 on_configure 1273.96네비게이션 시작과 on_activate 1273.97매니퓰레이션 액션 서버 생명주기 예제 1273.98MoveIt2 서버의 생명주기 관리 1273.99로봇 팔 초기화와 on_configure 1273.100드론 액션 서버 생명주기 예제 1273.101비행 제어 서버의 생명주기 1273.102센서 캘리브레이션과 on_configure 1273.103생명주기 관리의 단위 테스트 1273.104상태 전이 시퀀스 테스트 1273.105전이 실패 복구 테스트 1273.106생명주기 이벤트와 목표 처리 연동 테스트 1273.107다중 노드 생명주기 조율 테스트 1273.108액션 서버 생명주기 관리 모범 사례 요약