posco_pi05_260820_left_c20

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 20 / 20
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 20 spans 1.0 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_c20"
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, 20, 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
5
Safetensors
Model size
4B params
Tensor type
F32
·
BF16
·
Video Preview
loading