proroklab/VectorizedMultiAgentSimulator

VMAS is a vectorized differentiable simulator designed for efficient Multi-Agent Reinforcement Learning benchmarking. It is comprised of a vectorized 2D physics engine written in PyTorch and a set of challenging multi-robot scenarios. Additional scenarios can be implemented through a simple and modular interface.

해결하는 문제

VMAS는 다중 에이전트 강화 학습(MARL) 벤치마킹에서 발생하는 계산적 병목 문제를 해결합니다. 기존의 물리 엔진은 수천 개의 병렬 환경에서 다수의 상호작용하는 에이전트를 시뮬레이션할 때 너무 무거워 효율적으로 확장되지 못하며, 학습을 위한 롤아웃 수집 속도를 저하시킵니다.

작동 방식

VMAS는 PyTorch로 완전히 구현된 벡터화되고 완전히 미분 가능한 2D 물리 엔진입니다. 텐서 연산을 사용하여 에이전트와 랜드마크를 시뮬레이션하여 GPU와 같은 가속화된 하드웨어에서 수만 개의 병렬 환경을 실행할 수 있습니다. 기본적으로 호로노믹 운동 모델을 사용하여 저수준 제어보다는 고수준 다중 로봇 문제 해결에 초점을 맞추지만, 차동 구동, 운동학적 자전거 모델, 드론 모델과 같은 사용자 정의 역학도 지원합니다.

대상 사용자

MARL 및 로봇 기술 분야의 연구자와 개발자에게 적합하며, 집단 로봇 학습 알고리즘을 훈련하고 벤치마크하기 위해 빠르고 확장 가능한 환경이 필요한 사람들을 위한 것입니다.

주요 특징

  • 높은 확장성: 벡터화를 통해 GPU에서 환경 간 대규모 병렬 처리가 가능합니다.
  • 미분 가능: 출력에서 입력으로의 기울기 전파를 지원하여 기울기 기반 최적화를 가능하게 합니다.
  • 광범위한 호환성: Gymnasium, RLlib, TorchRL, OpenAI Gym용 즉시 사용 가능한 래퍼 제공.
  • 풍부한 물리 기능: 탄성 충돌, 사용자 정의 중력, 조인트, 다양한 엔티티 형태(구체, 상자, 선) 지원.
  • 통합 센서: 거리 기반 센서(예: LIDAR)용 레이 캐스팅 포함.
  • 모듈식 시나리오 생성: 사용자 정의 다중 에이전트 작업 및 시나리오를 쉽게 정의할 수 있는 프레임워크 제공.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트