Autonomous Flight

Introduction

Academic Flight offers a few autonomous flight courses, and is in the process of developing more. Some of these courses go hand in hand with our test pilot theory/flight testing courses. For instance, it is up to the programmer if they wish to use an attitude estimation code to estimate the position of a drone for autonomous flight or to apply the code on recorded flight test data to determine the attitude of the aircraft during a flight test.

The way we have grouped our courses is to put the programming heavy courses with lots of technical prerequisites in this section, whereas the courses in the test pilot theory/flight testing section are more high-level follow-along courses, where the programming is limited to creating plots of the data or performing data reduction and analysis.

For instance, in the test pilot theory/flight testing section we assume your flight test instrumentation suite already has a built-in Attitude and Heading Reference System (AHRS) that outputs the aircraft attitude for you. In this autonomous flight course section here, on the other hand, you will learn to write a code that determines the attitude of your aircraft from the Inertial Measurement Unit (IMU) data (accelerometers and gyroscopes) directly, including basic instrument calibration.

Below we list the autonomous flight courses we currently offer. For courses listed as in development, we are willing to offer you immediate informal advice to work yourself into the topic if you give us a call and are sufficiently self-motivated. Meanwhile our overview page provides a concise overarching introduction to several topics of autonomous flight and vehicle autonomy in general.

Autonomous Flight Courses

Introduction to Embedded Systems Programming

In this introductory courses series you will learn to program embedded systems, build associated circuits containing various sensors, analyze sensor data, and communicate wirelessly with the embedded system.

PID Controller for Quadrotor

In this short course you will learn to write a basic 3-axis proportional-integral-derivative controller for a drone.

Vehicle State Estimator

Learn to write multiple vehicle state estimators for 3D attitude and position, using different algorithms and utilizing sensor fusion. You will implement an (iterated) extended Kalman filter (EKF, IEKF), a Sigmapoint Kalman Filter (SPKF/UKF), a particle filter, and a complementary filter. You will also write a Rauch-Tung-Striebel smoother, which uses future data and can be applied to recorded data after the fact for more accuracy than the above real-time filters.

You will use simulations for initial code development purposes and then apply your codes to motion data recorded from the IMU of your own smartphone. The course concludes in writing an academic style report in LaTeX, presenting your work done.

Vehicle Kinematics

Kinematics is the description of motion of a vehicle without taking any of the physics (mass, forces, moments) into account. While position is easily described, dealing with attitude is more involved. This short course introduces you to the basics of 3D kinematics, including the directional cosine matrix, symmetric and asymmetric Euler angle sets, quaternions, Rodrigues parameters, and more.

Course in Development - Coming Soon