File size: 3,017 Bytes
7970733
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
---
library_name: lerobot
base_model: lerobot/pi05_base
datasets:
- CoRL2026-CSI/SO101-Teleop-Open_drawer_100epi
tags:
- lerobot
- robotics
- robot-learning
- imitation-learning
- behavior-cloning
- visuomotor-policy
- vision-language-action
- pi05
- pi0.5
- openpi
- paligemma
- so101
- teleoperation
- open-drawer
- pytorch
---

# Pi0.5 Teleop Open Drawer

This repository contains a LeRobot Pi0.5 policy fine-tuned for the SO101
`open_drawer` teleoperation task.

The checkpoint was fine-tuned from `lerobot/pi05_base` on
`CoRL2026-CSI/SO101-Teleop-Open_drawer_100epi` and saved after the final
training step.

## Model Details

- **Policy type:** `pi05`
- **Base model:** `lerobot/pi05_base`
- **Training dataset:** `CoRL2026-CSI/SO101-Teleop-Open_drawer_100epi`
- **Task:** open a drawer with SO101 teleoperation demonstrations
- **Checkpoint:** final checkpoint at step `2200`
- **Action dimension:** `6`
- **State dimension:** `32`
- **Image resolution:** `224 x 224`
- **Precision:** `bfloat16`
- **Training framework:** LeRobot

## Input and Output Features

The policy checkpoint is configured with the following observation features:

- `observation.images.base_0_rgb`: visual input, shape `[3, 224, 224]`
- `observation.images.left_wrist_0_rgb`: visual input, shape `[3, 224, 224]`
- `observation.images.right_wrist_0_rgb`: visual input, shape `[3, 224, 224]`
- `observation.state`: robot state, shape `[32]`

The output feature is:

- `action`: robot action, shape `[6]`

The saved policy preprocessor maps dataset camera keys as follows:

- `observation.images.top` -> `observation.images.base_0_rgb`
- `observation.images.left_wrist` -> `observation.images.left_wrist_0_rgb`

## Training

Training used the following main settings:

- **Steps:** `2200`
- **Batch size:** `32`
- **Gradient accumulation:** `4`
- **Optimizer:** AdamW
- **Learning rate:** `2.5e-5`
- **Scheduler:** cosine decay with warmup
- **Image augmentation:** enabled
- **Final training loss:** `0.0379133597`
- **Final train steps logged:** `2200`
- **Final train samples logged:** `140800`
- **Final train epochs logged:** `6.2694808086`

No separate evaluation results are included in this repository.

## Usage

Use the model as a LeRobot policy by pointing `--policy.path` at this Hub repo:

```bash
lerobot-record \
  --robot.type=<your_robot_type> \
  --dataset.repo_id=<your_eval_dataset_repo> \
  --policy.path=CoRL2026-CSI/pi05_teleop_open_drawer \
  --episodes=10
```

You can also load it directly in Python:

```python
from lerobot.policies.pi05.modeling_pi05 import PI05Policy

policy = PI05Policy.from_pretrained("CoRL2026-CSI/pi05_teleop_open_drawer")
policy.eval()
```

## Files

- `model.safetensors`: policy weights
- `config.json`: Pi0.5 policy configuration
- `train_config.json`: training configuration
- `policy_preprocessor.json`: saved policy input processor pipeline
- `policy_postprocessor.json`: saved policy output processor pipeline
- `*_processor.safetensors`: normalization and unnormalization state