手のひらサイズのドローンが空中でピタリと静止する。今では見慣れた光景ですが、 あの機体はコンピュータの制御なしには 1 秒たりとも姿勢を保てません。 紙飛行機は誰も操縦しなくても滑空するのに、なぜマルチコプタは「素」では飛べないのか。 この章では、その理由を実機の測定データまで使って定量的に確かめます。 それがそのまま、本教材全体で学ぶ「制御」の動機になります。

1.1 飛行機は「構造」が飛ばしている — 復元力と静安定

まず、手放しで飛べる側の代表として固定翼機を見てみます。 飛行機は、姿勢を崩すようなトルクが加わって傾き始めても、 それを元に戻すトルクを機体の構造そのものが発生させることができます。 この「元に戻すトルク」を復元力と呼び、 復元力が発生する性質を静安定と呼びます。

代表的な仕組みが主翼の上反角(両翼を少し上向きに傾けて取り付けること)です。 働き方は次の因果の連鎖で理解できます。

機体がどちらかに傾く
揚力に横方向成分が生じ、機体が横に滑り始める
横滑りによって、機体は横から風を受ける
上反角のため、横風に対する左右の翼の風の受け方に差が生じ、揚力に左右差が生まれる
揚力差が傾きを戻すトルク(復元力)となり、傾きが自動的に修正される

翼の揚力は風の速さと向きで決定的に変わるため、この連鎖はセンサもコンピュータも使わずに、 空気力学だけで働き続けます。いわば翼という構造がフィードバック制御に相当する仕事を 無償でやってくれているのです。気球も同様に、傾けば浮力と重力の作用点のずれが 復元トルクを生むため、静安定を持ちます。

ではマルチコプタはどうか。マルチコプタには揚力を稼ぐ固定翼がそもそもありません。 したがって上反角効果を利用した復元力を持たせることができません (固定翼を持つハイブリッド機は存在しますが、本教材では除いて議論します)。

1.2 わずかな個体差が命取りになる

復元力がなくても、完全に左右対称なら釣り合ったまま飛べるのでは?と思うかもしれません。 すべてのプロペラが全く同じで、全く同じモータが回しているなら、 ひっくり返らずに飛べるかもしれません。しかし実際には、プロペラもモータも すべて微妙に違っていて、どうしてもわずかな推力差が発生します。 推力差は機体を傾けるトルク差になります。

静安定のある機体なら、このくらいの外乱は復元力が黙って打ち消してくれます。 ところがマルチコプタでは、わずかな違いでも致命的です。 傾きを戻す仕組みがないので姿勢はどんどん崩れ、いずれひっくり返ってしまいます。 だからこそ、姿勢の崩れを検知して、それを打ち消すように プロペラの推力差を補正する仕事——すなわち制御——が必要になるのです。

1.3 数字で見る: 0.1% のズレで 1.9 秒

「どんどん崩れる」とはどのくらいの速さなのか、実在の機体で計算してみます。 題材は教材を通して使う小型クアッドコプタ StampFly(質量 36.8 g)です。 使うパラメータは実機の仕様値・実測値です。

記号意味
質量\(m\)36.8 g機体全備質量
ロール軸慣性モーメント\(I_{xx}\)\(9.16\times10^{-6}\ \mathrm{kg\,m^2}\)ロール回転のしにくさ
モーメントアーム\(d\)0.023 m重心からプロペラ軸までの横方向距離
推力係数\(C_T\)\(6.7\times10^{-9}\ \mathrm{N/(rad/s)^2}\)\(T = C_T\,\omega^2\) の比例係数(現行プロペラ実測)
StampFly の主要パラメータ(機体仕様・実測に基づく)

プロペラの推力 \(T\) は角速度 \(\omega\) の 2 乗に比例します(\(T = C_T\,\omega^2\))。 ホバリング中は 4 つのプロペラで重量を支えるので、1 発あたりの推力と角速度は

$$T_0 = \frac{mg}{4} = 90.3\ \mathrm{mN},\qquad \omega_0 = \sqrt{\frac{T_0}{C_T}} \approx 3670\ \mathrm{rad/s}\ (\approx 35{,}000\ \mathrm{rpm})$$

ここで、左側 2 発の角速度が右側よりわずか 0.1% だけ速かったとしましょう (\(\delta = 0.001\))。推力は \(\omega\) の 2 乗に比例するので推力差は約 2 倍の 0.2%、 1 発あたり \(\Delta T \approx 2\delta T_0 = 0.18\ \mathrm{mN}\)。 わずか 18 mgf、米粒半分ほどの重さの差です。これが生むロールトルクと角加速度は

$$\tau = 2\,\Delta T\, d = mg\,\delta\,d \approx 8.3\times10^{-6}\ \mathrm{N\,m},\qquad \dot{\omega}_{roll} = \frac{\tau}{I_{xx}} \approx 0.91\ \mathrm{rad/s^2}$$

トルクが一定なら傾き \(\phi\) は時間の 2 乗で増えます: \(\phi(t) = \frac{1}{2}\,(\tau/I_{xx})\,t^2\)。 各傾きへの到達時間は次の通りです。

傾き10°45°90°(横転)
到達時間0.20 s0.44 s0.62 s1.32 s1.86 s
角速度 0.1% のズレを放置した場合の傾きの成長(StampFly、計算値)
検算のポイント: ホバリング条件 \(C_T\omega_0^2 = mg/4\) を代入すると トルクは \(\tau = mg\,\delta\,d\) となり、\(C_T\) と \(\omega_0\) は打ち消し合います。 つまりこの見積もりは推力係数の精度に依存しない、頑健な結果です。

1.4 実測すると、現実はもっと過酷だった

0.1% という仮定は、実はかなり控えめです。実機の個体差を、 StampFly のホバリング飛行ログ(モータへの指令値 Duty の記録)から確かめてみます。 姿勢制御が働いてホバリングしているとき、(重心が中心にあれば)4 発の推力・回転数は ほぼ等しいはずです。それなのに各モータに送られている Duty はモータごとに はっきり違います。同じ回転数を出すのに必要な指令が個体ごとに違う—— これこそが個体差の直接の証拠です。

フライトM1:前右
(CCW)
M2:後右
(CW)
M3:後左
(CCW)
M4:前左
(CW)
最大−最小
6/27 ①+2.4%−5.1%+6.3%−3.5%11.9%
6/27 ②+7.1%−6.9%+10.2%−10.4%23.0%
6/27 ③+12.5%−13.2%+16.5%−15.7%38.3%
6/29−3.4%+9.5%+5.8%−11.9%24.4%
ホバリング中の平均 Duty の偏差(4 モータの平均値基準、StampFly 実測ログ 2026 年 6 月)。 CCW = 反時計回りプロペラ、CW = 時計回りプロペラ。

興味深いことに、反時計回り(CCW)の 2 発と時計回り(CW)の 2 発が それぞれ同じ傾向を示し、グループ間の差が明確です(全 4 フライトで CCW 側が高め)。 ベンチ実測の Duty–回転数特性(ホバ付近で \(\omega \propto \mathrm{Duty}^{0.48}\))を使って 「もし 4 発に同じ Duty を与えたら回転数が何%ズレるか」に換算すると、 回転数の個体差は 5〜16%、典型的には 10% 程度という結果になりました。 1.3 節で仮定した 0.1% の 50〜150 倍です。 この実測レベルの個体差を放置すると、横転までの時間は 0.3〜1.5 秒まで縮みます。

CW/CCW の系統差はなぜ生まれるか(仮説): モータは「CW 用」「CCW 用」として区別されて売られていますが、 実は中身は同じ——どちらも CW 向きに作られていて、逆回転させられる CCW 側が 弱くなっているのではないか、という仮説を立てています(現時点では予測の域を出ません)。 また、同じに見えるモータにも微妙な個体差があるのは、ものづくりにおいて品質を 完全に揃えることが難しいことからも明らかです。プロペラも、同じ金型から抜かれた ものでも微妙に違います。なお、フライトによってモータ単位のパターンが変わることが ありますが、これは消耗品であるモータの寿命がある個体で尽きた(交換した)と 考えるのが妥当です。

人間の視覚反応はおよそ 0.2 秒。反応した瞬間にはもう傾きは手遅れの領域に入っています。 しかも仮に間に合ったとしても、必要な操作は「4 つのモータの推力差を 1% 未満の精度で、 連続的に、飛んでいる間ずっと補正し続ける」こと。鉛筆を指先で立て続けるのと同じ構造の 不安定平衡です。これは人間の反射神経で追いつける仕事ではありません。 毎秒何百回も姿勢を測り、即座に推力を補正できるコンピュータにしかできない仕事です。

1.5 体感する: 個体差シミュレータ

ここまでの計算をそのまま動かせるようにしました。左右のプロペラ回転数のズレ \(\delta\) を スライダーで変えて、制御 OFF でどれだけ速くひっくり返るか、 制御 ON(姿勢を検知して推力差を自動補正)でどう変わるかを試してみてください。 物理モデルと数値は 1.3 節の計算と同一です。

t = 0.00 s | φ = 0.0° | 制御OFFなら90°まで(理論値): 1.86 s

シミュレーションの仮定: ロール1軸の剛体運動、空力減衰・並進運動との連成・センサ雑音や遅延は無視。 制御 ON は理想的な角度フィードバック(PID)で、モータ推力の上限は実機値でサチュレートします。 センサや遅延の現実については後の章で扱います。

1.6 なぜロータは 4 つなのか

章の締めくくりに、そもそもの機体構成の疑問——「なぜ 4 発か」——に答えます。 マルチコプタを三次元空間で自由に飛ばすために、最低限制御しなければならない量は 次の 4 つです。

制御したい量実現の手段
上下(推力の大きさ)4 発の推力の合計を増減
X 軸回りの回転(ロール)左右の推力差
Y 軸回りの回転(ピッチ)前後の推力差
Z 軸回りの回転(ヨー)プロペラの反トルクの差(詳しくは第2章)
マルチコプタが直接制御する 4 つの量

「前後左右の移動は?」と思うかもしれません。前後は機体を前に傾けると 推力ベクトルが前に傾き、その水平成分で前に進みます。左右も同様に、 傾けることで実現できます。つまり上下と三軸回りの回転の 4 つを制御できれば、 空間を自由に飛び回れるのです。

4 つの量を自由に制御できることを、自由度が 4 であるといいます。 4 つの量を独立に操るには、自由に動かせる入力(プロペラ)が最低でも 同じ数だけ必要です。独立に制御できるプロペラが 4 つあれば、ちょうど 4 つの量を 操れる——これがロータが 4 つの理由です。

コラム: 3 発・6 発・8 発の機体は?
「入力の数 ≥ 制御したい量の数」という原則で他の機体も読み解けます。 トライコプタ(ロータ 3 つ)はプロペラだけでは入力が 3 つで足りませんが、 サーボモータでロータを傾ける機構が「4 つ目の入力」になって飛んでいます。 ヘキサコプタ(6 発)・オクタコプタ(8 発)には二つの意味があります。 ひとつは制御の冗長性——入力に余裕があるので一部が故障しても飛び続けられる安全性。 もうひとつはより本質的で、三次元空間の運動は本来、並進 3 自由度(上下・前後・左右)と 各軸回りの回転 3 自由度の合計 6 自由度あります。クアッドコプタは 4 つしか 直接制御できないため「傾けて進む」という間接制御を使いますが、ヘキサ以上の機体は ロータの配置や傾きを最適に設計することで、この 6 自由度すべてを自由に制御する ことも可能になります(例えば、機体を水平に保ったまま真横に飛ぶことができます)。

まとめ

次章では、この 4 つの量と 4 つのプロペラを結びつける仕組み——ロータ配置と 推力・反トルク、そして「ミキシング」——を見ていきます。

データの出所: StampFly 実機のホバリング飛行ログ(2026 年 6 月)、 モータ単体のベンチ実測(Duty–推力–回転数、2026 年 3 月)、機体仕様値。 計算の再現スクリプトは教材リポジトリの notes/calc/ にあります。