A toolbox to compute the robustness of STL formulas using computation graphs. Since STLCG uses PyTorch, it provides a very easy way to incorporate STL formulas into neural network models (e.g., adding an STL term in the training loss).
You need Python3 and PyTorch installed.
The vizualization code here is constructed from https://github.com/szagoruyko/pytorchviz but with modifications to represent STL operators.
demo.ipynb
is an IPython jupyter notebook that showcases the basic functionality of the toolbox.
The examples
folder contains example usage of STLCG in a number of applications. These are the examples investigated in the WAFR 2020 publication (see below).
Here are a list of publications that use stlcg. Please file an issue, or pull request to add your publication to the list.
When citing stlcg, please use the following Bibtex:
@Inproceedings{LeungArechigaEtAl2020,
author = {Leung, K. and Ar\'{e}chiga, N. and Pavone, M.},
title = {Back-propagation through signal temporal logic specifications: Infusing logical structure into gradient-based methods},
booktitle = {{Workshop on Algorithmic Foundations of Robotics}},
year = {2020},
}
If there are any issues with the code, please make file an issue, or make a pull request.