This article from maxon motor explains how dual loop control is used to fight drivetrain oscillations and compensate for gearbox backlash.
Positioning of mechanical loads with an electrical drive can generally be done with a control system consisting of a PID position controller cascaded with a fast current control loop. In cases when gearheads, spindles or belt systems are used to transmit motor rotation to the load, the imperfections of these transmission elements may negatively affect load position control performance. A typical imperfection for gearheads is backlash - lost motion caused by gaps between teeth of different stages within the gearbox. In situations when long shafts or complex transmission mechanisms are used, the mechanical connection between the motor and the load may have only finite stiffness. In such cases, the aforementioned PID position control scheme may excite resonant oscillations or induce effects known as chattering and hunting, in which the load position never settles at the desired value, but oscillates around it. In the worst case, the control loop may become unstable. In such cases, a more sophisticated control system must be employed.
If very precise load positioning is required, it is recommended to add an encoder at the load side for direct measurement of the load position. Such drive systems therefore contain two encoders:
In the diagram below you can see the cascaded structure implemented in the EPOS4 for dual loop position control. Of the three nested feedback loops, the innermost loop regulates the motor current via field-oriented control (FOC), while the second innermost (auxiliary) loop regulates the motor speed based on measurements from the auxiliary encoder, and the outermost (main) loop regulates the load position based on the measurements from the main encoder.
A more detailed view of the EPOS4 dual loop controller structure is shown in the diagram below. The main loop consists of a proportional (P) controller, a gain scheduler acting on the proportional controller's gain, and a second-order filter (main loop filter) acting on the outputs of the main loop. The inputs of the main loop controller are the reference load position, velocity and acceleration, coming from a path planner, and the load position measured by the main sensor. The main loop controller is executed at 833Hz, one-third of the auxiliary loop's execution frequency of 2.5kHz. The auxiliary loop consists of a proportional-integral (PI) controller with feedforward (FF) and an observer estimating the motor speed from the position data of the auxiliary sensor and the current measurements.
The main mechanism that the EPOS4 dual loop controller uses to eliminate chattering and hunting caused by backlash is the gain scheduler. In order for the controller to be aggressive and deliver tight position reference tracking, the P-gain of the main loop controller should be high. However, when the controller is too aggressive, the position may never exactly reach the desired value, but start oscillating around it. This can be avoided by reducing the aggressiveness of the controller. The gain scheduler reconciles these conflicting requirements by making the main loop controller's P-gain dependent on the load position tracking error. When the error is large, the P-gain is also large, making the controller aggressive, which leads to a quick reduction of the tracking error. As the tracking error is reduced, so is the P-gain, such that when the load position approaches the target, the controller is not too aggressive and does not cause oscillations, despite the presence of backlash in the drivetrain.
When the connection between the motor and the load is not stiff enough, the dual loop controller has to eliminate oscillations induced in the drivetrain. These oscillations happen at a fixed frequency, called the resonant frequency, that depends on the elasticity, damping and geometry of the coupling. Even a small excitation of the drivetrain at this frequency may cause significant amplification of oscillations. In order to prevent this, the EPOS4 dual loop controller uses a second-order notch filter. The notch filter is designed to suppress the resonant frequency and the frequency range around it in the control signal coming from the controller. This prevents harmonic oscillations from being generated in the drivetrain.
To facilitate commissioning, maxon provides the EPOS Studio commissioning software with an auto-tuning wizard for calculation and validation of the dual loop controller. The auto-tuning procedure consists of two fully automatic experiments:
EPOS Studio also enables part or all of the dual loop controller parameters to be set manually, if further optimisation of control performance is required.
In order to illustrate the advantages of using the EPOS4 dual loop controller, its performance is compared to that of the EPOS4 single loop PID position controller. The latter uses the encoder on the load for control and the encoder on the motor for commutation only.
Tests are done on a mechanical system with two different couplings between motor and load:
The load consists of a motor that can be commanded to apply a disturbance torque. The two EPOS4 controllers connected to the two motors are commanded via EPOS Studio. Experimental data is recorded with EPOS Studio's Data Recorder tool.
In both experiments, the test motor is an EC-4pole 30 motor from maxon combined with an encoder with 500 counts per turn (cpt) and a maxon GP 32 HP gearbox with 14:1 reduction. A maxon EC-max 40 motor with a 7500 cpt encoder serves as a load.
To evaluate reference tracking performance, a reference load position trajectory with trapezoidal speed profile is used. To ensure identical initial conditions for single and dual loop control, the load is initially positioned such that the gear connection is engaged in the opposite direction with respect to the target position. In this way, the controller must take up the slack due to backlash before moving the load towards the target position.
The figure below shows the load position profile and the tracking error during the experiment with single and dual loop control. As the figure shows, because of the slack due to backlash, for the first few milliseconds the error for single and dual loop grows equally. However, dual loop control is faster at overcoming the slack and exhibits an overall smaller tracking error.
The figure below shows the load position profile and the tracking error during the experiment with single and dual loop control and the setup with elasticity. With dual loop control, except for a small overshoot, the mechanical system does not resonate and the peak tracking error is about one-sixth of that achieved with single loop control.
The dual loop control architecture of the maxon EPOS4 positioning controller has been presented. This architecture employs encoders on both motor and load to achieve better performance than when only one encoder is available. The scheme also includes a gain scheduler, to avoid chattering and hunting, and a second-order filter, which can be designed as a notch filter to avoid exciting mechanical resonances.
The EPOS Studio software offers a powerful collection of wizards and tools, including an auto-tuning feature for the dual loop controller. This feature can be used to completely and automatically parametrise the dual loop controller, but also to gather important information about the mechanical drivetrain that can be used to further optimise control performance by manual adjustment of the parameters.
The dual loop position controller has been compared to a single loop position controller in terms of reference tracking performance. Overall, it is found that the dual loop architecture allows tighter control of the load position in situations when the drivetrain is elastic or has significant backlash.
Federico Percacci received a BS degree in automation engineering from Politecnico of Milan, Milan, Italy, in 2014 and an MS degree in robotics from ETH Zurich, Zurich, Switzerland, in 2016. Since 2016 he has been working with maxon motor ag, Sachseln, Switzerland. His research interests include modelling and control of electric motors.
Marko Tanaskovic was born in Valjevo, Serbia, in 1986. He received a BSc degree with honours from the University of Belgrade, Serbia in 2009, an MSc degree with honours from ETH Zurich in 2011 and a PhD degree from ETH Zurich in 2015, all in Electrical Engineering. During 2011 he worked for ABB Switzerland, Corporate Research, in the area of electronic component modelling. Since 2015 he has been working with maxon motor ag as a motor control development engineer. His research interests include adaptive and learning control schemes, model predictive control and sensorless motor control. He has been the recipient of the scholarship for best Serbian students studying abroad given by the Government of Serbia for several years.
Chen Zhao was born in Liaoning, China, in 1979. He received a BSc degree from the University of Shanghai for Science and Technology, China, in 2001, a Dipl degree and PhD in mechanical engineering from the Technical University of Munich, Germany, in 2006 and 2010, respectively. He has spent two years at Woodward Switzerland AG developing megawatt-class converter system. Since 2011, he has been a project manager with maxon motor ag in Switzerland. His research interests include control, modelling and simulation of electrical drive systems, robotics and electromagnetic systems.
Patrik Gnos was born in Switzerland in 1969. He received an electrical engineering diploma from the Lucerne University of Applied Science in 1994. Since 1994 he has been working with maxon motor ag. In 2013 he became Head of Corporate Centre Motion Control and in 2019 a Member of the Executive Board.