Structural Observability Analysis of Large Scale Systems Using Modelica and Python
M. Anushka S. Perera, Bernt Lie, Carlos Pfeiffer · Modeling Identification and Control A Norwegian Research Bulletin · 2015
State observability of dynamic systems is a notion which determines how well the states can be inferred from input-output data.For small-scale systems, observability analysis can be done manually, while for large-scale systems an automated systematic approach is advantageous.Here we present an approach based on the concept of structural observability analysis, using graph theory.This approach can be automated and applied to large-scale, complex dynamic systems modeled using Modelica.Modelica models are imported into Python via the JModelica.org-CasADiinterface, and the Python packages NetworkX (for graph-theoretic analysis) and PyGraphviz (for graph layout and visualization) are used to analyze the structural observability of the systems.The method is demonstrated with a Modelica model created for the Copper production plant at Glencore Nikkelverk, Kristiansand, Norway.The Copper plant model has 39 states, 11 disturbances and 5 uncertain parameters.The possibility of estimating disturbances and parameters in addition to estimating the states are also discussed from the graph-theory point of view.All the software tools used on the analysis are freely available.