Robust Control Problem -> bug (Matlab Robust Control TB) or understanding problem?

Translate This Thread From English to

Threaded View


Plz be so kind and look at the following link into the documentation
of the mixed sensitivity
function of matlab robust control toolbox.

http://www.mathworks.com/access/helpdesk/help/toolbox/robust/index.html?/access/helpdesk/help/toolbox/robust/mixsyn.html&http://www.mathworks.com/cgi-bin/texis/webinator/search/

In this doc a example is listet:

s=zpk('s');
G=(s-1)/(s+1)^2;

W1=0.1*(s+100)/(100*s+1); W2=0.1;

[K,CL,GAM]=mixsyn(G,W1,W2,[]);
L=G*K; S=inv(1+L); T=1-S;

sigma(S,'g',T,'r',GAM/W1,'g-.',GAM*G/ss(W2),'r-.')

My question is: They build two weighting functions W1 and W2. W1
weights the sensitivity and W2 weights the regulator function R(s) =
K(s)(I + K(s)G(s))^-1. I don't understand the plot/last line. Why do
the plot "GAM*G/W2", cause this weighting function isn't for
complementary sensitivity? Is it a bug in docs or do i have a really
understanding problem of the mixed sensitivity algorithm?


greetings Hugo

Re: Robust Control Problem -> bug (Matlab Robust Control TB) or understanding problem?



On 11 Dec., 11:26, stefan.e.ehrha...@googlemail.com wrote:

Try and look at the definition of sensitivity (S), control sensitivity
(R),
and complementary sensitivity (T). From this you can see that
T = G * R = G * K * S

The author has simply shown how T is bounded from the specification on
R.
I cannot tell you why they did not choose to plot the bound on R.

About the last line. The limitations are due to technicalities in the
algorithm for calculating H-infinitity controllers. Basically, the
weighted plant must be stabilizable, which is not the case
if the weighting functions are unstable.

Best regards,
Kasper

Re: Robust Control Problem -> bug (Matlab Robust Control TB) or understanding problem?





http://www.mathworks.com/access/helpdesk/help/toolbox/robust/index.html?/access/helpdesk/help/toolbox/robust/mixsyn.html&http://www.mathworks.com/cgi-bin/texis/webinator/search/

Sorry, I can't answer your questions. I don't use the mentioned software.

Using the process transfer function G(s) I found 3 possible solutions.

See
http://home.arcor.de/janch/janch/_news/20071212-hugo/

Page 4 seems to be a very robust control.


--
Regards/Grüße    http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann  eMail aktuell: janch@nospam.arcornews.de
                 Microsoft-kompatibel/optimiert für IE7+OE7



Re: Robust Control Problem -> bug (Matlab Robust Control TB) or understanding problem?




JCH,  did you notice the zero at 1?  Your example is wrong without the
zero at 1 and I don't see it represented in your differential equation/
transfer functon.  How do you represent a zero in a differential
equation?

Peter Nachtwey

Re: Robust Control Problem -> bug (Matlab Robust Control TB) or understanding problem?





G=(s - 1)/(s^2 + 2s + 1) = v1/v2

Time domain ODE
v1'' + 2*v1' + v1 = v2' - v2 given
v1'' +   v1' + v1 =     - v2 used

v1' = v2' approximately (See Page 2)

http://home.arcor.de/janch/janch/_news/20071212-hugo/

-v2 = exitation for v1


--
Regards/Grüße    http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann  eMail aktuell: janch@nospam.arcornews.de
                 Microsoft-kompatibel/optimiert für IE7+OE7



Re: Robust Control Problem -> bug (Matlab Robust Control TB) or understanding problem?




That must be nice.  If you can't solve the problem then ignore it or change
it one you can,  maybe.
There is still an obvious problem. When v1" and v1' reach steady state or 0
then v1=-v2. Your graph shows v1=v2
Why don't you just call v1 a velocity, v1' acceleration and v1" jerk?

Peter Nachtwey




Re: Robust Control Problem -> bug (Matlab Robust Control TB) or understanding problem?





v1'' + 2*v1' - v2' + v1 = -v2
       ^^^^^^^^^^^
           if
        v1' = v2'
          then
 v1'' + v1' + v1 = -v2

     -v2 = exitation

v1 is always the variable to be controlled!

See Definition Page 1
http://home.arcor.de/janch/janch/_news/20071212-hugo/


--
Regards/Grüße    http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann  eMail aktuell: janch@nospam.arcornews.de
                 Microsoft-kompatibel/optimiert für IE7+OE7



Re: Robust Control Problem -> bug (Matlab Robust Control TB) or understanding problem?




Anybody can tell just by looking that

is not right.
First, the original G(s) was critically damped.  Your modified
solution is under damped.
Second,  the original G(s) had a positive zero ( non-minimum phase )
which means v1 will go in the positive before going negative in
response to a step of +1.  Your simplified solution has no zeros at
all so it immediately goes in the negative direction in response to a
step of one. Your graphs still go in the wrong direction.  Have you
plotted the difference between hugo's G(s) and your G(s)?  Try getting
the simple things right first like having the graph go in the right
direction or maybe take a break and study a bit.

Peter Nachtwey


Peter Nachtwey



Re: Robust Control Problem -> bug (Matlab Robust Control TB) or understanding problem?



On 11 Dez., 11:26, stefan.e.ehrha...@googlemail.com wrote:

My original problem is clear now. Like in most cases, the problem is
infront of the computer ^^. So what did they do?

sigma(S,'g',T,'r',GAM/W1,'g-.',GAM*G/ss(W2),'r-.') % the "problematic"
plot

The weighting function W2 is in most cases for specifing R(s) = K(s) /
( I + K(s)G(s) ). The infinity norm is | R(s)*W(s) | =< gamma. Well!
Now we multiply the plant G(s) to the norm:

| R(s)*W(s)*G(s) | =< gamma*| G(s) | So what we got here is: |
K(s)G(s) / ( I + K(s)G(s) ) | =< gamma * | G(s) / W(s) |.  It was so
easy, but i didn't realise it.

Re: Robust Control Problem -> bug (Matlab Robust Control TB) or understanding problem?



On 11 Dez., 11:26, stefan.e.ehrha...@googlemail.com wrote:

My original problem is clear now. Like in most cases, the problem is
infront of the computer ^^. So what did they do?

sigma(S,'g',T,'r',GAM/W1,'g-.',GAM*G/ss(W2),'r-.') % the "problematic"
plot

The weighting function W2 is in most cases for specifing R(s) = K(s) /
( I + K(s)G(s) ). The infinity norm is | R(s)*W(s) | =< gamma. Well!
Now we multiply the plant G(s) to the norm:

| R(s)*W(s)*G(s) | =< gamma*| G(s) | So what we got here is: |
K(s)G(s) / ( I + K(s)G(s) ) | =< gamma * | G(s) / W(s) |.  It was so
easy, but i didn't realise it.

Re: Robust Control Problem -> bug (Matlab Robust Control TB) or understanding problem?





Try this. It is the best possible robust control for any sytem.

Compensation C(s)

G(s)*C(s) = 1
C(s) = 1/G(s)


--
Regards/Grüße    http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann  eMail aktuell: janch@nospam.arcornews.de
                 Microsoft-kompatibel/optimiert für IE7+OE7



Site Timeline