KavrakiLab/vamp
SIMD-Accelerated Sampling-based Motion Planning
What it solves
VAMP (Vector-Accelerated Motion Planning) addresses the computational bottleneck of sampling-based motion planning in robotics. Specifically, it targets the high cost of collision checking and forward kinematics (FK), which typically slow down the process of finding a collision-free path for a robot arm in a complex environment.
How it works
VAMP leverages CPU SIMD (Single Instruction, Multiple Data) instructions (such as AVX2 for x86 and NEON for ARM) to parallelize the calculation of forward kinematics and collision checks. It uses a specialized spatial data structure called the Collision-Affording Point Tree (CAPT) to accelerate collision checking against pointclouds, reducing query times to under 10 nanoseconds for scenes with thousands of points. The system supports multiple planning algorithms, including RRT-Connect, PRM, FCIT*, and AORRTC, and provides tools for path simplification and smoothing.
Who it’s for
It is designed for robotics researchers and developers who need extremely fast, real-time motion planning for robot arms (such as the Franka Emika Panda, UR5, Fetch, and Baxter) or custom robots, particularly when working with pointcloud-based environments.
Highlights
- Extreme Speed: Solves motion planning problems for the Panda robot at a median speed of 35 microseconds on a single consumer CPU core.
- Hardware Acceleration: Native support for x86 (AVX2) and ARM (NEON) architectures, as well as WebAssembly (WASM) for browser-based execution.
- SIMD-Optimized: Accelerates both forward kinematics and collision checking via vectorized sampling.
- Efficient Pointcloud Handling: Uses CAPTs for near-instantaneous collision queries against large pointclouds.
- Diverse Planners: Includes implementations of RRT-Connect, PRM, and asymptotically optimal planners like FCIT* and AORRTC.
Related
- Project
- Project
- Project
- Project
- Project