Record Demonstrations#

This tutorial will guide you on how to use the recorder to capture teleoperation demonstrations in the MCAP data format. Both the Robot (via Ethernet) and the RealSense (via USB) must be connected to the host.

Verify sensor connectivity#

Before continuing, verify that the sensor connectivity is working. You may have to stop the teleop stack from Teleoperate the Unitree G1 before continuing.

  1. On the host machine (outside Docker), confirm the kernel sees the camera over USB:

    lsusb | grep -i intel
    

    You should see an entry with Intel(R) RealSense(TM) Depth Camera.

  2. Activate the Isaac ROS environment and confirm the camera is visible inside the container:

    rs-enumerate-devices
    

    The output should contain a connected RealSense with its serial number and firmware version.

  3. Still in the container, confirm the apple and plate are visible in the camera:

    realsense-viewer
    

    Enable the Stereo Module and RGB to verify you see a depth stream and color image. If realsense-viewer does not detect the camera, return to the RealSense setup tutorial before continuing.

Run the Recorder#

Open a second terminal (the teleop stack from Teleoperate the Unitree G1 must keep running in the first, restart it if necessary).

Activate the Isaac ROS environment and install the recorder:

isaac-ros activate

Note

If your container was built with the gr00t_workflow Docker layer, you can skip past the install steps to the ros2 run isaac_ros_unitree_g1_recorder record command.

sudo apt-get update
sudo apt-get install -y ros-jazzy-isaac-ros-unitree-g1-recorder
source /opt/ros/jazzy/setup.bash

Start the recorder:

ros2 run isaac_ros_unitree_g1_recorder record -- \
    task_description:="move the apple to the plate"

A terminal UI will show. Press Space to start an episode, Space again to save an episode (or c to discard an episode). Recordings will be stored in /workspaces/isaac_ros-dev/recordings/.

For high quality datasets, we recommend:

  • Two people: one to operate the robot and one to start/stop the recording.

  • Use the left hand to move the apple to the plate.

  • Wait until the recorder is ready and keep the hands still for at least one second before starting to move.

  • Use slow and deliberate movements.

  • Keep the hands steady for a few seconds at the end of the episode.

  • Collect at least 200 successful episodes.

  • Vary grasp approach (side, top, and diagonal).

  • Lift the apple up, do not drag it along the table.

  • Pause above the plate before placing the apple.

  • Keep the hands still again at the end of the episode before stopping the recording.

  • Keep the unused (right) hand in a natural position just above the table.

See also

isaac_ros_unitree_g1_recorder — full keyboard reference, all launch arguments, recorded topics, services, build-from-source instructions, troubleshooting.

Next#

Continue with Convert MCAP Bags to a LeRobot Dataset to turn the session into a LeRobot dataset that is ready for fine-tuning a GR00T policy.