Unstable Hinf Controller

Hello everybody,

I'm trying to design an Hinf-Controller for my application, the problem ist, that Matlab almost always produces an unstable controller. Can anyone give some hints what to do (how to choose weights, where I can find information on this topic, ...), in order to avoid unstable controllers.

All advice is appreciated.

thx, Marcus

Reply to
Marcus
Loading thread data ...

You, or Matlab, must be doing something very wrong.

The H-Infinity theory finds the best controller from the set of all stabilizing controllers.

Its possible your model has poles and zeros very close to the imaginary axis and you are suffering from numerical problems.

I recommend the book "Multivariable Feedback Control" by Skogestad and Postlethwaite (Published by Wiley).

Reply to
Michael Tombs

I think you got me wrong. The Hinf-Controller stabilizes the Plant very well (in simulation), but the Hinf-Controller for itself has unstable poles. When I download this controller to my test rig I get a oscillation with a frequency almost equal to the frequency of the Hinf-Controller's unstable poles. That's the problem. I also tried to setup a mu-Controller, but finally the same problem occurs.

Reply to
Marcus

Apologies for misunderstanding the question. I do recall seeing academic work on this (and it is touched upon in the above book) - there are some examples of systems where an unstable controller is required. If a stable controller exists the plant is said to be 'strongly stabilizable'. The only suggestion I have is to explicitly weight the control output in the Hinf cost function (if you have not already done so), so you include:

S for sensitivity to disturbances/ setpoint tracking (low pass weighting function) T for noise rejection / bandwidth limiting (high pass weighting function) and KS for control signal weighting. (high pass weighting function)

I do recall that even if forced to only have stable modes the controller may still contain very low damping modes (strictly stable but practically useless!).

Also is a controller with integral action stable? Due to the numerical problems with solving problems with poles and zeros on the imaginary axis I recall that you have to apply special techniques to get a controller with zero steady state error out of the design procedures.

Reply to
Michael Tombs

Is your plant unstable? What is the degree of the numerator in the linear model (transfer function)?

I Dahleh's textbook on robust control I read that if a plant is unstable and number of zeros is greater than or equal to 2, then the Hinf optimal controller is unstable.

I am not an expert on Hinf optimal control, but I suspect that standard textbook design procedures do not care about stability of the resulting controller. I would check some LMI based solutions to Hinf (sub)optimal problem, which enable to add some other constraints to the design as opposed to the standard two-Riccati-equation procedures found in Robust Control Toolbox and Mu-Synthesis Toolbox.

Zdenek

Reply to
Zdenek Hurak

Hi Zdenek, my plant is stable, it has 20 stable poles and 17 zeros. I'm not an expert,too and I'm not very deep into theorie of robust control. I heared of LMI, but I don't know anything about it, perhaps I should start changing this, can you suggest some literatur for "dummies" to start with? thx, Marcus

Reply to
Marcus

THX. The control-output is already weighted. I use two input and two output weights, these are appield to S,KS,GS,-KSG(=T?). Thought of using an other weighting scheme with an additional output weight for weighting T (-> mixed sensitivity weighting?), perhaps this fixes my problem.

My nominal plant has 20 poles and 17 zeros, none of them on the imaginary axis. The poles are slightly damped (1%). I think I don't need these pole-shifting techniques (btw: i heard of them, but i don't know how to apply them).

I watched the following: when applying weights that result in a Hinf-Controller with an undesired low corner frequency, the Controller for itself has only stable poles. Increasing this corner frequency by adjusting the weights, results in a controller with one or more undesired unstable pole-pairs.

Reply to
Marcus

Hi Marcus,

I cannot guarantee that LMI will give you an answer. In short, LMI stands for Linear Matrix Inequality and it has nothing to do with control field. It is just a mathematical stuff. But very useful in convex optimization. You can think of LMI optimization as kind of generalization of linear programming (LP) and quadratic programmin (QP). But the fact is that we find LMI optimization very useful in control. Lots of control problem can be formulated using LMIs and solved using appropriate solvers.

For a good start with LMIs, have a look at

Vandeberghe,L.,Boyd,S.Semide .nite programming .In SIAM Review,38(1):49-95, March 1996.

formatting link
~boyd/sdp.html

Boyd,S.,El Ghaoui,L.,Feron,E.,Balakrishnan,V.Linear matrix inequalities in system and control theory .Published by SIAM,volume 15 of Studies in Applied Mathematics, June 1994, ISBN 0-89871-334-X

Scherer,C. and Weiland,S. LMIs in Control .A graduate course at TU Delft.

formatting link
course in robust control theory -a convex approach .Springe- Verlag NewYork,2000.

You can perhaps find the following web pages interesting (a Matlab function HINFDES):

formatting link
It is fairly standard to use LMIs for Hinf design. It is no harder to design Hinf controller satisfying some constraint on H2 norm. So I guess (hope) that there are some results on stable Hinf controllers. But I don't think that you will get an answer just reading those references. It is sometimes pretty hard reading. Keep asking people around. I am afraid I cannot be of more help.

Zdenek

Reply to
Zdenek Hurák

Hi Zdenek,

thank you for your help + hints, I'll have a look at this LMI-stuff... Merry Xmas and Happy New Year.

Marcus

Reply to
Marcus

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.