I am working on a robotic project, that involves controlling the position of a large robotic arm. The suggestion was to use a double PID loop, and I am wondering what is involved in this.
As it was described to me, the first PID loop should deal with the speed of the arm (as it is expected to be heavy and long and thus "harder" to control) and then a second to control the position of the arm and feed its value into the first PID.
I have used PIDs before, by following the table provided on wikipedia to calibrate the loop. (AKA: Do not assume that I will be able to use a complex method to calibrate the loop)
So I am looking for some good sources to help in how to calibrate the loops, and also a little bit of information (pseudocode) on how to get this working, plus if this is even a good idea.
Most robot arms have a low level current loop for controlling motor torque, another low level voltage loop for controlling velocity, and a higher level position loop for controlling motor position. To the extent possible you want to set up a feed forward system to account for known effects like gravity and friction. You want the low level loops to run as quickly as possible. The higher level position loop can be somewhat slower. For example the low level loop may run at 5Khz (every 0.0002 seconds), the position loop at 250 Hz (0.004 seconds).