Determining Plant Bandwidth

Peter Nachtwey wrote:


Peter, the model I have acquired is: -0.01341z - 0.02444 ----------------------------------------- z^10 - 0.8645z^9 - 0.13565z^8
Actually, my hydraulic cylinder is single rodded. I realize this causes a significant discrepancy in its response when moving in either direction, however my approach has been to simply accept the linear model as an average of the response in both directions.
Perhaps I should be biasing a prbs input signal to keep the ram moving in one direction during system identification, and then design two separate controllers that the system switches between depending on the direction the ram is moving in. Is that a better approach?
Why do you prefer the least squares method of system ID. Your experience will help me to compare/contrast the merrits of the different approaches.
Thanks
--
Colby


Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

posing
at
be
could
is? I

system
the
Is this the motion of the actuator in response to the motion of the valve stem?
How exactly did you arfrive at this model?

The valve will definitely not have a linear response - perhaps the data is available for the valve - i.e. the non-linear flow related to position and pressure
How stable is the pressure over the required motion of the actuator and load (is the mass a constant)

What ID setup have you got exactly?
How is the position of the valve controlled? I assume when you say it is a servo valve that it has a position that can be controlled a current applied to it?
What is this characteristic like
and then design two

My interest in all of this is the mathematics and the system id procedure.
My experience of system id in practicality is limited to laboratories at school
It is fairly obvious that in order to rationally discuss a problem like this that you can either have some or all information regarding the problem - having all the information leads to a better model - and removes guess work and fantasy.
There is really no way you can discuss the intricacies of a problem without the a priori methods of experiment and modelling method.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Setanta wrote:

The model was arrived at using the least squares identification technique with a collection of input-output data. The input is a voltage signal, which is amplified into a current for the servovalve motor which drives a little flapper thing to regulate how the hydraulic pressure is used to control the position of the valve spool. Effectively, the input voltage translates into a valve spool position which governs flow to the cylinder. The output is the ram position, measured using a Temposonic sensor.

Yes, the valve response is non-linear with respect to the difference in supply and load pressures (small orifice flow, approximately a square root relationship).

The load pressure is constant, and for slow/small movements, the supply pressure does not drop (pump and accumulator can keep up with demand).

All data acquisition and control is being performed on a dedicated 3Ghz Pentium 4 computer running LabVIEW Real-Time. Inputs and outputs are communicated through a National Instruments FPGA card which performs the digital-analog conversions of the command signals, and the time-of-flight measurement of the Temposonic feedback.

See above.
Peter, any input with regard to my previous post? I get the impression that you have experience with control of electro-hydraulic systems.
Thanks
--
Colby


Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

You don't know for certain? You should.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

This doesn't look good. The first term in the numerator is negative. Not good. The denominator has poles at 1 and -.0136. The pole at 1 is OK for position systems but I have never seen an integrator pole to be identified exactly at 1. Your real problem is the pole at -0.136 Now you tell us why. The least squares system identification is a tool that must be used with GREAT care and the results MUST be sanity checked.

And you didn't think this was important to tell us? I can assume single roded since most are.
I realize this

Bad assumption. It doesn't work.

YES, those that just suggested prbs don't know anything about hydraulics.
and then design two

NO. You now know how to do it right.

I don't. It just works better than a frequency sweep.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
First and foremost, I have forgotten to specify that the sampling period of my z-domain transfer function is 1ms.
Peter Nachtwey wrote:

What implications does this have? Could it be attributed to the fact that the gain of the system is negative, ie. a positive voltage command results in a negative velocity?

The pole identified at 1 is actually at 1.00004480284086 when more precision is used. The pole at -0.136 is problematic because it is actually a complex conjugate pair of poles at a very high frequency (3720Hz), with a low damping ratio (0.537) and is not likely representative of the system (?).

Okay, so identify a linear model that is representative of the system moving in one direction using a biased prbs input signal....

