开源改变世界

linuxCNC 2.7 和 2.8 中的加速违规 #546

推推 grbl 3年前 (2023-01-29) 202次浏览
关闭
pcw-mesa 打开了这个问题 2018 年 12 月 31 日 · 11 条评论
关闭

linuxCNC 2.7 和 2.8 中的加速违规#546

pcw-mesa 打开了这个问题 2018 年 12 月 31 日 · 11 条评论

注释

linuxCNC 2.7 和 2.8 中的加速违规 #546
合作者

LinuxCNC 的两个当前版本在某些情况下都违反加速约束
在测试论坛海报 gcode 文件(https://forum.linuxcnc.org/9-installing-linuxcnc/35744-not-a-bug-report)时我发现我可能会出现以下测试文件之一的加速违规:\

http://freeby.mesanet.com/1.ngc

我对我的测试配置有严格的速度和加速度限制:20 IPS 和 200 IPS^2
,这可能起到了一定的作用,但这个错误在 2.7 和 2.8 中都是可重现的(第 920 行附近的第一个错误)

http://freeby.mesanet.com/28ferror.png
http://freeby.mesanet.com/28ferrorb.png

第二个图的铁误差限制足够宽,因此不会生成以下错误故障

linuxCNC 2.7 和 2.8 中的加速违规 #546
合作者作者

我发现 AFAICT 这个错误是由非常小的 G64 PXXX 值触发
的 论坛上提供的示例文件有 G64 P0.001 以毫米为单位,
如果将其设置为 .003 或更大,则不违反加速度约束

linuxCNC 2.7 和 2.8 中的加速违规 #546
合作者
三星币 评论了 2019 年 1 月 2 日 通过电子邮件
linuxCNC 2.7 和 2.8 中的加速违规 #546
合作者作者

是的,我记得。这(微小的 G64 Pxxx 值)似乎主要影响高速/加速度的配置。看起来论坛海报问题不一样,我可以在这里用 mm LinuxCNC 2.8 配置复制它:

http://freeby.mesanet.com/fe28.png

轴 A(关节 3)的最大速度为每秒 200 度,加速度为
每秒 2000 度^2,您可以看到它违反了大约 50% 的加速度约束,并且违反不依赖于 PXXX 值(有趣的是,它确实然而,离开 G61 )

linuxCNC 2.7 和 2.8 中的加速违规 #546

感谢您提供范围跟踪和测试程序。可以切出它的一小部分(20 行)以在 sim 中重现该问题。您介意给我的修复分支尝试一下,看看修复是否适用于您的平台吗?

linuxCNC 2.7 和 2.8 中的加速违规 #546
合作者作者

当然,我怎么给你补丁?请耐心等待,我得了很严重的流感,所以请保持简单 :-)

linuxCNC 2.7 和 2.8 中的加速违规 #546
合作者
罗伯·埃伦伯格 评论了 2019 年 1 月 7 日 通过电子邮件
linuxCNC 2.7 和 2.8 中的加速违规 #546
合作者作者

OK 测试了那个分支,我似乎确实解决了“小 G64PXXX 值”问题,但我仍然 在 1_wrap.ngc 文件中使用我的配置
得到相同的加速错误(看起来加速超过约束 50%) :

http://freeby.mesanet.com/a-err.png

(底部轨迹是加速度,ini 文件约束是 2000 但加速度达到 ~3000)

linuxCNC 2.7 和 2.8 中的加速违规 #546

那是在节目的最后吗?看起来快到最后一段了;可能是优化器的问题。1_wrap.ngc 与上面链接的 1.ngc 不同吗?如果是这样,您可以发布指向它的链接吗?我将尝试在打开调试输出的情况下重现它,看看它在哪里失败了。

linuxCNC 2.7 和 2.8 中的加速违规 #546
合作者作者

对不起,我没有把它包括在内,就在这里

http://freeby.mesanet.com/1_wrap.ngc

通过我的配置,我在 420 行附近遇到了错误

linuxCNC 2.7 和 2.8 中的加速违规 #546

谢谢!我也可以通过在原始文件中用“A”查找/替换“Y”来重现它。我刚刚对同一个分支进行了修复(目前在本地 sim 中运行,到目前为止没有违规)。有一个抛物线混合案例,它没有正确降低加速度,导致您看到的违规行为。

linuxCNC 2.7 和 2.8 中的加速违规 #546
合作者作者

好极了!谢谢!两个错误都修复了 AFAICT