Curieux.JY
  • Post
  • Note
  • Jung Yeon Lee

On this page

  • 1 ์–ด๋–ค ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์„ ํƒํ•ด์•ผ ํ• ๊นŒ?
  • 2 IsaacSim VS. IsaacGym
    • 2.1 IsaacGymEnvs ๋ฐ OmniIsaacGymEnvs
  • 3 Isaac Lab
    • 3.1 Isaac Lab์˜ ํ•ต์‹ฌ ํŠน์ง•
    • 3.2 Isaac Lab์—์„œ ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ
  • 4 Installation
    • 4.1 Isaac Sim ์„ค์น˜
      • 4.1.1 ์‹œ์Šคํ…œ ์‚ฌ์–‘ ํ™•์ธ: Isaac Sim Compatibility Checker
      • 4.1.2 Isaac Sim ์„ค์น˜ (Standalone ๋ฐฉ์‹)
      • 4.1.3 Isaac Sim ์‹คํ–‰ํ•˜๊ธฐ
    • 4.2 Isaac Lab ์„ค์น˜
      • 4.2.1 ์„ค์น˜ ์ „ ์š”๊ตฌ ์‚ฌํ•ญ ํ™•์ธ
      • 4.2.2 Conda ๊ฐ€์ƒํ™˜๊ฒฝ ์„ค์ •
      • 4.2.3 PyTorch ์„ค์น˜ (CUDA ๋ฒ„์ „์— ๋งž๊ฒŒ ์„ ํƒ)
      • 4.2.4 Isaac Sim pip ์„ค์น˜
      • 4.2.5 Isaac Lab ํด๋ก  (์†Œ์Šค ์ฝ”๋“œ ๋‹ค์šด๋กœ๋“œ)
      • 4.2.6 ์˜์กด์„ฑ ํŒจํ‚ค์ง€ ์„ค์น˜
      • 4.2.7 Isaac Lab ์‹คํ–‰ ํ™•์ธ
  • 5 Conclusion
  • 6 Reference

๐Ÿ‘ฉโ€๐Ÿ’ปIsaacSim๊ณผ IsaacLab ์•Œ์•„๋ณด๊ธฐ

isaacsim
isaaclab
code
IsaacSim 4.5.0 & IsaacLab
Published

March 14, 2025

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋Œ€ํ‘œ์ ์ธ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์ค‘ ํ•˜๋‚˜์ธ IsaacSim(IsaacLab)์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ , ์ด๋ฅผ Local์— ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์„ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

H1 Humanoid example using Isaac Lab(Built on Isaac Sim)

1 ์–ด๋–ค ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์„ ํƒํ•ด์•ผ ํ• ๊นŒ?

๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋งค์šฐ ๋‹ค์–‘ํ•˜๋ฉฐ, ๊ฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” ํŠน์ •ํ•œ ๋ชฉ์ ๊ณผ ํ™œ์šฉ ์‚ฌ๋ก€์— ๋งž์ถฐ ๋ฐœ์ „ํ•ด ์™”์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์–ด ์˜จ Gazebo๋ฅผ ๋น„๋กฏํ•ด, ํŠน์ • ๋กœ๋ด‡ task ๊ฐœ๋ฐœ์— ์ ํ•ฉํ•œ PyBullet, MuJoCo, ๊ทธ๋ฆฌ๊ณ  Google์—์„œ ๊ฐœ๋ฐœํ•œ ์ดˆ๊ณ ์† GPU ๊ธฐ๋ฐ˜ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ Brax ๋“ฑ ๋‹ค์–‘ํ•œ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์•Œ๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด Simulately Wiki๋ฅผ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด์‹œ๋Š” ๊ฒƒ๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ค ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์„ ํƒํ•ด์•ผ ํ• ๊นŒ์š”? ์•„๋ž˜ ํ‘œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด, ์‚ฌ์šฉํ•˜๋Š” ๋ฌผ๋ฆฌ ์—”์ง„, ROS2์™€์˜ ์—ฐ๋™ ๊ฐ€๋Šฅ ์—ฌ๋ถ€, AI/ML ํ”„๋ ˆ์ž„์›Œํฌ์™€์˜ ํ†ตํ•ฉ ์šฉ์ด์„ฑ ๋“ฑ์— ๋”ฐ๋ผ ์„ ํƒ ๊ธฐ์ค€์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Gazebo๋Š” ROS(๋กœ๋ด‡ ์šด์˜ ์ฒด์ œ)์™€์˜ ์—ฐ๋™์ด ๊ฐ•๋ ฅํ•œ ๋ฐ˜๋ฉด, MuJoCo๋‚˜ PyBullet์€ ๊ฐ•ํ™” ํ•™์Šต ๋ฐ AI ๊ธฐ๋ฐ˜ ๋กœ๋ด‡ ํ•™์Šต์— ๋” ์ ํ•ฉํ•œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋กœ๋ด‡ ์—ฐ๊ตฌ์™€ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด์„œ๋Š” ๋ชฉํ‘œํ•˜๋Š” ์ž‘์—…(Task)์— ์ ํ•ฉํ•œ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๋น„๊ตํ‘œ

