【问题标题】:servo motor s curve motion伺服电机的曲线运动
【发布时间】:2018-01-02 19:33:41
【问题描述】:

我正在尝试使用我的 XE166 设备控制工业交流伺服电机。

控制器使用 PULSE 和 DIRECTION 控制与伺服控制器接口。

为了实现无抖动运动,我一直在尝试创建 S 曲线运动曲线(电机速度与时间)。

计算瞬时速度没问题,因为我知道电机每个脉冲移动的距离和脉冲持续时间。

我需要了解如何得出一个我可以使用的数学方程式,它会告诉我将速度曲线设为 S 曲线的第 n 个脉冲持续时间应该是多少。

由于这些必须是任何需要运动控制的领域(机器人、CNC、工业)的共同要求,因此必须有一些标准参考才能做到这一点

【问题讨论】:

  • 也许为您使用的编程语言和 API 添加标签?您是否已经尝试在谷歌上搜索答案并查看维基百科?听起来答案也应该在一篇或几篇论文中。您是否可以访问可以搜索论文(研究出版物)的大学网络?
  • sigmoid 或逻辑曲线方程看起来是一个很好的起点。
  • 英飞凌和其他此类 MCU/驱动器的制造商。发表了很多这方面的信息。有些包括数学,有些甚至是软件方法。你真的搜索过吗?

标签: embedded microcontroller


【解决方案1】:

步长周期是运动曲线上相隔一步的两个位置之间的时间差。如果位置由 X(T) 定义,则步进时间需要反函数 T(X),并且任何给定的步进周期为 P = T(X+1) - T(X)。在处理能力有限的微控制器上,这通常通过近似来解决 - 对于二阶恒定加速度运动,Atmel has a fantastic example using a Taylor series approximation for inter-step time (Application note AVR446)

另一种适用于高阶曲线的解决方案涉及根求解。要求解 T(x0),令 U(T) = X(T) - x0 并求解 U(T) = 0。

对于恒定的加速度曲线,二次公式非常适用(但需要平方根运算 - 通常在微控制器上很昂贵)。对于 jerk-limited 运动(3 次多项式最小值),可以使用 iterative root solving algorithm 找到根。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多