vamp: Accelerate Robot Motion Planning with SIMD

Summary
VAMP is a C++ motion-planning library that uses CPU SIMD instructions to speed up collision checking and forward kinematics. It offers several sampling-based planners and Python bindings for robotics research and applications.
At a glance
- Language
- C++
- License
- Apache-2.0
- Stars
- 485
- Forks
- 93
- Added to OSRepos
- June 12, 2026
- Last analyzed
- October 3, 2026
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
VAMP is a C++ library for sampling-based robot motion planning. It applies CPU SIMD vector instructions to accelerate forward kinematics and collision checking, helping planners search robot configuration spaces with lower computational overhead.
It is aimed at robotics researchers and developers who need fast planning for supported robot models or want to build on its planning and collision-checking components. The project includes Python bindings as well as C++ and WebAssembly build paths.
Key Features
- SIMD implementations for x86 AVX2 and ARM NEON, with a WebAssembly build using 128-bit SIMD.
- RRT-Connect, PRM, FCIT*, and AORRTC planners, including support for planning to multiple goals.
- Collision checking for supported robot models against primitive obstacles and pointclouds using CAPTs.
- Robot forward kinematics and collision validation, with models for the Panda, UR5, Fetch, and Baxter, among others.
- Python bindings and a C++ library interface.
- Path simplification routines including shortcutting, B-spline smoothing, and randomized perturbation.
- Tools for custom robot support, based on generated collision-checking code and spherical robot geometry.
Use Cases
- Robotics researchers benchmarking sampling-based planners on robot motion-planning problems.
- Developers building planning pipelines for supported robot models who need fast collision checking and forward kinematics.
- Teams planning around pointcloud obstacles and seeking the included CAPT data structure for collision queries.
- Researchers comparing RRT-Connect, PRM, and asymptotically optimal planning approaches in a shared library.
Project Facts
- Language: C++
- License: Apache-2.0
- Stars: 485
- Forks: 93
- Topics: motion-planning, robotics, robotics-library, simd
- Archived: false
Getting Started
Install the Python package from PyPI:
pip install vamp-planner
For system requirements, C++ builds, examples, and custom robot setup, see the README.
Considerations
- Performance depends on compatible SIMD support and build settings. The README lists x86 AVX2 and ARM NEON support, and defaults to building for the machine's native architecture.
- Source builds require CMake 3.16 or later, a supported C++ compiler, Python development headers for bindings, and Eigen 3.4 or later.
- The bundled robot models are a finite set. Adding a custom robot requires generated code and a spherical approximation of its collision geometry, which may need tuning.
- The README describes mesh collision checking as available, while its environment-representation overview emphasizes primitive models and pointclouds. Check the current API and examples for the specific collision geometry you need.
- The project is research-oriented and implements algorithms described in academic papers. Assess planner behavior and suitability for your own application before relying on it in production.
Source repository
Open the original repository on GitHub.
17 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

agent.cpp: Build Local AI Agents in C++
September 3, 2026
agent.cpp is a C++ library for building agents that run small language models locally through llama.cpp. It provides an agent loop, tools, callbacks, and support for GGUF models, grammar constraints, and LoRA adapters.

ACM-ICPC-Algorithms: Competitive Programming Algorithms
July 16, 2026
A collection of algorithms and data structures for competitive programming, organized by topic. It is useful for ICPC participants and programmers looking for reference implementations across common contest problems.

awesome-competitive-programming: Find Contest Learning Resources
July 16, 2026
A curated directory of resources for competitive programming, algorithms, and data structures. Use it to find study materials, practice platforms, contest tools, and communities in one place.

CompetitiveCode: Explore Competitive Programming Problems and Solutions
July 16, 2026
CompetitiveCode is a community collection of interesting programming challenges and documented solutions organized by source or topic. It is useful for learners practicing algorithms and contributors sharing solutions in several programming languages.