Controlled position acceleration on the basis of a known process transfer function

Translate This Thread From English to

Threaded View


<cited from Mikolaj>
What are you talking about this time?
I have no idea how to talk to you to be understand.
And once again, please, start new subject
and tell me or us, what are you trying to show or say.

I have been trying to find a very good solution.

On the basis of Peter's process transfer function that can be found in
ftp://ftp.deltacompsys.com/public/NG/Mathcad%20-%20T1C1%20PD2D.pdf
I would like to compare solutions found preferably by Mikolaj or other
expert. I am looking for the best possible solution as far as controlled
movement (position) is concerned.

The benchmark data should also be taken from Peter's paper mentioned.

The main interest now is controlled velocity and acceleration in time
domain.

Note to Peter:
Your control output (+/-10, green line) seems to drive into the end
positions. Is there a sudden stop of the actuator? The forces would be very
high. I'd like to see a solution avoiding such a sudden stop.

English is not my mother tongue. Sorry.

--
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: Controlled position acceleration on the basis of a known process transfer function




: <cited from Mikolaj>
: What are you talking about this time?
: I have no idea how to talk to you to be understand.
: And once again, please, start new subject
: and tell me or us, what are you trying to show or say.
:
: I have been trying to find a very good solution.
:
: On the basis of Peter's process transfer function that can be found in
: ftp://ftp.deltacompsys.com/public/NG/Mathcad%20-%20T1C1%20PD2D.pdf
: I would like to compare solutions found preferably by Mikolaj or other
: expert. I am looking for the best possible solution as far as controlled
: movement (position) is concerned.
:
: The benchmark data should also be taken from Peter's paper mentioned.
:
: The main interest now is controlled velocity and acceleration in time
: domain.
:
: Note to Peter:
: Your control output (+/-10, green line) seems to drive into the end
: positions. Is there a sudden stop of the actuator?

I updated the link
ftp://ftp.deltacompsys.com/public/PDF/Mathcad%20-%20T1C1%20PD2D.pdf
I now show the velocity and acceleration during the motion.  You can see
there is no sudden stop.  The output is limited to +/- 10 volts but you can
see the output drops to 0 as the actual position reaches the target
position.

However,  accelerations and velocities reached are very high.  4g and 386.4
in/sec^2.   This is not realistic unless it was a die casting machine and a
die casting machine would have a much higher natural frequency.  Die casting
machines go much faster too.

Remember, I have admitted that the test system is rigged and not meant to be
easy.  I choose it to make a point.   The main goal was to make those that
think they could tune a system drink a lot of coffe.  I can see it gave
everyone a challenge.  I do use this as my theoretical test system.   It was
like playing soccer ( football ) with my ball on my field.  I admit it.   I
wonder how many pots of coffee the tweakers drank while tuning it.  We will
never know.

Also, I included another graph showing just the first step using the direct
s domain to time domain conversion.  The result equation in the time domain
does not take into account ZOH, or the +/- 10 volt limitation of the
controller.

: The forces would be very
: high. I'd like to see a solution avoiding such a sudden stop.

You should see the things are moved using our controllers and the forces
involved.  I have customers wanting to make moves like all the time.
Wanting and doing are two different things.  My controllers just shuffles
around electrons.  It is the mechanical guys that must supply the muscle.
:
: English is not my mother tongue. Sorry.

Your written English is fine.  It is the lack of explanation of your
diagrams.  Scilab scripts with comments would be excellent.
BTW,  I can't translate the scanned text on your website into English using
babelfish.  I can translate the webpage text.  It bothers me that I am
making my posts with links to .pdf files that can't be easily translated.
I wish Mathcad would generate html files that can viewed by all browswers
and work with all servers.  I would then generate .html files instead.
Sorry about that guys.

Peter Nachtwey


Re: Controlled position acceleration on the basis of a known process transfer function



napisa³(a):

(...)

(...)

