shu4dev/aic-cable-insertion_sample
AIC Cable Insertion Dataset About the AI for Industry Challenge This dataset was collected for the AI for Industry Challenge (AIC), an open competition by Intrinsic (an Alphabet company) for developers and roboticists aimed at solving high-impact problems in robotics and manufacturing. The challenge task is cable insertion — commanding a UR5e robot arm to insert fiber-optic cable plugs (SFP modules and SC connectors) into ports on a configurable task board in… See the full description on the dataset page: https://huggingface.co/datasets/shu4dev/aic-cable-insertion_sample.
AIC Cable Insertion Dataset
About the AI for Industry Challenge
This dataset was collected for the AI for Industry Challenge (AIC), an open competition by Intrinsic (an Alphabet company) for developers and roboticists aimed at solving high-impact problems in robotics and manufacturing.
The challenge task is cable insertion — commanding a UR5e robot arm to insert fiber-optic cable plugs (SFP modules and SC connectors) into ports on a configurable task board in simulation (Gazebo). Policies must generalize across randomized board poses, rail positions, and plug/port types.
Competition Resources
- Event Page: intrinsic.ai/events/ai-for-industry-challenge
- Toolkit Repository: github.com/intrinsic-dev/aic
- Discussion Forum: Open Robotics Discourse
Dataset Description
This dataset contains teleoperated demonstrations of cable insertion tasks recorded from the AIC Gazebo simulation environment as ROS 2 bag files (.mcap), converted to LeRobot v2.1 format for training Vision-Language-Action (VLA) policies.
Key Facts
Tasks
Each episode is labeled with a specific language instruction identifying the plug type, target port, and target rail:
Scene Variation
Each trial features different randomization to encourage policy generalization:
Data Format and Features
Observation State (31-dim)
Action (6-dim Cartesian velocity)
Camera Views
Three wrist-mounted cameras provide stereo-like coverage of the insertion workspace:
observation.images.left_camera— Left wrist camera (288×256 RGB)observation.images.center_camera— Center wrist camera (288×256 RGB)observation.images.right_camera— Right wrist camera (288×256 RGB)
Videos are stored as MP4 files (H.264, 20 fps).
Dataset Structure
aic_lerobot_dataset/
├── data/
│ └── chunk-000/
│ ├── episode_000000.parquet
│ ├── episode_000001.parquet
│ ├── episode_000002.parquet
│ ├── episode_000003.parquet
│ └── episode_000004.parquet
├── meta/
│ ├── info.json
│ ├── tasks.jsonl
│ ├── episodes.jsonl
│ ├── episodes_stats.jsonl
│ └── stats.json
└── videos/
└── chunk-000/
├── observation.images.left_camera/
│ └── episode_00000{0-4}.mp4
├── observation.images.center_camera/
│ └── episode_00000{0-4}.mp4
└── observation.images.right_camera/
└── episode_00000{0-4}.mp4Usage
Loading with LeRobot
from lerobot.datasets.lerobot_dataset import LeRobotDataset
dataset = LeRobotDataset("shu4dev/aic-cable-insertion")
# Access a frame
sample = dataset[0]
print(sample["observation.state"].shape) # torch.Size([31])
print(sample["action"].shape) # torch.Size([6])Loading with HuggingFace Datasets
from datasets import load_dataset
ds = load_dataset("shu4dev/aic-cable-insertion")
print(ds["train"][0])Data Collection
Demonstrations were collected via teleoperation in the AIC Gazebo simulation environment using the LeRobot integration (lerobot-record) with keyboard-based Cartesian control. The robot starts each trial with the cable plug already grasped and positioned within a few centimeters of the target port.
Raw ROS 2 bag data (.mcap files, 10–16 GB each) was converted to LeRobot v2.1 format using a custom streaming converter that:
- Filters to only the 8 needed ROS topics (skipping TF, contacts, scoring)
- Synchronizes all modalities to the center camera timestamps at 20 Hz
- Extracts observation state from
/aic_controller/controller_state,/joint_states, and/fts_broadcaster/wrench - Extracts actions from
/aic_controller/pose_commands(Cartesian velocity mode) - Encodes camera streams as H.264 MP4 via direct ffmpeg pipe
Intended Use
This dataset is intended for:
- Training imitation learning policies (ACT, Diffusion Policy, etc.)
- Training VLA models (π0, GR00T, OpenVLA, etc.) with language-conditioned cable insertion
- Benchmarking sim-to-sim transfer for contact-rich manipulation
- Research on fine-grained insertion tasks with force feedback
Citation
If you use this dataset, please cite the AI for Industry Challenge:
@misc{aic2026,
title={AI for Industry Challenge Toolkit},
author={Intrinsic Innovation LLC},
year={2026},
url={https://github.com/intrinsic-dev/aic}
}License
Apache License 2.0
