Curieux.JY
  • Post
  • Note
  • Jung Yeon Lee

On this page

  • 1 Brief Review
  • 2 Detail Review

๐Ÿ“ƒManiSkill3 ๋ฆฌ๋ทฐ

sapien
simulation
Demonstrating GPU Parallelized Robot Simulation and Rendering for Generalizable Embodied AI with ManiSkill3
Published

August 6, 2025

  • Paper Link
  • Project Link
  • Github Link
  1. ๐Ÿš€ ManiSkill3๋Š” ๊ธฐ์กด ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์˜ ์ œ์•ฝ(์†๋„, ๋ฉ”๋ชจ๋ฆฌ, ์ด์งˆ์„ฑ)์„ ํ•ด๊ฒฐํ•œ GPU ๋ณ‘๋ ฌํ™” ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ, ์ตœ๋Œ€ 30,000+ FPS์™€ ๋‚ฎ์€ GPU ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ž๋ž‘ํ•ฉ๋‹ˆ๋‹ค.
  2. ๐Ÿ’ก ์ด ํ”Œ๋žซํผ์€ ๋ชจ๋ฐ”์ผ ์กฐ์ž‘, ๋“œ๋กœ์ž‰, ํœด๋จธ๋…ธ์ด๋“œ ๋“ฑ 12๊ฐ€์ง€์˜ ๋‹ค์–‘ํ•œ ์ž‘์—… ๋„๋ฉ”์ธ๊ณผ 20๊ฐœ ์ด์ƒ์˜ ๋กœ๋ด‡์„ ์ง€์›ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ API ๋ฐ ์ด์งˆ์  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์ผ๋ฐ˜ํ™” ๊ฐ€๋Šฅํ•œ ๋กœ๋ด‡ ํ•™์Šต์„ ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  3. โœ… ManiSkill3๋Š” ๋กœ๋ด‡ ๊ฐ•ํ™” ํ•™์Šต ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ๋‹จ์ถ•ํ•˜๊ณ , ์‹œ๋ฎฌ๋ ˆ์ด์…˜์—์„œ ์‹ค์ œ ํ™˜๊ฒฝ์œผ๋กœ์˜ ์•ˆ์ •์ ์ธ zero-shot ์ •์ฑ… ๋ฐฐํฌ๋ฅผ ์ž…์ฆํ•˜์—ฌ Sim2Real ๋ฐ Real2Sim ์—ฐ๊ตฌ์— ๊ฐ•๋ ฅํ•œ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

1 Brief Review

GPU ๋ณ‘๋ ฌ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ ๋ Œ๋”๋ง์„ ํ†ตํ•œ ์ผ๋ฐ˜ํ™” ๊ฐ€๋Šฅํ•œ ์ฒดํ™”ํ˜• AI ๊ตฌํ˜„: ManiSkill3

