フライトコントローラー Dronecode

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

Pixhawk

こんにちはー。梅雨の雨にも負けず、時間を作ってはフライトに励んでいるK-ki(K-ki@Ailerocket)です。みなさんもバリバリフライトしてますか?

さて、こんな感じで私たちを夢中にさせてくれるドローンですが、その心臓部分といえば、やはりフライトコントローラー(フラコン、FC)ですよね。ラジコン用送信機(プロポ)から送られた信号を元にドローンの姿勢を制御するためのコマンドを演算するだけでなく、ウェイポイント飛行などの自動操縦機能を実現してくれるフライトコントローラーも存在しますから、ドローン全体の性能にFCが与える影響はとても大きいです。

このようにドローンの心臓、核とも言えるフラコンですが、種類が多く何を使えばよいか分かりにくかったり、種類ごとの性能差や、用途別の向き不向きなどもあまり整理された情報がありません。そこでまずは、K-kiがおすすめするフライトコントローラー「Pixhawk」について、その性能や適した用途をまとめます。日本ではPixhawkのユーザー数は多くないようですが、非常に優れたフラコンなので、この記事を通じてPixhawkを使ってみようと思った人が少しでもいれば嬉しいです。

Pixhawkとはどんなフライトコントローラーなのか

まずはPixhawkがそもそもどんなフライトコントローラーなのか、という点を説明していきます。特に、自作ドローンにフライトコントローラーを組み込む際に必要な情報がわかるように、コネクタ等のインターフェースや対応するフライトコード(ハードウェアであるフライトコントローラーに搭載するソフトウェア)ついては明確にしておきます。

Pixhawkの概要・特徴

Pixhawkはアメリカの3D Robotics(3Dロボティクス、3DR)社が販売するフライトコントローラーです。3DRはIris+やsoloといったコンシューマー向け完成品ドローンも販売しており、ドローン業界ではかなり影響力が大きい会社です。

回転翼ドローン(マルチコプター)に搭載されることが主ですが、固定翼のラジコン飛行機やラジコンカーでも使用できるため、ラジコン用マイコンという表現のほうが適切かもしれません。

数あるフライトコントローラーの中でも、ハイアマチュアや研究・産業用途をターゲットにしており、高性能である点が特徴です。

Pixhawhkのスペック

Pixhawkについてざっくりと説明したところで、以下ではそのスペックについてより詳細に説明していきます。

32bit STM32F427 Cortex M4プロセッサ

Pixhawkは、演算を行うプロセッサとして、32bit・最大クロックスピード180MHzの「STM32F427 Cortex M4 core with FPU」を採用しています。このプロセッサは、ドローン用フライトコントローラーによく利用される「STM32」というプロセッサのF4というシリーズに該当するものです。他のドローン用コントローラに使われているものと比較してかなり高性能といえます。

例えばドローン用FCとしてよく利用される「Multiwii」は8bitですし、「Naze32 Acro」や「CC3D」はSTM32のF1シリーズを、「X-Racer」などはF3シリーズを使用しています。STM32プロセッサでは、Fの後に付く数字が大きいほど高性能になっているので、性能順に並べるとF1<F2<F3<F4となります。Pixhawkのプロセッサが、他のフラコンと比較して高性能であるのが一目瞭然ですね。

性能の良いプロセッサを使うことで、制御コマンドなどの演算を早く処理できるため、より安定した、より高機動な飛行を実現できます。

14個のサーボモーターを制御可能

Pixhawkでは14個ものサーボモーターを制御することが可能です。このうち8個は予備のプロセッサでもコントロールすることができ、ドローンの飛行用モータとして利用できます。つまり、マルチコプターならPixhawkでは8つの回転翼を持つオクトコプターまで飛行させることが出来ます。

残り6つのモーターは補助用途で用い、例えばドローンに搭載したカメラのシャッターをきるといった用途で利用できます。補助モーターも多数利用可能であるため、ドローンを使ってより高度なミッションを達成することが出来ます。

加速度・ジャイロ・方位・気圧センサ搭載

