Transformers
Safetensors
Inference Endpoints
alexandersoare's picture
Upload folder using huggingface_hub
32bd1f9 verified
---
license: apache-2.0
datasets:
- lerobot/aloha_sim_transfer_cube_human
---
# Model Card for ACT/AlohaTransferCube
Action Chunking Transformer Policy (as per [Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware](https://arxiv.org/abs/2304.13705)) trained for the `AlohaTransferCube` environment from [gym-aloha](https://github.com/huggingface/gym-aloha).
![demo](demo.gif)
## How to Get Started with the Model
See the [LeRobot library](https://github.com/huggingface/lerobot) (particularly the [evaluation script](https://github.com/huggingface/lerobot/blob/main/lerobot/scripts/eval.py)) for instructions on how to load and evaluate this model.
## Training Details
Trained with [LeRobot@d747195](https://github.com/huggingface/lerobot/tree/d747195c5733c4f68d4bfbe62632d6fc1b605712).
The model was trained using [LeRobot's training script](https://github.com/huggingface/lerobot/blob/d747195c5733c4f68d4bfbe62632d6fc1b605712/lerobot/scripts/train.py) and with the [aloha_sim_transfer_cube_human](https://huggingface.co/datasets/lerobot/aloha_sim_transfer_cube_human/tree/v1.3) dataset, using this command:
```bash
python lerobot/scripts/train.py \
hydra.job.name=act_aloha_sim_transfer_cube_human \
hydra.run.dir=outputs/train/act_aloha_sim_transfer_cube_human \
policy=act \
policy.use_vae=true \
env=aloha \
env.task=AlohaTransferCube-v0 \
dataset_repo_id=lerobot/aloha_sim_transfer_cube_human \
training.eval_freq=10000 \
training.log_freq=250 \
training.offline_steps=100000 \
training.save_model=true \
training.save_freq=25000 \
eval.n_episodes=50 \
eval.batch_size=50 \
wandb.enable=true \
device=cuda
```
The training curves may be found at https://wandb.ai/alexander-soare/Alexander-LeRobot/runs/hjdard15.
This took about 2.5 hours to train on an Nvida RTX 3090.
## Evaluation
The model was evaluated on the `AlohaTransferCube` environment from [gym-aloha](https://github.com/huggingface/gym-aloha) and compared to a similar model trained with the original [ACT repository](https://github.com/tonyzhaozh/act). Each episode marks a success if the cube is successfully picked by one robot arm and transferred to the other robot arm.
Here are the success rate results for 500 episodes worth of evaluation. The first row is the naive mean. The second row assumes a uniform prior and computes the beta posterior, then calculates the mean and lower/upper confidence bounds (with a 68.2% confidence interval centered on the mean). The "Theirs" column is for an equivalent model trained on the original ACT repository and evaluated on LeRobot (the model weights may be found in the [`original_act_repo`](https://huggingface.co/lerobot/act_aloha_sim_transfer_cube_human/tree/original_act_repo) branch of this respository). The results of each of the individual rollouts may be found in [eval_info.json](eval_info.json).
<blank>|Ours|Theirs
-|-|-
Success rate for 500 episodes (%) | 87.6 | 68.0
Beta distribution lower/mean/upper (%) | 86.0 / 87.5 / 88.9 | 65.8 / 67.9 / 70.0
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?).