On Mon, 2 Dec 2013, Robert Ellenberg wrote: > Date: Mon, 2 Dec 2013 15:22:24 -0500 > From: Robert Ellenberg <[email protected]> > Reply-To: EMC developers <[email protected]> > To: EMC developers <[email protected]> > Subject: Re: [Emc-developers] Initial tests of circular arc blending > >> >> Its good to remember that both step/dir systems and most servo systems are >> running in velocity mode (effectively linear extrapolation from each way >> point) so that the actual errors caused by a lower update rate are only >> second >> order errors. What I consider a fast CNC machine may machine at 600 IPM >> with >> 400 IPS/S acceleration (1/40 sec to full speed) Even with these extremes, >> its >> possible to keep within 1/5000" of a acceleration limited profile with 1 >> KHz >> position (and velocity) update rate. If the TP provided forward differences >> for velocity and higher derivatives a much slower update rate is feasible >> if the underlying hardware has a simple extrapolator. > > > That's a good point. Out of curiosity, how do you arrive at the 1/5000" > error figure?
I made a rough estimation :-) First assume the hardware does perfect velocity extrapolation. So we have velocity steps from the TP at 1 KHz. The maximum velocity difference between steps will be 0.4 IPS (400 IPS/S assumed acceleration/1000). So the maximum possible deviation from the straight line of any profile that obeys the acceleration bounds is 0.4IPS * 1 ms = 1/2500" If the TPs velocity is optimized, you can split the difference and get 1/5000" max. This is why typically even high end controllers dont get crazy with the update rate (latest Fanuc controllers use a 4 KHz position loop) The error for velocity mode drives is inversely proportional to the square of the update rate. > > My calculations for sample rate are based on the limitations of the > algorithm, more than the absolute accuracy. The current method I'm using to > handle tangents requires that each segment be "touched" at least twice, > implying that each segment needs to take at least 2 cycles. This creates an > upper bound on the velocity we can achieve for a given update rate and > segment size. The 8kHz (not 12kHz, oops) figure is also due to the fact > that blend arcs split up segments, so there are in general up to twice as > many segments as the original program. We can cheat the speed limitation by > increasing the update rate, though there are obvious limits in terms of > performance here. > > Hitting each segment is a safe assumption, and much easier algorithmically. > However, it means we can't take advantage of the "close-enough" accuracy > we'd get by skipping over short segments. > > In the long term, I'm sketching out a small change that will only need to > touch each segment once instead of twice. If it works, it should offer a > big performance boost on short segments. > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk > _______________________________________________ > Emc-developers mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-developers > Peter Wallace Mesa Electronics (\__/) (='.'=) This is Bunny. Copy and paste bunny into your (")_(") signature to help him gain world domination. ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
