ドローンのソフトウェア「ArduPilot(アルジュパイロット)」とは、オープンソースソフトウェアだ。ドローンの機体を各種センサーの情報に基づいて制御する、いわばドローンの頭脳にあたる。オープンソースなので、誰でも無料で利用でき、マルチコプター以外にVTOL、飛行機、ローバー(UGV)、水中ドローン、ボートなど汎用性も高い。ロボット制御の基盤システム構築コストを抑え、その分、製品開発における自社独自性への投資にまわせる。ライセンスもフリー。ArduPilotをカスタマイズした自社製品の特許出願も可能だ。

JapanDrones 代表取締役社長 Randy Mackay氏。ドローンのソフトウェア「ArduPilot(アルジュパイロット)」コア開発メンバー。2016年始動したドローン・ジャパンとの協業事業「ドローンエンジニア養成塾」の塾長で、日本におけるドローンエンジニア人材育成の草分け的存在。

 このように利点の多いArduPilotは、いまや世界中で多様なプレイヤーに採用される、注目のドローンソフトウェアだ。しかし、ArduPilotのコア開発メンバーの1人、”生みの親”的な存在であるランディ・マッケィ氏が日本在住であることは、あまり知られていない。ドローンジャーナルでは、ランディ・マッケィ氏(以下、ランディさん)に独自インタビューを実行。ArduPilotとは何か、用途、利点、今後の展開についてお話を伺った。

ArduPilot(アルジュパイロット)とは、ドローンソフトウェアであり開発コミュニティでもある

ドローンジャーナル編集部(以下、編集部)
「ArduPilotとは、オープンソースのドローンソフトウェアである、という理解であっていますか?」

ランディさん
「はい、そうですね。ArduPilotは、ソフトウェアです。と同時に、コミュニティの名前でもあります」

編集部
「ArduPilotとは、ソフトウェアの名称であり、開発コミュニティの名称でもある」

ランディさん
「そうです。ArduPilotは、誰でも無料で利用できるオープンソースのドローンソフトウェアであるのと同時に、GitHubというプラットフォーム上でArduPilotの開発そのものに誰でも参加できる、開発コミュニティでもありますね」

編集部
「ではArduPilotは、誰でも書き換えられる、ということになるのでしょうか?(ちょっと不安)」

ランディさん
「誰でも、プルリクエスト(*1)はできますが、勝手に書き換えることはできません。開発者はまず、ArduPilotにこんな機能を追加したい、とGitHubでリクエストを出します。それをコア開発メンバーが確認して、承認や拒否、この部分を修正したら承認するなどを、コア開発メンバー同士で相談しながら判断しています。オープンソースですから、開発履歴はいつでも誰でも見ることができます」

編集部
「なるほど。オープンだからこそ保てる信頼性といえそうです。(安心しました)」

ランディさん
「オープンソースはバグが多いというイメージがあるかもしれませんが、オープンかクローズドかは関係なく、バグの数はプロジェクト管理によります。むしろオープンソースの方が、開発者はミスをみんなに見られて恥ずかしい思いをしないよう、努力するはずです」

編集部
「恥をかくリスクが利点になる。人間の真理ですね。ArduPilotの開発者は、世界中で何人くらいいるのですか?」

ランディさん
「正確に数えるのは難しいですが、これまでGitHubでプルリクエストを出した開発者の人数は、468人(※)です。利用者としてのArduPilot開発者はもっと多いでしょう。コア開発メンバーは、アメリカ、中国、オーストラリア、フランス、世界中あちこちにいますが、全部で40人くらい。私はコア開発メンバーの1人で、コミット(*2)数は2番目に多いです」

編集部
「日本にはランディさん以外にArduPilotの開発者はいないのですか?」

ランディさん
「そんなことないですよ。3年前から、ドローン・ジャパン株式会社と私が経営するJapan Dronesが協働事業として、ドローンソフトウェアエンジニア養成塾を運営してきましたが、卒業生はArduPilotを応援してくれている企業に入社して、開発の第一線で活躍しています。2020年4月には、エンジニア養成塾9期を開講する予定です」

ArduPilotコア開発メンバーたち。上段左から2番目がランディさんのアイコン。

ArduPilot(アルジュパイロット)は、「柔軟性」が極めて高い

編集部
「ArduPilotは、オープンで信頼性が高い以外に、どんな特徴がありますか?」

ランディさん
「柔軟性がとても高いことです。例えばDJIはとても素晴らしいけれど、クローズドなシステムでは、メーカーがあらかじめ設定した範囲内でソフトウェア開発を行うことになります。ArduPilotなら、自分で考えたいろんな面白いことができます」

編集部
「詳しくお聞かせください」

ランディさん
「例えば、250kgのペイロードを運べるドローンを制御できます。配達のほかにも、いろんな重いセンサーも搭載して飛ばすことができます。VTOL、飛行機も対応可能です。ドローンをより遠くまで飛ばすための、自動アンテナトラッカーの制御もできます」

アンテナトラッカーが常にドローンの位置を捉えて自動で機体にアンテナを向ける実験の様子。

編集部
「ArduPilotなら、いろんな形や重さのドローンを自動航行させられるのですね!」

ランディさん
「そうですね。地上を動くものも、ArduPilotで動かすことができますよ。例えばこれは、自動追尾できるローバーですね。白い方を私がプロポで操作して、黒い方は白い方を完全自動で追いかけています。かわいいね(笑)」

ローバーのほかにも、セグウェイのような形でも目的地へ自動モードで行けるようプログラム可能だそう。

編集部
「水中もいけますか?」

