开源改变世界

G30.1及坐标系旋转 #563

推推 grbl 3年前 (2023-01-29) 199次浏览
打开
3 个任务中的第 1 个
grandixximo 打开了这个问题 2019 年 2 月 22 日 · 5 条评论
打开
3 个任务中的第 1 个

G30.1及坐标系旋转#563

grandixximo 打开了这个问题 2019 年 2 月 22 日 · 5 条评论

注释

G30.1及坐标系旋转 #563

以下是我重现该问题所遵循的步骤:

  1. 打开 sim 轴配置
  2. 主页并发送此 g 代码

G53 G0 X5Y5
G10 L20 P2 X1 Y1
G30.1
(调试,X#5181 Y#5182)
G10 L2 P2 R180
G55
G30.1
(调试,X#5181 Y#5182)
G10 L2 P2 X0 Y0 R0
G30.1
(调试,X#5181 Y#5182)
M2

这是我期望发生的事情:

X5.000 Y5.000
X5.000 Y5.000
X5.000 Y5.000

这是发生了什么:

X5.000 Y5.000
X3.000 Y3.000
X5.000 Y5.000

在此之前它工作正常:

不知道这个问题是从什么时候开始出现的,应该是很久很久了吧

有关我的硬件和软件的信息:

  • 我正在使用这个 Linux 发行版和版本(通常由 显示lsb_release -a):Ubuntu 18.04.2 LTS
  • 我正在使用这个内核版本(显示为uname -a):4.15.0-45-generic
  • 我在跑步 …
    • 来自 linuxcnc.org 的二进制版本(包括 buildbot.linuxcnc.org)
    • 我从 github 的最新 master 构建的二进制文件
    • 来自 linuxcnc.org 之外的其他来源的二进制版本
  • 我正在使用这个 LinuxCNC 版本(显示在包管理器中,或者对于 git 版本,scripts/get-version-from-git):来自 github LINUXCNC 的最新大师 – 2.8.0~pre1
  • 我正在使用此用户界面 (GUI)(例如 AXIS、Touchy、gmoccapy 等):Axis
  • 我正在使用这个接口硬件供应商和芯片组(例如,并行端口、以太网端口、FPGA 卡):我正在运行模拟,没有硬件

##################################

我在玩坐标系旋转,我想获得绝对位置来做一些 if 语句,我遇到了一些奇怪的行为,经过进一步检查,G30.1 并不总是获得绝对位置,看起来像坐标系统旋转会影响 G30.1 存储在参数中的值。

G30.1及坐标系旋转 #563

这是一个孤立的问题吗?谁能证实?

G30.1及坐标系旋转 #563

我最近看到了类似的行为(尽管尚未确认 100%)。我认为解释器在某些操作中以错误的顺序应用偏移/旋转。它在佳能(因此也是运动)中是正确的,因为 emccanon 有自己的当前位置和坐标偏移状态。

G30.1及坐标系旋转 #563

任何人都可以 100% 确认这一点吗?
根据文档 G30.1 应该始终给出当前的绝对位置,但是如果你运行我发布的代码,即使绝对位置没有移动,G30.1 返回不同的值,这是错误的……

这是一个更简单的 g 代码,其中 G30.1 在 #5181 和 #5182 中存储了错误的值

G53 G0 X5Y5
G10 L2 P2 X-2 Y-2 R120
G55
G30.1
(调试,X#5181 Y#5182)
M2

它应该给出 X5 Y5,而不是我得到 X0.562178 Y-11.562178

G30.1及坐标系旋转 #563

进一步研究,我也看到了,并且有一个实验性的修复(虽然需要重新定位到 2.7 / 2.8)。@SebKuzminsky, 这应该在 2.7 中修复,还是只在 2.8 中修复?我的修复程序在解释器中进行了大量的底层检修。

G30.1及坐标系旋转 #563

2.7 中是否存在此错误?如果是这样,有针对性的修复会很好,但如果修复涉及彻底检查解释器,则不属于 2.7。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
项目

还没有

发展

没有分支机构或拉取请求

3人参加
G30.1及坐标系旋转 #563G30.1及坐标系旋转 #563G30.1及坐标系旋转 #563

喜欢 (0)