도메인 이름 선언과 관리 (Domain Name Declaration and Management)
1. 개요
PDDL 도메인 파일의 첫 번째 요소는 도메인 이름의 선언이며, 이 이름은 문제 파일에서 참조하여 도메인과 문제를 연결한다. 도메인 이름의 일관된 관리는 다중 도메인 환경과 PlanSys2 시스템에서 올바른 계획 생성의 전제 조건이다.
2. 도메인 이름 선언
2.1 구문
(define (domain robot-delivery)
...)
domain 키워드 뒤에 도메인 이름을 지정한다.
2.2 문제 파일에서의 참조
(define (problem delivery-mission-1)
(:domain robot-delivery)
...)
문제 파일의 :domain 키워드가 도메인 이름을 참조하여, 이 문제가 어떤 도메인에 속하는지를 지정한다. 이름이 일치하지 않으면 계획기가 오류를 보고한다.
3. 명명 규칙
| 규칙 | 예시 |
|---|---|
| 소문자 사용 | robot-delivery |
하이픈(-) 구분 | multi-robot-logistics |
밑줄(_) 회피 | robot_deliveryrobot-delivery |
| 의미적 명확성 | 도메인의 내용을 반영 |
| 고유성 | 프로젝트 내 중복 방지 |
4. PlanSys2에서의 도메인 관리
PlanSys2의 Domain Expert 노드가 PDDL 도메인 파일을 로딩하고 관리한다.
# PlanSys2에 도메인 파일 로딩
ros2 run plansys2_terminal plansys2_terminal
> source robot_delivery_domain.pddl
4.1 다중 도메인
PlanSys2는 기본적으로 단일 도메인을 지원하며, 도메인 파일이 교체되면 기존 계획이 무효화된다.
5. 도메인 버전 관리
도메인 파일의 변경 이력을 관리하기 위해, 파일 이름에 버전을 포함하거나 주석으로 버전 정보를 기록한다.
; Domain: robot-delivery
; Version: 2.1
; Last modified: 2026-04-05
(define (domain robot-delivery)
...)
6. 참고 문헌
- McDermott, D., et al. (1998). “PDDL — The Planning Domain Definition Language.”
- PlanSys2 공식 문서. https://plansys2.github.io/
| 버전 | 날짜 | 변경 사항 |
|---|---|---|
| v0.1 | 2026-04-05 | 초안 작성 |