1317.1 PlanSys2의 개요와 목적

1. PlanSys2의 정의

PlanSys2(Planning System 2)는 ROS2(Robot Operating System 2) 기반의 태스크 플래닝 프레임워크로, PDDL(Planning Domain Definition Language) 도메인을 활용하여 자율 로봇 시스템의 임무 계획을 자동으로 생성하고 실행하는 소프트웨어 시스템이다(Gonzalez et al., 2021). PlanSys2는 AI 플래닝 이론과 ROS2 로봇 소프트웨어 아키텍처를 연결하는 다리 역할을 수행한다.

2. PlanSys2의 핵심 목적

2.1 자동화된 임무 계획 생성

PlanSys2의 주요 목적은 로봇의 임무를 PDDL로 모델링하고, 외부 플래너를 통해 목표 달성을 위한 액션 시퀀스를 자동으로 생성하는 것이다. 개발자가 각 임무 시나리오에 대해 하드코딩된 행동 시퀀스를 작성할 필요 없이, PDDL 도메인과 목표만 정의하면 플래너가 최적의 계획을 자동으로 탐색한다.

2.2 PDDL과 ROS2의 연결

PlanSys2는 PDDL의 추상적 액션 모델과 ROS2의 구체적 액션 서버 사이의 매핑을 제공한다. PDDL 액션 이름과 ROS2 액션 노드를 자동으로 연결하여, 계획된 각 액션이 해당 로봇 행동으로 실행되도록 한다.

2.3 동적 임무 관리

실행 중 환경 변화나 액션 실패에 대응하여 세계 상태를 갱신하고 재계획을 수행하는 동적 임무 관리를 지원한다.

3. PlanSys2의 위치

로봇 소프트웨어 스택에서 PlanSys2의 위치:

[사용자/미션 관리자]
       ↓ 목표 설정
[PlanSys2]
  ├── Domain Expert (PDDL 도메인)
  ├── Problem Expert (세계 상태 + 목표)
  ├── Planner (계획 생성)
  └── Executor (계획 실행)
       ↓ 액션 실행
[ROS2 하위 시스템]
  ├── Nav2 (내비게이션)
  ├── MoveIt2 (조작)
  └── 센서/액추에이터

PlanSys2는 상위의 임무 관리 수준과 하위의 행동 실행 수준 사이에서 계획 생성과 실행 조율을 담당한다.

4. PlanSys2와 ROSPlan의 관계

PlanSys2는 ROS1 기반의 ROSPlan(Cashmore et al., 2015)의 후속 시스템이다. ROSPlan의 설계 경험을 계승하면서 다음의 차별점을 가진다:

특성ROSPlan (ROS1)PlanSys2 (ROS2)
ROS 버전ROS1ROS2
라이프사이클 관리미지원ROS2 관리형 노드
액션 실행커스텀 인터페이스ROS2 액션 기반
행동 트리 연동제한적BehaviorTree.CPP 통합
플래너 플러그인지원확장된 플러그인 시스템
실시간 지원제한적ROS2 DDS 기반

5. PlanSys2의 대상 사용자

  1. 로봇 응용 개발자: PDDL로 임무를 모델링하고 PlanSys2로 실행하려는 개발자
  2. AI 플래닝 연구자: 새로운 플래너를 로봇 시스템에서 평가하려는 연구자
  3. 시스템 통합자: PlanSys2를 기존 ROS2 시스템에 통합하려는 엔지니어

6. PlanSys2의 핵심 기능 요약

  1. PDDL 도메인 관리: 도메인 파일의 로딩, 파싱, 조회
  2. 세계 상태 관리: 객체, 술어, 함수의 동적 추가/삭제/수정
  3. 계획 생성: 외부 플래너를 통한 자동 계획 생성
  4. 계획 실행: 생성된 계획의 순차적/병렬적 실행
  5. 모니터링: 실행 상태의 실시간 추적과 피드백
  6. 재계획: 실행 실패 시 자동 또는 수동 재계획
  7. CLI/GUI 도구: 대화형 터미널과 시각화 인터페이스

7. 참고 문헌

  • Gonzalez, F., Martin, F., Matellán, V., & Rodriguez, F. J. (2021). “PlanSys2: A Planning System Framework for ROS2.” IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC).
  • Cashmore, M., Fox, M., Long, D., Magazzeni, D., Ridder, B., Carrera, A., Palomeras, N., Hurtos, N., & Carreras, M. (2015). “ROSPlan: Planning in the Robot Operating System.” Proceedings of ICAPS.
  • Macenski, S., Foote, T., Gerkey, B., Lalancette, C., & Woodall, W. (2022). “Robot Operating System 2: Design, Architecture, and Uses in the Wild.” Science Robotics, 7(66), eabm6074.