All Projects → adderbyte → GYM_XPLANE_ML

adderbyte / GYM_XPLANE_ML

Licence: GPL-3.0 license
GYM Environment for XPlane. Reinforcement Learning and Autonomous Piloting.

Programming Languages

python
139335 projects - #7 most used programming language
lua
6591 projects
HTML
75241 projects
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to GYM XPLANE ML

computational-economy
An agent-based computational economy with macroeconomic equilibria from microeconomic behaviors
Stars: ✭ 67 (+48.89%)
Mutual labels:  agent, simulation
SmartTrafficIntersection
Another AI toy project, of a traffic intersection controlled by a Reinforcement Learning AI agent to optimize traffic flow in an intersection of vehicles or pedestrians
Stars: ✭ 30 (-33.33%)
Mutual labels:  agent, simulation
fdtd
A 3D electromagnetic FDTD simulator written in Python
Stars: ✭ 195 (+333.33%)
Mutual labels:  simulation
Pavilion
Unreal-based Gazebo Alternative
Stars: ✭ 30 (-33.33%)
Mutual labels:  simulation
BlendingToolKit
Tools to create blend catalogs, produce training samples and implement blending metrics
Stars: ✭ 21 (-53.33%)
Mutual labels:  simulation
IPLSimulator
A ball-by-ball IPL T20 cricket simulator, you can make your own custom games, teams, or even simulate the entire tournament (all 7200 balls of it!)
Stars: ✭ 25 (-44.44%)
Mutual labels:  simulation
ws-ldn-10
Generative design workshop (Clojure/ClojureScript)
Stars: ✭ 26 (-42.22%)
Mutual labels:  agent
perses
Experiments with expanded ensembles to explore chemical space
Stars: ✭ 99 (+120%)
Mutual labels:  simulation
bullet
JVM Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
Stars: ✭ 35 (-22.22%)
Mutual labels:  simulation
ClothSimulation
Basic cloth simulation using Verlet integration
Stars: ✭ 432 (+860%)
Mutual labels:  simulation
skenario
A simulator toolkit for Knative
Stars: ✭ 26 (-42.22%)
Mutual labels:  simulation
Flocking
2D Flocking in the Unity3D game engine using Craig Reynolds' boids
Stars: ✭ 31 (-31.11%)
Mutual labels:  simulation
SDN4CoRE
SDN4CoRE (Software-Defined Networking for Communication over Realtime Ethernet) is an open-source extension for the event-based simulation of programmable (software-defined) real-time Ethernet networks in the OMNeT++ simulation system.
Stars: ✭ 21 (-53.33%)
Mutual labels:  simulation
JSON-for-VHDL
A JSON library implemented in VHDL.
Stars: ✭ 56 (+24.44%)
Mutual labels:  simulation
openshs
Open Smart Home Simulator
Stars: ✭ 26 (-42.22%)
Mutual labels:  simulation
msa-toolkit
The MSA Toolkit provides useful codes for flight simulations and analysis, aerodynamic optimization and sensibility analysis. The codes are implemented by the MisSion Analysis Team.
Stars: ✭ 22 (-51.11%)
Mutual labels:  simulation
InSilicoSeq
🚀 A sequencing simulator
Stars: ✭ 116 (+157.78%)
Mutual labels:  simulation
pyGeoStatistics
Geostatistics in Python
Stars: ✭ 70 (+55.56%)
Mutual labels:  simulation
PySDM
Pythonic particle-based (super-droplet) warm-rain/aqueous-chemistry cloud microphysics package with box, parcel & 1D/2D prescribed-flow examples in Python, Julia and Matlab
Stars: ✭ 26 (-42.22%)
Mutual labels:  simulation
protons
OpenMM testbed for constant-pH methodologies.
Stars: ✭ 18 (-60%)
Mutual labels:  simulation

XPlane_ML_Reinforcement_Learning_Autopilot

This project documents set up of Reinforcement learning environment for flight control. This will enable each user/learner/student/flight enthusiast to come with their own RL algorithm that can interact with and control in real time an aircraft in a simulation environment. The simulator used is X-Plane (the flight environment). This gives a realistic environment to work with together with parameters to help keep the simulation as close to reality as possible.

Update: Use the leaderboard wiki Page--> (Leaderboard) to add details of your own scenario or (reinforcement learning) algorithm.


  GYM-XPLANE ENVIRONMENT INSTALLATION

To install the gym x-palne environment go through the read me file of the folder : Gym-Xplane-final version This is the latest version of the actual gym-xplane environment.

The other folders contain additional modules for additional functionalities. The names of such folders would give an idea as to what each of such modules does.

Read the Wiki to get a general idea of the environment and training procedure (Gym-Xplane Wiki).


Requirements


General setup

  • GYM XPLANE ENVIRONMENT
  • MULTI AGENT ENVIRONMENT SET UP (Work in progress)

Agent-Environment Interaction Flow


alt-text


Example Training Episode


alt-text


Action Space Parameters


The possible action parameters are given below. The choice of parameters would depend on the task. For example one might decide that the last three parameters are not important for the keep heading task (Gym Xplane Wiki) .

Action Space Parameter Action type Action Value Range
Latitudinal Stick Box [-1,1]
Longitudinal Stick Box [-1,1]
Rudder Pedals Box [-1,1]
Throttle Box [-1/4,1]
Gear Discrete 0,1
Flaps Box [0,1]
Speedbrakes Box [-0.5,1.5]

State Space Parameters


The state space parameters are well documented in XPlane Data Ref. The number and configuration of state space parameters would also depend on the task. It is possible to use a derived state spade parameters.

Note that, usually a UDP connection (XPlaneConnect) is required to read any parameter parameter from XPlane. An example of how to read parameter from UDP connection is shown below:

client = xpc.XPlaneConnect() # UDP connector
client.getDREF("sim/flightmodel/position/P")[0][0] # moment P
client.getPOSI() # get the lat, long,altitude, pitch, roll, heading, gear

A typical state space parameter configuration is shown below:

State Space Parameter State type State Value Range
velocity_x Box [0,120]
velocity_y Box [0,120]
delta_heading Box [-300,300]

The range of each parameter value would also depend on the configuration or simulation task.

client (UDP connector) already has a function getPOSI that helps read the latitude, longitude, altitude, pitch, roll, heading. Other parameters could be added by using the client getDREF function. Note that the string "sim/flightmodel/position/P" is gotten from the Xplane Dataref referenced earlier (XPlane Data Ref)


Flight Dashboard


To learn more about this go to : FlightDataVizDashBoard alt-text


TO DO

  • Use XVFB for fake display.
  • Docker support (under test)
  • Algorithm implementations (high priority) / GPU support to be included
  • Real Time flight and data visualization interface.
  • Investigate Federated Learning / Thompson Sampling / policy-space response oracles (psro)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].