第2章

比例制御

ドローンが低すぎるとき、どれだけ強く押すべき?

第2章:比例制御 ↗

離れているほど強く押す

ジューン: 前回、荷物を載せたドローンは25 cm低いところで落ち着いた。理由が知りたい。

テオ: 私たちのルールには2つの部分があった。ドローンを支える4.9 Nと、偏差1メートルあたり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はゲイン:偏差1メートルごとに何ニュートンの推力を足すか。単位はニュートン毎メートル(N/m)。KpK_pが大きいと張り切ったコントローラー、小さいKpK_pはのんびりしたコントローラーになる。この章で使えるノブはこれ1つだけだ。

まず予想しよう! 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。勝利!

テオ: ミカ…最初の2秒を見て。約3.4メートルまで跳ね上がって、目標値をはるかに超えてる。それに推力を見て:発進時に120 N、それから下向きに引っ張って、また上に。これってホバリングじゃなくて、跳ねてるんだよ。

ミカ: あ。最後にどこに落ち着くかしか見てなかった。最初の赤い偏差の面積がすごく大きいね。

これがミカの間違いだったんだ:コントローラーを最終的に落ち着く場所だけで判断してしまった。そこにどうやってたどり着くかも同じくらい大事なんだ。いくつかゲインを試して、前回のうっすら残るゴーストを見てみよう:

  • 低ゲイン(KpK_pが小さい):穏やかだけど、ドループが大きい。十分に低くすると、ドローンは離陸すらしない。
  • 高ゲイン(KpK_pが大きい):ドループは小さいけど、オーバーシュート(落ち着く高さを超えて飛びすぎる)して、落ち着く前に揺れる。

ジューン: なんで強く押すと揺れるの?

テオ: 強い押しで速く動き出す。正しい高さに着いたときにはまだ速く動いていて、私たちのルールには「もうすぐ着くから減速して」なんて書いてない。空気抵抗だけがそっとブレーキをかける。だから通り過ぎて、押し戻されて、また通り過ぎて…

挑戦

ちょうどいいところを探そう。ドローンが合格するのは、ドループが20 cm未満で、かつオーバーシュートが30%未満のとき(オーバーシュートは、最終的に落ち着く高さをどれだけ超えたかで測るよ)。両方を満たすKpK_pを見つけてみて。

第2章:比例制御 ↗

ミカ: 緑のゾーンが全然重ならない!ドループにはKpK_pが約24.5より上、オーバーシュートには約3.9より下が必要。答えがないんだ。

テオ: 1つのノブが両方を動かしていて、しかも逆方向に引っ張るからだよ。正しい数字が見つかってないんじゃない。存在しないんだ。もっと別の種類のコントローラーが必要なんだね。

ジューン: より良いものを設計するには、あの揺れについてちゃんと話す必要がある。「もっさり」「ぴょんぴょん」「そのうち落ち着く」…それは雰囲気であって、物理じゃない。

ここまでにわかったこと

わかったこと

  • 比例制御:推力 = Kp×K_p \times 偏差。ノブはひとつ、ゲイン KpK_p(N/m)。
  • 重力に逆らうと、P制御は必ず 4.9/Kp4.9 / K_p m の定常偏差(ドループ)を残す。ドローンを支える推力を生み出すには、どうしても偏差が残らないといけないからだ。
  • ゲインが低いとドループが大きく、応答ももっさり。ゲインが高いとドループは小さいが、オーバーシュートして揺れる。
  • 「ゲインは高ければ高いほど良い」は間違い。このドローンでは、ドループもオーバーシュートも小さくできる KpK_p はひとつもない。

もたつく。ふらつく。行き過ぎる。落ち着く。僕らは時間とともにどう変わるかを、あいまいな言葉で説明し続けている。変化を語るための本物の言語が必要だ。

第2章:比例制御 ↗