ํค๋ณด๋๋ฅผ ๋๋ฅด๋ฉด ๋ณธ ์น ๋์๋ณด๋์ ๋ก์ปฌ run_simulator.bat ์ ์ด ์ฝ์์ด ์ฆ๊ฐ ๋ฐ์ํฉ๋๋ค.
ํค๋ณด๋๋ฅผ ๋๋ฅด๋ฉด ๋ณธ ์น ๋์๋ณด๋์ ๋ก์ปฌ run_simulator.bat ์ ์ด ์ฝ์์ด ์ฆ๊ฐ ๋ฐ์ํฉ๋๋ค.
4,096๊ฐ ๋ณ๋ ฌ MuJoCo Warp ํ๊ฒฝ์ ํตํ PPO ๋ถ์ฐ ํ๋ จ ํ์ดํ๋ผ์ธ
ํ๋์ค Pollen Robotics์ BAM M6 ๋ชจ๋ธ์ ์ ์ ์์ค, ๋ด๋ถ ๊ธฐ์ด ๋ง์ฐฐ ๋ฐ ๋ฐฑ๋์๋ฅผ ๊ณ ๋ คํ์ฌ ์ค์ ๋ก๋ด์ ํ๋์จ์ด ํน์ฑ์ ๊ฐ์ ํ๊ฒฝ์ ์๋ฒฝํ๊ฒ ์ผ์น์ํต๋๋ค.
์ ์ง, ํ์ง, ์ข์ฐ ๊ฒ๊ฑธ์ ๋ณดํ ๋ฐ ์ ํ์ ์ ํตํฉ ์ง์ํ๋ ๋ฒ์ฉ ์ด์กฑ๋ณดํ ์ ์ด๊ธฐ์ ๋๋ค.
์์ ์ ์ธ ์ ์๋ฆฌ ์ง๋ฆฝ ๊ธฐ๋ฆฝ ์ํ์์ ๋ชธ์ฒด์ 3์ถ(๋์ด, ํผ์น, ๋กค) ์์ธ๋ฅผ ์ ์ฐํ๊ฒ ์ ์ดํฉ๋๋ค.
์ ์๋ ์์ธ์์ ๋ฐ๋ฅ์ผ๋ก ์์ ์ ์ผ๋ก ์ชผ๊ทธ๋ ค ์๊ณ ๋ค์ ์์ ํ ์ผ์ด์๋ ๋์ ๋ชจ์ ์ ๋๋ค.
์์ฒด๋ฅผ ๊น์ด ์์ฌ ๋ถ๋ฆฌ๋ก ๋ฐ๋ฅ์ ๋จ์ด์ง ๋ฌผ๊ฑด์ ์ ํํ๊ฒ ์ง์ด ์ฌ๋ฆฌ๋ ์ ๋ฐ ์์ ๋ชจ์ ์ ๋๋ค.
70mm ์ง๊ฒฝ์ ์ถ๊ตฌ๊ณต์ ํฅํด ๋ฌด๊ฒ์ค์ฌ์ ์ค๋ฅธ๋ฐ๋ก ์ฎ๊ธด ํ ์ผ๋ฐ๋ก ๊ฐํ๊ฒ ์ ๋ฐฉ ์ํ ํฉ๋๋ค.
์ผ๋ฐ๋ก ์งํฑํ๋ฉฐ ์ค๋ฅธ๋ฐ๋ก ์ ๋ฐฉ ๋ชฉํ๋ฌผ์ ํฅํด ํฅ์ ๋ ๋ฆฌ๋ ๋์นญํ ์ํ ๋ชจ์ ์ ๋๋ค.
์ ๋ฐฉ์ผ๋ก 360๋ ๊ณต์ค์ ๋น ๊ตฌ๋ฅด๊ธฐ๋ฅผ ์ํํ ํ ๋์ด์ง์ง ์๊ณ ์ฆ์ ๋ ๋ฐ๋ก ์ฐฉ์งํ๋ ๋๋ฒ ๋ชจ์ ์ ๋๋ค.
๋ฐ๋ฐ๋ฅ์ ๋กค๋ฌ์ค์ผ์ดํธ๋ฅผ ์ฅ์ฐฉํ ํน์ ์ํ์์ ๊ณ ์์ผ๋ก ๋ฏธ๋๋ฌ์ง๋ฏ ์ฃผํํ๋ ๋ฐํด ์ ์ด ๋ชจ๋์ ๋๋ค.
๋กค๋ฌ์ค์ผ์ดํธ ์ฃผํ ์ค ๋ฌด๊ฒ์ค์ฌ์ ์ต๋ํ ๋ฎ์ถฐ ๊ณต๊ธฐ์ ํญ๊ณผ ์ ๋ณต ์ํ์ ์ค์ด๋ ์ ํฌ๋ฆฌ๊ธฐ ์์ธ์ ๋๋ค.
IMU ์์ด๋ก์ผ์์์ ์ธก์ ๋ ๋ชธ์ฒด ์ค์ฌ์ถ ๊ฐ์๋ [ฯx, ฯy, ฯz]
๋ก๋ด ๊ธฐ์ค ์ขํ๊ณ๋ก ํ์ ๋ณํ๋ 3์ฐจ์ ์ง๊ตฌ ์ค๋ ฅ ๋ฐฉํฅ [gx, gy, gz]
๋ชฉํ ๋ณดํ ์๋ [Vx, Vy, Vyaw] ๋ฐ ์์ธ ๋์ด, ํผ์น, ๋กค ๋ชฉํ๊ฐ
14๊ฐ ๊ด์ ์ ๊ธฐ๋ณธ ๊ธฐ๋ฆฝ ์์น(Default Pose) ๋๋น ์๋ ํ์ ๊ฐ
14๊ฐ ์๋ณด๋ชจํฐ ์์ฝ๋์์ 50Hz ๋จ์๋ก ๊ณ์ธก๋ ์๊ฐ ํ์ ์๋
t-1 ์์ ์ ์ ๊ฒฝ๋ง์ด ์ถ๋ ฅํ ๊ด์ ์์น ์คํ์ ํ๊น (์ ์ด ์ฐ์์ฑ ํ๋ณด)
Windows ๋ฐํํ๋ฉด์ด๋ ํ์๊ธฐ์์ run_simulator.bat๋ฅผ ๋๋ธํด๋ฆญํ๋ฉด 3D MuJoCo OpenGL ๋ทฐ์ด ์ฐฝ์ด ๋น๋๋ค.
.\run_simulator.bat
ํด๋ผ์ฐ๋ GPU ํ์ต ์์ ์ ํ์ฌ ์ํ๋ฅผ ํฐ๋ฏธ๋์์ ์ฆ์ ์กฐํํฉ๋๋ค.
.\check_training_job.bat
ํด๋ผ์ฐ๋ GPU์์ ๋ฐฉ๊ธ ์์ฑ๋ ์ต์ ๊ฐ์ค์น ๋ชจ๋ธ์ ํด๋ฆญ ํ ๋ฒ์ผ๋ก ๋ด PC(๋ก์ปฌ)๋ก ๋ค์ด๋ก๋ํฉ๋๋ค.
| ๋ฐ๋ณต (Iter) | ํ์ผ๋ช | ๋ค์ด๋ก๋ |
|---|---|---|
| ์๊ฒฉ ๋ชฉ๋ก ๋ถ๋ฌ์ค๋ ์ค... | ||
๋ก์ปฌ์ ๋ณด๊ด๋ ๋ชจ๋ธ์ ์๋ฎฌ๋ ์ดํฐ์์ ์คํํ ๋ ์ฌ์ฉํ๋ ๋ช ๋ น์ด์ ๋๋ค:
.\duckenv\Scripts\python.exe microduck_rl\scripts\infer_policy.py --policy microduck\policies\alpha_walking.onnx