Pixhawkは外部のセンサを利用しなくても、それ自身に加速度センサ・ジャイロセンサ・方位センサ(コンパス)・気圧センサを搭載しています。具体的には以下のセンサを搭載しています。

MPU6000

メインの加速度センサおよびジャイロセンサです。ラジコンの世界ではいわゆる6軸ジャイロというものに相当します。厳密には、3軸方向の加速度と角速度を計測することができるセンサです。

ST Micro 16-bit L3GD20 3軸ジャイロスコープ

補助用のジャイロセンサです。

ST Micro LSM303D 14-bit 加速度センサ/コンパス

補助用の加速度センサとコンパスです。機体の方位は磁気を計測するコンパスによって測定されます。

MEAS MS5611 気圧センサ

Pixhawkは気圧計も搭載しており、単体で高度を取得することができます。気圧計やコンパスはどんなフライトコントローラーでも必ず搭載しているというものではないので、このセンサを搭載していることもまた、Pixhawkがハイエンド向けのフラコンであることを示しています。

カメラとジンバルで高度な空撮が可能

Pixhawkをフライトコントローラーとして利用して、本格的な空撮を行うこともできます。GoProシリーズのようなアクションカメラを、カメラの向きを安定化させるジンバル(スタビライザー)に搭載し、ジンバルに対してプロポからPixhawk経由でコマンドを送ることで、意のままに美しい空撮映像を撮影できます。

Pixhawkではウェイポイント飛行(事前に指定した場所をGPSに基づいて順番に飛ぶ飛行モード)が可能であり、さらに飛行コース上でのカメラアングルまで細かく指定できます。空撮にうってつけのフラコンと言えるでしょう。

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

オープンソースのオートパイロットプラットフォーム「APM:ArduPilot Mega」を利用して、指定航路を飛行するウェイポイント飛行(ミッション飛行)を実施する方法を解説します。ファームウェアにAPM:Copter/ APM:Plane、フラコンにPixhawk等を使用します。

ウェイポイント飛行を利用して空撮を行う方法はこちらのページで詳細に解説しています。ドローン空撮に興味のある人は、ぜひこちらも参考にしてください。

FPVカメラ・OSDにも対応

さらにPixhawkはFPVやOSDにも対応します。FPVはドローンの機体に搭載したカメラからの映像をリアルタイムに手元のモニタやゴーグルに移すことで、まるでドローンに搭乗しているかのように操縦できる機能、OSDはFPVカメラからの映像に高度や速度、現在地やバッテリー残量などを表示する機能です。

日本では電波法航空法によって制限がかけられているため、簡単にはFPV飛行を行うことはできませんが、レース用途などでは必須とも言える機能です。

使い勝手の良いテレメトリシステム

飛行中の機体の高度や速度、GPSによる位置やバッテリー残量、プロポからの信号強度など、機体の状況を示す情報を地上で確認できるシステムのことを「テレメトリ」と呼びます。Pixhawkでは、ケーブルを1本購入するだけで、このテレメトリを簡単に実現できます。

特にバッテリー残量やプロポからの信号の強度は、機体を安全に飛行させるために非常に重要な情報です。飛行中にこれらを常時確認できる点は大きなメリットと言えるでしょう。

3S~4Sバッテリー対応

Pixhawkは基本的に3S~4Sバッテリーに対応しています。5S以上のバッテリーを使用したい場合には、後述のパワーモジュールを改造することで一応使用可能にはなるようです。

重量・サイズ

Pixhawkは重さ38g、サイズは50×15.5×81.5mmとなっています。高性能なだけあり、フライトコントローラーとしてはやや重め、大きめになっています。FPVレースなど小型軽量のフラコンが求められる用途では、Pixhawkと同系列のFC「Pixracer」の方が向いていると思います。

Pixhawkのインターフェース・コネクタ

Pixhawkのようなフライトコントローラーはドローンの頭脳であり、センサから情報を得たり、モーターなどの駆動部へ命令を伝達したりする必要があります。この項目では、Pixhawkとセンサやモーターを接続するインターフェース部分の仕様を解説します。

