注释
贡献者
|
感谢您的报告。如您所说,可能是数字错误。您能否提供您的 Grbl 设置、$I 构建信息输出以及您对默认固件所做的任何更改的任何详细信息?当我可以在此处重现问题时,更容易找到问题。 |
作者
|
当然,最新的 GRBL 1.1h 会发生这种情况,没有对源代码进行修改。
这是要重现的 NC 文件: |
作者
|
不好意思,点错了 |
|
当我有机会时,我也会研究它。此刻,我正坐在一家餐厅里,虽然我身上没有 Arduino…… 嗯…只是作为一种解决方法;你能编辑你的后处理器来为这种情况生成多段弧形移动吗(所以一个完整的圆可能会输出两个或三个移动)? |
作者
|
@bdurbrow这就是我们最终实施的。 我可以帮助解决这个问题,但是是否有测试套件可以为这个错误编写回归测试? |


你好,
我们正在大量使用 GRBL,最近我们发现 GRBL 会为罕见的圆周运动产生无效运动。
当圆弧运动具有相同的起点和终点时,bCNC 将此运动解释为完整的 360 度圆弧,而看起来 GRBL 将其随机解释为 0 度或 360 度圆弧(可能是数值稳定性问题?)。我所说的随机是指同一部分的不同旋转(0、90、180、270)会导致不同的 GRBL 运动。
例如,下面的同心圆表示最终移动一个完整的 360 度弧,但看起来它会导致 GRBL 的零度运动:
在 bCNC 中,所讨论的运动会产生一个完美的圆:
但在 GRBL 中(使用提供命令和解析状态的 python 脚本模拟),它会导致不同的运动(最后一个弧线丢失),旋转 90 度:
但是旋转 270 度时运动是正确的: