KavrakiLab/vamp

SIMD-Accelerated Sampling-based Motion Planning

해결하는 문제

VAMP (Vector-Accelerated Motion Planning)는 로봇 공학에서 샘플링 기반 운동 계획의 계산적 병목 문제를 해결합니다. 특히, 복잡한 환경에서 로봇 팔의 충돌 없는 경로를 찾는 과정을 지연시키는 충돌 검사와 전방 운동학(FK)의 높은 비용을 타깃으로 합니다.

작동 방식

VAMP는 CPU의 SIMD(Single Instruction, Multiple Data) 명령어(예: x86용 AVX2, ARM용 NEON)를 활용하여 전방 운동학과 충돌 검사를 병렬화합니다. 점군에 대한 충돌 검사를 가속화하기 위해 특수한 공간 데이터 구조인 충돌 허용 점 트리(CAPT)를 사용하여, 수천 개의 점을 포함하는 장면에서 쿼리 시간을 10나노초 미만으로 단축합니다. 시스템은 RRT-Connect, PRM, FCIT*, AORRTC 등 다양한 계획 알고리즘을 지원하며, 경로 단순화 및 부드럽게 하는 도구도 제공합니다.

대상 사용자

점군 기반 환경에서 작업하는 로봇 연구자 및 개발자에게 적합하며, Franka Emika Panda, UR5, Fetch, Baxter 등의 로봇 팔 또는 커스텀 로봇에 대해 매우 빠르고 실시간의 운동 계획이 필요한 경우에 특별히 유용합니다.

주요 특징

  • 극도의 속도: 단일 소비자 CPU 코어에서 Panda 로봇의 운동 계획 문제를 중앙값 35마이크로초로 해결합니다.
  • 하드웨어 가속: x86(AVX2) 및 ARM(NEON) 아키텍처, 브라우저 기반 실행을 위한 WebAssembly(WASM)를 네이티브로 지원합니다.
  • SIMD 최적화: 벡터화된 샘플링을 통해 전방 운동학과 충돌 검사를 모두 가속화합니다.
  • 효율적인 점군 처리: 대규모 점군에 대해 즉각적인 충돌 쿼리를 수행하기 위해 CAPT를 사용합니다.
  • 다양한 계획기: RRT-Connect, PRM, 그리고 FCIT*, AORRTC와 같은 점근적으로 최적의 계획 알고리즘 구현이 포함되어 있습니다.

관련

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