Robotics
LeRobot
Safetensors
act

Model Card for act

Action Chunking with Transformers (ACT) is an imitation-learning method that predicts short action chunks instead of single steps. It learns from teleoperated data and often achieves high success rates.

Demonstration Purpose:

  • We train an ACT model to put a small red cube into a grey container of size 70x70x70.
  • We use two cameras
    • One front facing camera of type Seeed Studio X10 USB wired camera.
    • One Gripper camera of type Arducam 1080p Low Light
    • Dataset is captured at frame size of 640x480
  • The grey container is placed in a fixed position to the right of the SO-101 arm.
  • The position of the red cube is randomized between episodes and put on the left of the SO-101 arm.

Results

After recording 30 episodes we got the result shown in this video. So in general the SO-101 arm succeeds, but it has to attempt multiple times. We also noticed that in some of the more extreme locations it fails more often.

We added an additional 30 episodes with various positions for the red cube to the dataset, but noticed that the result was not significantly better than shown in the video.

    • The robot struggles estimating the depth of the cube and as a result very often grips just above the cube.
    • The wrist rotation of the gripper is not perfectly aligned with the one we used during demonstration.

This policy has been trained and pushed to the Hub using LeRobot.

Learn how to train and run it in the LeRobot act guide, or browse the full documentation.


Model Details

  • License: apache-2.0
  • Robot type: so_follower
  • Cameras: gripper, top

Inputs & Outputs

The policy consumes these observation features and produces these action features.

Inputs

Feature Type Shape
observation.state STATE (6,)
observation.images.gripper VISUAL (3, 480, 640)
observation.images.top VISUAL (3, 480, 640)

Outputs

Feature Type Shape
action ACTION (6,)

Training Dataset

Training Configuration

Setting Value
Training steps 20000
Batch size 16
Optimizer adamw
Learning rate 1e-05
Seed 1000
LeRobot version 0.6.0

How to Get Started with the Model

New to LeRobot? These guides cover the full workflow:

The short version to run and train this policy:

Run the policy on your robot

lerobot-rollout \
  --strategy.type=base \
  --robot.type=so_follower \
  --robot.port=<your_robot_port> \
  --robot.cameras="{ <camera_1>: {type: opencv, index_or_path: <index_or_path>, width: 640, height: 480, fps: 30}, <camera_2>: {type: opencv, index_or_path: <index_or_path>, width: 640, height: 480, fps: 30}}" \
  --policy.path=vanniew/arducam_redcube_to_greybox \
  --task="MAIN" \
  --duration=60

Replace the remaining <...> placeholders with your own values: --robot.port and the camera names/indices are specific to your machine, and the camera names must match the observation keys this policy was trained on.

When --strategy.type=base is used the script doesn't record the episodes. Skipping duration will make the policy run indefinitely. For more information look at rollout documentation.

Train your own policy

lerobot-train \
  --dataset.repo_id=${HF_USER}/<dataset> \
  --policy.type=act \
  --output_dir=outputs/train/<policy_repo_id> \
  --job_name=lerobot_training \
  --policy.device=cuda \
  --policy.repo_id=${HF_USER}/<policy_repo_id> \
  --wandb.enable=true

Writes checkpoints to outputs/train/<policy_repo_id>/checkpoints/.


Evaluation

No evaluation results have been provided for this policy yet.


Citation

If you use this policy, please cite the method linked in the description above, along with LeRobot:

@misc{cadene2024lerobot,
    author = {Cadene, Remi and Alibert, Simon and Soare, Alexander and Gallouedec, Quentin and Zouitine, Adil and Palma, Steven and Kooijmans, Pepijn and Aractingi, Michel and Shukor, Mustafa and Aubakirova, Dana and Russi, Martino and Capuano, Francesco and Pascal, Caroline and Choghari, Jade and Moss, Jess and Wolf, Thomas},
    title = {LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch},
    howpublished = "\url{https://github.com/huggingface/lerobot}",
    year = {2024}
}
Downloads last month
6
Safetensors
Model size
51.7M params
Tensor type
F32
·
Video Preview
loading

Dataset used to train vanniew/arducam_redcube_to_greybox

Paper for vanniew/arducam_redcube_to_greybox