Pose to Pose Planning#
Overview#
This tutorial demonstrates obstacle-aware trajectory planning using Isaac for Manipulation and cuMotion in Isaac Sim. The robot end effector moves between two predetermined poses, alternating between them while avoiding obstacles detected in the workspace.
This tutorial leverages the cuMotion plugin for MoveIt 2 provided by Isaac ROS cuMotion.
We use rectified image streams from simulation and do not need to perform lens distortion and rectification that would need to be performed on a real robot.
We use perfect ground truth depth from the simulation which drives up accuracy and allows one to focus on the software stack in a perfect albeit unrealistic environment.
Warning
The obstacle avoidance behavior demonstrated in this tutorial is not a safety function and does not comply with any national or international functional safety standards. When testing obstacle avoidance behavior, do not use human limbs or other living entities.
The example uses RViz for visualization. RViz is the default visualization tool when Isaac for Manipulation is running on the same computer that is displaying the visualization. Foxglove is recommended when visualizing a reconstruction streamed from a remote machine. However, that is not officially supported for the sim workflows.
Prerequisites#
Follow the setup instructions in Setup for Simulated Robot with Isaac for Manipulation in Isaac Sim.
For improved performance in the scene execution, follow the instructions in Optimization for Physics Scene in Isaac for Manipulation.
Tutorial#
Launch Isaac Sim#
Open Isaac Sim and load the scene:
https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1/Isaac/Samples/ROS2/Scenario/isaac_manipulator_scene.usd
Tip
We recommend setting a
ROS_DOMAIN_IDviaexport ROS_DOMAIN_ID=<ID_NUMBER>for every new terminal where you run ROS commands, to avoid interference with other computers in the same network (ROS Guide).Hit Play in Isaac Sim to start the simulation.
Run the Pose to Pose Example#
Open a new terminal and activate the Isaac ROS environment:
isaac-ros activateChange
workflow_typein the configuration file toPOSE_TO_POSE. The configuration file path is:${ISAAC_ROS_WS}/src/isaac_manipulator/isaac_manipulator_bringup/params/sim_launch_params.yaml
The
manipulator_workflow_configparameter points to the manipulator configuration file. Please refer to Create Manipulator Configuration File section.Launch the pose to pose example with the following configuration file:
ros2 launch isaac_manipulator_bringup workflows.launch.py \ manipulator_workflow_config:=$(ros2 pkg prefix --share isaac_manipulator_bringup)/params/sim_launch_params.yaml
Next Steps#
Try the Object Following tutorial to track moving objects
Try the Pick and Place tutorial for complete manipulation workflows
Learn more about Isaac for Manipulation Reference Architecture