极点配置法模拟器 返回
控制工程

极点配置法模拟器 — 状态反馈设计

针对2阶单输入系统 ẋ=Ax+Bu,通过极点配置法设计状态反馈 u=-Kx 的增益 K 的工具。改变系统矩阵 A 和期望的闭环极点,实时计算所需的增益 k1、k2、开环极点、闭环响应,将系统响应精确合成到目标位置。

参数设置
系统矩阵 A 的各个分量。A=[[a11,a12],[a21,a22]] 决定了反馈前系统的自由运动。输入向量固定为 B=[0,1]。
a11(A 的 1行1列)
a12(A 的 1行2列)
a21(A 的 2行1列)
a22(A 的 2行2列)
期望的闭环极点。实部越负,响应越快。通过状态反馈将极点移至此处。
期望闭环极点1 p1
期望闭环极点2 p2
计算结果
反馈增益 k1
反馈增益 k2
开环极点1 实部
开环极点2 实部
闭环极点(设计值)
稳定性判定
s 平面 — 极点移动

复s平面上,开环极点用 × 表示,期望闭环极点用 ○ 表示。绿色阴影的左半平面为稳定区域。箭头表示状态反馈引起的极点移动。

阶跃响应比较 — 开环 vs 闭环
反馈增益 k1、k2
理论与主要公式

$$u=-Kx,\qquad \dot x=(A-BK)x$$

应用状态反馈 u=-Kx 后,系统的动力学由闭环矩阵 A-BK 决定。K=[k1,k2] 是要设计的两个增益。

$$\det\bigl(sI-(A-BK)\bigr)=s^2-(p_1+p_2)s+p_1p_2$$

闭环系统的特征多项式与由期望极点 p1,p2 构造的多项式相等,通过系数比较反向求解 K。

$$k_2=a_{11}+a_{22}-(p_1+p_2),\quad k_1=\frac{p_1p_2-a_{11}a_{22}+a_{11}k_2+a_{12}a_{21}}{a_{12}}$$

B=[0,1] 的单输入2阶系统的显式解。极点配置成立的前提是对 (A,B) 可控(a12≠0)。

极点配置法概述

🙋
在控制课上接触到"极点配置法",请简单解释一下这是什么设计方法?
🎓
简单来说,就是"将系统的极点搬到你想要的位置"的技术。系统响应的速度、震荡和稳定性几乎全由特征方程的根(即极点位置)决定。所以我们把"想要更快、更平稳的响应"这样的要求翻译成"把极点放在这个位置",然后反推反馈增益 K。本工具就是计算并展示2阶系统中这个 K 值的。
🙋
怎样"搬"极点呢?左边的参数栏中有 A 的滑块和期望极点的滑块,具体要改什么?
🎓
用的是状态反馈 u=-Kx。我们测量状态 x,乘以 K 后作为输入反馈回去。这样系统的动力学就从原来的 A 变成 A-BK。也就是说,用输入重新"改造"系统的内部结构。在左边把期望极点设为默认的 -3、-4,系统会计算出 K=[10, 6.5] 使 A-BK 的极点恰好是 -3 和 -4。看结果卡片上的 k1、k2。
🙋
k1、k2 是怎么计算出来的?感觉就像魔法一样。
🎓
不是魔法,是系数比较。计算 A-BK 的特性多项式后,得到 s² −(a11+a22−k2)s +(…) 的形式。另一方面,从期望极点构造的多项式是 s² −(p1+p2)s + p1p2。我们把这两个多项式的 s 各次幂的系数令其相等,就能解出 k2 和 k1 这个线性方程组。对于2阶系统,手算也能解,k2=a11+a22−(p1+p2),k1 涉及除以 a12。这就是Ackermann公式或系数比较法的最小例子。
🙋
除以 a12 意味着当 a12 为零时有问题吧?我试过把 a12 设为 0,结果出现了"无法配置"。
🎓
你找到了关键点。当 a12=0 时,这个系统变成了不可控的。因为 B=[0,1] 的输入直接只推动 x2,但 a12=0 意味着 x2 的变化对 x1 没有影响。换句话说,x1 的模态没有被输入驱动,不可控。不可控模态的极点 K 无论怎么选都动不了,所以极点配置破裂。这就是为什么我们必须在极点配置前检查系统的可控性。如果可控,极点可以自由放在复平面的任何位置。
🙋
那如果可控的话,把极点放得很靠左(很负)就能得到超级快速的控制系统了?
🎓
听起来合理,但其实是个陷阱。极点越靠左,响应越快,但反馈增益 K 会越来越大。K 大的话,控制输入 u 就会跳跃,可能让执行器饱和或失效,实际系统偏离线性假设。另外,K 还会放大传感器的测量噪声,搞得输入抖动不停。实际中要找"刚好满足需求"的速度,以阻尼比 0.7 左右为参考,根据稳定时间或超调量的指标反推极点。下面的阶跃响应图,你拖动 p1、p2 就能看到极点离得太左时系统怎么暴走的。极点配置的本质不是"越快越好",而是"精确放置"。

常见问题

