第2章:高频技术面试题(控制理论)
知识结构速览
| 方法 | 核心思想 | 典型面试方向 | 易错点 |
|---|---|---|---|
| PID | 比例‑积分‑微分,无模型调节 | 参数整定、抗饱和、积分限幅 | 积分饱和、微分噪声放大 |
| MPC | 滚动优化 + 模型预测 | 约束处理、预测时域、计算延迟 | 模型失配、在线优化耗时 |
| 状态空间 | 现代控制框架(A,B,C,D) | 能控能观、极点配置、LQR | 状态不可测时的观测器设计 |
| 李雅普诺夫 | 稳定性判据(直接法) | Lyapunov函数构造、非线性系统 | 候选函数不唯一、导数定性 |
下图为本章所有问答卡片共用的回答结构,帮助你从定义问题到总结反思,层层递进。
问答卡片 #1|PID 控制器的参数整定与调试
面试问题:请描述你如何在实际项目中整定 PID 参数?遇到积分饱和你怎么处理?
面试官考察点:
- 是否理解 PID 三个作用的物理含义
- 是否掌握至少一种工程整定方法(如 Ziegler‑Nichols、试凑法)
- 对积分饱和、微分噪声等工程问题的认知深度
- 能否结合具体平台(STM32、ROS、PLC)说明调试步骤
回答框架:
① 明确控制目标(速度/位置/力控、响应要求)→ ② 选择整定策略(经验试凑或 ZN 法)→ ③ 阐述实际操作(先 P 后 I 再 D,观察阶跃响应)→ ④ 处理积分饱和(限幅/条件积分/抗卷绕)→ ⑤ 总结效果与改进
简短示例回答:“在四轴飞行器悬停控制中,我先设置 P=0.5 使系统产生等幅振荡(Z‑N 法),再代入公式算出 I 和 D。针对积分饱和,我在积分项上加限幅并采用条件积分(误差小于阈值时冻结积分),最终位置稳态误差 < 0.5°,调节时间从 2.3s 降为 1.1s。”
可能追问:
- 比例增益过大或过小各有什么现象?
- 微分项为什么容易引入噪声?你如何滤波?
- 被控对象是非最小相位系统时 PID 还有效吗?
避坑提醒:不要只背诵课本公式,必须举实际调试案例;微分项滤波方法要说清楚(如一阶低通/移动平均);避免说“我试到不抖为止”,应体现系统化方法。
问答卡片 #2|MPC 在实际机器人中的应用
面试问题:请谈谈你对模型预测控制(MPC)的理解,以及你在项目中是如何实现的?
面试官考察点:
- 是否真正理解滚动优化、预测模型、约束处理三要素
- 能否区分线性 MPC 与非线性 MPC 适用场景
- 对计算实时性的考量(求解器选择、时域设置)
- 与 PID 相比的优势与不足
回答框架:
① 问题定义(多约束轨迹跟踪)→ ② 选择线性 MPC + 二次规划求解 → ③ 解释预测模型(Ackermann 模型或四阶动力学模型)→ ④ 实现细节(预测时域 N=20,控制时域 Nc=5,QP 求解用 OSQP)→ ⑤ 反思:模型失配时加鲁棒性
简短示例回答:“在无人车避障项目中,我使用线性 MPC 控制横向运动。预测模型采用单车运动学模型,约束包括最大方向盘角速度与加速度。预测时域设为 20 步,用 OSQP 求解 QP 问题,周期 50ms。相比 PID,MPC 对急弯的跟踪误差降低 60%,但计算耗时增加,需优化求解器。”
可能追问:
- 如果模型不准确,MPC 性能如何保证?
- 你如何处理 QP 无解的情况?
- 非线性 MPC 与线性 MPC 的权衡?
避坑提醒:不要只背定义,必须说出你用了什么预测模型、什么求解器、时域数值等细节;如果没有任何实际经验,可以引用或开源项目(如 Acados、CasADi)但需说明了解程度。
问答卡片 #3|状态空间建模与极点配置
面试问题:请用状态空间法设计一个机械臂关节的控制器,要求极点配置在指定位置。你如何保证系统的能控性?
面试官考察点:
- 状态空间建模能力(A,B,C,D 矩阵的建立)
- 能控性判据(秩条件)的理解与验证
- 极点配置方法与 Ackermann 公式的掌握
- 观测器设计(若状态不可测)的补充思路
回答框架:
① 定义系统状态(θ, θ̇)与输入(力矩)→ ② 建立线性化状态方程 → ③ 计算能控性矩阵并判秩 → ④ 根据期望极点计算反馈增益 K(Ackermann 或 place 函数)→ ⑤ 如需观测器,设计 Luenberger 观测器并分离原理
简短示例回答:“对单关节机械臂,取状态 x=[θ;θ̇],输入 u=τ。线性化后得到 A=[0 1; 0 0], B=[0;1/J]。能控性矩阵满秩。期望极点 -2±2i 对应阻尼 0.7,用 Ackermann 公式算出 K=[k1 k2]。若无法测速,再设计观测器,观测器极点比控制器快 5 倍。”
可能追问:
- 如果系统有扰动,怎么用状态空间法抑制(引入积分)?
- LQR 与极点配置的选择区别?
- 如果模型具有非线性,线性化后控制器是否有效?
避坑提醒:一定要亲手写出能控性矩阵并判断;极点配置前先确认系统能控;不要忽略观测器设计,面试中常被追问“如果状态测不到怎么办”;多说一句“实际工程中常用 LQR 代替极点配置”可加分。
• 只背理论、不举项目案例 → 面试官认为缺乏工程能力
• 参数整定说“凭感觉” → 必须说出具体方法步骤
• 忽略约束条件(MPC)或能控能观(状态空间)→ 扣分严重
• 遇到没做过的控制方法,坦诚说明但展示学习思路可接受