クアッドコプターの驚くべき運動能力

Raffaello D'Andrea / 青木靖 訳
2013年6月 (TEDGlobal 2013)

運動抜群の機械というのはどういうものでしょう? これから機械の運動能力の実演と、それに必要な研究を、クアッドコプターを使ってご覧に入れます。クアッドコプターは結構昔からあったんですが、最近流行りだした理由は、構造的にとてもシンプルだからです。4つのプロペラの回転を制御することで、ロール、ピッチ、ヨー、そしてプロペラの方向への加速が出来ます。またこれには電池、コンピュータ、様々なセンサと、無線がついています。クアッドコプターはとても敏捷ですが、その代償として本質的な不安定さがあり、飛ばせるためにある種のフィードバック制御が必要になります。

(クアッドコプターを放り投げると静かに戻ってくる) 今のをどうやってやったのかですが、天井のカメラとノートPCがこの室内の測位システムの役割をしていて、この反射マーカーを持つ物体の位置を測定しています。推測と制御のアルゴリズムを実行する別のPCにそのデータが送られ、そこからクアッドコプターに指令が送られます。クアッドコプター自体も推測と制御のアルゴリズムを実行しています。私達の研究の大きな部分をアルゴリズムが占めています。それがこの機械に命を吹き込む魔法なのです。

では機械の運動選手のためのアルゴリズムはどう設計したらいいのでしょう? 私達は広く「モデルベース設計」と呼ばれる手法を使っています。最初に機械がどう振る舞うかの数学的モデルを使って物理現象を把握します。それから制御理論という一種の数学を使ってそのモデルを分析し、制御のためのアルゴリズムを組み上げます。例えば、どうすればホバリングさせられるのか? まず力学的性質を一連の微分方程式で記述します。それから制御理論を使って方程式を操り、クアッドコプターを安定させるアルゴリズムを作ります。

このアプローチがいかに強力かお目にかけましょう。クアッドコプターにホバリングするだけでなく、バランスを取ってこの棒を立てさせることにしましょう。少し練習すれば人間には苦もなくできることです。両足を地面に付けて器用な手を使ってやるということであれば。でも片足で立って手を使わずに足でやるとなると、ちょっと難しくなります。棒の先端に反射マーカーがあって、部屋の中での位置が分かるようにしてあることに注意してください。(クアッドコプターの上に棒を立てると、クアッドコプターが細かく動きつつ棒を立てた状態を保つ)。

棒のバランスを取るためにクアッドコプターが細かく調整しているのが分かるかと思います。このアルゴリズムをどう設計したかですが、クアッドコプターに棒の数学的モデルを追加したんです。クアッドコプターと棒を組み合わせたモデルができれば、制御理論を使ってその制御をするアルゴリズムが作れます。ご覧のように安定していて、ちょっと押してやってもバランスの取れた状態に戻ります(棒を少し押してみせる)。

このモデルを拡張して、行って欲しい場所も含めることができます。この反射マーカーのついた指示棒を使って、私から一定の距離でクアッドコプターに行って欲しい場所を指示します(指示棒で指した位置に、クアッドコプターが棒を立てたまま移動する) 。このような曲芸飛行の鍵になるのが、数学的モデルと制御理論に基づいて設計されたアルゴリズムです。クアッドコプターに、戻ってきて棒を落とすように指示しましょう。

次に、物理的モデルや物理的世界の仕組みの理解がいかに重要かをお見せします(クアッドコプターに水の入ったコップを載せる)。水の入ったコップを載せたとき高度が下がったのにお気づきでしょう。棒のバランスを取った時とは違い、このコップは数学的モデルに組み入れていません。このシステムは水の入ったコップがあることさえ知りません。前と同じように、ポインタを使って好きな場所にクアッドコプターを行かせられます(コップを載せたまま、クアッドコプターが指示した位置に移動する)。不思議にお思いかもしれませんが、なぜコップの水がこぼれないのでしょう? 2つあります。1つは重力がすべての物に同じように働くということ。もう1つはプロペラがみんなコップと同じ真上を向いているということです。この2つの結果として、コップにかかる横向きの力はわずかで、主に空力的な効果ですが、今のスピードでは無視できます。コップをモデルに含めなくてもいいのはそのためです。クアッドコプターがどのように飛ぼうと水はこぼれません。

ここでの教訓は、ある種の動作は他の動作よりも簡単で、どのような動作が簡単かはその物理現象を理解することで分かるということです。今の場合、水の入ったコップを運ぶのは簡単であり、棒のバランスを取るのは難しいというわけです。

怪我をしていながらもすごいことをやってのける運動選手の話をよく聞きます。機械の場合、本体に大きな損傷があっても機能できるものでしょうか? 一般的には、これを飛ばすためには少なくとも4つのプロペラが必要とされています。4つの自由度があるからです。ロール、ピッチ、ヨー、それに加速です。ヘクサコプターやオクトコプターには6つか8つのプロペラがあり、冗長性があります。クアッドコプターに人気があるのは、4つという最小限のモーターとプロペラしかないからです。それが欠けたらどうなるのでしょう? (4つのプロペラのうち、2枚をはさみで切り落とす) 2つのプロペラしか機能していない場合の数学的モデルを分析したところ、異例な仕方ながら飛ばせられることが分かりました(クアッドコプターが回転しながら飛行する)。新しい構成に基づいたアルゴリズムによって、ヨーの制御はあきらめつつ、ロール、ピッチ、加速は制御し続けることができます。数学的モデルはそれが正確にどんなとき、なぜ可能なのかを教えてくれます。この知識によって、機体の損傷に対して柔軟に対応できる新しいマシンアーキテクチャや、優れたアルゴリズムを設計することができます。冗長性を持たせるかわりに、人間の運動選手のように対応するのです。