I agree with Peter. Scripts would be fine.


--
Mikolaj

Re: Controlled position acceleration on the basis of a known process transfer function





You can learn a lot about controlling velocity, acceleration, deceleration
and jerk(derivative of acceleration) by looking at modern high speed
elevator control. This type of control is needed to give a smooth ride. Jerk
control is particularily important during  starting and stopping of the
elevator. Google ...elevator jerk control and you will find a number of
references on the subject.

Fred Thomasson



Re: Controlled position acceleration on the basis of a known process transfer function



"Fred Thomasson" <fthomasson at comcast.net> wrote in message
:
: > The main interest now is controlled velocity and acceleration in time
: > domain.
:
: You can learn a lot about controlling velocity, acceleration, deceleration
: and jerk(derivative of acceleration) by looking at modern high speed
: elevator control.

So how does one do this? Mikolaj asked this excellent question about how
does one calculate the error in higher order derivatives when JCH mentioned
his PD^3 controller.

There isn't any real data on how this is done on  the internet.  I have
looked but maybe something new has appeared.

I was in Finland recently and I was impressed with the speed and smoothness
of the motion control in the elevators I where I was staying.   I notice
things like that and think I can do better but these elevator controllers
were excellent.

Peter Nachtwey
 


Re: Controlled position acceleration on the basis of a known process transfer function





State of the art are using PCs for industrial use if necessary or useful.
Yesterday I simulated 'mathematically' an inverted 100% time-compensated
pendulum. I didn't even linearize the system.

With 8bit MCU? No, thank you.

See for error:
http://home.arcor.de/janch/janch/_news/20070426-nachtwey/

I used example data:
http://www.control.utoronto.ca/~broucke/ece557f/Labs/557Lab3.pdf

--
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: Controlled position acceleration on the basis of a known process transfer function




"Fred Thomasson" <fthomasson at comcast.net> schrieb im Newsbeitrag

I applied a jerk filter (3rd order) to Peter's process transfer function
template.

With jerk filter: Example
http://home.arcor.de/janch/janch/_news/20070426-thomasson/

Without jerk filter: Example Seite 2
http://home.arcor.de/janch/janch/_news/20070424-mikolaj/

You can see that acceleration can be smoothed using jerk filters. See also
the slight negative acceleration at t = 0.1 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



Re: Controlled position acceleration on the basis of a known process transfer function




When you use you K/(K+1) transfer function the process doesn't matter.

You shouldn't need jerk filter.  Look at my .pdf closely.  I have made
sure the three poles for the closed loop transfer function are at
-2*PI*10.
My closed loop characteristic equation (CE) is (s+2*PI*10)^3 or since
you use time constants.
Tau=1/(2*PI*10)
CE=(Tau*s)^3+3(Tau*s)^2+3*(Tau*s)+1
I have made the whole transfer function into a 'jerk filter'.

It is hard to tell where you get you coefficients for your filter.
http://home.arcor.de/janch/janch/_news/20070426-thomasson/
You can't be using just one time constant multiple times like I am
doing.  If you were then the coefficients would have a binomial
pattern like 1 3 3 1 in my example.

Would you stop using your fantasy K/(K+1) transfer function!  I am
trying to help but you are being very stubborn.

Peter Nachtwey




Re: Controlled position acceleration on the basis of a known process transfer function





When you use you K/(K+1) transfer function the process doesn't matter.

You shouldn't need jerk filter.  Look at my .pdf closely.  I have made
sure the three poles for the closed loop transfer function are at
-2*PI*10.
My closed loop characteristic equation (CE) is (s+2*PI*10)^3 or since
you use time constants.
Tau=1/(2*PI*10)
CE=(Tau*s)^3+3(Tau*s)^2+3*(Tau*s)+1
I have made the whole transfer function into a 'jerk filter'.

It is hard to tell where you get you coefficients for your filter.


Jan:

