Real-Time Linearization

Hey there! I'm working with MATLAB 2015b on a research license, which offers many awesome comprehensive tools like the Linear Analysis Toolbox for controls applications. There was a previous post about this topic but the conclusion was it cannot be done: http://www.mathworks.com/matlabcentral/answers/35783-real-time-linearization-in-simulink-for-nonlinear-miso-system I'm hoping that between then and now, a technology gap was filled.
I have a nonlinear MIMO dynamics model in which I'm trying to linearize the plant at every time step, calculate a control input with the linearized compensated system (A-BK), then propagate nonlinear dynamics. I understand how to linearize at the initial conditions instantaneously, but I don't understand how to linearize a simulink model in real time, then use that linearization within the simulink model to create a control input.
I have a theory of how to to do it, but if someone has a better way, please comment!
My theory is analogous to a breakout board: Initialize Simulink model state variables at t0 Linearize and retrieve A and B matrix within a script Calculate control input Feed control input into Simulink model at t0 Propagate nonlinear dynamics within Simulink model to t1 repeat

1 comentario

Frankie Zhu
Frankie Zhu el 29 de Feb. de 2016
Editada: Frankie Zhu el 29 de Feb. de 2016
I asked my advisor about this and it's called adaptive control. It involves constantly perturbing the model to observe a reaction, then using system id to get the linear model, then using that model to design a control input. It doesn't always guarantee stability and is very hard to implement in real life. It 'may' be possible to have a function call block within your model to linearize the simulink model it is currently in, granted that your io do not encapsulate that block, but I haven't tried it and I'm doubtful of the success.
I've moved on to different methods.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Preguntada:

el 27 de Feb. de 2016

Editada:

el 29 de Feb. de 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by