Downloads · 30 days
6
7% of all-time downloads
RyuRobot/act_sock_in_bowl_July_9_2026
act_sock_in_bowl_July_9_2026 is a robotics model from RyuRobot. Use it for the robotics task on the model card, and read the license before you ship it in a product. It is set up for lerobot. The card lists the license as apache-2.0.
An Action Chunking with Transformers (ACT) imitation-learning policy that drives an SO-101 follower arm to pick up a sock and drop it into a bowl. It predicts 100-step action chunks from two camera views plus joint st…
Downloads · 30 days
6
7% of all-time downloads
All-time downloads
89
Public
Parameters
51.7M
207 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors207 MB · 100%
From the Hugging Face model README
An Action Chunking with Transformers (ACT) imitation-learning policy that drives an SO-101 follower arm to pick up a sock and drop it into a bowl. It predicts 100-step action chunks from two camera views plus joint state, and was trained with LeRobot on RyuRobot/Sock-in-bowl-run-2 — 79 teleoperated episodes at 20 FPS.
Camera mapping matters. This policy was trained with two specific views:
front= a third-person view of the workspace,wrist= the gripper close-up. At inference the same keys must map to the same physical cameras, or the arm moves smoothly toward the wrong targets. Verify withlerobot-find-cameras opencvbefore trusting a run.
so101_follower (6-DoF)front (workspace / third-person) and wrist (gripper), both 640×480| Feature | Type | Shape |
|---|---|---|
observation.state | STATE | (6,) |
observation.images.front | VISUAL | (3, 480, 640) |
observation.images.wrist | VISUAL | (3, 480, 640) |
action (output) | ACTION | (6,) |
| Setting | Value |
|---|---|
| Dataset | RyuRobot/Sock-in-bowl-run-2 — 79 episodes · 41,807 frames · 20 FPS |
| Steps | 100,000 (≈19 epochs) |
| Batch size | 8 |
| Optimizer | AdamW, weight decay 1e-4 |
| LR schedule | cosine decay with warmup — peak 1e-5 → 1e-6, 1,000-step warmup |
| Task string | "Sock-in-bowl" |
| Final train loss | ≈0.058 |
| Hardware | single RTX 4090, ~2 h |
| LeRobot version | 0.6.1 |
ACT is small (~52M parameters), so it runs in real time on Apple-silicon (MPS) — no cloud GPU needed. Plug in the follower (external power on), connect both cameras, then:
PYTORCH_ENABLE_MPS_FALLBACK=1 lerobot-rollout \
--strategy.type=base \
--robot.type=so101_follower \
--robot.port=<your_follower_port> \
--robot.id=my_awesome_follower_arm \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 20}, wrist: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 20}}" \
--policy.path=RyuRobot/act_sock_in_bowl_July_9_2026 \
--device=mps \
--fps=20 \
--task="Sock-in-bowl" \
--duration=60 \
--display_data=true
Notes:
--fps=20 must match the training FPS — the rollout default is 30. Both camera fps values must be 20 too.--device=mps overrides the cuda device baked into train_config.json. On a non-Mac GPU box, use --device=cuda.lerobot-find-cameras opencv, keeping front = workspace and wrist = gripper.lerobot-find-port if the arm doesn't connect.--robot.max_relative_target=15 as a safety cap and keep a hand near the power, then remove it (left on, it clamps every action so the arm can't reach its targets).--strategy.type=base does not record. To record eval rollouts, use --strategy.type=episodic with a --dataset.* repo.Not yet evaluated on the real robot. Run it several times per task and record the success rate (successes / trials), noting object positions, lighting, and any distractors.
@misc{cadene2024lerobot,
author = {Cadene, Remi and Alibert, Simon and Soare, Alexander and Gallouedec, Quentin and Zouitine, Adil and Palma, Steven and Kooijmans, Pepijn and Aractingi, Michel and Shukor, Mustafa and Aubakirova, Dana and Russi, Martino and Capuano, Francesco and Pascal, Caroline and Choghari, Jade and Moss, Jess and Wolf, Thomas},
title = {LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch},
howpublished = "\url{https://github.com/huggingface/lerobot}",
year = {2024}
}