自作無人飛行機作り方ガイド(07-初めて飛行の準備とガイド)

前回の文章の説明では、飛行可能なパラメーターをAPMに書き込んでおく必要があると説明しましたが、ここに問題があります。
 初期設定値では飛行安定性がちょっと低いので、飛ばしにくいですが、パラメーター自動調整機能は、まず機体を飛ばさないと機能しません。しかし、一回も飛ばすことのない初心者では、どうすれば安定性の低い機体を飛ばせることができるのでしょうか。
 このシリーズの文章に沿って機体を組み立てた場合、ここで紹介するパラメーターを使えばいいと思います。
 まず、APMをパソコンに接続して、「CONNECT」をクリックします。「CONFIN/TUNING」→「Extended Tuning」に入ります。もし前回の文章のガイドに沿ってパラメーターを書き込んだ場合、下の画像の設定値が出てくるはずです。
 ここで、赤い四角で囲まれた設定値に変更してください。この設定値は筆者自分の機体を飛ばして自動調整を通してできたものです。
 変更終了後、「Write Params」をクリックします。(パラメーター調整は今とばしましたが、後の文章ではより詳しく説明します)
 次に、本番の飛行に入ります。
 初めての飛行の前、最後の確認をします。
 「FLIGHT DATA」に入って、地平線の動きが機体の姿勢に応じて変わるかどうか確認します。
 停止状態/停止状態解除の操作も確認してみてください。停止状態にすると、地平線の上に「DISARMED」が出てきます。
 左のスロットルスティック(今は一番下にあるはずです)を右へ3秒倒して、放します。
 そうすると、「DISARMED」が「ARMED」に変わって、すぐ消えます。それはモーターが作動することを表します(電源に接続していないので、ここでは作動しません)。何も操作しなかったら、また「DISARMED」に変わります。
 上記のように反応することは、設定完成ということです。右上の「DISCONNECT」をクリックして、USBコネクターを抜きます。
 要注意:ここまでのテストは、プロペラがまだ取り付けられていない状態で進めてください。
 次に、スロットルが一番下の状態で、バッテリーに接続します(プロペラは未取り付け)。
 バッテリーにつながると、モーターがピピッと鳴ります。APMのランプが赤・青に点滅して、しばらくすると赤・紫・青に点滅します。
 スロットルを右下に1秒倒したら、赤・青に点滅します。その時、スティックを真ん中に戻します。
 すると、モーターが遅く回ります。スロットルを上へちょっと倒すと、モーターがスピードアップし、下へ倒すと、スピードダウンします。1/3くらいに倒して、機体を目の前に持ちます(怪我しないようにご注意を)。
 機体を前後・左右へ傾けてみると、4つのモーターは回りスピードが自動的に調整されるように見えます。それは、設定に問題がないことです。
 そして、スロットルを一番下にして、左へ3秒倒すと、モーターが止まり、保護状態に入ります。その時、スロットルを操作しても、モーターが作動しません。
 これで、確認作業が終了しました。バッテリーをフル充電して、飛行可能な場所で飛ばしてみましょう。
 ここで、飛行ポイントを紹介します。
  1. バッテリーの飛行可能な時間は10~15分間くらいです。タイマーを使って、もしくは駆動力が弱くなると気づいた時、バッテリーの交換をします。組立手順を簡単にするために、電源モジュールの取り付けはしていないので、今のところ、APMは電池電圧監視機能がまだありません。リポバッテリーの過放電はバッテリーの不可逆的な損害につながります。要注意です。
  2. 風がないもしくは風が弱い時飛ばすこと。
  3. 人が大勢いる場所は遠慮してください。また、人の頭の上を飛ばすことも遠慮してください。
 今、プロペラを取り付けましょう。モーターが正しく取り付けた場合、プロペラの取り付けにも間違いがないはずです。
 まず、スロットルが一番下にあることを確認します。それから
  1. 送信機をオンにします。
  2. リポバッテリーを接続します。その時、ジャイロが自動的に補正します(ランプが赤・青に点滅。その時、機体を動かさないでください)。
  3. 自動チェックが行います。問題がある場合、赤ランプが点滅します。
  4. 飛行モードを「Stabilize」に。
  5. オートバイロット機能(LoiterやRTL、Drift、オート、オートバイロットモードなど)を使いたい場合、GPSの3Dロックが終了するまで、30秒待ってください。APMの青ランプが点滅することは、GPSロックが終了することです。
  6. スロットルを右下へ5秒倒すと、ジャイロセンサーが初期化します。15秒以上倒すと、パラメーター自動調整モードに入ってしまうので、ご注意を。
  7. スロットルをちょっと倒すと、赤ランプが点滅して、プロペラが回ります。プロペラの回りスピードは「MOT_SPIN_ARMED」の設定値で調整可能です。
  8. 本番にスロットルを倒して、機体を飛ばします。
