Robotics
LeRobot
Safetensors
pi05

You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

Model Card for pi05

ฯ€โ‚€.โ‚… (Pi05) is a Vision-Language-Action model from Physical Intelligence designed for open-world generalization: it evolves ฯ€โ‚€ to generalize to entirely new environments and situations that were never seen during training. The LeRobot implementation is adapted from their open-source OpenPI repository.

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

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


Model Details

  • License: apache-2.0
  • Fine-tuned from: lerobot/pi05_base
  • Robot type: hsr
  • Cameras: head, hand

Inputs & Outputs

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

Inputs

Feature Type Shape
observation.image.head VISUAL (3, 480, 640)
observation.image.hand VISUAL (3, 480, 640)
observation.state STATE (8,)

Outputs

Feature Type Shape
action ACTION (11,)

Training Dataset

  • Repository: paulprt/airoa-moma-absolute
  • Episodes: 23762
  • Frames: 9422911
  • Frame rate: 30 FPS
  • Task(s): "Pull the chain to turn on the light.", "Pull the chain to turn off the light.", "Pull the chain to turn the desk lamp on or off", "open the oven toaster", "pick up a slice of bread on the plate", "place a slice of bread into the oven toaster", "close the oven toaster", "take a slice of bread out of the oven toaster", "place a slice of bread on the plate", "Bake a toast", "Approach the coffee maker", "Open the lid of the coffee maker", "Pick up the coffee capsule from the table", "Insert the coffee capsule into the coffee maker", "Close the lid of the coffee maker", "Pick up the coffee cup from the table", "Place the cup on the coffee maker", "Press the button on the coffee maker", "Take the cup", "Place the cup back on the table", "Remove the coffee capsule from the coffee maker", "Place the coffee capsule on the table", "Move away from the coffee maker", "Make coffee", "Open the dishwasher", "Pull the lower tray", "Grab the plate", "Place the plate in the lower tray", "Pull the upper tray", "Grab the cup", "Place the cup in the upper tray", "Push in the upper tray", "Push in the lower tray", "Close the dishwasher", "Run the dishwasher", "pick out the plate", "Put the plate on the table", "pick out the cup", "Put the cup on the table", "Washing dishes in the dishwasher", "Open the towel stand.", "Grab the towel in the basket.", "Hang the towel on the towel stand.", "Grab the towel hanging on the towel stand.", "Put the towel into the basket.", "Fold up the towel stand.", "Open the towel stand and hang the towel.", "Grab one of the slippers", "Place the slipper upright in the slipper rack", "Grab the other slipper", "Stand the slippers in the slipper rack", "Press the button to turn on the desk lamp", "Press the button to turn off the desk lamp", "Press the button to turn the desk lamp on and off"

Training Configuration

Setting Value
Training steps 20000
Batch size 128
Optimizer adamw
Learning rate 5e-05
Seed 1000
LeRobot version 0.5.2

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=hsr \
  --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=paulprt/pi05-hsr-moma \
  --task="Pull the chain to turn on the light." \
  --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

This policy type is usually fine-tuned from the pretrained base model lerobot/pi05_base:

lerobot-train \
  --dataset.repo_id=${HF_USER}/<dataset> \
  --policy.path=lerobot/pi05_base \
  --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
1
Safetensors
Model size
4B params
Tensor type
F32
ยท
BF16
ยท
Video Preview
loading

Model tree for paulprt/pi05-hsr-moma

Finetuned
(303)
this model