第 2 章

比例控制

当无人机飞得太低时,它应该用多大的力往上推?

第 2 章:比例控制 ↗

离得越远,推得越用力

朱恩: 上次,无人机装上包裹后低了 25 厘米才稳定下来。我想知道为什么。

西奥: 我们的规则有两部分:4.9 N 用来托住无人机,再加上每米误差 8 N。那个 4.9 N 是对重量的猜测。一旦包裹改变了重量,这个猜测就错了。

米卡: 那我们就别猜了!不要 4.9。让误差来做全部的工作:偏离多远,就按比例推多用力。

这就是最有名的控制器,比例控制(简称“P 控制”):

T=Kp e=Kp (r−h)\eff{T} = K_p \, \err{e} = K_p\,(\sp{r} - \out{h})

KpK_p 是增益:误差每增加一米,你额外加多少牛顿的推力。它的单位是牛顿每米(N/m)。KpK_p 大意味着控制器很积极,KpK_p 小则比较佛系。这是本章我们唯一能调的旋钮。

先预测一下! 取 Kp=5K_p = 5 N/m。无人机从地面起飞,目标是 2 m。它最终会悬停在哪里?

第 2 章:比例控制 ↗

看蓝色虚线:那是无人机最终悬停的位置,它总是低于给定值。这个差距叫做稳态误差,简称静差。

西奥: 这是一场拔河。重力始终以 4.9 N 向下拉。控制器要想用 4.9 N 顶回去,唯一的办法就是留下一些误差去相乘。

T=重力⟹Kp e=4.9⟹e静差=4.9Kp m\begin{aligned}\eff{T} &= \text{重力} \\ \Longrightarrow K_p\,\err{e} &= 4.9 \\ \Longrightarrow \err{e}_{\text{静差}} &= \frac{4.9}{K_p}\ \text{m}\end{aligned}

现在把 KpK_p 调到 2 N/m。无人机甚至都离不开地面!在地面上误差是 2 m,所以推力只有 2×2=42 \times 2 = 4 N,小于 4.9 N 的重力。公式说它需要静差 2.45 m,那都到地底下去了。

那就把它调大啊!

朱恩: 简单粗暴的解法:增益越大越好。KpK_p 越大,静差越小。使劲加!

米卡: 马上办。最大功率:Kp=60K_p = 60!

第 2 章:比例控制 ↗

米卡: 静差降到 8 cm!几秒之后基本就到 2 m 了。胜利!

西奥: 米卡……看看头两秒。它冲到了大约 3.4 米,远远超过了给定值。再看推力:起飞时 120 N,然后往下拉,然后又往上。这哪是悬停,这是在弹跳。

米卡: 哦。我只看了它最后停在哪。一开始那块红色误差区域大得吓人。

那就是米卡的错误:只根据控制器最终停在哪里来评判它。它如何到达那里同样重要。试几个增益,看看你上一次运行留下的淡淡残影:

  • 低增益(小的 KpK_p):温和,但静差很大。把它压得足够低,无人机就永远起飞不了。
  • 高增益(大的 KpK_p):静差小,但它会超调(冲过它最终会稳定下来的位置),并在稳定前来回晃动。

朱恩: 为什么推得更猛反而会让它晃起来?

西奥: 大力一推让它动得很快。当它到达正确高度时,它仍然在快速上升,而我们的规则里没有任何一条说“慢下来,你快到了”。只有空气阻力在轻轻给它刹车。于是它冲过头,被推回来,又冲过头……

一个挑战

让我们找到最佳点。如果无人机静差小于 20 cm 并且超调小于 30%(我们把超调量度量为它冲过最终稳定高度的幅度),就算通过。找一个能同时满足这两点的 KpK_p。

第 2 章:比例控制 ↗

米卡: 绿色区域永远不会重叠!静差要求 KpK_p 高于约 24.5,超调要求它低于约 3.9。没有解。

西奥: 因为一个旋钮同时控制两者,而且把它们往相反方向拉。不是我们没找到正确的数字。而是根本不存在。我们需要一种更好的控制器。

朱恩: 要设计更好的控制器,我们得好好聊聊这些晃动。“迟钝”、“弹跳”、“最终会稳定”……那些是感觉,不是物理。

目前我们知道的

我们搞清楚了什么

  • 比例控制:推力 = Kp×K_p \times 误差。一个旋钮,增益 KpK_p(N/m)。
  • 在重力作用下,P 控制总会留下 4.9/Kp4.9 / K_p m 的稳态误差(静差):必须保留一些误差才能产生托住无人机的推力。
  • 低增益意味着大静差和迟钝的响应。高增益意味着小静差,但会超调和晃动。
  • “增益越大越好”是错的。对于我们的无人机,没有任何一个 KpK_p 能同时给出小静差和小超调。

迟钝。晃来晃去。超调。稳定。我们一直用模糊的词语描述事物如何随时间变化。我们需要一门真正描述变化的语言。

第 2 章:比例控制 ↗