ManiSkill3๋Š” ์ผ๋ฐ˜ํ™” ๊ฐ€๋Šฅํ•œ ๋กœ๋ด‡ ์กฐ์ž‘์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ์ƒํƒœ-์‹œ๊ฐ GPU ๋ณ‘๋ ฌ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ, ์ ‘์ด‰์ด ๋งŽ์€ ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜+๋ Œ๋”๋ง, ์ด์ข… ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ/๋ณต์…€ ์‹œ๊ฐ ์ž…๋ ฅ ๋“ฑ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์—์„œ GPU ๋ณ‘๋ ฌํ™”๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ManiSkill3์˜ GPU ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ ๋ Œ๋”๋ง์€ ๋‹ค๋ฅธ ํ”Œ๋žซํผ๋ณด๋‹ค 2~3๋ฐฐ ์ ์€ GPU ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ตœ์†Œํ•œ์˜ Python/PyTorch ์˜ค๋ฒ„ํ—ค๋“œ, GPU์—์„œ์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ๊ทธ๋ฆฌ๊ณ  SAPIEN ๋ณ‘๋ ฌ ๋ Œ๋”๋ง ์‹œ์Šคํ…œ ๋•๋ถ„์— ๋ฒค์น˜๋งˆํฌ ํ™˜๊ฒฝ์—์„œ ์ตœ๋Œ€ 30,000+ FPS๋ฅผ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ˆ˜ ์‹œ๊ฐ„ ๊ฑธ๋ฆฌ๋˜ ํ›ˆ๋ จ ์‹œ๊ฐ„์ด ๋ช‡ ๋ถ„์œผ๋กœ ๋‹จ์ถ•๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋ชจ๋ฐ”์ผ ์กฐ์ž‘, ๋“œ๋กœ์ž‰, ํœด๋จธ๋…ธ์ด๋“œ, ์ˆ™๋ จ๋œ ์กฐ์ž‘ ๋“ฑ 12๊ฐ€์ง€ ๋…ํŠนํ•œ ๋„๋ฉ”์ธ์— ๊ฑธ์ณ ๊ฐ€์žฅ ํฌ๊ด„์ ์ธ GPU ๋ณ‘๋ ฌํ™” ํ™˜๊ฒฝ/์ž‘์—…์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋ชจ์…˜ ํ”Œ๋ž˜๋‹, RL, ํ…”๋ ˆ์˜คํผ๋ ˆ์ด์…˜์œผ๋กœ๋ถ€ํ„ฐ ์ˆ˜๋ฐฑ๋งŒ ํ”„๋ ˆ์ž„์˜ ์‹œ์—ฐ ๋ฐ์ดํ„ฐ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ManiSkill3๋Š” ์ธ๊ธฐ ์žˆ๋Š” RL ๋ฐ ์‹œ์—ฐ ๊ธฐ๋ฐ˜ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์•„์šฐ๋ฅด๋Š” ํฌ๊ด„์ ์ธ ๊ธฐ์ค€์„ ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ๋กœ๋ด‡ ํ•™์Šต ์—ฐ๊ตฌ๋Š” ๋น„์ „ ๋ฐ ์–ธ์–ด ์—ฐ๊ตฌ์™€ ๋‹ฌ๋ฆฌ ๋กœ๋ด‡ ์กฐ์ž‘์„ ์œ„ํ•œ ์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ์…‹์ด ๋ถ€์กฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์„ธ๊ณ„ ๋ชจ๋ฐฉ ํ•™์Šต์€ ๋ฐฉ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๊ณ , ๊ฐ•ํ™” ํ•™์Šต(RL)์€ ๊ด‘๋ฒ”์œ„ํ•œ ์‹ค์ œ ํ™˜๊ฒฝ ์„ค์ •์ด ์š”๊ตฌ๋ฉ๋‹ˆ๋‹ค. Isaac Lab๊ณผ Mujoco์˜ MJX์™€ ๊ฐ™์€ GPU ๋ณ‘๋ ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์€ ๋กœ๋ด‡ ์ด๋™๊ณผ ๊ฐ™์€ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ํฐ ์ง„์ „์„ ๊ฐ€์ ธ์™”์ง€๋งŒ, ์กฐ์ž‘ ํƒœ์Šคํฌ์—์„œ๋Š” ์ด์ข… ์‹œ๋ฎฌ๋ ˆ์ด์…˜(๊ฐ ๋ณ‘๋ ฌ ํ™˜๊ฒฝ์ด ๋‹ค๋ฅธ ์žฅ๋ฉด์„ ํฌํ•จํ•˜๋Š” ๊ฒƒ) ๋ฐ ๋น ๋ฅธ ๋ณ‘๋ ฌ ๋ Œ๋”๋ง ๊ธฐ๋Šฅ์ด ๋ถ€์กฑํ•˜์—ฌ ์‹œ๊ฐ ์ž…๋ ฅ์„ ์‚ฌ์šฉํ•˜๋Š” RL ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ›ˆ๋ จ ์†๋„๊ฐ€ ๋А๋ฆฐ ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ManiSkill3๋Š” ์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  Apache-2.0 ๋ผ์ด์„ ์Šค ํ•˜์— ์˜คํ”ˆ ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋ฉ๋‹ˆ๋‹ค.

ManiSkill3์˜ ํ•ต์‹ฌ ๊ธฐ์—ฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ์ตœ์ฒจ๋‹จ GPU ๋ณ‘๋ ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ ๋ Œ๋”๋ง: ManiSkill3๋Š” ๋น ๋ฅธ ๋ณ‘๋ ฌ ๋ Œ๋”๋ง๊ณผ ๋‚ฎ์€ ์‹œ์Šคํ…œ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ํ†ตํ•ด GPU๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ, ์‹œ๊ฐ ํƒœ์Šคํฌ๋ฅผ ๋‹ค๋ฅธ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์‹œ๋ฎฌ๋ ˆ์ด์…˜+๋ Œ๋”๋ง FPS๋Š” ์ตœ๋Œ€ 30,000+์— ๋‹ฌํ•˜๋ฉฐ, ์‹œ๊ฐ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ๋Œ€๊ทœ๋ชจ๋กœ ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, GPU ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด 2~3๋ฐฐ ๋‚ฎ์•„ ์žฅ์น˜ ๋‚ด ์‹œ๊ฐ RL ๋ฐ ๋Œ€๊ทœ๋ชจ ์‹ ๊ฒฝ๋ง ํ›ˆ๋ จ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋ฒค์น˜๋งˆํฌ์—์„œ 128๊ฐœ ๋ณ‘๋ ฌ ํ™˜๊ฒฝ์˜ ๊ฒฝ์šฐ ManiSkill3๋Š” 3.5GB์˜ GPU ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด, Isaac Lab์€ 14.1GB๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ManiSkill3๋Š” SAPIEN์˜ ๋ž˜์Šคํ„ฐํ™” ๋ Œ๋”๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด Isaac Lab์€ ๋ ˆ์ด ํŠธ๋ ˆ์ด์‹ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ฐ€์žฅ ํฌ๊ด„์ ์ธ ํ™˜๊ฒฝ: ํ…Œ์ด๋ธ”ํƒ‘, ๋ชจ๋ฐ”์ผ ์กฐ์ž‘, ๋ฃธ ์Šค์ผ€์ผ ์žฅ๋ฉด, ์‚ฌ์กฑ๋ณดํ–‰/ํœด๋จธ๋…ธ์ด๋“œ ์ด๋™, ํœด๋จธ๋…ธ์ด๋“œ/์–‘์† ์กฐ์ž‘, ๋‹ค์ค‘ ์—์ด์ „ํŠธ ๋กœ๋ด‡, ๋“œ๋กœ์ž‰/ํด๋ฆฌ๋‹, ์ˆ™๋ จ๋œ ์กฐ์ž‘, ์‹œ๊ฐ-์ด‰๊ฐ ์กฐ์ž‘, ๊ณ ์ „ ์ œ์–ด, ๋””์ง€ํ„ธ ํŠธ์œˆ, ์†Œํ”„ํŠธ ๋ฐ”๋”” ์กฐ์ž‘ ๋“ฑ 12๊ฐ€์ง€ ๋…ํŠนํ•œ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ํ™˜๊ฒฝ๊ณผ 20๊ฐœ ์ด์ƒ์˜ ๋กœ๋ด‡์„ ๊ธฐ๋ณธ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ReplicaCAD ๋ฐ AI2-THOR ์žฅ๋ฉด์„ ์ง€์›ํ•˜๋ฉฐ, PhysX ๊ธฐ๋ฐ˜์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด์ข…(Heterogeneous) GPU ์‹œ๋ฎฌ๋ ˆ์ด์…˜: ManiSkill3๋Š” ๊ฐ ๋ณ‘๋ ฌ ํ™˜๊ฒฝ์—์„œ ์™„์ „ํžˆ ๋‹ค๋ฅธ ๊ฐ์ฒด ํ˜•์ƒ, ๊ฐ์ฒด ์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ์„œ๋กœ ๋‹ค๋ฅธ ์ž์œ ๋„(DoF)๋ฅผ ๊ฐ€์ง„ ๊ด€์ ˆ(articulation)์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ณ  ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด PPO์™€ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด YCB ๋ฐ์ดํ„ฐ์…‹์˜ ๋ชจ๋“  ๊ฐ์ฒด๋‚˜ PartNetMobility ๋ฐ์ดํ„ฐ์…‹์˜ ์บ๋น„๋‹›์— ๋Œ€ํ•ด ๋™์‹œ์— ํ›ˆ๋ จํ•˜์—ฌ ๋” ์ผ๋ฐ˜ํ™” ๊ฐ€๋Šฅํ•œ ํ•™์Šต์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  4. ๊ฐ„์†Œํ™”๋œ ํ†ตํ•ฉ API: ๊ด€์ ˆ(articulation), ๋งํฌ, ์กฐ์ธํŠธ ๋ฐ ์•กํ„ฐ์— ๋Œ€ํ•œ ์™„์ „ํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ API๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ณต์žกํ•œ ํ…์„œ ์ธ๋ฑ์‹ฑ ์—†์ด ๋กœ๋ด‡ ํ™˜๊ฒฝ์„ ์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ์ฆˆ ์ •๋ณด๋Š” ๋ฐฐ์น˜(batched) Pose ๊ฐ์ฒด๋กœ ์ €์žฅ๋˜์–ด, ์˜ˆ๋ฅผ ๋“ค์–ด ๋‘ ํฌ์ฆˆ P_1, P_2์— ๋Œ€ํ•ด (P_1 P_2)^{-1} P_1^{-1}์™€ ๊ฐ™์€ ์—ฐ์‚ฐ์„ ๋ฉ”์„œ๋“œ ์ฒด์ด๋‹ ํŒจํ„ด์œผ๋กœ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ManiSkill3.poses.Pose.inv_then_mul(p1, p2, p1_inv=True) URDF ๋ฐ MJCF ์ •์˜ ํ˜•์‹์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•˜๋ฉฐ, GPU ๋ณ‘๋ ฌํ™”๋œ ๊ด€์ ˆ ์œ„์น˜ ์ œ์–ด ๋ฐ ์—ญ์šด๋™ํ•™(IK) ์ œ์–ด๋ฅผ ์œ„ํ•œ ์‚ฌ์ „ ๊ตฌ์ถ•๋œ ์ œ์–ด๊ธฐ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  5. ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ์…‹ ์ƒ์„ฑ ํŒŒ์ดํ”„๋ผ์ธ: ๋ชจ์…˜ ํ”Œ๋ž˜๋‹, RL ์ •์ฑ…, ํ…”๋ ˆ์˜คํผ๋ ˆ์ด์…˜ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ์‹œ์—ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋ฉฐ, ํŠนํžˆ ๋ณต์žกํ•œ ํƒœ์Šคํฌ์˜ ๊ฒฝ์šฐ RLPD [2] ๋ฐ RFCL [47]๊ณผ ๊ฐ™์€ ์˜จ๋ผ์ธ ๋ชจ๋ฐฉ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์ˆ˜์˜ ์‹œ์—ฐ์œผ๋กœ๋ถ€ํ„ฐ ์ผ๋ฐ˜ํ™”๋œ ์ •์ฑ…์„ ํ•™์Šต์‹œํ‚จ ํ›„ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋ž™ํ† ๋ฆฌ ๋ฆฌํ”Œ๋ ˆ์ด ๋„๊ตฌ๋Š” CPU/GPU ์‹œ๋ฎฌ๋ ˆ์ด์…˜์—์„œ ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ์„ค์ •(๊ด€์ธก, ๋ณด์ƒ, ๋ณ‘๋ ฌ ํ™˜๊ฒฝ ์ˆ˜, RNG ์‹œ๋”ฉ)์œผ๋กœ ๋ฆฌํ”Œ๋ ˆ์ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  6. VR ํ…”๋ ˆ์˜คํผ๋ ˆ์ด์…˜: OpenVR ํด๋ผ์ด์–ธํŠธ ํ”„๋กœํ† ์ฝœ์„ ๊ตฌํ˜„ํ•˜์—ฌ ์ฃผ๋ฅ˜ VR ์žฅ์น˜๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ์ž‘์—…์ž์˜ ์†๋ชฉ ๋ฐ ์† ํฌ์ฆˆ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋กœ๋ด‡ ๋™์ž‘์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 4K ํ•ด์ƒ๋„์˜ ์Šคํ…Œ๋ ˆ์˜ค ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์„ 60Hz๋กœ VR ์žฅ์น˜์— ์ „์†กํ•˜์—ฌ ๋ชฐ์ž…ํ˜• ์‹œ์•ผ๊ฐ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • ๋กœ๋ด‡ ์ œ์–ด ๋ชจ๋“ˆ:
      • ํŒ” ์ œ์–ด ๋ชจ๋“ˆ: ์ธ๊ฐ„์˜ ์†๋ชฉ ํฌ์ฆˆ๋ฅผ ๋กœ๋ด‡ ํŒ” ๊ด€์ ˆ ์œ„์น˜๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. Pinocchio ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋ฐ˜์˜ Closed-loop Inverse Kinematics (CLIK) ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ˆ˜์ •๋œ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€์ ˆ ๊ฐ๋„๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉฐ, ์ด์ข… ์—”๋“œ ์ดํŽ™ํ„ฐ(end-effector)์— ๋Œ€ํ•œ IK ๋ฌธ์ œ๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ๊ด€์ ˆ์˜ ์›€์ง์ž„์„ ์กฐ์ ˆํ•˜๊ธฐ ์œ„ํ•ด ์†Œํ”„ํŠธ ๋งˆ์Šคํฌ(soft mask)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋ถ€๋“œ๋Ÿฌ์šด ํŒ” ๋™์ž‘์„ ์œ„ํ•ด SE(3) ๊ทธ๋ฃน ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
      • ์† ์ œ์–ด ๋ชจ๋“ˆ: ์ธ๊ฐ„ ์†๊ฐ€๋ฝ ํฌ์ฆˆ๋ฅผ ๋กœ๋ด‡ ์† ๊ด€์ ˆ ์œ„์น˜๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ ๋ชฉ์  ํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ์ตœ์ ํ™” ๋ฌธ์ œ๋กœ ์ •์‹ํ™”๋ฉ๋‹ˆ๋‹ค. \min_{\mathbf{q}_t} \sum_{i=0}^N \|\alpha_i \mathbf{v}_i^t - f_i(\mathbf{q}_t)\|^2 + \beta\|\mathbf{q}_t - \mathbf{q}_{t-1}\| ์—ฌ๊ธฐ์„œ \mathbf{q}_t๋Š” ์‹œ๊ฐ„ t์—์„œ์˜ ๋กœ๋ด‡ ์† ๊ด€์ ˆ ์œ„์น˜, \mathbf{v}_i^t๋Š” ์ธ๊ฐ„ ์†์˜ i๋ฒˆ์งธ ํ‚คํฌ์ธํŠธ ๋ฒกํ„ฐ, f_i(\mathbf{q}_t)๋Š” ์ˆœ๋ฐฉํ–ฅ ์šด๋™ํ•™์„ ์‚ฌ์šฉํ•œ ๋กœ๋ด‡ ์†์˜ ํ•ด๋‹น ํ‚คํฌ์ธํŠธ ๋ฒกํ„ฐ์ž…๋‹ˆ๋‹ค. \alpha_i๋Š” ์† ํฌ๊ธฐ ์ฐจ์ด๋ฅผ ๋ณด์ƒํ•˜๊ณ , \beta๋Š” ์‹œ๊ฐ„์  ์ผ๊ด€์„ฑ์„ ์œ„ํ•œ ์ •๊ทœํ™” ํ•ญ์˜ ๊ฐ€์ค‘์น˜์ž…๋‹ˆ๋‹ค. ์ด ์ตœ์ ํ™”๋Š” NLopt ์†”๋ฒ„๋กœ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
    • Sim-to-Real ์ธํ„ฐํŽ˜์ด์Šค: ๊นŠ์ด ์นด๋ฉ”๋ผ๋กœ ์บก์ฒ˜๋œ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋ฅผ VR ํ—ค๋“œ์…‹์— ํˆฌ์˜ํ•˜๊ณ  EasyHec์œผ๋กœ ์นด๋ฉ”๋ผ ํฌ์ฆˆ๋ฅผ ๋ณด์ •ํ•˜์—ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ๊ณผ ์‹ค์ œ ํ™˜๊ฒฝ์„ โ€œ๋””์ง€ํ„ธ ํŠธ์œˆโ€ ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

