Skip to main content
QUICK REVIEW

[논문 리뷰] QuadSwarm: A Modular Multi-Quadrotor Simulator for Deep Reinforcement Learning with Direct Thrust Control

Zhehui Huang, Sumeet Batra|arXiv (Cornell University)|2023. 06. 15.
Reinforcement Learning in Robotics인용 수 4
한 줄 요약

QuadSwarm는 싱글 및 멀티-쿼드로터 시스템에서 딥 강화학습(Deep Reinforcement Learning, RL)을 위한 고속, 모듈식, 파이썬 기반 시뮬레이터로, 직접적인 펌프터 스크류 제어, Crazyflie 2.x를 위한 물리 기반 역학, 그리고 제로샷 시뮬레이션에서 실제 환경으로의 전이를 가능하게 하는 도메인 랜덤라이제이션을 특징으로 한다. 16개의 CPU 코어에서 여덟 대의 쿼드로터를 사용할 경우, 1초당 62,000개 이상의 시뮬레이션 샘플을 기록하여 복잡한 다중 에이전트 비행 정책에 대한 빠르고 확장 가능하며 병렬 처리가 가능한 훈련을 가능하게 한다.

ABSTRACT

Reinforcement learning (RL) has shown promise in creating robust policies for robotics tasks. However, contemporary RL algorithms are data-hungry, often requiring billions of environment transitions to train successful policies. This necessitates the use of fast and highly-parallelizable simulators. In addition to speed, such simulators need to model the physics of the robots and their interaction with the environment to a level acceptable for transferring policies learned in simulation to reality. We present QuadSwarm, a fast, reliable simulator for research in single and multi-robot RL for quadrotors that addresses both issues. QuadSwarm, with fast forward-dynamics propagation decoupled from rendering, is designed to be highly parallelizable such that throughput scales linearly with additional compute. It provides multiple components tailored toward multi-robot RL, including diverse training scenarios, and provides domain randomization to facilitate the development and sim2real transfer of multi-quadrotor control policies. Initial experiments suggest that QuadSwarm achieves over 48,500 simulation samples per second (SPS) on a single quadrotor and over 62,000 SPS on eight quadrotors on a 16-core CPU. The code can be found in https://github.com/Zhehui-Huang/quad-swarm-rl.

연구 동기 및 목표

  • 멀티-쿼드로터 시스템에서 딥 강화학습 정책을 훈련하기 위한 빠르고 병렬 처리가 가능하며 물리적으로 정확한 시뮬레이터의 필요성을 해결하기 위해.
  • 실제 물리적 환경과 도메인 랜덤라이제이션을 통합하여 쿼드로터 제어 정책의 강건한 시뮬레이션에서 실제 환경으로의 전이를 가능하게 하기 위해.
  • 다양한 통합 훈련 시나리오와 상호작용 기반 보상 함수를 통해 다중 에이전트 협업을 지원하기 위해.
  • 딥 RL 라이브러리와의 통합을 간소화하고 연구 반복 주기를 가속화할 수 있도록 완전히 파이썬 기반의 모듈식 시뮬레이터를 제공하기 위해.

제안 방법

  • Numba 최적화된 파이썬 코드를 사용해 물리 시뮬레이션과 렌더링을 분리하여 고속의 단일 스레드 처리 성능을 달성한다.
  • Crazyflie 2.x 플랫폼를 위한 정확한 역학 모델링과 직접적인 펌프터 스크류 추진력 제어를 구현한 임시적인 물리 엔진을 구현한다.
  • 물리적 파라미터(예: 질량, 항력, 추진력)에 대한 도메인 랜덤라이제이션을 적용하여 정책의 일반화 능력과 시뮬레이션에서 실제 환경으로의 전이 능력을 향상시킨다.
  • 목표 도달, 편대 비행, 충돌 회피 등 다양한 훈련 시나리오를 지원하며 통합된 보상 함수를 제공한다.
  • Sample Factory RL 라이브러리와 통합하여 동기/비동기 PPO 알고리즘을 통해 훈련 속도를 가속화한다.
  • 쿼드로터 역학, 충돌 탐지, 보상 형상화 등의 재사용 가능한 구성 요소를 포함한 모듈식 설계를 채택한다.

실험 결과

연구 질문

  • RQ1완전히 파이썬 기반의 시뮬레이터가 다중 쿼드로터 RL에 대해 정확한 물리 모델을 유지하면서도 고성능 시뮬레이션 처리를 달성할 수 있는가?
  • RQ2직접적인 펌프터 스크류 추진력 제어가 다중 에이전트 쿼드로터 시스템에서 정책 학습과 시뮬레이션에서 실제 환경으로의 전이에 어떻게 기여하는가?
  • RQ3시뮬레이터 내에서의 도메인 랜덤라이제이션이 훈련된 정책의 일반화 능력과 강건성에 어느 정도 기여하는가?
  • RQ4다양한 훈련 시나리오와 상호작용 기반 보상 함수를 갖춘 모듈식 시뮬레이터가 복잡한 환경에서의 다중 에이전트 협업을 어떻게 향상시키는가?
  • RQ5QuadSwarm의 성능는 쿼드로터 수와 컴퓨팅 자원이 증가함에 따라 어떻게 스케일링되는가?

주요 결과

  • QuadSwarm는 단일 쿼드로터에서 1초당 48,500개 이상의 시뮬레이션 샘플(SPS)을 기록하고, 여덟 대의 쿼드로터를 사용할 경우 16코어 CPU에서 1초당 62,000개 이상의 SPS를 달성한다.
  • 충돌 탐지 기능이 포함된 상태에서도 높은 성능를 유지하며, 효율적인 병렬 처리와 확장성을 입증한다.
  • QuadSwarm에서 훈련된 정책들은 단일 및 다중 쿼드로터 시나리오 모두에서 제로샷 배포를 통해 실제 하드웨어로 성공적으로 전이되었다.
  • Sample Factory와의 통합을 통해 빠른 월드클록 훈련이 가능해져 복잡한 다중 에이전트 정책의 실험 주기를 단축시켰다.
  • 다양한 훈련 시나리오와 상호작용 기반 보상 함수의 통합은 더 강건하고 일반화 능력이 뛰어난 제어 정책을 도출하는 데 기여했다.
  • 기존의 gym-pybullet-drones와 같은 시뮬레이터보다 2배 빠른 성능를 기록했으며, 다중 에이전트 RL 및 펌프터 스크류 제어에 대해 뛰어난 지원 기능을 제공한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.