Guozhen AIGlobal AI field notes and model intelligence

Realtime AI News

AWS shows a one-stop robot data loop with Strands Robots, LeRobot, and Hugging Face Storage Buckets

AWS published a walkthrough showing how Strands Robots, LeRobot, and Hugging Face Storage Buckets form a single agent loop that records robot demonstrations, trains by streaming straight from the Hub, and deploys policies back to hardware. The dataset stays in native LeRobot format throughout, with byte-level deduplication cutting repeated transfer costs.

Published
AWS发布Strands机器人数据闭环教程:录制、训练、部署一站打通,数据全程保持LeRobot格式
Image source: huggingface.co

AWS published a step-by-step walkthrough on the Hugging Face blog showing how to run a complete robot data loop with Strands Robots, LeRobot, and Hugging Face Storage Buckets — recording demonstrations, training policies, and deploying them back to hardware from one place.

Strands Robots is an open-source SDK from AWS (Apache 2.0) that exposes robot abstractions, simulation, and the LeRobot stack as AgentTools composed into a single Strands agent. This second post in the series follows the data in the opposite direction from the first: from the first recorded frame back to the deployed policy, using Storage Buckets as the working layer.

Hugging Face Storage Buckets are a mutable, non-versioned, Xet-backed object-storage repository type announced in March 2026. A bucket sits beside dataset repositories in the same hf:// namespace and works with the existing hf CLI, so it becomes the layer that holds data between the day it is recorded and the day it is trained on.

The loop has four stages: a Robot("so100") records a LeRobotDataset from a natural-language prompt, sync_dataset_to_bucket() pushes it into a bucket with byte-level deduplication so each sync uploads only the bytes that changed, stream_dataset() reads the data back over the Hub without a full download — decoding camera video on the fly with no local copy — and the trained checkpoint deploys to the same Robot with a single keyword argument change (mode="real").

Because one Robot() both records and reads back datasets, collecting data and training on it become two methods on one object over one backend. The on-disk format stays exactly as LeRobot wrote it, so anything built to read LeRobot data can read it without conversion. LeRobot's dataset format is already used by more than 90,000 datasets and models on the Hub from over 8,000 publishers.

The walkthrough runs entirely on a laptop: Python 3.12+, strands-robots>=0.5.1 with the lerobot extra (which pulls in LeRobot >= 0.6.1), and any Strands-compatible reasoning provider — Amazon Bedrock, the Anthropic API, OpenAI, or local Ollama. A runnable companion notebook lives at examples/notebooks/05_streaming_data_loop.ipynb.

The demo path uses the SO-100 arm in simulation with a mock policy, so it records a valid dataset rather than a useful one; the same Robot() factory, however, resolves against a registry of arms, humanoids, mobile bases, and hands, and the loop is designed for continuous campaigns: collect episodes through the day, train on the growing dataset, deploy, and pull the next batch back to improve it.

The significance is that it collapses what used to be separate pipelines — data collection, storage, training, and deployment — into a single agent loop with no format conversion. The practical question for robotics teams is whether the streaming approach removes enough of the byte-transfer and copying overhead to make daily retraining on real robot data routine rather than exceptional.

Why it matters

AWS is standardizing the robot data flywheel around open components, potentially making daily retraining on real robot data a routine, low-cost operation for the LeRobot ecosystem.

AWSRoboticsLeRobotOpen Source
Back to realtime news

Nearby Updates

All