snape/RVO2

Optimal Reciprocal Collision Avoidance (C++)

해결하는 문제

여러 개의 독립적인 이동 로봇 또는 에이전트에 대한 상호 충돌 회피 문제를 해결합니다. 에이전트 간 통신 없이도 공유된 작업 공간을 충돌 없이 이동할 수 있도록 합니다.

작동 방식

이 라이브러리는 최적의 상호 충돌 회피(ORCA) 공식을 구현합니다. 두 에이전트 간의 충돌 회피 책임의 절반을 각각의 에이전트에게 할당함으로써 충돌 없는 운동을 보장합니다. 에이전트의 최적 행동을 찾는 과정은 저차원 선형 프로그래밍 문제로 변환되어 부드러운 운동을 가능하게 합니다. C++98 구현은 2차원 공간을 지원하며, 효율성을 높이기 위해 OpenMP를 사용하여 여러 프로세서 간에 시뮬레이션을 병렬화합니다.

대상 사용자

밀도 높거나 복잡한 환경에서 에이전트의 이동을 관리할 필요가 있는 로봇 시뮬레이션 및 다중 에이전트 시스템 개발자에게 적합합니다.

주요 특징

  • 수천 개의 에이전트를 밀리초 단위의 계산 시간으로 처리 가능.
  • 충돌 회피를 위해 에이전트 간 통신이 필요 없음.
  • 정적 장애물, 에이전트, 선호 속도를 지정하기 위한 간단한 API 제공.
  • OpenMP를 사용하여 병렬화되어 성능이 향상됨.

관련

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