Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
Paper
•
2304.13705
•
Published
•
6
This repository contains an Action Chunking Transformer (ACT) policy trained for the SO-101 MuJoCo simulation pick-and-place task: pick up the red cube and place it in the blue bin.
SO101PickCube-v0 (lerobot.envs.so101_sim)observation.images.front: RGB image (3×128×128)observation.images.wrist: RGB image (3×128×128)observation.state: 10D state vector (agent_pos from the env)[dx, dy, dz, gripper]dx, dy, dz are end-effector delta commands in ([-1, 1])gripper is in ([0, 2]) where 0=open, 1=stay, 2=closeThis policy was trained with:
policy_preprocessor_step_3_normalizer_processor.safetensorspolicy_postprocessor_step_0_unnormalizer_processor.safetensorsResNet18_Weights.IMAGENET1K_V1)chunk_size=40, n_action_steps=40dim_model=512, n_heads=8, n_encoder_layers=4, n_decoder_layers=1latent_dim=32, kl_weight=10.0)Key settings (see train_config.json for full config):
lr=1e-5, weight_decay=1e-4)local/so101_safe_worker1 during training (not published on the Hub)from lerobot.policies.act.modeling_act import ACTPolicy
policy = ACTPolicy.from_pretrained("gpudad/act_so101_chunk40_250k_v1")
policy.eval()
If you’re using the evaluation scripts in this repo (like eval_so101.py), download the snapshot locally first so the script can read config.json and the normalization stats files:
from huggingface_hub import snapshot_download
local_dir = snapshot_download("gpudad/act_so101_chunk40_250k_v1")
print(local_dir)
Then run:
python eval_so101.py --model <local_dir> --episodes 10 --max-steps 250 --no-viewer
Note: SO101PickCube-v0 reports success as info["succeed"].
SO101PickCube-v0.If you use ACT, please cite:
@article{zhao2023learning,
title = {Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware},
author = {Zhao, Tony Z. and others},
journal = {arXiv preprint arXiv:2304.13705},
year = {2023}
}