Course Description:
The development of increasingly complex engineering systems
(so called embedded control systems), found for example in aircrafts, cars,
and manufacturing systems, where dedicated microcontrollers are combined
according to a discrete switching logic, has provided new challenges in
the areas of software development and control design. The objective of
this course is to model, analyze, and control such systems, where continuous
modes are linked together according to given transition rules. For this,
a hybrid formalism will be introduced by combining ideas from computer
science, such as automata theory, with control theory.
Readings
Since there are, as of yet, no textbooks in this emerging area, the course work will be centered around relevent research paper that will be distributed in class.
Workload
Your responsibilities in this class will fall into three main categories:
1. The homework sets (one problem set every second week) 50%. The credit will be devided equally between programming assignments, project assignments, and theoretical exercises.
2. Two in-class exams. (15% each = total of 30%.)
3. The final exam. It will cover all the material presented in the class. It will be a closed-book, closed-note exam, contributing to a total of 20%.
Location
The lectures will be held at 12-1 Mondays, Wednesdays, and Fridays in Van Leer: E261.
Prerequisites
Prerequisite: ECE3085 or ECE3884 or CS2130
Honor Code
Altough you are encouraged to work together to learn the course material, the exams and homeworks are expected to be completed individually. All conduct in this course will be governed by the Georgia Tech honor code.
SCHEDULE
| Date | Lecture subject | Homework |
| Jan. 6 | What is an embedded system? | |
| Jan. 8 | Key characteristics | |
| Jan. 10 | Introduction to modeling | |
| Jan. 13 | Finite state machines | |
| Jan. 15 | Example: Robotics | |
| Jan. 17 | Reachability | |
| Jan. 20 | School holiday - No class | |
| Jan. 22 | Verification algorithms | (HW1) |
| Jan. 24 | Software for verification | |
| Jan. 27 | Concurrency | |
| Jan. 29 | Example: Multi-agent systems | |
| Jan. 31 | Review 1 | |
| Feb. 3 | Quiz 1 | |
| Feb. 5 | Timing issues | |
| Feb. 7 | Timed automata | |
| Feb. 10 | Verification of TA | |
| Feb. 12 | Simulation of TA | (HW2) |
| Feb. 14 | Hybrid automata | |
| Feb. 17 | Some control theory | |
| Feb. 19 | Behavior-based robotics | |
| Feb. 21 | Hybrid verification | |
| Feb. 24 | Simulation of HA | |
| Feb. 26 | At the research frontier I | (HW3) |
| Feb. 28 | Example: PATH | |
| March 3 | Spring break - No class | |
| March 5 | Spring break - No class | |
| March 7 | Spring break - No class | |
| March 10 | Example: CBAR | |
| March 12 | Example: Multi-agent robotics | |
| March 14 | Review 2 | |
| March 17 | Quiz 2 | |
| March 19 | Implementation issues | |
| March 21 | Sampled control | |
| March 24 | Bounded and quantized control | |
| March 26 | Dynamic coding | (HW4) |
| March 28 | Real-time issues | |
| March 31 | Event signals | |
| Apr. 2 | No class | |
| Apr. 4 | No class | |
| Apr. 7 | Stuttering FSMs | |
| Apr. 9 | Sensor and actuator objects | (HW5) |
| Apr. 11 | Object-oriented programming in Matlab | |
| Apr. 14 | Object-oriented programming in C++ | |
| Apr. 16 | Programmability | |
| Apr. 18 | Motion description languages | |
| Apr. 21 | Coding of control procedures | |
| Apr. 23 | At the research frontier II | (HW6) |
| Apr. 25 | Review 3 |