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
