APM:ArduPilot Mega ドローン開発

【ドローン空撮】APM:CopterのAUTOモード・ウェイポイント飛行の設定・実施法

ドローン空撮 APM:Copter AUTOモード ウェイポイント飛行

2015年ごろから急速に普及し始めたドローンやマルチコプターは、ただ単に飛ばすだけでも楽しいですが、上手く活用すればこれまでに難しかった様々な問題を解決するポテンシャルを秘めています。その最たる例がドローン空撮でしょう。

これまで空撮といえばヘリコプターによる有人撮影が基本でした。ヘリコプターを飛行させるためには短時間でも多額のお金がかかるため、空撮のハードルは非常に高いと言わざるを得ませんでした。

しかしドローンやマルチコプターのような無人航空機(UAV)を利用すれば、空撮をかなり手軽に実施することが可能となります。従って、今後ドローンによる空撮はさらに普及していくことが予想されます。

ドローン撮影・空撮の基礎知識
ドローン撮影・空撮の基礎知識!機材・資格・許可申請などを解説

ドローン活用分野の中でも特に知名度が高い撮影・空撮分野について、市場規模の分析から使用される機体・カメラ等の機材、法律で定められる飛行許可申請の方法まで幅広く解説します。また、空撮で役立つ資格やその取得方法も紹介します。

今回は、ドローン空撮を行うにあたり非常に有効となる「ウェイポイント飛行」を実現する方法を紹介します。また、このサイトの運営者であるK-ki(K-ki@Ailerocket)が、紹介した方法で空撮した動画も紹介します。

ドローン空撮とウェイポイント飛行・自律航行

まずは今回設定方法を紹介する「ウェイポイント飛行」というものがどういった飛び方で、どんなメリットやデメリットがあるのかを説明します。

ウェイポイント飛行とは

ウェイポイントとは、ナビゲーションなどで指定する経路上のある地点のことを指します。ドローンは航空機の一種ですから、ここでは航路上の一点という意味になりますね。一般に緯度・経度の組で表されますが、航路上のウェイポイントの場合には高度も指定されます。

ウェイポイント飛行は、このウェイポイントを順次自動的にたどるように飛ぶ飛行方法です。つまりウェイポイント飛行時には、あらかじめウェイポイントの指定さえしておけば、プロポのスティック操作などの操縦コマンドを入力しなくても、勝手に指定通りの飛び方をしてくれます。一種の自律航行と言うことが出来ます。また、ミッションフライトなどという名前で呼ばれることもあります。

マニューバが安定しブレの少ない動画・画像が撮影できる

ウェイポイント飛行では、基本的に機体の操作はオートパイロット(自動操縦)システムが行います。オートパイロットによる操縦はコンピュータによって計算されたもので、安全に飛行するためにマニュアル操縦に比べると比較的ゆっくりとした一定の速度で飛ぶような機体の機動(マニューバ)になります。

空撮時には、比較的遅めの一定速度で飛行したほうが、ブレが少なくなり見栄えの良い映像が撮影できます。そういった意味で、オートパイロットによる安定したマニューバは空撮と相性が良いと言えます。

操縦技術があればこのような飛行の仕方をすることも可能です。しかし、人間が操縦するとどうしてもゆっくり飛行するのがじれったくなってスピードを出しすぎてしまったり、姿勢を安定化させるためのコマンドを入れすぎてしまったりすることがあります。操縦技術も一朝一夕で身につくものではありませんから、素直にオートパイロットに任せてしまうのも一つの方法です。

カメラ操作に専念できる

ウェイポイント飛行時には、機体の操縦をしなくて良いためパイロットのワークロード(作業負荷)はかなり低くなります。

もしも機体の操縦をしながらカメラを操作する場合、細かなカメラワークにまで気を配ることは困難です。しかし操縦が必要ないウェイポイント飛行では、タイミングを見計らってカメラの角度を細かく調整するなど、映像のクオリティ向上に注力できます。このように、オートパイロットに利用によって生まれた余裕を、カメラ操作に充てることで、より見応えのある動画・写真を撮影することができるようになるでしょう。

ただし安全な飛行を行うため、何かトラブルが合った場合には即座にマニュアル操縦に切り替えられる準備は必要です。

撮影場所の下見・確認は必須

