我试图对arduino进行编程以生成梯形运动曲线,以便使用正交编码器控制直流电机。
基本上,用户将输入所需的目标位置,最大速度和加速度(decel = -accel),代码将计算目标位置与时间的关系,然后将其与实际位置进行比较。然后结果将进行PID计算
我最初的假设是我可以使用基本的牛顿物理学来确定位置(即PT = P0 + V0T + 1 / 2AT2,VT = V0 + AT)。但是,在阅读了预先存在的运动控制器的文档之后,我发现流行的方法是使用离散时间方法,如下所示:
VK = VK-1 + A(A =加速度) PK = PK-1 + VK-1 + A / 2
我很难理解这个等式如何产生目标位置与时间的关系。在Velocity的情况下,似乎只是将加速度加到当前速度上。但是介于两者之间呢?
有人可以解释一下如何使用这种方法吗?我花了很长时间在网上寻找答案,但没有运气。