Repo that aims to validate the power and usefullness of PySindy library
We used the original PySindy repo published by Professor Steven Brunton team link
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.
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.
- PySINDy: A Python package for the Sparse Identification of Nonlinear Dynamics from Data
- Youtube channel with System Identification lectures from the Brazillian Professor Luis Aguirre
- State space modeling example using python
- Kalman filter book and repo
- Cool Pysindy example found in the internet
- Amazing example and code inspiration that used PySindy