cuRobo: CUDA Accelerated Robot Library

[Research] [Code] [Arxiv] [PDF]

This is a Preview Release highlighting the results obtained in our Technical Report

For business inquiries, please submit this form: NVIDIA Research Licensing


Updates

  • Feb 2024 (v0.6.3): New: Constrained Planning, Robot Segmentation, Update Locked JointState.

  • Dec 2023 (v0.6.2): New features and quality improvements.

  • Nov 2023 (v0.6.1): Added support for Isaac Sim 2023.1.0, x86, aarch64, and isaac sim dockerfiles.

  • Oct 2023 (v0.6.0): Released cuRobo Technical Report and Source Code.

See CHANGELOG for details.

Overview

cuRobo is a CUDA accelerated library containing a suite of robotics algorithms that run significantly faster than existing implementations leveraging parallel compute. cuRobo currently provides the following algorithms: (1) forward and inverse kinematics, (2) collision checking between robot and world, with the world represented as Cuboids, Meshes, and Depth images, (3) numerical optimization with gradient descent, L-BFGS, and MPPI, (4) geometric planning, (5) trajectory optimization, (6) motion generation that combines inverse kinematics, geometric planning, and trajectory optimization to generate global motions within 30ms.

cuRobo generates motions for a UR10 within 100ms on a NVIDIA Jetson Orin.

cuRobo performs trajectory optimization across many seeds in parallel to find a solution. cuRobo’s trajectory optimization penalizes jerk and accelerations, encouraging smoother and shorter trajectories.

Comparison of cuRobo’s motion generation on the left to a BiRRT planner for the motion planning phases in a pick and place task.

cuRobo leverages nvblox for collision avoidance with obstacles from a Depth camera.

cuRobo can constrain different axes and allow for planning in the remaining axes leveraging trajectory optimization.

Example motions generated by cuRobo on the motionbenchmaker and motion policy networks datasets.