Difference between revisions of "EECI-IGSC 2020"

From Murray Wiki
Jump to navigationJump to search
Line 2: Line 2:
<tr valign=top>
<tr valign=top>
<td rowspan=4 align=center> [[Image:eecilogo.png|90px]]</td>
<td rowspan=4 align=center> [[Image:eecilogo.png|90px]]</td>
<td align=center><font color='blue' size='+2'>Specification, Design, and Verification <br> &nbsp;</font></td>
<td align=center><font color='blue' size='+2'>Specification, Design, and Verification for Self-Driving Cars <br> &nbsp;</font></td>
<td rowspan=4 align=center"> [[Image:cdslogo.png|90px]]</td></tr>
<td rowspan=4 align=center"> [[Image:cdslogo.png|90px]]</td></tr>
<tr><td align=center><font color='blue' size='+2'>of Networked Control Systems<br> &nbsp; </font></td></tr>
<tr><td align=center><font color='blue' size='+2'>of Networked Control Systems<br> &nbsp; </font></td></tr>
<tr valign=top><td align=center><font color='blue' size='+0'><p> Richard M. Murray and Nok Wongpiromsarn </p></font></td></tr>
<tr valign=top><td align=center><font color='blue' size='+0'><p> Richard M. Murray and Nok Wongpiromsarn </p></font></td></tr>
<tr valign=top><td align=center><font color='blue' size='+0'><p>9-13 March 2020, Instanbul </p></font></td></tr>
<tr valign=top><td align=center><font color='blue' size='+0'><p>9-13 March 2012, Istanbul (Turkey)</p></font></td></tr>
</table> __NOTOC__
</table> __NOTOC__


== Course Description ==
== Course Description ==
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying, designing and verifying networked control systems. We combine methods from computer science (temporal logic, model checking, synthesis of control protocols) with those from dynamical systems and control (Lyapunov functions, trajectory generation, receding horizon control) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox (TuLiP) that is designed for analyzing and synthesizing hybrid control systems using linear temporal logic and robust performance specifications.
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying, designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.


== Reading ==
== Reading ==
Line 19: Line 19:


== Course information ==
== Course information ==
* Instructors: [http://www.cds.caltech.edu/~murray/wiki/Main_Page Richard M. Murray] (Caltech, CDS) and [http://www.cds.caltech.edu/~utopcu/index.php/Main_Page Ufuk Topcu] (Caltech, CDS), and [http://www.cds.caltech.edu/~nok/ Nok Wongpiromsarn] (MIT-Singapore)
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)
* Date and location: 18-22 May 2013, Belgrade (Serbia)
* Date and location: 9-13 March 2020, Istanbul (Turkey)
* Sponsor: [http://www.eeci-institute.eu/GSC2013 HYCON-EECI Graduate School on Control]
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]
 
;; This buffer is for text that is not saved, and for Lisp evaluation.
;; To create a file, visit it with C-x C-f and enter text in its buffer.
 


== Lecture Schedule ==
== Lecture Schedule ==
Line 121: Line 117:


[[Category:Courses]]
[[Category:Courses]]
[[Category:2012-13 Courses]]
[[Category:2019-20 Courses]]

Revision as of 03:11, 3 February 2020

Eecilogo.png Specification, Design, and Verification for Self-Driving Cars
 
Cdslogo.png
of Networked Control Systems
 

Richard M. Murray and Nok Wongpiromsarn

9-13 March 2012, Istanbul (Turkey)

Course Description

Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying, designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.

Reading

The following papers and textbooks will be used heavily throughout the course:

Additional references for individual topics are included on the individual lecture pages.

Course information

Lecture Schedule

The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.

Lec Date/time Title Topics
L1
RM
Mon, 9:00 Introduction: Protocol-Based Control Systems
  • Introduction to networked control systems (NCS)
  • Overview of control "protocols"
  • Examples: Alice, RoboFlag
L2
UT
Mon, 11:00 Automata Theory
  • Finite transition systems
  • Paths, traces and composition of finite transition systems
  • Linear time properties; safety and liveness
  • Examples: traffic light
L3
RM
Mon, 14:00 Temporal Logic
  • Linear temporal logic
  • Omega regular properties
  • Buchi automata, representation of LTL using NBA
  • Examples: traffic light, (RoboFlag), autonomous driving
L4
UT
Mon, 16:00 Model Checking and Logic Synthesis
  • Basic concepts in model checking
  • Use of model checking for logic synthesis
  • Examples: traffic light, farmer puzzle
C1
RM
Tue, 9:00
Tue, 11:00
Computer Session: Spin
  • Introduction to Promela and Spin (statements, processes, messages)
  • Verification examples: traffic light, distributed traffic light, gcdrive
  • Synthesis examples: traffic light, farmer puzzle, robot navigation
L5
RM (1h)
Wed, 9:00 Deductive Verification of Hybrid Systems
  • Brief introduction to hybrid systems and verification techniques (deductive, algorithmic)
  • Deductive verification using barrier certificates
  • Guarded command languages and CCL for asynchronous control protocols
  • Examples: multi-agent systems, RoboFlag
L6
UT (2h)
Wed, 11:00 Algorithmic Verification of Hybrid Systems
  • Abstraction hierarchies for control systems
  • Finite state abstractions (discretization) and model checking
  • Discretization of continuous state systems
  • Approximate bi-simulation (if time)
  • Examples: gear changing (?), ???
L7
RM (2h)
Wed, 14:00 Synthesis of Reactive Control Protocols
  • Open system and reactive system synthesis
  • Satisfiability, realizability
  • Game structures, reachability/safety games
  • Mu-calculus (if time) and GR(1) games
  • Examples: runner-blocker
L8
UT(1h)
Wed, 16:00 Receding Horizon Temporal Logic Planning
  • Receding horizon control
  • Examples: reactive motion planning
C2
UT
Thu, 9:00
Thu, 11:00
Computer Session: TuLiP
  • Introduction to TuLiP
  • Synthesis of protocols for discrete systems
  • Discretization of continuous systems (and protocol synthesis)
  • Examples: reactive motion planning
L9
UT
Fri, 9:00 Advanced Topics
  • Distributed protocols
  • Switched systems
  • Optimal synthesis
L10
RM
Fri, 11:00 Summary and Open Questions
  • Review of control trends and course contents
  • Discussion of open problem areas and preliminary results
    • Optimization-based techniques
    • Probabilistic techniques
    • Others: Robustness, switching systems, timed systems
  • Examples: robot motion planning, electric power systems (timed)

Software Installation

We will make use of two programs during the lab sessions:

  • Spin - model checker for formal verification of distributed systems
  • TuLiP - python-based toolbox for temporal logic planning and controller synthesis

During the course, we will access these programs on a remote machine using ssh. For some parts of the course it will be useful to have a local installation of MATLAB that can be used for visualizing some simulation results.

If you would like to install the software on your own, here are some basic directions for installing the two packages:

  • Spin: if you are using Windows, you can download a binary installation. For Mac's, you need to compile from source. For this you will need a C compiler, such as the one that is part of the Xcode developer toolbox
  • TuLiP: you will need a python installation (2.6 or greater) with SciPy (0.9 or greater) installed. You might consider using the Enthought Python distribution. Once you have scipy installed, you will need to install several other python packages, including cvxopt and yices. A list of required package is available on the TuLiP project page.