[isaacsim.robot_motion.motion_generation.examples] Motion Generation Examples#
Warning
Deprecation: Extension deprecated since Isaac Sim 6.0.0. See isaacsim.robot_motion.experimental.motion_generation and isaacsim.robot_motion.cumotion for newer motion-generation APIs and examples.
Version: 0.3.4
Overview#
Deprecated since version 6.0.0: This extension is deprecated. Use isaacsim.robot_motion.experimental.motion_generation and isaacsim.robot_motion.cumotion instead.
**isaacsim.robot_motion.motion_generation.examples** provides UI-based tutorials for robot motion generation examples using the Lula planning library. The extension is organized as separate example modules for RMPflow, RRT, kinematics, and trajectory generation, each exposing a UIBuilder class that builds the tutorial interface and connects it to the simulation timeline, stage events, and physics steps.
The examples are focused on interactive robot motion workflows. Users can load a prepared robot scenario, reset the scene, and run motion generation demonstrations through dedicated controls.
Concepts#
Example Modules#
The extension contains four sibling tutorial modules:
**isaacsim.robot_motion.motion_generation.examples.rmp_flow****isaacsim.robot_motion.motion_generation.examples.rrt****isaacsim.robot_motion.motion_generation.examples.kinematics****isaacsim.robot_motion.motion_generation.examples.trajectory_generator**
Each module follows the same structure: an extension-level window delegates tutorial-specific UI and behavior to a UIBuilder class. The UIBuilder is the main public API for each module.
Scenario-Based Tutorials#
Each UIBuilder works with a specific scenario class:
FrankaRmpFlowExamplefor the RMPflow tutorialFrankaRrtExamplefor the RRT path planning tutorialFrankaKinematicsExamplefor the kinematics tutorialUR10TrajectoryGenerationExamplefor the trajectory generation tutorial
The scenario classes provide the robot-specific demonstration logic, while UIBuilder provides the controls and event handling needed to run the tutorial.
Functionality#
World Controls#
Each example UI includes a World Controls frame for scene setup. The controls allow users to load the tutorial scenario and reset the scene state.
The UI also handles common scene preparation tasks, including camera positioning and lighting setup for visualization.
Scenario Controls#
Each example includes controls for running the motion generation demonstration.
For the Franka examples, the Run Scenario frame provides a state button that starts and stops the demonstration:
RMPflow demonstrates robot motion generation using RMPflow.
RRT demonstrates path planning using Rapidly-exploring Random Tree planning.
Kinematics demonstrates robot kinematics behavior.
The trajectory generation example provides separate controls for multiple trajectory types:
Configuration space trajectories
Task space trajectories
Advanced trajectory demonstrations
Simulation Event Handling#
The UI builders respond to simulation and scene events so the controls stay in sync with the current state.
Each UIBuilder provides callbacks for:
on_timeline_event(event)to respond to timeline stop eventson_physics_step(step)to update while the timeline is playingon_stage_event(event)to respond when a stage is openedcleanup()to release wrapped UI element callbacksbuild_ui()to construct the tutorial window contenton_menu_callback()to update UI state when opened from the menu
Key Components#
UIBuilder#
UIBuilder is the main public class exposed by each example module. It builds the tutorial UI, manages the world and scenario controls, and connects user actions to the corresponding scenario.
All four modules expose a UIBuilder, but each one targets a different robot motion generation workflow:
from isaacsim.robot_motion.motion_generation.examples.rmp_flow import UIBuilder as RmpFlowUIBuilder
from isaacsim.robot_motion.motion_generation.examples.rrt import UIBuilder as RrtUIBuilder
from isaacsim.robot_motion.motion_generation.examples.kinematics import UIBuilder as KinematicsUIBuilder
from isaacsim.robot_motion.motion_generation.examples.trajectory_generator import UIBuilder as TrajectoryUIBuilder
Wrapped UI Elements#
The UI builders track wrapped UI elements through wrapped_ui_elements. Buttons imported from **isaacsim.gui.components.element_wrappers** implement cleanup behavior, so the UI builder calls cleanup on those elements when needed.
Frames#
Each UIBuilder maintains UI frames through frames. The documented frames include World Controls and Run Scenario sections, which group scene setup actions separately from motion execution actions.
Relationships#
Lula Motion Generation#
The extension package description states that these are examples for using the Lula planning library under motion generation. The tutorials demonstrate Lula-related motion generation workflows through RMPflow, RRT, kinematics, and trajectory generation examples.
Timeline, Stage, and Physics#
The example UIs are designed around simulation state:
Timeline events control play and stop related UI behavior.
Physics step callbacks run only while the timeline is playing.
Stage events reset or update the UI when a stage is opened.
This relationship is visible in each UIBuilder through on_timeline_event, on_physics_step, and on_stage_event.
Example Module Relationship#
The four modules share the same public API shape and UI pattern. The main difference is the scenario they connect to and the motion generation concept they demonstrate.
Use the module that matches the workflow you want to explore:
Use
rmp_flowfor Franka RMPflow motion generation.Use
rrtfor Franka RRT path planning.Use
kinematicsfor Franka kinematics.Use
trajectory_generatorfor UR10 trajectory generation.
Enable Extension#
The extension can be enabled (if not already) in one of the following ways:
Define the next entry as an application argument from a terminal.
APP_SCRIPT.(sh|bat) --enable isaacsim.robot_motion.motion_generation.examples
Define the next entry under [dependencies] in an experience (.kit) file or an extension configuration (extension.toml) file.
[dependencies]
"isaacsim.robot_motion.motion_generation.examples" = {}
Open the Window > Extensions menu in a running application instance and search for isaacsim.robot_motion.motion_generation.examples.
Then, toggle the enable control button if it is not already active.