This is what you do about non-linearities

Translate This Thread From English to

Threaded View


http://www.motioncontrolonline.org/i4a/pages/Index.cfm?pageID622
I can back up the authors opinions with my experiences.  It isn't just
marketing fluff.

Peter Nachtwey


Re: This is what you do about non-linearities




Very Crude-But I suppose if it suffices for your application then it
is the right "approach".
In the Defense industry we increase the RMS noise figure on the plant
and sensor in our EKF's to compensate for the uncertainty in the
modeling.

The author mentions Friction and Sticktion.  Friedland and Haessig
have worked out a Friction compensator which relies on the use of a
Nonlinear Friction Observer.  This may improve their motion control so
that they dont need to generate 10,000 "offsets" or whatever they
think they are doing.

sam

Re: This is what you do about non-linearities



Is this your first post?


Relatively, but the defense industry doesn't have to make a profit.
It doesn't have to make commerical products that average Joe can use.
There are few if any people that monitor this forum that would even
know what an observer is, let alone a Kalman filter or an extend
Kalman filter.  How crude is that?  I think observers provide an
excellent bang for the buck but average Joe doesn't even know they
exist or what they do?

Peter Nachtwey

Re: This is what you do about non-linearities




You want to bet on that?  The defense industry has a lot of costs,
admittedly.  But defense contractors are in this industry to make
money.  Thats why all the contracts are filled with tons of fat.


It doesnt have to,  but it does.  All the big defense contractors have
commercial arms.
Many commercial companies have defense arms (3COM does work for DoD,
Qantas has Qantas Defense Services).


Exactly.  Lets shift the drift.



Re: This is what you do about non-linearities



On Tue, 19 Feb 2008 16:18:00 -0800, Sam wrote:


If they're really doing blind adaptive filtering, then I wouldn't call it
'crude'.  Making something that'll bolt on to anything and figure out the
parameters impresses the heck out of _me_!

--
Tim Wescott
Control systems and communications consulting
http://www.wescottdesign.com

Need to learn how to apply control theory in your embedded system?
"Applied Control Theory for Embedded Systems" by Tim Wescott
Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html

Re: This is what you do about non-linearities




I don't think what is being described in the 'how it works' paragraph
is that impressive.  We do the same thing.  The 'how it works'
paragraph says the observer starts with the model. This model is
usually obtained during the auto tuning part of the start up
procedure.  The observer model doesn't change dynamically.   As stated
in the article, the goal is to estimate the second derivative term.

It is easy to bolt on an observer to just about anything.

Accurately changing the system transition matrix on-the-fly is the
real trick and observers don't do that.

Peter Nachtwey

Re: This is what you do about non-linearities




I think it's a great technique, unfortunately I haven't been able to
apply it since I realized what was going on in 90's.
I do have a problem with 30:1.  Aside from integration, every
technique I have seen only improves things 5:1 to 10:1; and then you
have to reanalyze to remove errors that were invisible before.
Reports of dramatic improvements almost always have hidden baggage.
Of course 25:1 is only two 5:1's .

Just my experience,
Ray

Re: This is what you do about non-linearities




Here is an example from last fall.   JCH provided us data to practice
our system identification skills.  Andrew identified the system as a
second order system.  You can see that if the second order model is
used to compute PID gains they will not work when applied to the
'real' fifth order plant.

This .pdf shows the PID gains will control Andrew's model but will not
control the 'real' fifth order plant that generated the data used for
system identification.
ftp://ftp.deltacompsys.com/public/NG/Mathcad%20-%20t0p5%20PID%20ITAE%20Andre=
w.pdf

Unfortunately the thread stopped there.

What I didn't point out is that Andrew's second order model can be
used to make an observer.   This would obviously be a second order
observer generated by Andrew's second order model.   Then his
controller can be used to control his observer and even though it is
imperfect it still works well enough but it isn't pretty.

ftp://ftp.deltacompsys.com/public/NG/Mathcad%20-%20t0p5%20PID%20ITAE%20obs%2=
0Andrew.pdf

