VIO-based Quadrotor

This project contains seven assignments and a cumulative final assignment in MEAM620 Advanced Robotics at the University of Pennsylvania.

In this course, I implemented a geometric nonlinear controller, two trajectory generators that are based on Dijkstra and A*, a complementary filter for attitude estimation based on data from a six-axis IMU, a pose estimation algorithm using stereo-pair images, and a fusion algorithm based on the prior two estimations using error-state Kalman filter. The final assignment is to integrate state estimation with planning and control in all previous assignments.

Here is one example of course project report.

Here is a video of testing the control and planning algorithms in the real world using CrazyFlie 2.0 and Vicon: