PlanSys2를 활용한 자율 계획 도입 사례 (Case Study: Introducing Autonomous Planning with PlanSys2)

PlanSys2를 활용한 자율 계획 도입 사례 (Case Study: Introducing Autonomous Planning with PlanSys2)

1. 개요

PlanSys2는 ROS2 생태계에서 PDDL 기반 태스크 플래닝을 제공하는 대표적 프레임워크이다. 본 절에서는 PlanSys2를 활용하여 기존 하드코딩 기반 시스템에 자율 계획을 도입한 사례를 다룬다.

2. 도입 사례: 물류 로봇 배달 시스템

2.1 기존 시스템 (하드코딩)

# 고정 배달 스크립트
mission:
  - navigate_to: kitchen
  - pick: tray_1
  - navigate_to: room_301
  - place: tray_1
  - navigate_to: kitchen
  - pick: tray_2
  - navigate_to: room_302
  - place: tray_2

한계: 배달 순서가 고정되어 있고, 새 배달이 추가되면 스크립트를 수동으로 수정하여야 한다.

2.2 PlanSys2 도입 후

PDDL 도메인:
  행동: move, pick, place
  술어: at, holding, on, connected

PDDL 문제:
  객체: robot1, tray_1, tray_2, kitchen, room_301, room_302
  초기 상태: at(robot1, dock), on(tray_1, kitchen), on(tray_2, kitchen)
  목표: on(tray_1, room_301) ∧ on(tray_2, room_302)

계획기가 자동 생성:
  [move(dock, kitchen), pick(tray_1), move(kitchen, room_301),
   place(tray_1), move(room_301, kitchen), pick(tray_2),
   move(kitchen, room_302), place(tray_2)]

2.3 도입 효과

지표하드코딩PlanSys2
새 배달 추가 비용스크립트 수정목표에 추가
순서 최적화수동자동
환경 변화 대응스크립트 재작성재계획
다중 로봇 확장복잡한 조율 코드도메인 확장

3. 도입 단계

  1. 도메인 모델 설계: 로봇의 행동을 PDDL 액션으로 정의
  2. 행동 트리 구현: 각 PDDL 행동에 대응하는 행동 트리 작성
  3. PlanSys2 통합: Domain Expert, Problem Expert, Planner, Executor 설정
  4. 테스트 및 검증: 시뮬레이션에서 계획 생성 및 실행 검증
  5. 실제 환경 배포: 실제 로봇에 배포 및 운용

4. 참고 문헌

  • PlanSys2 공식 문서. https://plansys2.github.io/
  • PlanSys2 튜토리얼. https://plansys2.github.io/tutorials/

버전날짜변경 사항
v0.12026-04-05초안 작성