ウェイポイント飛行中は、機体は指定されたウェイポイントへ向かって飛行しますが、余程の高性能機でなければ障害物回避などの機能は備えていません。もしも指定した航路上に高い木などの障害物があった場合、パイロットが即座にマニュアル操縦へ切り替えて回避運動を行わなければ、マルチコプターは障害物へ衝突して墜落してしまうということになりかねません。

このようなトラブルを避けるためにも、ウェイポイント飛行を行う際には飛行経路の下見・確認は必須といえます。

空撮を行うために用意するもの

ドローン空撮におけるウェイポイント飛行の意義や役割を紹介したところで、このページで紹介するウェイポイント飛行を実現するために、用意する必要のあるものを紹介しておきます。この次に開設するウェイポイント飛行の設定は、以下の構成が前提となっています。

ソフトウェア

このページで紹介するのは、APM(ArduPilot Mega)というオートパイロットを実現するためのプラットフォームに則った方法です。ソフトウェア面では、以下の構成を前提としています。

APM:ArduPilot Mega
APM:ArduPilot Mega-ドローン・RC飛行機用オートパイロット [Drondecode]

高度なオートパイロット(自動操縦)システムを実現する、オープンソースのプラットフォーム「APM:ArduPilot Mega」を解説します。ドローンコードプロジェクトの一部でもあるAPMは、ドローン・マルチコプター等に搭載するファームウェア、GCSソフトウェア等から構成されます。

APMプラットフォームに関する詳細は、こちらのページで確認できます。併せて読んでおくことをおすすめします。

参考Community: — ArduPilot documentation

APMファームウェア

機体に搭載されたフライトコントローラーのファームウェアは、APMの提供するものであることが前提です。具体的には、ヘリコプター・マルチコプター向けの「APM:Copter」と、飛行機(固定翼機)向けの「APM:Plane」の2種類が対象となります。

バージョンは最新版が好ましいですが、私がウェイポイント飛行の実証を行ったのは「APM:Copter 3.3.3 Quad」です。このページで紹介するウェイポイント飛行は、このAPMファームウェアが用意しているフライトモードのうちの、「AUTOモード」というモードで実行されます。

Mission Planner

Mission Plannerは、APMのグラウンドコントロールステーション(GSC)と呼ばれるソフトウェアです。フライトコントローラーへのファームウェアのインストールや設定など、APMファームウェアとハードウェアのインターフェースとしての役割を持ちます。

AUTOモードで飛行するウェイポイントの指定も、このMission Plannerで行います。

ハードウェア

ハードウェアとしては、もちろんきちんと飛行するマルチコプターやラジコン飛行機といった機体が必要です。その上で、機体の構成に関しては、APMソフトウェアの動作が保証されたハードウェアでなければならないという条件があります。

この制約の影響を受けるのは、主にフライトコントローラーとGPSモジュールです。他の部分に関しては、きちんと飛行すれば細かな制約はありませんが、参考までに私の構成も紹介しておきます。

フライトコントローラー

機体に搭載するフライトコントローラーは、APMファームウェア(APM:CopterおよびAPM:Plane)に対応したものである必要があります。APMファームウェアに対応したフライトコントローラーにはいくつかの種類がありますが、代表的なものにPixhawkがあります。Pixhawkは3軸ジャイロセンサー、3軸加速度センサー、気圧高度計などを備えた非常に高性能なフライトコントローラーです。

3DR Pixhawk-APM推奨の高性能ドローン用フライトコントローラー

APM(ArduPilot Mega)の推奨ドローン用フライトコントローラー「Pixhawk」を紹介します。日本ではユーザー・情報が少ないですが、上手く活用するためのスペックやコネクタなどのインターフェース仕様、必要な関連モジュール・周辺機器の情報などをまとめます。

Pixhawkの詳細はこちらのページで解説しているので、ぜひ読んでみて下さい。

GPSモジュール

ウェイポイントは緯度・経度で指定されるため、APMのAUTOモードによるウェイポイント飛行ではGPS信号を利用します。そのため、機体にGPS信号を受信するためのGPSモジュールを搭載する必要があります。

APMファームウェアに対応したPixhawkなどのフライトコントローラーには、u-blox社のGPSモジュールが推奨されています。

Pixhawk向けに最も推奨されるGPSモジュールは、Pixhawkの販売元である3D Roboticsが販売している「3DR UBlox GPS + Compass Module」ですが、かなり高価です。GPSの基板が同じであれば大差ないので、u-bloxのNEO-M8N、NEO-7M、NEO-6MあたりのGPSモジュールを利用するのがおすすめです。これらのGPSモジュールは、GPSに加えてコンパスの機能も備えているため、機体の方位角をより正確に知ることもできるようになります。

機体構成例

フラコン・GPS以外のパーツについても、参考になるかもしれないので紹介しておきます。なるべくAPMで推奨されているパーツを揃えていますが、コスト面から安いものを選んでいる部分もあります。

フレーム ZMR 450
フライトコントローラー Pixhawk
モーター SunnySky X2212 KV980
ESC Hobbypower SimonK 30A
プロペラ 10×4.5(1045プロペラ)
GPS u-blox NEO-M8N
受信モジュール Frsky D8R-XP(技適取得済)
送信モジュール Frsky DJT(技適取得済)
プロポ Tunigy 9XR PRO
バッテリー Turnigy nano-tech 4500mah 3S 35~70C Lipo Pack
カメラ SJCAM SJ5000X Elite

Mission Plannerによるフライトプランの作成方法

パソコンへのMission Plannerのインストールや、フライトコントローラーへのAPMファームウェアのインストール・初期設定が完了しており、マルチコプター・RC飛行機が既に飛行可能な状態になっている状態から説明します。APMの初期設定方法などがわからない方は、後ほど別の記事として執筆する予定ですので少しお待ちください。

MPのフライトプラン画面でウェイポイントとイベントを作成

まずMission Planner(MP)を起動し、フライトプラン画面を開きます。

Mission Planner フライト・プラン画面

次に画面上をクリックしてウェイポイントを作成します。下の画像に示されるように、機体は「H(ホーム)」と表示されている地点から出発し、番号の順にウェイポイントをたどるように飛行します。

Mission Planner フライトプラン作成のための操作・表示部分

なお、フライト・プラン画面では、左上にマウスが支持している場所(マウスの現在地)の情報が、下側には設定したウェイポイントやイベントの情報が表示されます。右側のアクションパネルは、作成したウェイポイントをファイルに保存したり、フライトコントローラーへ転送するときに操作するボタン群です。

ウェイポイントの作成はクリックのみで可能ですが、さらにウェイポイントでの動作(イベント・ミッションコマンド・フライトプランとも呼びます)を作成し、より高度なミッションフライトを実現することが出来ます。イベントの作成は、画面下部のウェイポイント情報が表示されている部分でドロップダウンリストから選択するか、またはウェイポイントを右クリックすることで可能です。また、高度情報は画面下部でしか設定できない点に注意してください。

ウェイポイントへのイベント指定方法

ウェイポイントで指定できるイベントには、例えば以下の様なものがあります。

  • 離陸
  • 着陸
  • RTL(Rturn To Launch:ホームポジションへ自動帰投)
  • ロイター(指定ウェイポイントで旋回待機:時間や旋回回数の指定が可能)

他にも様々なイベントを指定できます。詳細が気になる人は以下のページで確認することが出来ます。

参考MAVLink Mission Command Messages (MAV_CMD) — Mission Planner documentation

また、高度な方法になりますが、プログラミング言語「Python」のスクリプトでミッションコマンドを指定することも出来ます。GUIでの操作では物足りなくなったら、この方法を試してみるのもありだと思います。ドローン関連のソフトウェアではPythonを使用している物も多く、Pythonが使えるとできることが広がります。この機会に勉強してみるのもありでしょう。よければ以下のページも参考にしてください。

ドローンをプログラミング言語「Python」で開発:自律飛行・画像認識

ドローン開発に使用されるプログラミング言語の中からPython(パイソン)について、特徴やどんなソフトウェアの開発に利用されるかを実例を交え紹介します。また、Pythonの習得方法やPythonでプログラミングし飛ばせる機体も紹介します。

ウェイポイントとイベントが作成できたら、念のためアクションパネルからデータをファイルに保存しておくと良いでしょう。

フライトコントローラーとMission Plannerを接続

ウェイポイント・イベントの作成が終わったら、フライトコントローラーをパソコンへ接続します。Pixhawkの場合には、micro USBケーブルを使って、パソコンのUSBポートに接続します。

パソコンがフライトコントローラーを認識したら、Mission Plannerの右上にある「接続ボタン」をクリックし、Mission Plannerとフラコンの間でMAVLink通信が確立されるのを待ちます。上手くいかないことが時々あるので、「接続失敗しました」というエラーメッセージが出ても何度か試してみて下さい。フラコンをつないでいるUSBケーブルを抜き差ししたり、パソコンを再起動すると上手く行く場合もあります。

