posco_pi05_260820_left_c50

PI05 (flow-matching VLA) policy trained with LeRobot 0.4.3 on the POSCO left-arm pick-and-place dataset.

Configuration

architecture pi05
chunk_size / n_action_steps 50 / 50
observation observation.images.agentview (1 camera, 480x640) + observation.state
action / state dim 8 (left arm arm_l_joint1..7 + gripper_l_joint1)
control rate 20 Hz -> a chunk of 50 spans 2.5 s
training 50,000 steps, batch 32, lr 2.5e-05
data 260820_left, 100 episodes / 44,136 frames

Right-arm dimensions were dropped before training: in these recordings they are effectively constant (action std down to 0.0), so under normalization they contribute unit-variance sensor noise the policy cannot learn.

Usage

from lerobot.policies.pi05.modeling_pi05 import PI05Policy
from lerobot.policies.factory import make_pre_post_processors

repo = "learner1119/posco_pi05_260820_left_c50"
policy = PI05Policy.from_pretrained(repo).eval()
pre, post = make_pre_post_processors(policy.config, pretrained_path=repo)

processed = pre(observation)                       # normalizes + tokenizes
chunk = policy.predict_action_chunk(processed)     # (B, 50, 8), normalized
actions = post(chunk[:, 0])                        # -> real action space

On lerobot >= 0.4 normalization lives in these processor pipelines, not inside the policy. Calling predict_action_chunk on raw observations silently returns wrong actions -- always go through pre / post.

The paligemma tokenizer is bundled in this repository, so no access to the gated google/paligemma-3b-pt-224 repo is required.

Caveat

Trained on all available episodes with no held-out split, so it has no honest offline validation number attached. Treat reported training loss as fit quality, not generalization.

Downloads last month
17
Safetensors
Model size
4B params
Tensor type
F32
·
BF16
·
Video Preview
loading