Completion of Controller Synhesis

Electrical Driven Overhaed Crane Control PD2(PDI)Z1Z2
PD2 = feedforward PID = feedback Z1 = process disturance Z2 = controller output or equivalent disturbance
Page 1 = diagrams and mathematical description Page 2 = calculated plots Page 3 = crane sketch Page 4 = process transfer function
http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
PS: The 'two disturbance functions' must be added (See page 1).
--
Regards/Gre http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: snipped-for-privacy@nospam.arcornews.de
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

This still doesn't mean anything. You don't show your work or provide any calculations. Now that you specifically say this is for controlling a crane I can find more things wrong.
How do you measure the position of the load? Where is the feedback device? What is the resolution of the feedback? How would the controller see a disturbance? If something pushed the load, your controller won't know. Your z inputs or disturbances shouldn't be going into the controller.
What is v1? Is it a position or velocity? In your equation on page 1 it looks like a velocity since if v2 goes to 0 v1 will go to 0. If v1 is a position then when v2 goes to 0 v1 would coast to a stop and not go back to 0.
Now look at page 2. It looks like v1 is a position and the derivatives of v1 ( velocity and acceleration ) are on the right.
SO WHAT IS v1, A POSITION OR VELOCITY?
It is these inconsistencies that are the reason you shouldn't be posting web pages. Not yet. People that don't know better will be confused by your web pages. You need to get some one to proof read your work. That will be difficult because you don't show it.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

To all who are interested with knowledge in mathematics and physics!
Example similar to electrical driven overhead cart could be controlled for a step move w:
1. PD(---)--Z2 http://www.myphysicslab.com/pendulum_cart.html The position at any time can be calculated.
Or with additional measuring
2. PD(PID)Z1Z2 http://www.dimetix.com/index.html Place it on the hook.
Electrical driven overhead cart http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
You find anything on the pages you need for calculating. There is nothing left. Reload website for actual information. All physics is reduced to the process transfer function (page 1).
PS: Alternative 1 is pure feedforward control and could be sufficient for most applications. Feedforward control is generally not be sufficient in chemical process or power plant controls.
--
Regards/Gre http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: snipped-for-privacy@nospam.arcornews.de
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I have corrected 2 typos:
- Equ.1: inserted z1 - Equ.2: inserted z2
Reload: Page 1 http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
All other pages are ok.
--
Regards/Gre http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: snipped-for-privacy@nospam.arcornews.de
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
JCH wrote:

No they aren't. You still think you can move the crane, v2, from point to point instantly. That is just for starters.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Anything is based on the process tranfer function used in http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/ Page 4. It shows a 'step-like' move of the cart.
See possible high speed equipment: http://www.mast.queensu.ca/~dtyner/ControlLab/single-pendulum.mpg
or
http://wwwa.mpi-magdeburg.mpg.de/research/pendel/pen_1.mpg
Watch the videos! That's real.
<Again: citation[15. June 2007 10:30]> I state: If I have an 99% accurate process transfer function then my calculation is about 99% accurate. </citation>
<Again: citation [12. June 2007 09:52]> What I have not discussed so far is how I can get a proper process transfer function if physics is difficult or nonlinear? This problem I solved with process identification methods. If few discrete measured points are known from a step function I use least-square approximation methods (black box) using a program I have written for that purpose. See example: Page 1 http://home.arcor.de/janch/janch/_control/20070611-systemident / </citation>
--
Regards/Gre http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: snipped-for-privacy@nospam.arcornews.de
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Newsbeitrag

Those are not cranes. They are not cranes moving 10 tons or so. Your simple target generator could not do that. You do not have units on your diagrams so I am assuming anything I want. This works both ways. The load can be 10 tons and still have a natural frequency of about 5 Hz to fit your examples. There is no way you can accelerate the crane from point to point instantly. You extra transfer function for moving the crane. In addition, the load would oppose such extreme motions. I don't see why you used those videos to justify your examples. Even those videos don't show the carts moving instantly.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

