728x90
파이썬 스크립트에서 Isaac Sim을 import하여 관련 기능들을 사용하고 싶을 때가 있다. 글 작성 시점 기준 공식 가이드 문서에서는 아직 실험 단계라는 주의를 주기는 하지만 파이썬 패키지 매니저의 일종인 PIP을 사용하여 몇몇 Isaac Sim 관련 패키지들을 설치할 수 있다.
이 글에서는 아나콘다 파이썬 환경에서 pip
를 사용하여 Isaac Sim을 설치하고 사용하는 방법을 다룬다.
Notes
- Isaac Sim은 파이썬 버전 3.10을 권장한다.
- Linux에서 설치 시, PIP이 Isaac Sim 관련 파이썬 패키지들을 찾고 설치하기 위해서는 GLIBC 2.34+ (manylinux_2_34_x86_64)에 대한 버전 상호호환성이 요구된다.
ldd --version
명령어를 사용하여 GLIBC 버전을 확인하자. - Windows에서 설치 시, OS limitations에 따른 설치 오류를 방지하기 위해 long path support를 활성화시켜야 할 수 있다.
1. PIP를 사용한 Isaac Sim 설치
설치 문서에 따르면 virtualenv와 Anaconda 환경에 대한 방법이 모두 있지만, 본 글에서는 Anaconda 가상 환경에서의 설치 방법을 따른다.
1) 가상환경 생성 및 활성화 (선택적이지만, 가상환경 상에서 설치하는 것을 적극 권장)
conda create -n env_isaacsim python=3.10
conda activate env_isaacsim
가상환경을 활성화하고 나서 설치를 진행하기 전에 pip가 업데이트 된 상태인 것을 확인하자. 업데이트 되지 않았다면 pip install --upgrade pip
명령어를 실행해 업데이트 할 수 있다.
2) Isaac Sim 파이썬 패키지 설치
pip install isaacsim[BUNDLE]==4.5.0 --extra-index-url https://pypi.nvidia.com
BUNDLE
을 변경하여 선택적으로 패키지 설치를 진행할 수 있다:
all
: 모든 메인 파이썬 패키지들 설치extscache
: Omniverse extension dependencies를 캐싱하는 패키지들 설치. Isaac Sim은 메인 파이썬 패키지에 포함되지 않은 여러 Omniverse extensions에 의존적이다. 이러한 종속성은 런타임에 발견되지 않으면 요청 시 Omniverse registry에서 다운로드된다. 하지만BUNDLE
을extscache
로 설정한 명령어를 실행해 이러한 종속성을 수동으로 설치하면 향후 레지스트리에서 다운로드하는 것을 방지할 수 있다.rl
: 강화학습(RL)을 위한 Isaac Lab에서 요구되는 패키지들 설치ros
: ROS 통합을 위한 모든 패키지들 설치ros2
: ROS 2 통합을 위한 모든 패키지들 설치
예를 들어, 전체 패키지 설치를 진행하고자 한다면 다음과 같이 명령어를 실행한다.
pip install isaacsim[all]==4.5.0 --extra-index-url https://pypi.nvidia.com
# 메인 파이썬 패키지들에 포함되지 않은 몇몇 Omniverse extensions 설치
pip install isaacsim[extscache]==4.5.0 --extra-index-url https://pypi.nvidia.com
특정 패키지만 설치하고 싶다면 다음의 명령어에서 PACKAGE_SUBNAME
부분에 원하는 패키지 이름을 입력하여 실행한다.
pip install isaacsim-PACKAGE_SUBNAME==4.5.0 --extra-index-url https://pypi.nvidia.com
2. Isaac Sim 실행
Isaac Sim을 사용하려면 Omniverse 라이선스 계약 (EULA)에 동의하고 수락해야 한다. EULA는 시스템 환경 변수 OMNI_KIT_ACCEPT_EULA
를 YES
(Y
나 1
도 가능)로 설정하는 방법 또는 프롬프트에 응답하는 방법 두 가지로 수락할 수 있다.
- 터미널에서 시스템 환경 변수 설정
export OMNI_KIT_ACCEPT_EULA=YES
- 파이썬 스크립트에서 환경 변수 설정
import os
os.environ["OMNI_KIT_ACCEPT_EULA"] = "YES"
- Isaac Sim을 처음 실행할 때 표시되는 동의 요청 메시지에서 직접 수락 가능: Yes 입력
By installing or using Omniverse Kit, I agree to the terms of NVIDIA OMNIVERSE LICENSE AGREEMENT (EULA)
in https://docs.omniverse.nvidia.com/platform/latest/common/NVIDIA_Omniverse_License_Agreement.html
Do you accept the EULA? (Yes/No):
예)
$ python
Python 3.10.16 (main, Dec 11 2024, 16:24:50) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from isaacsim.simulation_app import SimulationApp
By installing or using Omniverse Kit, I agree to the terms of NVIDIA OMNIVERSE LICENSE AGREEMENT (EULA)
in https://docs.omniverse.nvidia.com/platform/latest/common/NVIDIA_Omniverse_License_Agreement.html
Do you accept the EULA? (Yes/No): Yes
The EULA was accepted.
>>> simulation_app = SimulationApp({"headless": True})
>>> ## perform any Isaac Sim / Omniverse imports after instantiating the class
>>> ## Warning: Calling the `SimulationApp.close` method on notebooks causes a kernel interruption and termination.
728x90
댓글