I have programs for 'designing' any wished filter up to order 5 by
calculating, not try and error methods.


Peter:

http://home.arcor.de/janch/janch/_news/20070426-thomasson/
You can't be using just one time constant multiple times like I am
doing.  If you were then the coefficients would have a binomial
pattern like 1 3 3 1 in my example.


Jan:

See above.


Peter:

Would you stop using your fantasy K/(K+1) transfer function!  I am
trying to help but you are being very stubborn.


Jan:

That's not a nice argument. Better arguments:

PD controller: C(s)=Kc*(1+Tc*s) wrong[ ], right[ ]
PT1 process  : P(s)=Kp/(1+Tp*s) wrong[ ], right[ ]
1. Exercise: What is C(s)*P(s) if constants Tc=Tp?
Answer: ?

PD3 controller: C(s)=Kc*(1+B1*s+B2*s^2+B3*s^3) wrong[ ], right[ ]
PT3 process   : P(s)=Kp/(1+A1*s+A2*s^2+A3*s^3) wrong[ ], right[ ]
2. Exercise:
What is C(s)*P(s) if constants A1±, A2², A3³
Answer: ?

3. Exercise:
Can I say that Kc*Kp=k ?

4. Exercise:
Put this C(s)*P(s) in a closed loop.
Answer: ?

5. Exercise:
Is Kp a given factor and can Kc be tuned? E.g. high gain.
Answer: ?

Remarks: PD^3=PD3, Please mark [ ] positions for clearness. Anyone may try
this test.

--
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: Controlled position acceleration on the basis of a known process transfer function




[...}

Mathematical answers (solution):
http://home.arcor.de/janch/janch/_control/20070428-controldoc/
Example data A_i

--
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: Controlled position acceleration on the basis of a known process transfer function




You put a lot of effort into this and have explained what you have
done clearly, good.  However, you are still using your fantasy filter
with infinite gain, not good.  Why? You know it can't work.  Are you
going to persist with this fantasy filter or do you want to know how
to design a controller the correct way?  I can start with a simple
plant.  With all the effort you have put into this you could have
followed my example of solving for gains using Ackermann's equations.

You are not using the transfer function to control the response.  You
are using what you call a jerk filter to control the response but you
can see that your jerk filter is limited.  You can't control the
acceleration, velocity or deceleration as a function of time with a
filter.

I doubt anyone actually uses a filter to control velocities and
accelerations.  One could use them to limit velocities and
accelerations though because I know we do in some applications.  We
prefer to use a motion profile generator or target generator to do
this most of the time.  Every once in a while we must follow an analog
reference from a joy stick or PLC and the reference may make step
changes but that is not the norm.

