Flight Control Laboratory

Prof. Dr. Moritz Diehl, Tommaso Sartor, Jochem De Schutter

The focus of this lab is to give the participants hands-on experience in applying advanced control and estimation algorithms on aerial vehicles. The system may be simulated, real, or both, depending on the individual project. There are two different real-world systems available at the lab:

- The half-wing setup, that was developed during the HIGHWIND project, is depicted here during an outdoor experiment.
- We plan to build an experimental set-up which consists of a tethered rotary kite system for airborne wind energy. The idea is to have a small-scale, light-weight airborne system which flies in principle like an auto-gyro. The pitch angles of the blades are controlled and the tether is reeled in and out so as to extract power from the wind. The system can also be understood as a flying wind turbine. A conceptual sketch of the system is shown here.
[UPDATE 13/04/18] A sketch of the first prototype is shown here. A more detailed description of the first prototype will appear on this website soon.

Both set-ups allow for several projects in various fields ranging from model identification, evaluation, and estimation to real-time control challenges.

Every participant will be offered an individual project by us. Group work is possible if the project allows for a clear separation of tasks and provides a feasible amount of work for all participants. Also self-chosen projects are generally possible, but need to be discussed in advance.

Participants are expected to work independently and hand in weekly reports via Email (submission deadline Mondays 23:59). We will offer office hours and meetings as needed. 

For further details please refer to at the slides of the kick-off meeting


Kick-off meeting: on Wednesday, April 25th, 16:00, Building 102, SR 01-012 Kick-Off presentation  Carousel presentation

Project Proposal Presentation: May 16th 16:00, Building 102, SR 01-012

Weekly Report: Weekly dead line Wednesday 24:00, Accepted means of communication: git repository, wiki, mail.

Mid-term Presentation: Wednesday, June 6th, 16:00, Building 102, SR 02-012

Final Presentation: Wednesday, July 25th, 16:00, Building 102, SR 02-012

Final Report submission deadline: 8th of August at 24:00


The grading will be based on all, a written lab report, documentation of all conducted work, and a final public presentation. This course gives 6 ECTS points.


We recommend a successful participation in one or more of the following courses prior to this lab:

  • Systemtheorie und Regelungstechnik 1 / Systems and Control 1,
  • Systemtheorie und Regelungstechnik 2 /Systems and Control 2,
  • Modellierung und Systemidentifikation / Modelling and System Identification,
  • Einführung in die Mobile Robotik / Introduction to Mobile Robotics
  • or similar courses

If you attended one of the following classes prior, you may also apply more advanced methods:

  • Numerical Optimal Control
  • Optimal Control and Estimation
  • Numerical Optimization
  • other theoretical classes by SYSCOP


This course’s HisInOne ID is 11LE50P-5222, please register, if you want to participate. If you want to receive a grade and ECTS points for your project please remember to register for the exam as well.

Coding Guidelines

Slides with important guidelines

In a nutshell (incomplete):

  • Make names consistent, distinctive, and meaningful
  • Make code style and formating consistent.
  • Work in small steps and commit them to git
  • Commit frequently to git
  • Use meaningful commit messages
  • Write tests for your code
  • Use a Debugger
  • Optimize software only AFTER it works correctly if at all
  • Document your code! (people, including you in a couple of days/weeks, have to read it)

Inspired by Best Practices for Scientific Computing


Tommaso Sartor ( Tommaso.Sartor (at) imtek.uni-freiburg.de )

Jochem De Schutter ( Jochem.De.Schutter (at) imtek.uni-freiburg.de )