-
Notifications
You must be signed in to change notification settings - Fork 112
Description
Hi everyone,
I'm using GrblHAL on an SKR3 (STM32H723) and I'm running into a strange and dangerous behavior when programming certain arcs (G02 / G03). Specifically, when the arc center is extremely far from the origin, but the arc covers only a short distance, GrblHAL seems to go haywire and moves in a straight line until it hits a physical limit.
Here are two actual examples that caused this:
1) G00 X832.882 Y653.896
G03 X834.943 Y646.164 I8187140.303 J2183231.203
2) G00 X142.235 Y832.114
G02 X146.294 Y813.174 I-39806104.512 J-8529899.349
In both cases, the expected travel distance was under 20mm, yet the machine traveled over 500mm in a straight line, crashing into the physical limits.
I understand that programming circular interpolation with such huge radius values may be overkill (a G01 would likely be sufficient), but mathematically the arcs are valid and should be correctly handled.
I found two related issues that seem to match this behavior: #161 and #547.
My questions:
- What is the root cause of this behavior?
- Is there a known numerical limit or precision issue with very large arc centers?
- What kind of rule or heuristic could I implement in my post-processor to catch and prevent this kind of motion?
Thanks in advance for any clarification!