ランディさん
「池や川、海、ダムなどで動かすものもサポートしています。例えばイームズラボが作った水中マッピング用のボートは、水の流れが強い所でもGPSやPID制御を使って完全に定位置に止まることができます。南アフリカでは、水中ではなく、対岸の3Dマップ作成用のボートをArduPilotで開発した企業もありました」

日本のArduPilotパートナー企業であるイームズラボが作った水中マッピング用のボートが水面に止まっている様子。

ランディさん
「フライトコンピューターの中で、ArduPilotが動いています。フライトコントローラーを搭載したドローンが無人で飛ぶように、これを飛行機に乗せれば無人飛行機になりますし、ボードに乗せれば無人ボートになる。ArduPilotは柔軟性がとても高いソフトウェアです」

ArduPilot(アルジュパイロット)はドローンソフトウェアのエコシステムだった

編集部
「ランディさんは、なぜ、オープンソースを推奨されているのでしょうか?」

ランディさん
「イノベーションのスピードを加速するためです。これは重要なポイントですが、お金儲けのためではありません。オープンにすれば開発者が大勢集まります。人数が少ないなら、アイディアも少ない。できるだけ多くの人の考えがある方が、技術開発を早く進められると考えています」

編集部
「ArduPilotはユーザー課金ゼロのビジネスモデルになりますが、どのようにして開発を続けているのですか?」

ランディさん
「実は、ArduPilotの開発費用は何十億とかかっています。でもその開発費用は、ユーザー課金で賄うのではなく、ArduPilotパートナー企業からの支援で成り立っています」

編集部
「どういった企業がArduPilotを支援していますか?」

ランディさん
「日本ではイームズラボやエンルートなどがあります。グローバルでは、フライトコントローラーメーカーであるHEXなどのハードウェアメーカー、あるいはマッピング作成などを手がけるサービスプロバイダー。この2つのパターンが多いですね」

ArduPilotのパートナー企業は、世界中で56社(※)になったという。

編集部
「ArduPilotを使うことで、企業は製品やサービスの品質を上げられて、ArduPilot開発者が増えればコア技術開発がより早く進み、用途領域が広がる。まさにエコシステム。応援したくなります」

ランディさん
「ArduPilotコア開発メンバーが、ArduPilotパートナー企業で働いているケースもあるんですよ。例えば、ArduPilotコア開発メンバーのうち3人は、HEXで働いています。ArduPilotが改良されれば、HEXの製品もよくなって、もっと売れるようになります。日本でも、ドローンソフトウェアエンジニア養成塾で開発者の育成を進められており、順調です」

ArduPilot(アルジュパイロット)の今後の展開について

編集部
「ArduPilotの今後の展開について、お聞かせください」

ランディさん
「非GPS環境下で飛行できる機能をもっと改良したいです」

編集部
「日本では橋梁点検で橋の下を飛行する際や、屋内やトンネルの点検などでも、非GPS環境下での需要が高まりそうですよね。ArduPilotでは具体的に、どうやって機能改善する方針なのですか?」

ランディさん
「例えば、Intel RealSenseという高性能カメラをドローンに搭載すればGPSを使わなくても加速度、ジャイロ、気圧などのセンサー情報と画像を組み合わせて、室内でも自動航行できます。けれども現状は、飛行中にGPSから非GPSへ自由に切り替えることができません。第一段階としては、手動切替を可能にする予定です。最終的には、GPSと画像のデータを比べて信頼性の高い方を自動で採用できるようにしたいです」

編集部
「こうした開発計画は、コア開発メンバーで話し合って決めるのですか?」

ランディさん
「はい、そうですね。より多くのコア開発メンバーがやりたいと言った案件から、優先して取り組んでいます。彼らはいろんな企業で働いているので、企業のニーズをよく理解しています。多くの人がやりたいなら、ニーズが高いということです。ただ、100%は決まっていません。この間も、私たちが誰も想像していなかった、セイルボート(ヨット)の自動制御技術を開発したいという優秀な開発者が突然現れて、彼が作ったソフトウェアをチェックしたところ素晴らしかったのでArduPilotにマージしました。彼はコア開発メンバーになりましたよ」

編集部
「開発コミュニティやサポート領域が、こうして広がっていくのですね。ランディさんは、非GPS以外にいまどんな開発をされていますか?」

ランディさん
「いくつかの企業から相談を受けて、開発を進めているケースがあるのですが、例えばダイワという日本の企業が提供するウィンチを、ドローンに搭載してもっと細かい動きを自動でコントロールできるようにしようと開発に取り組んでいます。ほかには、Toshibaが作ったフィードバック可能なESCのインテグレーションの改善にも取り組んでいます。フィードバックがあれば、例えば離陸前にモーターの故障を検知することも可能になります」

編集部
「非エンジニアにも非常に分かりやすく、ArduPilotについて教えていただき、ありがとうございます。ArduPilotコア技術のアップデートや用途拡大など最新の動きについて、今後もぜひ定期的にお話をお聞かせください。ありがとうございました」

ランディさん
「いいですよ。ありがとうございました」

「ドローンエンジニア養成塾」の会場にて撮影。2020年春には9期生を募集予定だそう。

)2019年11月2日現在

*1 プルリクエスト
ブランチでの変更をマスターに取り込むように依頼すること。複数人での開発、不正な変更の混入防止を実現する仕組み。

*2 コミット
バージョン管理システム(本記事ではGitHub)にファイルを書き込み変更を確認すること。コミット情報(著者、日時、変更内容)は過去に遡り全て確認することができる。