自作無人飛行機作り方ガイド(08-電源モジュール&データ伝送モジュールの取り付け)

電源モジュールは購入リストに入っていますが、電圧・電流の監視機能を提供するだけでなく、安定的な5V電流をAPMに供給する役割も持っています。「05-機体組立」編の時、ジャンパー線を取り付けて、ESCから電源供給可能にしましたが、実はそれは一番いい電源供給方法ではありません。ESCがモーターから高周波数の信号を受けるため、5V電源がそれほど安定ではないからです。APMはUAVの脳みたいな存在と言えます。脳に入る血液が不安定でいれば、脳も正常にならないでしょう。
 また、電圧が低すぎるようになった時、リターンあるいはその場に着陸、もとのままに飛行するなど、APMがどのように動くかについても設定できます。
 下の画像は、筆者が購入した電源モジュールです。コネクターはESCからのものです。
 まず、取り付け済みのジャンパー線を取ります。
 下の画像のように、ケーブルとコネクターをハンダ付けで基板に固定します。マイナスは基板のランドにあるので、ハンダを多めにしたほうがいいと思います。
 次に、電源モジュールをハンダ付けで基板に固定して、シグナルコードをつけて、熱収縮チューブをつければ完成です。
 ここで、ハードウェア部分は終了しました。次はAPMをパソコンにつなげて、バッテリーもつなげます。そして、「INITIAL SETUP」→「Optional Hardware」→「Battery Monitor」に入ります。
 下の画像のように設定します。
 そして、「FLIGHT DATA」に入ります。地平線の下に表示される電圧は実際に測った数字と同じかどうか、確認してください。
 バッテリーの電圧はここで測りましょう。
 いろんなテスターで測れます。
 電圧値が大きく違っている場合、「Battery Monitor」に戻って、下の画像のように再設定して、実際に測った数字を「Measured battery voltage」に入力します。設定終了後、「TAB」を押して、「FLIGHT DATA」に戻って、電圧値を再確認します。
 最後に、「INITIAL SETUP」→「Mandatory Hardware」→「FailSafe」に入って、電圧値が低すぎるようになった時の設定をします。
 下の赤い四角の設定にします。
 「Battery Failsafe」にチェックを入れれば、低電圧保護機能がオンになります。チェックを消した場合、低電圧状態になっても何も反応しません。
 「Low Battery」の横にある数字は低電圧保護機能がオンになる電圧値です。11.1Vのリポバッテリーを使う場合、「10.5」を入力します。
 メニューの「Enabled always RTL」に設定すれば、APMがどんな動きをしていても、低電圧保護機能がオンになると、すぐリターンします。
 その他の選択肢について、「Disable」は何も反応しないこと;「Enabled Continue with Mission in Auto」は今のミッションをし続けるということでしょう。「Enabled always LAND」はその場に着陸することです(DJI Phantomはいつもそれに設定されています)。
=データ伝送モジュールの取り付け=
 この部分はとても簡単です。
 取り付ければ完成です!まず、パソコンに接続します。
 windows 7などの環境では、ドライバーが自動的にインストールしますが、そうではない場合は、下記のページで「D2XX FTDI driver」をダウンロードしてください。
 下は自動的にインストールする時の画面です。
 インストール終了後、そのデバイスに右クリックして、「プロパティ」を選択。
 伝送速度「9600」を「57600」に変更。
 もう1つのモジュールをAPMに取り付けます。
 そして、APMにバッテリーをつなげて、パソコンの「Mission Planner」を開きます。右上のところでさっき取り付けたもののCOM PORTを選択して、伝送速度を「57600」にして、「CONNECT」をクリックします。そうすると、APMとパソコンとつながっているようになります。
 設定値調整や、ウェイポイント設定、飛行状態、GPS状態など、USBでパソコンにつなげないと設定できないことは、今無線でできるようになりました。とても便利です。
 ここまでして完成したUAVは、市販の値段10~20万台湾元(約US$3300~6600)のものに相当しますよ。これからは中級的な設定方法やそれらの中級機能の使用方法を紹介しようと思います。最初の手順は難しいですが、これからのほうはだんだん簡単になりますよ。お楽しみ!

