DeepMind, MuJoCo ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๋ฐœํ‘œ

์ธ๊ณต ์ง€๋Šฅ ๋ถ„์•ผ์˜ ๊ฐœ๋ฐœ๊ณผ ์ธ๊ฐ„ ์ˆ˜์ค€์—์„œ ์ปดํ“จํ„ฐ ๊ฒŒ์ž„์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ ๊ฒฝ๋ง ๊ตฌ์ถ•์œผ๋กœ ์œ ๋ช…ํ•œ Google ์†Œ์œ  ํšŒ์‚ฌ DeepMind๋Š” ๋ฌผ๋ฆฌ์  ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ์—”์ง„ MuJoCo(Multi-Joint Dynamics with Contact)๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค๊ณ  ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ). ์—”์ง„์€ ํ™˜๊ฒฝ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๊ด€์ ˆํ˜• ๊ตฌ์กฐ๋ฅผ ๋ชจ๋ธ๋งํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋ฉฐ, ๊ฐœ๋ฐœ๋œ ๊ธฐ์ˆ ์„ ์™„์„ฑ๋œ ์žฅ์น˜ ํ˜•ํƒœ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „ ๋‹จ๊ณ„์—์„œ ๋กœ๋ด‡ ๋ฐ ์ธ๊ณต ์ง€๋Šฅ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ๋Š” C/C++๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Apache 2.0 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๊ฒŒ์‹œ๋ฉ๋‹ˆ๋‹ค. Linux, Windows ๋ฐ macOS ํ”Œ๋žซํผ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ์˜คํ”ˆ ์†Œ์Šค ์ž‘์—…์€ 2022๋…„์— ์™„๋ฃŒ๋  ์˜ˆ์ •์ด๋ฉฐ, ์ดํ›„ MuJoCo๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ตฌ์„ฑ์›์ด ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐฉํ˜• ๊ฐœ๋ฐœ ๋ชจ๋ธ๋กœ ์ „ํ™˜ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

MuJoCo๋Š” ๋กœ๋ด‡, ์ƒ์ฒด ์—ญํ•™ ์žฅ์น˜ ๋ฐ ๊ธฐ๊ณ„ ํ•™์Šต ์‹œ์Šคํ…œ์˜ ์—ฐ๊ตฌ ๊ฐœ๋ฐœ์€ ๋ฌผ๋ก  ๊ทธ๋ž˜ํ”ฝ, ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฐ ์ปดํ“จํ„ฐ ๊ฒŒ์ž„ ์ œ์ž‘์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์šฉ ๋ฌผ๋ฆฌ์  ํ”„๋กœ์„ธ์Šค ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์—”์ง„์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์—”์ง„์€ ์ตœ๋Œ€ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์ตœ์ ํ™”๋˜์—ˆ์œผ๋ฉฐ ๋†’์€ ์ •ํ™•๋„์™€ ํ’๋ถ€ํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉด์„œ ๋‚ฎ์€ ์ˆ˜์ค€์˜ ๊ฐ์ฒด ์กฐ์ž‘์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ์€ XML์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ํŠน์ˆ˜ ์ตœ์ ํ™” ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํŒŒ์ผ๋˜๋Š” MJCF ์žฅ๋ฉด ์„ค๋ช… ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์˜๋ฉ๋‹ˆ๋‹ค. MJCF ์™ธ์—๋„ ์—”์ง„์€ ๋ฒ”์šฉ URDF(Unified Robot Description Format)์˜ ํŒŒ์ผ ๋กœ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. MuJoCo๋Š” ๋˜ํ•œ OpenGL์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ”„๋กœ์„ธ์Šค์™€ ๊ฒฐ๊ณผ ๋ Œ๋”๋ง์˜ ๋Œ€ํ™”ํ˜• 3D ์‹œ๊ฐํ™”๋ฅผ ์œ„ํ•œ GUI๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ :

  • ๊ด€์ ˆ ์œ„๋ฐ˜์„ ์ œ์™ธํ•œ ์ผ๋ฐ˜ํ™”๋œ ์ขŒํ‘œ์—์„œ์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜.
  • ์—ญ๋™์„ฑ, ์ ‘์ด‰์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋„ ๊ฐ์ง€ ๊ฐ€๋Šฅ.
  • ๋ณผ๋ก ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ์† ์‹œ๊ฐ„์— ํ†ต์ผ๋œ ์ œ์•ฝ ์กฐ๊ฑด์„ ๊ณต์‹ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ถ€๋“œ๋Ÿฌ์šด ํ„ฐ์น˜์™€ ๊ฑด์กฐํ•œ ๋งˆ์ฐฐ์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ์ œํ•œ์„ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ.
  • ์ž…์ž ์‹œ์Šคํ…œ, ์ง๋ฌผ, ๋กœํ”„ ๋ฐ ๋ถ€๋“œ๋Ÿฌ์šด ๋ฌผ์ฒด์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜.
  • ๋ชจํ„ฐ, ์‹ค๋ฆฐ๋”, ๊ทผ์œก, ํž˜์ค„ ๋ฐ ํฌ๋žญํฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํฌํ•จํ•œ ์•ก์ถ”์—์ดํ„ฐ(์•ก์ถ”์—์ดํ„ฐ).
  • ๋‰ดํ„ด, ๊ณต์•ก ๊ธฐ์šธ๊ธฐ ๋ฐ Gauss-Seidel ๋ฐฉ๋ฒ•์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์†”๋ฒ„์ž…๋‹ˆ๋‹ค.
  • ํ”ผ๋ผ๋ฏธ๋“œํ˜• ๋˜๋Š” ํƒ€์›ํ˜• ๋งˆ์ฐฐ ์›๋ฟ”์„ ์‚ฌ์šฉํ•  ๊ฐ€๋Šฅ์„ฑ.
  • Euler ๋˜๋Š” Runge-Kutta ์ˆ˜์น˜ ํ†ตํ•ฉ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•˜์„ธ์š”.
  • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ์ด์‚ฐํ™” ๋ฐ ์œ ํ•œ ์ฐจ๋ถ„ ๊ทผ์‚ฌ.



์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€