ACT policy — SO-101 pick block into bowl
ACT (Action Chunking Transformer) policy trained with LeRobot on a real SO-101 leader/follower arm to perform the task "pick up the block and place it in the bowl".
- Dataset: sahilapage/so101_pick_block_bowl_20260718_211257 — 50 teleop episodes, 32,504 frames, 30fps, dual camera (wrist + external).
- Training: 100,000 steps, batch size 8, constant lr 1e-5 (ACT's default preset has no LR decay), on an RTX 4090. Final training loss ≈ 0.047. This checkpoint is the final step (100000).
- Hardware: verified with a real-hardware rollout — successfully picked up the block and placed it in the bowl on the SO-101 follower arm.
Use
from lerobot.policies.act.modeling_act import ACTPolicy
policy = ACTPolicy.from_pretrained("sahilapage/act_so101_pick_block_bowl")
Or for a live rollout on SO-101 hardware:
lerobot-rollout --strategy.type=base --policy.path=sahilapage/act_so101_pick_block_bowl \
--robot.type=so101_follower --robot.port=<your follower port> --robot.id=so101_follower \
--robot.cameras="{ wrist: {type: opencv, index_or_path: <wrist cam>, width: 640, height: 480, fps: 30}, external: {type: opencv, index_or_path: <external cam>, width: 640, height: 480, fps: 30}}" \
--task="pick up the block and place it in the bowl" --duration=30 --fps=30
See also
- Diffusion policy trained on the same task/dataset: sahilapage/diffusion_so101_pick_block_bowl