受信モジュール関連

プロポからの信号を受け取り、フライトコントローラーへと伝えるのが受信モジュールです。Pixhawkは、フライトコントローラーへ以下の形式の信号を送る受信モジュールに対応しています。

  • PPM信号
  • フタバ S.BUS信号
  • RSSI信号

これらの信号は、両端がJRのサーボ用コネクタ(オス)であるケーブルを介して、上端部分のポートからPixhawkへと伝達されます。また、Pixhawkは以下の信号形式にも対応しています。

  • Spektrum DSM/DSM2/DSM-X

この信号については、ケーブルを繋ぐポートとコネクタの形状が違うため注意が必要です。

センサ・外部モジュール(ジンバル等)

Pihawkでは、センサや、ジンバルなどの外部モジュールとは、以下の方式で通信を行いデータをやり取りします。

  • UARTシリアル通信
  • I2C
  • SPI
  • CAN
  • USB

これらの通信は、ヒロセ電機のDF13コネクタを使ったケーブルを介して行われます。

パソコン(グランドコントロールステーション)関連

Pixhawkは、パソコンやタブレット、スマートフォンなどにインストールされたアプリケーションと通信を行うことも可能です。これにより、機体の姿勢や速度、高度などの情報を手元で確認することができます。また、パソコンなどにインストールされてPixhawkと通信するアプリケーションは、グランドコントロールステーション(GCS)と呼ばれ、Pixhawkの設定も基本的にはこのGCSを介して行います。

代表的なGCSとしては、Mission PlannnerやDroidPlannerが挙げられます。GCSとPixhawkの通信は、以下の方法で行われます。

  • micro USBケーブル
  • 無線通信(433MHzまたは915MHz)

ただし、日本では電波法の規制があり、433MHz帯や915MHz帯の電波を一般の人が自由に利用することはできません。無線通信が可能だと、飛行虫の機体の情報を取得でき非常に便利なのですが、現状日本では簡単には実現できません。

従って、グランドコントロールステーションとの通信する場合んびは、基本的にmicro USBケーブルを使うことになります。

バッテリー関連

バッテリーはPixhawkに電力を供給する重要な部分です。バッテリーとPixhawkの接続は、下で解説するパワーモジュールを介して行われることが一般的です。パワーモジュールを介さないと接続できないわけではないですが、私はその方法は分かりません。

パワーモジュールはXT60というコネクタ形状になっているため、ドローンに搭載するリポバッテリーのコネクタもXT60である必要があります。もしもコネクタ形状が違うバッテリーを使用する場合、コネクタの変換プラグを利用してください。

Pixhawkの推奨ファームウェアはAPM

Pixhawkに搭載するファームウェア(フライトコード)としては、基本的にAPM(ArduPilot Mega)を利用します。APMはオープンソースのフライトコードであり、またDronecodeプロジェクトの一部でもあるため、非常に拡張性が高いです。個人的には今後最も成長の余地があるフライトコードではないかと思っています。

このAPMに対応したフライトコントローラーはいくつかありますが、その中で最も推奨されているのがPixhawkです。それ故に(ほとんどが英語ですが)情報量も多く、APMを利用したい場合にはまずはPixhawkから始めるのが王道と言えます。

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

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

このサイトでもAPMについて紹介しています。Pixhawkを使うのであれば、このページも併せて読んでおくと役に立つはずです。

Pixhawkの周辺機器・関連モジュール

Pixhawkは周辺機器や関連モジュールも充実しています。周辺機器には、必ず必要な「必須」レベルのものと、なくても良いがあると便利な「オプション」レベルのものがあります。以下で、どのような周辺機器が存在するのか、代表的なものを紹介します。

なお、これらの追加モジュールは、多少の設定が必要な場合もありますが、基本的にはケーブルを差し込むだけで使用可能になるように設計されています。

micro USBケーブル(必須)

Pixhawkをパソコンと接続するためには、micro USBケーブルが必要です。パソコンと接続することにより、ファームウェアの書き換えやその他の設定を行うので、micro USBケーブルは必須です。

