4月19日に渋谷の TECH PLAY にて開催された「次世代ドローンを支えるソフトウェア技術」は、定員100名を大幅に上回り抽選となるほどの人気でした。どのような話があったのか、どのようなエンジニアにどのような活躍の場があるのか、まとめました。
全体の流れと参加者層
大きく4つの部に分かれていました。「オープニング(5分間)」「セッション1(1時間)」「セッション2(1時間)」「懇親会(50分間)」。
今回の参加者は約100名、そのうちの約7割がエンジニア系、約2割がビジネス系(企画部門など)、学生はゼロでした。そして、エンジニアの中でもハードウェア寄りのエンジニアは数名で、ほとんどがソフトウェア寄りのエンジニアでした。 つまり、参加者の6〜7割はソフトウェアエンジニアということになります。関心の高い層がはっきりしていました。
本記事ではそれぞれの部に分けて、ハイライトをご紹介します。
オープニング
オープニングで登壇されたのは、株式会社エアロネクスト 代表取締役 田路(とうじ)圭輔氏。独自技術「4D Gravity™」という、重心制御技術の紹介でした。重心制御と聞くと複雑そうですが、「ラーメンも運べる構造」という表現がわかりやすかったです。
最後は、「今は鳥と電波しか飛んでいない、地上から高度150mまでの空域をドローンによって経済活動の場に変える」という、新しい時代の予感を期待させるプレゼンでした。
セッション1:「ドローンオープンソースエンジニアリング」の魅力と醍醐味
セッション1で登壇されたのは、ドローン・ジャパン株式会社 取締役会長 春原(すのはら)久徳氏、ジャパン・ドローンズ株式会社 代表取締役の Randy Mackay氏、の2名。まず春原氏より、ドローンの部品やソフトウェアの仕組みの詳細な説明がありました。
その後、Randy氏より、オープンソースソフトウェア「ArduPilot(アルジュパイロット)」の仕組みや応用の仕方の詳細な説明がありました。
全て解説したいところですが、ここでは大事なポイントに絞って解説していきたいと思います。
ドローンの役割と構造
ドローンの役割は大きく「空撮」の他に「作業の代替」と「情報収集」に分けることができます。構造はシンプルで、モーター以外に動く部品がなく、ソフトウェアで電子制御をしています。
ドローンの部品とプログラミング
部品にはモーターの回転を制御する「ESC(Electroniic Speed Controller)」や気圧センサ、超音波センサなどが使われており、センサの塊と言っても良いでしょう。特に重要な部品は「フライトコントローラ(FC)」であり、機体の制御を担います。ハードウェアとしては大きく「DJI系」と「オープン系」の2種類があるそうですが、ソフトウェアも同じく「DJI系」と「オープン系」の2種類があります。スマートフォンのOSと構図は似ています。
スマートフォン 「iOS(クローズド)」vs「Android(オープン)」
ドローン 「DJI(クローズド)」vs「Ardupilot(オープン)」
ソフトウェアのフレームワーク
ドローンのソフトウェアといっても様々なものがありますが、フレームワークで示したのがこの図になります。フライトコントローラの中で動く「組み込み系」だけでなく、クラウド上で動くものもあります。
「ArduPilot」の特徴
ここからは春原氏からRandy氏にバトンタッチ。Randy氏は世界有数のArduPilotの開発者です。スライドには英語が多く出てきますが、ご本人は日本語が上手なので、英語が苦手な方でも問題なく聞けたと思います。
ArduPilotの特徴を3つ説明されていました。
・柔軟性が高く多目的に使える(Versatile)
・信頼性が高い(Trusted)
・誰でも見られる/誰でも参加できる(Open)
「ArduPilot」で作るのは「空飛ぶ機体」だけでは無い
ドローンと聞くと「空飛ぶ機体」というイメージが強いかもしれませんが、空だけでなく地上や水中を移動する機体にもArduPilotは応用できます。ローバー(地上移動ロボット)やボート(水上移動ロボット)、サブマリン(水中移動ロボット)も、「モーターを制御して移動する」と考えれば、同じソフトウェアで動いているというのも納得です。その広がりの可能性から、Ardupilotのサポート企業は 50社以上あるのだそうです。
「ArduPilot」のアーキテクチャ
アーキテクチャ、つまり設計思想にまで踏み込んだ説明もありました。「MAV Link(マブリンク)」というプロトコルが中心となり、ユーザからの命令を制御系に渡しています。1つ1つの細かい説明は省きますが、レイヤーに分かれて結びつき合っている様子は、ソフトウェアエンジニアにとっては見慣れた図ではないでしょうか。
※アーキテクチャの図は、ArdupilotのHPにも描かれています
なお、もう少し簡単に説明した概要図もありました。センサーからの入力情報をEKF(拡張カルマンフィルタ)を通して制御系に渡し、最終的にモーターが回る、というものです。
これらの仕組みがわかっていると、不具合があった時、または墜落事故があった時など、解析しやすくなります。言い方を変えると、これらの仕組みがわかっていないと、不具合や墜落の原因解明はできない、ということになります。
クローズ系の技術ではメーカーの報告を待つしかないですが、オープン系の技術では自分達で中身をみて解析することができる、ということにもなります。
「ArduPilot」の開発者
オープンソースはよく「アマチュアの集団」と言われることがあるそうですが、ArduPilotの開発者には20年間ボーイング社で働いていた方も参加していて、重要な役割を担っているそうです。まだまだ日本の開発者は少ないそうですが、それだけに「この部分では負けない」という分野を作ると、あっという間に世界一になれる可能性があるということですね。
Randy氏が講師を務める塾「ドローンエンジニア養成塾」は、5月末から開始するそうで、ちょうど受講生を募集しているとのことでした。
尚、日本発のArduPilot開発チーム「TAP-J(Team ArduPilot Japan)」もその塾の卒業生中心に活動しています。ご興味ある方は、HPをのぞいて見てはいかがでしょうか。
前編のまとめ
オープニングとセッション1を通じて、大きく3つのメッセージがあったのではないかと思います。
・新しい経済活動の場が生まれようとしている
・ドローンはソフトウェアで動いていてオープンソース「Ardupilot(アルジュパイロット)」がある
・陸海空全ての無人移動体を「ArduPilot」で作ることができる
特にソフトウェアウェアエンジニアの方々にとっては、自分で見られる・作れる・参加できる「Ardupilot」の存在は、エンジニア魂を揺さぶる話だったのではないでしょうか。
後編では、「セッション2:エンジニアが今ドローン業界に来るべき3つの理由」と懇親会の内容をお届けします。
(後編に続く)