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
相关推荐
思通数科多模态大模型2 小时前
门店 AI 清洁系统:AI 语义分割 + 机器人清洁
大数据·人工智能·算法·目标检测·计算机视觉·自然语言处理·机器人
GAOJ_K2 小时前
滚柱导轨精度等级如何匹配应用场景?
人工智能·科技·机器人·自动化·制造
RPA机器人就选八爪鱼2 小时前
RPA在银行IT运维领域的应用场景与价值分析
大数据·运维·数据库·人工智能·机器人·rpa
具身智能之心3 小时前
美团 “全能突破”:RoboTron-Mani +RoboData实现通用机器人操作
机器人·具身智能
Software攻城狮4 小时前
机器人伺服
机器人
信鸽爱好者4 小时前
Windows +VM虚拟机安装github服务器
服务器·windows·ubuntu·机器人·github
具身智能之心4 小时前
从长时程推理到精准操纵:LoLA 破解机器人多步任务执行难题
机器人·具身智能
机器人行业研究员6 小时前
破局与重构:2025年中国六维力传感器产业的价值升维之路
人工智能·机器人·人机交互·六维力传感器·关节力传感器
点云SLAM6 小时前
点云配准算法之- GICP算法点云配准概率模型推导和最大似然求解(MLE)
算法·机器人·slam·点云配准·最大似然估计·点云数据处理·gicp算法