Curieux.JY
  • JungYeon Lee
  • Post
  • Lecture
  • Note

On this page

  • 🛠️ Development Tools
  • 🐍 Python Scripting and Tutorials
    • 핵심 클래스: World와 SimulationApp
    • Standalone 스크립트 표준 구조
    • 학습 리소스
  • 🖱️ GUI Reference
  • 🔗 OmniGraph
    • 동작 방식
    • IsaacSim에서 OmniGraph가 구동하는 시스템
    • 접근 방법
    • 커스텀 노드
  • 정리

📘 [IsaacSim 6.0] Development Components 정리

isaacsim
simulation
robotics
omnigraph
python
2026
IsaacSim 6.0.0 공식 문서 Development Components 섹션 학습 노트 — Development Tools(VS Code/Jupyter/Script Editor/MCP), Python Scripting(World·SimulationApp), GUI Reference, OmniGraph(비주얼 프로그래밍)를 정리합니다.
Published

June 8, 2026

Base Applications 노트에 이어, IsaacSim에서 실제 개발을 수행하는 데 쓰이는 Development Components(개발 구성요소)를 정리합니다. 개발 도구, Python 스크립팅, GUI, 그리고 비주얼 프로그래밍 엔진인 OmniGraph가 핵심입니다.

본 글은 NVIDIA 공식 문서를 학습하며 핵심을 한국어로 요약·정리한 노트입니다. 정확한 원문은 각 절 끝의 🔗 링크를 참고하세요.


🛠️ Development Tools

IsaacSim 개발에 활용되는 도구 모음입니다.

도구 역할
Visual Studio Code (VS Code) 소스 코드 조회·디버깅 통합
Python Server 원격 Python 코드 실행(Remote Code Execution)
Jupyter Notebook 노트북 기반 인터랙티브 Python 개발·실험
Omniverse Script Editor 애플리케이션 내장 스크립트 작성·실행 인터페이스
Isaac Sim MCP Server Model Context Protocol 서버 — 개발 워크플로우 향상
Carb Settings 수정 Carbonite 런타임 설정 파라미터 커스터마이즈

💡 빠른 코드 검증은 Script Editor·Jupyter로, 본격적인 개발·디버깅은 VS Code로, 외부 자동화는 Python Server/MCP로 — 목적에 맞게 도구를 조합합니다.

🔗 원문: Development Tools / Installation


🐍 Python Scripting and Tutorials

IsaacSim의 Python 스크립팅은 시뮬레이션을 프로그래밍적으로 제어하고, 씬을 구성하고, 로보틱스 워크플로우를 자동화합니다. 문서는 개념 → 코드 예제(snippets) → 튜토리얼 순으로 구성됩니다.

핵심 클래스: World와 SimulationApp

IsaacSim 스크립팅의 토대는 두 클래스입니다.

  • SimulationApp: 애플리케이션 라이프사이클과 렌더링 컨텍스트를 관리. 시뮬레이션을 초기화하는 시작점.
  • World: 씬 엔티티, 물리 시뮬레이션, 환경 전체 상태를 관리. 로봇·소품(prop) 추가, 물리 파라미터 설정, 스텝 단위 시뮬레이션 루프 실행.

Standalone 스크립트 표준 구조

# 1) SimulationApp 초기화 (가장 먼저!)
from isaacsim import SimulationApp
simulation_app = SimulationApp({"headless": True})

# 2) World 생성 및 씬 구성
from isaacsim.core.api import World
world = World()
# ... 로봇/에셋 추가, 물리 파라미터 설정 ...
world.reset()

# 3) 시뮬레이션 루프 (물리 스텝)
for i in range(1000):
    world.step(render=True)

# 4) 정리·종료
simulation_app.close()

⚠️ SimulationApp은 다른 IsaacSim 모듈을 import 하기 전에 가장 먼저 생성해야 합니다. 헤드리스 실행은 배치 처리·CI·대규모 학습에 적합합니다.

학습 리소스

  • Snippets: Scene Setup / Util / Robot Simulation(articulation 제어, 센서 통합) 등 기능별 재사용 코드
  • Tutorial Series: “Hello World”, “Hello Robot”부터 멀티 로봇, 소품 조작까지 단계적으로 확장하는 Core API 튜토리얼

🔗 원문: Python Scripting


🖱️ GUI Reference

GUI 레퍼런스는 Concepts 노트의 User Interface에서 다룬 패널 구성에 더해, 메뉴·환경설정(preferences)·선택 모드(selection mode)·키보드 단축키 등 GUI 사용 전반을 다룹니다.

  • Menus: Create / Window / Tools / Utilities / Layout 등 기능별 메뉴
  • Preferences: 렌더링, 물리, 단위, 자동 저장 등 환경설정
  • Selection Modes: prim 단위/모델 단위 등 선택 동작 전환
  • Keyboard Shortcuts: 변형·재생·포커스 단축키

🔗 원문: GUI Reference


🔗 OmniGraph

OmniGraph는 Omniverse의 비주얼 프로그래밍 프레임워크로, “Omniverse 내부의 여러 시스템 기능을 연결”하고 커스텀 노드를 위한 연산 엔진(compute engine) 역할을 합니다.

동작 방식

  • 노드(node) 가 연산 단위를 나타내며, 노드를 시각적으로 연결해 워크플로우를 구성
  • 효율적인 연산 백엔드(C++/Python)를 활용하면서 커스텀 기능을 시뮬레이션에 통합

IsaacSim에서 OmniGraph가 구동하는 시스템

  • Replicator (합성 데이터 생성)
  • ROS 2 Bridge
  • 센서 접근·처리
  • 로봇 컨트롤러
  • 외부 I/O 디바이스 관리
  • UI 자동화

접근 방법

Window > Graph Editors > Action Graph 메뉴에서 에디터를 열어 비주얼 연산 그래프를 작성합니다.

커스텀 노드

  • Python·C++ 양쪽으로 커스텀 노드 작성 가능
  • 외부 시스템 연동을 위한 IPC(Inter-Process Communication) 노드 구축 가능

💡 로보틱스 워크플로우에서 OmniGraph는 센서 데이터 파이프라인, 모터 제어 명령, 모션 플래닝 연동, 인지 시스템을 오케스트레이션하는 핵심 인프라입니다.

🔗 원문: OmniGraph


정리

  • Development Tools: VS Code·Jupyter·Script Editor·Python Server·MCP·Carb 설정으로 개발 환경 구성.
  • Python Scripting: SimulationApp(앱 라이프사이클) + World(씬·물리)가 두 축. Standalone 스크립트는 초기화 → 씬 구성 → 스텝 루프 → 종료 패턴.
  • GUI Reference: 메뉴·환경설정·선택 모드·단축키 등 GUI 전반.
  • OmniGraph: 노드 기반 비주얼 프로그래밍 엔진으로 Replicator·ROS·센서·컨트롤러를 연결.

다음 노트에서는 Robot and Sensor Simulation(임포터, 로봇 설정·시뮬레이션, 센서, 물리)을 정리합니다.

Copyright 2026, JungYeon Lee