飛び込み選手が宙返りしながら水に飛び込んだり、跳馬選手が迫る地面を前に空中で身を捻るのを見る時、思わず息を止めますよね。飛び込み選手はきれいに着水できるか? 跳馬選手は着地を決められるか? このクアッドコプターに3回転宙返りして元の位置に戻らせたいとしましょう。非常に素早い動作が要求されるため、やっている最中に位置を教えて動きを修正させることはできません。十分な時間がないのです。かわりにクアッドコプターは目隠しでやって、動作をどう終えたかを観察し、その情報によって動きを修正し、次回にもっとうまくできるようにします。飛び込みや跳馬の選手と同じように、練習を繰り返し、動きを身に付けることによってのみ、このような動きは実現できるのです(クアッドコプターが素早く3回転宙返りする)。

動くボールを打ち返すというのは様々なスポーツで要求されるスキルです。運動選手が苦もなくやっているように見えることを、どうすれば機械にさせられるでしょう? (ボールを投げるとクアッドコプターが打ち返す) このクアッドコプターにはラケットを貼り付けてありますが、スイートスポットはリンゴ大の小さなものです。次に説明する計算を20ミリ秒ごと、つまり1秒間に50回しています。最初にボールの飛ぶ先を求めます。それから投げられた場所に打ち返すにはボールをどう打つ必要があるか計算します。それから現在位置からボールを打つ位置まで移動する軌道を計画します。そしてその計画を20ミリ秒間だけ実行します。20ミリ秒後にまたこのプロセス全体を繰り返し、ボールを打つ瞬間までそれを続けます。

機械はダイナミックな行動を単独で行うだけでなく、集団で行うこともできます。この3台のクアッドコプターは協働で網を持っています(投げたボールを3台のクアッドコプターが網でキャッチし、それから投げ返す) 。ボールを私に投げ返すために、とてもダイナミックで集団的な行動を取っています。引っ張りきった時クアッドコプターが縦になっていますね。実際この時にかかる力は、バンジージャンプした人が綱の先で受ける力の5倍ほどにもなります。このためのアルゴリズムは、単独でボールを打ち返す場合とよく似たものです。数学的モデルを使って絶えず協調的行動を再計画するというのを、毎秒50回繰り返しています。

ここまでは機械の能力を見て頂きました。この機械の運動能力と人間を組み合わせるとどうなるでしょう? 私の前にあるのは、主にゲームで使われる市販のジェスチャーセンサーです。私の体の動きをリアルタイムで把握できます。先ほど使ったポインタと同様に、これも入力システムとして使うことができます。これにより機械の動作を仕草によって自然に操ることができます(手振りで2台のクアッドコプターの動きを操る)。

インタラクションは仮想的なものだけでなく、物理的なものでもあり得ます。たとえばこのクアッドコプターは一定の場所にいようとします(クアッドコプターを手で引っ張って移動させても、手を離すと元の位置に戻る)。他の場所に移そうとしても、抵抗して元の場所に戻ります。でもこの振る舞いを変えることもできます。クアッドコプターにかけられる力を推定する数学的モデルを使います。力が分かれば物理法則を変えることもできます。あくまでクアッドコプターに関する限りですが。このクアッドコプターは粘性の液体中にいるかのように振る舞います(クアッドコプターを押すと、押された方向に滑るように移動する)。機械に対し仄めかすように指示できるようになりました。この新しい能力を使って、このカメラ付きのクアッドコプターを、デモの撮影に適した位置に移動させることにしましょう(クアッドコプターを押して上に移動させる)。クアッドコプターと体を使ってやり取りし、物理法則を変えることができました。

これを使って少し遊んでみましょう。次にご覧頂くのは、クアッドコプターが最初は冥王星にいるかのようですが、時間が進むにつれ重力が強くなっていき、地球の重力に戻るというものです。そこまでは続かないでしょうが、ひとつやってみましょう(3台のクアッドコプターでお手玉する)。フーッ!

「こいつら遊びすぎだろ」と思っているかもしれませんね。それに機械の運動選手を作ってどうするんだと疑問を持っているかもしれません。動物の世界では、遊びはスキルや能力を磨く役割があるという説があります。集団を結び付ける社会的役割があるという説もあります。私達は同様に、スポーツや競技のアナロジーを使って機械のための新しいアルゴリズムを作り、限界を押し広げようとしているんです。機械のスピードが私達の生活にもたらす影響は何でしょう? 過去のあらゆる発明や創作と同様、それは人間の条件の改善にも使えるだろうし、誤った使い方もできるでしょう。私達が直面しているのは技術的ではなく、社会的な選択です。正しい選択をして、未来の機械から最善のものを引き出すようにしましょう。ちょうどスポーツ競技が私達の最善の部分を引き出すように。

緑色の幕の裏にいる魔術師達を紹介させてください。「飛行機械の競技場」研究チームの現在のメンバーです。フェデリコ・アウグリアーロ、ダリオ・ブレシアニーニ、マーカス・ハーン、セルゲイ・ルーパーシン、マーク・ミュラー、ロビン・リッツ。偉大なものを作るべく生まれてきた人たちです。どうもありがとう。(拍手)

 


付録

 

Tweet このエントリーをはてなブックマークに追加
home  rss  

オリジナル:  Raffaello D'Andrea: The astounding athletic power of quadcopters