Robotics
LeRobot
Safetensors
molmoact2

Model Card for molmoact2

MolmoAct2 is an open robotics foundation model from the Allen Institute for AI (Ai2) that maps camera images and language instructions to robot action chunks. The LeRobot implementation supports training and evaluation of the regular MolmoAct2 model.

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

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


Model Details

  • License: apache-2.0
  • Robot type: follow
  • Cameras: gripper, newtop, newside

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.newtop VISUAL (3, 480, 640)
observation.images.newside VISUAL (3, 480, 640)

Outputs

Feature Type Shape
action ACTION (6,)

Training Dataset

  • Repository: manufacturing_level_3
  • Episodes: 1850
  • Frames: 1783295
  • Frame rate: 30 FPS
  • Task(s): "Pick up the longest bolt and give it to the human", "Pick up one zinc nut and give to human", "Put all 2-inch screws in the bucket", "Put the 4-inch bolt in the bucket", "Put all exterior coated screws in bucket", "Put the tan screw in the taped area", "Put the screws in the left taped area and the bolts in the right taped area", "Put the smallest nut in the taped area", "Take screw from human and put with other screws", "Put the two long springs next to each other in the taped area", "Pick up a galvanized nut and put in bucket", "Put zinc bolts in the right taped area and galvanized bolts in the left taped area", "Put all screws in the bucket", "Put all galvanized nuts in bucket", "Put the longest bolt in the bucket", "Put all hex bolts in bucket", "Remove all springs from the taped area", "Pick up one lag screw and give it to human", "Put all lag screws in bucket", "Put all galvanized bolts in bucket", "put all carriage bolts in bucket", "pick up a carriage bolt and give it to the human", "Put all nuts in the taped area", "Put all two-inch springs in the bucket", "Put all springs in the left taped area", "put all zinc hardware in bucket", "take bolt from human and put it in bucket", "Put all zinc screws in bucket", "Put all screws in the right taped area", "Take hex nut from human and place with other nuts", "Put the smallest lag bolt in taped area", "Remove all hardware from the taped area", "Put all 2-inch hardware in the bucket", "pick up a galvanized bolt and give it to human", "Put all springs in bucket", "Put all galvanized hardware in bucket", "Put the shortest spring in the bucket"

Training Configuration

Setting Value
Training steps 60000
Batch size 8
Optimizer adamw
Learning rate 1e-05
Seed 1000
LeRobot version 0.6.1

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=follow \
  --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=elijahleo/moloact_1b_3 \
  --task="Pick up the longest bolt and give it to the human" \
  --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=molmoact2 \
  --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
-
Safetensors
Model size
6B params
Tensor type
F32
·
BF16
·
Video Preview
loading