07-06-2007 03:41 PM
07-08-2007 03:40 AM
your project seems very interresting.
however, i do not understand how you use your PID modules. what do they control? is it just force or also position of your load. what is the feedback input itself?
in general, when having several degree of freedom, try and locate the element (in this case piston) that most sensitively and effectively affect each separate degree. with that, the other pistons should just try and keep their own degree of freedom locked. this lead to automatic self regulation, where each piston has its own tuned PID.
one other way of doing it, is by using a minimalisation routine, which would set your feedback parameters relative to your input. do that for several desired inputs, and you should get then an array of tuning parameters for each input vaule. you can then create a tuning function for each PID, which will work on whole range of inputs.
also: try to use only one PID per piston. otherwise they work against each other.
if you would detail the system, we may have better ideas.
07-08-2007 06:13 AM
07-10-2007 11:42 AM
The feedback to the PID modules comes only from the load cell. I record the position, but do not attempt to control it – the load does not move very much. This load cell is a 6 degree of freedom robotics load cell – it gives me Fx, Fy, and Fz in Newtons and Mx, My and Mz in Newton-meters.
Your first suggestion sounds very similar to my design – however, I have three pistons arranged in a triangular fashion which are responsible for +Fz, +/-Mx and +/-My. (I never need –Fz) Since these pistons are responsible for multiple degrees of freedom, I have been using multiple PID’s for each piston, and summing the outputs from the PID’s. With my current mechanical configuration, I cannot think of another way to handle my feedback without using multiple PID’s for these pistons.
The minimimalisation idea is intriguing – is this the same thing as gain scheduling? Would I need to do this manually or is there a semi-automatic way to do it?