Autonomous Flight Course

GitHub Repo

Skills Used: Fixed-wing Aircraft Dynamics, Linear Design Models, Autopilot (Successive Loop closure using PID controllers), Low pass filter, EKF, Path following, path planning, Coordinate transforms

This graduate level course walks through the process of achieving autonomous flight, starting with the dynamics of the aircraft up to planning paths through obstacles. For each topic covered in class, there is a design project that is shown in videos below.

Kinematics and Dynamics

For this homework I implemented the dynamics of a fixed wing aircraft. You can also see the coupling between the different axes.

Forces and Moments

This homework involved implementing the forces and moments caused by the control surfaces (aileron, rudder, and elevator)

Autopilot Design

For the autopilot I use PID control for the yaw, roll, and pitch loops. I also tried energy balance and LQR, but PID control seemed to work the best for this simulator.

Sensor Models

Here I implement sensor models for gyroscope, GPS, and 

State Estimation

Here I use a Low Pass filter and EKF to estimate the states of the vehicle using sensor measurements. There are a few states that were more difficult to accurately track, such as the course angle.

Path Following

Here I implement line and orbit following. This will be used to create paths between waypoints.

Waypoint and Orbit Following

For waypoint following, I implemented line following, fillet following and dubins paths. Dubins paths gives the shortest path between waypoints, taking advantage of the vehicle's turn radius.

Path Planning

I use RRT path planning for creating a path to follow through a simulated city. It is an offline approach, so the path is computed once, but it could easily be adapted to an online planning version.