Advanced Servo Tuning Dr. Rohan Munasinghe Department of Electronic and Telecommunication Engineering University of Moratuwa Servo System Elements position encoder Motion controller (software) Desired position generator is a piece of software that generates reference position command. Position decoder decodes the position feedback from the position encoder. Position error X is converted to control signal Y by the filter (say PID). DAC converts the control signal to analog.
Advanced Motion Control (Integrator Limit) acceleration feedforward velocity feedforward offset proportional derivative Single pole software limit ±5V integral software limit
PID again Closes the loop, react quickly, according to the sign of the error provides phase lead opens up BW Structural resonances and distributed components (things are not perfect in nature) contribute to high frequency dynamics, which is amplified by too large D gain As long as there is any (even a slightest) error due to friction, the integrator keeps building up the control signal until it becomes large enough to overcome friction, and eventually makes the motor rotate to reduce the error. Low K I slow growing of signal (response delay) High K I overshoot and instability Integrator Design Limit the integrator value (to say ±2V) to bout twice as big as friction. We just need to overcome any errors (due to friction and so on). Freeze the Integrator while the motor is in motion. Of course, we will see large errors during motion particularly at the start of motion (p=0, ref=10), and that is noting abnormal, and there is no need to integrate it. If we do integrate error all the time, the integrator would cause unnecessary overshoots and undershoots about the reference value
Low Pass Filter Limits the gain at high frequency so that the loop wont respond to structural resonances and noise. LPF closes the BW, a counter action of derivative control. Filter BW should be slightly bigger than system BW. Design the D control first and then set the LPF Notch Filter There are imperfect couplings (not rigid) between motor and load that cause deflections and the plant behaves as a spring which has a certain resonance frequency. When there are resonances between motor and sensor, it affects close loop performance. To avoid resonance, one way is to significantly reduce the system bandwidth low gain, low responsiveness, undesirable Resonances Are two complex conjugate pair of poles with high imaginary (oscillatory component) and small real (decay) component. These two poles, when we close the loop could easily cross over to the RHP System instability If we place two zeros right (or close to) the resonance poles, the resonance effect can be cancelled out Yet, its not practically possible to synthesis only two zeros. The two zeros always come with two new poles. Then, we could place the new poles farther to the ve real axis so that their oscillatory response decays out quickly. Perfect pole-zero cancellation is not essential 20~30% offset would have enough cancellation of resonance poles. Select three parameters NZ, NB, and NF of the notch Resonance frequency
Simple Notch Filter Design (simple observation) simple guess Feedforward Design FF signals are not part of CL system No stability problems They are smart bias signals Planned trajectory (mechanical systems don t like step inputs)
Offset Fed directly to DAC (apply an offset and see how the motor responds) Torque Limit Voltage limiter just before it goes to the amplifier uncertainity in motor polaityand +vefeedback Fighting Backlash
Backlash Dilemma Stable less accurate system or Accurate system with risk of instability delay phase loss instability Design Approaches [get rid of gears/belts direct drive] put encoder on the motor (80~90% of the cases) happens to be expensive, not found in general applications, not always possible practical methods
Open Loop Compensation If you know it how much - not overly acceptable (stable) Motor engages with the load late Motor immediately engages with the load Periodic calibrate is required So that the load always lags behind the motor low friction causes inertia to make overshoots If it is the case, OLC does not work properly Final Point Correction drive the motor to approximate position check error drive again check error drive again.(multiple error correction) Need two encoders (expensive)
Advantages Stable system (sensor is on the motor) Method works regardless of backlash size Disadvantages Correction is at the end-point only error remains along the path. OK for single axis motion, or multi-axis point to point motion. Not good for trajectory following applications (such as engraving) Takes longer time + 20~100ms, may/not be acceptable Does not compensate for later disturbances Once the motion has been completed, controller stops watching on the load encoder (load encoder is not part of the closed loop), thus the loop doesn t see disturbances Conventional Dual Loop Control stable inner loop supervisory outer loop eliminates position error backlash delay stability gain has to be reduced low stiffness (responsiveness) position error
Improved Dual Loop Control Redistribution of PID in an optimal way much better performance - Stable inner loop - Unstable outer loop - The more stronger loop wins strong good loop weak bad loop Frequency Response load loop motor loop ω1 ω1 load loop reacts to a wider range of frequencies, reacts more to backlash continuously ω 1 load loop ω 2 motor loop ω 2 load loop reacts to a narrow band of low frequencies. It responds only for the steady state errors due to backlash and disturbances
Comparison - case study Single loop: No integrator (to make the system stable under huge backlash), thus, motor never gets to desired position. Low gain low bandwidth long settling time Dual loop: higher BW responds quickly short settling time, however, gain has to be controlled low enough to as integrator react to higher frequencies as well. Improved dual loop: Integrator is restricted to low frequency bandwidth of the inner loop can be further increased to react even faster.