3、线性化与状态空间表示:悬停点线性化、状态变量选取、输入输出定义

无人机动力学模型本质上是强非线性、强耦合的微分方程组。直接基于非线性模型设计LQR控制器,不仅推导复杂,而且难以获得解析的 Riccati 方程解。工程上最常用的做法是:在悬停工作点附近对非线性模型进行小扰动线性化,得到线性时不变(LTI)状态空间方程,再基于该线性模型设计LQR。本章将围绕“悬停点线性化—状态变量选取—输入输出定义”这一主线,讲清楚从非线性模型到可用的状态空间表达式的完整流程,并给出四旋翼无人机的具体推导结果和调参含义。

悬停点线性化与状态空间建模链路 非线性刚体动力学 F = ma, M = Iα 含陀螺力矩/气动阻尼 小扰动 悬停点线性化 一阶Taylor展开 雅可比矩阵求解 提取 状态空间表达式 ẋ = Ax + Bu y = Cx + Du 用于 LQR设计 Riccati求解 K = R⁻¹BᵀP 状态变量选取(12维) 位置:x, y, z(惯性系) 姿态:φ, θ, ψ(欧拉角) 线速度:u, v, w(机体系) 角速度:p, q, r(机体系) 输入输出定义 输入u:总距U1, 滚转U2 俯仰U3, 偏航U4 输出y:位置+偏航角 (平动子系统和姿态子系统) ⚠ 工程要点: 1. 悬停点线性化假设:小角度(|φ|,|θ|<15°)、小速度(|u|,|v|<2m/s) 2. 线性化后系统解耦为:水平位置环 + 高度环 + 姿态环,可分别设计LQR 3. 状态变量选取需保证能观性(所有状态可测或可估计)

3.1 悬停点线性化的核心原理

四旋翼无人机的非线性动力学模型通常包含:牛顿-欧拉方程描述的刚体运动、陀螺力矩、气动阻力、电机-螺旋桨的推力与扭矩映射等。在悬停状态下,无人机处于一个平衡工作点:机体几乎静止,姿态角接近零,电机转速近似相等。此时,我们可以将非线性函数在该工作点附近进行一阶泰勒展开,忽略高阶小量,从而获得线性时不变模型。

设非线性系统的一般形式为:

ẋ = f(x, u)
y = g(x, u)

在悬停工作点 (x₀, u₀) 处满足 f(x₀, u₀) = 0。定义小扰动变量:

Δx = x - x₀
Δu = u - u₀

则线性化后的状态方程为:

Δẋ = A·Δx + B·Δu
Δy = C·Δx + D·Δu

其中雅可比矩阵为:

A = ∂f/∂x |(x₀,u₀)
B = ∂f/∂u |(x₀,u₀)
C = ∂g/∂x |(x₀,u₀)
D = ∂g/∂u |(x₀,u₀)

对于四旋翼无人机,悬停点的典型工作条件为:φ₀=θ₀=0,ψ₀=任意常值(通常取0),线速度u₀=v₀=w₀=0,角速度p₀=q₀=r₀=0,总推力U1₀=mg(m为质量,g为重力加速度)。

线性化的物理意义:悬停点线性化相当于在平衡点处用切线近似替代原曲线。当无人机偏离悬停状态较小时(例如姿态角小于15°、线速度小于2m/s),线性模型的误差在可接受范围内。LQR控制器设计基于该线性模型,因此实际控制效果在小扰动条件下最优。

3.2 状态变量选取的原则与方法

状态变量的选取直接影响LQR控制器的设计难度和控制效果。对于四旋翼无人机轨迹跟踪问题,推荐采用12维状态向量,包含位置、姿态、线速度和角速度四个子集:

状态子集 符号 坐标系 物理含义 测量方式
位置 x, y, z 惯性系(NED) 无人机在空间中的三维坐标 GPS/视觉/激光雷达
姿态角 φ, θ, ψ 机体相对惯性系 滚转、俯仰、偏航角 IMU(加速度计+陀螺仪)
线速度 u, v, w 机体坐标系 沿机体轴的平移速度 空速计/视觉光流/状态估计
角速度 p, q, r 机体坐标系 绕机体轴的旋转角速度 陀螺仪

选取这12个状态变量的理由如下:

  1. 完整性:覆盖了无人机的位置、姿态、线速度和角速度,能够完整描述刚体运动状态。
  2. 可测性:所有状态均可通过IMU、GPS或状态估计器(如EKF)获得,满足LQR对状态反馈的需求。
  3. 可控性:四旋翼的4个输入(总推力+三轴力矩)能够独立控制这12个状态,系统满足可控性条件。
  4. 解耦性:在悬停点线性化后,系统可分解为水平位置环(x-y)、高度环(z)和姿态环(φ-θ-ψ),便于分环设计。
工程经验:如果仅做姿态控制(如自稳模式),可只选取6维状态(φ, θ, ψ, p, q, r);如果做位置控制(如定高悬停),需增加z和w;如果做全轨迹跟踪,则必须使用完整的12维状态。状态维数越高,LQR矩阵Q的调节难度越大,但控制精度也越高。

3.3 输入输出定义与系统分解

四旋翼无人机的控制输入通常定义为4个虚拟控制量:

U1 = F1 + F2 + F3 + F4          (总推力,控制高度)
U2 = (F2 - F4) · L              (滚转力矩,控制φ)
U3 = (F3 - F1) · L              (俯仰力矩,控制θ)
U4 = (F1 - F2 + F3 - F4) · C    (偏航力矩,控制ψ)

其中F1~F4为四个电机的推力,L为机臂长度,C为扭矩系数。输出变量根据控制目标定义:

  • 轨迹跟踪模式:输出为位置x, y, z和偏航角ψ,即y = [x, y, z, ψ]ᵀ。
  • 姿态控制模式:输出为姿态角φ, θ, ψ,即y = [φ, θ, ψ]ᵀ。
  • 全状态反馈模式:输出为全部12个状态,即y = x。

在悬停点线性化后,系统可以分解为两个近似解耦的子系统:

子系统 状态变量 输入 输出 典型带宽
姿态子系统(内环) φ, θ, ψ, p, q, r U2, U3, U4 φ, θ, ψ 20~50 rad/s
位置子系统(外环) x, y, z, u, v, w U1 + 姿态参考 x, y, z 2~5 rad/s

这种分解的工程意义在于:内环(姿态环)响应速度快,外环(位置环)响应速度慢,两者带宽相差约10倍,可以独立设计LQR控制器,降低调参复杂度。

3.4 案例拆解:从非线性模型到LQR状态空间的完整推导

以某型四旋翼无人机为例,质量m=1.2kg,机臂长度L=0.25m,转动惯量Ixx=Iyy=0.015kg·m²,Izz=0.028kg·m²,重力加速度g=9.81m/s²。悬停时每个电机推力F=mg/4=2.943N。

步骤1:建立非线性模型

位置方程(惯性系):
m·ẍ = (cosφ·sinθ·cosψ + sinφ·sinψ)·U1
m·ÿ = (cosφ·sinθ·sinψ - sinφ·cosψ)·U1
m·z̈ = (cosφ·cosθ)·U1 - m·g

姿态方程(机体系):
Ixx·ṗ = (Iyy - Izz)·q·r + U2
Iyy·q̇ = (Izz - Ixx)·p·r + U3
Izz·ṙ = (Ixx - Iyy)·p·q + U4

步骤2:在悬停点线性化

悬停点:φ₀=θ₀=ψ₀=0,u₀=v₀=w₀=0,p₀=q₀=r₀=0,U1₀=mg=11.772N,U2₀=U3₀=U4₀=0。

对位置方程求偏导,得到线性化位置方程:

ẍ = g·θ
ÿ = -g·φ
z̈ = (U1 - mg)/m = ΔU1/m

对姿态方程求偏导,得到线性化姿态方程:

ṗ = U2/Ixx
q̇ = U3/Iyy
ṙ = U4/Izz

步骤3:构建状态空间矩阵

