Dynamic System solver for reinforcement learning environment. It solves ODE with
DynaG has
- OpenAI GYM environment integration.
- 3D rendering with OpenGL.
- Dynamics and rendering wrintten in C++
properties.
DynaG has two seperate APIs. For dynamic system calculation DynaG-dynamcis and for rendering DynaG-renderer is used.
6-DOF Helicopter Environment with DynaG. Implementation structure can be found in here.
This helicopter environment is written for flight tasks with reinforcement learning and has
- Realistic Dynamic Model based on Minimum Complexity Helicopter Model (Heffley and Mnich) In addition, inflow dynamics are added and model is adjusted so that it covers multiple flight conditions.
- Dryden Turbulence model is added to make the environment stochastic.
properties.
| Num | Act | Unit | Min | Max |
|---|---|---|---|---|
| 0 | Collective | -1 | 1 | |
| 1 | Lon. Cyclic | -1 | 1 | |
| 2 | Lat. Cyclic | -1 | 1 | |
| 3 | Pedal | -1 | 1 |
| Num | Obs | Unit | Min | Max |
|---|---|---|---|---|
| 0 | power | 0 | ∞ | |
| 1 | lon. air speed | -∞ | ∞ | |
| 2 | lat. air speed | -∞ | ∞ | |
| 3 | down air speed | -∞ | ∞ | |
| 4 | lon. speed | -∞ | ∞ | |
| 5 | lat. speed | -∞ | ∞ | |
| 6 | down speed | -∞ | ∞ | |
| 7 | lon. acceleration | -∞ | ∞ | |
| 8 | lat. acceleration | -∞ | ∞ | |
| 9 | down acceleration | -∞ | ∞ | |
| 10 | north velocity | -∞ | ∞ | |
| 11 | east velocity | -∞ | ∞ | |
| 12 | descend rate | -∞ | ∞ | |
| 13 | roll angle | -π | π | |
| 14 | pitch angle | -π | π | |
| 15 | yaw angle | -π | π | |
| 16 | roll rate (body) | -∞ | ∞ | |
| 17 | pitch rate (body) | -∞ | ∞ | |
| 18 | yaw rate (body) | -∞ | ∞ | |
| 19 | x loc (earth) | -∞ | ∞ | |
| 20 | y loc (earth) | -∞ | ∞ | |
| 21 | sea altitude | 0 | ∞ | |
| 22 | ground altitude | 0 | ∞ | |
| 23 | coll. angle | -∞ | ∞ | |
| 24 | lon. angle | -∞ | ∞ | |
| 25 | lat. angle | -∞ | ∞ | |
| 26 | pedal angle | -∞ | ∞ | |
| 27 | coll. angle rate | -∞ | ∞ | |
| 28 | lon. angle rate | -∞ | ∞ | |
| 29 | lat. angle rate | -∞ | ∞ | |
| 30 | pedal angle rate | -∞ | ∞ | |
| 31 | turbulance u speed | -∞ | ∞ | |
| 32 | turbulance v speed | -∞ | ∞ | |
| 33 | turbulance w speed | -∞ | ∞ |
For now only one task is available.
| Environment | Details | |
|---|---|---|
| Hover-v0 | Hover |
Environment tested on these OSs. If you have any problem, probably shared libraries for rendering make it, please look at renderer build.
Receiving max FPS with NVIDIA 1070-TI with Intel i7-8700K given in the table.
| Tested OS | Max FPS |
|---|---|
| Windows 10 | 1200 |
| Ubuntu 18.04 | 1300 |
| Ubuntu 16.04 | 1300 |
For the user who has lower than the version of Ubuntu 16.04 (like Ubuntu 14.04 etc.) or other Linux distros, please re-compile dependent libraries. Re-compile instruction can be found at renderer build. Also, dynamics should be re-compiled. Re-compile instruction can be found at dynamics build.
Clone the repo.
git clone https://github.com/MGokcayK/DynaG.gitRun following command.
pip install .or
pip install -e .Create environment by either,
from dynag import Hover
env = Hover()or
import gym
import dnyag
env = gym.make("Hover-v0")The rest is usual as of any GYM environment !
@mastersthesis{MGK-Master-2022,
author = {Mehmet Gökçay Kabataş},
title = {{Pekiştirmeli Öğrenme İçin Bir Helikopter Ortamı Geliştirilmesi}},
school = {Kocaeli Üniversitesi},
address = {Türkiye},
year = {2022}
}
