1315.47 다중 로봇 도메인의 고급 기능 활용

1315.47 다중 로봇 도메인의 고급 기능 활용

1. 다중 로봇 도메인의 모델링 과제

다중 로봇 시스템(Multi-Robot Systems, MRS)의 PDDL 모델링에서는 이질적 로봇 유형의 능력 차이, 로봇 간 자원 공유와 경쟁, 협력 행동의 동기화, 통신 제약, 공간적 상호 배제 등의 과제를 다뤄야 한다. PDDL의 고급 기능은 이러한 과제를 효과적으로 모델링하는 데 기여한다.

2. 타입 계층을 활용한 이질적 로봇 모델링

(:types
    robot - entity
    ground_robot aerial_robot underwater_robot - robot
    scout_robot transport_robot repair_robot - ground_robot
    inspection_drone delivery_drone - aerial_robot
)

타입 계층을 통해 각 로봇 유형의 고유 능력을 구조적으로 분리하고, 상위 타입으로 공통 능력을 일반화한다.

3. 수치 함수를 활용한 개별 자원 관리

(:functions
    ;; 로봇별 자원
    (battery_level ?r - robot)
    (current_load ?r - robot)
    (max_load ?r - robot)
    (speed ?r - robot)

    ;; 공유 자원
    (charging_slots_available ?station - charging_station)

    ;; 전역 메트릭
    (total_fleet_cost)
    (total_fleet_distance)
    (makespan)
)

각 로봇의 자원(배터리, 적재량)을 독립적으로 추적하면서, 공유 자원(충전 슬롯)과 전역 메트릭을 관리한다.

4. 파생 술어를 활용한 다중 로봇 조건 추상화

4.1 가용 로봇 확인

(:derived (available_robot_for_task ?t - task)
    (exists (?r - robot)
        (and (robot_available ?r) (has_capability ?r ?t)
             (location_reachable ?r (task_location ?t)))))

4.2 공간 상호 배제

(:derived (location_occupied ?loc - waypoint)
    (exists (?r - robot) (robot_at ?r ?loc)))

(:derived (location_free ?loc - waypoint)
    (not (location_occupied ?loc)))

4.3 통신 연결성

(:derived (fleet_connected)
    (forall (?r1 ?r2 - robot)
        (imply (and (robot_active ?r1) (robot_active ?r2) (not (= ?r1 ?r2)))
            (comm_reachable ?r1 ?r2))))

4.4 협력 가능성

(:derived (cooperation_possible ?r1 ?r2 - robot ?loc - waypoint)
    (and (not (= ?r1 ?r2))
         (robot_at ?r1 ?loc) (robot_at ?r2 ?loc)
         (robot_available ?r1) (robot_available ?r2)))

5. 공유 자원의 경쟁 관리

충전 스테이션 등 공유 자원에 대한 접근을 수치 함수와 전제 조건으로 관리한다:

(:action dock_for_charging
    :parameters (?r - robot ?station - charging_station)
    :precondition (and
        (robot_at ?r ?station)
        (> (charging_slots_available ?station) 0)
    )
    :effect (and
        (charging ?r ?station)
        (decrease (charging_slots_available ?station) 1)
    )
)

(:action undock
    :parameters (?r - robot ?station - charging_station)
    :precondition (charging ?r ?station)
    :effect (and
        (not (charging ?r ?station))
        (increase (charging_slots_available ?station) 1)
    )
)

6. 태스크 할당 모델링

(:action assign_task
    :parameters (?r - robot ?t - task)
    :precondition (and
        (available_robot_for_task ?t)
        (robot_available ?r)
        (has_capability ?r ?t)
        (not (task_assigned ?t))
    )
    :effect (and
        (task_assigned ?t)
        (robot_assigned ?r ?t)
        (not (robot_available ?r))
    )
)

7. 부하 균형 메트릭

다중 로봇의 작업 부하 균형을 메트릭으로 평가한다:

(:functions
    (tasks_assigned_count ?r - robot)
    (total_fleet_cost)
)

;; 각 태스크 할당 시 카운터 증가
(:action assign_task
    :effect (...
        (increase (tasks_assigned_count ?r) 1)
        (increase (total_fleet_cost) (task_cost ?t))
    )
)

;; 총 비용 최소화 (간접적으로 부하 균형 유도)
(:metric minimize (total_fleet_cost))

8. 종합적 다중 로봇 도메인 설계 지침

  1. 타입으로 로봇 능력 분류: 공통 능력은 상위 타입, 특화 능력은 하위 타입으로 매핑
  2. 수치 함수로 개별/공유 자원 관리: 로봇별 독립 자원과 공유 자원을 분리
  3. 파생 술어로 가용성과 협력 조건 추상화: 복잡한 다중 로봇 조건을 간결하게 표현
  4. 상호 배제를 술어와 수치 제약으로 강제: 공간적, 자원적 충돌 방지
  5. 전역 메트릭으로 플릿 수준 최적화: 개별 로봇이 아닌 전체 시스템 성능 최적화

9. 참고 문헌

  • Brafman, R. I. & Domshlak, C. (2008). “From One to Many: Planning for Loosely Coupled Multi-Agent Systems.” Proceedings of ICAPS.
  • 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.