1317.44 PlanSys2의 시뮬레이션 환경 테스트

1317.44 PlanSys2의 시뮬레이션 환경 테스트

1. 시뮬레이션 테스트의 필요성

PlanSys2 기반 임무 계획 시스템을 실제 로봇에 배포하기 전에, 시뮬레이션 환경에서의 철저한 테스트는 필수적이다. 시뮬레이션은 물리적 로봇과 실환경 없이도 도메인 모델의 정확성, 계획 수립의 타당성, 액션 수행기의 동작, 전체 파이프라인의 통합 정합성을 검증할 수 있게 한다. 또한, 위험한 상황이나 극단적 조건에 대한 테스트를 안전하게 수행할 수 있다(Martín et al., 2021).

2. Gazebo 시뮬레이터와의 통합

2.1 Gazebo의 역할

Gazebo는 ROS2 생태계에서 가장 널리 사용되는 물리 시뮬레이터로, 로봇 모델, 센서, 환경을 물리적으로 정밀하게 시뮬레이션한다. PlanSys2와 Gazebo의 통합에서, Gazebo는 로봇의 물리적 행동(이동, 조작 등)을 시뮬레이션하고, PlanSys2는 이 시뮬레이션된 로봇에 대한 임무 계획과 실행을 수행한다.

2.2 통합 구조

PlanSys2-Gazebo 통합 테스트 환경의 구조는 다음과 같다.

구성 요소역할
Gazebo로봇과 환경의 물리 시뮬레이션
Nav2시뮬레이션된 로봇의 네비게이션
MoveIt2시뮬레이션된 매니퓰레이터의 운동 계획
PlanSys2임무 계획 수립과 실행 관리
액션 수행기PDDL 액션을 Nav2/MoveIt2 명령으로 변환

이 구성 요소들은 모두 ROS2 토픽, 서비스, 액션을 통해 통신하며, 시뮬레이션 환경과 실환경 간의 전환은 런치 파일의 구성 변경만으로 이루어진다.

3. 테스트 방법론

3.1 단위 테스트

각 액션 수행기를 개별적으로 테스트한다. 시뮬레이션 환경에서 특정 PDDL 액션을 직접 호출하고, 시뮬레이션된 로봇이 기대한 행동을 수행하는지 확인한다.

3.2 통합 테스트

PlanSys2의 전체 파이프라인(도메인 로딩 → 문제 구성 → 계획 수립 → 계획 실행)을 시뮬레이션 환경에서 종단간(end-to-end) 테스트한다. 자동화된 테스트 스크립트를 사용하여 다양한 초기 상태와 목표 조합에 대해 반복 테스트를 수행한다.

3.3 시나리오 기반 테스트

실제 운용 시나리오를 시뮬레이션 환경에서 재현하여 테스트한다. 예를 들어, “복도에 장애물이 출현하여 이동이 차단된 상황에서 재계획이 수행되는가“와 같은 시나리오를 구성하고, 시스템의 반응을 검증한다.

3.4 스트레스 테스트

대규모 객체 집합, 다수의 로봇, 복잡한 목표 조건 등 극한 조건에서 시스템의 성능과 안정성을 테스트한다. 플래너의 계획 수립 시간, 실행기의 응답 시간, 메모리 사용량 등을 측정한다.

4. 런치 파일 구성

시뮬레이션 테스트를 위한 런치 파일은 Gazebo 서버, 로봇 모델, Nav2, PlanSys2, 액션 수행기를 모두 포함하는 통합 런치 구성을 가진다.

# 시뮬레이션 테스트 런치 파일의 구조
IncludeLaunchDescription(gazebo_launch)
IncludeLaunchDescription(nav2_launch)
IncludeLaunchDescription(plansys2_launch)
Node(package='my_actions', executable='move_action')
Node(package='my_actions', executable='pick_action')

5. 시뮬레이션과 실환경 간의 전환

PlanSys2의 액션 수행기가 ROS2의 표준 인터페이스(토픽, 서비스, 액션)를 통해 로봇과 통신하므로, 시뮬레이션 환경에서 검증된 코드를 실제 로봇에 배포할 때 수행기의 코드를 수정할 필요가 없다. 이는 ROS2의 하드웨어 추상화 원칙에 의해 보장되며, “시뮬레이션에서 테스트하고, 실환경에서 배포한다(sim-to-real transfer)“는 로봇 공학의 개발 패러다임을 PlanSys2가 자연스럽게 지원함을 의미한다(Martín et al., 2021).


참고 문헌

  • Martín, F., Cañas, J. M., Ginés, J., & Fuentetaja, R. (2021). “PlanSys2: A Planning System Framework for ROS2.” IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).
  • Koenig, N., & Howard, A. (2004). “Design and Use Paradigms for Gazebo, an Open-Source Multi-Robot Simulator.” IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

버전: v1.0