Chapter 1314. PDDL 액션, 전제 조건, 효과 (PDDL Actions, Preconditions, and Effects)
1. 개요
PDDL(Planning Domain Definition Language)에서 액션(action)은 에이전트가 세계 상태를 변화시키기 위해 수행할 수 있는 행동의 추상적 모델이다. 각 액션은 매개변수(parameters), 전제 조건(preconditions), 효과(effects)의 세 가지 핵심 구성 요소로 정의되며, 이 세 요소의 형식적 명세가 자동화된 플래닝의 기반을 형성한다. 플래너는 액션의 전제 조건과 효과를 분석하여 초기 상태에서 목표 상태에 도달하는 액션 시퀀스를 탐색한다.
본 장에서는 PDDL 액션의 개념적 기초부터 고급 모델링 기법에 이르기까지, 로봇 공학 응용에 필요한 액션 설계의 전 과정을 체계적으로 다룬다.
2. 본 장의 구성
본 장은 크게 다음의 여섯 가지 주제 영역으로 구성된다.
첫째, 액션의 기초적 정의와 구조이다. PDDL 액션 스키마의 형식적 정의, 매개변수 선언과 타입 제약, 객체 바인딩 메커니즘을 다루며, 액션 이름 규약과 명명 전략을 포함한다. 액션 스키마는 구체적인 객체에 대해 인스턴스화(grounding)되기 전의 추상적 행동 모델이며, 매개변수를 통해 다양한 객체 조합에 대한 행동을 일반화한다.
둘째, 전제 조건의 논리적 표현이다. 전제 조건은 액션이 실행 가능한 상태를 논리식으로 명시한다. 긍정적 전제 조건과 부정적 전제 조건, and와 or 논리 연산자를 활용한 접합적 및 선언적 전제 조건 구성, forall과 exists 양화사를 이용한 전칭 및 존재 양화 전제 조건, 그리고 이들의 중첩을 통한 복합 전제 조건 설계를 상세히 기술한다.
셋째, 효과의 논리적 표현이다. 효과는 액션 실행 후 세계 상태에 발생하는 변화를 명시한다. 긍정적 효과(술어 추가)와 부정적 효과(술어 삭제), 다중 상태 변경을 위한 접합적 효과, when 구문을 이용한 조건부 효과, 양화사와 조건부 효과의 결합을 다룬다. 효과의 결정론적 성질과 프레임 문제(frame problem)에 대한 PDDL의 대응 방식, 닫힌 세계 가정(Closed World Assumption)하에서의 상태 갱신 원리를 형식적으로 분석한다.
넷째, 액션의 적용과 상태 전이이다. 액션의 적용 가능성(applicability) 판단 조건, 액션 적용 후의 상태 전이(state transition) 계산 방법, 동시 액션(concurrent actions)의 상호 배제(mutual exclusion) 분석을 다룬다. 이는 플래너가 탐색 과정에서 유효한 액션만을 선택하고, 올바른 후속 상태를 계산하는 데 필수적인 기초를 제공한다.
다섯째, 지속 액션과 수치적 표현이다. PDDL 2.1에서 도입된 듀레이티브 액션(durative-action)의 구조, at start, at end, over all 조건의 의미론, 시간 매개변수의 정의를 다룬다. 수치 플루언트(numeric fluent)를 활용한 함수 기반 효과, increase, decrease, assign 연산, 수치 전제 조건의 비교 연산, 액션 비용 모델링과 메트릭 기반 최적화 목표 설정을 포함한다.
여섯째, 로봇 공학 응용을 위한 액션 모델링 사례와 설계 지침이다. 이동 로봇의 내비게이션 액션, 물체 집기 및 놓기 조작 액션, 드론의 이착륙 액션, 센서 데이터 수집 액션, 통신 액션, 에너지 관리 액션, 다중 로봇 협력 액션 등 실제 로봇 시스템에서 빈번히 요구되는 액션 유형의 PDDL 모델링 사례를 제시한다. 액션 설계 시 발생하는 일반적인 오류와 해결 방법, 테스트 및 검증 전략, PlanSys2에서의 액션 정의와 활용, PDDL 액션과 ROS2 액션 서버 간의 매핑 기법, 그리고 복잡한 로봇 도메인을 위한 액션 설계 가이드라인을 제시한다.
3. 학습 목표
본 장을 학습한 후 다음을 수행할 수 있어야 한다:
- PDDL 액션 스키마의 형식적 구조를 이해하고, 매개변수, 전제 조건, 효과를 올바르게 정의할 수 있다.
- 논리 연산자와 양화사를 활용하여 복합 전제 조건과 조건부 효과를 설계할 수 있다.
- 프레임 문제와 닫힌 세계 가정의 의미를 이해하고, 상태 전이를 정확히 계산할 수 있다.
- 듀레이티브 액션과 수치 플루언트를 사용하여 시간적, 수치적 제약이 있는 액션을 모델링할 수 있다.
- 로봇 공학의 다양한 응용 시나리오에 적합한 PDDL 액션을 설계하고, PlanSys2 및 ROS2 시스템과 연계할 수 있다.
4. 선행 지식
본 장의 내용을 이해하기 위해서는 PDDL의 기본 문법과 도메인-문제 파일 구조에 대한 이해가 필요하다. 명제 논리(propositional logic)와 1차 논리(first-order logic)의 기초적인 개념, 특히 논리 연산자(and, or, not)와 양화사(forall, exists)의 의미론에 익숙해야 한다.
5. 참고 문헌
- McDermott, D., Ghallab, M., Howe, A., Knoblock, C., Ram, A., Veloso, M., Weld, D., & Wilkins, D. (1998). “PDDL—The Planning Domain Definition Language.” Technical Report CVC TR-98-003, Yale Center for Computational Vision and Control.
- Fox, M. & Long, D. (2003). “PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains.” Journal of Artificial Intelligence Research, 20, 61–124.
- Ghallab, M., Nau, D., & Traverso, P. (2004). Automated Planning: Theory and Practice. Morgan Kaufmann.
- Haslum, P., Lipovetzky, N., Magazzeni, D., & Muise, C. (2019). An Introduction to the Planning Domain Definition Language. Morgan & Claypool Publishers.
- 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).