注释
@dmalicky: 这实际上是我已经考虑了一段时间的想法。确实,您可以通过将电机扭矩建模为非常量或近似线性斜率来提高机器性能,就像您所展示的那样。问题在于规划数学变成了一个需要实时解决的非线性和非平凡问题。(TinyG的planner也不是真正的high order planner,我上次查的时候只是简单的暴力破解,但是数学上不能保证最优解或者根本没有解,会导致丢步。)有LinuxCNC 或 Mach3 也没有高阶规划的原因。它并不像看起来那么简单。有很多研究论文出于工业目的研究这个问题。 无论如何,这是我继续努力的事情,看看是否可以制定一个稳健的算法来保证最优解并且永不发散。我认为我很接近,但每当我这么想时,我通常是错的。 |
@chamnit 谢谢,桑尼,非常有趣。很高兴听到您已经在研究它(以及许多其他想法,我敢肯定)。感谢您为 GRBL 所做的所有努力。 我不知道 TinyG 规划器。我想知道工业机器是否需要这种类型的 accel = f(rpm) 控制,因为它们使用的伺服系统大多是恒定扭矩。 我可以想象高阶 3D 规划的数学非常复杂。我记得 Art 编写了 Tempest 规划器作为 Mach3 的实验,它运行良好,但速度慢了大约 30%。IIRC 几年前尝试过,用户仍然指定了 1 个加速值(不考虑步进扭矩曲线)——即,它是 S 曲线,但仅此而已。 我完全同意解决方案需要稳健,以免遗漏步骤。这胜过速度和平稳性。你能再多说说“最优”是什么意思吗?例如,如果低速步进加速器有 2 倍的增益,即使与最佳解决方案有很大的偏差也可能没问题吗? 我很好奇,如果它是一个或另一个:
谢谢,大卫 |
@dmalicky:工业机器通常有 FPGA 或比 AVR 甚至 ARM 芯片更强大的东西。为了解决高阶运动控制问题,他们只是使用纯粹的力量。 我的意思是 Grbl 的规划器的最优生成一个数学上的最优计划,该计划在模型假设及其缓冲区中的内容内最小化时间或最大化加速度。请注意,无论何时将三阶加加速度添加到计划中,实际上都会使机器移动得更慢,因为在相同的时间内,加速度曲线下方的面积并不大。也就是说,如果加速设置相同。 当然,可以做一些事情来创建次优的运动配置文件,但我认为不值得努力制作一些不完美的东西,因为某些运动场景需要不断修补。最好提出问题并正式解决所有情况。这可能是不可能的或非常困难的,但我认为值得尝试。 后者的访问控制会更容易。问题提出来更好。 |
@chamnit 谢谢,很棒的东西。 这就是为什么加加速度控制较慢的原因。我刚刚阅读了有关 Tempest 的资料——在其开发接近尾声时,Art 能够使运行时间大致相同。就像你提到的,他只是将最大加速度提高了 30%,因为他发现电机可以处理这个问题,而不是爆炸式加速度。我不知道数学是否支持该策略。 http://www.machsupport.com/forum/index.php/topic,12042.msg96261.html#msg96261 太棒了,您正在寻找最佳解决方案。我同意,如果次优意味着必须对规划器进行修补才能执行某些动作,这不是一个很好的解决方案。我正在收集(至少)这些计划者的目标?
|
@dmalicky: 有趣的。不知道 Art 尝试实施 S 曲线,但是是的,增加最大加速度会抵消较慢的 S 曲线计划。 的确,不完全是小菜一碟,但如果不难的话,也不值得做。 |
@chamnit 很高兴您正在前往 GRBL。 |
Stepper_Motor_Speed_Profile.pdf |
@Moffy: 是的。这种步进算法已经存在了一段时间。我玩了一会儿。据我所知,它的主要问题是四舍五入等数值问题。它仅在狭窄的频率范围内起作用。它有很多分歧。 |
很高兴知道。谢谢。 |
这是一个运动规划器功能的想法,可以通过步进电机获得高加速度和高速。这可能不是一个新想法,但我不知道有任何业余爱好规划者这样做过。
背景,正如你们大多数人可能知道的那样:
请看这张图片来解释这个想法: http ://home.sandiego.edu/~dmalicky/accel.jpg
蓝线是典型步进电机的扭矩曲线。
红线是典型的恒定加速度设置:
绿线显示线性加速度曲线:
我不知道这有多难实施。我记得 Sythetos 在 Due cpu 上有 S 曲线加速度,所以这在基于 ARM 的 GRBL 上是否可行?
想法?