Omniverse
엔비디아에서 제공하는 강력한 툴이다.
로봇 강화학습하기 좋으니, 우리도 한번 써 보자.
1단계: 리눅스 환경 준비 및 파이썬 3.10 설치
# 1. 기존 아나콘다 환경 확실히 끄기
conda deactivate
# 2. 파이썬 3.10 및 venv 필수 모듈 설치sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
sudo apt install python3.10 python3.10-venv python3.10-dev -y
sudo apt install git
# 3. 가상환경 생성 및 활성화
python3.10 -m venv robot_sim
source robot_sim/bin/activate
# 4. 파이썬 버전 최종 확인 (여기서 반드시 Python 3.10.x 가 출력되어야 함)
python -V
2단계: Isaac Sim 코어 및 Isaac Lab 설치
# 1. pip 업데이트 및 Isaac Sim 코어 설치
pip install --upgrade pip
pip install "isaacsim[all,extscache]==4.5.0.0" --extra-index-url https://pypi.nvidia.com
# 2. Isaac Lab 저장소 복제 및 리눅스 전용 설치 스크립트 실행
git clone https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab
# 의존성 패키지 설치./isaaclab.sh --install
3. 실행 테스트
python -c "import isaacsim; print('suc')"
4. 이것 저것 테스트
# 빈공간 띄우기
./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py
# 로봇개 띄우기
./isaaclab.sh -p scripts/demos/quadrupeds.py
# 데모 파일 목록 확인하기
ls scripts/demos/
# 튜토리얼 파일 목록 확인하기
ls scripts/tutorials/
5. 만일, 앞서 내가 한 방법인 VNC로 보고 있다면?
이러면 또 GPU 가속 오류 나면서 안켜진다.
이럴땐, 뒤에 다음을 붙여보자.
--livestream 2
예를 들면,
./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py --livestream 2
이런식으로.
저러면 잘 열릴 것이다.
끄는 방법은, 컨트롤 c , 컨트롤 백슬래시로 꺼야 한다.
아래를 실행에서 어디서 앱이 열려있는지 확인하자.
ss -tulpn | grep python
나온 결과의 포트를 뒤 포트에 입력하는걸로 접속할 수 있다.
- 만일, 본체에 글카다 두 개 라면,
CUDA_VISIBLE_DEVICES=1 ./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py --livestream 2이러면 다른 글카로 켜지게 된다. 나이스
6. 이제 크롬에서 접속을 진짜 해 보자.
이거도 방법이 두 개가 있다. 먼저, 이걸 시도해 보자.
- 노트북에서 열기
삽질을 엄청 했는데도 접속이 안된다.
방법은 따로 있는데, 우선 아래 링크로 들어가자.
링크
더 정확히는, 아래의 링크이다.
더 정확한 링크
여기서 Isaac Sim WebRTC Streaming Client 이걸 다운받고 설치하면 된다.
영상이 지나갈 포트를 잘 열어주고,
# 1. 시그널링 및 데이터 전송 포트 허용
sudo ufw allow in on tailscale0 to any port 49100:49200 proto udp
sudo ufw allow in on tailscale0 to any port 49100:49200 proto tcp
# 2. 스트리밍 기본 제어 포트 허용
sudo ufw allow in on tailscale0 to any port 8011 proto tcp
# 3. 설정 적용
sudo ufw reload
1이 안되면, 그냥 리눅스에 뷰어 깔아서 리눅스로 봐야 방화벽 DISCONNECT 문제를 해결할 수 있다.
- 리눅스에 깔아서 해 보기
아까 더 정확한 링크 에 들어가서 리눅스 버전을 다운 받자.
이어서, 아래를 리눅스 cmd에 치면 된다.sudo apt update sudo apt install libfuse2 -y cd ~/Downloads chmod +x isaacsim-webrtc-streaming-client-1.1.5-linux-x64.AppImage ./isaacsim-webrtc-streaming-client-1.1.5-linux-x64.AppImage --no-sandbox ./isaacsim-webrtc-streaming-client-1.1.5-linux-x64.AppImage
위 명령어 치면 리눅스에서 열리긴 한다.
하지만, 아쉬우니, 다음엔 DISCONNECTON 문제를 해결해서 와 봐야 겠다.