从数据点计算加速度

Posted

技术标签:

【中文标题】从数据点计算加速度【英文标题】:Calculate acceleration from data points 【发布时间】:2020-06-21 15:50:40 【问题描述】:

我有一个伺服电机,我想让这个伺服电机尽可能地遵循“运动模式”,并使用相同的加速和减速值。

附图说明了“运动模式”(Y = 速度,X = 时间)

运动模式:

    将 0m/s 加速到 0.100m/s。 等速 0.100m/s 持续 4 秒。 减速到负 ?m/s。 加速到 0m/s,电机位置 = 0。

如何计算加速度和减速度?

到目前为止我尝试过的是:

时间 =(总时间 - 恒速时间)10 - 4 = 6 秒。 距离 =(总距离 - 等速距离)1 - 0.4 = 0.6 米。 加速度 = (2 * 距离 / (time^2) 2 * 0.6 / sqr(6) = 0.0333m/s.

但在这种加速度下,它会朝负方向超过 500 毫米。

【问题讨论】:

我无法得到它。为什么要在 PLC 端这样做?我认为在PLC方面你只给出一个你需要得到的位置和速度,加速度是伺服驱动器的一个参数。伺服用于定位。这就是它的用途。主要思想是控制精确位置。 控制所有:速度、时间和距离是相互矛盾的——你改变一个,它也会影响其他的,所以除非你的速度、加速度和时间与行驶距离完全匹配,否则你无法解决这个问题。您能做的最好的事情是近似和/或计算 2 并留下 3th 它将是什么......因为速度和距离可能已经定义,然后您只需重新计算时间以使其匹配...... 【参考方案1】:

查看 PLC Open 运动功能块,例如 MC_MoveRelative 和 MC_MoveContinuesRelative 块:

(Beckhoff documentation)

正如 Sergey 已经说过的,您可以使用这些块来创建运动配置文件,方法是输入您需要的所有参数并将这些块集成到一个步骤链中。

【讨论】:

以上是关于从数据点计算加速度的主要内容,如果未能解决你的问题,请参考以下文章

第一次机会 NoViableAltException 减慢调试速度

如何计算设备移动的最后两点的加速度计

关于速度的动画[关闭]

是否有任何 C++ opencv 代码来计算每帧视频中关键特征点的速度? [关闭]

matlab中,如何加快数据运算速度?

是否可以在swift中使用加速框架计算两个已知点之间的线性插值