Flight Control Laboratory

Prof. Dr. Moritz Diehl, Jonas Schlagenhauf, Tobias Schöls

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. We have a real-world system at the lab that was developed by the HIGHWIND project. The current setup (Halfwing) allows for several projects in various fields ranging from model identification, evaluation, and estimation to realtime 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 May 9th, 2017 from 14.00 (s.t.) to 16.00 at Georges-Köhler-Allee 102 room SR 01-012: Slides

Project Proposal Presentation on May 23rd, 2017 from 14.00 (s.t.) to 16.00 at Georges-Köhler-Allee 102 room SR 01-012: Coding guidelines

Mid-term Presentation on June 20th, 2017 from 14.00 (s.t.) to 16.00 at Georges-Köhler-Allee 102 room SR 01-012. 

Final Presentation on July 26th, 2017 from 11.00 (s.t.) to 12:30 at Georges-Köhler-Allee 102 room SR 01-012. 

Final Report submission deadline August 18th, 2017, 23:59


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 11LE50MO-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


Jonas Schlagenhauf (Jonas.Schlagenhauf (at) imtek.uni-freiburg.de)

Tobias Schöls (Tobias.schoels (at) saturn.uni-freiburg.de)