Robotics
LeRobot
Safetensors
pi0.5
pi05
franka
vla

pi05_franka_haply_abscartesianpos

Ο€β‚€.β‚… fine-tuned from lerobot/pi05_base on Ameyapores/franka_haply_joint_delta, predicting absolute end-effector position and gripper.

Checkpoint taken at the step with the lowest eval loss: step 1,750, eval_loss 0.1120.

Action space

The policy outputs a 4-dimensional action, and the order is part of the contract:

index meaning units
0 position_x metres, absolute workspace coordinate
1 position_y metres, absolute
2 position_z metres, absolute
3 gripper normalised open/close

These are absolute positions, not displacements. Feeding the output to a controller that expects a delta will drive the arm to the workspace origin. Observed ranges in the training data are x ∈ [0.35, 0.66], y ∈ [βˆ’0.16, 0.19], z ∈ [0.13, 0.49] m β€” a Franka envelope, not increments.

The source column is action_cartesian_absolute. Note the dataset's default action column holds joint deltas and action_cartesian holds delta xyz despite the similar name; this model was trained on neither.

Observations

Three 224Γ—224 RGB cameras, each a single frame β€” Ο€β‚€.β‚… uses no observation history (n_obs_steps=1), so all temporal structure comes from predicting a chunk forward:

  • observation.images.base_0_rgb
  • observation.images.base_1_rgb
  • observation.images.left_wrist_0_rgb

plus an 8-dim observation.state and a language prompt. The dataset is recorded at 20 fps, so chunk_size=50 is 2.5 s of motion.

Training

base lerobot/pi05_base
dataset Ameyapores/franka_haply_joint_delta, 94 episodes / 50,861 frames @ 20 fps
split 84 train / 10 eval (last 10 episodes, eval_split=0.1)
action scheme action_cartesian_absolute β†’ 4-dim action
chunk_size / n_action_steps 50 / 50
batch / LR 256 global, 2.5e-5, cosine
precision bfloat16, gradient checkpointing
normalisation quantile (state and action)
trainable --train_expert_only β€” SigLIP and Gemma-2B frozen; 693M of 4.14B trainable
schedule 3,500 steps (19.2 epochs) on 8Γ—MI300X, eval every 250

eval_loss is the flow-matching objective on held-out episodes β€” not a success rate. The holdout is 10 episodes, so differences of a few percent are not resolved.

Comparison

All arms below share this base, chunk, optimiser and the same 84/10 holdout, so the losses are directly comparable. Only the action encoding differs.

action encoding dims best eval
absolute xyz + gripper (this model) 4 0.1120
absolute xyz + gripper, sliced from the older 8-dim column 4 0.1124
xyz + quaternion + gripper 8 0.1438
absolute joint positions 8 0.1454
joint deltas 8 0.1977
delta xyz + gripper 4 0.2122

The last row is the informative one: identical in every respect except absolute versus incremental position, and 47% worse. With a single observation frame, a delta is a rate regressed from a snapshot, while an absolute target is directly readable from the current image and state. Absolute encodings occupy the top of this table; incremental ones the bottom.

Usage

from lerobot.policies.pi05.modeling_pi05 import PI05Policy

policy = PI05Policy.from_pretrained("arkojit1/pi05_franka_haply_abscartesianpos")

Caveats

  • One seed, one task, one operator. The 0.0004 gap to the sliced-column variant is noise, not a ranking.
  • Trained on Haply-teleoperated demonstrations of a single language task; no claim is made about transfer to other tasks or robots.
  • Evaluated by held-out loss only. No rollout success rate has been measured.
Downloads last month
11
Safetensors
Model size
4B params
Tensor type
F32
Β·
BF16
Β·
Video Preview
loading

Model tree for arkojit1/pi05_franka_haply_abscartesianpos

Finetuned
(616)
this model

Dataset used to train arkojit1/pi05_franka_haply_abscartesianpos