目录
- 1.关于curobo
-
- [1.1 仓库概述](#1.1 仓库概述)
- [1.2 仓库目录结构](#1.2 仓库目录结构)
- [1.3 启动文件介绍](#1.3 启动文件介绍)
- [1.4 配置文件介绍](#1.4 配置文件介绍)
- 2.curobo安装和部署
-
- [2.1 curobo本地安装](#2.1 curobo本地安装)
- [2.2 示例测试](#2.2 示例测试)
1.关于curobo
1.1 仓库概述
cuRobo(CUDA Accelerated Robot Library)是 NVIDIA 推出的基于 CUDA 加速的机器人算法库,专注于通过并行计算大幅提升机器人相关算法的运行速度。该库提供了一系列高性能的机器人学核心算法,适用于运动规划、轨迹线优化、碰撞检测等关键任务。
-
核心功能
- 运动学计算:正向和逆向运动学求解
- 碰撞检测:支持机器人与环境的碰撞检查,环境可表示为立方体、网格和深度图像
- 数值优化:包含梯度下降、L-BFGS 和 MPPI 等优化算法
- 几何规划:提供高效的路径规划能力
- 轨迹优化:生成平滑、低冲击的运动轨迹
- 运动生成:结合逆运动学、几何规划和轨迹优化,可在 30ms 内生成全局运动
-
特点优势
- 基于 CUDA 加速,性能远超传统实现
- 并行处理多个轨迹种子以快速找到最优解
- 轨迹优化考虑加加速度和加速度惩罚,生成更平滑的轨迹
- 提供与 MoveIt 的集成插件(Isaac ROS cuMotion),便于商业应用

cuRobo通过并行处理多个初始种子来执行轨迹优化,以寻找最优解。其轨迹优化机制会对加速度和减速度变化率施加惩罚,从而鼓励生成更平滑、更短的轨迹。下文我们将对比cuRobo在左侧的运动生成效果与BiRRT规划器在拾取-放置任务运动规划阶段的表现。

1.2 仓库目录结构
bash
curobo/
├── docker/
│ └── 包含与 Docker 相关的文件和配置
├── examples/
│ └── 包含示例代码,展示如何使用 cuRobo 库
├── images/
│ └── 包含项目相关的图像文件
├── src/
│ └── curobo/
│ └── 包含 cuRobo 库的核心源代码
├── tests/
│ └── 包含测试代码,用于验证库的功能
├── .clangd
│ └── 包含 clangd 的配置文件
├── .gitattributes
│ └── 包含 Git 属性配置
├── .gitignore
│ └── 包含 Git 忽略文件配置
├── CHANGELOG.md
│ └── 包含项目的变更日志
├── CODEOWNERS
│ └── 包含代码所有者的配置
├── LICENSE
│ └── 包含项目的许可证
├── LICENSE_ASSETS
│ └── 包含资产许可证
├── MANIFEST.in
│ └── 包含 Python 包的清单文件
├── README.md
│ └── 包含项目的介绍和使用说明
├── pyproject.toml
│ └── 包含 Python 项目的配置
├── setup.cfg
│ └── 包含 Python 包的配置
└── setup.py
└── 包含 Python 包的安装脚本
1.3 启动文件介绍
cuRobo 项目的启动文件位于 examples/ 目录下。这些文件展示了如何使用 cuRobo 库来实现不同的机器人算法。以下是一些常见的启动文件:
examples/example_kinematics.py: 演示如何使用 cuRobo 进行正向和逆向运动学计算。examples/example_collision_checking.py: 演示如何使用 cuRobo 进行碰撞检测。examples/example_trajectory_optimization.py: 演示如何使用 cuRobo 进行轨迹优化。
1.4 配置文件介绍
cuRobo 项目的配置文件主要用于配置 Python 包的安装和构建过程。以下是一些重要的配置文件:
pyproject.toml: 包含 Python 项目的配置,定义了项目的依赖和构建工具。setup.cfg: 包含 Python 包的配置,定义了包的元数据和安装选项。setup.py: 包含 Python 包的安装脚本,用于安装 cuRobo 库。
2.curobo安装和部署
2.1 curobo本地安装
参考:https://curobo.org/get_started/1_install_instructions.html
- 前置条件:官方文档中有要求python、cuda、pytorch版本,我使用的环境如下:
bash
python 3.10
torch 2.7.1+cu118
torchaudio 2.7.1+cu118
torchvision 0.22.1+cu118
CUDA 11.8
curobo安装
bash
sudo apt install git-lfs
git clone https://github.com/NVlabs/curobo.git
cd curobo
pip install -e . --no-build-isolation # 把当前目录的 Python 包,以改代码无需重新安装的可编辑模式,安装到当前 Python 环境中,并且用当前环境的工具来构建这个包,不搞临时隔离

安装成功,如下图:

2.2 示例测试
tests/curobo_version_test.py
bash
>>> import curobo
>>> print(curobo.__version__)
0.7.7.post1.dev5

examples/kinematics_example.py