The point is that the average Joe does not have a controller with 6
gains.  He has a PID and with a little math one can make a simple
observer that makes all the difference as to whether the system is
controllable or not.  There is magic in those observers and one can
implement the run time part of an observer in a few Control Logix
compute blocks or in STL.   The coefficients can be calculated off
line.

Peter Nachtwey



Re: This is what you do about non-linearities




identification.ftp://ftp.deltacompsys.com/public/NG/Mathcad%20-%20t0p5%20PID%20ITAE% ...

I haven't really analyzed the two papers but two things stand out:

1) I could certainly do better in the PID case when delivering a
loop.  Suboptimal gains
seem to be set.
2) You actually have 7 gains in the second example; which have to be
set.  4 matrix entries and Ki, Kp, Kd .
3) Superficially it seems you have actually implemented a 4 state
controller; first the observer states and then the PID controller
states.  I have to write out the system block diagram/description to
be sure.

I am just commenting on the two papers.  I do think the observer
approach has
a lot of advantages in loop compensation.
I will try to work through the papers more carefully.

RayR

Re: This is what you do about non-linearities





identification.ftp://ftp.deltacompsys.com/public/NG/Mathcad%20-%20t0p5%20PID%20ITAE% ...

Which two out of the three?

Define suboptimal. The gains are optimized to provide a minimum ITAE
response. I prefer pole placement myself.  I can get a nice crtically damped
reponse if I want but since the 'real' system in already critically damped
in open loop,. I thought something more aggressive would be appropriate.


There are only three gains Ki Kp and Kd.  This is all there is on a standard
PLC PID.
.

The observer is just a second order observer.  The PID is controlling the
second order observer and the 'real' system.  The 'real' system updates the
second order controller which the PID uses for feed back.


Take your time and ask questions.  I can answer and Sam alsoshould also be
able to explain such a crude method of control.
BTW, you state that the PID gains were sub optimal.  Look at this fifth
order observer for the fifth order 'real' system.
You can see that the observered/estimiate higher order derivatives match the
'real' derivatives.
ftp://ftp.deltacompsys.com/public/NG/Mathcad%20-%20T0P5%20OBS.pdf
The key thing to learn here is that quantizing 'non-linearities' make normal
methods of calculating higher order derivatives impossible,but an observer
can estimate higher order derivatives very accuratlely.

Peter Nachtwey






Re: This is what you do about non-linearities




identification.ftp://ftp.deltacompsys.com/public/NG/Mathcad%20-%20t0p5%20PID%20ITAE% ...

Looking over the code
1) Why wasn't Kp applied to the error (r-y0) like the Ki ?
2) Did you check that the conversion to the discrete domain didn't
push the closed loop poles outside the unit circle?  You attribute the
limit cycle to the resolution, but it's no obvious that closed loop z
domain is stable.  I started to compute the z poles, but I really have
to do some "real" work now.

RayR

Re: This is what you do about non-linearities



RRogers wrote:

I used the I-PD form of the PID.  If often use that when the target is
changing in steps because it doesn't suffer from the derivative kick.
Also the controller  doesn't add zeros which will cause over shoot in
response to step inputs.  Basically it is one of the different horse
for different course sort of thing.  Now if I am trying to follow a
motion profile then I use a normal PID because a motion controller
doesn't make step changes in position and the zeros extend the
bandwidth.



On what page of which .pdf?   I should check the z poles on the last
example where the output is all over the place.  It will take a minute
or two.

Peter Nachtwey

Re: This is what you do about non-linearities




Ah.., I have to look at T(s) more closely then.  I tracked the
comments.  I know; I should always look at the source code:)


State Estimation and Control of a Type 0 5th Order System
ftp://ftp.deltacompsys.com/public/NG/Mathcad%20-%20T0P5%20OBS.pdf
I was taking the comments there out of context and applying them to
the other papers; sorry.

RayR


Site Timeline