/MulticopterSimulator

A 3D multicopter simulator with providing wind simulation, PID controlled flying and gamepad support.

Primary LanguageC#

Multicopter Simulator

A 3D multicopter simulator with providing wind simulation, PID controlled flying and gamepad support.

Introduction

This projects focuses on developing a simulation environment for multicopters (multirotors) allowing to experiment with different UAV-types. There is also a wind simulation engine provided. The simulation environment was developed using C# and Microsoft Robotics Developer Studio 4. It was developed in the course of a bachelor thesis which you can find here (written in German language).

What do I need to compile the simulator?

Procedure

  1. Install Visual Studio. The .NET framework should be included in the setup.
  2. Install Microsoft Robotics Developer Studio 4. The setup wants to install the software in your user folder, I recommend installing it in _C:\Program Files_. You should keep in mind in which folder you installed MRDS to, because you have to move some files into it. Furthermore you later have to set the path in the project settings.
  3. Move the content of the the 3D models archive multicopter_3dmodels.rar into the folder _...\Microsoft Robotics Dev Studio 4\store\media_.
  4. Open the simulator solution (MulticopterSimulator.sln) in Visual Studio.
  5. Right-click on the MulticopterSimulation project (the project, not the solution!) and choose the settings. You now need to set manually the paths to the Microsoft Robotics Dev Studio 4 directory and also the contained bin directory.
  6. The project should now compile.

If you have any problems or questions, please don't hesitate to contact me.

Screenshots

Visual Simulation Environment

VSE window

The Visual Simulation Environment provides the graphic output of the simulation. In this window the camera views can be controlled, it is also possible to move the camera freely.

Control window

Control window

The control window allows to control the multicopter entity in the simulator. It is also possible to use a Xbox 360 gamepad. Automatic flight control with PID controllers can also be activated in this window.

Simulator settings window

Simulator settings window

In this window the options of the wind simulation and the multicopter type can be set.

PID tuning window

PID tuning window

The program also provides simulated PID controllers on the multicopter. Autotuning wasn't implemented yet, so it is possible to manually tune the P, I and D values of the controllers in this window.

Statistics window

Statistics window

This window provides the recording of statistics of a set of values. Also a graphic plot output is given for the values. Furthermore some debug data is shown in this window.