Pixhawkと周辺機器のセット商品でも、micro USBケーブルは同梱されていないことも多いので注意してください。ただし、Androidスマートフォン用のデータ通信可能な充電ケーブルで代用可能です。

micro SDカード(必須)

ファームウェアのインストール時には、Pixhawkのデータ保存領域として、micro SDカードが必要になります。micro SDカードがないとファームウェアのインストールができないため、こちらも必須です。

またこのmicro SDカードには、飛行中のデータを保存しておくという役割もあります。

セーフティスイッチ(必須)

Pixhawkの電源を投入後、モーターを回転させて飛び立つためには、Pixhawkを「アーム」と呼ばれる状態にする必要があり、そのためにはセーフティスイッチをオンにする必要があります。このスイッチがなければPixhawkはアーム状態にならず、飛び立てないため必須アイテムです。

ブザー(必須)

Pixhawkの状態を音で知らせてくれます。例えば、電源投入後のセーフティチェックが上手くいったかや、飛行モードが切り替えられたなどの情報を音で知らせてくれます。

安全な飛行にはフライトコントローラーの状態を正しく把握する必要があるため、こちらも必須です。

パワーモジュール(オプション)

パワーモジュールは、バッテリーからの電力をPixhawkに適切な形に変換し、Pixhawkに伝達するモジュールです。オプションと表記してはいますが、ほぼ必須レベルで必要です。

Pixhawkに対応するパワーモジュールはいくつかありますが、製品によって対応しているバッテリーが異なる点に注意しましょう。代表的なパワーモジュールである「3DR Power Module」は、4セル(4S)までのバッテリーに対応しています。

GPSモジュール(オプション)

GPSモジュールは、Pixhawkの可能性をさらに広げてくれるセンサモジュールです。GPSを利用することにより、GPS位置を保持するようなホバリング飛行(LoiterモードまたはPosHoldモードなど)や、飛び立った地点に帰ってくる安全上非常に重要なRTL(Return-to-Launch)モード、指定したウェイポイント(目標地点)を順番に飛ぶAutoモードなどが利用可能になります。

Pixhawkに対応した代表的なGPSモジュールとしては、u-blox社のGPSモジュールが挙げられます。このモジュールはGPSだけでなく、コンパスも搭載しています。

ジンバル(オプション)

ジンバルは空撮用のカメラを搭載するためのスタビライザーです。機体の姿勢が変化しても、カメラが常に同じ姿勢を維持できるようにすることで、撮影される映像が非常に見やすくなります。ドローンでの空撮を考えているならぜひとも導入しておきたいですね。

Pixhawkの推奨ファームウェアであるAPMは、ジンバルとして「Tarot Gimbal」および「SToRM32 Gimbal Controllerを利用したジンバル」の利用をすすめています。

その他の周辺機器

Pixhawkはここで紹介した以外にも、様々な周辺機器がオプションとして存在しています。例えば、対気速度センサ(ピトー)、ランディングギア、光学流速センサ、テレメトリラジオなど、数多くあります。

ドローンの利用目的に応じて必要なモジュールを選択的に搭載し、目的の機能を最低限の予算・重量で実現できるのもPixhawkの強みです。

Pixhawkの購入方法

Pixhawkを購入する際に最も推奨される方法は、販売元の3Dロボティクスのオンライン通販を利用することでしたが、現在では既に販売が終了しています。また、そもそもこちらでは日本への配送に対応していないという情報もありました。

日本国内の会社から購入する方法としては、JapanDronesのネット通販を利用するか、Amazonマーケットプレイスで購入するなどの方法があります。ただしこれらは非常に割高な価格設定だったり、バージョンが古かったりする点に注意してください。

中国製のクローン品でも良いというのであれば、ebayBanggoodなどの海外通販サイトを利用すると、かなり手頃な価格で入手できます。これらのサイトでは海外配送でも送料無料という場合も多いので、コストを抑えたいならば積極的に活用すると良いでしょう。

また、PixhawkはAmazonや楽天といった通販ショップでも販売されています。これらの国内通販を利用するのが最も簡単な入手方法と言えるでしょう。

