📘 [IsaacSim 6.0] Concepts 정리
IsaacSim이 6.0.0으로 업데이트되면서 공식 Documentation을 처음부터 차근차근 학습하기로 했습니다. 그 첫 번째 묶음인 Concepts 섹션을 정리합니다. 이 섹션은 IsaacSim을 본격적으로 다루기 전에 알아야 할 전체 작업 흐름, 워크플로우 종류, UI 구성, 에셋(USD) 구조라는 기초 개념을 다룹니다.
본 글은 NVIDIA 공식 문서를 학습하며 핵심을 한국어로 요약·정리한 노트입니다. 정확한 원문은 각 절 끝의 🔗 링크를 참고하세요.
🧭 Reference Architecture & Task Groupings
IsaacSim에서의 전형적인 작업은 다음 5단계 작업 그룹(Task Grouping) 으로 흐릅니다. 로봇 시뮬레이션 프로젝트를 어디서부터 시작해 어디로 가는지 큰 그림을 잡는 데 유용합니다.
| 단계 | 작업 그룹 | 핵심 내용 |
|---|---|---|
| 1 | Geometry Authoring (지오메트리 제작) | CAD 설계를 시뮬레이션용으로 변환, SimReady 에셋·창고(warehouse) 컬렉션 활용 |
| 2 | Importing Assets (에셋 임포트) | CAD 컨버터, URDF/MJCF 임포터로 로봇·환경 에셋을 USD로 가져오기 |
| 3 | Scene Setup (씬 구성) | 물리(physics) 설정, 충돌(collision), 조인트/드라이브, 센서, 머티리얼 구성 |
| 4 | Interaction with Digital Twin (디지털 트윈 상호작용) | GUI, Standalone Python, Extension, OmniGraph로 시뮬레이션 제어 |
| 5 | Use Cases (활용) | 합성 데이터 생성(SDG), SITL/HITL 테스트, CI/CD 연동 |
핵심은 “제작 → 임포트 → 구성 → 상호작용 → 활용” 의 파이프라인이며, 각 단계에서 IsaacSim이 제공하는 도구가 무엇인지 이후 섹션에서 하나씩 깊게 다룹니다.

각 단계를 도식으로 보면 다음과 같습니다.
| Geometry Authoring | Scene Setup | Interaction | Synthetic Data |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
SimReady·환경 에셋 컬렉션 예시(창고 등):

🖼️ 위 이미지들의 출처는 NVIDIA Isaac Sim 공식 문서입니다. 🔗 원문: Reference Architecture
🔀 Workflows
IsaacSim은 개발 목적에 따라 3가지 워크플로우를 제공합니다. 같은 API를 공유하되 실행 컨텍스트가 다르다는 점이 핵심입니다.
1. GUI Workflow
- 목적: 시각적이고 직관적인 전용 도구로 가상 세계를 채우고 시뮬레이션
- 적합한 작업: 월드 구축, 로봇 조립, 센서 부착, OmniGraph로 시각적 프로그램 작성, ROS 브리지 초기화
- GUI에서의 작업은 USD 파일로 저장되어 이후 Standalone 스크립트에서 그대로 로드할 수 있습니다.
2. Extension Workflow
- 목적: 스테이지(stage)와 상호작용하며 비동기(asynchronous) 로 실행, 변경 사항을 즉시 반영하는 핫 리로딩(hot reloading), 실시간 시뮬레이션을 위한 적응형 물리 스텝 지원
- 적합한 작업: Python 코드 스니펫 테스트, 인터랙티브 GUI 제작, 커스텀 애플리케이션 모듈 개발, 즉각적 피드백이 필요한 시간 민감 애플리케이션
- 렌더링을 막지 않고 비동기로 동작합니다.
3. Standalone Python Workflow
- 목적: 물리·렌더링 스텝 타이밍을 명시적으로 제어, 헤드리스(headless) 모드로 동작
- 적합한 작업: 대규모 강화학습(RL) 학습, 환경 자동 생성, 프로그래밍적 일괄 수정
- 수동 스텝 제어로 결정론적(deterministic) 시퀀싱이 가능합니다.
💡 Extension과 Standalone Python은 동일한 API를 사용하지만, Extension은 비동기로 렌더링을 차단하지 않고 동작하는 반면 Standalone은 수동 스텝 제어가 가능하다는 차이가 있습니다.
🔗 원문: Workflows
🖥️ User Interface Reference
IsaacSim GUI의 주요 패널과 역할입니다. 대부분의 패널은 드래그·도킹(dockable) 이 가능해 멀티 모니터 환경에서 자유롭게 배치할 수 있습니다.


