Debunking the old wives tales.
During the summer I have spent a lot of time working on autotuning. What I have found is that for every type of system there is a model that best represents a particular system. I think this is obvious. What is more interesting is that the best controller for each type of system changes depending on how many poles and zeros the system has. Unfortunately, we are stuck with the PID to handle all the different types of system. Clearly this is not optimal, but perhaps good enough and this is what 'we' know.
To learn what I think I needed to know I had to work out how different control schemes such a PID, PI, P , Lag filter, and Lead filter work with different system such as first, second and third order system with different values for the gains, damping factor and natural frequency. I then compared them to see what works best. Rarely are any of the above the best. I have had customers tell me that want the system tuned so that there is no overshoot. In my past ignorance I alway tried to find to alway tune the system so there was no overshoot. What I realize now is that if the damping factor of a second order system is below the square root of 2/3 then there is no way to remove the overshoot using a PID. In this case the PID fails or the mechanical design must be stiffer so the damping factor is above .816 (sqrt(2/3)). Again, the PID is just the 'devil we know'.
The problems I have seen in existing auto tuning systems is that they assume that the system they are tuning is a first order lag system.
A simple first order system a spinning disk on the shaft of a motor.
The auto tune will work well as long as the system that is actually a first order system. If the system is a second or third order system then all bets are off. The calculated gains may not work at all. Even if the system is of first order and can be modeled 'perfectly', we have found that little things such a couplers between encoders and the shaft can degrade the performance enough so that two , otherwise identical, order systems will have very different gains. To solve this problem a auto tuner should allow the user to select the desired response or closed loop time constants. By providing a conservative/aggressive slider that allows one to move the poles easily without the user needing to do calculations for the individual proportional, integartor and differential gains.
It is a miracle if one can tune servo connected to a real machine. Mechanical engineers don't design machinery so that it is easy to tune. A real machine has friction, back lash and loads that change.
If the machine does have backlash then take of the slack before doing and step jumps.
My conclusion is that the odds are stacked against auto tuning and to rely on it is foolish. Weekev's system probably has few mechanical flaws that prohibit a first order model. If you want to use auto tuning you should make sure that the model of the system matches the assumed model of the auto tuner. A better auto tuner must be able to determine the best model for a system by trying many models and selecting the model that best matches the system. For those writing auto tuning software and designing mechanical systems I raise the high bar.