注意:Stabilize、ACRO、AltHold、Loiterという4つ
のモードのみで機体を飛び立たせてください。
注意:スロットルを一番下にして15秒経つと、どのモードにもかかわらず、モーターが自動的に止まります。
 初心者では、まずはスロットルをゆっくり倒して、機体をもうすぐ飛び立たせそうになるまで操作してみてください。(よくある問題:モーターやAPM、プロペラを反対に取り付けてしまったり、間違っているモードに設定してしまったりした場合、スロットルをすると、機体がひっくり返りそうになります。もしそのような状況があったら、機体を手でしっかり持って、スロットルをして操作して、機体の移動方向を感じてみてください。機体の移動方向が操作方向と反対になっている場合、上記のところを確認してください)
 機体が離陸しそうな時、前後・左右へ操作してみてください。最初はどんな操作をしたら機体にどんな動きが出るか、手と目で確認して、機体操作に慣れるまで練習します。
 地面での操作に慣れたら、今回はスロットルをもっと倒して、機体を飛ばしてみてください。
 機体設定に間違いなく、風のない環境で飛ばす場合、APMは空中で浮かんでゆっくり移動して(移動角度は30度以下)、振動もあまりないはずです。すべての操作はゆっくりにしてください。これからの練習目標は、機体を1階くらいの高さにホバリングすることです。もし何か状況が生じた場合、飛行を中止して問題を解決してから飛行を再開するように。
 飛行終了の時、下記の操作をしてください。
  1. 飛行モードをStableやACRO、AltHold、Loiterにします。
  2. スロットルを一番下に、方向スティックを左へ2秒します。
  3. 赤ランプが点滅している時にリポバッテリーを抜きます。
  4. 送信機をオフにします。
要注意:現段階ではStableモードで飛行します。WayPointモードやRTLモードはパラメーター調整がまだ終わっていないので、それらのモードを使うと、機体がなくなるおそれがあります。
よくある問題:風がない環境では、機体の移動方向が不定です。もしある方向だけへ移動しているという状態だったら、重力加速度の校正に失敗したかもしれません。その場合、MPにつながって再校正してください。校正する時、APMを水平に置いていて、画面上の地平線が水平であるかどうか確認してください。もし水平でなかったら、もう一度校正してください。
 上記の手順を終了して、よく練習して、空中で順調に飛行できるようになったら、次は中級飛行の勉強に入ります。
=中級飛行(GPSを使用)=
 APMの飛行モードにはGPSを使うものが多いです。さっき紹介した「WayPointモード」や「RTLモード」もGPSを使うモードです。それらのモードの使用には、まず設定する必要があります。
 APMをパソコンに接続して、「INITIAL SETUP」→「Mandatory Hardware」→「Compass」に入ります。
 これは電子コンパスを設定するための項目です。下の画像の赤い四角で囲まれた部分を見てください。初期状態の「ROTATION_NONE」を「ROTATION_ROLL_180」に変更します。
 それは、電子コンパスの方向の設定です。もし将来、GPSモジュールを反対方向に取り付ける場合、ここの設定を変更する必要があります。
 上の赤い四角のところは、「磁気偏角」の設定です。初期状態は「Auto Dec Dectlination」です。台北にいる人は、ここのチェックを消して、「Degrees」のところに「-5」を入力してください。
 磁気偏角は地域によって違います。日本やほかの国家の人は、ネットで磁気偏角を調べて、もしくは、チェックを入れて自動感知機能を使ってください。
 もし設定画面に中国語があって、ほかの文字に邪魔するようになってしまったら、下の画像のように、言語を英語に変更してみてください(ほかの言語の翻訳がちょっと変なので、英語のほうがいいと思います)。
 下の画面の設定値は変更しなくてもいいですが、ここで、筆者の設定を紹介します。「CONFIG/TUNING」→「Extended Tuning」に入って、下記のように変更します。ここはWayPointモードに切り替える時、APM補正の範囲と強度の設定です。
 設定終了後、風のないもしくは風の弱い日に飛ばしてみましょう。テストの時、下記の注意事項があります。
  1. 電源に接続して、30秒経ってから飛行すること。
  2. 機体を1階以上の高さに飛ばしてから、WayPointモードに切り替えること。WayPointモードに切り替えると、機体が止まっておらず、変な方向へ移動してしまった場合、すぐStableモードに戻して、電子コンパスの設定を確認してください。
 最近台湾の天候がよくないですが、晴れる時飛行動画を撮ろうと思います。
 上記の設定が無事に終了すれば、この組み立て済みの機体はDJI Phantomと同じような機能を持っているものになりました。値段から見れば、かなり得でしょう。
 次の文章では、電源モジュールやデータ伝送モジュールなどの取り付けを紹介しようと思います。DJI製品では、Wookong-MとA2だけ、グランドステーションに対応します。Wookong-Mはフライトコントローラーのみで値段が30000台湾元で、A2は40000台湾元です。グランドステーションはハードウェアで6000~7000元で、ソフトにもいろいろな種類があって……。機体では、S800やS1000を使えば、十何万~何十万元かかります。
 次の文章を読んだら、お手元のUAVの価値が半端でないことを実感するでしょう!

自作無人飛行機作り方ガイド(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(リターンツーホーム)」に設定すること、忘れないでください。