Hi All,

I noticed an odd quirk with the Naive CAM detector when debugging an issue
with circular arc blending. In particular, I was trying to find the source
of this "error":

(Starting from X56.09083 Z0.49686 )
N1 G1 X20.16452
N2 X19.2665 Z0.86884
N3 X18.89452 Z1.76686

https://www.dropbox.com/s/bpg2xvxa30yrpzl/following%20error.png

It looks like the short segment (N2) is being eliminated entirely. It looks
like the Naive CAM detector is using a linear distance as a tolerance based
on this post in the forums:


http://linuxcnc.org/hardy/dapper/index.php/french/forum/20-g-code/19371-g64-p-q-naive-cam-tolerance-setting

I'm not sure what the original intent of Naive CAM detection was, but
eliminating a segment that is clearly "not tangent" by its angle with the
previous line seems counter-intuitive to me. However, this behavior does
make sense if its job is to "coarsen" a given path by a certain linear
tolerance.

A more subtle issue here is that the Naive CAM detector uses the P word of
G64 if Q is not specified. So, if I specify G64 P0.5 (like in the image
above), then it also assumes Q0.5 by default.

To me, this is bad because the blend tolerance (P0.5) is effectively
applied twice. In the example above, line N2 is eliminated entirely, which
means the path is already up to 0.5mm from ideal when it is passed to the
trajectory planner. Now, TP applies a blend with tolerance, leading to
another 0.5mm deviation, for a total of 1mm possible deviation.

If the default behavior was always to make Q0, then a user would have to
explicitly ask for a Naive CAM tolerance. To explicitly get the same
situation as above, a user would call:

G64 P0.5 Q0.5

By explicitly calling the Q term, it's much more apparent that we're
applying two separate tolerances to the path.

Does this sound like a reasonable change? If so, it looks like just
deleting lines 1508-1509 in interp_convert.cc would do it.

-Rob
------------------------------------------------------------------------------
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=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to