写真:さまざまなフライトコントローラー

 ドローンの安定した飛行をつかさどる、頭脳とも言うべきフライトコントローラー。そのフライトコードともいえるソースコードは、日本製ドローンの多くがArduPilot(アルデュ・パイロット/アデュー・パイロット)に代表される、オープンソースのものを採用している。日本ではArduPilotを使ったフライトコントローラーは広く“Pixhawk”と称されているが、実はPixhawkにはこのArduPilotを採用したものと、もうひとつPX4と呼ばれるコードを採用するドローンがある。ここではこうしたオープンソースのフライトコードについて、PX4を採用するFreefly Systems製品を輸入販売しているイデオモータロボティクスの代表取締役 井出大介氏に解説してもらった。

写真:井出氏が話している様子
株式会社イデオモータロボティクス 代表取締役 井出大介氏

勘違いしやすい「Pixhawk」の背景と現在を整理

 現在、国産ドローンのフライトコントローラーの多くが採用しているオープンソース系のフライトコントローラー。広く「Pixhawk」と呼ばれるこのフライトコントローラーのハードウェアであるFMU(Flight Management Unit)は、ワンボードマイコン「Arduino」のコミュニティの中で、飛行に必要なジャイロや加速度センサーといったセンサーやGNSSの機能をArduinoに接続することでモーターを制御して飛行させるという、学者や学生、ボランタリーな技術者などのコミュニティ「DIY Drone」が発祥だ。

 当初はこのコミュニティのメンバーの中で、回路設計に長けた技術者がハードウェアを開発し、その回路を公開する形でFMUが作られていたが、2009年にメンバーの一人である、テックカルチャーメディアWIREDの編集長、クリス・アンダーソンが、ジョルディ・ムニョスとともに3D Roboticsを設立し、APM(ArduPilot Mega)と呼ばれるFMUボードを開発するようになる。その後、2011年には3D Roboticsが支援を行っていたもうひとつのコミュニティ、Pixhawkの名を冠する形でFMUがリリースされる。これが現在に至る、いわゆるハードウェアのフライトコントローラーとしてのPixhawkの始まりである。

写真:表面にさまざまなI/Oポートが配置されたPixhawk
3D Roboticsが牽引して開発されたハードウェアのフライトコントローラーとしてのPixhawk(通称:Pixhawk 1・FMUv2)。(出典:Pixhawk WEBサイト

 当初、このPixhawkは、いわゆるフライトコントローラーの頭脳ともいえる回路と、マルチコプターであればモーターやESC、電源、GNSS、通信といったさまざまな外部機器を接続するI/Oを一体にしたものであった。その後、Pixhawkは3D Roboticsが2015年にリリースした小型ドローン「SOLO」のフライトコントローラーとして採用されたのち、3D Roboticsの製品としてFMUの中枢のみを取り出した「Cube」がリリースされる。同時に、それまでPixhawkと呼ばれていたハードウェアは、単なるキャリアボード(I/Oボード)となっている。

写真:キャリアボードとCube
現在主に使用されている「Cube」。黒色のほか、黄色や橙色などの色によってスペックのグレードが区分されている。Cubeの登場でキャリアボードとFMUの中枢は別体となった。

ArduPilotとPX4、2つのフライトコードの起源と特徴

 このフライトコントローラーとしてのPixhawkのフライトコードは、現在おもにArduPilotとPX4という2つが使われている。ArduPilotは前述のDIY Droneのコミュニティが発祥で、現在もDIY Droneの文字通り、多くのメンバーがコードを利用し、改良、カスタムを行っている。もうひとつのPX4は、2008年頃にスイス工科大学のローレンツ・マイヤーが中心となったコミュニティがフライトコードであるPixhawkを開発。2011年に完成させた第4世代のコード「PX4」が現在に至っている。日本においてオープンソースのフライトコントローラーの代名詞となっているPixhawkは、本来、このPX4が源流だといえる。

ドローンの開発に影響をもたらすライセンスの違い

 ArduPilotとPX4、いずれも多くの人が「Pixhawk」と呼んでいるFMU上で動作するコードではあるが、そこには大きな違いがある。それはライセンス形態である。ArduPilotは「GPL v3」ライセンスなのに対して、PX4は「BSD」ライセンスであることだ。ArduPilotのGPL v3ライセンスでは、ソースコードのすべてを公開することが原則となっている。例えば公開されているフライトコードに、独自の改良を加えたり、機能を追加した場合は、そのコードを公開することが大前提なのだ。一方、PX4のBSDライセンスでは、フライトコードの基本となる部分は公開されているものの、独自に改良を加えたものについては、公開しなくていいこととなっている。

 ArduPilotはコミュニティに参加するメンバーがそれぞれ開発したものを公開することで、開発が進みやすい。他のメンバーが開発したものを下敷きに、さらに独自の開発をすることができる。ただし、独自に開発したものも公開されるため、コードの独自性はないといえる。一方、PX4は基本のフライトコードこそ公開されているものの、それ以外の部分はすべて独自に開発をする必要がある。開発、検証といった作業をすべて独自に行うだけに、その負荷は大きいといえる。その分、開発したものに独自性があるため、ビジネスとしての優位性が保たれるというメリットがある。

 日本ではオープンソースのフライトコントローラーを搭載するドローンの多くがそのフライトコントローラーにArduPilotを採用している。一方、アメリカではAuterionをはじめとしてPX4を採用するメーカーが多く、オープンソースでもその主流はPX4となっている。特に2017年にPX4の生みの親であるローレンツ・マイヤーが設立したAuterionは、2020年に次世代のフライトコントローラーであるSkynodeをリリース。その後、米中の地政学的対立や、ウクライナに対するロシアの侵攻もあり、軍事技術としても欠かせなくなっているドローン産業を保護する姿勢の中で、このPX4を実装するSkynodeを米国製ドローンのフライトコントローラーとしてさまざまな形で支援している。

写真:並べられた2つの機器
AuterionがFreefly Systemsにも提供しているフライトコントローラー「Skynode」(右)。別体のAI搭載機器(左)と繋ぐことで、ドローンにAIによる画像解析などの機能を付与することができるという。