
✨ 长期致力于热塑性塑料成型液压机、滑块调平控制、主缸加载控制、扩张干扰观测器、复合自适应控制器、自适应鲁棒控制器、交叉耦合控制器、联合仿真研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1扩张干扰观测器与非线性级联滑块调平控制针对热塑性塑料成型液压机滑块快速下行1200mm/s过程中的偏载调平问题设计一种基于扩张干扰观测器的非线性级联控制器。将四只调平液压缸的位移控制分解为外环力控制和内环压力控制扩张干扰观测器同时估计各缸的速度干扰和外负载力。观测器采用三阶扩张状态方程观测带宽设为50rad/s能有效估计慢变和快变干扰。级联控制器中位移外环通过期望驱动控制力规划压力内环利用Backstepping方法推导出控制电压。在Simulink中建立四缸同步液压系统模型设定非对称偏载左侧负载比右侧大30%。单独使用PID调平时四缸同步误差最大为1.2mm加入扩张干扰观测器后误差降至0.25mm再与交叉耦合控制器联合误差进一步降至0.08mm。调节时间从0.8秒缩短到0.3秒。2基于指令滤波的复合自适应压力控制器为了精确控制压制阶段的主缸加载压力设计一种指令滤波复合自适应控制器。该控制器解决了传统Backstepping方法中的微分爆炸问题指令滤波器将虚拟控制信号通过二阶低通滤波后作为实际控制量滤波器的自然频率设为200rad/s阻尼比0.8。复合自适应律同时利用跟踪误差和模型预测误差来更新参数估计加快收敛速度。参数估计包括液压油体积弹性模量、泄漏系数和库伦摩擦力幅值。在阶跃压力指令从0到20MPa的实验中所提控制器的上升时间为0.12秒无超调稳态误差小于0.05MPa。当系统出现外泄漏泄漏系数增加一倍时传统自适应控制器需要2秒才能恢复稳态而复合自适应控制器仅需0.5秒。3自适应鲁棒控制器与ADAMS-MATLAB联合仿真设计一种基于非连续投影映射的自适应鲁棒控制器用于主缸运动轨迹跟踪。参数自适应律采用不连续投影映射保证参数估计值始终在有界范围内且不因非参数不确定性而发散。鲁棒反馈项采用饱和函数抑制模型误差。在ADAMS中建立液压机的机械结构多体动力学模型包含滑块、模具和弹性支撑导入MATLAB/Simulink作为被控对象。联合仿真中给定S型速度规划轨迹最大行程500mm。自适应鲁棒控制器的最大跟踪误差为0.09mm均方根误差0.03mm而普通PID控制器的最大误差为0.45mm。在压制阶段控制模式从位置控制平滑切换到压力控制切换点处的冲击力峰值被限制在设定值的5%以内。实验验证在25MN液压机上进行实际测得的滑块平行度在全程保持在0.1mm以内满足热塑性塑料成型对模具保护的要求。import numpy as np from scipy.integrate import odeint class ExtendedDisturbanceObserver: def __init__(self, b0, w050): self.b0 b0 # 控制增益 self.w0 w0 self.z1 0.0 # 状态估计 self.z2 0.0 # 干扰估计 def update(self, y, u, dt): # 扩张观测器离散实现 e self.z1 - y fe 2 * self.w0 * e self.z1 (self.z2 self.b0 * u - fe) * dt self.z2 (self.w0**2 * e) * dt return self.z2 # 估计的干扰 class CommandFilteredAdaptiveController: def __init__(self, omega_n200, zeta0.8): self.omega_n omega_n self.zeta zeta self.x1f 0.0 self.x1f_dot 0.0 def filter(self, v, dt): # 二阶低通滤波 self.x1f_dot_dot self.omega_n**2 * (v - self.x1f) - 2*self.zeta*self.omega_n*self.x1f_dot self.x1f_dot self.x1f_dot_dot * dt self.x1f self.x1f_dot * dt return self.x1f, self.x1f_dot def adaptive_robust_control(q_d, q, dq, param_hat, gamma100): # 非连续投影映射 e q_d - q s dq - (q_d_dot 0.5*e) # 滑模面 # 参数自适应律 tau -param_hat * s proj lambda theta_hat, phi: max(0, min(1, (theta_hat * phi))) param_dot gamma * proj(param_hat, s) param_hat_new param_hat param_dot * 0.001 # 鲁棒反馈 robust_term -10 * np.tanh(s/0.01) u tau robust_term return u, param_hat_new