Welcome to Duckiesky#

Robots are the decathlon of computer science: to make a robot work, you need to understand robotics, which we define as a program that includes a sensor and an actuator. Additionally though, you typically need to understand systems, because your robot will use multiple programs running on a computer to make its decisions; you need to understand networking to make the computers talk; you need to worry about algorithms to make efficient use of the computing resources and prove bounds on your robot’s behavior; and you need to understand hardware, because hardware limits affect all aspects of the robot behavior, and if your CPU overheats, your robot isn’t going anywhere.

This textbook contains assignments, projects, and technical material related to the Duckiedrone, a small autonomous drone. After taking this course, students will be able to:

  • Explain the space of designs for robotic communications, safety, state estimation, and control.

  • Apply that knowledge to construct programs for communications, safety, state estimation, and control.

  • Build, program, and operate an autonomous robot drone.

Building Your Drone

Linux and Networking