# Difference between revisions of "EECI 2020: Computer Session: TuLiP"

Line 6: | Line 6: | ||

== Lecture Materials == | == Lecture Materials == | ||

* Lecture slides: [http://www.cds.caltech.edu/~murray/courses/eeci- | * Lecture slides: [http://www.cds.caltech.edu/~murray/courses/eeci-sp2020/C2_tulip-11Mar2020.pdf TuLiP] | ||

* amination script: [home/tichakorn/Shared/eeci/animate.py animate.py] | * amination script: [home/tichakorn/Shared/eeci/animate.py animate.py] | ||

* [http://www.cds.caltech.edu/~murray/courses/eeci- | * [http://www.cds.caltech.edu/~murray/courses/eeci-sp2020/tulip_examples.zip Example TuLiP files] (zip file): | ||

** 6 cell robot, discrete state space: [http://www.cds.caltech.edu/~murray/courses/eeci- | ** 6 cell robot, discrete state space: [http://www.cds.caltech.edu/~murray/courses/eeci-sp2020/robot_simple_discrete.py robot_simple_discrete.py] | ||

** 6 cell robot, with dynamics: [http://www.cds.caltech.edu/~murray/courses/eeci- | ** 6 cell robot, with dynamics: [http://www.cds.caltech.edu/~murray/courses/eeci-sp2020/robot_simple_continuous.py robot_simple_continuous.py] | ||

** 3x3 exercise: [http://www.cds.caltech.edu/~murray/courses/eeci-sp2020/exercise_3x3.py exercise_3x3.py] | |||

** Left turn exercise: [http://www.cds.caltech.edu/~murray/courses/eeci-sp2020/exercise_leftturn.py exercise_leftturn.py] | |||

== Further Reading == | == Further Reading == |

## Revision as of 09:28, 12 March 2020

Prev: Reactive Synthesis | Course home | Next: Minimum Violation Planning |

This lecture provides an overview of TuLiP, a Python-based software toolbox for the synthesis of embedded control software that is provably correct with respect to a GR[1] specifications. TuLiP combines routines for (1) finite state abstraction of control systems, (2) digital design synthesis from GR[1] specifications, and (3) receding horizon planning. The underlying digital design synthesis routine treats the environment as adversary; hence, the resulting controller is guaranteed to be correct for any admissible environment profile. TuLiP applies the receding horizon framework, allowing the synthesis problem to be broken into a set of smaller problems, and consequently alleviating the computational complexity of the synthesis procedure, while preserving the correctness guarantee.

A brief overview of TuLiP will be followed by hands-on exercises using the toolbox.

## Lecture Materials

- Lecture slides: TuLiP
- amination script: [home/tichakorn/Shared/eeci/animate.py animate.py]
- Example TuLiP files (zip file):
- 6 cell robot, discrete state space: robot_simple_discrete.py
- 6 cell robot, with dynamics: robot_simple_continuous.py
- 3x3 exercise: exercise_3x3.py
- Left turn exercise: exercise_leftturn.py

## Further Reading

TuLiP: A Software Toolbox for Receding Horizon Temporal Logic Planning, T. Wongpiromsarn, U. Topcu, N. Ozay, H. Xu and R. M. Murray, Hybrid Systems: Computation and Control, 2011.

## Additional Information

JTLV Project Home Site JTLV provides the framework for the underlying digital design synthesis routine used in TuLiP.