All lecture slides can be found here.

The course consists of learning experiences where you will complete activities on a computer and on the real robot to develop skills to safely build, program, and operate a robot. All grading will be done by checkoffs conducted in-person with a TA or member of the course staff.

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.

You can do the learning experiences using the Duckietown Shell following the instructions here: https://docs.duckietown.com/ente/opmanual-dd24/50-learning-experiences/lx-general-procedure.html.

NameOutDue
Safety 9/10 9/17
Building Your Drone 9/17 10/1
Linux + Networking 10/1 10/6
Docker 10/6 10/13
ROS2 and Middleware 10/13 10/20
PID 10/27 11/5
IMU 10/20 10/27
TOF Sensor 10/27 11/3
Camera and Velocity Control 11/3 11/10
Project Proposal 11/10 11/17
Project Presentations 12/1 12/10