์•ž์„œ ๋‹ค์–‘ํ•œ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ์ ์„ ์‚ดํŽด๋ณด์•˜๋Š”๋ฐ, ์˜ค๋Š˜์€ ๊ทธ์ค‘์—์„œ๋„ NVIDIA์—์„œ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” Isaac Sim์ด๋ผ๋Š” ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, Isaac Sim์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋กœ๋ด‡ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋”์šฑ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ธ Isaac Lab๋„ ํ•จ๊ป˜ ์†Œ๊ฐœํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์‹ค NVIDIA๋Š” ์˜ˆ์ „๋ถ€ํ„ฐ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๊ฐœ๋ฐœ์— ๊พธ์ค€ํžˆ ํˆฌ์žํ•ด ์™”์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ์ด๋ฆ„์œผ๋กœ ์—ฌ๋Ÿฌ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณต๊ฐœํ•ด ์™”์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ โ€œIsaacโ€์ด๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ํ”„๋กœ์ ํŠธ๋“ค์ด ์—ฌ๋Ÿฟ ์กด์žฌํ•˜๋Š”๋ฐ์š”. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ, Isaac Gym, Isaac Sim, ๊ทธ๋ฆฌ๊ณ  ๊ณผ๊ฑฐ Orbit ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํฅ๋ฏธ๋กญ๊ฒŒ๋„, ์˜ค๋Š˜ ์†Œ๊ฐœํ•  Isaac Lab๋„ ์›๋ž˜๋Š” 2023๋…„๊นŒ์ง€๋งŒ ํ•ด๋„ Orbit์ด๋ผ๋Š” ์ด๋ฆ„์˜ ํ”„๋กœ์ ํŠธ์˜€์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ตœ๊ทผ NVIDIA์˜ GR00T ํ”„๋กœ์ ํŠธ์™€ ํ•จ๊ป˜ ํ†ตํ•ฉ๋˜๋ฉด์„œ, ์ƒˆ๋กœ์šด ์ด๋ฆ„์ธ Isaac Lab์œผ๋กœ ์žฌํƒ„์ƒํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

(์‚ฌ์‹ค ์ €๋„ ์ด์ „์— ์ •๋ฆฌํ–ˆ๋˜ Orbit ์„ค์น˜ ๊ฐ€์ด๋“œ ํฌ์ŠคํŒ…์ด ํ•œ์ˆœ๊ฐ„์— ๋ฌด์šฉ์ง€๋ฌผ์ด ๋˜์–ด๋ฒ„๋ ธ๋‹ค๋Š” ์•ˆํƒ€๊นŒ์šด ์‚ฌ์—ฐ์ด ์žˆ์Šต๋‹ˆ๋‹คโ€ฆ๐Ÿ˜… ํ•˜์ง€๋งŒ, ๋‹น์‹œ Omniverse, Isaac Sim, Orbit์˜ ๊ด€๊ณ„๋ฅผ ์ •๋ฆฌํ–ˆ๋˜ ๋ถ€๋ถ„์€ ์—ฌ์ „ํžˆ ์œ ํšจํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ธˆ๋„ ๋„์›€์ด ๋˜๋Š” ์ž๋ฃŒ์ด๊ธด ํ•ฉ๋‹ˆ๋‹ค.)

2 IsaacSim VS. IsaacGym

Isaac Gym/Sim ๋ฌด์—‡์ด ๋‹ค๋ฅผ๊นŒ?

Isaac Sim์„ ์ฒ˜์Œ ์ ‘ํ•˜์‹œ๋Š” ๋ถ„๋“ค ์ค‘์—๋Š” ์—ฐ๊ตฌ ๋…ผ๋ฌธ์—์„œ ๋” ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” Isaac Gym๊ณผ ํ˜ผ๋™ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ๋‘ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” ์„œ๋กœ ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์ด ์žˆ์ง€๋งŒ, ๋ชฉ์ ๊ณผ ๊ธฐ๋Šฅ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณธ๊ฒฉ์ ์œผ๋กœ Isaac Sim์„ ์‚ดํŽด๋ณด๊ธฐ ์ „์—, ๋จผ์ € Isaac Gym๊ณผ Isaac Sim์˜ ์ฐจ์ด์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

1. Isaac Gym: ๊ฐ•ํ™” ํ•™์Šต์„ ์œ„ํ•œ ๊ณ ์„ฑ๋Šฅ GPU ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ

