|
|
使用Python进行液压缸模拟 |
|
本帖最后由 PEN 于 2018-2-3 03:35 编辑
我喜欢#8中的情节比#10更好,但是你没有显示用于固有频率和阻尼因子的值。 我更新了代码以显示开环增益,阻尼因子和固有频率。 我会每周更新一次这个代码。 http://deltamotion.com/peter/py/HydSimCN.py 我将速度和加速度前馈添加到下面的图中。 使用S曲线加速斜坡时,很容易看出加速度前馈效果更好 s曲线运动非常好,但仍不完美。 有一些缺失 | |
|
a = F/m
a = (Pa*Aa-Pb*Ab)/m |
|
PEN 发表于 2018-2-3 03:32 It is impossible to download the *.py file because of the access. | |
|
| |
|
a = F/m
a = (Pa*Aa-Pb*Ab)/m |
|
|
将PIDFF都加入运算的结果
| |
|
本帖最后由 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(二阶目标发生器)发生错误。 减速度应该是负的。 我添加了更多图表功能。。 | |
|
a = F/m
a = (Pa*Aa-Pb*Ab)/m |
|
|
加速度前馈有些程序错误,我更新了加速度前馈;过多的微分可以提高精度但是降低了系统的稳定性,我降低了微分因子
| |
|
本帖最后由 PEN 于 2018-2-8 04:10 编辑
蟒蛇液压伺服模拟器已更新。 http://deltamotion.com/peter/py/HydSimCN.zip 目标发生器已更新,因此可以进行短暂的移动。下图是使用以下参数制作的图表。 位置= 50毫米 速度= 500毫米/秒 加速度= 2500mm / s ^ 2 减速度= 2500mm / s ^ 2 控制方法是与速度和加速度前馈的比例控制 S曲线斜坡是cos()函数 最大误差只有1mm。 当动作很短时,前馈可显着改善运动。 代码越来越大。 我将重新组织它。 | |
|
a = F/m
a = (Pa*Aa-Pb*Ab)/m |
|
|
对运动轨迹生成做了部分修改
| |
|
结果看起来不错,但开始的加速太突然了。 加速度应该从零开始并停止。
你的结果看起来不错的原因是速度慢,加速时间很长。 运动控制器的价值在产量增加时增加。 这意味着运动时间应尽可能短,但仍符合规范。 看到这个话题。 这是英文 https://forum.deltamotion.com/viewtopic.php?f=18&t=524 注意我使用挺举前馈和平滑运动轨迹。 在#17中尝试复制图表。 我也使用“比较它!” 比较文本文件,并复制我想要的。 https://www.grigsoft.com/wincmp3.htm 小的快速移动更困难。 | |
|
a = F/m
a = (Pa*Aa-Pb*Ab)/m |
|
|
http://deltamotion.com/peter/py/HydSimCN.zip
我更新了python液压伺服模拟器。 我把主文件分成五个小文件。 我添加了新的控件类型和一个新的目标生成器。 我还修复了一些小错误。 | |
|
a = F/m
a = (Pa*Aa-Pb*Ab)/m |
|

IP卡
狗仔卡




发表于 2018-2-3 16:50:16