You can SIMULATE/STUDY the time behavior of cranes on a model! If that works on a model then it will also work on real cranes under the same physical conditions.
<AGAIN: Citation [17. Juni 2007 14:26]> I didn't specify the time scale. It can be milliseconds, seconds, minutes, houres, etc. It can also be 3 seconds, 1/1.1223 minutes. The distance could be inches, meters, kilometers, etc. Can you find such specifications? Look at http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/ Tell me where you find a dimension (unit). I wouldn't mind if using 1 pet for 3.5564 seconds and 1 tim for 12.4325 inches. Then read distance in tims, velocity 1 tim/pet and acceleration in tims/pet^2. Example 1 tim/pet^2 = 12.4325inches/(3.5564 seconds)^2 0.982963212809897inches/second^2 It's convenient to me to tackle such problems as I do. Just the basis must be known. </Citation>
--
Regards/Gre http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: snipped-for-privacy@nospam.arcornews.de
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Newsbeitrag

Your model depends on being able to move the crane instantly from one point to another. Everyone but you knows this isn't possible.

You don't use units or show you work so people can't pin you down on your calculations.

Why don't you want to put units on your work? Do you have something to hide? You should know that it is easy to tell that the time scale is in seconds. One can tell because your load has a natural frequency of 5 Hz or a period of about .2 seconds. This is the same time your load get into position. If the time scale was longer the motion profile would look different. Who do you think you are fooling?
Here is a much more realistic example. I don't make the crane instantly move from one point to another. I have selected a very realistic gain ( maximum velocity 4m/s ) and bandwidth ( response time ) for the crane. I am using only a simple PID with no feed fowards. Actually I am using a I-PD because the P and D terms are in the feedback pathonly. No accelerations or second derivatives need to be calculated. I also selected a much more realistic natural frequency of one radian per second for the load. The system has feedback on the crane only. One can see how the load leads or lags the crane as it swings toward the final set point.
ftp://ftp.deltacompsys.com/public/NG/t1p1%20i-pv%20c1%20ol.pdf
Note the 'trick' used is the crudest of algorithms that will accomplish this goal. It isn't very robust. There are other more sophisticated algorithms that will provide better damping in the event of modeling errors.
If there are any crane experts out there I envite suggestion for improvements or corrections.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I don't know either speed nor process transfer function of: http://www.mast.queensu.ca/~dtyner/ControlLab/single-pendulum.mpg
Read: On all conditions of http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/ then anything is ok.
The process transfer function (Page 4) works with ALL dimensions! It also works with your example if you have a process transfer function (F1(s) v1/v2).
Notes: The controller output signal v2 (e.g. mA) can change very fast! Regard v2 instantaneous. v2 is NOT the position of the cart.
--
Regards/Gre http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: snipped-for-privacy@nospam.arcornews.de
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Newsbeitrag

You said above that everything was OK and now you change your diagram! So if v2 is not a control signal, where does it move the cart? You need another transfer function to move the cart! As your equations stand now you have the load directly moved by a control signal. See equation 1 on page 1 on your site. look at equation 1. If the control signal v2 is turned off your equation 1 says the load will move back to the 0 position. That doesn't make sense. This is why you need another transfer function simular to G/ (s*(s+a)) like I used to convert the control signal to a cart position. In my example the cart will just stop and stay where it is because position systems like this are typically type 1 systems. If you look at my example you can see how the load swings under the crane and when the control output goes to 0 at the end of travel the cart and load stay where they are. The load lags at first and then leads as the crane slows the load down. If you don't have a crane or cart then how can you show the swinging of the load? The trick is to make the load swing once during the whole move. I don't see this in your examples. I see the load swinging in your movies before the load is balanced.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

