Isaac cuMotion Accelerated Planning#
Overview#
NVIDIA Isaac cuMotion provides GPU-accelerated trajectory planning as an
alternative to the default MoveIt2 OMPL planners. It plugs into MoveIt2 as the
planning pipeline, so the rest of the stack is unchanged: planned trajectories
still flow through the moveit2_api services and execute on the WMX
joint_trajectory_controller. cuMotion is provided by the
movensys_manipulator_isaac_ros_config package in the
movensys-manipulator
repository.
Prerequisites#
An NVIDIA GPU with CUDA (NVIDIA desktop GPU or Jetson)
Isaac ROS prerequisites (see the Isaac ROS getting-started guide)
The
movensys-manipulatorcontainer built with an Isaac ROS image, i.e.MOVENSYS_ROS_VERSION=isaac-ros_4.1orisaac-ros_3.2For Isaac Sim scenes, the movensys-simulation repo
See MoveIt2 Motion Planning for the shared MoveIt2 setup and the mros
container workflow.
Running cuMotion#
Important
isaac_cumotion.launch.py replaces moveit.launch.py. It starts
its own move_group, robot_state_publisher, RViz, MoveIt Servo, and
the moveit2_api services, with the cuMotion planner in place of OMPL.
Do not run both — they would fight over move_group.
Every walkthrough in movensys-manipulator offers them as step 3a
(OMPL) or step 3b (cuMotion), never both.
Commands run through the mros container helper.
Real robot:
# Isaac cuMotion: move_group with the cuMotion planner, plus the
# moveit2_api services
mros ros2 launch movensys_manipulator_isaac_ros_config isaac_cumotion.launch.py
# Run a trajectory
mros ros2 launch movensys_manipulator_moveit_config trajectory_test.launch.py
Simulation / hardware-in-the-loop: start the simulator bridge first and add
use_sim_time:=true to each command:
mros ros2 launch movensys_manipulator_moveit_config sim_bridge.launch.py use_sim_time:=true
mros ros2 launch movensys_manipulator_isaac_ros_config isaac_cumotion.launch.py \
use_sim_time:=true
mros ros2 launch movensys_manipulator_moveit_config trajectory_test.launch.py \
use_sim_time:=true
Add rsp:=false when the robot description is already published by Gazebo
or by ros2_control.
Obstacle Avoidance (Nvblox)#
For collision-aware planning against a live depth reconstruction, use the combined cuMotion + Nvblox launch together with the obstacle-avoidance demo:
mros ros2 launch movensys_manipulator_isaac_ros_config \
isaac_cumotion_nvblox.launch.py use_sim_time:=true
mros ros2 launch movensys_manipulator_moveit_config \
obstacle_avoidance.launch.py use_sim_time:=true
Additional Isaac ROS launch files include isaac_apriltag.launch.py,
isaac_nvblox.launch.py, and isaac_cumotion_apriltag.launch.py for the
AprilTag and combined perception scenarios.
cuMotion vs. MoveIt2 OMPL#
Aspect |
cuMotion |
|---|---|
Planning pipeline |
GPU-accelerated planner that replaces OMPL inside MoveIt2 |
Execution |
Same |
Best for |
Collision-constrained planning, obstacle avoidance with Nvblox |
Hardware |
Requires an NVIDIA GPU and an Isaac ROS image |
See Also#
MoveIt2 Motion Planning – MoveIt2 setup and the
/wmx/moveit2/*APIExample Applications – end-to-end manipulator examples
The movensys-manipulator repository for the AprilTag, Nvblox, and YOLO walkthroughs