フライトコントローラー
ドローン・マルチコプターやラジコン飛行機に限らず、航空機の自動操縦システム(オートパイロット)を実現する要となるのが「フライトコントローラー」です。フライトコントローラーは機体に搭載するコンピュータで、センサ信号やプロポからの操縦コマンドに基づいて機体を制御するためのコマンドを計算し、舵面やプロペラを動かすため指示を出すのが主な役割です。
フライトコントローラーを使うとできること
フライトコントローラーがなくても、飛行機を単純に飛ばすだけなら可能です。飛行機の操縦は、エルロン・エレベーター・ラダーの三舵とスロットルの操作によって可能になるため、ドローンのような無人機であればプロポのスティック操作によってすべて賄うことができます。
フライトコントローラーを使用する主な理由は、センサから取得する機体の状況に応じたフィードバック制御が可能となり安定性が増すこと、そしてオートパイロットによる自動操縦機能が使用できることです。自動操縦機能には、例えば以下のようなものがあります。
- 姿勢保持機能 – 機体のピッチ・ロール・ヨーの姿勢を保持し安定した飛行状態を確立します。
- 高度保持機能 – 機体の高度を自動的に保持します。
- 位置保持機能 – GPS等で取得する機体の位置を保持し定点ホバリングを実現します。
- ウェイポイント飛行機能 – 指定したポイントを順番に巡るように飛行します。
- 自動帰還機能 – 飛び立ったポイントへ自動的に帰還します。
ドローン向け自動操縦システムのプラットフォーム
既製品として販売されているドローンにはあらかじめ自動操縦システムが搭載されていることがほとんどですが、自作機の場合は自動操縦システムを自分で構築する必要があります。ゼロから全てを作るのは非常に大変なため、趣味でも商業用途でも、無料で公開されているオープンソースのプラットフォームを利用することが多いです。自動操縦システムのプラットフォームとして代表的なものに「ArduPilot Mega」と「PX4」の2つがあります。
ArduPilot Mega
ArduPilot Mega(APM)は、Arduinoをベースのフライトコントローラと、そのフライトコントローラで動作する飛行制御プログラムを開発するために始まったプロジェクトです。世界的にユーザー数が多く、市販のドローンと遜色ない(あるいはそれ以上の)自動制御機能が無料で使用できます。
当サイトでは、APM関連の情報は以下のカテゴリにまとめています。
カテゴリーArduPilot Mega(APM)
PX4
PX4は、オープンソースのドローン開発向けプラットフォームて非常に規模の大きいDronecodeでも中心的役割を果たしている飛行制御関連のプロジェクトです。ハードウェアとしてのフライトコントローラー開発と、その上で動作するソフトウェア開発を行うプロジェクトです。前述のAPMも、ハードウェアはPX4で開発している「Pixhawk」などを使用するのが一般的です。