# ๐ค NEUROMOTION 3.0 // Humanoid-v5 Telemetry & RL
[](README.md)
[](README_KR.md)
[](https://huggingface.co/hwihwalab/neuromotion-humanoid-v5-ppo)
[](https://github.com/Hwihwa-Lab/neuromotion-humanoid-v5-ppo)
[](https://github.com/Hwihwa-Lab/neuromotion-humanoid-v5-ppo/blob/main/LICENSE)
[](https://gymnasium.farama.org/environments/mujoco/humanoid/)
[](https://pytorch.org)
[](https://stable-baselines3.readthedocs.io)
> **MuJoCo Humanoid-v5 PPO Continuous Control & Real-time Engineering Telemetry Dashboard**
> *[ ๐ English Documentation ](README.md) | [ ๐ฐ๐ท ํ๊ตญ์ด ๋งค๋ด์ผ ](README_KR.md)*
์ฒ์ฌ๋์์ธ์์ด์ ํธ ๋์์ธ ์์คํ
๊ณผ **์ธํฐ๋ํฐ๋ธ ๋๋กญ๋ค์ด ๋ฉ๋ด(Dropdown Menu)**๊ฐ ์ฅ์ฐฉ๋ **`NEUROMOTION 3.0`** ๊ณต์ ํ
๋ ๋ฉํธ๋ฆฌ ๋งค๋ด์ผ์
๋๋ค.
---
## ๐ Quick Start & Launch Modes (์คํ ๋ฐฉ๋ฒ)
### 1. ๐ฅ๏ธ ๋ฉ์ธ GUI ๋์๋ณด๋ ์คํ (์ถ์ฒ)
Pygame ๊ธฐ๋ฐ ์ค์๊ฐ ๋คํฌ ์ฌ์ด๋ฒํํฌ ํ
๋ ๋ฉํธ๋ฆฌ ๋์๋ณด๋๋ฅผ ์คํํฉ๋๋ค:
```powershell
python run_gui.py
```
### 2. ๐ค Hugging Face ๋ชจ๋ธ ํ๋ธ ๋ฐฐํฌ (`deploy_to_hf.py`)
ํ์ต๋ ๋ชจ๋ธ ๊ฐ์ค์น(`humanoid_ppo_model.zip`)์ ์คํ ์ฝ๋๋ฅผ Hugging Face์ ์ํด๋ฆญ์ผ๋ก ์
๋ก๋ํฉ๋๋ค:
```powershell
# ์ ์ฒด ๋ชจ๋ธ ๋ฐ ์ฝ๋ ์
๋ก๋
python deploy_to_hf.py
# ํ์ผ ์
๋ก๋ ์์ด ๋ฆฌํฌ์งํ ๋ฆฌ(hwihwalab/neuromotion-humanoid-v5-ppo)๋ง ์์ฑํ ๋
python deploy_to_hf.py --create-only
```
> ๐ก **ํฅํ ๋ชจ๋ธ ์
๋ฐ์ดํธ ๋ฐฉ๋ฒ**
> ์์ผ๋ก ์ถ๊ฐ ํ์ต์ ์งํํ ํ ๊ฐ์ค์น๋ ์ฝ๋๋ฅผ ๋ค์ ๋ฐฐํฌํ๊ณ ์ถ์ผ์ค ๋๋ ์ธ์ ๋ ์๋ ๋ช
๋ น์ด ํ ์ค๋ง ์คํํ์๋ฉด ๋ฉ๋๋ค:
> ```powershell
> python deploy_to_hf.py
> ```
### 3. ๐ป ํฐ๋ฏธ๋ ๋ค์ค ๋ชจ๋ ์คํ๊ธฐ (`mujoko_humanoid.py`)
ํฐ๋ฏธ๋ ๋ํํ ๋ฉ๋ด ๋๋ ๋ช
๋ น์ค ์ต์
์ ํตํด ๋ค์ํ ๋ชฉ์ ๋ณ ํ์ต/์์ฐ์ ์คํํฉ๋๋ค:
```powershell
# ๋ํํ ๋ฒํธ ์ ํ ๋ฉ๋ด ์คํ
python mujoko_humanoid.py
# ๋๋ ์ํ๋ ๋ชจ๋๋ฅผ ์ง์ ์ง์ ํ์ฌ ์คํ
python mujoko_humanoid.py --mode train_live # [๋ชจ๋ 1] ์ค์๊ฐ 3D ์๊ฐํ + ๊ฐํํ์ต
python mujoko_humanoid.py --mode train_fast # [๋ชจ๋ 2] ๊ณ ์ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ์ต + ์ฃผ๊ธฐ์ 3D ํ๊ฐ
python mujoko_humanoid.py --mode play # [๋ชจ๋ 3] ํ์ต๋ ๋ชจ๋ธ(humanoid_ppo_model.zip) 3D ๋ณดํ ์์ฐ
python mujoko_humanoid.py --mode random # [๋ชจ๋ 4] ์ด๊ธฐ ๋ฌด์์(Random) ํ๋ ๊ด์ฐฐ
```
---
## ๐ฑ๏ธ Top Control Header (์๋จ ์ธํฐ๋ํฐ๋ธ ๋ฒํผ & ๋๋กญ๋ค์ด ๋ฉ๋ด)
์๋จ ๋ฒํผ๋ค์ ๋ง์ฐ์ค ํธ๋ฒ ์ **์๊ฐ๋ฝ ๋ชจ์ ์ปค์(๐)**์ ์ฐ๋น์ธํธ ํ์ด๋ผ์ดํธ๊ฐ ์ ์ฉ๋๋ฉฐ, ๋๋กญ๋ค์ด ๋ฉ๋ด๋ฅผ ํตํด ์ํ๋ ์ต์
์ ์ฆ์ ์ฝ ์ฐ์ด ์ ํํ ์ ์์ต๋๋ค.
| Button Name | Type | Options & Function Description |
| :--- | :---: | :--- |
| **`[ โ PPO TRAINING ]` / `[ โธ PAUSED ]`** | **Action** | **Telemetry Pause / Resume**: AI ํ์ต ๋ฐ ์๋ฎฌ๋ ์ด์
์ผ์์ ์ง / ์ฌ๊ฐ (๋จ์ถํค: `Space`) |
| **`[ SPEED: 1X โผ ]`** | **Dropdown** | **ํด๋ฆญ ์ ๋ฐฐ์ ์ ํ ๋ฉ๋ด ํ์
**:
โข `1X Normal (1x)` : ๊ธฐ๋ณธ ์ธ๋ฐ ๊ด์ฐฐ ์๋
โข `2X Fast (2x)` : 2๋ฐฐ์ ํ์ต
โข `4X Hyper (4x)` : 4๋ฐฐ์ ๊ณ ์ ํ์ต
โข `8X Ultra (8x)` : 8๋ฐฐ์ ์ด๊ณ ์ ์ง์ค ํ์ต (๋จ์ถํค: `F` ๋ก ๋น ๋ฅธ ์ํ ๊ฐ๋ฅ) |
| **`[ PUSH FORCE โผ ]`** | **Dropdown** | **ํด๋ฆญ ์ ์ธ๋ ์ถฉ๊ฒฉ ์ธ๊ธฐ ์ ํ ํ์
**:
โข `Light Push (15 N)` : ๊ฐ๋ฒผ์ด ํญ ๋ฐ๊ธฐ
โข `Medium Push (30 N)` : ์ค๊ฐ ๊ท ํ ํ๋ค๋ฆผ (๊ธฐ๋ณธ ์ธ๋)
โข `Heavy Force (50 N)` : ๊ฐํ ์ถฉ๊ฒฉํ ํ
์คํธ (๋จ์ถํค: `P` ๋ก ๊ธฐ๋ณธ 30N ์ธ๊ฐ) |
| **`[ SAVE MODEL ]`** | **Action** | **Save Checkpoint Weights**: ํ์ฌ ํ์ต๋ ์ ๊ฒฝ๋ง ๊ฐ์ค์น๋ฅผ `humanoid_ppo_model.zip`์ผ๋ก ์ ์ฅ (๋จ์ถํค: `S`) |
| **`[ LOAD MODEL ]`** | **Action** | **Load Checkpoint Weights**: ์ ์ฅ๋ ๋ชจ๋ธ ๊ฐ์ค์น ์ฆ์ ๋ถ๋ฌ์ค๊ธฐ (๋จ์ถํค: `L`) |
---
## ๐ฅ๏ธ Telemetry Layout & Panels (7๋ ํต์ฌ ํ
๋ ๋ฉํธ๋ฆฌ ํจ๋)
1. **MAIN 3D SIMULATION VIEW**:
* MuJoCo Humanoid-v5 ์ค์๊ฐ 3D ๋ฌผ๋ฆฌ ๋ ๋๋ง ํ๋ฉด
* ์๋จ ์ธํฌ๋ฐ: `EPISODE` // `ALIVE STEPS` // `NOISE SCALE (ฯ)`
2. **TOP BENTO STATS CARDS**:
* `EPISODE REWARD`: ์ด๋ฒ ์ํผ์๋ ์ค์๊ฐ ๋์ ๋ณด์
* `PEAK REWARD`: ์ญ๋ ์ต๊ณ ๊ธฐ๋ก ๋ณด์ ์ ์
* `20-EP MOVING AVG`: ์ต๊ทผ 20 ์ํผ์๋ ์ด๋ ํ๊ท ์
* `TOTAL TIMESTEPS`: ํ๊ฒฝ ์ํธ์์ฉ ๋์ ์คํ
์
3. **LEARNING DIAGNOSTICS**:
* `Policy Gradient Loss`: ์ ์ฑ
์ ๊ฒฝ๋ง ์์ค ์งํ
* `Value Function Loss`: ๊ฐ์น ํ๊ฐ ์ ๊ฒฝ๋ง ์์ค ์งํ
* `Entropy`: ํ์ ๋ฌด์์์ฑ ์ฒ๋ ๋ฐ ํ์ต ์
๋ฐ์ดํธ ํ์
4. **ACTUATOR TORQUES (17 DOF)**:
* 17๊ฐ ๊ด์ ๋ชจํฐ(๋ณต๋ถ, ๊ณ ๊ด์ , ๋ฌด๋ฆ, ์ด๊นจ, ํ๊ฟ์น ๋ฑ)์ ์ค์๊ฐ ํ ๋ฐฉํฅ ๋ฐ ์ธ๊ธฐ ๋์ผํค ๊ฒ์ด์ง
5. **REWARD TELEMETRY CURVE**:
* ์ต๊ทผ 100๊ฐ ์ํผ์๋ ๋ณด์ ๊บพ์์ ์ฐจํธ (ํ๋จ ์์ด๋ฆฌ์ด ํ & ๋์ ์ค์ผ์ผ๋ง)
6. **SYSTEM CONSOLE LOG**:
* ์ํผ์๋ ์๋ฃ ๋ฐ ํ
๋ ๋ฉํธ๋ฆฌ ์ด๋ฒคํธ ์ค์๊ฐ ๋ชจ๋
ธ์คํ์ด์ค ๋ก๊ทธ (100% ๋ฐ์ค ๋ด๋ถ ํด๋ฆฌํ)
7. **FOOTER SHORTCUTS**:
* ํค๋ณด๋ ๋จ์ถํค ๊ฐ์ด๋ ๋ฐ (`[Space]` `[T]` `[F]` `[P]` `[S]` `[L]` `[R/E]`)
---
## โจ๏ธ Keyboard Shortcuts Reference
| Key | Action | Description |
| :---: | :--- | :--- |
| **`Space`** | **Pause / Resume** | ํ์ต ๋ฐ 3D ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์
์ ์ง/์ฌ๊ฐ |
| **`F`** | **Cycle Speed** | 1X โก๏ธ 2X โก๏ธ 4X โก๏ธ 8X ๋ฐฐ์ ์ํ |
| **`P`** | **Push Robot** | ๋ก๋ด์๊ฒ ์ธ๋ ์ถฉ๊ฒฉ(30.0 N) ์ธ๊ฐ |
| **`S`** | **Save Model** | ์ต์ ๊ฐ์ค์น๋ฅผ `humanoid_ppo_model.zip`์ผ๋ก ์ ์ฅ |
| **`L`** | **Load Model** | ์ ์ฅ๋ ๊ฐ์ค์น ๋ถ๋ฌ์ค๊ธฐ |
| **`T`** | **Toggle 3D View** | 3D ๋ ๋๋ง ON / OFF |
| **`R` / `E`** | **Reset Episode** | ํ๊ฒฝ ์ฆ์ ์ด๊ธฐํ |
---
## ๐ Model Evaluation & Benchmarks
100,000 ์คํ
์ถ๊ฐ ํ๋ จ ํ 10๊ฐ ์ํผ์๋ ์ ๋ฐ ํ๊ฐ ๊ฒฐ๊ณผ:
* **ํ๊ท ์์กด ์คํ
**: `88.5 steps` (์ต๊ณ : `109 steps`)
* **ํ๊ท ๋์ ๋ณด์**: `455.52` (์ต๊ณ : `549.18`)