John,

Am 14.01.2013 um 04:44 schrieb John Kasunich:

> I think part of the trouble might be that we aren't necessarily
> all in agreement about what motion's position command output
> actually is.
> 
> In my opinion, command is motion saying "this is where
> I want the axis to be at the end of the next 1mS period".
> 
> I think some others are thinking it means "this is where I
> want the axis to be right now". 

does that actually matter for the problem of detecting a following error?

I would think the answer to this question depends on the relative sizes of the 
maximum quantisation error (how much delta-pos can accrue between cycles) and 
the ferror trigger limit  (how much can the joint be off-path to cause a 
following error). If both are on the same order of magnitude, then it would 
matter; if the ferror trigger limit is say an order of magnitude larger than 
the maximum quantisation error, it would be rather irrelevant.

That in turn brings in a third variable which we havent looked at yet, the 
observation interval for a ferror; I think this is also the answer to your 
question "Do you consider 5 inches off from commanded [position] to be 
acceptable" here: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Following_Error, and 
IMO the answer is "the path deviation extrapolated to a second"; in the context 
of your example there it would be 0.005 units over a servo cycle because that 
is the current implicit ferror observation interval (is the graphic for that 
page still available somewhere?)

Lets take a random servo config as an example, like 
http://git.mah.priv.at/gitweb/emc2-dev.git/blob/75ddaf4f636e08f191cfbcea4a23a44cf8a9eebb:/configs/hm2-servo/5i22-big.ini
 :

 129 [AXIS_0]
 132 MAX_VELOCITY =          1.0
 135 FERROR =                0.010
 136 MIN_FERROR =            0.002

At 1msec servo rate, the maximum quantisation error is 0.001 
(MAX_VELOCITY/1000).

To determine the maximum ratio of quantisation error and applicable ferror we 
need to look at the speed-corrected slope of ferror; 
however disregarding the velocity scaling of ferror detection for the moment, 
the ratio is in this example is anywhere from 1:2 to 1:10 

I am a bit unclear about how the ferror scaling actually works (the graphic 
would really help) and the comment in motion/command.c doesnt clear it up for 
me:
            /*
               Max and min ferror work like this: limiting ferror is
               determined by slope of ferror line, = maxFerror/limitVel ->
               limiting ferror = maxFerror/limitVel * vel. If ferror <
               minFerror then OK else if ferror < limiting ferror then OK
               else ERROR */

However, assuming MIN_FERROR is applicable at low velocities, say ballpark < 
1/5 of MAX_VELOCITY, then again the lower limit of the ratio range would be on 
the order of 1:10 too, making the question 'when do we sample' rather 
irrelevant.

It would be really helpful to go through the above example at various speeds - 
below MIN_ERROR cutoff, between min and max, at maximum, even if its only for 
the purpose of improving documentation. Since it's all linear dependencies I am 
sure a simple formula can be given for the relative range of quantisation 
versus single-cycle ferror.

- Michael

> 
> For anything but constant speed motion, the latter makes
> the PID's job impossible.  It can't possibly make the axis
> be at a specific location at a specific time, if it isn't told
> the location until the time has already arrived.  Sure, if
> the last several commands represent a constant speed,
> it can assume that motion will continue at the same speed
> and direction.  But what if motion just got to the end of
> the constant speed part of a move, and has begun to 
> decelerate?
> 
> If we can agree on which of the above definitions is 
> correct, then I think we can walk through the rest of
> the problem based on that information.  Note that it
> is quite possible that the PID error term and the ferror
> term used to generate a "too far off path" fault might
> indeed wind up being different things. 
> 
> -- 
>  John Kasunich
>  [email protected]
> 
> ------------------------------------------------------------------------------
> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
> MVPs and experts. SALE $99.99 this month only -- learn more at:
> http://p.sf.net/sfu/learnmore_122412
> _______________________________________________
> Emc-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-developers


------------------------------------------------------------------------------
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to