Skip to content

Latest commit

 

History

History
32 lines (19 loc) · 2.26 KB

README.md

File metadata and controls

32 lines (19 loc) · 2.26 KB

Pysindy Validation

Repo that aims to validate the power and usefullness of PySindy library

Getting started

We used the original PySindy repo published by Professor Steven Brunton team link

Objective

The goal of use PySindy is to identify the process dynamics of a SISO (single input, single output) system, so that we can have a better understanding of the dynamics that govern the process. Althoug we usually model a flow loop as a FOPDT (first order plus dead time) model, we wanna use PySindy to further understand the full dynamic behavior of the system.

We also have to remember that in real cases like this, the full dynamical system is governed by the process dynamics (air volumetric flow) + actuator dynamics (which is the control valve, typically a butterfly type of valve) + instrument dynamics (which is the flow sensor that uses differential pressure to measure flow) and finnally the closed loop PID controller dynamics.

Latter, we wanna try to use PySindy to model a MIMO (multiple input, multiple output) system, so that we can use a data-driven model identification approach and use the discovered model with a MPC controller.

How to run the repo

Clone the repo and run the jupter notebook pysindy_flowloop_example.ipynb

The src folder contains all the necessary python code to run the example.

Main referrences used to inspire us and also to guide us in order to use PySindy propperly.

  1. PySINDy: A Python package for the Sparse Identification of Nonlinear Dynamics from Data
  2. Youtube channel with System Identification lectures from the Brazillian Professor Luis Aguirre
  3. State space modeling example using python
  4. Kalman filter book and repo
  5. Cool Pysindy example found in the internet
  6. Amazing example and code inspiration that used PySindy