[isaacsim.robot_motion.cumotion] cumotion#
Version: 1.3.0
Overview#
The isaacsim.robot_motion.cumotion extension provides access to cuMotion planners and controllers within Isaac Sim’s motion generation framework. This extension bridges NVIDIA’s cuMotion library with Isaac Sim, offering high-performance motion planning, trajectory generation, and reactive control for robotic manipulators.
Concepts#
cuMotion Integration#
The extension serves as a wrapper around NVIDIA’s cuMotion library, translating between Isaac Sim’s coordinate systems and data structures and cuMotion’s internal representations. All cuMotion operations work in the robot base frame, while Isaac Sim typically works in the world frame - the extension handles these coordinate transformations automatically.
Robot Configuration#
Robot setup requires both URDF (Unified Robot Description Format) and XRDF (Extended Robot Description Format) files. The URDF describes the robot’s kinematic structure, while the XRDF contains cuMotion-specific configuration parameters for planning and control.
Key Components#
CumotionRobot#
The CumotionRobot dataclass encapsulates all robot-specific data needed for cuMotion operations, including the robot description, kinematics solver, and controlled joint names. You can load robots using load_cumotion_robot for custom configurations or load_cumotion_supported_robot for pre-configured robots.
CumotionWorldInterface#
CumotionWorldInterface manages collision geometry and obstacle tracking between Isaac Sim’s USD scene and cuMotion’s collision world. It handles coordinate frame transformations and provides methods to add various collision primitives (spheres, cubes, meshes, planes, capsules) and update their poses dynamically.
Motion Planners#
GraphBasedMotionPlanner implements sampling-based planning algorithms (RRT variants) for finding collision-free paths. It supports planning to configuration space targets, full pose targets (position + orientation), and translation-only targets where orientation is unconstrained.
TrajectoryOptimizer uses cuMotion’s optimization-based approach to generate smooth, collision-free trajectories. It optimizes over multiple cost functions including smoothness, collision avoidance, and goal achievement.
Controllers and Generators#
RmpFlowController implements cuMotion’s RMPflow algorithm for reactive motion control. This controller continuously computes joint commands based on multiple task-space and configuration-space attractors, providing smooth and collision-aware motion.
TrajectoryGenerator creates smooth, time-optimal trajectories from discrete waypoints without collision checking. It handles conversion between configuration space and task space representations.
CumotionTrajectory#
CumotionTrajectory wraps cuMotion trajectories within Isaac Sim’s trajectory interface, allowing queries for robot states at specific times along continuous-time trajectories.
Integration#
The extension integrates with Isaac Sim’s experimental motion generation framework through the isaacsim.robot_motion.experimental.motion_generation dependency. Controllers implement the BaseController interface, trajectories implement the Trajectory interface, and world interfaces implement the WorldInterface interface, ensuring compatibility with Isaac Sim’s broader motion generation ecosystem.
Enable Extension#
The extension can be enabled (if not already) in one of the following ways:
Define the next entry as an application argument from a terminal.
APP_SCRIPT.(sh|bat) --enable isaacsim.robot_motion.cumotion
Define the next entry under [dependencies] in an experience (.kit) file or an extension configuration (extension.toml) file.
[dependencies]
"isaacsim.robot_motion.cumotion" = {}
Open the Window > Extensions menu in a running application instance and search for isaacsim.robot_motion.cumotion.
Then, toggle the enable control button if it is not already active.
Python API#
Configuration Loading
World Interface
Motion Policies
Motion Planning
Trajectory Generation
Transform Utilities
Configuration Loading#
World Interface#
Motion Policies#
Motion Planning#
Trajectory Generation#
Transform Utilities#
The transform utilities provide coordinate conversion between Isaac Sim world frame and cuMotion robot base frame.