Synthetic Data¶
This chapter is the Isaac Sim datagen pipeline: USD scenes → ROS 2 interface → task-queue orchestration → LeRobot recording / export.
This How-To category is the Isaac datagen pipeline, not Gazebo or teleop. Reference pages stay the source of APIs; this chapter only explains how the pieces connect.
Documented branches
robot_action_composer
@ feature/dex-grasp-generatorlerobot_ros2
@ feature/sim-grasp-datagen
Those branches are newer than main. Follow them, not main.
Terminology
Humanoid here means a wheeled-arm humanoid (mobile base + arms, e.g. FiveAges W2). It does not mean a bipedal or footed humanoid.
Pipeline¶
FaSim-Isaac + robot_usds (+ env / private USD)
↓ Isaac scene, ROS 2 bridge
ros2_robot_interface
↓ motion / state / gripper / Nav2 client
robot_action_composer (task_queue YAML + skills)
↓ StageTarget sequences via ROS2RobotInterface
lerobot_ros2 (record_datasets.py → LeRobot dataset on disk)
Stage |
Role in datagen |
Start here |
|---|---|---|
FaSim-Isaac |
Isaac Sim line for synthetic scenes. Scripts pull USD and start Sim. |
|
robot_usds |
Robot USD superproject used by FaSim ( |
same page |
ros2_robot_interface |
Python interface used by motion and recording. |
|
robot_action_composer |
|
same page |
lerobot_ros2 |
Monorepo that hosts the Isaac example workspace and recording plugins. Stop at record / export. |
In this section¶
Baseline¶
ROS 2 Jazzy
Python 3.12 (same baseline as the lerobot_ros2 / composer READMEs on those branches)
Out of scope¶
This chapter does not cover:
Gazebo
ros2-viser or fa-py-libraries
Policy training, online inference, or dataset consumption (
examples/IsaacSim/policy_training/train.py,inference.py)
Package-level APIs: ros2_robot_interface, robot_action_composer, lerobot_ros2, FaSim-Isaac, robot_usds.