cuMotion: GPU-Accelerated Motion Generation for Robotics#

NVIDIA cuMotion is a high-performance motion generation library for robotics, focused mainly on manipulation. GPU acceleration is leveraged throughout where beneficial for performance.

In this Developer Preview, capabilities include:

  • Kinematics and inverse kinematics (IK)

  • Collision-aware IK

  • Collision-aware graph-based path planning

  • Collision-aware trajectory optimization and end-to-end motion generation

  • Reactive control via the mathematical framework of RMPflow

  • Time-optimal (collision-unaware) trajectory generation for paths given by any number of moves in configuration space (joint space) and/or task space

  • Collision sphere generation, for approximating a closed mesh by a set of spheres

Robots with any number of degrees of freedom are supported.

cuMotion is implemented in C++ and provides a complete set of Python bindings. Although developed as a standalone library, cuMotion will also soon serve as the motion generation backend for Isaac ROS cuMotion and the manipulation reference workflows in Isaac ROS.

cuMotion is descended from two libraries:

  1. Lula was released for a number of years as part of Isaac Sim. It has been entirely subsumed by cuMotion, and Python users of Lula will find that import cumotion as lula will suffice for running most client code with only a few modifications.

  2. cuRobo was developed by NVIDIA Research and continues to be maintained as a library for robotics researchers. cuMotion incorporates optimized and hardened implementations of algorithms first introduced in cuRobo, including those for collision-aware IK and trajectory optimization.

Table of Contents#