Thread Subject: H-infinity controller in Simulink

Subject: H-infinity controller in Simulink

From: Anneli

Date: 4 Nov, 2009 14:57:02

Message: 1 of 2

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

Subject: H-infinity controller in Simulink

From: Arkadiy Turevskiy

Date: 25 Nov, 2009 16:44:05

Message: 2 of 2

"Anneli " <orvnas.A.removeA@kth.se> wrote in message <hcs4nu$8e0$1@fred.mathworks.com>...
> 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

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

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
simulink aows abraheem 15 Sep, 2011 15:44:04
robust control ... shankar seelam 16 Dec, 2009 17:21:17
stewart platfor... shankar seelam 16 Dec, 2009 17:21:15
robust control ... Arkadiy Turevskiy 25 Nov, 2009 11:44:18
simulink Arkadiy Turevskiy 25 Nov, 2009 11:44:18
stewart platfor... Anneli 4 Nov, 2009 09:59:07
hinfinity Anneli 4 Nov, 2009 09:59:07
simulink Anneli 4 Nov, 2009 09:59:06
rssFeed for this Thread

Contact us at files@mathworks.com