#1 Isaac Gym (Part 1: Introduction and Getting Started)
Manipulation강의를 들으면서 Duke를 통한 Simulation 이해와 조작 방법을 배울 수 있지만,
아무래도 커스텀 모델을 넣고 돌려보고 싶은 상황에서는, 다른 Simulation tool을 사용해야 하지 않을까 싶었다.
그래서 처음엔 Mujoco를 활용하려 했는데, conda 환경에 따른 설치 경로 안내가 생각보다 불편해서
근 3일간 굉장한 고통을 겪었다. (sudo install lib시리즈도 안 먹더라..)
그래서 새로운 환경을 찾고자 여러 곳을 알아본 끝에 PhysX를 기반으로 한, NVIDIA의 Issac Gym을 찾았다.
어떤 부분에서 더 낫다 하는, 객관적인 자료를 찾지는 못했지만 첫 강의에서 Mujoco보다 더 나은 부분이 몇 부분 있다고 설명한다.
다른 평가를 더 들어보고 환경을 선정하려 했지만, 튜토리얼 강의도 많이 있고 무엇보다 설치가 굉장히 간편해서
Isaac을 선택하게 됐다.
#2 Install
설치 과정은 굉장히 단순했다.
위와 같이 검색한 후 최상단에 있는, 링크를 클릭한다.
이후에는 NVIDIA 개발자로 로그인을 해야 하는데, 메이플 스토리 아이디 만들기보다 더 간단한 과정이라
이 부분은 생략하고
Member area를 누르고 동의를 누르면
파일 하나를 다운로드할 수 있게 된다.
기재된 스펙과 동일하게 우분투에서만 사용이 가능하다고 한다.
다운로드한 파일은 경로에 관계없이 IsaacGym_Preview_3_Package 안에서 전부 실행 가능하게 설정돼 있다.
이 부분이 Mujoco와는 다르게 굉장히 편리했다.
이후 환경설정으로 나만의 가상 환경을 만들어 사용했는데
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으로 수정을 해봤는데,
수정이 되질 않아서
아래와 같이 고쳐서 한번 시도해보았더니 잘 됐다. (아직 까진 따로 버그를 찾지 못했습니다.)
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가 납니다.
해결해보려 했으나 공부하는시간이 더 소중해서 그냥 원하는 디렉토리에 새로 설치했습니다.
'Isaac Gym' 카테고리의 다른 글
시뮬레이션 하고 싶다. #4-1 [Isaac Gym Environments for Legged Robots-Anymal] (1) | 2022.01.16 |
---|---|
시뮬레이션 하고 싶다. #3-2 [Make Custom Gym (Part 2)] (2) | 2022.01.07 |
시뮬레이션 하고 싶다. #3-1 [Make Custom Gym (Part 1)] (1) | 2022.01.05 |
시뮬레이션 하고 싶다. #2-2 [Environments, Training, and Tips] (0) | 2021.12.26 |
시뮬레이션 하고 싶다. #2-1 [Environments, Training, and Tips] (0) | 2021.12.26 |