Action Chunking Transformer Policy (as per
Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware) trained for the
AlohaInsertion environment from
gym-aloha.
See the
LeRobot library (particularly the
evaluation script) for instructions on how to load and evaluate this model.
The model was trained using
LeRobot's training script and with the
aloha_sim_insertion_human dataset, using this command:
1python lerobot/scripts/train.py \
2 --output_dir=outputs/train/act_aloha_insertion \
3 --policy.type=act \
4 --dataset.repo_id=lerobot/aloha_sim_insertion_human \
5 --env.type=aloha \
6 --env.task=AlohaInsertion-v0 \
7 --wandb.enable=true
The training curves may be found at
https://wandb.ai/aliberts/lerobot/runs/qxcub3cg.
The current model corresponds to the checkpoint at 100k steps.
This took about 1h50 to train on an Nvida A100.
The model was evaluated on the
AlohaInsertion task from
gym-aloha and compared to a similar model trained with the original
ACT repository. Each episode marks a success if the peg is successfully picked by one robot arm and inserted into the socket held by the other robot arm.
Here are the success rate results for 500 episodes worth of evaluation. The "Theirs" column is the metric as reported in the original paper. The results of each of the individual rollouts may be found in
eval_info.json.
1python lerobot/scripts/eval.py \
2 --policy.path=outputs/train/act_aloha_insertion/checkpoints/last/pretrained_model \
3 --output_dir=outputs/eval/act_aloha_insertion/last \
4 --env.type=aloha \
5 --env.task=AlohaInsertion-v0 \
6 --eval.n_episodes=500 \
7 --eval.batch_size=50 \
8 --device=cuda \
9 --use_amp=false
The original code was heavily refactored, and some bugs were spotted along the way. The differences in code may account for the difference in success rate. Another possibility is that our simulation environment may use slightly different heuristics to evaluate success (we've observed that success is registered as soon as the second arm's gripper makes antipodal contact with the cube). Finally, one should observe that the in-training evaluation jumps up towards the end of training. This may need further investigation (Is it statistically significant? If so, what is the cause?).