NVIDIA Omniverse · Isaac Sim · Isaac Lab 입문

세 도구의 층 구조

세 이름은 서로 경쟁하는 제품이 아니라 아래에서 위로 쌓인 층이다. Omniverse 가 3D 장면·물리·렌더링을 다루는 토대이고 그 위에 로봇 시뮬레이터 Isaac Sim 이 올라가며 Isaac Lab 은 다시 Isaac Sim 위에서 로봇의 정책(policy)을 학습시킨다.

층정의직접 하는 일
Omniverse3D 시뮬레이션 앱을 만드는 NVIDIA 라이브러리 모음장면 기술(OpenUSD), 렌더링(RTX), 물리 계산(PhysX)
Isaac SimOmniverse 위에 만든 로봇 시뮬레이터로봇 import, 센서 시뮬레이션, ROS 2 연결
Isaac LabIsaac Sim 위의 로봇 학습 프레임워크환경 수천 개 병렬 실행, 강화학습·모방학습

게임에 견주면 Omniverse 는 게임 엔진, Isaac Sim 은 그 엔진으로 만든 로봇 게임, Isaac Lab 은 그 게임을 수천 판씩 동시에 돌려 AI 를 훈련시키는 훈련장과 같다.


Omniverse — 3D 시뮬레이션의 토대

Omniverse 는 실제처럼 보이고 물리 법칙대로 움직이는 3D 세계를 만들 때 필요한 부품을 NVIDIA 가 라이브러리로 묶어 둔 플랫폼이다. 로봇 전용이 아니라서 공장 digital twin, 자동차 디자인 검토, 영상 제작에도 같은 부품이 쓰인다.

구성요소역할로봇 시뮬레이션 용도
OpenUSD3D 장면을 적는 파일 포맷·API로봇·책상·조명·카메라를 한 장면 트리로 저장
RTX 렌더러GPU ray tracing 렌더링시뮬레이션 카메라 이미지를 실제 사진에 가깝게 생성
PhysXGPU 가속 물리 엔진관절·충돌·마찰 계산
Kit SDK위 부품을 묶어 앱을 만드는 SDKIsaac Sim 자체가 Kit 으로 만든 앱

예전에는 Omniverse Launcher 로 USD Composer 같은 앱을 내려받아 설치했지만 Launcher 는 2025-10-01 에 지원이 끝났다. 지금의 Omniverse 는 설치하는 프로그램 하나라기보다 GitHub·NGC 에서 가져다 쓰는 SDK·라이브러리 모음이라서 로봇 개발자가 Omniverse 를 따로 설치할 일은 거의 없다. Isaac Sim 을 설치하면 필요한 Omniverse 부품이 그 안에 들어 있다.

이 토대에는 로봇이라는 개념이 없다. 관절을 돌리는 모터, 라이다, ROS 2 토픽 같은 로봇 쪽 기능을 얹은 것이 Isaac Sim 이다.


Isaac Sim — 로봇 시뮬레이터

Isaac Sim 은 Omniverse Kit 으로 만든 로봇 시뮬레이션 앱이다. GUI 에서 장면을 꾸미고 재생 버튼을 눌러 로봇을 움직여 볼 수 있고 같은 작업을 Python 스크립트로 자동화할 수도 있다.

기능하는 일
로봇 importURDF·MJCF·CAD 파일을 읽어 링크·관절·충돌 모양을 갖춘 USD 로봇으로 변환
센서 시뮬레이션RGB·depth 카메라, 라이다, IMU, 접촉 센서 값 생성
ROS 2 bridge시뮬레이션 속 센서 값과 관절 명령을 ROS 2 토픽으로 주고받음
synthetic data 생성조명·텍스처·물체 배치를 무작위로 바꿔 가며 라벨 달린 이미지를 대량 생성

