LoginSignup
3
1

Ardupilotドローン制作 ~ホバリングチェックまで~

Last updated at Posted at 2023-08-22

まえがき

最近ドローンエンジニア会議なるものが開催され、X(旧Twitter)に会場の様子がポストされていました
それを見て率直に楽しそう!次またあれば参加したいなと思いました。

同じ方向性の会として、ドローンエンジニア養成塾も長く活動されています

どちらもドローンの自動操縦について勉強する会で、主にArdupilotを用いた機体を作成している模様です。
このArdupilot、最近各地で開催され話題のドローンショーの機体に採用されていたり
最近活用が進んでいるような空気を感じました

そんなこんなで、もし今後会議や養成塾に参加した時や、単純に面白い機体を作成したくなった時のために、
Ardupilotの機体を作れるようになっておこう!!と思い立ち、作成に取り組みました。本記事はその覚え書きです

筆者のスキル(=想定読者スキル)

  • いくつかのセンサーを伴ったBetaflightの自作機体を作成できる
  • Betaflightの設定が一通りできる。センサーの設定をやったことがある
  • ELRSレシーバーのファーム更新とバインドができる

一旦機体を作成する

適当に機体を作成します。Ardupilot対応FCを選んで使いましょう

Ardupilot.png

  • 今回はFlywoo GOKU GN 745 AIO with 40A ESCを使用
    • ESCはBlHeri32
    • BMP280気圧センサー内蔵
  • 各種パーツ
    • Foxeer M10Q 120 GPS 5883 Compass(GPSとコンパスの複合で現在最軽量パーツ?)
    • BetaFPV ELRS lite Receiver(レシーバー)
    • 適当なモーター・プロペラ・フレーム
    • 適当なVTX・FPVカメラ。VTXの電源はコネクタにした(多分設定作業が長いのでVTXの電源を切りたい)

PC用設定ソフト

Mission Planner

ファーム書き込み

  • ファームウェアはここで配布されている。アップデート時は個別のFC向けのファームウェアファイルを毎度ダウンロードしてくる
  • Flywoo GOKU GN 745 AIOを使っているので、対象ファームはFlywooF745の名前の物を選んだ
  • 初回は、with_bl.hexファイルをbetaflightなどのファームフラッシャーで書き込む
  • アップデートは.apjファイルをMission Plannerのファームウェアインストール Leg..カスタムファームウェアの選択より選んで書き込む

機体初期設定

基本の流れは公式サイトマニュアル
ただ読んでてわかりづらいため、以降に自分が行った作業ステップを記述する

必須ハードウェア-フレームタイプ

  1. Mission Plannerの上部メニュー初期設定をクリック
  2. 必須ハードウェアのメニューを選択
  3. フレームタイプのメニューを選択
  4. 通常のドローンの構成では4ローターの図を選び、'X'のラジオボタンにチェックを行う

必須ハードウェア-Accel Calibration

  1. Mission Plannerの上部メニュー初期設定をクリック
  2. 必須ハードウェアのメニューを選択
  3. Calibrate Accelボタンを押す
  4. ちょっと待つとボタンの下にメッセージが出てくる
  5. メッセージに対応した姿勢にFCを傾け、Calibrate Accelボタンの位置のボタンを再度押す
  6. 次のメッセージが出てくるので、再度姿勢を変えてボタンを押す。最後まで繰り返す
  7. キャリブレーションが完了する
  • 姿勢の説明図はここを参照

必須ハードウェア-Initial Tune Parameter

Accel Calibrationを先にやってから実施する

  1. Mission Plannerの上部メニュー初期設定をクリック
  2. 必須ハードウェアのメニューを選択
  3. Initial Tune Parameterのメニューを選択
  4. 作成した機体に合わせて数値を設定し、Calculate Initial Parametersボタンをクリック
  5. 計算された値が出てくるので、Write to FCボタンをクリック

オプションハードウェア-モーターテスト

  1. Mission Plannerの上部メニュー初期設定をクリック
  2. オプションハードウェアのメニューを選択
  3. モーターテストのメニューを選択
  4. モーターABCDのテストボタンを押し、モーターの位置と回転方向を整える
  • 正解
モーター 位置 回転方向
A 右前 CCW
B 右後 CW
C 左後 CCW
D 左前 CW
  • 位置が合わない場合

モーターのポートの割り当てを変更する(BetaFlightのリソースリマッピング相当)
必須ハードウェア-Servo Outputの1から4のFunction、Motor1~Motor4のタブを選んで変更できる

  • 回転方向が合わない場合

ESCの設定ソフトで反転を行う。

まずESCのパススルーを有効にする

  1. Mission Plannerの上部メニュー設定/調整をクリック
  2. フルパラメータ ツリーよりSERVOの項目のツリーを開く
  3. SERVO_BLH_AUTOの値を1にする

次にBLHeliSuite32と接続し、モーター回転方向を調整する。
ESCファームバージョンが合うように注意。

(参考)モーター位置合わせをフルパラメータ ツリーから行う方法

(※手順が面倒なのでこの方法でやらなくてよい)
必須ハードウェア-Servo Outputで調整する以外に、ポート番号を直接書き換える方法もある
情報ソース

  • ポート割り当て番号の正解
モーター位置 ポート番号
右前 33
右後 36
左後 34
左前 35
  1. Mission Plannerの上部メニュー設定/調整をクリック
  2. フルパラメータ ツリーより、SERVOn(nは数字)の項目のツリーを開き、SERVOn_FUNCTIONの項目の数値を調整する
  3. モーター4つの割り当てはおそらくSERVO1,SERVO2,SERVO3,SERVO4にあるはず

