Instructions to use DAVIAN-Robotics/pi05_droid_jointpos with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use DAVIAN-Robotics/pi05_droid_jointpos with LeRobot:
- Notebooks
- Google Colab
- Kaggle
pi05_droid_jointpos (lerobot PyTorch port)
OpenPI ์ pi05_droid_jointpos (ฯ0.5 ๋ฅผ DROID ๋ก fine-tune, joint-position action space)
๋ฅผ lerobot PI05Policy (PyTorch) ํฌ๋งท์ผ๋ก ๋ณํํ
์ฒดํฌํฌ์ธํธ์
๋๋ค.
- Source:
gs://openpi-assets-simeval/pi05_droid_jointpos(JAX/orbax) โ OpenPI ๊ณต์ ๋ฐฐํฌ๋ณธ. - Conversion:
openpi/examples/convert_jax_model_to_pytorch.py(JAXโPyTorch), ์ดํ lerobot config/processor ์ ์กฐ๋ฆฝ. - Verified: RoboLab (Isaac Lab)
BananaInBowlTask8-env server-client eval โ 7/8 (๋์ผ ๊ฐ์ค์น์ openpi JAX baseline 6/8 ๊ณผ ๋๋ฑ).
Files
| file | ๋ด์ฉ |
|---|---|
config.json |
PI05Config โ max_state_dim=8, chunk_size=15, dtype=bfloat16, STATE/ACTION QUANTILES |
model.safetensors |
812 keys (Gemma embed_tokens ๋ lm_head ์ tie) |
policy_preprocessor.json (+ *_normalizer_processor.safetensors) |
rename โ batch โ DROID quantile normalize โ state discretize+tokenize โ device |
policy_postprocessor.json (+ *_unnormalizer_processor.safetensors) |
DROID quantile unnormalize |
Usage
from lerobot.policies.pi05.modeling_pi05 import PI05Policy
from lerobot.policies.factory import make_pre_post_processors
repo = "DAVIAN-Robotics/pi05_droid_jointpos"
policy = PI05Policy.from_pretrained(repo).eval()
preprocessor, postprocessor = make_pre_post_processors(policy.config, pretrained_path=repo)
DROID I/O adapter (ํ์)
์ด ์ฒดํฌํฌ์ธํธ๋ lerobot-native ๋จ๊ณ(normalize / tokenize / model / unnormalize)๋ง
self-contained ํฉ๋๋ค. DROID-specific ํ ์
์ถ๋ ฅ ๋ณํ์ OpenPI droid_policy ๋ก์ง์ด๋ฉฐ lerobot ์
์์ผ๋ฏ๋ก ์ธ๋ถ ์ด๋ํฐ๊ฐ ํ์ํฉ๋๋ค:
- ์
๋ ฅ:
observation.state = concat(joint_position[7], gripper_position[1])(raw, processor ๊ฐ ์ ๊ทํ). ์ด๋ฏธ์ง๋observation.images.base_0_rgb(exterior),observation.images.left_wrist_0_rgb(wrist) 2๊ฐ๋ง ์ฃผ๋ฉด ๋ชจ๋ธ์ด 3๋ฒ์งธ cam ์-1๋ก ์๋ pad. ([0,1]float, CHW.) - ์ถ๋ ฅ: ๋ชจ๋ธ์ joint delta(dims 0โ6)๋ฅผ ๋ด๋ฏ๋ก ํ์ฌ joint ๋ฅผ ๋ํด absolute ํ
(
AbsoluteActions, mask = 7รTrue + 1รFalse), ๊ทธ ๋คaction[:, :8](joint7 + gripper1) ๋ง ์ฌ์ฉ. - ์ฐธ์กฐ ๊ตฌํ:
sft/scripts/pi05_lerobot_server/(droid_glue.py+policy.py) โ OpenPI websocket ํ๋กํ ์ฝ ์๋ฒ๋ก, RoboLabpi0_familyclient ๊ฐ ๊ทธ๋๋ก ๋ถ๋๋ค.
์ฃผ์
max_state_dim=8: pi05 ๋ ์ ๊ทํ๋ state ๋ฅผ 256-bin ์ด์ฐํํด ํ๋กฌํํธ์ ๋ฃ๋๋ฐ, DROID ๋ ์ค์ state ๊ฐ 8-dim(joint7+gripper1)์ด๋ผ 8๊ฐ ๊ฐ๋ง ๋ฃ์ด์ผ openpi ์ ์ผ์นํ๋ค. ๊ธฐ๋ณธ pi05(32)๋ก ๋๋ฉด ์์ฌ 24๊ฐ ํ ํฐ์ด conditioning ์ ์ค์ผ์์ผ ์ฑ๋ฅ์ด ๋จ์ด์ง๋ค(ํนํ gripper ์กฐ๊ธฐ close). ์ด repo ๋config.json๊ณผpolicy_preprocessor.json(prepare-state step)์max_state_dim=8์ ๋ช ์ํด ํ์ค ๋ก๋ฉ๋ง์ผ๋ก ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ๋ค. (lerobot ๊ธฐ๋ณธ save ๋ prepare step ์ ์ด ๊ฐ์ ์ง๋ ฌํํ์ง ์์ผ๋ฏ๋ก ์๋์ผ๋ก ๋ฃ์ด๋ ๊ฒ โ ์ง์ ๋น๋ ์ ๋์ผํ๊ฒ ๋ช ์ ํ์.)RLinf/RLinf-Pi05-Polaris-droid_jointpos์ ํผ๋ ์ฃผ์ โ param ํค ๊ตฌ์กฐ์ norm_stats ๋ ๊ฐ์ง๋ง RL-finetune ๋ ๋ค๋ฅธ ๊ฐ์ค์น ๋ค. ์ด repo ๋ OpenPI ๊ณต์pi05_droid_jointpos๋ณํ๋ณธ์ด๋ค.
License / attribution
๊ฐ์ค์น๋ OpenPI(Physical Intelligence) ์ pi05_droid_jointpos ์์ ํ์๋์๋ค. ์ฌ์ฉ ์กฐ๊ฑด์
upstream(openpi) ์ ๋ผ์ด์ ์ค๋ฅผ ๋ฐ๋ฅธ๋ค.
- Downloads last month
- 36