本連載の第37回で取り上げたのは、無人航空機(UAV : Unmanned Aerial Vehicle)が単独で飛行する場合の制御にまつわる話だった。人が乗っていないUAVでは、機上コンピュータが自ら位置・姿勢・針路をきちんと把握して、事前のプログラムやその場の判断に基づいて機体を操らなければならない。
といっても、これは有人機でも似たようなものだが、まず単独で飛べることが先決である。それができて初めて、編隊飛行にステップを進めることができる。実際、パイロットの訓練でも編隊飛行は後の方で出てくる。さて、同じことをUAVでやろうとしたらどうするか。
クルマの運転を想像してみる
といっても、筆者も含めて「本物の飛行機を操縦した経験がない」人の方が圧倒的に多数派だと思われるので、もうちょっと身近な例を引き合いに出して考察してみたい。ということでクルマの運転である。
誰もいないガラガラの道路を運転するのであれば、道路から逸脱しないように、スピード違反で捕まらないように、人や動物をはねないように、といったことを気をつけていればいい。しかし道路が混雑してくると、そこに「周囲のクルマとの兼ね合い」というファクターが加わってくる。
つまり、車間距離を過不足なく保つとか(空けすぎると、そこに別のクルマが割り込んできて元の木阿弥になるし、詰めすぎればもちろん危ない)、隣の車線を走るクルマと接触しないようにするとか、車線変更の際には隣が空いていることをちゃんと確認するとかいった具合だ。
これは、同じ道を共有している他のクルマとの間で相対的な位置関係を把握したり、コントロールしたりする必要が生じる、という話である。そのコントロールが的確に行えないと、接触事故や衝突事故になる。
飛行機の編隊飛行でも似たところがありそうだが、ただしこちらは三次元である。左右だけでなく上下も意識しないといけない。そういう意味ですごいと思うのがブルーインパルスみたいなアクロバットチームで、普通なら考えられないような近接した編隊を組んでいながら、接触はしない(たまにやってしまうこともあるが…)。
しかも、編隊を組んだ状態で高度や針路を変更することがある。ちょっと考えてみれば容易に理解できるが、たとえば定常円旋回ひとつとっても、編隊の内側に占位した機体と外側に占位した機体では、後者の方が同じ時間の間に多く移動する必要がある。同心円を描けば、外側の方が円周が長いのはすぐ分かるだろう。
つまり、旋回ひとつとっても、編隊を構成するすべての機体がただ単に同じ旋回をすればいいというものではなくて、編隊中の位置によって微妙な調整をしないといけない。しかも、互いに空中接触や空中衝突をしないように注意しながら。
というわけで群制御
有人機だと、パイロットは目視で僚機との位置関係を常に把握しつつ、自機の針路や速度を微妙にコントロールしながら飛んでいる。では、それと同じことをUAVにやらせようとしたらどうするか。
そこで、余裕を持たせて機体同士の間隔を多めにとるとしても、編隊全体として協調はしていなければならない。一部の機体が明後日の方向に飛び出してしまったり、編隊から後落したり、といったことになると、編隊飛行ではなくなる。
ブルーインパルスみたいにガッチリ、きれいな編隊を組むところまでは要求しないにしても、少なくともひとつの群れとして、強調しながら飛べるようにする必要はある。この、複数のUAVが協調して、ひとつの「群れ」として飛べるようにするための制御を群制御という。
しつこいが、単独で飛ぶために必要な要素に加えて、さらに「群れ」を構成する機体同士で位置関係に注意したり、「群れ」全体として針路や高度を変えながら飛翔できるようにするという追加要素が加わる分だけ話が難しい。
ところが、有人機が編隊を組んで行っている仕事をUAVで置き換えようとすれば、この群制御という課題は避けて通れない。もっとも、民間機で編隊飛行や「群れ」としての飛行が求められる場面というのはあまりなさそうだから、群制御が問題になるのは軍用のUAV、それも特に戦闘任務を担当するUAVということになると考えられる。
ただし軍用といっても、ISR(Intelligence, Surveillance and Reconnaissance、情報収集・監視・偵察)用途の軍用UAVなら単独行動で用が足りるから、群制御の機能を盛り込む必要性は薄そうだ。むしろ、戦闘行動を担当するUAVの方が、群制御の重要性が高いだろう。
たとえば、「群れ」を構成する複数のUAVのうち、どれか1機を先導機に指定して、他の機体はその先導機についていくように制御する、という考え方がある。すると、編隊全体としての針路・高度・速力といったものは先導機が、編隊の維持はその他の僚機が、という役割分担ができる。
ただし、その先導機が故障あるいは被撃墜によっていなくなってしまったら、そのままでは編隊がバラバラになる。その場合、直ちに別の機体が先導機の役割を引き継がなければならない。UAVの群制御だけでなく、無人化した車両が車列を組んで走る場合にも、同様の課題がある。
これ以外にもさまざまな制御ロジックが考えられるが、どの方法をとるにしても、制御ロジックを考案するだけでなく、それを制御アルゴリズムとしてソフトウェアに作り込まなければならないのは同じである。その制御アルゴリズムを組み立てだけでも、相当に骨が折れそうである。
しかも、アルゴリズムを組み立てるだけでなく、それを実際にさまざまな状況下で試してみなければならないのだから、試験・評価の環境作りやシナリオ作りも厄介な課題になる。
執筆者紹介
井上孝司
IT分野から鉄道・航空といった各種交通機関や軍事分野に進出して著述活動を展開中のテクニカルライター。マイクロソフト株式会社を経て1999年春に独立。「戦うコンピュータ2011」(潮書房光人社)のように情報通信技術を切口にする展開に加えて、さまざまな分野の記事を手掛ける。マイナビニュースに加えて「軍事研究」「丸」「Jwings」「エアワールド」「新幹線EX」などに寄稿しているほか、最新刊「現代ミリタリー・ロジスティクス入門」(潮書房光人社)がある。