9. MoveIt Motion Planning Framework

9.1. Learning Objectives

This sample is demonstrating Omniverse Isaac Sim integrated with the MoveIt! Motion Planning Framework using the Franka Emika Panda robot.

9.2. Getting Started

Prerequisite

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

sudo apt install ros-$ROS_DISTRO-moveit
  • Follow the steps outlined here to install the panda_moveit_config package in your ROS workspace and then build it.

  • This tutorial requires isaac_moveit ROS package provided under the directory ros_workspace/. It contains the required launch and config files. Complete ROS & ROS2 Installation, make sure ROS environment is setup correctly and those packages are inside your ROS_PACKAGE_PATH.

  • Completed Joint Control: Extension Python Scripting for basic understanding of ROSbridged joint control.

  • Roscore is running before running Omniverse Isaac Sim.

9.3. Running MoveIt

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

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

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


    Add MotionPlaning Plugin
  4. Under Planning Group, the hand option should be selected. Under Goal State, select close.

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

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


    MoveIt planning and execution of Hand group
  7. 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.

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


    MoveIt planning and execution of Panda Arm group

9.4. Summary

In this tutorial, we covered running Moveit! with Omniverse Isaac Sim.

9.4.1. Further Learning

  1. To 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.