After a many years break away from Blender, it came as a surprise to me to find that the game engine has been binned in Blender 2.8 - I've always had the desire to try and implement some machine learning and was hoping to utilise the engine's physics and controllers, but alas it is no more. Oh well.
Whilst at university I remember coming across some MATLAB code that was designed to simulate the flight dynamics of a quadcopter - if you're comfortable with 3D dynamics, I would highly recommend taking a look at the blog and repo. This project essentially takes the same setup, but implements it in Python and Blender. I would like to implement the simulation timesteps in C++ at some point, but I suspect this is a can of worms that will slow development.
This is still very much a work in progress:
Real life implementation:

