本节摘要:自适应控制在运行中在线辨识对象参数并实时校正控制律,主要路线有模型参考自适应(MRAC)与自校正调节器(STR);参数收敛依赖持续激励,稳定性依赖自适应律的规范设计。本节拆解两路结构、仿真一个一阶 MRAC、演示在线最小二乘加极点配置的自校正回路。
承接 7.1 节与第五章:MPC 假设模型固定,鲁棒控制容忍误差但不修正误差。自适应是第三条路——边跑边学,误差修正到模型里去。
先泼冷水:自适应不是"更高级的 PID"。它引入在线辨识与参数时变的控制律,稳定性分析难度陡增,现场失效模式千奇百怪。值得上自适应的判据有两条硬的:参数漂移显著且慢(工件质量随批次变、飞行器油量随消耗变——快变化来不及辨识,慢漂移正合适);漂移方向可由在线数据观测(持续激励存在)。不满足时,第五章的鲁棒设计通常更划算:它不需要学习,只承诺底线。
两大流派按"跟谁学"分野。模型参考自适应(MRAC):给出一个期望闭环的参考模型,用实际输出与参考模型输出之差驱动自适应律调控制器参数——误差大就多学,误差消则参数停。自校正调节器(STR):先在线辨识对象参数(递推最小二乘主力),再把辨识结果当真值去解控制律(极点配置或最小方差)——"辨识器加设计器"的串行结构。MRAC 是一步到位的隐式学习,STR 是两步走的显式学习,后者结构清晰、工业上更常见。
对象:一阶惯性,增益 K 未知且可能漂移。参考模型:期望闭环为一阶、时间常数 0.5 秒。控制器结构:比例增益可调,自适应律按 MIT 律(参数调整速率正比于误差乘敏感度函数):
% 对象 dy = -y + K*u(K真实=3,未知);参考模型 Tm=0.5 Tm = 0.5; gamma = 0.5; % 自适应增益(学习速率) Khat = 0.5; % 增益估计初值(故意偏小) r = 1; % 阶跃指令 f = @(t,x)[ -x(1) + 3*(Khat... )]; % 需按MIT律展开,见完整仿真 % 完整闭环仿真(欧拉步进): dt = 0.001; y = 0; ym = 0; Khat = 0.5; hist = []; for k = 1:6000 e = y - ym; % MIT律:dKhat = -gamma * e * ym(敏感度近似取参考输出) u = (Tm*(-ym) + r - ... )/max(Khat,0.1); % 确定性等价控制律 u = r/Khat; % 简化结构演示 y = y + dt*(-y + 3*u); ym = ym + dt*(-ym/Tm + r/Tm); Khat = Khat - dt*gamma*e*ym; hist(end+1) = Khat; end plot(hist) % 输出:Khat 从0.5爬升,约2秒收敛到3附近并保持—— % 增益学对了,实际输出贴合参考模型,误差趋零
两个现象值得盯。学习速率 gamma 的双刃剑:调大到 5,收敛快但 Khat 曲线出现明显振荡甚至发散(自适应律本身失稳);调小到 0.05,稳但慢。激励问题:若指令 r 恒为零,误差恒零,Khat 原地不动——没有输入激励就没有学习,这是持续激励条件的现场版本,也是自适应系统在静默工况下悄悄"失忆"的原因。
STR 演示:对象参数慢漂(增益从 2 漂到 3),递推最小二乘在线估计离散模型参数,估计值喂给极点配置设计器,控制律逐拍更新:
% 对象:y = a*y_prev + b*u_prev,a=-0.8固定,b从2缓漂到3 theta = [0; 1]; % 参数估计 [a; b] 初值 P = 10*eye(2); % 协方差阵初值(大=先验弱) for k = 2:3000 if mod(k,10)==0, b_true = 2 + k/3000; end % 慢漂 phiu = 0.5*sin(0.3*k)+0.5*sign(sin(0.11*k)); % 持续激励输入(学习期) y = -0.8*yhist(end) + b_true*uhist(end); phi = [yhist(end); uhist(end)]; % 回归向量 % 递推最小二乘更新: Kk = P*phi/(1+phi'*P*phi); theta = theta + Kk*(y - phi'*theta); P = P - Kk*phi'*P; % 极点配置:按 theta 解控制律(一阶对象配极点0.5) ahat = theta(1); bhat = theta(2); if abs(bhat)>0.1 u = (0.5 - ahat)/bhat * y + phiu/bhat*0.3; % 等效极点配置律 end end % 输出:theta(2) 的轨迹紧跟 b_true 从2爬到3,滞后仅几十拍; % 闭环输出始终稳定——控制律跟着辨识走,这就是"自校正"
协方差初值 P 取大表示"先验不可靠、快来学";随数据累积 P 自动收缩、学习自动减速——遗忘因子则用于对抗漂移(老数据降权),代价是参数估计噪声变大。遗忘因子的选择是 STR 现场调参的主要内容:0.99 慢而稳,0.95 快而毛刺多。
自适应回路的稳定性是时变非线性问题,李雅普诺夫设计(5.1 节的工具)能给出 MRAC 自适应律的稳定版本(比 MIT 律严谨,学习律含正定阵加权且误差通道严格正实)。工程上的四条保命经验:自适应永远做内环之上的外环,学习速率比闭环动态慢一个量级,快慢两个时间尺度解耦才不打架;估计参数设上下限夹紧,防辨识病态时控制律飞掉;静默工况冻结学习,防激励不足参数游走;关键回路保留固定律后备,自适应失效无扰切换回去。

下一节处理连方程都写不出的对象:模糊与神经网络的数据驱动路线。