Robotics RL Setup Tutorial

Robotics RL Setup Tutorial

2월 26일 공개된 Open AI의 robotics를 위한 environment인 FetchSlide 등을 설치하는 튜토리얼이다. 주변에 설치 과정이 조금 까다롭다고 하는 사람들이 있어서 그분들을 위해 준비해 보았다. (현재 계속 업데이트 중이다.)(Ubuntu 16.04 기준)

글을 쓰고 있는 이 시점 openai의 새 environment가 update된지 14일 정도가 지났다. 따끈따끈한 최신 버전으로 받아서 설치하도록 하자.

img 14일 전 공개된 robotics environment들. 아직 따끈따끈하다.

GYM 설치하기

git clone https://github.com/openai/gym.git
cd gym
pip install -e .
apt-get install -y python-numpy python-dev cmake zlib1g-dev libjpeg-dev xvfb libav-tools xorg-dev python-opengl libboost-all-dev libsdl2-dev swig
pip install -e '.[all]'
pip install 'gym[all]'

baselines 설치하기

HER 알고리즘 등을 사용하기 위해서 최신 버전으로 업데이트해보자.

git clone https://github.com/openai/baselines.git
cd baselines
pip install -e .

MuJoCo 설치하기

분명히 mjmodel.h파일이 없다는 에러가 뜰 것이다. 그 이유는 MuJoCo는 pip로 설치하는 것이 아니고 다음의 웹사이트에서 따로 설치해야 하기 때문이다. (http://www.mujoco.org/) 이제 몇 가지 선택지가 있는데,

  1. 당신은 학생인가? —> 축하한다. 당신은 공짜로 사용가능하다.
  2. 아니면 기업 소속 연구원인가? —> 축하한다. 회사에서 라이선스를 구입해 준다면.

MuJoCo는 학생의 경우 1년 단위로 무료 라이선스를 제공한다. ac.kr 또는 다른 edu가 붙은 이메일로 메일을 보내보자. 나의 경우 회신이 오는데 삼일 정도 걸렸다.

/home/{username}/.mujoco/ 디렉터리에 mjpro150을 넣어주고, mjkey.txt.mujoco/bin에 넣어준다. 이제 bin폴더 안에서

./simulate ../model/humanoid.xml

을 실행해보자. 작동하는가?

# export LD_LIBRARY_PATH=$HOME/.mujoco/mjpro150/bin:$LD_LIBRARY_PATH

GLEW initialization error: Missing GL version

다음과 같은 에러가 뜬다면: GLEW initalization error: Missing GL version python에서 LD_PRELOAD를 이용하여 미리 다른 라이브러리들을 먼저 로드하는 것이 필요할 수 있다.

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so:/usr/lib/nvidia-384/libGL.so

즉 실제로는

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so:/usr/lib/nvidia-384/libGL.so python -m baselines.her.experiment.train

vglrun을 쓴다면

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so:/usr/lib/nvidia-384/libGL.so vglrun python -m baselines.her.experiment.train

와 같은 방법으로 해결할 수 있다.

patchelf 관련 문제

“GLEW initialization error”가 뜬다면 patchelf의 문제를 생각해 볼 수 있다. 내부적으로 patchelf의 –add-needed 옵션을 사용하게 되는데, patchelf 0.8버전에는 이 옵션이 없어 에러가 날 수 있다. NixOS PatchELF에서 받아서 컴파일하던지 해서 0.9 버전으로 받아서 다시 해보자.

Author face

B-Boy Seiok

Pianist, B-Boy, street artist

Recent post