This is exactly why I asked for references so we could look at the mathematical definitions and either experiment with working machines or at least develop a simulation model which stress tests the various aspects of the two approaches. I would rather a fully principled approach to this (including reviewing the math) than the current list thread direction.
On Thu, 1 Nov 2012 05:47:00 -0700 (PDT), Peter C. Wallace wrote: > On Thu, 1 Nov 2012, andy pugh wrote: > >> Date: Thu, 1 Nov 2012 11:23:09 +0000 >> From: andy pugh <[email protected]> >> Reply-To: EMC developers <[email protected]> >> To: EMC developers <[email protected]> >> Subject: Re: [Emc-developers] ferror calculation incorrect in motion >> >> On 1 November 2012 06:51, EBo <[email protected]> wrote: >> >>> >>> OK Now the question is should the ferror be calculated based on the >>> current encoder position, or the PID on the previous position? >>> >> >> The PID error has a well-defined meaning, and is the difference >> between the >> current command position and the current feedback position. >> This will, of necessity, be non zero during any active control. >> (Because if >> PID error is zero, PID output is zero). > > Not quite true, imagine a well tuned velocity servo running at a high > speed > (with FF1 supplying most of the PID output and the integral term > making up the > rest) this PID loop will have a nearly 0 error between the command > and > feedback (thats its job! and consider that any integral term will > force the > error to 0 eventually during a long slew) > > So here we have a well tuned PID loop doing what its asked > (minimising the > error it sees) but ferror is not calculated using the same command > and > feedback so will show a error proportional to velocity (its > calculated from > the current feedback but the previous commanded position) > > This makes accurate tuning difficult as now the PID loop has to be > tuned > to minimize command-feedback-velocity*sampletime rather than just > command - feedback. So now if you have any integral term so the PID > error gets > forced to zero: you now have a large ferror > >> >> I am not sure that the current f-error calculation is wrong. There >> was a >> new command position. The system moved for a servo period. The >> f-error is >> how closely the new position matched the commanded position. >> >> PID-error looks forward, f-error looks backwards. > > Thats fine but they both should look at > >> >> I think the aim is to reduce F-error rather than PID error, because >> PID >> error is what makes PID output. ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
