The simulation was developed in Python 3.5 and modelled after OpenAI's Lunar Lander gym environment. Box2D was the physics engine of choice.
The rocket has 3 inputs:
1. Main Engine Thrust
2. Side Nitrogen gas Thrusters (Left = Fl, Right = Fr) controlled with a single input Fs = Fl - Fr
3. Nozzle angle, Psi. This emulates a gimballed engine.
The simulation was modelled after Falcon 9, with variables such as mass and thrust estimated and scaled relative to the simulation dimensions.
4 controllers were developed and contrasted, with Deep Reinforcement Learning being used in the final controller (see paper reference).
Github: https://github.com/arex18/rocket-lander
Deep Deterministic Policy Gradients (Google): https://goo.gl/jNUME6
OpenAI Lunar Lander: https://goo.gl/CPVf6k
The simulation and code will be uploaded to OpenAI and Github respectively, and this description will be updated in due course.