cuRobo: CUDA Accelerated Robot Library

Legacy cuRobo documentation

This site documents cuRobo (v0.7.6). We have released a new version, cuRoboV2, under the Apache 2.0 license. cuRoboV2 introduces a redesigned API, dynamics-aware trajectory optimization, GPU-native depth-fused ESDF/TSDF mapping, and scalable whole-body motion generation for high-DoF robots.

[API] [GTC Talk] [Research] [Code] [Arxiv] [PDF]

For business and commercial use, please use cuRoboV2, which is available under the Apache 2.0 license.


Updates

  • April 2026 (v0.8.0): cuRoboV2 was released under the Apache 2.0 license. Visit the cuRoboV2 documentation website.

  • Nov 2024 (v0.7.6): 10x improvement in pose reaching accuracy with fixed terminal action.

  • Nov 2024 (v0.7.5): Add planning to Grasp API.

  • July 2024 (v0.7.4): Added support for Isaac Sim 4.0.0. Experimental support for Windows and cuda graph reset.

  • May 2024 (v0.7.3): Improved joint space planner success and accuracy.

  • April 2024 (v0.7.2): Added re-timing to change planned trajectory speed between planning calls. Higher-level API documentation. Improvements for smoother trajectories.

  • April 2024 (v0.7.1): Added mimic joint support, improved joint space planning, added API documentation for IKSolver. Also added high precision (<1mm) option to IKSolver and MotionGen.

  • March 2024 (v0.7.0): ESDF voxel grid collision checker, partial support for Isaac Sim 2023.1.1, improved collision kernels.

  • 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.

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

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 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.