TRUST Software Tool

TRUST: Stability and Safety Controller Synthesis for Unknown Dynamical Models Using a Single Trajectory

TRUST Software Tool

TRUST is an open-source software tool developed for data-driven controller synthesis. It considers dynamical systems with unknown mathematical models, ensuring either stability or safety properties. First, TRUST is given a single input-state trajectory from the unknown system. The trajectory is checked it satisfies a rank condition that ensures the system is persistently excited according to the Willems et al.’s fundamental lemma. Then, TRUST aims to design either control Lyapunov functions (CLF) or control barrier certificates (CBC), along with their corresponding stability or safety controllers.

TRUST implements sum-of-squares (SOS) optimization programs, solely based on data to enforce stability or safety properties across four system classes. These are: (i) continuous-time nonlinear polynomial systems, (ii) continuous-time linear systems, (iii) discrete-time nonlinear polynomial systems, and (iv) discrete-time linear systems. TRUST is a Python-based web application. It features an intuitive, reactive graphic user interface (GUI) built with web technologies. It can be accessed at https://trust.tgo.dev or installed locally. TRUST supports both manual data entry and data file uploads.

TRUST leverages the power of the Python backend and a JavaScript frontend. It is designed to be highly user-friendly and accessible across desktop, laptop, tablet, and mobile devices. The GitHub repository for TRUST can be found here.