자율 계획의 핵심 구성 요소 (Key Components of Autonomous Planning)
1. 개요
자율 계획 시스템은 도메인 모델, 문제 정의, 계획기, 실행기의 네 가지 핵심 구성 요소로 이루어진다. 각 구성 요소는 독립적으로 정의되고 관리되며, 이들의 조합에 의해 완전한 자율 계획 시스템이 구성된다.
2. 도메인 모델 (Domain Model)
도메인 모델은 로봇이 수행할 수 있는 행동과 세계의 구조를 기술한다.
2.1 구성 요소
| 요소 | 설명 | PDDL 키워드 |
|---|---|---|
| 타입 (Types) | 객체의 분류 | :types |
| 술어 (Predicates) | 상태를 기술하는 명제 | :predicates |
| 행동 (Actions) | 로봇의 가능한 행동 | :action |
| 함수 (Functions) | 수치적 상태 변수 | :functions |
2.2 행동 정의
각 행동은 이름, 매개변수, 전제 조건, 효과로 구성된다.
(:action move
:parameters (?robot - robot ?from ?to - location)
:precondition (and (at ?robot ?from)
(connected ?from ?to))
:effect (and (at ?robot ?to)
(not (at ?robot ?from))))
3. 문제 정의 (Problem Definition)
문제 정의는 특정 임무의 초기 상태와 목표 조건을 기술한다.
3.1 구성 요소
| 요소 | 설명 | PDDL 키워드 |
|---|---|---|
| 객체 (Objects) | 세계에 존재하는 구체적 객체 | :objects |
| 초기 상태 (Init) | 현재 세계의 상태 | :init |
| 목표 (Goal) | 달성할 상태 조건 | :goal |
(:init (at robot1 room_A)
(on box1 room_B)
(connected room_A room_B)
(connected room_B room_C))
(:goal (on box1 room_C))
4. 계획기 (Planner)
계획기는 도메인 모델과 문제 정의를 입력으로 받아 행동 시퀀스(계획)를 생성하는 알고리즘이다.
4.1 주요 계획기
| 계획기 | 알고리즘 | 특징 |
|---|---|---|
| FF | 순방향 탐색 + 완화 그래프 | 빠른 속도 |
| POPF | 부분 순서 계획 | 시간적 계획 지원 |
| LAMA | 랜드마크 기반 | 대규모 문제 효율적 |
| OPTIC | 시간적 계획 | 시간 제약 지원 |
5. 실행기 (Executor)
실행기는 생성된 계획을 실제 로봇 하드웨어에서 실행하고, 실행 중 발생하는 예외를 처리한다. PlanSys2에서는 행동 트리 기반 실행기를 사용한다.
6. 구성 요소 간의 관계
[도메인 모델] + [문제 정의] → [계획기] → [계획] → [실행기] → [로봇 행동]
↑
[모니터링/재계획]
7. ROS2에서의 구현 (PlanSys2)
| 구성 요소 | PlanSys2 노드 |
|---|---|
| 도메인 모델 | Domain Expert |
| 문제 정의 | Problem Expert |
| 계획기 | Planner Node |
| 실행기 | Executor Node |
8. 참고 문헌
- Ghallab, M., Nau, D., & Traverso, P. (2016). Automated Planning and Acting. Cambridge University Press.
- PlanSys2 공식 문서. https://plansys2.github.io/
| 버전 | 날짜 | 변경 사항 |
|---|---|---|
| v0.1 | 2026-04-05 | 초안 작성 |