まえがき
最近ドローンエンジニア会議なるものが開催され、X(旧Twitter)に会場の様子がポストされていました
それを見て率直に楽しそう!次またあれば参加したいなと思いました。
同じ方向性の会として、ドローンエンジニア養成塾も長く活動されています
どちらもドローンの自動操縦について勉強する会で、主にArdupilotを用いた機体を作成している模様です。
このArdupilot、最近各地で開催され話題のドローンショーの機体に採用されていたり
最近活用が進んでいるような空気を感じました
そんなこんなで、もし今後会議や養成塾に参加した時や、単純に面白い機体を作成したくなった時のために、
Ardupilotの機体を作れるようになっておこう!!と思い立ち、作成に取り組みました。本記事はその覚え書きです
筆者のスキル(=想定読者スキル)
- いくつかのセンサーを伴ったBetaflightの自作機体を作成できる
- Betaflightの設定が一通りできる。センサーの設定をやったことがある
- ELRSレシーバーのファーム更新とバインドができる
一旦機体を作成する
適当に機体を作成します。Ardupilot対応FCを選んで使いましょう
- 今回は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用設定ソフト
ファーム書き込み
- ファームウェアはここで配布されている。アップデート時は個別のFC向けのファームウェアファイルを毎度ダウンロードしてくる
- Flywoo GOKU GN 745 AIOを使っているので、対象ファームは
FlywooF745
の名前の物を選んだ - 初回は、
with_bl.hex
ファイルをbetaflightなどのファームフラッシャーで書き込む - アップデートは
.apj
ファイルをMission Plannerのファームウェアインストール Leg..
のカスタムファームウェアの選択
より選んで書き込む
機体初期設定
基本の流れは公式サイトマニュアル
ただ読んでてわかりづらいため、以降に自分が行った作業ステップを記述する
必須ハードウェア-フレームタイプ
- Mission Plannerの上部メニュー
初期設定
をクリック -
必須ハードウェア
のメニューを選択 -
フレームタイプ
のメニューを選択 - 通常のドローンの構成では4ローターの図を選び、
'X'
のラジオボタンにチェックを行う
必須ハードウェア-Accel Calibration
- Mission Plannerの上部メニュー
初期設定
をクリック -
必須ハードウェア
のメニューを選択 -
Calibrate Accel
ボタンを押す - ちょっと待つとボタンの下にメッセージが出てくる
- メッセージに対応した姿勢にFCを傾け、
Calibrate Accel
ボタンの位置のボタンを再度押す - 次のメッセージが出てくるので、再度姿勢を変えてボタンを押す。最後まで繰り返す
- キャリブレーションが完了する
- 姿勢の説明図はここを参照
必須ハードウェア-Initial Tune Parameter
※Accel Calibration
を先にやってから実施する
- Mission Plannerの上部メニュー
初期設定
をクリック -
必須ハードウェア
のメニューを選択 -
Initial Tune Parameter
のメニューを選択 - 作成した機体に合わせて数値を設定し、
Calculate Initial Parameters
ボタンをクリック - 計算された値が出てくるので、
Write to FC
ボタンをクリック
オプションハードウェア-モーターテスト
- Mission Plannerの上部メニュー
初期設定
をクリック -
オプションハードウェア
のメニューを選択 -
モーターテスト
のメニューを選択 - モーターABCDのテストボタンを押し、モーターの位置と回転方向を整える
- 正解
モーター | 位置 | 回転方向 |
---|---|---|
A | 右前 | CCW |
B | 右後 | CW |
C | 左後 | CCW |
D | 左前 | CW |
- 位置が合わない場合
モーターのポートの割り当てを変更する(BetaFlightのリソースリマッピング相当)
必須ハードウェア-Servo Output
の1から4のFunction、Motor1~Motor4のタブを選んで変更できる
- 回転方向が合わない場合
ESCの設定ソフトで反転を行う。
まずESCのパススルーを有効にする
- Mission Plannerの上部メニュー
設定/調整
をクリック -
フルパラメータ ツリー
よりSERVO
の項目のツリーを開く -
SERVO_BLH_AUTO
の値を1
にする
次にBLHeliSuite32
と接続し、モーター回転方向を調整する。
ESCファームバージョンが合うように注意。
(参考)モーター位置合わせをフルパラメータ ツリーから行う方法
(※手順が面倒なのでこの方法でやらなくてよい)
必須ハードウェア-Servo Output
で調整する以外に、ポート番号を直接書き換える方法もある
情報ソース
- ポート割り当て番号の正解
モーター位置 | ポート番号 |
---|---|
右前 | 33 |
右後 | 36 |
左後 | 34 |
左前 | 35 |
- Mission Plannerの上部メニュー
設定/調整
をクリック -
フルパラメータ ツリー
より、SERVOn
(nは数字)の項目のツリーを開き、SERVOn_FUNCTION
の項目の数値を調整する - モーター4つの割り当てはおそらく
SERVO1
,SERVO2
,SERVO3
,SERVO4
にあるはず
(事前知識)フルパラメータで扱うSERIALの番号について
- 0:USB
- 1~:各UART
レシーバーの接続
- 予めBetaflightFCのパススルーなどでELRSを更新・プロポとレシーバーのバインドを済ませたレシーバーを使うと楽。
ELRSレシーバーをFCにつなげる
TX2/RX2にはんだ付けした場合、Mission Plannerでの設定手順は以下
- Mission Plannerの上部メニュー
設定/調整
をクリック -
フルパラメータ ツリー
を開く -
SERIAL2
の項目のツリーを開き、SERIAL2_PROTOCOL
の値を23
にする(レシーバーを付けてFC・レシーバーの電源を入れた場合、自動で設定されているので確認のみで良い。違ったら23が設定されているポートは2
などにし、レシーバーのシリアルポートに本値23
を入れる) -
SERIAL2
の項目のツリー内、SERIAL2_BAUD
の値を115
にする -
RC
の項目のツリーを開き、RC_OPTIONS
の値をクリック。ダイアログが立ち上がり、Use 420kbaud for ELRS protocol
とSuppress CRSF mode/rate message for ELRS systems
を選択する(ほかのは選択を解除) -
RSSI
の項目のツリーを開き、RSSI_TYPE
の値を3
にする
フライトモードの選択スイッチの設定
アングル・アクロ・自動航行などの選択スイッチの割り当てを行う
※レシーバーがバインドされ、Mission Planner上でプロポからの操作がFCで受け付けられていること
- プロポの電源を入れ、レシーバーの電源をいれバインドされている状態にする
- Mission Plannerの上部メニュー
初期設定
をクリック -
必須ハードウェア
のメニューを選択 -
ラジオキャリブレーション
のメニューを選択 - フライトモード選択スイッチに割り当てたいチャンネル番号を、プロポのボタンを操作して特定する
- Mission Plannerの上部メニュー
設定/調整
をクリック -
フルパラメータ ツリー
を開く -
FLTMODE_CH
の値を割り当てたいチャンネル番号
にする - Mission Plannerの上部メニュー
初期設定
をクリック -
必須ハードウェア
のメニューを選択 -
フライトモード
のメニューを選択 - フライトモード選択スイッチを操作し、操作に応じてプルダウンメニューのフォーカスが移ることを確認する
- 操作してフォーカスを移すことができるプルダウンより、割り当てたいフライトモードを選択する
バッテリーフェイルセーフ閾値
バッテリー電圧1次閾値を設定する
アーム許可閾値、2次閾値は解除する
- Mission Plannerの上部メニュー
初期設定
をクリック -
必須ハードウェア
のメニューを選択 -
フェイルセーフ
のメニューを選択 -
電池
セクションの値を使用するバッテリーの電圧・容量に応じて調整する。 - Mission Plannerの上部メニュー
設定/調整
をクリック -
フルパラメータ リスト
を開く -
BAT_ARM_VOLT
の値を0
にする -
BAT_CAPACITY
の値を使っているバッテリーの容量
にする -
BAT_CRT_VOLT
の値を0
にする
Armスイッチ設定
アーム/ディスアームはスロットル0+ヨー右5秒/ヨー左2秒でも行えるが、プロポのスイッチに割り当てることもできる
- プロポの電源を入れ、レシーバーの電源をいれバインドされている状態にする
- Mission Plannerの上部メニュー
初期設定
をクリック -
必須ハードウェア
のメニューを選択 -
ラジオキャリブレーション
のメニューを選択 - アームスイッチに割り当てたいチャンネル番号を、プロポのボタンを操作して特定する
- Mission Plannerの上部メニュー
設定/調整
をクリック -
フルパラメータ ツリー
を開く -
RCn
(nはアームスイッチに割り当てたいチャンネル番号)のツリーを開き、RCn_OPTION
の値を153
にする
プロポからの信号調整
スティック操作と逆に機体が動く場合
- Mission Plannerの上部メニュー
設定/調整
をクリック -
フルパラメータ ツリー
を開く
1.RCn
(nはスティック操作のチャンネル)の項目のツリーを開き、RCn_REVERSED
の値を1
にする
必須ハードウェア-コンパス
コンパスのキャリブレーションを行う
機体を手で持って回転させるため、ノートパソコンなどでやるとよい
- Mission Plannerの上部メニュー
初期設定
をクリック -
必須ハードウェア
のメニューを選択 -
コンパス
のメニューを選択 - コンパスモジュールがリストに出現していることを確認
- Onbord Mag Calibrationメニュー、
Fitness
をRelaxed
に -
Start
ボタンを押下、ダイアログを閉じ、Mag1のゲージを貯める - ゲージのため方はAccel Calibrationの6姿勢それぞれで機体を縦を軸に360度回転させる(DJI機のキャリブレーションをイメージする)
飛行!
- 機体にバッテリーをつなげ、地面に置く
- フライトモードは
Stab
- 各種センサーの公正を待つ
- 準備ができたらアームスイッチを押す
- アームスイッチを押した5秒後にモーターが回転する
- テイクオフ!
以上、お疲れ様でした