自作無人飛行機作り方ガイド(09-PID設定値調整とその他設定機能)

この段階では、APMの基本機能は全部紹介終了しました。あとはより細かい、まとまっていない補助機能です。本編はAPM設定方法についての最終編だと思いますが、そのシリーズの最終編ではありません。「空中撮影」の応用も紹介したいと思うので、次の文章からはジンバルシステムや無線映像伝送システムを紹介していこうと思います。
=PID設定値調整=
 APMのオートパイロット機能は一般的なオートパイロットシステムと同じように、機体が風のためにそれた時、逆方向へ飛ばせばいいという簡単なことではありません。システムの遅延時間と反応時間も考えに入れなければなりません。具体的に言えば、機体が風のために向きを変えた時をセンターが感知して、演算を行って校正信号を送って姿勢校正をし始めるまでは、かなりの時間がかかります。校正が始まった時、機体の姿勢がすでに変わりました。しかも校正信号がようやく届いた時、機体の重量や駆動力などによって、反応動作も違ってきます。校正終了後、コントローラーが今の位置を感知するのも時間がかかります……。
 その状況なので、システムがかなり複雑になります。
 頭のよい科学者はその複雑なシステムを「PID」という3つのパラメーターに簡単化しました。それぞれの意味はとても複雑なので、ここでは説明しません。
APM設定値の調整:
 PID設定値を変更する場合、まず3つのパラメーターを「ゼロ」に変更したほうがいいと思います。そして、「P」の数字を少しずつ調整して、反応が大きすぎたら、15%くらい減らしてみます。次は「I」の数字です。上記と同じように調整して、反応が大きすぎたら、15%くらい減らしてみます。最後は「D」の数字を調整します。
 調整に時間がかかるので、根気よくやり続けましょう。
 初心者の場合、その調整はちょっと無理です。機体を飛ばすこともできないので、調整オーバーかどうかの判断はもちろん無理です。
 経験者でも、飛行→着陸→パソコンにつながる→設定値調整→また飛行→……と何十回もやっても大変なことです。YoutubeでPID値調整のよい方法を探してみましょう。実は筆者も、その調整を完璧に終了したことがないです。
 初心者が設定値調整をする時、機体を吊り下げて、自由に移動可能なようにして、PID設定値をゆっくり調整するという方法も、ほかの文章で見たことがありますが、面倒くさそうで、やったことがありません。
 新バージョンのファームウェアが出た後、APMはオート調整機能を搭載するようになりました。ユーザーにとっては、もちろんいい話です。調整方法は下記のようになります。
APM設定値自動調整機能:
 その機能を使うのは、6チャンネル以上のプロポが必要となります。ここでFrsky X9Dを例として説明します。2つのオスコネクター付サーボコードを1本用意しましょう。まず、受信機のチャンネル6を、APMの7に接続します。(APMの6ではなくて、7ですよ!要注意!)
 次、プロポの「MIX」に入って、チャンネルを新規作成して、X9Dのメインメニューで「MENU」を1回押して、「PAGE」を5回押すと、「MIXER」に入ります。
 今はチャンネル1~5にだけ名称がありますが、その中のチャンネル5は「06-ソフト設定方法について編」ですでに紹介したものです。
 「-」を押して「CH6」を選択して、「ENT」を押すと、「INSERT MIX CH6」に入ります。
 すると、「Source S2」の「S2」が選択されるようになります。
 「ENT」を押して、「SF」が出るまで「-」を何回も押します。そして「EXIT」を押して、メインメニューに戻ります。
 設定終了の画面は下のようになります。
 「SF」(右手の2段スイッチ)で操作するように設定しました。新規作成のチャンネルなので、校正が必要です。ここで、APMをパソコンにつなげて、MP(Mission Planner)を開きます。「INITAL SETUP」→「Mandatory Hardware」→「Radio Calibration」に入って、プロポを再校正します。
プロポの校正について:
 チャンネルを新規作成した時や、新送信機・新受信機に交換した時、プロポを再校正する必要があります。