関連の深いフライトコントローラー

ここまで、Pixhawkがとても高性能で使い勝手の良いフライトコントローラーであることを説明してきました。さらにPixhawkには、似たような性能・仕様のフライトコントローラーが存在します。ここではそれらのフラコンを簡単に紹介しておきます。

Pixracer

PixracerはPixhawkよりも小型で、36×36mm程度のサイズのフライトコントローラーです。単純にPixhawkを小型化したものではなく、新しいバージョンのFMU(Flight Management Unit、フライトコントローラーの演算処理を行う部分)を搭載し、センサ類もアップグレードされています。

使用するコネクタの規格が変更されていて、PixhawkのDF13から、JST GHシリーズのコネクタになっています。また、Pixracer自体がWi-Fiモジュールを内蔵しています(ただし日本では電波法状使用不可能)。

もちろんAPMはPixracerもサポートしているため、Pixhawkにある程度なれた上で、FPVレースなどより小型軽量のフライトコントローラーが必要になってきたときには、このPixracerを使用したドローンを組んでみると良いでしょう。

Pixhawk 2

Pixhawk 2は、その名の通りPixhawkの発展版です。プロセッサはクアルコムのSnapdragonへとアップグレードされ、Linuxが搭載されているようです。3Dロボティクスの完成品ドローン「Solo」に搭載されています。

注意すべきなのは、Pixhawk 2はあくまでSoloへと搭載されるフライトコントローラーで、単品では販売されていないという点です。また、ネット通販などで「Pixhawk 2.4.6」などの表記を見かけることが有りますが、これはPixhawk 2のことを指しているわけではなく、「Pixhawkのバージョン2.4.6」という意味であることにも注意が必要です。

Pixhawkとその他の開発プロジェクト

Pixhawkの開発プロジェクトは「PX4」という名前ですが、これは元々このプロジェクトで開発されていたフライトコントローラーの名称です。そもそもPixhawkは、このPX4プロジェクトで開発されていた、フライトコントローラーの処理装置部分「PX4FMU」と、外部とのインターフェース部分「PX4IO」をまとめてにしたものです。

Pixhawkを開発しているこのPX4プロジェクトは、オープンソースのドローン開発プラットフォームを作るプロジェクト「Dronecode」の一部となっています。これらのプロジェクトのおかげで、私たちは個々の目的に合ったドローンを、最低限の労力で開発することができます。

Dronecodeプロジェクト
Dronecodeとは何か―オープンソースドローン開発プラットフォーム

ドローンの統合的な開発プラットフォームとしてDronecodeが注目されています。日本語での情報が少ないDronecodeの背景とプロジェクト構成を紹介します。フライトコントローラ・シミュレータ・アプリ用APIなどハード・ソフト両面にまたがるプロジェクトです。

Dronecodeの詳細についてはこちらのページにまとめてあります。日本語でのまとまった情報は他にはほとんど無いので、興味のある人は是非読んでみて下さい。

フライトコントローラー「Pixhawk」についてのまとめ

今回は高性能なフライトコントローラー「Pixhawk」を紹介しました。このフライトコントローラーの魅力はやはりその性能ですが、もう一つ重要な点が、非常にオープンな開発が行われているということです。

Pixhawk自体を開発しているPX4プロジェクトにしろ、Pixhawkに対応したファームウェアであるAPMにしろ、それらの母体とも言えるDronecodeにしろ、オープンソースハードウェア・オープンソースソフトウェアという考え方に基づき、ユーザーが回路図やソースコードを確認できるようになっています。

この仕組みにより、ユーザーはハード・ソフト仕様を細部まで確認できるので、Pixhawkを非常に幅広く活用することができます。単純にドローンを飛ばしてみたいというだけでなく、明確な目的を持ってドローンを開発したいという思いを抱える人には、まさにうってつけの仕組みですね。

あなたもPixhawkを利用して、これまでにないような面白いドローンの開発に挑戦してみませんか?

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

K-ki

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

-フライトコントローラー, Dronecode

© 2024 Ailerocket/エルロケット