본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
오늘은 어제 배웠던 nav2_lifecycle_manager에
대해서 자세히 알아보았다.
[오늘의 수강 영상]
[오늘의 이론]
Lifecycle이란?
ROS2에서 노드의 상태를 체계적으로
관리하기 위한 시스템이다.
Lifecycle은 ROS1에서는 없었지만
ROS2에서 managed node라는 개념이 생기면서
생긴 시스템으로 노드의 상태 전환을 편하게 제어할 수 있다.
Lifecycle을 사용하면 관리하는 노드들을
재시작, 일시 중지, 실행을 쉽게 제어할 수 있게 된다.
Lifecycle은 크게 3가지 상태로 나뉘게 된다.
1. unconfigured
노드가 생성됐지만 초기화되지 않은 상태이다.
2. inactive
초기화는 됐지만 활성화되지 않은 상태이다.
3. active
활성화가 된 상태이다.
4. finalized
노드가 종료된 상태이다.
이러한 Lifecycle을 제어하는 패키지가
nav2_lifecycle_manager이다.
nav2_lifecycle_manager을 사용하면
Nav2 관련 노드의 상태를 제어하고 실행 상태를
수정할 수 있다.
이런 노드들은 lifecycle_manager 노드에 의해 관리된다.
이렇게 노드를 관리하는 이유에는
노드의 상태 기반을 효율적으로 관리하며
자동 복구와 오류처리를 원활하게 하기 위해서이며
시스템을 투명하게 관리하기 위해서이다.
nav2_lifecycle_manager를 사용하면 위와 같이
우리가 사용했던 map_server노드와 amcl노드와 같은
다양한 노드들을 한번에 사용할 수 있게 된다.
오늘은 Lifecycle에 대해서 배워보면서
이제 노드들을 진짜 손쉽게 관리할 수 있겠구나 하는
생각을 하게 되었다.
항상 노드를 여러 개 켜놓고 끌 때
ctrl+c를 사용해서 노드를 끄고 키고를
반복하였어서 헷갈릴 때도 있었는데
이번에 이를 잘 다룰 수 있게
내일 배우는 실습을 잘 익혀놔야겠다.
#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완
커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr