借助 NVIDIA cuRobo 在几毫秒内生成 CUDA 加速的机器人动作

这篇文章最初发表在 NVIDIA 技术博客上。

实时自主机器人导航由快速运动生成算法提供支持,可支持食品和服务、仓库自动化和机器租赁等多个行业的应用。机械手的运动生成极具挑战性,因为它需要满足复杂的限制条件并尽可能减少多个成本条件。

此外,机械臂可以有许多关节、复杂的链路几何图形、超出单个配置的整个目标区域、任务限制以及不显著的运动学和转矩限制。先前的方法通过首先规划无碰撞几何路径,然后在本地优化这些路径以实现更流畅的规划来降低这种复杂性。

然而,越来越多的研究表明,轨迹优化可以成为解决不仅仅是轨迹平滑问题的强大工具。我们对机器人导航问题的现代理解是,这是一个大型全局运动优化问题。

图 1.cuRobo 的动作生成方法

在视频中,cuRobo 的动作生成步骤实现了可视化,首先是反向运动迭代,然后是轨迹优化的迭代。

NVIDIA cuRobo 将运动生成问题表述为全局优化问题,并利用 GPU 使用许多并行种子解决此问题。cuRobo 首先执行无碰撞反向动力学 (IK),以找到无碰撞的最终关节配置,然后利用最终关节配置作为种子进行轨迹优化 (图 1)。

cuRobo 还实现了 GPU 加速的快速图形规划器,可在极端情况下用作轨迹优化的种子。

图 2.cuRobo 针对运动策略网络motionbenchmaker 数据集的运动生成问题的解决方案

在视频中,机器人机械手在太空中移动,避开障碍物以达到目标。

cuRobo 在 PyTorch 中实施,使您能够轻松实施自己的运动生成成本条款。cuRobo 随附一个自定义机器人 CUDA 内核库,用于执行常见而耗时的任务。它使用了多种 NVIDIA 技术:

cuRobo 还在 NVIDIA Jetson 上运行,支持嵌入式应用程序。

结果表明,cuRobo 可以在 NVIDIA AGX Orin 上生成 100 毫秒(中值)内的运动计划。图 3 展示了在 UR10 上运行 NVIDIA Jetson AGX Orin 的 cuRobo 集成示例。

图 3.cuRobo 生成无碰撞的最小推举动作

在视频中,cuRobo 为 UR10 机器人快速生成平滑运动,以处理动态显示的目标。

cuRobo 提供了多个运动生成组件的 CUDA 加速实现,包括运动学、碰撞检查、反向运动学、数值优化求解器、轨迹优化和运动生成。结果表明,cuRobo 可在几毫秒内解决复杂问题,比现有方法快得多(图 4)。

图 4.跨不同模块的中位数计算时间

更多资源

cuRobo 代码可在 /NVlabs/curobo 上找到。想要了解更多信息,请访问 CuRobo:CUDA 加速机器人库

阅读原文

相关推荐
Chasing Aurora8 天前
深度学习 的GPU介绍
人工智能·深度学习·gpu算力·nvidia·智能电视·英伟达·vgpu
小溪彼岸14 天前
NVIDIA免费API的申请与配置
nvidia
清@尘15 天前
查看显卡支持版本
nvidia·cuda
小米的修行之路15 天前
NVIDI核心板cuda, cudnn,tensorrt安装方法
nvidia·tensorrt·cuda·cudnn
逸俊晨晖16 天前
NVIDIA 4090 使用 TensorRTx 部署 YOLOv8
目标检测·nvidia·tensorrtx
逸俊晨晖20 天前
NVIDIA 4090的8路1080p实时YOLOv8目标检测
人工智能·yolo·目标检测·nvidia
fleaxin23 天前
统信服务器操作系统V20(1070)安装过程
docker·操作系统·nvidia·统信
安全二次方security²1 个月前
CUDA C++编程指南(7.31&32&33&34)——C++语言扩展之性能分析计数器函数和断言、陷阱、断点函数
c++·人工智能·nvidia·cuda·断点·断言·性能分析计数器函数
安全二次方security²1 个月前
CUDA C++编程指南(7.25)——C++语言扩展之DPX
c++·人工智能·nvidia·cuda·dpx·cuda c++编程指南