๋จผ์ €, Isaac Gym์€ ๊ฐ•ํ™” ํ•™์Šต(RL)์„ ์œ„ํ•œ GPU ๊ธฐ๋ฐ˜์˜ ๊ณ ์„ฑ๋Šฅ ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. NVIDIA์˜ PhysX ์—”์ง„ ์œ„์— ๊ตฌ์ถ•๋˜์–ด ์žˆ์œผ๋ฉฐ, CPU ๊ธฐ๋ฐ˜์˜ ๊ธฐ์กด ๋ฌผ๋ฆฌ ์—”์ง„๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ํ›จ์”ฌ ๋น ๋ฅธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์†๋„๋ฅผ ์ž๋ž‘ํ•ฉ๋‹ˆ๋‹ค. Isaac Gym์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ GPU๋ฅผ ํ™œ์šฉํ•œ ๋ณ‘๋ ฌ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ์ˆ˜๋งŽ์€ ํ™˜๊ฒฝ์„ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ๋•๋ถ„์— ๋กœ๋ด‡ ํ•™์Šต์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์ด ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ด๋ฃจ์–ด์ง€๋ฉฐ, CPU ๊ธฐ๋ฐ˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์—์„œ๋Š” ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋˜ ๋Œ€๊ทœ๋ชจ ๋ณ‘๋ ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ ๋•๋ถ„์—, Isaac Gym์€ ๋กœ๋ด‡ ๊ฐ•ํ™” ํ•™์Šต ์—ฐ๊ตฌ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜์–ด ์™”์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค๋ฆฌ ๋‹ฌ๋ฆฐ ๋กœ๋ด‡์˜ ๋ณดํ–‰ ํ•™์Šต, In-hand Manipulation, Industrial Assembly ๋“ฑ์˜ ์—ฐ๊ตฌ์—์„œ ์„ฑ๊ณต์ ์œผ๋กœ ํ™œ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ Isaac Gym์€ ๋ฒ”์šฉ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ฐ•ํ™” ํ•™์Šต์„ ์œ„ํ•œ ์ตœ์ ํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง„ ๋งŒํผ, ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด ๋น ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ณ€ํ˜•์ฒด(Soft Body) ์‹œ๋ฎฌ๋ ˆ์ด์…˜ X โ†’ ๊ฐ•์ฒด(Rigid Body) ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋งŒ ์ง€์›
  • ๊ณ ํ’ˆ์งˆ ๋ Œ๋”๋ง X โ†’ ์‚ฌ์‹ค์ ์ธ ๊ทธ๋ž˜ํ”ฝ ๊ตฌํ˜„์ด ์–ด๋ ค์›€
  • ROS/ROS2 ์ง€์› X โ†’ ์‹ค์ œ ๋กœ๋ด‡๊ณผ์˜ ์—ฐ๋™์ด ์–ด๋ ค์›€

์ฆ‰, Isaac Gym์€ โ€œ๊ฐ•ํ™” ํ•™์Šต์„ ์œ„ํ•œ ์ดˆ๊ณ ์† ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐโ€์ด์ง€๋งŒ, ๋ฒ”์šฉ์ ์ธ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.


2. Isaac Sim: ๋ฒ”์šฉ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ

Isaac Sim์€ NVIDIA Omniverse ํ”Œ๋žซํผ ์œ„์— ๊ตฌ์ถ•๋œ ๋ฒ”์šฉ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. Isaac Gym์ด ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์— ์ดˆ์ ์„ ๋งž์ท„๋‹ค๋ฉด, Isaac Sim์€ ๋ณด๋‹ค ํญ๋„“์€ ๋กœ๋ด‡ ์—ฐ๊ตฌ์™€ ๊ฐœ๋ฐœ์„ ์ง€์›ํ•˜๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ๊ณ ํ’ˆ์งˆ ๋ Œ๋”๋ง๊ณผ ๋‹ค์–‘ํ•œ ๋กœ๋ด‡ ๊ธฐ๋Šฅ ์ง€์›์ž…๋‹ˆ๋‹ค. Isaac Sim์€ ์ตœ์‹  RTX ๊ทธ๋ž˜ํ”ฝ ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์‹ค์ ์ธ 3D ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ์„ผ์„œ(LiDAR, RGB-D ์นด๋ฉ”๋ผ ๋“ฑ)๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์–ด ์‹ค์ œ ๋กœ๋ด‡ ์‹œ์Šคํ…œ๊ณผ์˜ ์—ฐ๋™์ด ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ROS/ROS2๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์›ํ•˜์—ฌ, Isaac Sim์—์„œ ๊ฐœ๋ฐœํ•œ ๋กœ๋ด‡ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‹ค์ œ ํ•˜๋“œ์›จ์–ด์—์„œ๋„ ๊ทธ๋Œ€๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, ๋„๋ฉ”์ธ ๋žœ๋คํ™”(Domain Randomization)์™€ ํ•ฉ์„ฑ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ, Sim2Real ์—ฐ๊ตฌ์—๋„ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์€ ์‹ค์ œ ๋กœ๋ด‡์ด ์ง๋ฉดํ•  ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ ๋ณ€ํ™”์— ๋Œ€ํ•ด ๊ฐ•๊ฑดํ•œ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

