开源改变世界

清理运动学——mc_line() vs cartesian_to_motors() #57

推推 grbl 3年前 (2023-02-05) 318次浏览
关闭
pentacular 开启了这个issue 2021 年 10 月 20 日 · 6条评论
关闭

清理运动学——mc_line() vs cartesian_to_motors()#57

pentacular 开启了这个issue 2021 年 10 月 20 日 · 6条评论

评论

清理运动学——mc_line() vs cartesian_to_motors() #57
贡献者

请描述您希望实现的功能

mc_line() 的特殊之处在于它在运动后环境中运行,而其他 mc_ 操作则在运动前环境中运行。

这意味着调用 mc_arc() 等的代码不能同时调用 mc_line(),而必须调用 cartesian_to_motors()。

让我们将 cartesian_to_motors() 重命名为 mc_line() 并将 mc_line() 重命名为更类似于 mc_move_motors() 的名称。

这适合 mc_move_motors() 从 cartesian_to_motors() 接收电机计算。

为什么您认为这会改进 FluidNC?

在查看运动学代码时,很难理解 mc_line() 与 mc_arc 的特殊状态,也无法理解哪些操作在哪些坐标空间中进行。

你需要这个功能做什么?

使运动学自定义代码更易于理解。

笛卡尔和运动规划之间的分离将变得更加清晰。

您知道其他需要此功能的用户吗?

许多自定义运动学将变得更容易理解。

清理运动学——mc_line() vs cartesian_to_motors() #57 五角星 添加了 增强 新功能或要求标签 2021 年 10 月 20 日
清理运动学——mc_line() vs cartesian_to_motors() #57
合作者
米奇布拉德利 评论了 2021 年 10 月 20 日  

当 bar() 已经存在时将 foo() 更改为 bar() 会导致混淆。最好发明一个新名字。名字很便宜;不要回收它们。

清理运动学——mc_line() vs cartesian_to_motors() #57
贡献者作者

当然。我想 mc_linear() 是一个合理的选择,就像在“运动控制线性路径”中一样。

清理运动学——mc_line() vs cartesian_to_motors() #57
所有者

@pentacular如果您不在我们的 Discord 服务器上,请加入。下面是邀请函。

我们在那里进行大部分的开发讨论。我在 fluid_dev 频道中创建了一个新线程。

我想首先讨论很多关于运动学的未决问题。这里有一些

  • 我们想在标准编译中包含什么
  • 非编译类型如何合并到固件中。
  • 我们会做一个变换矩阵选项吗?它如何适应配置文件。

https://discord.gg/D2QZ6Wvt

问候

巴特

清理运动学——mc_line() vs cartesian_to_motors() #57
贡献者作者

谢谢——我加入了。

我认为没有太多选择,这可能会使它更简单。:)

  1. 我认为标准编译中包含的内容并不重要——我猜是稳定的和流行的。
  2. 在我看来,非编译类型必然是编译类型的参数化——运动变换的空间非常复杂,如果没有通用解释器,您将无法捕捉到它,我认为这不是一个合理的选择。
  3. 仿射变换作为某些运动系统的配置可能有意义,但不能解决一般问题——例如,需要解决两个圆的交点的壁式绘图仪——我看不出变换矩阵如何会弄清楚的。
清理运动学——mc_line() vs cartesian_to_motors() #57

变换矩阵为我们提供了比直笛卡尔更多的选择,并且易于实现和参数化。除此之外,正如您所说,还需要额外的代码。

清理运动学——mc_line() vs cartesian_to_motors() #57 五角星 提到了这个问题 2021 年 10 月 22 日
清理运动学——mc_line() vs cartesian_to_motors() #57
所有者

现在有一个测试分支。请参阅 KinTesting 分支和Discord 讨论

关闭