curobo——CUDA加速的机器人库

仓库地址:https://github.com/nvlabs/curobo

目录

  • 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
相关推荐
神筆&『馬良』5 小时前
Foundation_pose在自己的物体上复现指南:实现任意物体6D位姿检测(利用realsense_D435i和iphone_16pro手机)
目标检测·ubuntu·机器人·视觉检测
大江东去浪淘尽千古风流人物6 小时前
【LingBot-Depth】深度补全/单目深度估计算法/立体匹配算法
机器人·大模型·概率论·端侧部署·巨身智能
蓝帆傲亦6 小时前
智能体革命!我用ModelEngine三小时打造智能面试官,效果震惊HR部门
机器人·智能硬件
leo03089 小时前
科研领域主流机械臂排名
人工智能·机器人·机械臂·具身智能
No0d1es9 小时前
电子学会青少年机器人技术(三级)等级考试试卷-实际操作(2025年12月)
青少年编程·机器人·等级考试·三级
赫尔·普莱蒂科萨·帕塔1 天前
智能体工程
人工智能·机器人·软件工程·agi
China_Yanhy1 天前
入职 Web3 运维日记 · 第 8 日:黑暗森林 —— 对抗 MEV 机器人的“三明治攻击”
运维·机器人·web3
RobotNow1 天前
优秀的机器人厂商集中平台哪家服务全面
机器人
晚霞的不甘1 天前
CANN × ROS 2:为智能机器人打造实时 AI 推理底座
人工智能·神经网络·架构·机器人·开源