Isaac Sim์˜ ๋˜ ๋‹ค๋ฅธ ๊ฐ•์ ์€ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. NVIDIA์˜ Isaac Automator๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋†’์€ ์‚ฌ์–‘์˜ GPU๋ฅผ ๊ฐ–์ถ˜ ์žฅ๋น„๊ฐ€ ์—†๋”๋ผ๋„, ํด๋ผ์šฐ๋“œ์—์„œ Isaac Sim์„ ์‹คํ–‰ํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Isaac Gym๊ณผ Isaac Sim, ์–ด๋–ค ๊ฒƒ์„ ์„ ํƒํ•ด์•ผ ํ• ๊นŒ?

๋น„๊ต ํ•ญ๋ชฉ Isaac Gym Isaac Sim
๋ชฉ์  ๊ฐ•ํ™” ํ•™์Šต (RL) ์ค‘์‹ฌ ๋ฒ”์šฉ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜
๋ฌผ๋ฆฌ ์—”์ง„ GPU ๊ธฐ๋ฐ˜ PhysX PhysX + Omniverse RTX
๊ฐ•ํ™” ํ•™์Šต ์ง€์› โœ… ๋งค์šฐ ๋น ๋ฆ„ โœ… ์ง€์›ํ•˜์ง€๋งŒ ์ƒ๋Œ€์ ์œผ๋กœ ๋ฌด๊ฑฐ์›€
ROS/ROS2 ์ง€์› โŒ ์—†์Œ โœ… ๊ฐ€๋Šฅ
์„ผ์„œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ โŒ ์ œํ•œ์  โœ… ๋‹ค์–‘ํ•œ ์„ผ์„œ ๋ชจ๋ธ ์ œ๊ณต
๋ Œ๋”๋ง ํ’ˆ์งˆ โŒ ๊ธฐ๋ณธ ์ˆ˜์ค€ โœ… ๊ณ ํ’ˆ์งˆ (RTX ์ง€์›)
ํด๋ผ์šฐ๋“œ ์‹คํ–‰ โŒ ์ง€์› X โœ… ๊ฐ€๋Šฅ (Isaac Automator)
์„ ํƒ ๊ฐ€์ด๋“œ
  • ๊ฐ•ํ™” ํ•™์Šต ์ค‘์‹ฌ์˜ ๋น ๋ฅธ ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์ด ํ•„์š”ํ•˜๋‹ค๋ฉด? โ†’ Isaac Gym
  • ๋ฒ”์šฉ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๊ณผ ROS/์„ผ์„œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์ด ํ•„์š”ํ•˜๋‹ค๋ฉด? โ†’ Isaac Sim

2.1 IsaacGymEnvs ๋ฐ OmniIsaacGymEnvs

NVIDIA๊ฐ€ Isaac Gym๊ณผ Isaac Sim์„ ๊ณต๊ฐœํ•˜๋ฉด์„œ, ์ด ๋‘ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก IsaacGymEnvs์™€ OmniIsaacGymEnvs๋ผ๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ™˜๊ฒฝ์„ ํ•จ๊ป˜ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ™˜๊ฒฝ๋“ค์€ ๊ฐ๊ฐ์˜ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์œ„์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ๊ธฐ๋ณธ์ ์ธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋กœ๋ด‡ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์†Œ์Šค์ฝ”๋“œ๋“ค์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ฆ‰, IsaacGymEnvs๋Š” Isaac Gym ๊ธฐ๋ฐ˜, OmniIsaacGymEnvs๋Š” Isaac Sim ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๋ฉฐ, ๊ฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์˜ ์žฅ์ ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํ™˜๊ฒฝ๋“ค์„ ์‚ฌ์šฉํ•˜๋ฉด, ์‚ฌ์ „ ์ •์˜๋œ ๋กœ๋ด‡ ํƒœ์Šคํฌ๋ฅผ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰ํ•˜๊ณ  ํ•™์Šต ์„ฑ๋Šฅ์„ ๋ฒค์น˜๋งˆํ‚นํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์—ฐ๊ตฌ์ž๋“ค์ด ์ง์ ‘ ์ปค์Šคํ…€ ํ™˜๊ฒฝ์„ ๊ฐœ๋ฐœํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ์—๋Š” ๊ตฌ์กฐ์ ์œผ๋กœ ํ•œ๊ณ„๊ฐ€ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค.