๋ฒค์น˜๋งˆํฌ ๋ฐ ๊ฒฐ๊ณผ:

  • ๊ฐ•ํ™” ํ•™์Šต (RL) ํ›ˆ๋ จ ์†๋„: ManiSkill3์˜ GPU ์‹œ๋ฎฌ๋ ˆ์ด์…˜์€ PickCube ํƒœ์Šคํฌ์—์„œ PPO๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ManiSkill2์˜ CPU ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋Œ€๋น„ ์ƒํƒœ ๊ธฐ๋ฐ˜ ๊ด€์ธก์—์„œ ์•ฝ 15๋ฐฐ, RGB ๊ธฐ๋ฐ˜ ๊ด€์ธก์—์„œ ์•ฝ 8๋ฐฐ์˜ ํ›ˆ๋ จ ์†๋„ ํ–ฅ์ƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ƒํƒœ ๊ธฐ๋ฐ˜์˜ ๊ฒฝ์šฐ 1๋ถ„, RGB ๊ธฐ๋ฐ˜์˜ ๊ฒฝ์šฐ 10๋ถ„ ๋งŒ์— ๊ฑฐ์˜ 100% ์„ฑ๊ณต๋ฅ ์— ๋„๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  • ์‹œ์—ฐ ๊ธฐ๋ฐ˜ ํ•™์Šต (LfD) / ๋ชจ๋ฐฉ ํ•™์Šต: ํ–‰๋™ ๋ณต์ œ(BC), Diffusion Policy (DP), Action Chunking Transformer (ACT)์™€ ๊ฐ™์€ ์˜คํ”„๋ผ์ธ ๋ชจ๋ฐฉ ํ•™์Šต ๊ธฐ์ค€์„ ๊ณผ RLPD, RFCL๊ณผ ๊ฐ™์€ ์˜จ๋ผ์ธ ๋ชจ๋ฐฉ ํ•™์Šต ๊ธฐ์ค€์„ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ Diffusion Policy๋Š” ์ ์€ ์ˆ˜์˜ ์‹œ์—ฐ์—์„œ๋„ ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. PerAct์™€ ๊ฐ™์€ ๋ณต์…€ ๊ธฐ๋ฐ˜ VLA ๋ชจ๋ธ๋„ ์ง€์›ํ•˜๋ฉฐ, Multi-View ๋ฐ SE(3) ์ฆ๊ฐ•์ด ์„ฑ๋Šฅ ํ–ฅ์ƒ์— ๊ธฐ์—ฌํ•จ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ์‹œ๊ฐ ๊ธฐ๋ฐ˜ Sim2Real ์กฐ์ž‘: ManiSkill3๋Š” Koch v1.1 ๋กœ๋ด‡ ํŒ”๊ณผ ํœด๋Œ€ํฐ ์นด๋ฉ”๋ผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๊ฐ ๊ธฐ๋ฐ˜ ์กฐ์ž‘ ์ •์ฑ…์„ ์ข…๋‹จ ๊ฐ„(end-to-end) ํ›ˆ๋ จํ•˜๊ณ  ์ œ๋กœ์ƒท(zero-shot)์œผ๋กœ ์‹ค์ œ ์„ธ๊ณ„์— ๋ฐฐํฌํ•˜๋Š” ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ์„ค์ •์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ›ˆ๋ จ ์‹œ ๋ฐฐ๊ฒฝ ๋…น์ƒ‰ ์Šคํฌ๋ฆฌ๋‹ ๋ฐ ๊ด‘๋ฒ”์œ„ํ•œ ๋„๋ฉ”์ธ ๋ฌด์ž‘์œ„ํ™”(์นด๋ฉ”๋ผ ํฌ์ฆˆ, ์กฐ๋ช… ๋ฐฉํ–ฅ, ๋กœ๋ด‡ ํฌ์ฆˆ, ํ๋ธŒ ํฌ๊ธฐ, ์ƒ‰์ƒ, ๋งˆ์ฐฐ)๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•ฝ 1์‹œ๊ฐ„ ํ›ˆ๋ จ ํ›„ ์ตœ์ข… ์ •์ฑ…์€ ์‹ค์ œ ์„ธ๊ณ„์—์„œ 91.6%์˜ ์„ฑ๊ณต๋ฅ ์„ ๋‹ฌ์„ฑํ–ˆ์œผ๋ฉฐ, ์‹œ๋ฎฌ๋ ˆ์ด์…˜๊ณผ ์‹ค์ œ ์„ธ๊ณ„ ์„ฑ๊ณต๋ฅ  ๊ฐ„์˜ ๋†’์€ ์ƒ๊ด€๊ด€๊ณ„(0.9284)๋ฅผ ์ž…์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•œ๊ณ„์ : ๋ณต์žกํ•œ ํ™˜๊ฒฝ(์˜ˆ: ๋ฃธ ์Šค์ผ€์ผ ์žฅ๋ฉด)์—์„œ๋Š” ๋‹จ์ผ GPU์—์„œ ๋ณ‘๋ ฌ ํ™˜๊ฒฝ์˜ ์ˆ˜๊ฐ€ ์ œํ•œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Sim2Real์˜ ์™„์ „ํ•œ ํ•ด๊ฒฐ์€ ์•„๋‹ˆ๋ฉฐ, ํŠน์ • ๋ณด์ƒ ์„ค๊ณ„๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ Sim2Real ๋ฐ๋ชจ๋Š” ์ •์  ์นด๋ฉ”๋ผ๋กœ ์ œํ•œ๋˜์–ด ์žˆ๊ณ , ์†Œํ”„ํŠธ ๋ฐ”๋”” ํ™˜๊ฒฝ๊ณผ ๊ฐ™์€ ์ผ๋ถ€ ํƒœ์Šคํฌ๋Š” GPU ๋ณ‘๋ ฌํ™”๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก : ManiSkill3๋Š” ์ผ๋ฐ˜ํ™” ๊ฐ€๋Šฅํ•œ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ ๋ Œ๋”๋ง์„ ์œ„ํ•œ ์ตœ์ฒจ๋‹จ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”Œ๋žซํผ์€ ๋‚ฎ์€ GPU ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰, ๋†’์€ FPS, ๋…ํŠนํ•œ ์ด์ข… GPU ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ๋‹ค์–‘ํ•œ ๋กœ๋ด‡ ํƒœ์Šคํฌ๋ฅผ ํŠน์ง•์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. Sim2Real ๋ฐ Real2Sim ํ™˜๊ฒฝ์„ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ์ง€์›ํ•˜๊ณ , ๋ชฐ์ž…ํ˜• VR ํ…”๋ ˆ์˜คํผ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ๊ฐ์ฒด ์ง€ํ–ฅ API๋ฅผ ํ†ตํ•ด ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋กœ๋ด‡ ํ•™์Šต์˜ ์ ‘๊ทผ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.


2 Detail Review

Copyright 2024, Jung Yeon Lee