ROS 2 bridge 는 실제 로봇과 같은 토픽 이름으로 센서 값을 내보내므로, 실물에서 돌릴 Nav2 나 MoveIt 2 스택을 코드 수정 없이 시뮬레이션에 먼저 붙여 볼 수 있다. 로봇이 벽에 부딪혀도 부서지는 것이 없으니 위험한 시나리오도 마음껏 시험한다.

라이선스와 버전. 2025-08 의 5.0 부터 소스가 GitHub 에 Apache 2.0 으로 공개됐고 2026-10 기준 최신 안정판은 2026-09 에 나온 6.1 이다.

실행 환경. NVIDIA RTX GPU 가 필수이고 OS 는 Ubuntu 22.04/24.04 와 Windows 11 만 지원한다. macOS 에서는 돌지 않으므로 Mac 사용자는 Linux PC 나 클라우드 GPU 인스턴스가 필요하다. 공식 README 가 적은 로컬 최소 사양은 GeForce RTX 4080 이다.

Isaac Sim 은 로봇과 장면을 만들고 돌려 보는 데까지를 맡는다. 강화학습을 하려면 수백만 번의 시도를 돌릴 병렬 환경과 보상 계산, 학습 알고리즘 연결이 더 필요한데, 이 틀을 매번 직접 짜기는 번거롭다.


Isaac Lab — 로봇 학습 프레임워크

Isaac Lab 은 Isaac Sim 위에서 로봇 정책을 학습시키는 오픈소스 프레임워크다. 공식 문서도 Isaac Lab 을 시뮬레이터가 아니라 "시뮬레이터 위에서 로봇 학습 앱을 만드는 framework" 로 정의한다. 물리 계산과 렌더링은 Isaac Sim 이 하고 Isaac Lab 은 학습에 필요한 환경 정의·병렬 실행·학습 알고리즘 연결을 맡는다.

GPU 병렬 환경

Isaac Lab 은 같은 로봇·같은 과제를 담은 환경 수천 개를 GPU 한 장에서 동시에 돌린다. 물리 계산과 신경망 계산이 모두 GPU 메모리 안에서 끝나 CPU 와 데이터를 주고받는 병목이 없고 모든 환경이 하나의 정책을 공유하므로 수천 개 환경에서 나온 경험이 한 신경망의 학습에 한꺼번에 들어간다.

애니메이션 로딩 중...

왼쪽은 환경 하나가 에피소드를 하나씩 끝낼 때마다 시도가 한 번 늘어나고 오른쪽은 같은 시간에 수천 개 환경이 동시에 시도를 쌓는다. 경험이 빨리 쌓이는 쪽의 정책이 먼저 성공하기 시작한다.

ETH Zurich 와 NVIDIA 의 2021년 연구는 4족 로봇 ANYmal 수천 대를 워크스테이션 GPU 한 장에서 병렬로 학습시켜 평지 보행 정책을 4분 미만, 험지 보행 정책을 20분 만에 얻었고 그 정책은 실제 로봇에서도 걸었다.

근거: Rudin et al., Learning to Walk in Minutes Using Massively Parallel Deep Reinforcement Learning, CoRL 2021

Isaac Lab 이 제공하는 것

  • 환경 정의 틀: observation·reward·종료 조건을 부품처럼 조립하는 manager-based 방식과, 한 클래스에 직접 적는 direct 방식
  • 학습 라이브러리 연결: RSL-RL, skrl, RL-Games, Stable-Baselines3 를 같은 환경 인터페이스(gymnasium)로 연결
  • 모방학습 도구: 사람이 직접 보여 준 시연 몇 개를 변형해 대량의 시연 데이터로 불리는 Isaac Lab Mimic
  • 준비된 로봇·과제: 매니퓰레이터·4족·휴머노이드 16종 이상과 바로 학습 가능한 환경 30개 이상
  • domain randomization: 질량·마찰·외력 같은 물리 값을 환경마다 다르게 주는 기능

설치가 끝났다면 4족 로봇 ANYmal-D 의 평지 보행 학습은 명령 한 줄이다.