โŒ ํŠน์ • ํƒœ์Šคํฌ์— ์ตœ์ ํ™”๋œ ํ™˜๊ฒฝ โ†’ ์ƒˆ๋กœ์šด ํƒœ์Šคํฌ ์ถ”๊ฐ€๊ฐ€ ์–ด๋ ค์›€

โŒ ํ™˜๊ฒฝ์˜ ํ™•์žฅ์„ฑ์ด ๋ถ€์กฑ โ†’ ๋‹ค์–‘ํ•œ ๋กœ๋ด‡ ์‹คํ—˜์„ ํ•˜๊ธฐ์— ํ•œ๊ณ„

โŒ ์—ฐ๊ตฌ์ž๊ฐ€ ์ง์ ‘ ์‹คํ—˜์„ ์„ค๊ณ„ํ•˜๊ธฐ ์–ด๋ ค์›€

๊ฒฐ๊ตญ, ๋กœ๋ด‡ ํ•™์Šต ์—ฐ๊ตฌ๊ฐ€ ์ ์  ๋ณต์žกํ•ด์ง€๊ณ  ๋‹ค์–‘ํ•œ ์‹คํ—˜์ด ํ•„์š”ํ•ด์ง€๋ฉด์„œ, IsaacGymEnvs์™€ OmniIsaacGymEnvs๋งŒ์œผ๋กœ๋Š” ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์–ด๋ ค์›Œ์กŒ๊ณ  ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ Isaac Lab์ž…๋‹ˆ๋‹ค.

3 Isaac Lab

NVIDIA๋Š” ์ตœ๊ทผ Isaac Sim์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํ†ตํ•ฉ์ ์ธ ๋กœ๋ด‡ ํ•™์Šต ํ”„๋ ˆ์ž„์›Œํฌ, Isaac Lab์„ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํžˆ ๊ธฐ์กด ํ™˜๊ฒฝ๋“ค์„ ๊ฐœ์„ ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ณด๋‹ค ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ฐฉ์‹์œผ๋กœ ๋กœ๋ด‡ ํ•™์Šต์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ IsaacGymEnvs, OmniIsaacGymEnvs, Orbit ๊ฐ™์€ ๊ฐœ๋ณ„์ ์ธ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์€ ํŠน์ • ํ™˜๊ฒฝ์ด๋‚˜ ํƒœ์Šคํฌ์— ๋งž์ถฐ ์„ค๊ณ„๋œ ๋ฐ˜๋ฉด, Isaac Lab์€ ์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ , ์—ฐ๊ตฌ์ž๋“ค์ด ์ง์ ‘ ์›ํ•˜๋Š” ํ™˜๊ฒฝ๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Isaac Sim Ecosystem

3.1 Isaac Lab์˜ ํ•ต์‹ฌ ํŠน์ง•

Isaac Lab์€ ๊ฐ•ํ™” ํ•™์Šต(RL), ์‹œ์—ฐ์„ ํ†ตํ•œ ํ•™์Šต(LfD), ๋ชจ์…˜ ํ”Œ๋ž˜๋‹ ๋“ฑ ๋‹ค์–‘ํ•œ ๋กœ๋ด‡ ์—ฐ๊ตฌ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋ชจ๋“ˆํ˜•(modular) ๊ตฌ์กฐ๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ์œผ๋ฉฐ, ์—ฐ๊ตฌ์ž๊ฐ€ ์†์‰ฝ๊ฒŒ ํ™˜๊ฒฝ์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ํƒœ์Šคํฌ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

โœ”๏ธ Isaac Lab์ด ๊ธฐ์กด ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋‹ค๋ฅธ ์ 

  • ์‚ฌ์ „ ๊ตฌ์ถ•๋œ ํ™˜๊ฒฝ & ํƒœ์Šคํฌ ์ œ๊ณต โ†’ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒ˜ํ”Œ ํ™˜๊ฒฝ ํฌํ•จ
  • ๋งž์ถคํ˜• ์ปค์Šคํ…€ ํ™˜๊ฒฝ ๊ฐœ๋ฐœ ์ง€์› โ†’ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํ™˜๊ฒฝ์„ ์„ค๊ณ„ํ•˜๊ณ  ์‹คํ—˜ ๊ฐ€๋Šฅ
  • ๊ฐ•ํ™” ํ•™์Šต & ๋ชจ์…˜ ํ”Œ๋ž˜๋‹ ์ตœ์ ํ™” โ†’ ๋‹ค์–‘ํ•œ ํ•™์Šต ๋ฐฉ๋ฒ• ์ ์šฉ ๊ฐ€๋Šฅ

3.2 Isaac Lab์—์„œ ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ

๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, Isaac Sim์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ณ„์Šนํ•˜๋ฉด์„œ๋„, ๋กœ๋ด‡ ํ•™์Šต ์—ฐ๊ตฌ๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”น ๊ตฌ๋™๊ธฐ(Actuator) ๋™์—ญํ•™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜

