Isaac ROS cuMotion#

https://gitlab-master.nvidia.com/isaac/isaac/-/raw/release-4.3/docs/nvidia-isaac-ros//resources/isaac_ros_docs/repositories_and_packages/isaac_ros_cumotion/cumotion_ur10_demo.gif/

Overview#

Isaac ROS cuMotion provides CUDA-accelerated manipulation capabilities for robots in ROS 2. It integrates cuMotion into MoveIt 2 to generate smooth, collision-free trajectories, and also exposes cuMotion inverse kinematics and trajectory generation capabilities through ROS 2 actions/services. Support is provided for segmenting and filtering the robot itself from the depth streams.

The key advantages of using Isaac ROS cuMotion are:

  • Improved cycle times: cuMotion produces smooth, optimal-time trajectories in the presence of obstacles, generally reducing motion times compared to previous state-of-the-art planners. In cluttered environments and other challenging scenarios, cuMotion can often produce a valid trajectory when other planners might fail altogether.

  • Improved planning times: cuMotion takes advantage of CUDA acceleration to produce collision-free, optimal-time trajectories in a fraction of a second.

  • Avoidance of obstacles captured by depth cameras: cuMotion optionally leverages nvblox to perform 3D reconstruction of an environment from one or more depth image streams. The environment is represented as a signed distance field (SDF) for efficient obstacle-aware planning. Support is provided for segmenting and filtering the robot itself from the depth streams.

  • Flexibility: A modular design simplifies integration with existing ROS 2 workflows, especially those already using MoveIt 2.

Warning

Before using or developing with cuMotion or other Isaac ROS Manipulation software, familiarize yourself with the associated safety information that is provided by your robot manufacturer.

In addition, we provide the following best practices:

  1. Familiarize yourself with the location of the emergency stop buttons, and be prepared to apply if necessary.

  2. Before operation, ensure the working area is free of any persons or other potential hazards.

  3. Before operation, alert all persons near the working area that robot operation is about to begin.

  4. Before and during operation, be aware of any persons entering the vicinity around the working area, and be prepared to give necessary warnings, instructions, or take other necessary actions.

  5. Take extra caution when testing or deploying new features or code.

Examples are provided for three modes of operation:

  • Standalone MoveIt: MoveIt’s RViz interface allows trajectories to be planned and visualized even without a physical robot or external simulator.

  • Simulated robot (Isaac Sim): Trajectories may be planned and executed on a simulated robot in Isaac Sim, allowing convenient development and rapid iteration without use of physical hardware. Simulated sensors enable testing of perception, for example, for the purpose of collision avoidance.

  • Physical robot: For on-robot testing and final deployment, trajectories are planned and executed on a physical robot.

The Isaac ROS cuMotion repository currently contains the following packages:

isaac_ros_cumotion:

This package contains the cuMotion planner node that provides the ROS 2 interfaces for inverse kinematics and motion generation using cuMotion.

isaac_ros_cumotion_examples:

This package contains various examples demonstrating use of cuMotion with MoveIt.

isaac_ros_cumotion_moveit:

This package provides a plugin for MoveIt 2 that exposes cuMotion as an external planner, leveraging isaac_ros_cumotion.

Isaac ROS cuMotion is also featured as part of Isaac ROS Manipulation.

Quickstarts#

Packages#

Supported Platforms#

This package is designed and tested to be compatible with ROS 2 Humble running on Jetson or an x86_64 system with an NVIDIA GPU.

Platform

Hardware

Software

Storage

Notes

Jetson

Jetson Orin

JetPack 6.1 and 6.2

128+ GB NVMe SSD

For best performance, ensure that power settings are configured appropriately.

x86_64

Ampere or higher NVIDIA GPU Architecture with 8 GB RAM or higher. CUDA 12.6+

Ubuntu 22.04+

32+ GB disk space available

N/A

Docker#

To simplify development, we strongly recommend leveraging the Isaac ROS Dev Docker images by following these steps. This streamlines your development environment setup with the correct versions of dependencies on both Jetson and x86_64 platforms.

Note

All Isaac ROS Quickstarts, tutorials, and examples have been designed with the Isaac ROS Docker images as a prerequisite.

Customize your Dev Environment#

To customize your development environment, reference this guide.

Updates#

Date

Changes

2024-12-10

Added object following and pick-and-place workflows

2024-09-26

Updated for Isaac ROS 3.1

2024-05-30

Initial release