티스토리 뷰

글을 수정하는 현재(22년 1월 30일), 21년 12월 16일에 무조코 버전이 2.1.1로 배포되었기 때문에

mac OS에서 무조코 버전이 2.1.1 일 때, mujoco-py를 어떻게 설치하는지에 대한 글을 추가하였습니다.

Let's do MuJoCo - 1.1 Mujoco 2.1.1, mujoco-py 사용 방법 글을 참고하길 바랍니다.

 

Let's do MuJoCo - 1.2 Mujoco 2.1.1 설치 및 mujoco-py 사용 방법

이번 글은 M1 칩이 장착된 맥북에서 mujoco-py를 어떻게 사용하는지에 대해 정리한 글이다. 21년 12월 16일 딥마인드에서 무조코 버전 2.1.1을 Release 하였다. 아래 주소로 들어가면 Release 내용을 볼 수

ropiens.tistory.com

 

이번 게시물의 목표는 Mujoco와 mujoco-py를 설치하는 것이다.

필자는 Mac OS 환경에서 mujoco 2.1.0 버전을 설치하였으며, 설치 방법은 정말 간단하다.

1. Mujoco 설치

1-1. Mujoco version 2.1.0 바이너리 파일 다운로드

아래의 홈페이지로 들어가 해당 OS에 맞는 바이너리 파일을 설치하자.

 

MuJoCo — Download

Free, unrestricted, precompiled binaries are available under the Apache 2.0 license. The latest version of MuJoCo is 2.1.0. Binaries for platforms other than x86-64 are not yet available. If you require these, please let us know by filing an issue on GitHu

mujoco.org

현재 Mujoco의 최신 버전은 2.1.0이며(21.12.16일 이후 최신 버전은 2.1.1), 2.0.0 이하 버전을 설치하려면 아래의 홈페이지에서 다운받아야 한다. 버전이 2.0.0 이하의 경우 라이센스 키가 필요하므로, 라이센스 키까지 다운받아야 한다.

 

Download

This page contains legacy MuJoCo releases from Roboti LLC (versions 2.0 and earlier) followed by the list of changes. These versions require an activation key. A free license with unlocked activation key is available at the License page. New releases from

roboti.us

1-2. ~/.mujoco 숨김 폴더에 복사

  • 압축된 바이너리 파일을 해제하고 Home 경로에 .mujoco라는 숨김 폴더를 만든다.
  • 숨김 폴더 안에 해제된 바이너리 파일을 .mujoco 폴더로 복사하거나 옮긴다.
    $ mkdir ~/.mujoco
    $ cp -r mujoco210 ~/.mujoco/

1-3. Mujoco 시뮬레이터 데모 실행하기

  • bin 디렉토리 안에 있는 simulate 실행 파일을 실행한다.
    $ cd ~/.mujoco/mujoco210/bin
    $ ./simulate ../model/humanoid.xml​
  • 위 명령어를 입력 후 아래와 같이 진행이 되면 mujoco 설치가 잘 된 것이다.

실행 화면


2. Mujoco-py 설치

아래의 github 페이지로 들어가면 설치 방법에러 해결 방법이 자세히 나와있다.

 

GitHub - openai/mujoco-py: MuJoCo is a physics engine for detailed, efficient rigid body simulations with contacts. mujoco-py al

MuJoCo is a physics engine for detailed, efficient rigid body simulations with contacts. mujoco-py allows using MuJoCo from Python 3. - GitHub - openai/mujoco-py: MuJoCo is a physics engine for det...

github.com

2-1.  Anaconda 가상 환경 구축하기

Local 환경에서 설치해도 되지만 필자는 아나콘다에서 설치를 진행하였다.

아나콘다 개념과 활용 방법을 알고 싶다면 아래의 블로그를 참고하면 된다.

 

[Anaconda] 아나콘다 가상환경의 개념 및 활용방법

가상환경이 도대체 뭘까? 그리고 어떻게 쓰는 걸까?

yganalyst.github.io

 

2-1.1 아나콘다 설치

 

Anaconda | Individual Edition

Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

2-1.2 가상환경 생성

$ conda create -n conda_mujoco210 python=3.7

2-1.3 가상환경 활성화

$ conda activate conda_mujoco210

2-2.  mujoco-py 패키지 설치

$ pip install -U 'mujoco-py<2.2,>=2.1'

2-3.  Sample Code 작성하기

아래의 코드를 입력했을 때 아무런 에러없이 print문 결과가 나오게 된다면 설치 성공이다.

그러나 대부분의 경우 에러가 나올 것이며, 당황하지 말고 2-4의 방법을 따르자.

$ python3
import mujoco_py
import os
mj_path = mujoco_py.utils.discover_mujoco()
xml_path = os.path.join(mj_path, 'model', 'humanoid.xml')
model = mujoco_py.load_model_from_path(xml_path)
sim = mujoco_py.MjSim(model)

print(sim.data.qpos)

sim.step()
print(sim.data.qpos)

2-4. 에러 해결

2-4.1 Mac OS

위 2-3 처럼 python 코드를 작성해서 실행했음에도 에러가 날 경우 아래와 같이 의존 라이브러리를 설치하고 bashrc 또는 zshrc에 설치 경로를 추가한다.

# 의존 라이브러리 설치
$ brew install llvm
$ brew install boost
$ brew install hdf5

$ vi ~/.bashrc
# 맨 아래로 가서 i를 눌러 끼워넣기 모드로 변경
# 아래의 내용 복사 하기
------------------------------------------
export PATH="/usr/local/opt/llvm/bin:$PATH"

export CC="/usr/local/opt/llvm/bin/clang"
export CXX="/usr/local/opt/llvm/bin/clang++"
export CXX11="/usr/local/opt/llvm/bin/clang++"
export CXX14="/usr/local/opt/llvm/bin/clang++"
export CXX17="/usr/local/opt/llvm/bin/clang++"
export CXX1X="/usr/local/opt/llvm/bin/clang++"

export LDFLAGS="-L/usr/local/opt/llvm/lib"
export CPPFLAGS="-I/usr/local/opt/llvm/include" 
------------------------------------------
# 복사 후 esc 또는 ctrl+[ 누른 후 :wq 입력 후 엔터​

 

만약 아래의 경고가 나오게 된다면 mujoco210/bin 디렉토리 안에 있는 glfw 라이브러리와 Homebrew로 설치한 glfw 라이브러리가 충돌이 일어나서 생기는 경고이다.

매번 실행 할 때 마다 이 경고문을 보는게 찝찝하다면 glfw 라이브러리를 하나로 통일하자.

mujoco210/bin 디렉토리 안의 glfw 라이브러리를 삭제하거나 확장자명을 바꿔준 후 /usr/local/Cellar/glfw/3.3.4/lib 디렉토리 안의 glfw 라이브러리로 심볼릭 링크(Symbolic link)를 걸어주었다.

$ cd ~/.mujoco/mujoco210/bin
$ mv libglfw.3.dylib libglfw.3.dylib.backup
$ ln -s /usr/local/Cellar/glfw/3.3.4/lib/libglfw.3.3.dylib .​

 

또한, 아나콘다에서 mujoco-py를 설치한 경우라면 위의 방식대로 해결을 해도 같은 에러가 나오는데, 아나콘다에 설치되어 있는 glfw 라이브러리를 위의 방법과 동일하게 적용하자.

mac의 경우 locate 명령어를 이용해서 쉽게 파일을 찾을 수 있으므로 해당 경로에 가서 심볼릭 링크를 걸어주자.

$ locate libglfw.3.dylib​

2-4.2 Ubuntu 20.04 or 18.04

우분투에서 mujoco-py를 설치한 후 예제 코드를 실행하면 GLEW 라이브러리 관련 에러가 나오는데 

ERROR: GLEW initalization error: Missing GL version

 

해당 라이브러리를 preload 시켜주면 된다.

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so

 

이상으로 MuJoCo와 mujoco-py 설치하는 방법을 마무리한다.

만약 다른 에러가 나와 해결하는게 어렵거나 어떤 문제가 있다면 댓글을 통해 같이 해결해 나가보자.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31