This post showcases a class project I completed for MIT course 16.S398: Visual Navigation for Autonomous Vehicles (VNAV) in Fall 2018, taught by Prof. Luca Carlone. This was a really fun project, and provided great hands-on experience with trajectory optimization, controller design, simulation, and hardware testing for quadrotors!

For this project we sought to improve on the native waypoint tracking controller provided within the PX4 autopilot stack. To do this, we combined a minimum-snap trajectory optimization algorithm with a geometric controller designed for complex quadrotor maneuvers.

The code for this project was written in C++ using ROS, and built on the mavros package. Our extensions to the mavros_controllers package are available on github. Simulation studies were performed using Gazebo, while final testing was performed using an Intel Aero drone using the MIT high bay testing area.

Below is a video abstract of the project. For more details check out our summary slides on google slides.

Cover image credit: