第4章 现代控制理论高频问题:状态空间、能控能观性、李雅普诺夫方法

章节定位:现代控制理论是智能控制工程师的“底层操作系统”,面试中高频考察三个核心模块:状态空间建模、能控能观性分析、李雅普诺夫稳定性判定。掌握这三块,等于拥有了从经典控制跃迁到现代控制的钥匙。
现代控制理论面试回答框架 状态空间建模 → 矩阵A/B/C/D定义 → 极点配置/观测器设计 → 离散化与卡尔曼滤波 能控能观性分析 → 能控矩阵秩判据 → 能观矩阵秩判据 → Kalman分解(可选) 李雅普诺夫稳定性 → 第一法(线性化) → 第二法(V函数) → 正定矩阵求解 面试现场三步走 定义系统 → 分析特性 → 判定稳定性
面试策略:回答现代控制理论问题时,先明确系统是线性定常还是时变,然后快速写出状态空间表达式。能控能观性用秩判据一步到位,稳定性则根据题目选择第一法或第二法。
--- ## 3 个面试问答卡片 ### 卡片 1:状态空间表达式与极点配置 **面试问题**:请写出一个二阶系统的状态空间表达式,并说明如何进行极点配置。 **面试官考察点**: - 能否快速写出标准的状态空间方程(连续/离散) - 是否理解能控性与极点配置的充要条件 - 是否有工程实现意识(如阿克曼公式) **回答框架**: 1. 给出通用形式:\(\dot{x}=Ax+Bu, y=Cx+Du\) 2. 选取合适的状态变量(如位置和速度) 3. 写出A、B矩阵,验证能控性 4. 通过反馈控制律 \(u=-Kx\) 改变系统极点 5. 使用阿克曼公式或直接计算K **简短示例回答**: “以弹簧-质量-阻尼系统为例,状态变量取位移x₁和速度x₂。A=[0 1; -k/m -c/m],B=[0; 1/m]。系统能控性矩阵满秩,因此可任意配置极点。根据期望极点计算反馈增益K,使闭环系统满足动态指标。” **可能追问**: - 极点配置与LQR最优控制有什么区别? - 如果系统不完全能控,如何配置可观测部分的极点? - 离散系统极点配置时单位圆内映射如何考虑? **避坑提醒**: ❌ 不要只说理论公式而忽略工程参数(如采样时间、执行器饱和) ✅ 务必先判定能控性,否则一切配置无效 --- ### 卡片 2:能控性与能观性判定 **面试问题**:如何判断一个线性时不变系统是否完全能控?请举例说明。 **面试官考察点**: - 是否熟练掌握秩判据(能控矩阵、能观矩阵) - 能否处理非方波、多输入多输出系统 - 是否有标准形式变换的知识(如约当标准型) **回答框架**: 1. 写出系统矩阵A和输入矩阵B 2. 构造能控性矩阵 \(C=[B\ AB\ A^2B\ \cdots\ A^{n-1}B]\) 3. 计算秩,若等于系统阶数n则完全能控 4. 可举例说明:若A为对角阵但某行B为零 → 不可控 5. 能观性同理,构造能观性矩阵求秩 **简短示例回答**: “对于一个2阶系统,A=[1 2; 0 3],B=[1;0]。能控矩阵为[B AB] = [[1 1]; [0 0]],秩为1<2,因此不完全能控。状态变量x₂无法通过输入u控制,只能通过零输入响应变化。” **可能追问**: - Kalman分解后能控子空间与不能控子空间如何分离? - 能控性和能观性对偶原理的具体应用? - 在工程中,能观性不足时如何设计降维观测器? **避坑提醒**: ❌ 不要只记公式而不理解物理含义(如某个状态完全不可控时极点配置失败) ✅ 回答时强调“秩等于n”是充要条件,但数值计算需考虑矩阵病态 --- ### 卡片 3:李雅普诺夫稳定性分析 **面试问题**:请说明李雅普诺夫第二法(直接法)判定非线性系统稳定性的步骤。 **面试官考察点**: - 是否清晰区分第一法(线性化)与第二法(直接法) - 能否构造合适的Lyapunov函数(候选函数) - 是否理解正定/负定的验证方法以及局部/全局稳定 **回答框架**: 1. 选取一个候选Lyapunov函数 \(V(x)\),通常为二次型 \(V=x^TPx\) 2. 验证 \(V(0)=0\) 且 \(V(x)>0\) 对所有 \(x \neq 0\) 成立(正定) 3. 沿系统轨迹求导 \(\dot{V}(x) = \nabla V \cdot f(x)\) 4. 若 \(\dot{V}(x) < 0\) 对所有 \(x \neq 0\) 成立,则系统渐近稳定 5. 若 \(\dot{V}(x) \leq 0\),则系统稳定(但需进一步用不变集定理) **简短示例回答**: “以倒立摆为例,取 \(V = \frac{1}{2} (x_1^2 + x_2^2)\)。求导得 \(\dot{V} = -x_2^2 \sin^2 x_1 \leq 0\)。因只有原点处 \(\dot{V}=0\),根据LaSalle不变集原理,系统渐近稳定。若要求全局稳定,还需验证径向无界性。” **可能追问**: - 如何选取P矩阵才能保证线性系统稳定? - 李雅普诺夫方程 \(A^TP+PA=-Q\) 中Q的选取原则? - 对于非线性系统,如果找不到合适的V函数怎么办? **避坑提醒**: ❌ 不要随意猜测V函数形式,尝试 \(V=x^2\) 过于简单 ✅ 工程中优先使用二次型,检查 \(\dot{V}\) 是否负定,否则考虑SOS方法 --- ## 项目案例 **项目名称**:自动驾驶车辆纵向运动控制系统 **业务背景**:某L4级自动驾驶公司需要开发一个包含定速巡航、自适应巡航和紧急制动功能的纵向控制器,要求精确跟踪目标车速并保证乘员舒适性。 **规模指标**: - 车辆速度范围 0~120 km/h - 跟踪误差 ≤ 0.5 m/s(稳态) - 加速度变化率 ≤ 2 m/s³(舒适性约束) - 紧急制动响应时间 ≤ 200ms **技术栈**: - 控制器:状态反馈 + 前馈补偿(基于模型逆) - 观测器:卡尔曼滤波(融合IMU和轮速) - 验证环境:MATLAB/Simulink + dSPACE HIL - 部署:C++ 实现,实时操作系统 ROS2 **核心难点**: 1. 轮胎-地面非线性摩擦导致模型失配,状态空间模型参数时变 2. 能控性分析显示,当轮胎滑移率进入饱和区时,车速不可控 3. 李雅普诺夫稳定性证明需考虑执行器饱和(约束的Lyapunov函数) **面试高频追问**: - 你们是如何处理模型不确定性的?是否用了自适应控制或鲁棒控制? - 当轮胎饱和时,系统不可控,你们采取了什么策略(滑模控制?限制输出?) - 如何用李雅普诺夫方法证明闭环系统在约束下的稳定性? - 卡尔曼滤波器在这里是用于状态估计还是参数辨识? **可迁移回答话术**: “在纵向控制项目中,我们首先建立了包含轮胎滑移率的状态空间模型。通过能控性矩阵分析,发现当滑移率超过峰值时系统不可控,因此我们设计了一个监督器在不可控区域切换到开环紧急制动策略。稳定性方面,我们构造了包含控制输入约束的Lyapunov函数,并利用SOS(平方和)方法证明了在正常工作范围内系统指数稳定。这个处理思路后来也被移植到了横向控制的极限工况保护中。”
重要提醒:现代控制理论是面试中的“理论分水岭”。能完整讲出状态空间→能控能观→李雅普诺夫这条主线,并衔接实际工程问题(如约束、饱和、时变),就能从众多候选人中脱颖而出。