15-424: Foundations of Cyber-Physical Systems (Sp'17)

Table of Contents
  1. Labs & Assignments
    1. Labs
    2. Lab Overview
    3. Lab Schedule
    4. Betabots and Veribots
    5. Lab Illustrations
    6. Lab Schedule

Labs & Assignments

This course includes written theory homework assignments and lab assignments. Roughly, the homework assignments and the labs are due in alternating weeks.


In the labs, you will design and program robot controllers for increasingly more difficult challenges. You will start with developing a robot controller for a simple task (moving on a rail without any obstacles). Throughout the course of this semester, you will make your robot controller increasingly more sophisticated until it can master free motion in two dimensions, like, e.g., a corridor of a building. Your controller will need to reach its goal position but without colliding with any obstacles.

You do not need to build the robotic hardware but will build CPS programs and controllers instead.

Lab Overview

The mathematical theory behind core CPS principals will be covered in 5 written homework assignments, as well as a midterm and final exam.

Students will also demonstrate a working knowledge of the theory by designing autonomous robot controllers in a series of 5 lab assignments. Students will prove that their robots always operate within safety specifications, even when malicious robots (called rogue-bots) designed by other students are added to the environment. We may hold occasional simulation contests to test the efficiency of students' controllers as well as their safety. The 5th and final lab will be open-ended, allowing students to creatively demonstrate what they have learned in a self-defined final course project.

Lab Schedule

Here is an outline of the lab schedule:

Betabots and Veribots

Before you submit your final robot (your Veribot), you will also submit a Betabot, which is a beta-version of your robot controller that you conjecture to be safe. Unlike your final robot submission, the Veribot, your Betabot does not need to be verified. In later labs, you may also have the opportunity to submit Rogue-Bots, which are robot controllers that make life difficult for the robots submitted by the other students. So we hope the course will be fun. And that you will learn to distinguish safe from unsafe CPS designs.

Lab Illustrations

The robot controllers that you implement will be autonomous controllers that have to work under all circumstances. Below we just show a few example scenarios with a particular example of an obstacle.

Lab 1a Autobots, Roll Out
Lab 1b Charging Station
Lab 2 Follow the Leader
Lab 3 Robots on Racetracks
Lab 4a Static Obstacles
Lab 4b Dynamic Obstacles

Lab Schedule

The Lab and Assignment Schedule is tentative!