Mission Planner フライト・プラン画面 接続後

接続が成功すると、このように右上のマークが緑色になり、GPS情報に基づいた機体の位置と方位が画面上に表示されます。

ミッション情報をフライトコントローラーへ送信

通信を確立できたら、フライトコントローラーへミッション情報(ウェイポイントおよびイベントの設定)を送信します。フライトプラン画面右側・アクションパネルの「WPの書込み」ボタンを押すと、フライトコントローラーへウェイポイント・イベント情報が送信されます。

AUTOモードを起動しミッションフライトを実行する

ここまでの操作が完了したら、飛行場へ行き機体を飛ばしてみましょう。フライトプラン画面で「ホーム」に指定した場所まで行き、フライトモードの「AUTOモード」をONにしてください。機体はウェイポイント1へ向かって飛び始めます。

さっそく空撮をしたいところだとは思いますが、まずは確認のためにカメラを搭載せずに機体が軽い状態で飛行させてみたほうが良いでしょう。トラブルが起こった場合、フライトモードをすぐに「Stabilizeモード」に切替え、マニュアル操縦で対処してください。

また、私が実際にミッションフライトをやってみて発見したコツを、2つほど紹介しておきます。

スキッド装着時の離着陸はマニュアル飛行の方が良い

空撮のためにドローンにカメラを装着するときには、カメラが地面に接触しないようにスキッドも装着しますよね。このときには機体の重心位置が高くなるため不安定になり、とてもひっくり返りやすいです。

AUTOモードで離着陸させると、姿勢が乱れて機体がひっくり返ってしまい、プロペラやモーターが破損してしまう可能性があります。AUTOモードをオンにするのは、離陸して少し高度を上げてからにし、着陸時は高度を少し残したところでスタビライズモードにして手動で着陸するなど、少し工夫をしたほうが安全に飛ばすことが出来ます。

AUTOモードをONにする前はALT HOLD・Loiter・POS HOLDモードが良い

StabilizeモードからAUTOモードに切り替える際に、カメラを搭載するなど機体が重い状態だと、高度が急に下がってしまうことがあります。これは高度制御の方法が違うために起こる問題のようです。

これを防ぐため、高度保持が有効になっているフライトモードからAUTOモードへと切り換えるのがおすすめです。例えば、ALT HOLDモード・Loiterモード・POS HOLDモードなどからAUTOモードへ切り換えると良いでしょう。

撮影したドローン空撮動画

ここまでに解説した方法に基づいて、私がウェイポイント飛行を行った際に撮影した空撮動画を紹介します。カメラジンバルや防振装置が手元になかったので、映像としてはブレが大きくあまり綺麗とは言い難いですが、安定したマニューバであることはわかると思います。

AUTOモードをオンにしたのは動画の0:20頃です。また、3:37頃にAUTOモードをオフにしてStabilizeモードにし、マニュアル操縦で着陸を行っています。私の下手くそな操縦よりもAUTOモードのほうがよっぽど安定していますね…。

1:15頃には、ウェイポイント2に到達し、Loiterモードによる旋回待機を2周分行っています。ジンバルがないため画面が傾いてしまっていますが、ゆっくりとした旋回で映像としても見やすいです。使用したアクションカメラ「SJ5000X Elite」も、1万円程度とは思えない画質でなかなかいい感じです。

DJI Phantom4などの既成品ドローンを使用して空撮するのも楽しいと思いますが、今回紹介したように自作ドローンで空撮を行うのも非常に面白いです。特に自作ドローンは既成品と比べて圧倒的に拡張性が高く、様々なチャレンジが出来ます。また、多少壊れてしまっても簡単にパーツ交換ができるのも大きなメリットです。

このページを読んで興味が湧いた方は、ぜひ自作マルチコプターでの空撮に挑戦してみてはどうでしょうか。

  • この記事を書いた人
  • 最新記事

K-ki

著者:K-ki 子供のころに作った模型飛行機がきっかけで航空宇宙の世界に足を踏み入れたエンジニア。HNは「けーき」と読みます。 好きなものは航空機(固定翼・回転翼・ドローンなど全般)と生き物・アクアリウム。

-APM:ArduPilot Mega, ドローン開発

© 2024 Ailerocket/エルロケット