Robotics
vla
pi0.5
lora
so-arm101
openpi

PI-0.5-Pick-Banana-v2

A pi0.5 vision-language-action model, LoRA fine-tuned on the SO-ARM101 robot for a banana pick-and-place task, using openpi.

Model details

  • Base model: pi05_base (VLM backbone: PaliGemma / Gemma 2B, action expert: Gemma 300M)
  • Fine-tuning method: LoRA on both the VLM backbone (gemma_2b_lora) and the action expert (gemma_300m_lora)
  • Robot: SO-ARM101 (so101_follower), 6-DoF arm + gripper, front + wrist RGB cameras
  • Training data: jinseonylee/SO101_PickAndPlace_Fruit (102 episodes, 78,111 frames, "pick banana and place" task)
  • Checkpoint step: 12,000 / 20,000 (training config: pi05_so_arm_lora, batch size 32)
  • Training loss: ~0.0025 (from ~0.068 at step 0)

Usage

This checkpoint is meant to be served with openpi's pi05_so_arm_lora training config, the same one used to produce it.

1. Download the checkpoint

huggingface-cli download hi-space/PI-0.5-Pick-Banana-v2 --local-dir ./PI-0.5-Pick-Banana-v2

2. Serve the policy

uv run scripts/serve_policy.py policy:checkpoint \
    --policy.config=pi05_so_arm_lora \
    --policy.dir=./PI-0.5-Pick-Banana-v2

This starts a websocket policy server (default port 8000) that a robot client can query for actions. See docs/remote_inference.md in the openpi repo for the client-side protocol.

3. Or load the policy directly in Python

from openpi.policies import policy_config
from openpi.training import config as _config

train_config = _config.get_config("pi05_so_arm_lora")
policy = policy_config.create_trained_policy(
    train_config,
    "./PI-0.5-Pick-Banana-v2",
    default_prompt="pick banana and place",
)

# obs is a dict with the SO-ARM101 keys: image.front, image.wrist, state
action_chunk = policy.infer(obs)["actions"]

Checkpoint contents

  • params/ — model weights (Orbax/OCDBT format, as saved by openpi's training script)
  • assets/jinseonylee/SO101_PickAndPlace_Fruit/norm_stats.json — state/action normalization statistics computed on the training dataset; loaded automatically by create_trained_policy

Caveats

  • This is a LoRA fine-tune from a relatively small (102-episode) single-task dataset. It is expected to perform the banana pick-and-place task it was trained on, and may not generalize to other objects, backgrounds, or SO-ARM101 camera setups.
  • Checkpoint corresponds to step 12,000 of a 20,000-step training run (an intermediate, not final, checkpoint).
Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading

Dataset used to train hi-space/PI-0.5-Pick-Banana-v2