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. 도입 단계
- 도메인 모델 설계: 로봇의 행동을 PDDL 액션으로 정의
- 행동 트리 구현: 각 PDDL 행동에 대응하는 행동 트리 작성
- PlanSys2 통합: Domain Expert, Problem Expert, Planner, Executor 설정
- 테스트 및 검증: 시뮬레이션에서 계획 생성 및 실행 검증
- 실제 환경 배포: 실제 로봇에 배포 및 운용
4. 참고 문헌
- PlanSys2 공식 문서. https://plansys2.github.io/
- PlanSys2 튜토리얼. https://plansys2.github.io/tutorials/
| 버전 | 날짜 | 변경 사항 |
|---|---|---|
| v0.1 | 2026-04-05 | 초안 작성 |