pyvideo.org: Videos of Scott C. Livingstonhttp://www.pyvideo.org/speaker/627/scott-c-livingston/rssen-usThu, 19 Jul 2012 00:00:00 -0500500TuLiP: a toolbox for hybrid and reactive systems researchhttp://www.pyvideo.org/video/1235/tulip-a-toolbox-for-hybrid-and-reactive-systems<p>Description</p>
We present a toolbox for the creation and study of controllers for hybrid
systems. It contains modules for
> * working with n-dimensional polytopes,
> * refining continuous state space partitions to satisfy reachability
properties,
> * synthesizing, manipulating, and visualizing finite automata as winning
strategies for a class of temporal logic-based games,
> * simulating hybrid executions, and
> * reading and writing problem solutions to an XML format.
The toolbox is named TuLiP (for "Temporal Logic Planning") and written almost
entirely in Python, making critical use of NumPy, SciPy, CVXOPT, and
matplotlib. While software for hybrid systems research is commonly written in
Matlab scripts or otherwise requires the end-user to build from source for her
particular platform, TuLiP requires neither. For a standard scientific Python
environment, the only additional library may be CVXOPT. Code (re)use and
experimentation are easy, and because of this, TuLiP has provided a natural
basis for further research and development.
Source code and documentation are currently available at [http://tulip-
control.sourceforge.net](http://tulip-control.sourceforge.net)
In this talk we will describe the problem domain addressed by TuLiP, various
use cases, and lessons learning in the Python implementation. We shall include
a full example making use of all components and show ways that individual
modules are useful more broadly. Major items of the talk will be
> 1. related work, and the paucity of Python use in hybrid control research,
which we argue is a matter of inheritance rather than best practices;
> 2. overview of the type of hybrid systems represented in TuLiP and
relevance to other fields;
> 3. summary of the major steps going from problem statement to solution;
> 4. using only the "polytope computations" module;
> 5. using only "discrete reactive synthesis" related modules, with a brief
description about temporal logic synthesis to provide background for those not
working on computer aided verification;
> 6. snippets about recent research using and building on TuLiP; and
> 7. discussion about the Python-based implementation and lessons learned.
For the last item, we will describe challenges faced while developing TuLiP,
given its role of "stitching together" several external tools, e.g., Gephi
<[http://gephi.org/](http://gephi.org/)> for large graph visualization and
gr1c <[http://scottman.net/2012/gr1c](http://scottman.net/2012/gr1c)> for game
solving. We will also touch on liberation from a Matlab-only tool (Mult-
Parametric Toolbox; see
[http://control.ee.ethz.ch/~mpt/](http://control.ee.ethz.ch/~mpt/)), achieved
by creating our own Python module for working with polytopes, using NumPy and
CVXOPT for computations and matplotlib for visualization.
A tool paper describing an earlier version of TuLiP was presented at the
conference Hybrid Systems: Computation and Control (HSCC) in April 2011. There
have since been substantial additions and improvements. Furthermore, a broader
audience can be reached at SciPy 2012, with new opportunity to address designs
issues likely shared by other scientific Python developers.
Development of TuLiP has been supported in part by the AFOSR through the MURI
program, the Multiscale Systems Center (MuSyC) and the Boeing Company.
Richard M. Murray,Scott C. LivingstonThu, 19 Jul 2012 00:00:00 -0500http://www.pyvideo.org/video/1235/tulip-a-toolbox-for-hybrid-and-reactive-systems