๊ธฐ์กด IsaacGymEnvs์—์„œ๋Š” ๋‹จ์ˆœํ•œ ํž˜ ๊ธฐ๋ฐ˜ ์ œ์–ด๊ฐ€ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ์ง€๋งŒ, Isaac Lab์—์„œ๋Š” ๋ชจํ„ฐ์™€ ์•ก์ถ”์—์ดํ„ฐ์˜ ๋™์—ญํ•™์„ ๋ณด๋‹ค ์ •๊ตํ•˜๊ฒŒ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‹ค์ œ ๋กœ๋ด‡์˜ ์ œ์–ด ๋ฐฉ์‹๊ณผ ๋”์šฑ ์œ ์‚ฌํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”น ์ ˆ์ฐจ์  ์ง€ํ˜• ์ƒ์„ฑ(Procedural Terrain Generation)

ํ•™์Šต์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ์‹œ์ €๋Ÿด(Procedural) ๋ฐฉ์‹์˜ ์ง€ํ˜• ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋กœ๋ด‡์ด ๋‹ค์–‘ํ•œ ์ง€ํ˜•์„ ํ•™์Šตํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋ฉฐ, ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ ํ–ฅ์ƒ์— ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”น ์‚ฌ๋žŒ ์‹œ์—ฐ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๊ธฐ๋Šฅ

์‹œ์—ฐ์„ ํ†ตํ•œ ํ•™์Šต(LfD: Learning from Demonstration)์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜์—ฌ, ์‚ฌ๋žŒ ์‹œ์—ฐ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ๊ฐ•ํ™” ํ•™์Šต ๋ฐ ํ–‰๋™ ๋ณต์ œ(Behavior Cloning)๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํ•œ RL์„ ๋„˜์–ด, ๋ณด๋‹ค ํšจ์œจ์ ์ธ ํ•™์Šต ๋ฐฉ๋ฒ•๋ก ์„ ์—ฐ๊ตฌํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

4 Installation

์ด์ œ Isaac Sim๊ณผ ๊ทธ ์œ„์—์„œ ๋™์ž‘ํ•˜๋Š” Isaac Lab์„ ์ง์ ‘ ์„ค์น˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
๋งŽ์€ ๋กœ๋ด‡ ๊ฐœ๋ฐœ์ด ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ์ง„ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ดํ›„ ๊ณผ์ •์€ ๋ฆฌ๋ˆ…์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.


4.1 Isaac Sim ์„ค์น˜

Isaac Sim์€ 4.5.0 ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉด์„œ ์„ค์น˜ ๊ณผ์ •์ด ๋”์šฑ ๊ฐ„ํŽธํ•ด์กŒ์Šต๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ, ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณ ์„ฑ๋Šฅ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ ๋ฐ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

4.1.1 ์‹œ์Šคํ…œ ์‚ฌ์–‘ ํ™•์ธ: Isaac Sim Compatibility Checker

์„ค์น˜ ์š”๊ตฌ ์‚ฌํ•ญ๋“ค

๐Ÿ’ป ์ตœ์†Œ ์š”๊ตฌ ์‚ฌ์–‘

  • ์šด์˜์ฒด์ œ: Ubuntu 20.04 ์ด์ƒ
  • GPU: NVIDIA RTX 3060 ์ด์ƒ (RTX 3090 / 4090 ๊ถŒ์žฅ)
  • CUDA ๋ฒ„์ „: 11.8 ์ด์ƒ
  • VRAM: ์ตœ์†Œ 8GB (12GB ์ด์ƒ ๊ถŒ์žฅ)
  • RAM: ์ตœ์†Œ 16GB (32GB ์ด์ƒ ๊ถŒ์žฅ)
  • ๋””์Šคํฌ ๊ณต๊ฐ„: ์ตœ์†Œ 100GB ์ด์ƒ์˜ ์—ฌ์œ  ๊ณต๊ฐ„

Isaac Sim์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ž๋™์œผ๋กœ ์ ๊ฒ€ํ•  ์ˆ˜ ์žˆ๋„๋ก Isaac Sim Compatibility Checker ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋ฅผ ๋จผ์ € ์‹คํ–‰ํ•˜์—ฌ ์‹œ์Šคํ…œ์ด ์ ํ•ฉํ•œ์ง€ ํ™•์ธํ•œ ํ›„, ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

โœ… ์„ค์น˜ ๋ฐ ์‹คํ–‰ ๋ฐฉ๋ฒ•

  1. Isaac Sim Compatibility Checker ๋‹ค์šด๋กœ๋“œ
  2. ์••์ถ•์„ ํ’€์–ด ์›ํ•˜๋Š” ํด๋”์— ์ €์žฅ ๋ฐ ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ์‹คํ–‰