「INITAL SETUP」→「Mandatory Hardware」→「Radio Calibration」に入って校正します。校正方法は「06-ソフト設定方法について編」ですでに紹介したので、その部分の説明を参考してください。
下の画像のところで、CH5の1つのフライトモードを高度固定飛行モード(AltHold)に設定して、「SAVE MODE」をクリックします。
 「CONFIG/TUNING」→「Extended Turning」に入って、CH7のモードを「AUTO TURN」に変更して、「Write Params」をクリックします。
 APMのチャンネル6は自動調整機能に対応しないので、受信機の6をAPMの7につなげるわけです。
 準備終了後、下の動画(英語・中国語字幕付き)を参考に設定してください。
 設定終了後、設定値自動調整機能(CH7)をオフにしないでください。オンのままでは、機体を飛ばして着陸して、モーターを止めたら、設定値が自動的にセーブされます。モーターを止める前にオフにしてしまうと、設定値がセーブされません。要注意です。
 上記のように設定終了後、風のないもしくは風の弱い時に機体を飛ばせば、機体は最高の安定性を見せます。
 初心者だったらどうすればいいですか。MPが提供してくれる設定値を使って、まず飛行練習をしたほうがいいと思います。操作に慣れた後に設定値自動調整を行ったほうがやりやすいです。
 ここで、よく使われるほかの設定や機能を紹介します。
=振動状態の測定=
 一般的に、駆動力のある機械には振動が生じますが、オートパイロット装置にとって、振動がそのセンサーの正確度に大きく影響します。振動が大きすぎると、機体の本当の姿勢が感知できなくなるので、振動が大きいほど、安定性が低減するわけです。
 マルチコプターは、プロペラやモーターのアンバランス状態のせいで振動が生じることがあります。それが知らず、PID設定値の調整や重力加速度装置、電子コンパスの校正で問題解決を図る人もいますが、振動が大きすぎる場合、いくら校正をしても振動問題が解決できません。
 APMがデータ伝送機能を搭載していれば、飛行データをすべて記録されるので、下記のようにデータを読み込んで、モーターやプロペラをバランス状態にして、もしくは防振装置を取り付けて、振動を低減します。
 飛行が終了した後、「Mission Planner」と機体のつながりを切って、「FLIGHT DATA」の左下の「Telemetry Logs」を開きます。
 「Tlog > Kml or Graph」をクリックすると、「Mavlink Log Graph」のツールが出てきます。
 「Graph Log」を選択して、ファイルを選択します。飛行データは「C:Program Files (x86)Mission PlannerlogsQUADROTOR1」に、時間順で保存されます。
 一番新しいファイルを開きます。
 そうすると、「Graph This」が出てきます。「RAW_IMU」の下の「xacc」「yacc」「zacc」にチェックを入れます。
 すると、「Mavlink Log Graph」のところには、さっきチェックを入れた項目のデータが表示されるようになります。
 一部分のデータを拡大表示することが可能です。マウスの左ボタンを押したままでドラッグすればいいです。右下のボタンで全画面表示にすることや、マウスホイールで拡大/縮小することも可能です。
