Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

H-infinity controller in Simulink

876 views
Skip to first unread message

Anneli

unread,
Nov 4, 2009, 9:57:02 AM11/4/09
to
Hi,
I'm trying to understand how I can use h-infinity control in Simulink. Until now I have built a model in an m-file and applied h-infinity control (with the hinfsyn command).

Now I want to use h-infinity in Simulink. I've tried to follow an example in MATLAB Help (Controllers and Plants: Overview :: Case Studies (SimMechanics)) to understand the design. It's the Stewart platform control model. However, it doesn't seem to work.
When I start the model I get the following error message:

"Error evaluating function mech_model_environment: Too many outputs requested. Most likely cause is missing [] around left hand side that has a comma separated list expansion..."

There seems to be some problem with the modelled plant, but I have no idea what.
Does anyone know something about this?

Kind regards,
Anneli

Arkadiy Turevskiy

unread,
Nov 25, 2009, 11:44:05 AM11/25/09
to
"Anneli " <orvnas.A...@kth.se> wrote in message <hcs4nu$8e0$1...@fred.mathworks.com>...

Hi,
Hinfsyn returns a state space model that represents your H-infinity controller. Simply put a Simulink state space Block into your model and hook it up to the plant. Then define state space matrices using the Hinf controller you designed.

For example, design Hinf controller:
>>rand('seed',0);randn('seed',0);
>>P=rss(3,4,5);
>>[K,CL,GAM]=hinfsyn(P,2,2);

Now add a state space block to your Simulink model. THis is your controller. The input is the error signal and the output is the control request going into the plant.

Set state space block matrices:
A: K.a
B: K.b
C=K.c
D=K.d

see mech_stewart_platform/H_inf controller for an example.

HTH.
Arkadiy

0 new messages