| UI 요소 | 역할 |
|---|---|
| Menu Bar | Create(프리미티브·시뮬레이션 객체), Window(확장 창), Tools(애니메이션·물리·Replicator·로보틱스), Utilities(진단), Layout 등 |
| Viewport | 에셋을 보는 기본 작업 공간. 씬을 시각화하고 상호작용하는 중심 |
| Toolbar | 이동·회전·스케일 등 변형 도구, 스내핑, 애니메이션 재생, 선택 모드 토글 (▽ 드롭다운은 우클릭으로 추가 옵션) |
| Stage Window | 현재 USD 씬의 모든 에셋을 계층 구조로 표시 |
| Property Panel | 선택한 prim의 속성을 조회·수정 |
| Content Browser | 에셋 라이브러리·예제 콘텐츠에 접근 |
| Tabs / Grab Handles | 패널을 분리·재배치, 패널 사이 경계를 드래그해 크기 조절 |
Toolbar(세로 툴바) 와 패널 도킹/분리 동작:
| Toolbar | Grab Handle | 탭 우클릭 메뉴 |
|---|---|---|
![]() |
![]() |
![]() |
🖼️ 위 이미지들의 출처는 NVIDIA Isaac Sim 공식 문서입니다. 🔗 원문: User Interface Reference
⌨️ Keyboard Shortcuts Reference
작업 효율을 크게 높여주는 단축키 모음입니다. 자주 쓰는 대표 단축키는 다음과 같습니다(전체 목록은 원문 참고).
- F: 선택 객체에 카메라 포커스(Frame)
- W / E / R: 이동(Translate) / 회전(Rotate) / 스케일(Scale) 도구
- Space: 시뮬레이션 재생/정지
- Esc: 선택 해제
- 마우스: 좌클릭(선택), 우클릭+드래그(시점 회전), 휠(줌)
🧱 Asset Structure (USD 레이어링)
IsaacSim은 로봇 에셋을 여러 개의 모듈화된 USD 파일로 분리해 관리합니다. 관심사(concern)를 분리해 두면 리뷰가 쉽고, 서로 다른 물리 엔진이 충돌 없이 동작할 수 있습니다.


각 레이어가 표현하는 단계(base → geometry → instances → material)를 시각적으로 비교하면 다음과 같습니다.
| base | geometry | instances | material |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
🖼️ 위 이미지들의 출처는 NVIDIA Isaac Sim 공식 문서입니다.
주요 파일 구성
소스(Source) 에셋
| 파일 | 역할 |
|---|---|
base.usda |
구조적 계층과 로봇 어셈블리 |
geometries.usd |
메시 토폴로지·정점 데이터만 |
instances.usda |
메시 참조, 머티리얼 적용, 충돌 표현 정의 |
materials.usda |
셰이더 바인딩·외형 |
robot.usda |
Isaac robot schema 및 메타데이터 관계 |
물리(Physics) 레이어
| 파일 | 역할 |
|---|---|
physics.usda |
중립 USD/Newton 설정 (rigid body, joint, articulation) |
physx.usda |
PhysX 전용 튜닝·API |
mujoco.usda |
MuJoCo 런타임 속성 |
선택적 기능: gripper.usda(엔드 이펙터), asset_control.usd(제어 그래프), asset_ros.usd(ROS 연동) 등
컴포지션(Composition) 전략
최종 에셋(asset.usd 또는 interface.usda)은 USD의 컴포지션 기능으로 위 컴포넌트를 결합합니다.
- Sublayers: 핵심 물리 설정 상속
- Payloads: 선택적 기능을 동적으로 로드
- References: 재사용 가능한 인스턴스·지오메트리
- Variants: 런타임에 물리 설정 전환
권장 폴더 구조
어떤 파일을 수정해야 할까?
| 변경 대상 | 수정 파일 |
|---|---|
| 지오메트리 | geometries.usd |
| 콜라이더(collider) | instances.usda |
| 로봇 메타데이터 | robot.usda |
| 엔진 공통 동역학 | physics.usda |
| 엔진별 튜닝 | physx.usda / mujoco.usda |
🔗 원문: Asset Structure
정리
- Reference Architecture: 제작 → 임포트 → 씬 구성 → 상호작용 → 활용의 5단계 파이프라인.
- Workflows: GUI(시각적 구축) / Extension(비동기·핫리로드) / Standalone Python(헤드리스·결정론적 제어), 세 가지가 같은 API를 공유.
- UI: Viewport·Stage·Property·Content Browser 중심의 도킹형 인터페이스.
- Asset Structure: 로봇 에셋을 소스/물리/선택 기능 레이어로 분리하고, Sublayer·Payload·Reference·Variant로 컴포지션.
다음 노트에서는 Base Applications(Isaac Lab, ROS 2, Synthetic Data Generation, Digital Twin)를 정리합니다.










