4.1 状态反馈与极点配置


4.1 状态反馈与极点配置

本节摘要:状态反馈用控制量等于参考输入减增益阵乘状态的结构直接改写闭环系统矩阵,只要系统完全可控,闭环极点可任意配置。本节建立可控性判据与两种常用判别法,用倒立摆完成一次指哪打哪的极点配置,讨论期望极点的选法与不可控模态的含义。

承接 1.3 节的倒立摆模型与 2.2 节的指标换算:本节把两章的积累合成一件兵器——不靠试凑、一步到位的极点安置术。

一、状态反馈改写了什么

设定控制量 u 等于负的增益行向量 K 乘状态 x,代回状态方程,闭环系统矩阵变成 A 减 B 乘 K。整个闭环的性格由 A 减 BK 的特征值决定,而 K 有几个自由度,特征值就有几个可摆的槽位。对比第三章:输出反馈只能在根轨迹那条既定路径上选点,状态反馈则直接把路径本身抹掉重画。这就是"状态空间特权"的数学内容。

特权有前提:系统必须完全可控——从任一初始状态出发,存在控制把状态在有限时间驶回原点。代数判据是可控性矩阵(B、AB、A 平方 B、一直到 A 的 n 减 1 次方 B 拼成的矩阵)满秩。直觉解释:可控性矩阵的列张成控制力能抵达的方向,缺一个方向就有状态分量是" steering 不到的死区",对应的特征值任凭增益怎么调都纹丝不动。

二、可控性体检与配置实战

回收 1.3 节的倒立摆。四状态:小车位置与速度、摆角与角速度;输入为水平推力。先体检再动手:

M = 0.5; m = 0.2; l = 0.3; g = 9.8; p = m/(M+m); A = [0 1 0 0; 0 0 -p*g/M 0; 0 0 0 1; 0 0 (M+m)*g/(M*l) 0]; B = [0; 1/M; 0; -1/(M*l)]; Cm = [1 0 0 0]; % 只测小车位置(4.2节再管测量) sys = ss(A,B,Cm,0); rank(ctrb(A,B)) % 输出:4。满秩,完全可控,极点可任意配置

可控性过关,进入配置流程。选期望极点是设计含量的所在:把四个极点摆成两对,摆杆模态一对快而阻尼足,小车模态一对稍慢。选负四加减四 j 与负六加减六 j(阻尼比都是 0.707),一个来回收敛的闭环就成形:

pdes = [-4+4i -4-4i -6+6i -6-6i]; % 期望闭环极点 K = place(A,B,pdes) % 输出(近似):K = [-88 -38 63 12],四个增益分量量级合理 eig(A-B*K) % 输出:恰好等于期望的四个极点,配置成功 % 闭环阶跃检验(参考输入暂用直接驱动,零点问题本节末尾讨论): clp = ss(A-B*K, B, Cm, 0); step(clp); grid on; % 输出:小车位置从初值平滑收敛,摆角振荡两三个来回即衰减, % 调节时间约1秒,与极点实部-4、-6的预告一致

place 与 acker 两个命令的关系要分清:place 用数值更稳的算法,但要求期望极点里不能有重复值(严格说不共轭成对重合);acker 对单输入系统通用、可接受重复极点,但高阶时数值差。默认用 place,遇重复极点单输入系统再请 acker

选极点的一条实用纪律:增益与极点深度成正比。把极点往左推两倍,增益大致翻倍,执行器就得输出翻倍的力。选点前先查执行器的额定行程与饱和值,把"想要的快"关进"给得动的力"笼子里。MATLAB 可以扫一遍感受这个关系:

for scale = [1 1.5 2] p = scale*[-4+4i -4-4i -6+6i -6-6i]; K = place(A,B,p); fprintf('极点缩放%.1f: 增益范数 = %.1f\n', scale, norm(K)); end % 输出(近似): % 极点缩放1.0: 增益范数 = 110 左右 % 极点缩放1.5: 增益范数 = 190 左右 % 极点缩放2.0: 增益范数 = 320 左右 % 快是要用力买的,增益近似按极点深度的平方量级增长

三、不可控模态与零极点对消

若可控性矩阵不满秩怎么办?做可控性分解:状态空间剖成可控子空间与不可控子空间,后者对应的特征值任何状态反馈都搬不动。系统稳定的充要条件退化为不可控模态本身稳定(可镇定)。典型成因是建模时零极点对消:传递函数上看着消掉了的极点,在状态实现里还活着,只是控制力够不着。1.3 节末尾埋的这个伏笔在此兑现——对消做掉的不是模态,是控制权。

A2 = [1 0; 0 -2]; B2 = [0; 1]; % 第一个状态不受输入影响 rank(ctrb(A2,B2)) % 输出:1,不可控 % A2 的特征值 1 落在右半平面且不可控: % 无论 K 取何值,A2-B2*K 的特征值仍含 1,系统无法镇定 eig(A2-B2*[0 0]) % 输出:1, -2。那个 +1 赖着不走

工程上的对策是回到物理层重新分配执行机构:加一个能作用到该模态的作动器(改变 B),比任何算法层面的努力都有效。控制理论救不了没有控制通道的模态。

图 极点配置前后对照

图 极点配置前后对照

四、稳态跟踪的补丁

纯状态反馈对阶跃参考输入有稳态误差(结构里没有积分)。两条补路:一是引入前馈增益缩放参考输入,让直流增益凑成一;二是在外环加积分器,把位置误差积分成附加状态——后者与 PID 的积分项精神一致,也更能抗模型误差。倒立摆这类调节型问题(回零)可以省这一步,跟踪型问题必须补。

五、多输入系统的配置

输入多于一个时增益 K 变成矩阵,自由度超过极点数,配置问题变成"欠定"的——解不唯一,剩余自由度可用于最小化增益范数或满足其他指标。MATLAB 的 place 要求多输入系统期望极点同样不能重复,acker 则只支持单输入。工程直觉:多输入是福气也是负担,自由度多了设计变量也多,常先用单输入化的方法(如把多输入合并为加权单通道)拿到初值,再逐步放开。

本节要点回顾

  • 状态反馈结构:闭环矩阵变为 A 减 BK,特征值可当棋子摆,输出反馈只能沿轨迹选点;
  • 可控性:可控性矩阵满秩是任意配置的通行证,秩亏部分任凭增益纹丝不动;
  • 命令选择:默认 place,重复极点的单输入系统用 acker;
  • 选极点纪律:增益随极点深度近似平方增长,先查执行器饱和再定深度;
  • 对消的真相:零极点对消消掉的是控制权不是模态,救不可控模态要改物理布局。

极点摆好了,但本节一直假装四个状态全测得到。下一节处理传感器只给一个数的现实。


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