functiondesignCraneControllerWithObserver

Design pole assignment controller and observer for an overhead crane

Information

This example demonstrates how to use pole placement function assignPolesMI to design a pole placement controller and an observer also using assignPolesMI as well. Function assignPoles is based on the Schur form of the state space matrix an also allows partial poles shifting [1].

An observer can be designed by applying assignPolesMI to the dual system (A', C', B'). The results, which are controller feedback matrix, observer feedback matrix, system model for usage in observer and a simple pre filter for tracking are saved to MATLAB files which can be used in ModelicaController library. It is also shown how to linearize a model of a crane trolley system [1]. The linear model is then used as a base for controller design.

References

 [1] Varga A. (1981):
A Schur method for pole assignment. IEEE Trans. Autom. Control, Vol. AC-26, pp. 517-519.
 

Inputs

TypeNameDefaultDescription
StringmodelName"Modelica_Controller.Examples.Components.Pendulum_small"name of the model to linearize
Complex[4]pa{-3.5 + 0*j, -3.5 + 0*j, -3.5 - 0.5*j, -3.5 + 0.5*j}assigned system poles
Complex[4]pob{-10 + 0*j, -10 + 0*j, -10 + 0*j, -10 + 0*j}assigned observer poles
StringfileNameDataDir + "craneController_small.mat"file name for results

Outputs

TypeNameDefaultDescription
Real[:,:]K_obfeedback matrix pole assignment controller
Real[:,:]K_pafeedback matrix pole assignment controller
Real[:,:]M_papre filter LQ controller