选取状态向量 x = [x, y, z, φ, θ, ψ, u, v, w, p, q, r]ᵀ,输入 u = [ΔU1, U2, U3, U4]ᵀ,则状态矩阵A和输入矩阵B为:

A = [0 0 0 0 0 0 1 0 0 0 0 0;
     0 0 0 0 0 0 0 1 0 0 0 0;
     0 0 0 0 0 0 0 0 1 0 0 0;
     0 0 0 0 0 0 0 0 0 1 0 0;
     0 0 0 0 0 0 0 0 0 0 1 0;
     0 0 0 0 0 0 0 0 0 0 0 1;
     0 0 0 0 g 0 0 0 0 0 0 0;
     0 0 0 -g 0 0 0 0 0 0 0 0;
     0 0 0 0 0 0 0 0 0 0 0 0;
     0 0 0 0 0 0 0 0 0 0 0 0;
     0 0 0 0 0 0 0 0 0 0 0 0;
     0 0 0 0 0 0 0 0 0 0 0 0]

B = [0 0 0 0;
     0 0 0 0;
     1/m 0 0 0;
     0 0 0 0;
     0 0 0 0;
     0 0 0 0;
     0 0 0 0;
     0 0 0 0;
     0 0 0 0;
     0 1/Ixx 0 0;
     0 0 1/Iyy 0;
     0 0 0 1/Izz]

步骤4:验证可控性与可观测性

计算可控性矩阵的秩,rank([B AB A²B ... A¹¹B]) = 12,系统完全可控。输出矩阵C根据控制目标选取,若跟踪位置和偏航角,则C为4×12矩阵,选取x, y, z, ψ对应的行。

步骤5:LQR控制器设计

根据线性化模型,设计LQR增益K = R⁻¹BᵀP,其中P为Riccati方程的解。权重矩阵Q和R根据控制需求调整:

Q = diag([q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12])
R = diag([r1, r2, r3, r4])

典型初始值:位置权重q1=q2=q3=10,姿态权重q4=q5=q6=5,速度权重q7=q8=q9=1,角速度权重q10=q11=q12=0.5,输入权重r1=r2=r3=r4=0.1。

风险提示:线性化模型仅在悬停点附近有效。当无人机做大机动飞行(如急转弯、快速爬升)时,线性模型误差增大,LQR控制性能会显著下降。此时需要采用增益调度(Gain Scheduling)或非线性控制(如反步法、滑模控制)来弥补线性控制的不足。

3.5 常见误区与调参复盘

误区一:忽略欧拉角奇异点。当俯仰角θ接近±90°时,欧拉角表示存在奇异,线性化模型失效。工程上应限制飞行包线,或改用四元数表示姿态。

误区二:状态变量选取不当。有些初学者只选取6维状态(姿态+角速度),导致无法控制位置,无法实现轨迹跟踪。必须根据控制目标选择完整的状态向量。

误区三:输入输出定义混淆。将电机PWM值直接作为输入,而不是使用虚拟控制量U1~U4。这会导致系统耦合严重,LQR设计困难。

误区四:忽略执行器饱和。LQR计算出的控制量可能超出电机推力范围,导致实际控制效果与仿真差异大。需要在仿真中加入饱和环节,并在Q/R矩阵中考虑输入约束。

调参复盘案例:某次飞行测试中,无人机在悬停时出现低频振荡(约2Hz)。分析发现:位置环LQR的Q矩阵中位置权重过大(q1=q2=q3=100),导致位置环带宽过高,与姿态环带宽接近,引发耦合振荡。解决方案:将位置权重降低至10,姿态权重保持5,同时增大R矩阵中的输入权重(r1~r4从0.1增大到0.5),降低控制增益,最终振荡消除,悬停精度从±15cm提升至±5cm。

总结:悬停点线性化是LQR控制无人机的基础。正确选取12维状态变量、合理定义4个虚拟输入、明确输出目标,是构建可用状态空间模型的关键。线性化后的系统具有解耦特性,可分解为内环姿态和外环位置分别设计LQR,大幅降低调参难度。但必须牢记线性模型的适用范围,避免在大机动飞行时过度依赖线性控制器。