5.2 滑模控制与反馈线性化


5.2 滑模控制与反馈线性化

本节摘要:滑模控制设计一个切换面让状态沿面滑向原点,对满足匹配条件的不确定性具有完全不变性,代价是高频抖振;反馈线性化用代数变换精确抵消非线性,得到等效线性系统再套线性设计。本节完成两种方法的完整设计算例与工程化处理。

承接 5.1 节:李雅普诺夫函数给了判稳的尺子,本节把它变成设计工具——两种方法的正确性证明都建立在 5.1 节的能量论证上。

一、滑模:靠切换取胜

思路出人意料地朴素:在状态空间里画一个超平面(滑模面),面上的状态被设计成自然滑向原点;面两侧控制律取相反的极端,把偏离面的状态狠狠推回面上。全程只需"在面上/不在面上"这一比特信息,对面上运动的参数漂移完全不敏感——这份不变性是滑模的招牌,也是它能在参数大范围变化的场合(航天器、机械臂)硬扛的原因。

以二阶系统为例走完整流程。对象:x 二阶导加 a 乘 x 导数等于 u,参数 a 标称 1 但可能漂到 3。第一步设计滑模面 s 等于 x 导数加 c 乘 x(c 取 2),s 为零时系统退化为 x 导数等于负 c 乘 x,指数收敛,面上运动稳定且与 a 无关。第二步设计控制律让 s 自己收敛到零:取 u 等于负的 a帽 乘 x 导数减 k 乘 sign 函数 s,到达条件(s 乘 s 导数小于零)保证有限时间到达。MATLAB 实现:

c = 2; k = 5; % 滑模面斜率与切换增益 ahat = 1; % a 的标称值(真实可能漂到3) sys = @(t,x)[ x(2); -3*x(2) + ...]; % 见下面完整句 % 完整仿真:真实参数 a=3,控制器只按 ahat=1 设计 f = @(t,x)[ x(2); -3*x(2) + (ahat*x(2) + k*sign(c*x(1)+x(2)))*(-1) ]; % 注意符号约定:u = -ahat*xdot - k*sign(s) f = @(t,x)[ x(2); -3*x(2) - ahat*x(2) - k*sign(c*x(1)+x(2)) ]; [t,y] = ode45(f, [0 5], [1; 0]); plot(t, 2*y(:,1)+y(:,2)) % 输出:s 在极短时间内到达零并保持贴面滑动, % 状态约1.5秒收敛,参数从1漂到3(百分之两百误差)性能几乎不变 % 对比等效线性设计(按a=1整定的PD)在a=3下明显欠阻尼——不变性的含金量

二、抖振:滑模的原罪与救赎

sign 函数在 s 过零时正负切换,理想切换无穷快,真实执行器有延迟——于是状态在面两侧高频抖动,即抖振。它激励未建模高频模态、磨损执行器,是滑模落地的头号障碍。三种救赎:边界层法,把 sign 换成饱和函数(薄层内线性过渡),抖振消失但换来稳态误差层;趋近律法,让切换力度随 s 减小而减弱(指数趋近律),到面时速度已低;高阶滑模,对切换信号积分平滑后再输出,理论上既无抖振又保不变性,工程复杂度上升。边界层最常用,演示:

delta = 0.05; % 边界层厚度 sat = @(s) max(min(s/delta,1),-1); % 饱和替代sign f2 = @(t,x)[ x(2); -3*x(2) - ahat*x(2) - k*sat(c*x(1)+x(2)) ]; [t2,y2] = ode45(f2, [0 5], [1; 0]); plot(t,2*y(:,1)+y(:,2), t2,2*y2(:,1)+y2(:,2)); legend('纯sign','边界层'); % 输出:纯sign曲线毛刺密布;边界层曲线光滑, % 代价是稳态残差约 delta 量级——抖振与精度二选一

选切换增益 k 的纪律:k 必须盖过不确定上界(本例参数误差上界约 2,k 取 5 有余量),但盲目加大 k 只会加剧抖振。k 压着不确定上界取,不多给

三、反馈线性化:精确抵消

另一条路线假设非线性结构已知且可观测:用代数运算把非线性项精确抵消,系统变身线性,再套第四chapter的全部兵器。对可输入输出线性化的系统,核心是相对阶:输出对输入求导多少次才显式出现输入。相对阶等于系统阶数时可完全线性化,否则有内动态,须单独检查其有界性。

算例:单杆机械臂,惯量 J、重力矩系数 g除l 项,角度 q 为输出。方程:J 乘 q 二阶导加 b 乘 q 导数加 m g l sin q 等于 u。相对阶为二,抵消非线性:

% 输入变换:u = J*v + b*qdot + m*g*l*sin(q) (v为新虚拟输入) J = 1; b = 0.5; mgl = 5; % 代入后系统变为 q二阶导 = v,纯积分双联——精确线性化完成 % 用极简PD在新线性系统上设计: Kp = 25; Kd = 10; % 期望闭环 wn=5, zeta=1(临界阻尼) % v = Kp*(qd-q) - Kd*qdot,整体控制律: u = @(q,qd,qdd_ref) J*(Kp*(0-q) - Kd*qd... ) % 组装见仿真 fsys = @(t,x)[ x(2); (-b*x(2) - mgl*sin(x(1)) + J*(-Kp*x(1)-Kd*x(2)) + b*x(2) + mgl*sin(x(1)))/J ]; [t3,y3] = ode45(fsys, [0 3], [1.2; 0]); plot(t3,y3(:,1)) % 输出:摆从1.2弧度平滑回零,无超调,与线性设计 wn=5 zeta=1 的预告完全一致

反馈线性化的软肋一望便知:抵消依赖模型精确。mgl 估错百分之十,残余非线性按比例漏进来——它对结构化不确定性(知道形式、参数不准)可用,对未建模动态危险。实用变体是把抵消项与鲁棒项组合:标称模型抵消加大不确定界的滑模项兜底,兼得两边好处。

图 两种方法的分工

图 两种方法的分工

四、选型建议

两条路线怎么选看两个问题:不确定性知不知道形式?执行器抗不抗折腾?形式已知、参数不准、执行器结实——滑模;结构清楚、参数准、执行器精密——反馈线性化;两者都差——下一节的鲁棒框架,或第七章干脆上自适应在线估参数。

本节要点回顾

  • 滑模结构:滑模面定面上运动(与参数无关),切换律定到达面,到达条件保证有限时间;
  • 不变性:匹配不确定被切换增益盖住即完全免疫,代价是抖振;
  • 抖振三救赎:边界层、趋近律、高阶滑模,边界层以精度层换平滑;
  • 反馈线性化:输入变换精确抵消非线性,先查相对阶与内动态;
  • 组合拳:标称抵消加滑模兜底是工程上兼顾精度与鲁棒的高频选择。

非线性的招数交代完,下一节处理更隐蔽的敌人:模型本身的不确定。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U