jinwoomok's picture
PT18 deploy king v0.0.1 (real-robot validated)
89a62b6 verified
|
Raw
History Blame Contribute Delete
3.19 kB
---
license: apache-2.0
tags:
- robotics
- reinforcement-learning
- unitree-g1
- locomotion
- isaac-lab
---
# G1-29DoF PhaseTrack PT18 โ€” ๋ฐฐํฌ ํ‚น (v0.1.0)
Unitree G1 29-DoF ์†๋„์ถ”์ข… ๋ณดํ–‰ ์ •์ฑ… (PhaseTrack: ์œ„์ƒ ์‹œ๊ณ„ + Bรฉzier ๋ฐœ๋†’์ด ์ ˆ์ฐจ์  ๋ณดํ–‰,
๋ชจ์…˜ ๋ฐ์ดํ„ฐยทdiscriminator ์—†์Œ). **์‹ค๊ธฐ G1 ๊ฒ€์ฆ ์™„๋ฃŒ** โ€” clobot ์‚ฌ๋‚ด์šฉ (private).
> โš ๏ธ **ํ‰์ง€ ์ „์šฉ ํ•™์Šต**: ์ด ์ •์ฑ…์€ **ํ‰์ง€(flat terrain)์—์„œ๋งŒ ํ•™์Šต**๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€ํ˜• ๊ด€์ธก(๋†’์ด
> ์Šค์บ”) ์—†์ด ๊ณ ์œ ์ˆ˜์šฉ ๊ฐ๊ฐ๋งŒ ์‚ฌ์šฉํ•˜๋ฉฐ, ์š”์ฒ ยท๊ฒฝ์‚ฌยทํ„ฑ์€ ํ•™์Šต ๋ถ„ํฌ ๋ฐ–์ž…๋‹ˆ๋‹ค. ์‹ค์ธก ์ฐธ๊ณ : ๋‚ฎ์€
> ์š”์ฒ /ํ„ฑ(โ‰ค6cm)ยท์™„๊ฒฝ์‚ฌ ์ง€ํ˜•์— ๋ฌด๊ฐœ์กฐ ํˆฌ์ž… ์‹œ sim ๋‚™์ƒ๋ฅ  4%(easy)~17%(๊ณ ๋‚œ๋„+๊ฐ•์™ธ๋ž€) โ€” ์–ด๋А
> ์ •๋„ ๋ฒ„ํ‹ฐ์ง€๋งŒ ๋ณด์žฅ ์—†์Œ. ํŠนํžˆ **์ž‘์€ ํ„ฑ์„ ์‚ฌ์„ (๋น„์ •๋ฐฉํ–ฅ)์œผ๋กœ ๋„˜์„ ๋•Œ ๋ถˆ์•ˆ์ •**์ด ์‹ค๊ธฐ์—์„œ
> ๊ด€์ฐฐ๋จ. ์ง€ํ˜• ๋Œ€์‘ ์ •์ฑ…์€ ๋ณ„๋„ ์บ ํŽ˜์ธ(PTR ์‹œ๋ฆฌ์ฆˆ, ์ง„ํ–‰ ์ค‘)์—์„œ ํ•™์Šต.
## ์‹ค๊ธฐ ๊ฒ€์ฆ ์ƒํƒœ (2026-07-15 ๊ธฐ์ค€)
| ๋Šฅ๋ ฅ | ์ƒํƒœ |
|---|---|
| ์ „์ง„ / ํ›„์ง„ / ์ •์ง€ | โœ… ์‹ค๊ธฐ ํ™•์ธ (sim2real DR: CoMยท๊ฒŒ์ธยท๊ด€์ ˆ์˜์ ) |
| ํšŒ์ „ (๋ช…๋ น ์ƒํ•œ ยฑ0.7 rad/s) | โœ… ์‹ค๊ธฐ ํ™•์ธ โ€” ํ•™์Šต๋ฒ”์œ„(ยฑ0.5) ์™ธ์‚ฝ, sim์€ 1.0๊นŒ์ง€ ๊ฒ€์ฆ |
| ์šฐ์ธก yaw ์‚ฌํ–‰ | โœ… heading-hold(๋ช…๋ น๊ณ„์ธต ํŠธ๋ฆผ, deploy.yaml)๋กœ ์‹ค๊ธฐ ์–ต์ œ ํ™•์ธ |
| push ํšŒ๋ณต / ์ •์ง€ ํšŒ๋ณต | โœ… (sim ยฑ1.0 push, ์‹ค๊ธฐ ํ™•์ธ) |
**์•Œ๋ ค์ง„ ํ•œ๊ณ„**: ๊ฒŒ๊ฑธ์Œ(lateral) ์•ฝํ•จ(vy~0.17), ์ž‘์€ ํ„ฑ ์‚ฌ์„  ์ง„์ž… ๋ถˆ์•ˆ์ •, ์‚ฌํ–‰ ๊ทผ๋ณธ์›์ธ(HW ๋น„๋Œ€์นญ)
๋ฏธํ•ด๊ฒฐ(ํŠธ๋ฆผ์œผ๋กœ ์–ต์ œ), ์ œ์ž๋ฆฌ ํ”ผ๋ฒ— ์งˆ๊ฐ, ์ •์ง€ ๋ฏธ์„ธ jitter. ์ƒ์„ธ: ์ฝ”๋“œ ์ €์žฅ์†Œ
`docs/worklogs/CAMPAIGN_HISTORY_phasetrack.md`์˜ "PT18 ์•Œ๋ ค์ง„ ํ•œ๊ณ„" ์„น์…˜.
## ํŒŒ์ผ
| ๊ฒฝ๋กœ | ์šฉ๋„ |
|---|---|
| `deploy/policy.onnx` | ์‹ค๊ธฐ ๋ฐฐํฌ์šฉ (md5 `a7a86c86...`) โ€” C++ ์Šคํƒ v1 ์Šฌ๋กฏ์— ๊ต์ฒด ํˆฌ์ž… |
| `deploy/deploy.yaml` | ๋ฐฐํฌ ํŒŒ๋ผ๋ฏธํ„ฐ (๊ฒŒ์ธ/heading_hold/ang ยฑ0.7 โ€” **obs ๊ณ„์•ฝ์˜ ํ•œ ์ถ•**) |
| `checkpoints/model_23200.pt` | **rsl-rl ์ฒดํฌํฌ์ธํŠธ = ์›œ์Šคํƒ€ํŠธ ์”จ์•—** (PT22/23/PTR2/3์˜ ๋ถ€๋ชจ). onnx๋กœ๋Š” ์žฌํ•™์Šต ๋ถˆ๊ฐ€ โ€” ์ด ํŒŒ์ผ์ด ํ˜ˆํ†ต์˜ ์›๋ณธ |
| `config/env.yaml`, `agent.yaml` | ํ•™์Šต ๋‹น์‹œ resolved ์„ค์ • (์žฌํ˜„์„ฑ) |
| `eval/` | sim ๊ฒ€์ฆ ์˜์ƒ + ์ •๋Ÿ‰ ์ง€ํ‘œ(์ „์ง„ vx 0.426, ํ›„์ง„ -0.372, lateral 0.166, ๋‚™์ƒ 0) + 20s ์ง€์†-๋ช…๋ น ๋“œ๋ฆฌํ”„ํŠธ ํด๋ฆฐ |
## ๊ณ„์•ฝ (๋ฐฐํฌ ์‹œ 3์ž ์ผ์น˜ ํ•„์ˆ˜)
- **obs 500-dim** = 100-dim ร— 5-frame history (term-major, oldest-first):
`base_ang_vel(3) | projected_gravity(3) | velocity_commands(3) | joint_pos_rel(29) | joint_vel_rel(29) | actions(29) | gait_phase_legs(4)` ร— 5
- ์•ก์…˜ 29 (per-joint scale, deploy.yaml `scale`), 50 Hz
- deploy.yaml = ํ•™์Šต cfg = C++ obs builder 3์ž ์ผ์น˜ ํ™•์ธ ํ›„ ๋ฐฐํฌ
## ๊ณ„๋ณด
- ์ฝ”๋“œ: clobot_rl_lab **git tag v0.1.0** (๊ฐ€์ค‘์น˜โ†”์ฝ”๋“œ ์•ต์ปค. ์ด ํƒœ๊ทธ ์—†์ด ์žฌํ˜„ ๋ถˆ๊ฐ€)
- ํ•™์Šต: V18 ํƒœ์Šคํฌ ์Šคํฌ๋ž˜์น˜ **(ํ‰์ง€ ํƒ€์ผ๋งŒ โ€” ์ง€ํ˜• ์—†์Œ)**, 23.2k iters์—์„œ ์กฐ๊ธฐ์ข…๋ฃŒ(=์ตœ์ข…๋ณธ, ฯƒ 0.120 ์ˆ˜๋ ด ํ™•์ธ ํ›„ ์‹ค๊ธฐ ๊ฒ€์ฆ)
- ๋ผ์ด์„ ์Šค ํ˜ˆํ†ต: Apache-2.0/BSD-3 (holosoma ๊ธฐ๋ฒ• ์ฐธ์กฐ, NC ๋ฐ์ดํ„ฐ ๋ฏธ์‚ฌ์šฉ โ€” 2026-07-07 ๊ฐ์‚ฌ)