Robotics
LeRobot
Safetensors
pi05

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: so_follower
  • Cameras: wrist, middle, above, right, left

Inputs & Outputs

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

Inputs

Feature Type Shape
observation.state STATE (6,)
observation.images.wrist VISUAL (3, 480, 640)
observation.images.middle VISUAL (3, 480, 640)
observation.images.above VISUAL (3, 480, 640)

Outputs

Feature Type Shape
action ACTION (6,)

Training Dataset

  • Repository: justintiensmith/Merged_Reasoning_Tasks
  • Episodes: 302
  • Frames: 226574
  • Frame rate: 30 FPS
  • Task(s): "Place the Rubik's Cube to the front of the cinnamon jar.", "Place the yellow-white striped cup to the front of the green block.", "Place the pink marker to the front of the green highlighter.", "Place the yellow-white striped cup to the front of the cinnamon jar.", "Place the Rubik's Cube to the front of the green block.", "Place the pink marker to the back of the green block.", "Place the yellow-white striped cup to the back of the green highlighter.", "Place the Rubik's Cube to the back of the cinnamon jar.", "Place the pink marker to the back of the cinnamon jar.", "Pick the pencil sharpener that is between the roll of masking tape and the mug.", "Pick the pencil sharpener that is between the mug and the dictionary.", "Pick the Lego block that is between the roll of masking tape and the dictionary.", "Pick the Lego block that is between the mug and the roll of masking tape.", "Pick the soda can that is between the dictionary and the mug.", "Pick the soda can that is closest to the roll of masking tape.", "Pick the pencil sharpener closest to the mug.", "Pick the pencil sharpener closest to the dictionary.", "Pick the Lego block closest to the roll of masking tape.", "Pick the Lego block closest to the mug.", "Pick the first object from the left.", "Pick the second object from the left.", "Pick the third object from the left.", "Pick the fourth object from the left.", "Pick the fifth object from the left.", "Pick the first object from the right.", "Pick the second object from the right.", "Pick the third object from the right.", "Pick the fourth object from the right.", "Pick the fifth object from the right.", "Pick and place the smallest object onto the towel.", "Pick and place the two smallest objects onto the towel.", "Pick and place the three smallest objects onto the towel.", "Pick and place the largest object onto the towel.", "Pick and place the two largest objects onto the towel.", "Pick and place the three largest objects onto the towel.", "Make it such that there are 0 objects on the piece of paper.", "Make it such that there is 1 object on the piece of paper.", "Make it such that there are 2 objects on the piece of paper.", "Make it such that there are 3 objects on the piece of paper.", "Make it such that there are 4 objects on the piece of paper.", "Pick and place all the yellow objects on the piece of cardboard.", "Pick and place all the green objects on the piece of cardboard."

Training Configuration

Setting Value
Training steps 21243
Batch size 32
Optimizer adamw
Learning rate 2.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=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=justintiensmith/pi05_Merged_Reasoning_Tasks_4_Epochs \
  --task="Place the Rubik's Cube to the front of the cinnamon jar." \
  --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
31
Safetensors
Model size
4B params
Tensor type
F32
·
BF16
·
Video Preview
loading

Model tree for justintiensmith/pi05_Merged_Reasoning_Tasks_4_Epochs

Finetuned
(147)
this model

Dataset used to train justintiensmith/pi05_Merged_Reasoning_Tasks_4_Epochs