Transformers
Safetensors
Inference Endpoints
File size: 3,626 Bytes
8502e35
 
 
 
 
5e11ac9
5b65dc6
 
 
 
 
 
 
 
 
 
 
d6c8f71
5b65dc6
b9c3a19
 
 
4392425
b9c3a19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5b65dc6
5b6ce85
5b65dc6
d6c8f71
 
5b65dc6
 
 
 
5b6ce85
 
5b65dc6
 
 
 
 
 
 
32bd1f9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
---
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?).