Gazebo 환경에서 강화학습을 돌리기 위해 gym 환경으로 인터페이싱(interfacing) 하는 과정이 필요했다.

gym에서 제공해준 환경 템플릿에 맞게 환경을 만들어 파이썬 파일(.py)로 저장 후 import하여 사용하는 것도 가능하지만, 다른 기존 환경들처럼 gym.make 함수를 통해 환경을 불러오고 싶다면 gym에 환경을 등록해 주어야 한다.

gym github에 있는 docs 중 creating-environment.md를 참고하면 새로운 gym 환경을 만들고 등록할 수 있다.

예시

‘gym-foo’라는 새로운 환경을 만들고 등록하고자 한다면 gym-foo 폴더를 만들고 다음과 같이 구성한다.

gym-foo/    
  README.md   
  setup.py    
  gym_foo/    
    __init__.py   
    envs/   
      __init__.py   
      foo_env.py    
      foo_extrahard_env.py    

각 파일들은 다음과 같이 구성한다.

gym-foo/setup.py

gym-foo/gym_foo/init.py

gym-foo/gym_foo/envs/init.py

gym-foo/gym_foo/envs/foo_env.py

위와 같이 구성을 완료하였으면 pip install을 통해 환경을 설치한다.

pip install -e gym-foo

python을 실행시켜 환경이 제대로 등록되었는지 확인한다.

import gym
gym.make(‘gym_foo:foo-v0’)

댓글남기기