JCH, how are you going to calculate the error in acceleration and jerk
with your fantasy filter?  The derivative is a gain on the error in
the rate of change.  Your PD^3 suggest you also need to calculate the
error in the second and third derivatives in the rate of change.
How?  So far you have dodged my questions and Mikolaj's question on
this point.  I will not reply to you again until you
1. give up on your fantasy filter.
2. Show us how to calculate the error in the triple derivative.  ( You
can't so you should give up ).
Hint, give up and ask how to design controllers right.  You have seen
one good example but perhaps a simpler example would be better.

Peter Nachtwey



Re: Controlled position acceleration on the basis of a known process transfer function





You put a lot of effort into this and have explained what you have
done clearly, good.  However, you are still using your fantasy filter
with infinite gain, not good.  Why? You know it can't work.  Are you
going to persist with this fantasy filter or do you want to know how
to design a controller the correct way?  I can start with a simple
plant.  With all the effort you have put into this you could have
followed my example of solving for gains using Ackermann's equations.

You are not using the transfer function to control the response.  You
are using what you call a jerk filter to control the response but you
can see that your jerk filter is limited.  You can't control the
acceleration, velocity or deceleration as a function of time with a
filter.

I doubt anyone actually uses a filter to control velocities and
accelerations.  One could use them to limit velocities and
accelerations though because I know we do in some applications.  We
prefer to use a motion profile generator or target generator to do
this most of the time.  Every once in a while we must follow an analog
reference from a joy stick or PLC and the reference may make step
changes but that is not the norm.

JCH, how are you going to calculate the error in acceleration and jerk
with your fantasy filter?  The derivative is a gain on the error in
the rate of change.  Your PD^3 suggest you also need to calculate the
error in the second and third derivatives in the rate of change.
How?  So far you have dodged my questions and Mikolaj's question on
this point.  I will not reply to you again until you
1. give up on your fantasy filter.
2. Show us how to calculate the error in the triple derivative.  ( You
can't so you should give up ).
Hint, give up and ask how to design controllers right.  You have seen
one good example but perhaps a simpler example would be better.


Jan:

Why don't you give me your answers to the exercise?
Or just tell me what's wrong in my controldoc:
http://home.arcor.de/janch/janch/_control/20070428-controldoc/

Please mathematically! You have just 'stated your opinion' so far. That is
not enough for a science discussion forum.

Remark:
The 1st, 2nd and 3rd derivatives are calculated using integration.
You just need 3 'integrators' for getting them. I told you before:
http://home.arcor.de/janch/janch/_news/20070429-nachtwey/
Revised for clearness

If you don't accept or avoid Control Theory we will better stop discussion
on this point.

--
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: Controlled position acceleration on the basis of a known process transfer function




(...)

First, read groups FAQ and learn how to properly
answer the posts and how to cite so it can be
human readable. That's for an order.

1.
You don't have them (derivatives). It is just a model.
You show us how would you like to control matematical model.
It's like proving that 2=2.
This derivatives doesn't exist in real object
(you can't measure this signals,maybe one of them)
and this model doesn't represent real structure.
It is whole abstractive. So you don't have derivatives.
If you want them, you *must* build observer.
(so far 1st order controller is simplier and cheaper then your idea)

2. Reversing object will have terrible effects because
of inacuracy of modeling your object. Try to simulate some input signals  
(square, sine, saw)
when white noise applied and with object ucertainty presence (model  
parameters A are varying
randomly in some range i.e. +-5%).
(so far the 1st order controller will be safer and so on...)

Reversing object is not always possible.
If your object has a nonminimum zero (s-1) or (s-someT)
you will destabilize your system.

(so far 1st order controller .... you already know that mantra...)

3.

Your proposition will require strong PC with very good
accuracy, it can be only applied to stable and minimum phase object,
it will require very good model (not always possible and always very  
expensive
to do research) and still will not work :).

First year student of Control Theory will apply then
1st order controller build with one IC amplifier, one capacitor
and 3 resistors and it will work excellent.

(If you have object with
near pole and zero, your PC's precision could cause
mistakes in calculations. )

Summary:
Reversing object is very bad idea and will not work well
in reality. And the very basis of Control Theory explain that well.
You should read some of it and also read about computer simulations.
Someone already point you that your simulation have nothing common to  
reality.
Yor model are wrong and not realistic. Model and smulation are good
when they represent reality. Mind that.


--
Mikolaj

Re: Controlled position acceleration on the basis of a known process transfer function





Does this say anything to you: Fig. 2
http://home.arcor.de/janch/janch/_control/20070428-controldoc/


Better comparison:
Theory: 2/2 = 1
Practice: 2.00000000000001/1.97 = 1.015 ~ 1

Nothing is 100%!


You have them:
White box: physical (Peter's process transfer function)
Back box: approximative (process identification)
Peter used them, too.


Observers are alternatives to state space techniques. But not the same.


... and on/off controllers are more simplier and cheaper. The are more used
then PID controllers. There are some areas in the world they even don't use
on/off controllers or any control theory.


See discussion:
State-space Control for Disturbance Rejection with Multiple Actuator
... and give your answers there.


Integrating (I) controller and integrating process transfer function would
not work. Generally it can be done to a high degree if process can be
identified. Simulations can show this.


I have never had problems. Just tune Td = 0 ... x seconds.


PC: 15 decimals +/-10^300 range! You never need that much.


That's just for a PI controller that can be made. He couldn't make a loop.
For PT1 he needs in addition 1 resistor and 1 capacitor (RC element).

Look at that guy and his equipment:
http://www.mast.queensu.ca/~dtyner/ControlLab/single-pendulum.mpg
I guess 2nd year student.


PC: 15 decimals +/-10^300 range! (29 decimals would be possible)


What have in mind:

1. Example: Standard

                   Kc*(1 + Td * s + 1/(s*Ti))
F1(s) * F2(s) = ------------------------------- = ? bad compensation
                Kp*(1 + A1*s + A2*s^2 + A3*s^3)

Millions of loops work like that. In theory and in practice. I have done
this for years.

2. Example: Improved

                Kc*(1 + B1*s + B2*s^2 + B3*s^3)
F1(s) * F2(s) = -------------------------------  = 1 best compensation
                Kp*(1 + A1*s + A2*s^2 + A3*s^3)

The integral part 1/(s*Ti) can be added for correcting, not optimizing:
http://home.arcor.de/janch/janch/_control/20070428-controldoc/

The integral action is worsening the loop behavior!

When I tuned power stations I had this in mind and had to rewire the
electronics to meet requirements if planning was bad.

In the year 2007 you have all what I then didn't have.
            ^^^^
What did I before?

On a steady state basis operation I changed the input value 5% and measured
the process values. Then I added derivatives signals to PID (PIDD) and so on
to improve the result. And now we have means to implement PIDDD. But then
you can't do it with try and error methods.

Now I'm not any more in charge in that business and have written a program
that does what is necessary. Using the measured values mentioned I
calculate the coefficients (Ai) of any process transfer functions (system
identification).

This is accomplished by least-square methods: Example
http://home.arcor.de/janch/janch/_news/20070503-mikolaj/

I guess similar programs were written by others.

We already discussed a 'known process transfer function' from Peter so far.
System identification is another point. It is necessary for state space
control or using observers:
http://en.wikipedia.org/wiki/State_space_ (controls)#Canonical_realizations

If thoroughly done it is the best you can do in practice. You need half as
long for tuning complex systems or systems that cannot controlled otherwise,
e.g. controller interacting each other. Manpower is expansive.

BTW: I respect your opinion. But this is not enough for this topic. Maybe
you show your result using Peter's process transfer function with position
velocity and acceleration in time domain. Let's assume the tranfer function
is correct. That was a good basis for modeling and dicussion. Sorry, I don't
like just exchanging opinions.

--
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: Controlled position acceleration on the basis of a known process transfer function





This is very naive and dangerous thinking.
How about making disaster when
    1/(1-1.01) = -100
    1/(1-0.99) =  100
You should know when and how you can approximate.


You have something similar, but not them.


No, they are not alternatives. They are integral part of state space  
techniques.



It depends on object. For me it is the worst and unacceptable compensation.


--
Mikolaj

Re: Controlled position acceleration on the basis of a known process transfer function




:
: (...)
: > Remark:
: > The 1st, 2nd and 3rd derivatives are calculated using integration.
: > You just need 3 'integrators' for getting them. I told you before:
: > http://home.arcor.de/janch/janch/_news/20070429-nachtwey/
: > Revised for clearness
:
: First, read groups FAQ and learn how to properly
: answer the posts and how to cite so it can be
: human readable. That's for an order.
:
: 1.
: You don't have them (derivatives). It is just a model.
: You show us how would you like to control matematical model.
: It's like proving that 2=2.
: This derivatives doesn't exist in real object
: (you can't measure this signals,maybe one of them)
: and this model doesn't represent real structure.
: It is whole abstractive. So you don't have derivatives.
: If you want them, you *must* build observer.
: (so far 1st order controller is simplier and cheaper then your idea)

I wondered why no one challenged me on this when I used a second order
derivative on my controller.  At least Mikolal understands the problem.   I
do control these systems for real and I do use an observer when required.
Again, I picked this example to humble the gain tweakers and coffee
drinkers.  They gave up before we could get too deep.   An observer will not
work without a model for the systems transition matrix.  The gain tweakers
and coffee drinkers can't use an observer or Kalman filter because they
don't have a model.

:
: (so far the 1st order controller will be safer and so on...)
Actually, no.  A first order, or PD controller in this case, will not be
able to control the underdamped system.  It will overshoot badly. So has
anybody done any research that shows the effect of the physical system
varying 5% from the model?  I have.  For years I have seen people on this
group complain about non-linearities and any other excuse not to use models
and discourage others from using models.   If you look at the .pdf file I
posted a link to in the previous thread, you can see I can calculate the
pole and zero location easily.  I can mulitply the gain, damping factor and
natual frequency by numbers from .95 to 1.05 just to see where the poles and
zeros go.  They don't go that far.

: If your object has a nonminimum zero (s-1) or (s-someT)
: you will destabilize your system.
My example problem didn't have dead time or non-minimum phase  So I think it
is fair to exclude those possibilities..
:
: (so far 1st order controller .... you already know that mantra...)

NO!  Not this example.  I picked this system because I knew it would be
something that couldn't be tuned easily.  Have you tried controlling my
system with a PD controller?

: 3.
:
: Your proposition will require strong PC with very good
: accuracy, it can be only applied to stable and minimum phase object,
: it will require very good model (not always possible and always very
: expensive
: to do research) and still will not work :).

It is the infinite energy transfer that should bother everyone.
:
: First year student of Control Theory will apply then
: 1st order controller build with one IC amplifier, one capacitor
: and 3 resistors and it will work excellent.

That is a good starting point for first year students.  I can make a PD
controller work but only at a realatively low response.  The second
derivative significantly improves performance so it is worth the extra
effort.
:
: Summary:
: Reversing object is very bad idea and will not work well
: in reality.

Motion controllers make things go back and forth all the time, but not as
fast as in my example.   Systems that do move that quickly have higher
natrual frequencies and damping factor  or may be modeled as having only one
or two real poles.

Peter Nachtwey


Re: Controlled position acceleration on the basis of a known process transfer function



napisa³(a):


I haven't looked at your example. I was talking
generally about the idea of inversing object
as a method of system designing.
The same about model inaccuracy.
I was talking just about the case when inversing object.

--
Mikolaj

Re: Controlled position acceleration on the basis of a known process transfer function





[...]


My idea:

See Fig. 5 for the difference: PID <=>PID^3 (made comparable)
http://home.arcor.de/janch/janch/_control/20070428-controldoc/

If PID function is programed you have just to add to more lines. That's all.

--
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: Controlled position acceleration on the basis of a known process transfer function




comparable)http://home.arcor.de/janch/janch/_control/20070428-controldoc/

Tweakers, coffee drinkers and JCH.  This gives a whole new meaning to
iterative tuning.  We can just rearrange the lines till its right. I
don't think adding more lines will help.

Just how do you think you are controlling velocity and acceleration?
Can you do a flying shear or follow an electronic cam profile with
that jerk filter?  You are still ignoring the fact that the output of
the controller and the amplifier is limited.

Peter Nachtwey




Re: Controlled position acceleration on the basis of a known process transfer function



JCH wrote:

I see v1, v1', v1", and v1'" coming out of the process model. Good: can
you describe how they are obtained on the actual machine? There's a
saying in German: "Papier is geduldig." Literally, "paper is patient"
but "compliant" is a better translation here than "patient". You can
solve the equations, but can you meet the real-world constraints of
finite power and tractable variables?

Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Site Timeline