资讯动态

《飞控数学与控制 · 新手入门连载》第 9 期|约束优化与二次规划:为 MPC 铺路

发布时间:2026/10/15 11:41:40 来源:尧图企业网站定制
《飞控数学与控制 · 新手入门连载》第 9 期约束优化与二次规划为 MPC 铺路导读第 8 期的梯度下降和牛顿法解的是无约束最优化——参数随便取。但真实飞控处处是约束电机转速不能超过上限、PWM 输出有饱和区、姿态角不许乱翻、避障时位置有边界。本期讲约束优化拉格朗日乘子法是怎么回事、**二次规划QP**为什么是飞控优化的事实标准以及它和模型预测控制MPC第 18 期的关系。读完你会看懂混控器限幅和MPC 每步在解什么。一、为什么飞控离不开约束优化约束优化的一般形式min⁡xf(x)s.t.gi(x)≤0, hj(x)0 \min_x f(x) \quad \text{s.t.} \quad g_i(x) \le 0,\; h_j(x) 0xmin​f(x)s.t.gi​(x)≤0,hj​(x)0gi≤0g_i \le 0gi​≤0是不等式约束hj0h_j 0hj​0是等式约束。飞控实例电机转速0≤ω≤ωmax⁡0 \le \omega \le \omega_{\max}0≤ω≤ωmax​不等式约束姿态角∣ϕ∣≤ϕmax⁡|\phi| \le \phi_{\max}∣ϕ∣≤ϕmax​防翻转混控器输出umin⁡≤u≤umax⁡u_{\min} \le u \le u_{\max}umin​≤u≤umax​PWM 限幅。没有约束时最优解可能在可行域外有约束时最优点可能卡在边界上——这是本期要讲的几何直觉。二、拉格朗日乘子法等式约束的几何直觉先看等式约束技巧从简单情况入手min⁡xf(x)s.t.h(x)0 \min_x f(x) \quad \text{s.t.} \quad h(x) 0xmin​f(x)s.t.h(x)02.1 几何直觉h(x)0h(x)0h(x)0在平面上是一条曲线。沿这条曲线移动xxxfff的等高线会变化。最优点的特征等高线恰好与约束曲线相切——此时∇f\nabla f∇f与∇h\nabla h∇h平行技巧相切 ⟹ 法线共线∇f(x∗)−λ ∇h(x∗) \nabla f(x^*) -\lambda\,\nabla h(x^*)∇f(x∗)−λ∇h(x∗)2.2 拉格朗日函数与推导定义技巧把约束罚进目标L(x,λ)f(x)λ h(x) L(x, \lambda) f(x) \lambda\, h(x)L(x,λ)f(x)λh(x)λ\lambdaλ叫拉格朗日乘子。最优性条件技巧对全部变量求导置零∂L∂x∇f(x)λ∇h(x)0 \frac{\partial L}{\partial x} \nabla f(x) \lambda\nabla h(x) 0∂x∂L​∇f(x)λ∇h(x)0∂L∂λh(x)0 \frac{\partial L}{\partial \lambda} h(x) 0∂λ∂L​h(x)0第一个式子就是梯度平行∇f−λ∇h\nabla f -\lambda\nabla h∇f−λ∇h第二个式子把约束拉了回来。两个方程解出x∗x^*x∗和λ\lambdaλ——拉格朗日乘子法把带约束的最优化变成无约束的方程组。2.3 不等式约束与 KKT 条件简述对g(x)≤0g(x) \le 0g(x)≤0最优性条件推广为 KKTKarush–Kuhn–Tucker条件核心是互补松弛技巧记住要么约束不紧、要么乘子为零λg(x)0,λ≥0 \lambda g(x) 0, \quad \lambda \ge 0λg(x)0,λ≥0含义约束不起作用g0g0g0时λ0\lambda0λ0约束起作用g0g0g0即卡在边界时λ0\lambda0λ0。这解释了飞控限幅电机没到上限时它不影响优化一旦触到上限最优解就贴在边界上。三、二次规划 QP飞控优化的事实标准3.1 定义目标函数为二次、约束为线性的优化问题技巧最温和的非线性优化min⁡x12xTQxcTxs.t.Ax≤b \min_x \frac{1}{2}x^T Q x c^T x \quad \text{s.t.} \quad A x \le bxmin​21​xTQxcTxs.t.Ax≤b其中QQQ对称半正定保证凸性凸问题只有一个全局最优。为什么飞控离不开 QP很多实际目标误差平方和、能量最小本身就是二次的线性约束能表达饱和、边界凸 QP 有成熟高效算法内点法、主动集法、OSQP微秒到毫秒级可解MPC 每步控制都解一个 QP。3.2 可行域几何每个线性不等式aiTx≤bia_i^T x \le b_iaiT​x≤bi​是半空间多个半空间相交成多面体可行域。无约束最优解如果在多面体内直接取它如果在外最优解投影到边界上。3.3 如何解 QP直觉版主动集法猜哪些不等式卡住叫主动集当作等式约束用拉格朗日解再检查其他约束是否违反、乘子符号是否合法迭代修正技巧本质是拉格朗日 猜边界内点法把不等式用对数障碍函数−μ∑ln⁡(bi−aiTx)-\mu\sum\ln(b_i-a_i^Tx)−μ∑ln(bi​−aiT​x)平滑掉用牛顿法迭代、逐步让μ→0\mu\to 0μ→0。四、飞控实例电机混控推力分配带饱和的 QP四旋翼的混控问题已知期望的三轴力矩与总推力τdes∈R4\tau_{des} \in \mathbb{R}^4τdes​∈R4求四个电机转速平方u∈R4u \in \mathbb{R}^4u∈R4uiωi2u_i \omega_i^2ui​ωi2​使实际输出尽可能接近期望同时转速有上下限min⁡u12∥Bu−τdes∥2s.t.umin⁡≤ui≤umax⁡ \min_u \frac{1}{2}\left\| B u - \tau_{des} \right\|^2 \quad \text{s.t.} \quad u_{\min} \le u_i \le u_{\max}umin​21​∥Bu−τdes​∥2s.t.umin​≤ui​≤umax​其中BBB是4×44\times 44×4混控矩阵技巧由几何布局决定的常数矩阵。展开目标技巧∥Bu−τ∥2uTBTBu−2τTBuconst\|Bu-\tau\|^2 u^TB^TBu - 2\tau^TBu \text{const}∥Bu−τ∥2uTBTBu−2τTBuconst12uT(BTB)⏟Qu−(BTτdes)⏟cuconst \frac{1}{2}u^T \underbrace{(B^TB)}_{Q} u - \underbrace{(B^T\tau_{des})}_{c} u \text{const}21​uTQ(BTB)​​u−c(BTτdes​)​​uconst正是标准 QP 形式约束umin⁡≤u≤umax⁡u_{\min} \le u \le u_{\max}umin​≤u≤umax​写成Au≤bA u \le bAu≤b。饱和发生时某电机到上限QP 的最优解会把多余的期望力矩重新分配给未饱和的电机——这就是飞控里限幅但不失稳的数学基础。再往前一步把状态预测 N 步、每步带约束地解 QP就是模型预测控制 MPC第 18 期滚动优化让无人机贴着性能边界飞行而不违反约束。五、小结与下期预告小结约束优化min⁡f s.t. g≤0,h0\min f \text{ s.t. } g\le0, h0minfs.t.g≤0,h0描述真实飞控的饱和与边界拉格朗日乘子法最优处∇f\nabla f∇f与∇h\nabla h∇h平行KKT 的互补松弛λg0\lambda g0λg0解释卡边界QP 二次目标 线性约束凸、可高效求解是 MPC 的每步子问题混控推力分配就是带饱和的 QP饱和时最优解自动重分配力矩。思考题为什么凸 QP 只有一个全局最优答案凸函数 凸可行域电机没有饱和时QP 解和无约束解一样吗答案一样约束不起作用 λ0MPC 为什么需要 QP 求解器足够快答案每个控制周期都要在线解一次下期预告第 10 期进入经典控制——传递函数、时域/频域分析与稳定性判据飞控从优化视角转向反馈视角。参考资源《Convex Optimization》Boyd VandenbergheQP、KKT、内点法《Model Predictive Control》Rawlings MayneOSQP / qpOASES 求解器文档嵌入式 QP 实现

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