Home About Technology Travel Pictures

A very simple Quadrotor Simulator


The project "Quadsim" provides a simple flight simulator for quadrotors and other multi-copters. The main purpose of the application is to support the development of an autopilot module for the Mikrokopter models. But of course, the simulator can also support model pilots to learn and improve the remote control of quadrotors.

The simulator is 100% Java and implemented on top of the Java3D API. In this context the API is not only used for visualization but for calculation of flight dynamics as well. The flight physics of a quadrocopter is relatively simple compared to an airplane. Currently the simulation considers physical effects such as air drag, wind and flow speed of the propeller. Not considered are for example, ground effects, air temperature and pressure, and peculiarities of Mikrokopter control. Mass, thrust per propeller and wind parameters can be set. Likewise, the copter model can be chosen while airborn - available at present are the models "Quadro", "Hexa", "Y6" (Hexacopter with Y-arrangement) and "Okto". The flight behavior is based on the control reactions of Mikrokopter models, i.e. the simulator does not fly in heading-hold mode. Whether the simulated flight behavior matches the prototype must be determined through testing or the feedback of experienced pilots.

A special feature of the program is camera control. This function could not be found at any known model flight simulators. The camera can be tilted downwards using a potentiometer just like with a real Mikrokopter. In addition, nick and roll compensation can be activated. However, the simulation works better than the original, because lateral accelerations or other unknown effects seem to disturb the cameras attitude compensation in reality. A small simulator window displays the particular perspective of the camera. In addition, the cameras field-of-view can be visualized by a semi-transparent pyramid.


In the meantime I was able to connect the program with a remote control in a prototypal way. It was necessary to include external Jar files and native libraries of the LWJGL project. Connecting a Graupner MC-15 via SmartPropoPlus and vJoy works satisfactorily. The simulator looks for a generic multi-axis controller, however it is not guaranteed to work with other controllers. A trim utility is missing too. Therefor I would be happy about feedback on the behaviour of other types of controllers. In der Zwischenzeit ist es mir gelungen, prototypisch eine Fernsteuerung einzubinden.

Screenshot showing model "Y6"

To Do

There is still a lot to do on the way to a professional application. Nevertheless, it is fun already to fly around with the simulator. Important issues are:

  • Interfacing a real remote control (buddy box to sound card) or other kind of joystick (platform specific interface). Until now, only mouse control is possible
  • Landscaping, placement of further interesting objects for camera flight
  • Detailing the flight models, focus on models of the Mikrokopter platform
  • Realistic flight characteristics according to reality
  • Sound - the Java 3D sound did not work as promissed so far
Assistance in development of the program or the implementation as an open-source project is welcome at any time.


The program can be started using start.bat after extracting the zip file. A Requirement is the installation of Java3D that can be downloaded from java.net.

Zip filequadsim.zip
16 Feb 2012, Achim Walther, Mail