Motion control algorithms

H

Thread Starter

Henrik Frilund

Helo everybody, first time poster here and looking for some pointers in the right direction. I've "inherited" a project that has to do with controlling the motion of a radar dish. Been tinkering with it for quite a while and has come to doubt the suitability of the algorithm used.

This project that we have is to modernize the control electronics and software of a radar dish and have, in a sense, gone off the deep end. I can describe the system that we have. It's basically a hydraulic dish that can rotate and nod so that we have hydraulic motors for rotation and actuators for nodding movement.

So what we control is a servo valve in a constant velocity-variable displacement pump and the feedback is from a absolute position sensor and tachometer. The old system was a semi-digital PID controller with tons of adjustable parameters which is a thing I want to avoid as far as i can. It makes it complicated when controller boards are exchanged and you need to calibrate.

Anyway, right now I've realized a PID controller in software and get some kind of control but it does not seem to be quick reacting enough. The problem is when nodding with the dish that we have 5 degrees to accelerate and reach a constant speed of maximum 30 degrees/seconds +-5% and minimum of 10 deg/sec +-5% and the same distance to decelerate and turn around. Maximum acceleration is 90 deg/Sec2 so we're just at the limit to actually be able to reach it in time.

So, this was a long post, the question is. IS it possible to realize this with a "simple" PID controller or are there more suitable algorithms to be found that can combine speed and accuracy?

And to think that i didn't like control theory at the university and here I am. :)

Thank you so very much for any answers. I'm pretty new at this stuff so be gentle. :)

//Henrik
 
W

William Sturm

PID should be able to work, I would advise using velocity feedforward along with proportional control.  You may or may not need integral and derivative control.  If it is unstable, add some derivative.  Skip the I unless you realy need it.  You need to make sure that you are sampling fast enough also, at least 10x the system bandwidth.

Bill Sturm

Abbeytronics LLC
 
K

Ken Emmons Jr.

I have only done motion control with motors, but some of the theory
applies. Here are some comments, take them with a grain of salt:

Can you accellerate faster and use a larger top speed? In my experience of doing performance motion control limiting speed and accelleration from max values can definitely hamper cycle times drastically. Ideally to get a max speed move your trapezoid profile looks like a triangle (i.e. max speed reached only for an instant midway through the move). In this case you are only limited by the accelleration the sytem can take (or that the pumps can put out).

The other question/comment is that you don't mention if your system is not following well. You need to be able to plot the commanded trajectory and actual trajectory to determine how the control loop is behaving. If you tell the thing to ramp up to 30 deg/s and the actual velocity lags by an unacceptable amount, this is where your control system might be able to be improved, perhaps through accel and velocity Fead forwards and tuning the PID better. Also, if your pump isn't reaching near max commanded speed, it is an indicator that your loop can be tuned to be more responsive if it is not already. Some systems can't be tuned to maximum though because they resonate.

If you haven't already, is there a reason you can't buy a standalone ethernet motion controller such as Galil or Delta Tau. I know the Galil is touted as being easy to use but I have only used the Delta Tau which is nice but sometimes cofusing for beginners. Depending on what you are doing you could use a standalone amplifier such as an Elmo or Copley controls amp and talk to the thing through RS-232 or CanOpen. Also depending on what you are doing the motion control or smart amp could control your whole system. I'm assuming there is some host somewhere giving it position commands.

If you have a pure digital system (i.e. no pots to tune) then you can save the config file in a safe place and then download your parameters to it if[when] the thing fails.

KEJR
 
W

William Sturm

Ken's suggestion of a Galil or Delta Tau controller is a good one.  You say you are closing the loop in software. Can you reliably close the loop at less than 1 millisecond intervals? You will probably need a real time operating system. A dedicated motion card does this well without reinventing the wheel. The PC then becomes a supervisor to the motion controller.

Bill Sturm
Abbeytronics LLC
 
P

Peter Nachtwey

The are motion controllers designed specifically for controlling hydraulic systems like these that can save a lot of time.
http://www.deltamotion.com/products/motion/

The PID is such a small part of what is really required. Most motion controller should do an adequate job on an ideal system but hydraulic systems are 'special' because they are basically type 1 underdamped systems whereas motor controllers are setup to control type 1 single pole systems.

Underdamped systems require a another PID gain (second derivative) and feed forward gain (jerk) to control adequately. This becomes more true as the mass becomes larger with respect to the actuator. The most important part is having access to the tech support people that have done tech support for thousands of hydraulic control system. One of the major problems we see are hydraulic systems that are designed by hydraulic people that can barely spell hydraulic and have no idea what makes a hydraulic system controllable using those 'electronic thingies'.

The advice about feed forwards and plotting the target and the actual motion profiles is good. I would also plot the control signal too. A good motion controller should have software to make this easy. You should use the integrator at all times if you are trying to follow a motion profile. The integrator's contribution to the control output should be very small, ideally zero, if the feed forwards are tuned correctly and the system is capable of follow the desired motion profile.
 
Top