8. MoveIt 2

8.1. Learning Objectives

This tutorial is demonstrating Omniverse Isaac Sim integrated with MoveIt 2 using the Franka Emika Panda robot.

8.2. Getting Started

Prerequisite

  • Complete ROS & ROS 2 Installation.

  • Install MoveIt 2 from pre-built binaries (Debian):

    sudo apt install ros-$ROS_DISTRO-moveit
    
  • We use the isaac_moveit ROS2 package which contains the required launch and config files. Ensure that ros2_workspace is sourced so that isaac_moveit is inside your ROS2 workspace.

  • Enable the omni.isaac.ros2_bridge extension from the extension manager menu Window->Extensions.

  • Completed ROS2 Joint Control: Extension Python Scripting.

8.3. Running MoveIt 2

  1. Load the environment by going to Isaac Examples -> ROS -> MoveIt.

  2. Launch the execution launch file with the following command:

    ros2 launch isaac_moveit franka_isaac_execution.launch.py
    
  3. A RViz2 window will open up. Add the MotionPlanning Plugin by clicking Add. Then, under the moveit_ros_visualization folder, choose MotionPlanning and press Ok.

  1. Under Planning Group, the hand option should be selected. Under Goal State, select open.

  2. Under Commands, click Plan. The planned movement of the hand will now be visualized.

  3. Click Execute. The hand will start moving as planned earlier.

  1. To plan the movement for the arm, under Planning Group, select panda_arm. Use the displayed arrows and rotation disks to set a goal position for the robot. Alternatively you can choose to select <random_valid> under Goal State.

  2. Under Commands, click on Plan followed by Execute to visualize the planned motion of the arm and then move it!

8.4. Summary

In this tutorial, we covered running MoveIt 2 with Omniverse Isaac Sim.

8.4.1. Next Steps

Continue on to the next tutorial in our ROS2 Tutorials series, ROS2 Bridge in Standalone Workflow to learn how to run the ROS2 Bridge in the standalone workflow.

8.4.2. Further Learning

  • Learn more about MoveIt 2.

  • Alternatively, to load this sample environment from python directly, follow the steps outlined here. With this approach you have the ability to manually add different ROS components as well as manually control the timestep and rate at which ROS components are published.