借助 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 加速机器人库

阅读原文

相关推荐
幻想编织者2 天前
Ubuntu实时核编译安装与NVIDIA驱动安装教程(ubuntu 22.04,20.04)
linux·服务器·ubuntu·nvidia
Damon小智3 天前
全面评测 DOCA 开发环境下的 DPU:性能表现、机器学习与金融高频交易下的计算能力分析
人工智能·机器学习·金融·边缘计算·nvidia·dpu·doca
业余敲代码9 天前
NVIDIA 下 基于Ubuntun20.04下 使用脚本安装 ros2-foxy 和 使用docker安装 ros2-foxy
ubuntu·docker·nvidia·ros2·jstson
gs801401 个月前
ubuntu下 如何将 NVIDIA 内核驱动 升级到特定版本 如550.127
ubuntu·gpu·nvidia
扫地的小何尚1 个月前
什么是大型语言模型
人工智能·语言模型·自然语言处理·机器人·gpu·nvidia
点云兔子1 个月前
NX系列-使用 `nmcli` 命令创建 Wi-Fi 热点并设置固定 IP 地址
wifi·ip·nvidia·nx·hotspot·nano
self-motivation1 个月前
gpu硬件架构
硬件架构·gpu·nvidia·tensor·cuda
程序员非鱼2 个月前
深入解析神经网络的GPU显存占用与优化
人工智能·深度学习·神经网络·机器学习·nvidia·cuda
扫地的小何尚2 个月前
NVIDIA RTX 系统上使用 llama.cpp 加速 LLM
人工智能·aigc·llama·gpu·nvidia·cuda·英伟达
布鲁格若门2 个月前
AMD CPU下pytorch 多GPU运行卡死和死锁解决
人工智能·pytorch·python·nvidia