....and only design one controller for that model? I'm not sure that I do know how do to it right. If I identify the model for one movement direction and then design a pole placement controller for it, what will happen to my system's response for movements in the other direction?

Thanks again everyone for your patience and consideration. The more I learn, the more I realize how little I know.
--
Colby


Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

It could and to be honest I didn't notice the second term is also negative so your gain is probably negative. Ignore my 'doesn't look good warning. I just get used to seeing positive gains.

You are right about that although you should sanity check your 3720HZ number. That is very high for a system that is sampled at only 1000 times a second. There is a relationship of the frequency of the poles on the negative real z axis to the sample frequency. What is it? Knowing that, what should be the angle of the poles from the positive real axis be? You should know this to sanity check your data. Colby, you seem to have a pretty good feel for what should happen, what is right and what isn't. Don't blindly use the numbers unless they make sense.
I can very quickly calculate the actuator gain in each direction just by moving the actuator back and forth and looking at how much signal it takes to achieve a certain speed. I can calculate the natural frequency of the actuator if I know the dimensions and mass. The damping factor is a lot harder to calculate but assuming a number like .3 to .4 will give you idea what to expect to see when you identify the system.
Peter Nachtwey.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Peter Nachtwey wrote:

Sorry, I made a mistake, the pole is actually at 592Hz (3720rad/s). But I see that this still exceeds the largest frequency that can be captured by a discrete system (half the sampling frequency). The frequency of poles on the negative real axis is equal to half the sampling frequency. Knowing that, the angle of my poles from the positive real axis should be 0 < alpha < pi.
I guess I've been a little wreckless with the least squares method. A previous model I had acquired for a 5ms sampling period makes more sense:
-0.07523 ------------------------------------- z^3 - 1.5524z^2 + 0.55238z
But I still didn't check it at the time to realize it.

This is only considering the hydraulic cylinder, right? I assume you also use the bulk modulus of the fluid to calculate a spring stiffness. Wouldn't this natural frequency be quite high? How do you estimate the response of the servovalve for verifying experimental identification?
Also, I'm still not quite sure which approach to take in designing my control. If I identify the system for movement in one direction, say piston extension, and design a controller for that, how do I ensure that my control will be robust for movement in both directions?
Lastly, when you design your pole placement controllers to have a reasonable bandwidth (3-5Hz), how do you ensure that the actuators have adaquete disturbance rejection? This is why I've been trying to be as aggressive as possible with my design bandwidth, in order to keep the gain high.
Cheers
--
Colby


Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Colby wrote:

-snip-
I suspect that Peter gets away with pole placement because he already knows what will work right.
The theoretically 'correct' way of designing a linear controller in your case would be to take your model of the in-stroke and your model of the out-stroke, then use robust design techniques to come up with a controller. I'd either do it that way, or I'd set up a math tool (MathCad or SciLab) to display system Bode and Nyquist plots for each stroke direction with one controller, then design a controller that works for both. With a bit of work you can calculate disturbance response and toss up a Bode plot of that, as well.
You may find that you can't get disturbance rejection that's adequate for your task with the mechanical arrangement you have. You can sum up Bode's Sensitivity Integral by saying "you can't make a silk purse out of a sow's ear"*. Bode's Sensitivity Integral says that you can't make disturbance rejection go away -- you can only shove it over to frequencies that you don't care about as much.
Unfortunately, since all plants get flaky at high frequencies the amount that you can shove it over is often distressingly small in relation to what you need. If this is the case then you just cannot get there from here, at least using a linear controller. You should seriously consider what you're trying to do, and ask yourself if the disturbance rejection you can get at Peter's 3-5Hz is sufficient, because it may be the best you'll get.
This all points out to another bit of wisdom: sometimes the best thing you can do is change the plant*. This may be nothing more than instrumenting parts of it (see the next paragraph), or as extensive as a thorough mechanical redesign.
You _may_ be able to extend the frequency response of the controller by taking more of the nonlinearities into account, particularly if you can do things like instrument the valve opening. If you knew the valve opening and the pressure differential you could control the orifice for flow. This, coupled with a model of the differential displacement from the single-rod cylinder, should take away quite a few unknowns from the effort.
At this point, where you a client of mine I would be constrained to point out that such a controller that uses more information from the plant and takes its nonlinearities into account is most definitely a science project. You can probably eke out more performance from the cylinder that way, but if you must get better disturbance rejection you may be better off using a different actuator, or modifying the design of the machine that you're actuating.
I honestly couldn't tell you what the best approach would be -- I'm peering through a pinhole at your problem, and all I can see is a hydraulic cylinder and valve, with the rod disappearing from view, as well as the hoses and wires.
* I have to give credit for this to a crusty white-haired engineer at FLIR systems.
** This is another bit of wisdom from a crusty white-haired guy, this time from Portland State University.
--