v2 was always and is the controller output value (e.g. mA). F1(s)=v1/v2 is as before. I din't change anything physically. If doing so I would tell you.
All is correct in http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
Give us your
G=? a=?
Citation:

I gave you example data working with any dimensions. Even your data and dimensions if I had them.
--
Regards/Gre http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: snipped-for-privacy@nospam.arcornews.de
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Newsbeitrag

See the .pdf file I posted a link to in the 27 june thread. I show G=0.04 m/s per % control output and alpha ( a ) which is the corner frequency of the crane or cart is 1 Hz or 6.28 radians per second. Notice that my crane does not move instantly. There is lag between the control output and the motion of the crane. In fact the crane bandwidth is quite low. I even show the formulas for calculating the gains so the resulting closed loop system will have three poles at -lambda at -3.14 radians/sec. The resulting closed loop bandwidth is at about 0.509*lambda. I am just trying to show how control is possible without breaking the laws of physics. I am assuming there is only feedback on the cart or crane and the load swings freely below. The trick is to move the load to the destination or set point and have it stable when it arrives. You can do this by hand with a little practice. Your hand and the cart must vary the speed along the way at specific points or time relative to the natural frequency of the load for it to be stable when it arrives at the set point or destination.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

G=0.04 a=6.28
0.04 1 F1(s) = --------- = ------------------------ s(s+6.28) 25*s^2 + 2*delta*5*s + ?
T = 5 T^2 = 25 delta = 15.7 (highly damped!)
I used delta = 0.001 (Page 3) http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
What about the missing '?-value'?
If interpretation is wrong give me the correction.
--
Regards/Gre http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: snipped-for-privacy@nospam.arcornews.de
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Newsbeitrag