./omni.isaac.sim.compatibility_check.sh
  1. ๊ฒ€์‚ฌ ๊ฒฐ๊ณผ ํ™•์ธ (์ƒ‰์ƒ ์ฝ”๋“œ ์•ˆ๋‚ด)
    • ๐ŸŸข Green (์ตœ์ ): ๋ชจ๋“  ์š”๊ตฌ ์‚ฌํ•ญ ์ถฉ์กฑ
    • ๐ŸŸข Light-green (์–‘ํ˜ธ): ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ฐ€๋Šฅ
    • ๐ŸŸ  Orange (์ถฉ๋ถ„ํ•˜์ง€๋งŒ ๊ฐœ์„  ํ•„์š”): ์‹คํ–‰์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๊ถŒ์žฅ ์‚ฌ์–‘๋ณด๋‹ค ๋‚ฎ์Œ
    • ๐Ÿ”ด Red (๋ฏธ์ง€์›): ์‹คํ–‰ ๋ถˆ๊ฐ€๋Šฅ

4.1.2 Isaac Sim ์„ค์น˜ (Standalone ๋ฐฉ์‹)

Isaac Sim์€ Omniverse Launcher ์—†์ด ๋…๋ฆฝ ์‹คํ–‰ํ˜•(Standalone) ํŒจํ‚ค์ง€๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โœ… ์„ค์น˜ ๋ฐฉ๋ฒ•
1. Isaac Sim ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€์—์„œ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค ๋‹ค์šด๋กœ๋“œ
2. ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„ค์น˜

mkdir ~/isaacsim
cd ~/Downloads
unzip "isaac-sim-standalone@4.5.0-rc.36+release.19112.f59b3005.gl.linux-x86_64.release.zip" -d ~/isaacsim
cd ~/isaacsim
./post_install.sh
./isaac-sim.selector.sh
  1. ์„ค์น˜ ํ›„, Isaac Sim App Selector๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ ์‹คํ–‰ ๋ชจ๋“œ๋ฅผ ์„ ํƒ ๊ฐ€๋Šฅ

4.1.3 Isaac Sim ์‹คํ–‰ํ•˜๊ธฐ

์„ค์น˜ ํ›„ ์‹คํ–‰ํ•˜๋ ค๋ฉด, ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

./isaac-sim.sh

๐Ÿ‘‰ ์ตœ์ดˆ ์‹คํ–‰ ์‹œ ์…ฐ์ด๋” ์บ์‹œ ๋กœ๋”ฉ(Warmup)์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ, ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์…ฐ์ด๋” ์บ์‹œ๋ฅผ ๋ฏธ๋ฆฌ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

./isaac-sim.sh --warmup

4.2 Isaac Lab ์„ค์น˜

Isaac Lab์€ Isaac Sim์ด ์„ค์น˜๋œ ํ™˜๊ฒฝ์—์„œ ๋™์ž‘ํ•˜๋ฏ€๋กœ, ๋จผ์ € Isaac Sim์„ ์„ค์น˜ํ•œ ํ›„ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Isaac Sim์„ pip ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ ์„ค์น˜ ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

4.2.1 ์„ค์น˜ ์ „ ์š”๊ตฌ ์‚ฌํ•ญ ํ™•์ธ

โœ… GLIBC ๋ฒ„์ „ ํ™•์ธ (Ubuntu 20.04์—์„œ๋Š” ์ถ”๊ฐ€ ์กฐ์น˜ ํ•„์š”)

ldd --version

๐Ÿ‘‰ GLIBC 2.34 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Ubuntu 20.04 ๊ธฐ๋ณธ ๋ฒ„์ „(2.31)๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

4.2.2 Conda ๊ฐ€์ƒํ™˜๊ฒฝ ์„ค์ •

Isaac Sim์„ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด Python 3.10 ํ™˜๊ฒฝ์„ ๊ฐ–์ถ˜ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

conda create -n env_isaaclab python=3.10
conda activate env_isaaclab

4.2.3 PyTorch ์„ค์น˜ (CUDA ๋ฒ„์ „์— ๋งž๊ฒŒ ์„ ํƒ)

CUDA ๋ฒ„์ „์— ๋งž๋Š” PyTorch๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โœ… CUDA 11์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ:

pip install torch==2.5.1 --index-url https://download.pytorch.org/whl/cu118

โœ… CUDA 12๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ:

pip install torch==2.5.1 --index-url https://download.pytorch.org/whl/cu121

4.2.4 Isaac Sim pip ์„ค์น˜

pip๋ฅผ ์ด์šฉํ•ด Isaac Sim์„ ๊ฐ€์ƒ ํ™˜๊ฒฝ์—์„œ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

pip install --upgrade pip
pip install 'isaacsim[all,extscache]==4.5.0' --extra-index-url https://pypi.nvidia.com

