ArduPilot(アルジュパイロット)、2020年の最新トレンド4つ

 ArduPilotは2020年、どのような進化を遂げるのか。本コンファレンスでの議論と、多領域にわたるロードマップから、ランディ氏は特に注目する点を4つ挙げて解説してくれた。編集部が昨年11月、同氏にインタビューを行なった際には、「非GPS環境下での飛行に注力したい」とのことだったが、今回はポイントをより具体的に訊いた。2020年、特にArduPilotが進化するであろう4つの領域は下記の通りだ。

(1)非GPS環境下での飛行
(2)衝突回避技術
(3)セールボートの開発
(4)Lua Scriptによるカスタマイズ

(1)非GPS環境下での飛行

 非GPS環境下での飛行については、オーストラリア国立大学の教授であるロバート・マホニー氏らが、Visual Odometryの方法についての開発成果をプレゼンテーションし、議論もかなり盛り上がったそうだ。

 現在ArduPilotでは、Intel RealSenseトラッキングカメラT265を用いた、非GPS環境下における自己位置推定が可能となっている。T265は、2つの魚眼レンズセンサ、IMU、Intel Movidius Myriad 2.0 VPUを搭載、Intel独自のV-SLAMアルゴリズムを採用した、軽量小型かつ電力効率の高いカメラで、199米ドルと値段も手頃だ。しかし、ArduPilotのT265インテグレーションにおいては、GPSとカメラの同時使用ができないという課題がある。

ランディ氏が行ったT265を用いた非GPS環境下における自己位置推定の試験飛行

 そんななか、本コンファレンスには、なんとIntelのT265開発メンバーも参加し、ArduPilot開発者たちとの対話を深めた。カメラの特徴や、ぐるぐる速く回転させると混乱するという弱点なども含め、T265の詳細情報をArduPilot開発者に共有し、ArduPilot開発者からも、T265内部に止まる取得データをより精密に外部へ連携できるよう改善を求めるといった一幕があったという。

 今後は、GPSとT265両方の同時使用を可能にし、例えば橋の下などで急に非GPS環境下へと機体が移動した際には自動的にT265に切り替わるよう、インテグレーションを改善する予定だ。また、ランディ氏は、「ロードマップにはまだ載せていないけれど、複数のT265を機体に搭載して、同時に使えるようにすることも検討中だ」と明かした。

(2)衝突回避技術

 衝突回避技術においては、ランディ氏が最新アップデートをプレゼンテーションした。現在のArduPilotでは、LiDARを回転させてオブジェクト回避を図る技術がすでに利用可能だが、そこには課題が残るという。オブジェクトとの距離(深度)を測っていない、いわゆる2D(平面)で周辺情報をデータベース化してしまうために不具合が発生するのだ。

例えばドローンが前方へ進む際に機体が傾くと地面を壁として認識し、回避しようと停止してしまう

 そこで、今後は、Intel RealSenseデプス(深度)カメラD435とArduPilotの統合に着手する。D435は、グローバルシャッターを採用、視野角が広く、奥行きや速い動きをキャプチャするのに適した3Dカメラで、価格は179米ドル。D435を用いてオブジェクトの3Dデータベース化ができれば、従来はX軸とY軸(前方後方と左右)で衝突回避を試みていたところ、Z軸(上下)やスパイラル形状など、360°活用した衝突回避が可能となる。

ランディ氏のプレゼンテーションでは、「どのようなオブジェクトを、どのように避けて飛行するか」について様々なパターンの議論が進んだという

 ランディ氏は、「開発者同士だから、いろんなアイディアを持っている。コンファレンスではディスカッションも活発に行う」と、開発者が集結する意義を説明した。

(3)セールボート開発

 本コンファレンスには、ArduPilotユーザー企業からも開発者が参加している。その1つが、セールボートのプレゼンテーションを行なった、OCIUS Technologyという海洋ドローンを手がけるオーストラリアの企業だ。ランディ氏が注目したのは、太陽光・風・波を動力とするハイブリッド型のセールボート。夜でも風があれば進み、波によって船体が上下する動きで発電する波発電機能も搭載、風がなくても蓄電池で動くという。海洋で数ヶ月に渡ってセンシングができ、海洋調査や環境調査に適する。

帆の部分がソーラーパネルを兼ねており(写真右)、波の力は水中から得る(写真左)

 発電の仕組みもさることながら、オープンソースであるArduPilotをベースに、コンパニオンコンピューターを搭載、同社が独自開発したクローズドソースのハードをうまく組み合わせて、高品質かつ模倣困難な独自製品を生み出した点は、ArduPilot活用事例として大変参考になるのではないだろうか。本コンファレンスでも、OCIUSのプレゼンテーションはかなり盛り上がったそう。リアルで集まれていれば、ホテルクラジョン至近の湖のほとりに歓声が上がったことだろう。

(4)Lua Scriptによるカスタマイズ

 ArduPilotは、ほとんどC++という言語で作られており、プログラミング経験がない人には扱いが難しく、システムを自由にカスタマイズするハードルはかなり高かった。そこで、ArduPilotにLua Scriptという言語をインテグレートした。

 「ArduPilotは素晴らしいシステムだけど、ユーザーからのカスタマイズ要望が多すぎて、コア開発者は全てに応えられなかった。また、C++に不慣れだとプログラミングを誤り、ドローンが即墜落する可能性も高かった。Lua Scriptのインテグレーション改善によって、多くの人が簡単に自由にArduPilotをカスタマイズできるようになるだろう」(ランディ氏)。

Lua Scriptを活用して開発された、飛行中のドローン上で行うポンゲーム

 プレゼンテーションでは、Lua Scriptの様々な活用例が映像で紹介された。例えば、ドローンを離陸後ホバリングさせ、ブレーキモードに切り替えてプロポによる機体操作の有効性をなくしたうえで、プロポで操作するポンゲームをそのドローン上で行った。また、LEDパネルに文字などを表示させる事例もあった。

ポンゲームやLEDパネルへの文字表示など、Lua Script活用例の紹介映像
ランディ氏がLua Scriptを使って、半径10mほどの円形状にドローンを航行させたデモ映像

 ランディ氏はポンゲームの映像を見ながら「意味ないね」と、ニコニコと笑顔を見せながら「開発者がいろんな面白いことをやってみる想像力が素晴らしい。そこから、本当に意味のあるユースケースの開発にもつながっていくでしょう」と話した。