Don't try to make a second order system out of the controller. The crane response to the controller is
crane(s)/control(s) =G/(s*((s/alpha)+1)) or 0.04/(s*((s/(2*PI)) +1)) crane(s)/control(s) =G*alpha/(s*((s+alpha)) or 0.04*2*PI/(s*(s+2*PI))
!!!Note this is a correction!!!!
The load response is as follows
load(s)/crane(s)=1/((s/omega)^2+2*zeta*(s/omega)+1)
G=0.04 This the gain in meters per second per percent control output At 100% ouput the crane can move 4 meters per second. alpha = 2*PI This is the corner frequency or band width of the crane motor with its loads. omega = 1 This is the natural frequency of the load. At 9.8 m of cable the sqrt(g/l)=1 zeta = 0.001 This is from your example. Actually it has been determine by crane research.
The total transfer function is the combination of the two transfer functions
load(s)/control(s)=G/(((s*((s/alpha+)1))*((s/omega)^2+2*zeta*(s/omega) +1))

There is no missing ? value. The crane only has ONE corner frequency, pole, bandwidth or time constant. The time constant is 1/ (2*PI). It takes the motor 5 time constants, 5/(2*PI) seconds , to reach the within 1 percent of final stead state speed in response to a control output change. The resulting crane velocity must be integrated to provide crane positions as a function of control output.

Notice that the system is now two transfer functions. One is for the crane position as a function of the control output. The other is the one you have always had which is the load position as a function of the crane position. Combine the two and simulate. It will be messy. I have it done the simulation both ways. The easiest is to just control the crane motor and use the crane position for feedback. The hardest way is using load position feedback. One must calculate many dervatives ( 3 ) if the load is to be controlled. This means one would need an accelerometer on the load as well as the position feedback.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

F1(s) is process transfer function! http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
--
Regards/Gre http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: snipped-for-privacy@nospam.arcornews.de
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Process input value v2 (e.g. 4...20mA) Process output value v1 (e.g. 0...10meter)
Time behavior measured for total system F1(s)=v1/v2! See red box in Page 3.

Evaluating a step process transfer function F1(s) and using sytem identification methods you get approximated T, e.g.
1 F1(s) = ------------------------- T^2*s^2 + 2*delta*T*s + 1
Time domain:
T^2*v1'' + 2*delta*T*v1' + v1 = K1*v2
Feedback via math model
v1 = load position v1' = load speed v1'' = load acceleration (no accelerometer necessary!)
are known and used: See Page 1, Fig.1 http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
Other compensations are necessary for controlling disurbances z1 and z2. See formulae in Page 1.
Just using PID wouldn't work. See Page 6 (NEW)
Note: F1(s) can be any plausible process transfer function of any order. It must be known and match the system behavior as good as possible! One can't do more and should be happy if at least it works.
--
Regards/Gre http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: snipped-for-privacy@nospam.arcornews.de
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
JCH wrote:

This is where you are all screwed up. You don't understand the difference between a non-integrating process ( type 0 ) and an integrating process ( type 1 )

So if v2 goes to 1 then v1 will approach at steady position at K1*1? If the controller suddenly loses power and v2 go to 0 then v1 will go to 0 too?
Where is the crane or cart position then? What does it do?
The formulas you need are here: v'=-a*v+G*a*u(t) x'=v theta'' = -2*zeta*omega*theta'-omega^2*sin(theta)+omega^2*x
Where: v is the cart velocity in meters per second v' is the cart acceleration in meters per second^2 a=2*PI. alpha is the pole or bandwidth. 1 Hz in this case G=0.04 G is the crane motor gain in meters per second per % control output u(t) is the controller output with a range of -100% to +100% x is the crane position. x' is the same as v theta is the load angle. zeta=0.001 is the damping factor omega=1=sqrt(g/l) omega is the natural frequency. g = 9.807 m/s^2 L = 9.807 m Note, one can be more accurate by using sqrt((g/L)*sin(theta)) for omega also, it would be better yet if this was done in terms of force instead of just position because the load will swing and vary the effort required to move the crane or cart.
At this time I don't care about the difference between using the cart position or the angle. It is the fact you don't use the first two equations to compute the cart position as a function of the control output that has been wrong. Note, I wouldn't have cared about this until you said it was a crane. As long as you stuck to a type 0 under damped system you were OK except for you claim that you can do better than a PID. See below.
You need to move the crane or cart to move the load ( actually to apply force since it is force that moves the load not position ), and the cart doesn't move instantly. How can you ignore this? If you are going to ignore this then why show a cart in your example?

I told you that you just don't know how to tune a PID or you are making PIDs look bad to serve a purpose. I see the fuzzy logic people do this too. Explain this: ftp://ftp.deltacompsys.com/public/NG/Mathcad%20-%20T0C1%20I-PD%20JCH.pdf This how I would control JCH's system using his model. I only use a PID and my response is faster and just as smooth as yours. Unlike you I have shown all the numbers and formulas required to duplicate these results. I told you that I could do this and you just ignored me instead of asking how. Note to others, this is only an example of how to control a type 0 under damped system and has nothing to do with cranes or loads. JCH's example is not realistic yet. It is only a type 0 under damped system.

See my link above. You have no idea of what can or can't be done. You can't until you can model your systems correctly and learn how to calculate controller gains. You still haven't figured out how I can control the load with only the cart position feedback. I was informed of this technique back in the early 90's. ftp://ftp.deltacompsys.com/public/NG/t1p1%20i-pv%20c1%20ol.pdf . This more realistic and actually very simple example only using a PID and no feed forwards. I do play some tricks with the target generator.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
[...]

Introduce disturbances z1 and z2 and keep v2 in limits as I did: http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
Page 6, Fig.2
--
Regards/Gre http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: snipped-for-privacy@nospam.arcornews.de
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Newsbeitrag

I limited the output to +/1 or +/- 100%. The response to the distrubances will not be any different than the response to the step changes in position set point. Why would they be different? Add your own distrubances. I show the gains, units and formulas necessary to reprodiuce my results. In any case simple PID with calculated gains easil wins! I told you it would.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.