(事前知識)フルパラメータで扱うSERIALの番号について

  • 0:USB
  • 1~:各UART

レシーバーの接続

  • 予めBetaflightFCのパススルーなどでELRSを更新・プロポとレシーバーのバインドを済ませたレシーバーを使うと楽。

ELRSレシーバーをFCにつなげる
TX2/RX2にはんだ付けした場合、Mission Plannerでの設定手順は以下

  1. Mission Plannerの上部メニュー設定/調整をクリック
  2. フルパラメータ ツリーを開く
  3. SERIAL2の項目のツリーを開き、SERIAL2_PROTOCOLの値を23にする(レシーバーを付けてFC・レシーバーの電源を入れた場合、自動で設定されているので確認のみで良い。違ったら23が設定されているポートは2などにし、レシーバーのシリアルポートに本値23を入れる)
  4. SERIAL2の項目のツリー内、SERIAL2_BAUDの値を115にする
  5. RCの項目のツリーを開き、RC_OPTIONSの値をクリック。ダイアログが立ち上がり、Use 420kbaud for ELRS protocolSuppress CRSF mode/rate message for ELRS systemsを選択する(ほかのは選択を解除)
  6. RSSIの項目のツリーを開き、RSSI_TYPEの値を3にする

(参考)

フライトモードの選択スイッチの設定

アングル・アクロ・自動航行などの選択スイッチの割り当てを行う
※レシーバーがバインドされ、Mission Planner上でプロポからの操作がFCで受け付けられていること

  1. プロポの電源を入れ、レシーバーの電源をいれバインドされている状態にする
  2. Mission Plannerの上部メニュー初期設定をクリック
  3. 必須ハードウェアのメニューを選択
  4. ラジオキャリブレーションのメニューを選択
  5. フライトモード選択スイッチに割り当てたいチャンネル番号を、プロポのボタンを操作して特定する
  6. Mission Plannerの上部メニュー設定/調整をクリック
  7. フルパラメータ ツリーを開く
  8. FLTMODE_CHの値を割り当てたいチャンネル番号にする
  9. Mission Plannerの上部メニュー初期設定をクリック
  10. 必須ハードウェアのメニューを選択
  11. フライトモードのメニューを選択
  12. フライトモード選択スイッチを操作し、操作に応じてプルダウンメニューのフォーカスが移ることを確認する
  13. 操作してフォーカスを移すことができるプルダウンより、割り当てたいフライトモードを選択する

バッテリーフェイルセーフ閾値

バッテリー電圧1次閾値を設定する
アーム許可閾値、2次閾値は解除する

  1. Mission Plannerの上部メニュー初期設定をクリック
  2. 必須ハードウェアのメニューを選択
  3. フェイルセーフのメニューを選択
  4. 電池セクションの値を使用するバッテリーの電圧・容量に応じて調整する。
  5. Mission Plannerの上部メニュー設定/調整をクリック
  6. フルパラメータ リストを開く
  7. BAT_ARM_VOLTの値を0にする
  8. BAT_CAPACITYの値を使っているバッテリーの容量にする
  9. BAT_CRT_VOLTの値を0にする

Armスイッチ設定

アーム/ディスアームはスロットル0+ヨー右5秒/ヨー左2秒でも行えるが、プロポのスイッチに割り当てることもできる

  1. プロポの電源を入れ、レシーバーの電源をいれバインドされている状態にする
  2. Mission Plannerの上部メニュー初期設定をクリック
  3. 必須ハードウェアのメニューを選択
  4. ラジオキャリブレーションのメニューを選択
  5. アームスイッチに割り当てたいチャンネル番号を、プロポのボタンを操作して特定する
  6. Mission Plannerの上部メニュー設定/調整をクリック
  7. フルパラメータ ツリーを開く
  8. RCn(nはアームスイッチに割り当てたいチャンネル番号)のツリーを開き、RCn_OPTIONの値を153にする

RC_OPTION設定値の詳細

プロポからの信号調整

スティック操作と逆に機体が動く場合

  1. Mission Plannerの上部メニュー設定/調整をクリック
  2. フルパラメータ ツリーを開く
    1.RCn(nはスティック操作のチャンネル)の項目のツリーを開き、RCn_REVERSEDの値を1にする

必須ハードウェア-コンパス

コンパスのキャリブレーションを行う
機体を手で持って回転させるため、ノートパソコンなどでやるとよい

  1. Mission Plannerの上部メニュー初期設定をクリック
  2. 必須ハードウェアのメニューを選択
  3. コンパスのメニューを選択
  4. コンパスモジュールがリストに出現していることを確認
  5. Onbord Mag Calibrationメニュー、FitnessRelaxed
  6. Startボタンを押下、ダイアログを閉じ、Mag1のゲージを貯める
  7. ゲージのため方はAccel Calibrationの6姿勢それぞれで機体を縦を軸に360度回転させる(DJI機のキャリブレーションをイメージする)

飛行!

  1. 機体にバッテリーをつなげ、地面に置く
  2. フライトモードはStab
  3. 各種センサーの公正を待つ
  4. 準備ができたらアームスイッチを押す
  5. アームスイッチを押した5秒後にモーターが回転する
  6. テイクオフ!

以上、お疲れ様でした

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1