2. 权重矩阵Q与R的物理含义:状态代价与控制代价的博弈

好,咱们直接切入正题。

很多初学者拿到LQR,第一反应就是——Q和R到底怎么设?随便填几个数试试?

我刚开始做LQR调参时也这么干过。结果呢?要么系统抖得像筛子,要么响应慢得像蜗牛。后来我才明白,Q和R不是数学符号,它们背后是实实在在的物理博弈

2.1 一句话说清Q和R的本质

说白了,LQR的优化目标就是:

J = ∫ (xᵀQx + uᵀRu) dt

这个公式里:

  • xᵀQx —— 状态代价。衡量系统偏离目标有多“疼”。
  • uᵀRu —— 控制代价。衡量你用力控制有多“累”。

你想想看,这不就是一场拔河吗?

Q这边使劲拉,想让状态误差快速归零;R那边拼命拽,不让控制量太大。谁赢了,系统的性格就随谁。

核心理解:

  • Q越大 → 系统越“急”,响应快但容易抖
  • R越大 → 系统越“稳”,动作小但响应慢

2.2 Q矩阵的每一项到底代表什么?

Q矩阵通常是对角阵。为什么?因为这样每一项都对应一个状态变量,物理意义非常清晰。

假设你的状态向量是:

x = [位置, 速度, 角度, 角速度]ᵀ

那么Q矩阵就是:

Q = diag(q₁, q₂, q₃, q₄)

每一项的含义:

Q元素 对应状态 物理含义
q₁ 位置误差 位置偏差的“惩罚力度”
q₂ 速度误差 速度偏差的“惩罚力度”
q₃ 角度误差 角度偏差的“惩罚力度”
q₄ 角速度误差 角速度偏差的“惩罚力度”

举个例子。我在做倒立摆项目时,角度误差q₃设得特别大。为什么?因为角度一偏,摆杆就倒了,这是生死攸关的事。位置误差q₁反而可以小一点,反正最后能稳住就行。

我的调参习惯:

先确定哪个状态最重要,给它最大的Q值。其他状态按重要性递减。比如倒立摆:角度 > 角速度 > 位置 > 速度。

2.3 R矩阵:控制代价的“价格标签”

R矩阵通常是一个标量(单输入系统)或对角阵(多输入系统)。

它的物理含义很直接:你愿意为控制付出多大代价?

  • R很小(比如0.01):控制很“便宜”,系统可以猛打猛冲。响应快,但执行器容易饱和,甚至损坏。
  • R很大(比如100):控制很“昂贵”,系统会小心翼翼。动作温柔,但响应慢得像老牛拉车。

我曾经在一个无人机项目中,R设得太小。结果呢?电机疯狂转动,电池几分钟就耗光了。后来我把R调大了10倍,续航直接翻倍。代价是响应慢了0.3秒,但完全能接受。

避坑指南:

我曾经犯过一个低级错误——Q和R的量纲没对齐。位置误差是米,控制量是牛,数值差了好几个数量级。结果LQR算出来的增益完全不能用。

记住:Q和R的数值要基于物理量纲来设定。如果位置误差在0.01米量级,控制力在10牛量级,那Q和R的比值就要考虑这个尺度差异。

2.4 Q与R的博弈:一张图看懂

为了让你更直观地理解,我画了一张图:

Q与R的博弈:系统响应特性 R增大 → 控制更保守 Q增大 → 响应更快 快响应 大控制量 易饱和/振荡 慢响应 小控制量 节能但迟钝 折中区域 平衡响应与控制 不稳定/振荡 Q大R也大 矛盾组合 理想点 注:实际调参需根据系统特性在四个区域间寻找平衡

这张图我想表达的是:没有绝对的“最优Q和R”,只有“最适合你需求的Q和R”

2.5 实战中的Q/R设定策略

说了这么多理论,来点实际的。我总结了一套Q/R设定的“三步法”:

  1. 量纲归一化:先把所有状态和控制量归一化到[0,1]区间。这样Q和R的数值就有可比性了。
  2. 初始值设定:Q取单位阵,R取1。然后跑一次仿真,看看响应曲线。
  3. 迭代调整
    • 如果响应太慢 → 增大对应状态的Q值(或减小R)
    • 如果振荡太厉害 → 减小Q值(或增大R)
    • 如果控制量饱和 → 增大R值

一个实用技巧:

我习惯用Bryson's Rule作为起点:

Q_ii = 1 / (最大允许状态误差)²
R_jj = 1 / (最大允许控制量)²

这样设定出来的Q和R,物理意义非常清晰。然后再根据实际响应微调。

2.6 一个真实案例

最后分享一个我实际做过的项目——四旋翼无人机的高度控制

状态变量:高度误差、垂直速度误差
控制量:油门指令

初始设定(Bryson's Rule):

  • 最大高度误差:0.5m → q₁ = 1/(0.5²) = 4
  • 最大速度误差:2m/s → q₂ = 1/(2²) = 0.25
  • 最大油门变化:50% → R = 1/(0.5²) = 4

仿真后发现:高度响应太慢,超调量小但调节时间长达8秒。

于是我把q₁从4调到20,响应时间缩短到3秒。但代价是油门出现了小幅振荡。

最后我把R从4调到10,振荡消失,调节时间4.5秒。嗯,这个结果我能接受。

记住:

LQR调参没有标准答案。你的任务不是找到“最优解”,而是找到“最符合你需求的解”。

Q和R的博弈,说白了就是你想要多快,愿意付出多大代价


公众号:蓝海资料掘金营,微信deep3321