본문 바로가기

Isaac Gym

시뮬레이션 하고 싶다. #1 [Install]

728x90

#1 Isaac Gym (Part 1: Introduction and Getting Started)

Isaac Gym의 RL이 어떻게 돌아가는지

Manipulation강의를 들으면서 Duke를 통한 Simulation 이해와 조작 방법을 배울 수 있지만,

아무래도 커스텀 모델을 넣고 돌려보고 싶은 상황에서는, 다른 Simulation tool을 사용해야 하지 않을까 싶었다.

그래서 처음엔 Mujoco를 활용하려 했는데, conda 환경에 따른 설치 경로 안내가 생각보다 불편해서 

근 3일간 굉장한 고통을 겪었다. (sudo install lib시리즈도 안 먹더라..)

 

그래서 새로운 환경을 찾고자 여러 곳을 알아본 끝에 PhysX를 기반으로 한, NVIDIA의 Issac Gym을 찾았다.

어떤 부분에서 더 낫다 하는, 객관적인 자료를 찾지는 못했지만 첫 강의에서 Mujoco보다 더 나은 부분이 몇 부분 있다고 설명한다.

다른 평가를 더 들어보고 환경을 선정하려 했지만, 튜토리얼 강의도 많이 있고 무엇보다 설치가 굉장히 간편해서

Isaac을 선택하게 됐다. 

 

#2 Install 

설치 과정은 굉장히 단순했다. 

Google에 검색

위와 같이 검색한 후 최상단에 있는, 링크를 클릭한다. 

이후에는 NVIDIA 개발자로 로그인을 해야 하는데, 메이플 스토리 아이디 만들기보다 더 간단한 과정이라

이 부분은 생략하고

Member area 클릭

Member area를 누르고 동의를 누르면 

Isaac Gym - Ubuntu ~ 클릭

파일 하나를 다운로드할 수 있게 된다.

기재된 스펙과 동일하게 우분투에서만 사용이 가능하다고 한다. 

 

다운로드한 파일은 경로에 관계없이 IsaacGym_Preview_3_Package 안에서 전부 실행 가능하게 설정돼 있다.

이 부분이 Mujoco와는 다르게 굉장히 편리했다. 

 

이후 환경설정으로 나만의 가상 환경을 만들어 사용했는데 

IsaacGym_Preview_3_Package/issacgym/docs 디렉토리

docs에 가보면 index.html 파일을 열어서 nvidia에서 제공하는 Document를 볼 수 있다.

일단 설치하고 싶으니까 Install.html을 선택해도 된다.

 

Installation에 들어가면 아래와 같이 나온다. 

설치 방법

잘은 모르지만, 몇 번의 Mujoco실패의 경험을 통해 알아낸 것은

1. pip install -e. <- 해당 커맨드는 setup.py가 있는데서 먹히는 거 같다.

2. conda 환경을 만들고 싶다면 issacgym 디렉터리에서 'install in a new conda environment' 부분을 참조하면 된다.

 

나는 콘다 애호가 이기 때문에 ./create_conda_env_rlgpu.sh를 사용하여 환경을 구축했다.

그리고 rlgpu라는 말이 좀 와닿질 않아서 제시된 방법대로 환경 이름을 ISAAC으로 수정을 해봤는데, 

수정이 되질 않아서 

아래와 같이 고쳐서 한번 시도해보았더니 잘 됐다. (아직 까진 따로 버그를 찾지 못했습니다.)

conda env 이름 정하기

Line 6의 ENV_NAME을 "ISAAC"으로 바꾸었고,

Line 24의 conda env create 구문에 -n "${ENV_NAME}" 을 추가했다.

 

이후에 위에서 제시된 ./create_conda_env_rlgpu.sh 를 터미널에서 실행하면 아주 잘 되는 것을 볼 수 있었다.

 

잘 설치 됐는지 궁금하기 때문에, 경로를 isaacgym/python/examples 으로 설정하고

>> python joint_monkey.py

를 실행하면 

예제 코드

위의 그림과 같이 분필로 만든거 같은 친구들이 나와서 관절부마다 연골이 잘 붙어 있다는것을 보여준다.

#3 앞으로의 계획

일단 시뮬레이션도 잘 깔았겠다. 앞으로는 MIT 강의를 병행하면서 Sim내에서의 Rigid Body들은 어떤 문법으로 어떻게 소통하는지 정리해보고, 이후에는 Drake에 의존하지 않고 나만의 NVIDA환경에서 예제들을 풀어보고자 한다.

오늘부터 첫 강의 #1 Isaac Gym (Part 1: Introduction and Getting Started)를 들어보려 한다. 

설치하면서 맛보기로 한번 봤는데, 첫 강의는 대대적인 개요와 왜 NVIDIA가 좋은가 또 그 외 특징 및 작동 회로에 대한 설명이라

아마 실습 위주는 2강부터 있지 않을까 싶다. 

 

오류

(2021-12-29)

1. 중간에 디렉토리를 옮기면 isaacgym error가 납니다. 

해결해보려 했으나 공부하는시간이 더 소중해서 그냥 원하는 디렉토리에 새로 설치했습니다.