データの読み込みについて、APMサイト(http://copter.ardupilot.com/wiki/ac_measuringvibration/)ではAPMメモリーでデータを保存します。それは、筆者のやり方とちょっと違うので、出てくるデータもちょっと違いますが、「±3」の差だけだと思います。興味のある人はご自分で研究してみてください。
=オートリターンツーホームの設定値=
 オートリターンツーホームモードを使ったことがありますか。そのモードの下記の設定値を調整してみましょう。
関連設定値(「CONFIG/TUNING」→「Standard Params」)
RTL Altitude:リターンの時の高さ
1500(cm)
RTL Final Altitude:リターン最終の時の高さ
0(着陸)
RTL loiter time:地面に降りるまで、リターンポイントの空中で旋回する時間
50000(ms)
=フェイルセーフ=
 要注意なポイントです。この機能はプロポが提供するもので、受信機に電波が届かなくなった場合、APMは自動的にある設定値に切り替える機能です。
 無人機が目視出来ないところに行ってしまうことがよくあります。X9Dを使って、障害物のない空き地で飛ばして、5キロメートル以上の制御距離が実現する人もいますが、どんな状況でも、フェイルセーフ機能をちゃんと設定しておいたほうがいいです。
方法1:
 下の動画を参考に、X9Dの「failsafe」を「No pulese」に設定します。そうすると、受信機に電波が届かなくなった場合、信号を出力しなくなります。
「INITIAL SETUP」→「Mandatory Hardware」→「FailSafe」に入って、右の「FS Pwm」で975以下の数字に設定します。そうしたら、プロポをオフにすると、CH3の数字が「900」になります。それは、CH3が信号を出力しなくなることです。
関連設定値(「CONFIG/TUNING」→「Standard Params」):
Battery Failsafe Enable:電池残量が低すぎる時の動作。
Land(着陸)
GroundStationFailsafeEnable:地面からの電波が届かなくなった時の動作。
Disable(無反応)
GPS Failsafe Enable:GPS信号がなくなった時の動作。
Land(着陸)
ThrottleFailsafeEnable:スロットル信号がなくなった時の動作。(プロポからの信号が一切届かなくなった時)
Enable always RTL(リターンツーホーム)
Throttle Failsafe Value:スロットル信号がなくなった状況。
975以下の数字に設定します。
方法2:
 受信機に電波が届かなくなった時、スロットル50%、リターンツーホームモードに切り替えるように設定します。その方法はMissionPlannerを使う必要がないので、より便利かもしれません。
 下はX9DとX8Rのフェイルセーフ機能の設定方法案内動画です。セリフが英語ですが、画面の動作に従って設定すればいいです。CH5を「RTL(リターンツーホーム)」に設定すること、忘れないでください。

自作無人飛行機作り方ガイド(10-カメラジンバル)

これからは皆さんが一番気になる、空中撮影機材について紹介しようと思います。空中撮影機材には、無線映像伝送システムとカメラジンバルという2つの部分があります。
 APM自身はジンバル設備に対応します。関連情報はこちらのページを参考してください。
 APMの情報には下記の3種類のジンバルを紹介されています。
  • Servo based gimbal
  • Tarot 2-axis brushless gimbal
  • VRGimbal 3-axis brushless gimbal
 1つ目はRCサーボで制御するジンバルです。その長所は大型カメラを搭載可能で、重心位置の正しさからの影響が小さいことですが、その短所は反応がより遅く、作動の時騒音がすることです。その補正機能が悪くありませんが、ブラシレスジンバルが登場した後、そのサーボ式ジンバルがあまり使われないようになりました。なので、そのタイプのジンバルの紹介はこれで終了します。
 2つ目のジンバルは今流行っているブラシレスジンバルです。APMサイトで紹介するものは、TAROTがGOPROカメラに対応するために設計したブラシレスジンバルです。値段が手頃で、設定方法も簡単な製品です。
 そのブラシレスジンバルを購入したい人は、オンラインホビーショップで探せば見つかると思います。
 設定済みの製品なので、電源につなげたら使用できます。飛行中で撮影角度を調整する場合、プロポの空いているチャンネルをジンバル制御に使えばいいです。
 3つ目は筆者もよく分かりません。オープンソース製品だと分かりますが、あまり使われていないようです。
=ブラシレスジンバルの由来=
 ここで、カメラジンバルの発展史を紹介していこうと思います。
 APMオープンソースプロジェクトでは、もともとRCサーボを採用されていました。オートパイロットシステムで演算する時、機体の姿勢を計算してから、2つ~3つのサーボで姿勢補正をします。それはカメラステディカムみたいな構造となります。機体がどのように移動しても、どのように曲げても、カメラで撮った画面が安定状態の画面です。カメラジンバルはオートパイロット装置から発展したものと言っても過言ではありません。
 1~2年前に、ドイツ人があるオープンソースプロジェクト(情報サイト:http://brushlessgimbal.de/)を始めました。そのオープンソースプロジェクトから生産されたものは素晴らしい性能が実現するので、中国メーカーはそれに似ている製品を開発しはじめました。そのオープンソースプロジェクトからのものだと言っていませんが、最初の製品に同じようなバッグがあることから、いくつかのメーカーの製品はそのオープンソースプロジェクトを参考に開発したものだと考えられています。(オープンソースプロジェクトの声明では、当プロジェクトのソースコードを使って製品生産する場合、その製品のソースコードを公開する義務があると書いていますが、その声明に従って、ソースコードを公開するメーカーが少ないでしょう)。
 Free Fly System(http://www.freeflysystems.com/)というメーカーにもそれに似ている製品がありますが、UIが大きく違っています。
 そのほか、クローズドソース製品を開発して、中国会社に製品特許を売り出すメーカーがあります。もともとは「SimpleBGC」という会社名ですが、今は「BASE CAM」(http://www.basecamelectronics.com/)に変更しました。設計者はロシア人のようです。彼が開発した製品は、ドイツ版のものの問題を解決したし、操作画面がある無人機プロジェクトのほうによく似ているので、確かに独自開発されたものだと思われます。
 ドイツのオープンソースプロジェクトは最初、ロシアのそのオープンソースプロジェクトと競争しているように見えますが、ロシア版のものはアップデートがドイツ版より速く進んでいるので、ドイツ版もハードウェア部分でだんだんロシア版と一致するようになりました。
 今市販のブラシレスジンバルコントローラーは、ハードウェア部分では基本的に、ドイツ版にもロシア版にも対応するようになっているはずです。
 ブラシレスジンバルには騒音があまりしないという長所があるので、空撮設備以外、手持ち式カメラステディカムにも応用されています。
 しかし、ブラシレスジンバルには大きい問題があります。それはトルクが小さいことです。トルクが小さいため、カメラの重心位置の正しさからの影響が大きいです。調整しやすくするために、1種類のカメラ・レンズにだけ対応するように設計されます。いろいろなサイズのカメラに対応するものは、設定値やカメラ重心位置の調整が必要となります。その調整方法はAPMとほぼ同じく、「P」「I」「D」「モーター出力」という4つのパラメーターで調整します。その調整も長い間の勉強と研究がいります。
 これからの文章では、APMがすすめる、TAROTさんの2軸ジンバルを使って説明します。手元にテスト用のTAROT 2軸ジンバルがないので、写真ではオープンソース製品を使いますが。
 TAROT 2軸ジンバルをすすめる理由といえば、手頃な値段に素晴らしい性能を持っていて、しかもAPMからすすめるものだからです。
 ファームウェアの書き込みや配線、設定値調整など、自作ジンバルの作り方については、今後時間があったらまた紹介しようと思いますが、ここでは、すぐ使えるもので説明します。
 このジンバルを取り付けるには、下記のものが必要になります。
  • F450のランディングスキッド
  • ジンバル
 ランディングスキッドの取り付けについて、写真を参照に、ネジを締めれば完成です。ジンバルは機体の下に固定されるため、ランディングスキッドで機体の高さを増やさないとだめです。
 ランディングスキッドをつけたら、機体の重量が重くなるので、同じ飛行時間にするために、Tタイプコネクターがついているパラレルコードを使って、2つのバッテリーを搭載しなければなりません。(例:飛行時間はもともと10~12分間で、ランディングスキッドとバッテリーを追加すると15~16分間になります。さらにジンバルを追加すると、また10~12分間に戻ります)
 ジンバルの取り付けはやや複雑です。ポイントはジンバルを機体に固定する方法ですが、実は取り付け穴にネジで固定すればいいということです。取り付け穴がない場合は自分で穴を開けましょう。ナイロンケーブルで固定するのも1つの方法です。
 固定終了の様子は、こちらの動画を参考しましょう。
 ジンバルの電源端子やコントロール端子の接続について、こちらの説明(中国語)を参考してください。
 電源供給について、TAROTさんは独立バッテリーを使うのがおススメです。筆者もそのほうがいいと思っています。映像伝送装置も安定的な電源供給が必要となります。機体電源を使う場合、ノイズ問題が生じる可能性があるので、独立バッテリーから電源供給するようにしたほうがいいと思います。
 TAROTのジンバルの使用方法が簡単だし、取扱説明書もあるので、説明はこれで終了します。