UAVのシステム(主にオープンソースのシステム)について

はじめに

個人的に集めたUAVのシステム関連の種類のざっくりとした話
備忘録的な
もう数年前なので結構遅れてる情報とかあるかも
それと、UAVとは言ってるけどだいたいマルチコプターの情報だと思ってください。

UAVの主要コンポーネント

  • フライトコントローラ(以下FC)

  • フライトコントローラソフトウェア(以下フライトスタック)

  • Ground Control Station : 地上局(以下GCS)

  • プロポ

がある。


FC

機体を制御するコンピュータ。シングルボードコンピュータをFCにしたものと、専用に開発されたコントローラーがあるが、FCとして売られているものは大体後者。
慣性計測ユニット(IMU)、GNSS、高度計、LIDARなどのセンサからの情報と、GCSとプロポからの指令によって機体を制御している。
ベースにリアルタイムOSがある場合がほとんどであると思う。

フライトスタック

FCのリアルタイムOS上で走る機体制御ソフトウェア。
たまにファームウェアと言ったりする。

GCS

機体を管制する端末のこと。PCやタブレット上で動作し、機体から送られてくるセンサデータや機体状況等を表示し、機体に指令を送っている。

プロポ

ラジコンの送信機の俗称である。GCSとは別のコントローラ。
UAVもUGVもUSVも本質的にはラジコンと似たようなものであり、直接マニュアルで操作する場合はプロポを使用する。


オープンソースのオートパイロットシステム

現在マルチコプターの民間市場はDJIに引っ張られている状態であるが、国産マルチコプターが出てくる前から国際的にそれなりのサイズの機体で使われていたオープンソースのシステムをとりあえず書く。
BetaFPVみたいな5インチ機とかそれより小さいのによく使われてるのは勘弁

有名どころとして、とりあえず2系統説明する

  • PX4/Pixhawk

  • ArduPilot/APM


PX4/Pixhawk

PX4/Pixhawkは、スイス工科大学チューリッヒ校で、オープンソースハードウェアとオープンソースソフトウェアの32bitFCを作る目的で始まった。
このプロジェクトのFCはPixhawkシリーズであり、GCSはQGroundControlである。
ハードウェアはアメリカの3D Robotics社が主に製造を行っていた。現在はその他多くの企業が生産を行っている。

ArduPilot/APM

3D RoboticsのChris Anderson氏が始めたDIYDrones.comというプロジェクトクトから派生したプロジェクト。こちらもハードソフトともにオープンソース。初期はArduinoをベースに開発していたためこのような名称となっているが、現在のフライトスタックはLinux上でも動く。過去に32bitにシフトした際にArdupilot Mega(APM)と名称変更がされた。
現在このプロジェクトに関わるハードウェアは新規製造はほぼない。フライトスタック開発がメイン。
このプロジェクトのGCSは、Mission Planner・APM Plannerである。
なお、Mission Plannerでは、フライトスタックのことをファームウェアと呼ぶので注意。

これらに関係するものとして、MAVLinkがある。
MAVLinkは、通信プロトコルとして採用されている。

MAVLink

MAVLinkは、元々はPX4/Pixhawkプロジェクトの一部として開発されたテレメトリー用のプロトコルだが、軽量で柔軟性もあったため、ArduPilot/APMをはじめとする多くのフライトスタック標準の通信規格として採用された。
同一バージョンのMAVLinkをサポートするソフトウェア同士であれば、基本的なメッセージを使って最低限の通信はできるようになっているが、それぞれに癖があり、互換性のテストもあまりきちんと行われていないらしいため、注意が必要。純正同士でも、バージョンが違えば色々と問題が起こりやすいため、フライトスタック(ファームウェア)のバージョンとGCSのバージョンは合わせておくことが望ましい。


互換性

上記のように、両プロジェクトともオープンソースであり、通信プロトコルもMAVLinkが標準である。

これらの他にもオープンソースのUAV関連システムは多く存在しており、入り乱れる状況であった。
2015年に、このようにバラバラとなっているプロジェクトを統一し、ドローン業界の標準となる規格を作ろうと、Linux Foundation傘下にDroneCodeという組織が立ち上げられた。
DroneCodeは、FC、フライトスタック内のAPI、GCS、通信プロトコルの標準を構築している。
主な参加プロジェクトは、Pixhawk、Ardupilot、MAVLink、QGroundControl、UAVCANなどであった。これらのプロジェクトは、DroneCode傘下でありながらそれぞれ独立したプロジェクトであり、協調を以て開発を行う形であった。
しかし、2016年9月にArudupilotがDroneCodeより分離。
現状、Ardupilot以外はDroneCode傘下のプロジェクトとして存続している。
あとMicrosoftも参加してる。スゴイね。

という形で、ArduPilotはDroneCodeからは分離しているものの、互換性は保たれている。
PixhawkシリーズのFCにArduPilotのファームウェアをインストールしても何ら問題はないし、Pixhawkの管制をMission Plannerで行っても問題はない。
というか、FCにフライトスタック/ファームウェアをインストールするのはGCSからであるので、PixhawkシリーズのFCにはMission Plannerは普通につながるし、制御ができるということ。
国内でPixhawkシリーズのFCを採用している企業のGCSを見ると、Mission Plannerをいじっているように見受けられることもある。




この記事が気に入ったらサポートをしてみませんか?