Skip to content

Imitation Learning

Overview

This document provides an overview of the complete ROS 2-based imitation learning pipeline built on the AI Worker and the Hugging Face Hub and features a user-friendly web GUI designed to streamline interaction and enhance accessibility.

1. Data Collection

Human operators use a wearable skeletal leader device to demonstrate motions, collecting image and joint position data. The web-based GUI plays a key role in streamlining the process by providing real-time visualization and control. The collected data can be uploaded to and downloaded from the Hugging Face Hub.

2. Data Visualization

Collected data is visualized to inspect motion trajectories and images, helping to identify potential errors prior to training.

3. Model Training

The verified dataset is then used to train an action policy model. Training can be performed on local GPUs or on embedded platforms such as the NVIDIA Jetson. The resulting model can be uploaded to and downloaded from the Hugging Face Hub.

4. Model Inference

Once trained, the models are deployed on the AI Worker to execute real-time inference for tasks such as picking, placing, and obstacle avoidance.

End-to-End Imitation Learning Workflow

  • The diagram below shows the full imitation learning workflow using the AI Worker and Hugging Face.
Imitation Learning Workflow

Tutorial Videos: End-to-End Imitation Learning Workflow

The videos illustrate the full imitation learning workflow using the AI Worker, including teleoperation, dataset creation, and real-time inference with a trained model:

  • Full imitation learning workflow using the ROBOTIS AI Worker and the LeRobot CLI.
  • Dataset Schema

The dataset follows the standard 🤗 Hugging Face datasets format and contains imitation learning demonstrations collected from the AI Worker via ROS 2 teleoperation using the LeRobot framework.

FieldTypeDescription
actionList[float32]Leader state vector
observation.stateList[float32]Follower state vector
observation.images.cam_headImageRGB image from the head-mounted camera
observation.images.cam_wrist_1ImageRGB image from the first wrist camera
observation.images.cam_wrist_2ImageRGB image from the second wrist camera
timestampfloat32Time (in seconds) when the step was recorded
frame_indexint64Index of the frame within an episode
episode_indexint64Index of the episode
indexint64Global index across the dataset
task_indexint64Task identifier

AI Worker and AI Manipulator released under the Apache-2.0 license.