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에 대해 자세히 알아보기

질문:

2016년 2월 27일

편집:

2016년 2월 29일

Community Treasure Hunt

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

Start Hunting!

Translated by