The course consists of larger projects and shorter assignments. All projects and assignments are due at 11:59pm on the due date. Please follow the instructions in each assignment for how to hand in the assignments on github classroom.

The projects are where you get to build and fly a drone. You will get hands-on practical experience with the robot. The Law of Leaky Abstractions is especially relevant to a robot. And you are working on a new robot that we have designed specifically for the class. In short, things will go wrong. It is important to think systematically about what is happening and debug each piece of the system and make sure it is working on its own before putting things together. There are many reasons why something might fail, ranging from a flakey network connection to bad lighting for the camera to a bug in the code, and we will all need to work together to figure things out. Don’t hesitate to come to office hours if you get stuck or need help!

Safety is extremely important whenever flying a drone. Please be very careful to follow all safety precautions we recommend. Never fly the drone over people, and never try to catch the drone when it falls. Crashes are part of flight - they will happen. We have replacement parts, but we expect you to fix your drone when it crashes.

We are pre-releasing all of the projects and assignments so you can get a sense of the whole course in advance. However we reserve the right to change and update any part of the project links before the release date without warning.

The class has associated lectures on EdX Edge. We recommend watching the associated lectures before doing each assignment or project.

NameOutDueLecture
Assignment 1: Introduction 9/7 9/12 Course Overview
Project 1: Building Your Drone 9/12 9/28 Hardware Overview
Assignment 2: Safety 9/12 9/19 Safety
Assignment 3: Linux + Networking 9/19 9/26 Networking
Assignment 4: Middleware 9/26 10/3 Middleware
Project 2 Part 1: IMU 10/3 10/10 Sensors
Project 2: Part 2: TOF Sensor 10/10 10/17 Transforms
Project 2: Part 3: Camera 10/17 10/24 Measuring Velocity and Position
Project 3: PID 10/24 11/2 Proportional/Integral/Derivative Control
Project 4: UKF 11/2 11/28 All modules in the Kalman Filters section, starting with Uncertainty
Project 5: Localization and Slam 11/30 12/7 All modules in the Localization and Mapping section, starting with Localization