Code Monkey home page Code Monkey logo

gym-navops's Introduction

gym-navops

GitHub Actions CI Python 3.8

import gym
import gym_navops

env = gym.make('NavOps-v0')
env = gym.make('NavOpsDiscrete-v0')
env = gym.make('NavOpsMultiDiscrete-v0')

# For more details..
env = gym.make(
    'NavOps[[Multi]Discrete]-v0',
    worker_id=0,
    base_port=None,
    seed=0,
    no_graphics=False,
    mock=False
)

gym-navops's People

Contributors

rapsealk avatar sourcery-ai-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

sourcery-ai-bot

gym-navops's Issues

[WIP-006] SkipFrame 구현

30 fps로 실행되는 환경에서 매 프레임마다 Decision Making을 수행하게 되면 state의 차이가 크지 않아 불필요한 action이 중복된다.
이러한 문제를 개선하기 위하여 SkipFrame을 구현하고자 한다.

[WIP-003] UnityTimeOutException이 발생하는 경우

env.step()을 호출하는 과정에서 UnityTimeOutException이 발생한다.

아래는 에러 로그를 첨부한다.

Traceback (most recent call last):
  File "C:\Users\$Env:USERNAME\AppData\Local\Programs\Python\Python38\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File ".\main_lstm.py", line 185, in run
    next_obs, reward, done, info = self._env.step(actual_action)
  File "c:\users\$Env:USERNAME\desktop\git\gym-rimpac\gym_rimpac\envs\rimpac_env.py", line 84, in step
    self._env.step()
  File "C:\Users\$Env:USERNAME\AppData\Local\Programs\Python\Python38\lib\site-packages\mlagents_envs\timers.py", line 305, in wrapped
    return func(*args, **kwargs)
  File "C:\Users\$Env:USERNAME\AppData\Local\Programs\Python\Python38\lib\site-packages\mlagents_envs\environment.py", line 320, in step
    outputs = self._communicator.exchange(step_input)
  File "C:\Users\$Env:USERNAME\AppData\Local\Programs\Python\Python38\lib\site-packages\mlagents_envs\rpc_communicator.py", line 118, in exchange
    self.poll_for_timeout()
  File "C:\Users\$Env:USERNAME\AppData\Local\Programs\Python\Python38\lib\site-packages\mlagents_envs\rpc_communicator.py", line 96, in poll_for_timeout
    raise UnityTimeOutException(
mlagents_envs.exception.UnityTimeOutException: The Unity environment took too long to respond. Make sure that :
         The environment does not need user interaction to launch
         The Agents' Behavior Parameters > Behavior Type is set to "Default"
         The environment and the Python interface have compatible versions.

WIP-002: 테스트 편의성을 위한 Mock 환경

기존의 Rimpac-v0 환경은 실행 시 Unity를 로딩하는 과정이 필요하기 때문에 고정적인 시간을 소모한다.
이를 개선하기 위하여 논리적으로 동일한 input/output을 실행하는 Mock 환경을 구현하고자 한다.

[WIP-008] ML-Agents를 gRPC로 대체

현재 Unity 게임 환경과 Python 모델 간의 통신을 위하여 사용하는 ML-Agents 모듈은 불안정한 문제를 가지고 있다.
이를 개선하기 위하여 gRPC 기반 통신으로 대체한 후 테스트를 진행하고자 한다.

참고: rapsealk/NavOps#14

[WIP-004] Unity Rimpac 다운로드 및 경로 설정 기능

기존 코드는 UnityEnvironment 클래스에 Unity 빌드 경로를 전달하기 위하여 환경 변수를 이용한다. (os.environ["RIMPAC_PATH"])
이렇게 할 경우 실행 환경이 초기화 될 때마다 수동으로 설정해 주어야 하는 문제가 있다.

>> $Env:RIMPAC_PATH="..."
$ export RIMPAC_PATH="..."

이러한 문제를 해결하기 위하여 코드 내부에서 빌드된 프로그램을 다운받은 후 경로를 설정하도록 한다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.