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 个评论

Frankie Zhu
Frankie Zhu 2016-2-29
编辑:Frankie Zhu 2016-2-29
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.

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Linearization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by