โœ… ์„ค์น˜ ํ™•์ธ

isaacsim

โš ๏ธ ์ฒซ ์‹คํ–‰ ์‹œ NVIDIA EULA ๋™์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Do you accept the EULA? (Yes/No): Yes

๐Ÿ‘‰ ์ฒซ ์‹คํ–‰ ์‹œ ๋ชจ๋“  ํ™•์žฅ(extension) ํŒŒ์ผ์ด ๋‹ค์šด๋กœ๋“œ๋˜๋ฏ€๋กœ 10๋ถ„ ์ด์ƒ ์†Œ์š”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4.2.5 Isaac Lab ํด๋ก  (์†Œ์Šค ์ฝ”๋“œ ๋‹ค์šด๋กœ๋“œ)

git clone https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab

4.2.6 ์˜์กด์„ฑ ํŒจํ‚ค์ง€ ์„ค์น˜

Isaac Lab ์‹คํ–‰์„ ์œ„ํ•ด ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

sudo apt install cmake build-essential

๊ทธ ํ›„, Isaac Lab์˜ ์˜์กด์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

./isaaclab.sh --install

๐Ÿ‘‰ ๋ชจ๋“  ๊ฐ•ํ™” ํ•™์Šต ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ•จ๊ป˜ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
๐Ÿ‘‰ ํŠน์ • ํ”„๋ ˆ์ž„์›Œํฌ๋งŒ ์„ค์น˜ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

./isaaclab.sh --install rl_games  # ํŠน์ • ํ”„๋ ˆ์ž„์›Œํฌ (์˜ˆ: rl_games)๋งŒ ์„ค์น˜

โœ… ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ํ”„๋ ˆ์ž„์›Œํฌ ๋ชฉ๋ก

  • rl_games
  • rsl_rl
  • sb3
  • skrl
  • robomimic
  • none (ํ•™์Šต ํ”„๋ ˆ์ž„์›Œํฌ ์ œ์™ธ)

4.2.7 Isaac Lab ์‹คํ–‰ ํ™•์ธ

# Option 1: isaaclab.sh ์‹คํ–‰
./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py

# Option 2: Python์œผ๋กœ ์ง์ ‘ ์‹คํ–‰
python scripts/tutorials/00_sim/create_empty.py

โœ… ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉด, Isaac Lab์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์น˜๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค! ๐ŸŽ‰

5 Conclusion

์ง€๊ธˆ๊นŒ์ง€ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์˜ ๊ฐœ์š”๋ถ€ํ„ฐ Isaac Sim๊ณผ Isaac Lab์˜ ์ฐจ์ด์ , ๊ทธ๋ฆฌ๊ณ  ์„ค์น˜ ๊ณผ์ •๊นŒ์ง€ ์ž์„ธํžˆ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ Physical AI์™€ ๋กœ๋ด‡ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ๊ด€์‹ฌ์ด ๊ธ‰์ฆํ•˜๋ฉด์„œ, ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์—ญ์‹œ ์ค‘์š”ํ•œ ๋„๊ตฌ๋กœ ์ž๋ฆฌ ์žก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์ค‘์—์„œ๋„ Isaac Sim์€ GPU ๊ฐ€์† ๊ธฐ๋ฐ˜์˜ ๊ฐ•๋ ฅํ•œ ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋กœ๋ด‡ ํ•™์Šต ๋ฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์˜ ์ƒˆ๋กœ์šด ํ‘œ์ค€์ด ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Isaac Sim์„ ํ™œ์šฉํ•˜๋ฉด ๊ณ ํ’ˆ์งˆ ๊ทธ๋ž˜ํ”ฝ, ๋ฌผ๋ฆฌ ์—”์ง„ ์ตœ์ ํ™”, ROS/๊ฐ•ํ™” ํ•™์Šต ํ†ตํ•ฉ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ Isaac Lab์„ ํ†ตํ•ด ๋”์šฑ ์ฒด๊ณ„์ ์ธ ๋กœ๋ด‡ ํ•™์Šต ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก , Isaac Sim์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณ ์‚ฌ์–‘์˜ GPU๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ์ ์ด ๋ถ€๋‹ด์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๊ณผ ๊ฐ•ํ™” ํ•™์Šต์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด ์ถฉ๋ถ„ํžˆ ํˆฌ์žํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ๋Š” Isaac Lab์„ ํ™œ์šฉํ•˜์—ฌ ์ง์ ‘ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์‹คํ–‰ํ•˜๊ณ , ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๋Š” ๊ณผ์ •์„ ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

6 Reference

  • Simulately Wiki
  • A Systematic Comparison of Simulation Software for Robotic Arm Manipulation using ROS2
  • IsaacSim Ecosystem
  • IsaacSim Installation
  • IsaacLab Local Installation

Copyright 2024, Jung Yeon Lee