15-424: Logical Foundations of Cyber-Physical Systems (Fa'18)

Labs & Assignments

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

Labs

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:
• Lab 1a: Robot on Rails (Autobots, Roll Out)
• Lab 1b: Robot on Rails (Charging Station)
• Lab 2a: Follow the Leader, Robot on Highways (with event-driven control)
• Lab 2b: Follow the Leader, Robot on Highways (with time-triggered control)
• Lab 3a: Robot on Racetracks (stay on the circular racetrack)
• Lab 3b: Robot on Racetracks (slow down to avoid collisions)
• Lab 4a: Robot in a Plane (motion with obstacle avoidance)
• Lab 4b: Robot in a Plane (avoiding collisions with Roguebot and moving obstacles)
• Final project lab 5: Robot in Star-lab (self-defined course project entering the CPS V&V Grand Prix

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 Charging Station Follow the Leader Robots on Racetracks Static Obstacles Dynamic Obstacles

Lab Schedule

The Lab and Assignment Schedule is tentative!