ASE github 코드 환경 설정하기 - 1 [ASE: Large-Scale Reusable Adversarial Skill Embeddings for Physically Simulated Characters]
ASE라는 논문은 애니메이션 동작을 학습하는 논문 중 적대적 기법을 이용한 방법을 제안하는 논문이다.
논문에 대한 상세적인 내용은 생략하고 이 실험 코드를 세팅해볼 것이다.
Isaac Gym 설치
우선 물리 시뮬레이션 학습을 isaac gym이라는 엔비디아의 프로그램을 설치해달라고 되어있다.
하지만 이런.. deprecated되었다.
논문이 불과 2022 게시인데, 2022버전까지 isaac gym이 나오고 나서 다른 프로그램으로 변경되었다.
isaac lab이라는 것을 사용해야하나보다.
물론 이전 버전을 아카이브에서 다운받을 수 있는 모양이지만, 이렇게 된 거 isaac-sim으로 진행을 해보자.
Isaac Sim
isaac sim을 사용하기 위한 여러 세팅도 찾아보니 있는 모양이다.
하나의 엔진과도 같은 규모이기 때문에 좀 찾아보고 시도해보자.
Omniverse Launcher 설치
일단 옴니버스라는 런처를 설치해야한다.
Isaac Gym 한국어 자료
https://www.youtube.com/playlist?list=PL77aT3OTHDbV_1rSKGjcVTMSpdMPC44yp
... 좀 찾아보니 한국인 연구자분이 올려놓은 isaac gym 자료가 있었다.
isaac gym, isaac sim, isaac lab
많은데 어떤 것을 해야할지 아직은 모르겠으니, isaac gym으로 먼저 시도해보자.
Isaac Gym설치
다시 isaac gym을 설치하고 진행하자.
만약 이 방법이 안된다는게 입증되면 그때 다른 방법을 시도해보는 걸로.
deprecated 되었다는 창에서 archive 다운로드 버튼을 누른다.
밑에 라이선스 동의를 해주고.
isaac gym 다운로드를 받는다.
여기서 이후 나온 버전인 isaac sim의 경우 window를 지원하지만,
isaac gym은 윈도우 버전이 없으므로 윈도우에서는 WSL2로 ubuntu 환경을 만들고 진행할 것이다.
WSL2는 window powershell에서 다운 받고 업데이트 해주면 설치 가능하다.
WSL 설치
wsl --install
wsl --set-default-version 2
powershell에서 WSL 2 설치
sudo apt update && sudo apt upgrade
계정 생성 후 apt 업데이트
WSL로 우분투를 정상적으로 설치하였다면,
파일 탐색기에서도 찾을 수 있는데,
다운로드 받은 isaac gym tar.gz 파일을 WSL ubuntu 환경으로 옮겨준다.
Isaac Gym 설치
조금 걸리는게 있다면 isaac gym의 제공 버전은 ubuntu 18.04, 20.04 인데
현재 WSL로 설치한 ubuntu가 22.04인 것이다.
불안하긴 하지만 시도해보자.
tar -xf IsaacGym_Preview_4_Package.tar.gz
isaac gym 패키지를 푼다.
풀면 내부 구조는 이렇게 되어있다.
Isaac Gym test
테스트를 해보는 방법이 있다는데,
일단 모듈 설치를 하자.
conda 환경 만들기
conda create --name issacgym python=3.8
conda activate issacgym
Issac Gym Install
index.html 로 docs 페이지를 들어가면 설치 방법을 알려준다.
pip install -e .
python 폴더로 들어가서 pip로 설치.
pip show isaacgym
이렇게 isaacgym 설치를 확인한다.
그리고 python joint_monkey.py를 실행해봤지만, 안된다.
conda 환경 재설정
보니까 isaac gym에서 제공하는 conda 생성 코드가 있었다.
./create_conda_env_rlgpu.sh
이걸로 실행해보자.
https://ricespoon.tistory.com/m/42
참고로 한국어 사용자 중에서도 isaac gym에 대한 참고할 만한 포스팅이 꽤나 많았다.
역시 로봇 공학 분야와 관련된 툴이라서 그런가?
여기서도 흔히 발생하는 아나콘다 에러들에 대해서 다루고 있는데 많은 도움이 될 것 같다.
conda activate rlgpu
설치가 되었다면 만든 환경 rlgpu로 들어가자
isaac gym example 실행
이 환경에서 다시 예제를 실행해보자.
여전히 libpython3.7m.so.1.0 에러가 난다.
아까 참고한다는 포스팅에 이 에러에 대한 해결책을 제시해주었다.
sudo apt install libpython3.7
apt로 libpython을 설치한다는 것.
하지만 아쉽게도 ubuntu 20.04 버전부터 해당 라이브러리는 없다고 한다.
\home\사용자명\anaconda3\envs\rlgpu\lib
찾아보면 이 위치에 libpython3.7이 있어서 export 명령어로
export LD_LIBRARY_PATH=/home/사용자명/anaconda3/envs/rlgpu/lib
이렇게 설정해주면,
이전의 에러는 해결 되었지만, 또 다른 에러다.
nvidia-smi를 통해 확인해보니 driver버전이 470.73인데,
GPU driver가 470.74 이상이어야 한다는 내용이 있었다.
근데 영상을 보면 그게 문제는 또 아닌 것 같다.
문제 원인
https://forums.developer.nvidia.com/t/isaac-gym-on-windows-subsystem-for-linux-wsl/201208/3
isaac gym 포럼을 좀 보면 window subsystem WSL에서는 지원하지 않는다는 말이 있다.
그래서 추천하는 방식이 dual booting을 해보라고 한다.
듀얼 부팅이라.. 한 번도 해본 적은 없지만, 어려울 것 같진 않다.
https://forums.developer.nvidia.com/t/wsl2-and-isaac-gym-problem/192069
여기에 나와 동일한 에러가 나는 사람도 있었다.
해결 방법
일단 정리하자면, 포럼에서도 많은 사람들이 WSL2로 시도하였지만, 다들 실패하였다.
할 수 있는 방법은
첫 번째 듀얼 부팅으로 ubuntu를 설치하는 것.
두 번째 isaac sim으로 실행하는 방법을 찾는 것.
일단 첫번 째 방법을 위해서 듀얼 부팅을 해보자.