MegaシェアするLINE!CLIP!ドローンの目覚ましい発展が注目されているこの頃ですが、これだけドローンやマルチコプターが一般に広く普及した理由の一つには、高度なオートパイロット(Autopilot:自動操縦)システムが手軽に利用可能になったこともあると言えます。このサイトを運営しているK-ki(K-ki@Ailerocket)も、自作ドローンのオートパイロットシステムとして、APMのプラットフォームを利用しています。国内ではまだ利用者が多いとはいえませんが、APMはオープンソースのドローン開発プラットフォームを作る国際的なプロジェクト「ドローンコード(Dronecode)」の一部でもあるため、今後ユーザーが増えていくことが予想されます。このページでは、ドローン・マルチコプターやラジコン飛行機向けのオートパイロットプラットフォームとして、今後さらに重要な役割を担っていくことが期待されるAPMを解説します。MegaとはAPMはマルチコプターやラジコン飛行機で、オートパイロットを実現するためのプラットフォームです。GCS)の役割を果たす「ソフトウェア」、そして機体に搭載するフライトコントローラーである「ハードウェア」から構成されています。APMはさらに上位の開発プロジェクト「ドローンコード(Dronecode)」の一部でもあります。Dronecodeはオープンソースのドローン開発向けプラットフォームであり、世界中の企業が協力して、ドローン開発のデファクトスタンダードを作ろうとしています。以下でその内容を詳しく説明しています。Dronecodeとは何か―オープンソースドローン開発プラットフォームドローンの統合的な開発プラットフォームとしてDronecodeが注目されています。日本語での情報が少ないDronecodeの背景とプロジェクト構成を紹介します。フライトコントローラ・シミュレータ・アプリ用APIなどハード・ソフト両面にまたがるプロジェクトです。16:30Dronecodeの目的が達成されれば、ドローン開発においてかなり大きな影響力を持つことになると思われます。個人的には、今後もDronecodeには注目しておくべきだと考えています。以下で、APMを構成する「ファームウェア」「ソフトウェア」「ハードウェア」それぞれについて説明していきます。ファームウェアAPMの核をなすのがこのファームウェアです。ファームウェアは機体に搭載されるフライトコントローラーを制御するためのソフトウェアで、ドローンが姿勢を保って安定した飛行を実現することを可能にしています。APMのファームウェアは、搭載する機体の種類によって以下の3つに分類されます。APM:PlaneAPM:CopterAPM:RoverAPM:Planeは固定翼航空機、APM:Copterは回転翼航空機、APM:Roverはラジコンカーやラジコンボートで利用されます。ドローンやマルチコプターで利用されるAPM:Copterは、通常のメインローター+テールローターのヘリコプターから、トライコプター、クアッドコプター、ヘキサコプター、オクトコプターなど、多種のフレームに対応しています。ファームウェアをフライトコントローラーにインストールする際に、機体やフレームの種類を選ぶことで、用途に応じた利用ができるようになります。ソフトウェア(GCS)無線を介してファームウェアが搭載されたフライトコントローラーと通信し、機体を操作するのがAPMのソフトウェア(=GCS)の役割です。地上で機体の設定を行う際にもこのソフトウェアが必要となります。APMでここに分類されるのは、以下の2つです。Plannerの方がより普及しており情報量も多いです。2はWindowsに加えてMacやLinuxでも利用可能です。2.x」の開発プロジェクトも存在しました。過去形なのは、既に開発が終了しているからです。現在では、APMのファームウェアを搭載するハードウェアとしては、同じくドローンコード(Dronecode)内のプロジェクトである「PX4」が開発する「Pixhawk」が推奨されています。Pixhawkの他にも、以下のようなフライトコントローラーに対応しています(以下は一例であり対応するフライトコントローラーの全てではありません)。」も、ファームウェアをAPMに書き換えることが可能です。これらのAPM対応フライトコントローラーの中でも、特に推奨されているPixhawkについては、以下のページで詳細を解説しています。このページと併せて読んでみて下さい。Mega)の推奨ドローン用フライトコントローラー「Pixhawk」を紹介します。日本ではユーザー・情報が少ないですが、上手く活用するためのスペックやコネクタなどのインターフェース仕様、必要な関連モジュール・周辺機器の情報などをまとめます。21:00APM:CopterAPM:Copterは、APMのファームウェアの中でも回転翼航空機向けのものになります。詳しく言えば、ラジコンのような無人航空機のうち、マルチコプターとヘリコプターを対象としています。APM:Copterは高い汎用性を持っており、FPVドローンレースから空撮まで幅広い用途に対応しています。事前に飛行するコースを指定しておけば、完全な自律飛行も可能です。マルチコプター用の他のフライトコードと比べても、非常に高い性能を持っていると言えます。以下に、APM:Copterの持つ数多くの機能の中でも、特に重宝されるものを紹介します。ここで紹介するもの以外にも様々な機能があるので、詳細が気になる人はAPM:Copterのウェブサイトを確認してください。Launch:自動帰還機能)高機能なマルチコプターには高確率で搭載されているのがこのRTL機能(自動帰還機能)です。ゴーホーム(Go-Home)機能と呼ばれることもあります。この機能を使用すると、機体が自動的に飛び立った地点まで戻ってきてくれるため、操縦に慣れていない初心者も安心してドローンを飛ばすことが出来ます(ただし上手く働かない場合もあるので過信は禁物)。APMではGPMモジュールを追加することでこのRTL機能が利用可能になります。GPS信号を上手く受信できない、入り組んだ地形の場所や屋内では利用できない点には注意が必要です。フェイルセーフ機能プロポとの通信が切断されたときや、バッテリーの残りが少なくなったときなど、状況に応じて機体がどのような挙動を行うか設定することが出来ます。フェイルセーフ機能で、プロポとの通信が切断されたときにRTLが有効になるよう設定しておけば、もしもの事があっても機体が手元に戻ってきてくれます。PlannerのようなGCSソフトウェアを利用してウェイポイントを指定することにより、機体が指定されたウェイポイントを順番に辿って飛行するように設定出来ます。空撮用途などで非常に有効な機能です。Mega」を利用して、指定航路を飛行するウェイポイント飛行(ミッション飛行)を実施する方法を解説します。APM:Plane、フラコンにPixhawk等を使用します。21:00こちらのページで詳しく紹介しているので、興味のある人は読んでみてください。シンプルモードシンプルモードを有効にすると、機体の向きを気にせずに操縦することが出来ます。プロポのスティックを前に倒すと、操縦者から見て前方に進み、後ろに倒すと自分の方に戻ってくる、右に倒すと右進、左に倒すと左進、といった具合です。ラジコンを操縦する難しさの一つは、機体の向きが自分の向きと違うため、左右が分からなくなってしまうことです。APM:Copterでは、飛行中だけでなく離陸や着陸時も自動操縦機能(オートパイロット)に操縦を任せることが出来ます。この機能はウェイポイント飛行時にも有効であるため、離陸から着陸までプロポによる操作を全くしなくても、指定通りのルートを飛行して着陸する、ということも可能です。APM:PlaneAPM:PlaneはAPMのファームウェアの中でも固定翼航空機(飛行機)向けのものです。基本的な機能はAPM:Copterとほとんど同じですが、マルチコプターと飛行機の特性の違いを考慮し、少し制御方法が異なる部分などがあります。APM:Copterの場合は、機体の位置と高度を保持する「Loiterモード」では、機体はホバリング状態になり指定された位置と高度を保持するように飛行します。APM:Planeの対象となる飛行機はホバリングが出来ないため、機体は指定されたポイントの周りを旋回するように飛行します。Meモード」が存在するが、飛行機用のAPM:Planeでは機体があまりにも遅いスピードで飛行することは出来ないためこのモードが存在しないなど、いくつかの違いがあります。APM:RoverAPM:Roverは航空機ではなく、ラジコンカーやラジコンボート用のAPMファームウェアです。機能的にはAPM:CopterやAPM:Planeに似ていますが、APM:Roverの対象とするグラウンドビークルは飛行していないため、高度保持などが不要となり、APM:Copter/Planeのフライトモードに相当する機能が多少簡略化されています。利用するハードウェアはAPM:Copter/Planeとかなりの部分が共通化されているため、ドローン・マルチコプターやラジコン飛行機を楽しんでいた人は、軽い気持ちでラジコンカーも試してみることができるでしょう。この点もAPMという大きなプラットフォームを利用する利点と言えます。Planner(ミッションプランナー)は、APMで標準的に利用されるグラウンドコントロールステーション(GCS)ソフトウェアです。パソコンやタブレットにインストールして利用し、直接設定変更をしたりするのが難しいAPMと、ユーザーの橋渡しのような役割を果たします。Plannerの通信が確立していると、機体の姿勢や高度などの情報(テレメトリー情報)をパソコンやタブレット上で確認することが出来て便利です。Plannerで実現できる機能の例を以下で紹介します。Plannerのウェブサイトも見てみると良いでしょう。Plannerを使ってみようと思う人は、以下のページも参考にしてください。ミッションプランナーのインストール方法や、ミッションプランナーを使ってフライトコントローラーにAPMファームウェアをインストールする方法を紹介しています。Planner(ミッションプランナー)を解説します。インストール方法や、フライトコントローラーへのファームウェアアップロード方法、ミッションフライトの設定方法が中心です。Plannerでは、ドローン・マルチコプターなどが飛行するときの、航路上の経由地点や目標地点(ウェイポイント)を定めることが出来ます。機体は、AUTOモードやGUIDEDモードがオンになると、指定されたウェイポイントを順番にたどるように飛行します。Mapsなどの地図サービスを利用して読み込まれた地図上で行うため、どこをどんな順序で飛行するか確認しながら経路を設定することができます。ウェイポイントの指定だけでなく、上昇・降下やカメラアングルの操作、離陸・着陸などのミッションコマンドも指定することが出来ます。ウェイポイントとミッションコマンドを合わせて設定することにより、ほとんど完全な自律飛行を行うことも可能です。Plannerを利用します。Plannerを起動してフラコンとPCの通信を確立することで、APMファームウェアの設定変更が可能になります。ファームウェアのインストール・初期設定や、プロポとフラコンの通信確認、センサーのキャリブレーションなどは、ドローンやRCプレーンを飛行させる上で必ず必要な作業です。Plannerを利用せずにAPMプラットフォームで機体を飛行させることは出来ないということです。Plannerを使ってフライトコントローラー内部に蓄積されたフライトデータをパソコンに取り込んだり、取得したデータを解析することも可能です。この解析機能は、ジャイロセンサーを搭載しているフライトコントローラーが過度に振動していないか確認し、不適切な振動レベルだった場合は防振対策を取る、というように活用をすることができます。Plannerのフライトデータスクリーンで確認することが出来ます。Plannerを利用すればPCやタブレットの大画面に表示できるため、非常に見やすくなります。Plannerの通信を確立する機器(テレメトリーラジオなどと呼ばれるもの)が利用する電波は、日本では電波法で制限されている周波数帯であるため利用できません。勝手に通信を行うと電波法違反になり罰せられてしまいます。これを回避するためにはXBeeなどを使い、電波法で許可されている周波数帯で通信を行うようにする工夫が必要です。Plannerと同じくAPMのGCSソフトウェアです。Plannerと同様の機能を持ってます。2の特徴を簡単に紹介しておきます。XやLinuxにも対応しています。2を利用することになります。2は、コプタータイプのフレームを持つ機体のみをサポートしています。従って、飛行機型や車両型、ボート型の機体では使用できません。Plannerよりもフレームタイプが細かく分けられています。クアッドコプタータイプのフレームの中でも、通常のXスタイルのフレームだけでなく、前方のアームが広くひらいた「Vスタイル」のフレームや、フレームがH字型をしている「Hスタイル」のフレームを選択することが可能になっています。Plannerで共通しているようです。2で再設定を行う必要がありません。AntennaTrackerAntennaTrackerは、機体とGCSの通信を長距離でも確立するためのプラットフォームです。PixhawkなどのAPMに対応しているフライトコントローラーをアンテナトラッカーのコントローラーとして使い、地上の指向性アンテナの向きを制御することで、機体とGCS間の通信可能距離を飛躍的に向上させることが出来ます。アンテナを向ける方向は、機体からテレメトリー情報として送信されてきたGPS情報と、地上でアンテナトラッカーのコントローラーとして利用されているフライトコントローラー自身が持っているGPS情報を利用して計算します。APM:Planeを使ったラジコン飛行機は、機体の飛行範囲が広くなるためAntennaTrackerと相性が良いです。日本では上にも書いたように電波法の制約があり機体とGSCの間で通信を行うためのハードルが高いため、あまりアンテナトラッカーを利用する機会はないかもしれません。MegaのまとめAPMはここまでに紹介したように、機体に搭載するフライトコントローラーのファームウェアと、そのセッティングなどを行うためのソフトウェアを中心とした、オープンソースの無人航空機(UAV)用オートパイロットプラットフォームです。その性能は非常に高く、様々な目的での利用に適していることが分かってもらえたと思います。ような既成品のマルチコプターが主流となっていますが、今回解説したAPMなどを利用してドローンを自作するのも非常に面白いです。興味の湧いた人は、ぜひチャレンジしてみてくださいね。子供のころに作った模型飛行機がきっかけで航空宇宙の世界に足を踏み入れたエンジニア。HNは「けーき」と読みます。好きなものは航空機(固定翼・回転翼・ドローンなど全般)と生き物・アクアリウム。水棲生物の中では特にニホンイシガメが好き。