搜索
楼主: PEN

使用Python进行液压缸模拟

    [复制链接]
  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2018-2-3 03:32:14 | 显示全部楼层
本帖最后由 PEN 于 2018-2-3 03:35 编辑

我喜欢#8中的情节比#10更好,但是你没有显示用于固有频率和阻尼因子的值。

我更新了代码以显示开环增益,阻尼因子和固有频率。 我会每周更新一次这个代码。

http://deltamotion.com/peter/py/HydSimCN.py

我将速度和加速度前馈添加到下面的图中。 使用S曲线加速斜坡时,很容易看出加速度前馈效果更好
s曲线运动非常好,但仍不完美。 有一些缺失



PIFF simple ramps.png
PIDFF S-curve.png
回复 支持 反对

使用道具 举报

  • 打卡等级:伴坛终老
  • 打卡总天数:1702
  • 打卡总奖励:5759
发表于 2018-2-3 16:50:16 | 显示全部楼层
PEN 发表于 2018-2-3 03:32
我喜欢#8中的情节比#10更好,但是你没有显示用于固有频率和阻尼因子的值。

我更新了代码以显示开环增 ...

It is impossible to download the *.py file because of the access.
回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2018-2-4 02:27:59 | 显示全部楼层
回复 支持 反对

使用道具 举报

  • 打卡等级:伴坛终老
  • 打卡总天数:1702
  • 打卡总奖励:5759
发表于 2018-2-4 19:00:33 | 显示全部楼层
将PIDFF都加入运算的结果

回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2018-2-5 04:17:50 | 显示全部楼层
本帖最后由 PEN 于 2018-2-5 07:40 编辑

@ back2049,你对结果满意吗?
您是否尝试多次更改控制器增益以最小化均方误差MSE?
模拟不会振动,但物理系统可能会震动很多。

对于当前的液压缸参数,Kp = 1.258是仅比例控制的最佳值。当Ki和Kd相加时,闭环极点位置移动到非最佳位置。另外,当Ki增加另一个闭环极点时,现在也有一个闭环零点。闭环零可能会伤害或帮助。

我的最后一个图表的平均误差更小,振动更小。我使用PI控制。
Ki = 9.443,Kp = 1.862。极点位置不是最优的,但是可以用PI或PID控制完成。我认为S曲线的加速和减速也有帮助。

将阻尼因子更改为0.9,然后重试。你的结果会好很多。
对于阻尼系数较低的液压系统,PID将无法正常工作。数学证明是可能的。当阻尼系数较低时,PI控制和PID一样好。

评论?

编辑
我更新了文件
http://deltamotion.com/peter/py/HydSimCN.zip
减速部分的tg2(二阶目标发生器)发生错误。 减速度应该是负的。

我添加了更多图表功能。。





Accel vs Time.png
回复 支持 反对

使用道具 举报

  • 打卡等级:伴坛终老
  • 打卡总天数:1702
  • 打卡总奖励:5759
发表于 2018-2-5 13:08:22 | 显示全部楼层
加速度前馈有些程序错误,我更新了加速度前馈;过多的微分可以提高精度但是降低了系统的稳定性,我降低了微分因子

回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2018-2-8 04:08:34 | 显示全部楼层
本帖最后由 PEN 于 2018-2-8 04:10 编辑

蟒蛇液压伺服模拟器已更新。
http://deltamotion.com/peter/py/HydSimCN.zip
目标发生器已更新,因此可以进行短暂的移动。下图是使用以下参数制作的图表。
位置= 50毫米
速度= 500毫米/秒
加速度= 2500mm / s ^ 2
减速度= 2500mm / s ^ 2
控制方法是与速度和加速度前馈的比例控制
S曲线斜坡是cos()函数
最大误差只有1mm。
当动作很短时,前馈可显着改善运动。

代码越来越大。 我将重新组织它。
PFF s-curve.png
PFF s-curve error.png
回复 支持 反对

使用道具 举报

  • 打卡等级:伴坛终老
  • 打卡总天数:1702
  • 打卡总奖励:5759
发表于 2018-2-9 16:45:57 | 显示全部楼层
对运动轨迹生成做了部分修改

回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2018-2-10 02:48:44 | 显示全部楼层
结果看起来不错,但开始的加速太突然了。 加速度应该从零开始并停止。

你的结果看起来不错的原因是速度慢,加速时间很长。

运动控制器的价值在产量增加时增加。 这意味着运动时间应尽可能短,但仍符合规范。

看到这个话题。 这是英文
https://forum.deltamotion.com/viewtopic.php?f=18&t=524
注意我使用挺举前馈和平滑运动轨迹。

在#17中尝试复制图表。

我也使用“比较它!” 比较文本文件,并复制我想要的。
https://www.grigsoft.com/wincmp3.htm

小的快速移动更困难。
回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2018-2-20 03:01:27 | 显示全部楼层
http://deltamotion.com/peter/py/HydSimCN.zip
我更新了python液压伺服模拟器。 我把主文件分成五个小文件。 我添加了新的控件类型和一个新的目标生成器。 我还修复了一些小错误。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则