VAMP项目使用与启动教程
vamp SIMD-Accelerated Sampling-based Motion Planning 项目地址: https://gitcode.com/gh_mirrors/vam/vamp
1. 项目介绍
VAMP(Vector-Accelerated Motion Planning)是一个基于向量化采样规划的运动规划库。它利用CPU的SIMD指令加速碰撞检测和正向运动学计算,从而提高运动规划的效率。VAMP适用于多种规划算法,如RRT-Connect和PRM,并且可以在低功耗系统上运行。它还包括一种新颖的空间数据结构,Collision-Affording Point Tree(CAPT),用于加速点云的碰撞检测。
2. 项目快速启动
环境准备
在开始之前,请确保您的系统满足以下依赖条件:
- CMake(版本3.16或更高)
- GCC 8+ 或 Clang 10+,以及C++标准库
- Python开发头文件(Python 3.8及以上版本)
- Eigen3(用于向量/矩阵操作)
在Ubuntu 22.04上安装这些依赖项的命令如下:
sudo apt install build-essential
sudo apt install clang libstdc++6
sudo apt install python3-dev
sudo apt install libeigen3-dev
克隆项目
从GitHub克隆VAMP项目:
git clone git@github.com:KavrakiLab/vamp.git
Python安装
要使用Python接口,可以进入项目目录并运行以下命令安装:
cd vamp
pip install .
如果您想安装用于运行示例的额外依赖项,可以指定以下命令:
pip install .[examples,heightmaps]
验证安装
安装完成后,可以通过运行以下命令来测试安装:
python scripts/sphere_cage_example.py --visualize
这将运行一个简单的场景,即Franka Emika Panda在球体笼子中的运动规划,并可视化结果。
增量重构
为了提高构建效率,可以使用nanobind的增量重构功能:
cd vamp
pip install --no-build-isolation -Ceditable.rebuild=true -ve
C++扩展
如果需要通过C++扩展VAMP,可以直接使用CMake构建:
cd vamp
cmake -B build -DCMAKE_BUILD_TYPE=Release .
cmake --build build
更多构建配置选项,请参考CMakeLists.txt
文件。
3. 应用案例和最佳实践
VAMP提供了多种机器人的运动规划示例,包括球体、UR5、Panda、Fetch和Baxter。每个机器人的资源文件(URDF、SRDF、网格等)都包含在项目目录下的resources/
文件夹中。
以下是一个简单的示例,演示如何使用VAMP为Panda机器人执行RRT-Connect规划:
from vamp.panda import rrtc
# 配置规划器参数
params = {
"start": [0, 0, 0],
"goal": [1, 1, 1],
"obstacles": [[0.5, 0.5, 0.5, 0.1]], # 添加障碍物
"robot_model": "panda" # 机器人模型
}
# 执行规划
path = rrtc(params)
# 输出规划结果
print(path)
4. 典型生态项目
VAMP可以与多个开源项目集成,以构建复杂的机器人应用。以下是一些典型的生态项目:
- Robowflex:一个用于生成机器人运动规划问题的库。
- MotionBenchMaker:一个用于创建机器人运动规划测试问题的工具。
确保在集成这些项目时,遵循相应的文档和安装指南。
vamp SIMD-Accelerated Sampling-based Motion Planning 项目地址: https://gitcode.com/gh_mirrors/vam/vamp
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考