“Structural Observability Analysis of Large Scale Systems Using Modelica and Python”

Authors: M. Anushka S. Perera, Bernt Lie and Carlos F. Pfeiffer,
Affiliation: Telemark University College
Reference: 2015, Vol 36, No 1, pp. 53-65.

Keywords: Structural observability, Modelica, large-scale systems, CasADi, Python, graph-theory, JModelica.org, NetworkX, PyGraphviz

Abstract: 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-CasADi interface, 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.

PDF PDF (1830 Kb)        DOI: 10.4173/mic.2015.1.4

DOI forward links to this article:
[1] M. Anushka S. Perera, Tor A. Hauge and Carlos F. Pfeiffer (2015), doi:10.4173/mic.2015.3.6
[2] M. Anushka S. Perera, Tor Anders Hauge and Carlos Fernando Pfeiffer (2016), doi:10.7763/IJMO.2016.V6.540
[3] D.W.U. Perera, M. Anushka S. Perera, Carlos F. Pfeiffer and Nils-Olav Skeie (2016), doi:10.4173/mic.2016.3.3
[4] Nikolaos Bekiaris-Liberis, Claudio Roncoli and Markos Papageorgiou (2017), doi:10.1016/j.trb.2017.11.001
[5] O.M. Brastein, A. Ghaderi, C.F. Pfeiffer and N.-O. Skeie (2020), doi:10.1016/j.enbuild.2020.110236
[6] Anahita Moradmand, Milad Siami and Bahram Shafai (2021), doi:10.23919/WAC50355.2021.9559612
[7] Guilherme Ramos, A. Pedro Aguiar and Sergio Pequito (2022), doi:10.1016/j.automatica.2022.110229
[1] Anh, N. T.T. (2012). Spanning Cacti for Structurally Controllable Networks, Master's thesis, Department of Mathematics, National University of Singapore.
[2] Bondy, A. and Murty, U. S.R. (2008). Graph theory, Graduate texts in mathematics. Springer.
[3] Boukhobza, T. and Hemlin, F. (2007). Observability analysis for structured bilinear systems: a graph- theoretic approach, Automatica. 43(11). doi:10.1016/j.automatica.2007.03.010
[4] Cellier, F.E. and Kofman, E. (2006). Continuous System Simulation, Springer.
[5] Daoutidis, P. and Kravaris, C. (1992). Structural evaluation of control configurations for multivariable nonlinear processes, Chemical Engineering Science. 47:1091--1107. doi:10.1016/0009-2509(92)80234-4
[6] Jazwinski, A.H. (2007). Stochastic Processes and Filtering Theory, Dove Publications, Inc., Mineola, New York.
[7] Lie, B. and Hauge, T.A. (2008). Modeling of an industrial copper leaching and electrowinning process, with validation against experimental data, Proceedings SIMS 2008, 49th Scandinavian Conference on Simulation and Modeling.
[8] Lin, C.T. (1974). Structural controllability, IEEE Transactions on Automatic Control. 19(3). doi:10.1109/TAC.1974.1100557
[9] Liu, Y.-Y., Slotine, J.-J., and Barabasi, A.-L. (2011). Controllability of complex networks, Nature. 473:167--173. doi:doi:10.1038/nature10011
[10] Liu, Y.-Y., Slotine, J.-J., and Barabasi, A.-L. (2012). Observability of complex systems, Proceedings of the National Academy of Sciences of the United States of America. 110(7):2460--2465. doi:10.1073/pnas.1215508110
[11] Pantelides, C.C. (1988). The consistent initialization of differential-algebraic systems, SIAM Journal on Scientific Computing. 9(2). doi:10.1137/0909014
[12] Perera, A. (2014). Using casadi for optimization and symbolic linearization/extraction of causality graphs of modelica models via jmodelica, org. Technical Report HiT_rapport_5, Telemark University College, Kjo lnes ring 56, P.O. Box 203, N-3901 Porsgrunn, Norway.. https://teora.hit.no/handle/2282/2175.
[13] Perera, A., Pfeiffer, C., Hauge, T.A., and Lie, B. (2014). Making modelica models available for analysis in python control systems library, Proceedings SIMS 2014, 55th Scandinavian Conference on Simulation and Modeling.
[14] Astroem, K.J. (2006). Introduction to Stochastic Control Theory, Dove Publications, Inc., Mineola, New York.
[15] Reinschke, K.J. (1988). Multivariable control: a graph theoretic approach, Lecture notes in control and information sciences. Springer- Verlag, Berlin, New York. http://opac.inria.fr/record=b1086834.
[16] Simon, D. (2006). Optimal State Estimation: Kalman, H Infinity, and Nonlinear Approaches, John Wiley & Sons, Inc., Hoboken, New Jerse.

  title={{Structural Observability Analysis of Large Scale Systems Using Modelica and Python}},
  author={Perera, M. Anushka S. and Lie, Bernt and Pfeiffer, Carlos F.},
  journal={Modeling, Identification and Control},
  publisher={Norwegian Society of Automatic Control}