# 화면 없이(headless) 병렬 환경으로 보행 정책 학습
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py \
  --task Isaac-Velocity-Flat-Anymal-D-v0 --headless

# 학습된 정책을 환경 32개로 재생
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/play.py \
  --task Isaac-Velocity-Flat-Anymal-D-v0 --num_envs 32

--headless 는 렌더링 창을 띄우지 않아 GPU 를 물리 계산과 학습에만 쓴다. 학습이 끝나면 정책이 .pt 파일로 저장되고 play.py 가 그 파일을 불러 로봇이 걷는 모습을 보여 준다.

Isaac Gym 에서 Isaac Lab 까지

Isaac Lab 이전에는 Isaac Gym 이 이 역할을 했다. Isaac Gym 은 Omniverse 와 별개인 독립 프로그램이었고 앞의 ETH Zurich 연구도 Isaac Gym 위에서 나왔다. 같은 시기 Isaac Sim 쪽에는 OmniIsaacGymEnvs 와 Orbit 이 따로 있었는데 NVIDIA 가 이 셋을 Isaac Lab 하나로 합치면서 Isaac Gym 은 지원이 끝난 legacy 가 됐다. 오래된 튜토리얼에서 Isaac Gym 을 보면 지금은 Isaac Lab 이 그 자리를 이어받았다고 읽으면 된다.

2026-09 에 Early Access 로 나온 Isaac Lab 3.0 은 물리 엔진을 바꿔 끼울 수 있게 했다. 기본 PhysX 외에 NVIDIA·Google DeepMind·Disney Research 가 함께 만든 오픈소스 엔진 Newton 을 고를 수 있고 Newton 을 쓰면 Isaac Sim 을 설치하지 않고도(kit-less) 학습이 돈다. 덕분에 글 첫머리의 층 구조와 달리 Isaac Lab 이 Isaac Sim 없이도 돌 수 있게 됐다. 정식 버전(GA)은 2026-10 말 목표다.


실제 작업 흐름

4족 로봇에게 걷기를 가르친다면 세 도구는 다음 순서로 쓰인다.

  1. Isaac Sim 에서 제조사가 준 URDF 를 import 하고 관절 drive·질량·충돌 모양이 실물과 맞는지 GUI 로 확인한다.
  2. Isaac Lab 에서 보상(앞으로 걸으면 +, 넘어지면 −)과 관측값을 정의하고 --headless 로 수천 개 환경을 병렬 학습해 정책 파일을 얻는다.
  3. 학습된 정책을 다시 Isaac Sim 장면에 넣고 ROS 2 bridge 로 실제 로봇과 같은 토픽 구조에서 돌려 본다.
  4. 문제가 없으면 실제 로봇에 정책을 올린다.

이름이 비슷한 다른 Isaac

NVIDIA 는 로봇 관련 제품 대부분에 Isaac 을 붙여서 검색하다 보면 시뮬레이터가 아닌 Isaac 도 자주 섞여 나온다.

이름정체돌아가는 곳
Isaac ROSGPU 가속 ROS 2 패키지 모음(인식·SLAM 등)실제 로봇의 Jetson·GPU
Isaac GR00T휴머노이드용 robot foundation model (GR00T N1 논문 해석)학습 서버·로봇
Isaac GymIsaac Lab 이전의 병렬 강화학습 시뮬레이터지원 종료
Newton오픈소스 GPU 물리 엔진(Linux Foundation 프로젝트)Isaac Lab 3.0 의 물리 backend

요약

  • Omniverse 는 3D·물리·렌더링 토대, Isaac Sim 은 그 위의 로봇 시뮬레이터, Isaac Lab 은 그 위에서 환경 수천 개를 병렬로 돌려 정책을 학습시키는 프레임워크다.
  • 로봇 모델을 확인·검증할 때는 Isaac Sim 을, 정책을 학습시킬 때는 Isaac Lab 을 연다.
  • 둘 다 NVIDIA RTX GPU 와 Linux 또는 Windows 가 필요하다.

참고 자료