Tim Wescott
Wescott Design Services
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Yes, within limits. As you have pointed out there are always unmodeled poles at higher frequencies.

So what happens to the poles with these robust design techniques? They don't go away. If they don't end up on the negative real axis then the system will overshoot and you know customers don't like their motion systems to do that. I would think that placing the closed loop poles on the negative real axis is very conservative. That way the response to a step change in position will result in a motion that doesn't overshoot the command position. It isn't the poles that are modeled that you need to worry about. If I place the poles on the negative real axis real axis and they drift a bit due to modelling errors, the response will still be slightly under damped and the overshoot will not be noticeable.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Peter Nachtwey wrote:

You design your controller so the poles stay within some window on the complex plane as the plant parameters vary. You are still constrained to choosing realistic targets, but if you choose a window that lies entirely on the real line then you will end up with a system that will retain real poles. If you want to allow slightly underdamped poles in extreme cases you can specify that for your window, as well.
To be honest I don't know all the techniques for dealing with phase shift from unmodelled poles. The two that I _do_ know of involve a robust form of Bode plot design where you work in the frequency domain and lines on a Bode plot become tubes, and another where you model such phase shift a sprinkling of high-frequency poles. In the former case you have to deduce overshoot from the Bode plot, but you are working directly from spec. In the latter case you're playing math games, but you can put the poles down just where they belong.
--

Tim Wescott
Wescott Design Services
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
"The input is a voltage signal, which is amplified into a current for the servovalve motor which drives a little flapper thing to regulate how the hydraulic pressure is used to control the position of the valve spool."
..........
.... Even with the nonlinearity of a complex plant such as a hydraulic servoactuator, you should benefit from the data derived with a 'swept sine / Bode Plot' test. Begin the test with small excursions of the output position. Determine the output variable magnitude at which there is a drastic or marked change in the observed data.
.... Such a test would necessarily confirm or reject data obtained from any other method of system identification.
....
David Corliss
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

/
any
Would there be any benefit in adding a unipolar prbs signal to a sinewave??
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
....... The basic method here is to obtain the particular system characteristics in the analog domain, at which time you may transform to the digital domain.
Possibly there is a way to get a Bode Plot using a digitally synthesized sine wave. However, I don't know what the benefit would be. I don't understand the point of using a unipolar prbs. Perhaps you are referring to the concept of operating the plant in a linearized manner about some point other than the zero input control signal value. ... I'm not sure that I understand the layout of the plant sufficiently to address this condition.
I think a more important concern would be in setting up a realistic test stand in such a way that maximum loads and torques would be present, so that the BP data would reflect the actual system characteristics.
My point is simply that if the input control signal is sufficiently constrained, it is possible, if not likely, that valid open loop poles/zeroes will be obtained for this system. Such a model might serve as an initial plant for study and design considerations. If you proceed with the use of extreme, or 'greater than critical' magnitudes of input/output variables, your control design problem would necessarily include nonlinear concerns.
... Please elaborate if I have overlooked something here. Dave

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.