极点配置法是选择状态反馈 u=-Kx 的增益 K,使闭环系统 A-BK 的极点(特征值)精确移动到设计者指定的期望位置的技术。由于极点位置决定了响应速度、阻尼和稳定性,应用通过将响应规范"翻译"为"极点位置",然后反向计算 K。如果对象是可控的,极点可以自由放置在复平面上的任何位置。
闭环矩阵 A-BK 的特征多项式 det(sI-(A-BK)) 与由期望极点 p1,p2 构成的多项式 (s-p1)(s-p2)=s²-(p1+p2)s+p1p2 按 s 的各次幂系数相等。对于本工具的2阶系统,通过系数匹配得到 k2=a11+a22-(p1+p2)、k1=(p1p2-a11a22+a11k2+a12a21)/a12。这被称为Ackermann公式或系数比较法的最小示例。
极点可以任意配置的条件是系统对 (A,B) 可控。如果存在不可控的模态,该模态的极点无论如何都无法通过 K 改变。在本工具的公式中,当 a12 接近零时,k1 的计算分母为零,导致无法配置。这是因为输入 u 只能影响状态的一部分,该方向的模态不可控。
闭环极点的实部为负时系统稳定,实部越大则响应越快。但是,极点越靠左,反馈增益 K 越大,控制输入越大,可能导致执行器饱和或放大测量噪声。实务中应该"保持足够快的速度",以约0.7的阻尼比、根据稳定时间或超调量规范反向计算极点位置。越快不一定越好。

实际应用

倒立摆与小车系统的稳定化:倒立摆是控制工程的经典例题,自然状态下容易倒下,属于不稳定系统。状态包括"小车位置、速度、摆角、角速度",开环极点中有一个在右半平面(不稳定)。通过极点配置法设计 K 使所有极点都移入左半平面,仅用推小车的力就能稳住直立的摆。本工具的2阶系统体现的正是"不稳定极点搬入稳定区域"的操作。

伺服电动机与位置定位机构:在机床或半导体制造设备的工作台定位中,"以多快速度、多精确地跟随指令"直接影响生产效率。我们把响应要求(稳定时间、超调量)转换为阻尼比和固有频率,反推出满足规范的闭环极点,进而求出 K。极点配置的优势在于能直接把工程需求映射到增益,现场容易使用。

无人机与飞行器姿态控制:多旋翼无人机的姿态动力学包含多个状态,开环时常有振荡或不稳定。在确认可控性后,用极点配置或 LQR 设计状态反馈,让翻滚、俯仰、偏航的响应快速平稳。为了避免对风扰和传感器噪声过度敏感,极点位置不能设得太左,需要精细的设计权衡。

现代控制教学与设计流程的起点:极点配置是理解状态反馈概念的标准教学题目,也是 LQR 和观测器设计的前置基础。MATLAB 中的 place/acker 函数、Python control 库中的 place 函数等,都在工程工具链中标配了极点配置求解器。观测器(状态估计器)的极点设计本质也是对偶系统上应用同样的系数比较。

常见误区与注意事项

最常见的误区是认为"无论什么系统都能随意配置极点"。极点才能任意配置的前提是组合 (A,B) 满足可控性条件。如果包含不可控模态,那个模态的极点 K 完全动不了。即使那个不可控模态恰好是稳定的(称为"可稳定的"),实际危害不大;但如果不可控又不稳定,再怎么设计反馈也救不了,系统必然发散。本工具中令 a12=0 就复现了这种不可控状况。所以极点配置之前,一定要先验证可控性。

其次是"闭环极点越靠左越好"的误解。极点靠左会加快响应,但反馈增益 K 也随之变大。K 过大会导致控制输入 u 在微小扰动下激活,可能超出执行器的线性范围(如电机饱和),设计不再适用。此外大的 K 会将传感器噪声放大倍数,让系统输出抖动。"快和稳定"与"输入大小和噪声敏感"构成权衡,极点位置应该是在满足规范前提下最为"温和"的选择。

最后是觉得"配置好极点就完成了完整控制系统"。极点配置假设能直接测得全部状态 x。实际中常常无法完全测量,此时需配合观测器(状态估计器)。另外,极点配置只管响应"形状",对稳态误差为零的要求、外扰和模型误差的抗扰性需要单独设计(如加积分项、鲁棒控制)。极点配置是强有力的起点,但在实机上结合观测器、积分器和鲁棒性验证才能真正投入使用。

使用指南

  1. 通过滑块设定系统矩阵 A 的要素(a11, a12, a21, a22)。例如在倒立摆系中,a12=1(位置到速度的动力学),a21=9.8(重力加速度)等。
  2. 在输入框中指定期望闭环极点。例如 -2±1.5j 对应响应时间常数约 0.5 秒,具有振荡衰减特性。
  3. 模拟器检查可控性后,用Ackermann公式或Sylvester方程自动计算反馈增益 k1、k2,同时实时显示阶跃响应和极点配置图。

具体计算例子

球梁系(质量 m=0.1kg,长度 L=0.5m)中 A=[0, 1; 4.9, 0],期望闭环极点设为 -1±0.8j 时:由特征方程 s²+2s+1.64=0,得到状态反馈 K=[0.84, 0.2]。应用此增益后,梁角对 0.1 弧度阶跃输入在 0.5 秒内收敛,超调量约15%,达到设计要求。

实务中的注意

  1. 可控性判定:确认可控性矩阵的秩等于2。矩阵 [B, AB] 的行列式为零则极点配置无法实施。
  2. 考虑到传感器噪声和实现误差,闭环极点的实部通常设在 -3~-10 rad/s 范围。-100 rad/s 以下会引入数值舍入和高频噪声放大。
  3. 对直流伺服电动机和机器人关节,反馈增益 k2 对应速度阻尼系数。k2<0.05 时易产生不稳定振荡,设计后需通过小信号实验调优。