ArduPilot / Pixhawk
※ ArduPilot / Pixhawk は日進月歩で開発が進んでおり情報の最終確認はご自身の判断でお願いいたします。
フライトコントローラ Pixhawk 2.1 と Here3 GPS 購買先 Japan Drones 株式会社様
弊社は上記 Cube(仕様 コネクタのピン割り当て) を基本採用
Cube のカラー別仕様(互いにピン互換性あり)
ブラック:STM32 F427ベースのモデル。ほとんどの用途に適しています(生産・販売終了)
32bit STM32F427 (32bit Cortex M4, 168 MHz, Flash 2MB, RAM 256 KB).
ブルー:米国で製造されたブラックと同性能。価格はブラックの倍 国内販売先
オレンジ :STM32 H7 Cortex-M7。イエローの約2倍の速さ。ADS-B統合した最初のモデル
32bit STM32H743ZI (32bit ARM Cortex M7, 400 MHz, Flash 2MB, RAM 1MB)
イエロー:STM32 F7ベースのモデル。高速CPUを必要とするユーザー向け
32bit STM32F777VI (32bit ARM Cortex M7, 400 MHz, Flash 2MB, RAM 512 KB).
パープル(別名Cube Mini)単一 IMU 気圧計。高さ1cm(ボート/ローバー向け)国内販売先
32bit STM32F427 (32bit Cortex M4, 168 MHz, Flash 2MB, RAM 256 KB).
グリーン:Solo専用(5Vシングル電圧を備える)
CubePilot Cube ADS-B キャリアボード 国内販売先
ソフトウェア Mission Planner ダウンロード先
Windows10 PC への新規インストールには「MissionPlanner-latest.msi」を選択
MissionPlanner 起動時にバージョンアップがあった場合、自動アップデートされます。
地上管制局(GCS)
MissionPlanner :フル機能で広く使用されているGCS Windows Mac OS X(Monoを使用)オープンソース
APM Planner2 :Windows Mac OS X Linux オープンソース
QGroundControl:Windows Mac OS X Linux Android iOS
UgCS :複数ドローンと同時通信して制御可能 Windows Mac OS X Ubuntu 無料ライセンスを所有する独自のライセンス
Tower(DroidPlanner 3)Android Phones and Tablets
SidePilot (iPhone / iPadで動作するArduPilot互換)ライセンス 専有
ブラシレスモータ(プロペラ)+ ESC は、DJI E310 セット品を基本としています。
DJI F450 相当の機体向けパラメーターを イームズロボティクス株式会社 様よりダウンロード可
ワイヤレステレメトリーユニット 2.4GHz 送受信機セット 工事設計認証取得済み イーラボストア様(ヤフーストア)
TELEM1 に接続した場合、SERIAL1_BAUD = 38(38,400bps)
一度 PCと接続した状態で、Pixhawk を再起動しても PC と自動接続されます。
Herelink Video Transmission System
Japan Drones 株式会社様が日本の技適取得され販売されています。2021/7 ~
内蔵アプリ SOLEX と QGroundControl
テレメトリーをTELEM1 に接続した場合、SERIAL1_BAUD = 57(57600 bps)
データ遅延<110ms、伝送距離20KM(地対空)
デュアル画像入力、リアルタイム切り替え:デュアルHDMIビデオ入力、ユーザーはビデオを切り替えることができます
リモートコントローラーを介したソース(同時に1つのビデオソースを表示します)
FCC への登録情報(海外版ですがマニュアル、詳細な技術資料があります)
参考にさせて頂きました日本語サイトの皆様
Pixhawkパラメータ物理詳細|px4メモ px4の設定などなど
Raspberry Piを使用したMAVLinkプロトコルによるドローン用フライトコントローラーPIXHAWKとの通信|暇村工房
MAVlinkについてやってみたこと | CPUを作ろう ~計算機教材とマイコンと電子工作
【APM】ドローン・マルチコプター・RCプレーンのフライトモードの種類と効果|Ailerocket/エルロケット
GPSを使用したローバーの無人運転|有限会社はじめ研究所
ドローンを動かす 実機・Raspberry Pi編|@hsgucci Qiita
RaspberryPi + ArdupilotでDroneを動かしたい(未完)|@Madnyax Qiita
Japan ArduCopter Group 日本に居るDIYDronesのメンバーのグループ
Pixhawk (2.1) CUBE
Cube は防水ではありません。環境が雨や湿気のある場合は、保護を設けてください。
開発の経緯
3DRがPixhawk 2を単体発売をしなかったため、オリジナルハードウェアのデザイナーと有志が世界各地の生産工場と提携して製造、販売
Pixhawkの問題点であった入手性と、劣悪クローンの品質問題を解消することが期待されている
プロセッサ
2つのCPUがありメインCPU(別名FMU)でArduPilotが実行され、MAIN OUTチャネルへ PWM 出力を含む一部のI / Oを担当する独立したI / O CPUあり
FPU付き32ビットARM Cortex M4コア
168 Mhz / 256 KB RAM / 2 MBフラッシュ
32ビットフェイルセーフコプロセッサ
センサー
3つの冗長なIMU(加速度、ジャイロ、コンパス)
冗長性のための3セットのIMUセンサー (2組のIMUは機械的に振動を分離、振動が状態推定に及ぼす影響を軽減)
コンパス内蔵の外付けGPSモジュールが接続されている場合、GPSがコンパス #1。内部コンパスは #2、#3 となります。
外部GPSモジュールが接続されていない場合はコンパス #1、#2 の2つのみ
ArduPilotでは現在、最大3つのコンパスを接続できます。Pixhawk には内部コンパスがありますが、大部分は代わりに外部コンパスを使用します。これは、他の電子機器から分離されているため、内部コンパスよりも信頼性の高いデータを提供します。(コンパス冗長は素晴らしいように聞こえますが、実際にはそのようには機能しません。現在(2018/13)ArduPilotは、コンパスの調子が悪くなったことを検出して拒否し、代わりに別のコンパスを使用するプロセスがありません。そのため、導入するコンパスが多いほど、障害が発生したり混乱したりする可能性が高くなり 、問題を解決するのではなく問題を引き起こす可能性が高くなり ます。ArduPilot 掲示板 36784 意訳)
IMU温度制御:内部を温度制御、IMUの最適な動作温度維持が可能です。Cube内はオンボードの加熱抵抗によって温度制御されます。ArduPilotのデフォルト温度は摂氏60度(BRD_IMU_TARGTEMPを60)に設定されています。
コンパスを正確に設定することは重要です。正確な方位がないと、自動モード(AUTO、LOITER、PosHold、RTLなど)で機体が正しい方向に移動しません。これは「旋回(別名「トイレボウリング」)」または飛び去りにつながる可能性があります。(コンパスエラーによる暴走)
1番目と3番目のIMUとして(加速度およびジャイロ)
2つの冗長MS5611気圧計(baro)
自動フェイルオーバー機能を備えた冗長電源
全周辺出力は過電流保護、全入力はESD保護
インターフェース
14 の PWM サーボ出力(IOから8、FMUから6) Cubu 端子表記と ArduPilot ソフトウェアでの表記の対比
AUX OUT 5(Pin 54)とAUX OUT 6(Pin 55)が “First” (or #0) と “Second” (or #1) リレー出力として設定
S.Busサーボ出力:Futaba SBus / SBus2サーボ対応のシリアルSBusプロトコル(100K baud)
リレー、アクチュエータ、LED、カメラトリガー、スタートボタンなど制御
AUX出力のみがGPIOとして転用でき、BRD_PWM_COUNTパラメーター
Pixhawk はブラシレスモーターESCでいくつかの通信プロトコルをサポート
Normal (標準PWM 1000uS-2000uSパルス幅)
Oneshot
Oneshot125(PWMパルス幅を8で割った値)
DShot150 at 150kbaud (recommended)
DShot300 at 300kbaud
DShot600 at 600kbaud
DShot1200 at 1200kbaud
USB 接続 (Serial0_ ) MAVLink テレメトリを実行
TELEM1(Serial1_)ポートには CTS / RTS 端子あり (JST GH 6PIN)
TELEM2(Serial2_)ポートには CTS / RTS 端子あり (JST GH 6PIN)
GPS1 (Serial3_) (JST GH 8PIN) Here GPS 付属 Button LED 端子
GPS2 (Serial4_) (JST GH 6PIN)
未使用ならGPSでポートで TELEM(MAVLink)として使用可
いくつかのUnixスタイルのコマンドを実行
3系統の電源をサポートしています。
複数の電源が接続されている場合の優先度は、 XT60パワーモジュール > サーボレール > USB入力
電源モジュールは Cube の POWER1 ポートに接続します。 デュアル入力冗長電源もサポートされています。
2番目の電源モジュールをPOWER2に接続して、2つのバッテリーを同時に監視することができます。
Cubeパッケージ内の電源モジュール(Power Brick Mini)は、最大8Sの電圧、30 Aの連続電流、および100Aのバースト電流をサポートします。
Cubuへ供給する5V電源の最大値は、2.5(A)
TELEM1/2 端子から、センサー類の5V電源を供給すると電流不足になる為、別途5V電源を追加します。
Pixhawk (2.1) CUBE 付属のバッテリーモニタ設定(電池容量は機体に使用する容量を入力)
uAvionixの1,090 MHz ADS-Bレシーバーを搭載
新しいADS-Bキャリアボードに搭載可能:Pixhawk Cube Orange(ADS-Bキャリアボード)は、新しいADS-Bキャリアボードに搭載できます。新しい無人システムを搭載した自動操縦装置は、周囲の有人航空機の位置に関する情報を受け取ることができます。位置、高度、速度、IDなどを含む航空機からの情報は、ミッションプランナで表示できます。パラメータ設定により、オプションでキューブを設定して、設定した除外ゾーンで検出した航空機を自動的に回避できるようにすることができます。このADS-B受信機は内部シリアル5ポートに接続されており、Ardupilot、Mission Planner、QGCと互換性があります。SR1_ADSB = 5(5 Hzを意味)運用可能な航空機が約50km以内にあると、MissionPlannerマップに表示されます。
米国(FAA)ドローンの無線ナンバープレートを義務化(2020/12/29)
上記、FAA プレスリリース(英語)2020/12/28
フランス、ドローン位置を送信するWifiトランスポンダー(2020/5/26)
ArduPilot にはDJI フライトコントローラより多くのモードが用意されており、実験的な作動をするモードも有ります。
→ GPSモジュール・GPS信号不要(in non-GPS flight modes)
Acro: スロットルは完全に手動であり、機体の傾斜角は補正されません。オペレーターがスロットルを完全に下げると、モーターは最低速度になります。ON/OFFを切り替えてAcroを簡単に飛行できるようにするAcro Trainerが含まれています。【参考】
Alt Hold: 高度保持モード、現在の高度を維持するようにスロットルが自動的に制御されます。ロール、ピッチ、ヨーは Stabilize と同じように動作します。フライトコントローラは、高度を決定するために気圧計(気圧高度)を使用します。極端な天候のために大気圧が変化している場合、機体は気圧の変化に従い高度保持が不安定になります。LiDARやSONARのような下向きの距離計を追加する事により正確な高度をセンサーの有効限界まで提供します。【参考】
Stabilize:スロットルは手動であり、ロール軸とピッチ軸は自動的に水平にします。可能な場合 Stabilize の代わりに Alt Hold か Loiter を使用すると一度に手動でコントロールをする負担が軽減されます。【参考】
Sport: 【参考】
Land: 機体をまっすぐに降ろしていきます。気圧計を使用して高度を決定します。車両にGPSロックがある場合、着陸コントローラーは水平位置を制御しようとしますが、パイロットはロイターモードと同じように目標水平位置を調整できます。WPNAV_SPEED_DN パラメータで指定された速度で高度10mまで(またはソナーが機体下に何かを感知するまで)降下します。それ以下の高度では機体は LAND_SPEED パラメータで指定された速度で降下します。【参考】
LAND_SPEED_HIGH:着陸の降下速度(cm / s)これがゼロの場合 WPNAV_SPEED_DN が使用
WPNAV_SPEED_DN(高度10mまで、またはソナーが感知するまで)→ LAND_SPEED
LAND_SPEED (デフォルト 50cm/s)
Flow Hold: GPSや下向き Lidar を必要とせず光学式フローセンサーを使用して位置を保持します。パイロットが操作スティックを放すと、オプティカルフローセンサーがオートパイロットによって使用され、機体が停止します。【参考】
Guided_NoGPS: GPSを必要としませんが、姿勢目標を受け入れるだけです。手動操作ではなく、コンパニオンコンピュータによって使用されます。【参考】
→ GPSモジュールの必要・離陸前にGPSロック必須(in GPS modes)
Auto: 機体はナビゲーションコマンド(Wayポイント)と「Do」コマンド(カメラシャッターのトリガーを含む機体位置に影響を与えないコマンド)で構成されたオートパイロットに保存されているプログラム済みのミッションスクリプトに従い飛行をします。【参考】
Circle: 機首が中心を向くようにして、機体の前方 CIRCLE_RADIUS に位置する点を周回します。【参考】
Drift: パイロットはヨー軸とピッチ軸を直接制御できますが、ロール軸はオートパイロットによって制御されます。【参考】
Follow: 機体は指定されたオフセットで別の機体(またはその位置を公開しているもの)の追跡を試みます。機体の先頭は、テレメトリシステムを使用してフォローモードで機体に公開する必要があります。【参考】
Follow Me (GSC Enabled):GUIDEDモードの機体がパイロットを追跡します。これにはGCSが利用できるGPS搭載のラップトップPC(または電話/タブレット)が必要になります。GCSはデバイスからGPSデータを読み取り、2秒ごとに「flytohere」コマンドとして送信、パイロットがGCSを持って歩き回っていることを機体がパイロットを追跡するようになります。 【参考】
Guided: テレメトリーシステムと地上局アプリを使用して、機体を動的に目的の場所に誘導させるモードです。【参考】
Loiter: 自動的に現在位置、方位、高度を維持しようとします。操作スティックが放されると、機体は停止して保持位置まで減速します。複数のGPS衛星を取得して安定したGPSロック、コンパスへの磁気干渉対策が重要です。離陸は GPSに3Dロックがかかり、HDOP(Horizon 位置精度劣化度)が2.0を下回った後に限ります。【参考】 ”CMUcam5”追加によってターゲットの上の位置を維持できます。(IR-Lock)
Pos Hold: Loiterと似て機体は一定の位置、方位、高度を維持しますが、操作スティックの入力が機体の傾斜角を直接制御してより自然な感じを提供します。複数のGPS衛星を取得して安定したGPSロック、コンパスへの磁気干渉対策が重要です。【参考】
Loiter は、動きの遅いショットや360 *パンのような、三脚が必要な場合に最適です。PosHoldは、もう少し制御と速度が必要な移動ショット、また一般的な飛行にも適しています。
高度に関しては Loiter 、PosHold 両方ともスロットルを0まで下げると、気圧計で制御された事前定義された速度で下降します。
RTL (Return-to-Launch): RTLは Home Point に帰還します。つまり ARM した場所に帰ります。RTL_ALTに上昇してから帰還するか、現在の高度を維持します。RTL_ALTのデフォルト値は15m。気圧計のみを使用している場合、機体は高度ではなく気圧の変化を追跡します。【参考】
Smart RTL (Return-to-Launch): RTLと同様にSmart RTLに切り替えると、機体は Home Point に帰ろうとします。この「スマート」とは、直接 Home Point に戻るのではなく、安全な経路を辿ることです。これは、機体と Home Point の間に障害物がある場合に役立ちます。【参考】
Throw:パイロットは機体を空中に投げる(または機体を落下させる)ことでモーターを始動させることができます。 【参考】
ZigZag: 農薬散布など、農場を横切って機体をジグザグに飛ばすことを容易にするよう設計された半自律モードです。【参考】
ARM / DisARM
Stabilize, ACRO, AltHold, Loiter, PosHold モードでのみ ARM / DisARM ができます。【参考】
ARM 前の安全性チェック項目【参考】
Pixhawk 内蔵SDカードにログを保存して問題を診断する【参考】
フェイルセーフ技術について【参考】
フルパラメーターリストでは ”FS_” 異常時にどうするか指定 例) 1:Land 2:AltHold 3:Land even in Stabilize
ラジオフェイルセーフ: 無線機の通信途絶対策
バッテリーフェイルセーフ: バッテリーが指定電圧を10秒間下回るか、推定残量の閾値を下回った場合 RTL, SmartRTL, Land【参考】
BATT_FS_CRT_ACT:重大なバッテリーのフェイルセーフに達した場合に実行するアクション
BATT_FS_LOW_ACT:低電圧バッテリーフェールセーフに達した場合に実行するアクション
GCSフェイルセーフ: 地上局(GCS)との通信途絶対策【参考】
FS_GCS_ENABLE:地上局との接続が少なくとも5秒間失われたときにフェイルセーフを呼び出すかどうか(および実行するアクション)。 GCSフェイルセーフは、機体制御にRC_OVERRIDEが使用されている場合にのみ有効
RC_OVERRIDE:タイムアウト後、RCオーバーライドは使用されなくなり、RC入力が再開され、0はRCオーバーライドを無効にし、-1はタイムアウトせず、無効になるまでオーバーライドの使用を継続します。
EKFフェイルセーフ: 非線形モデルに適用できるよう拡張された、拡張カルマンフィルタ(Extended Kalman Filter, EKF) 状態を監視
FS_EKF_ACTION:EKFフェイルセーフが呼び出されたときに実行されるアクション
FS_EKF_THRESH:最大許容コンパスと速度変動を設定
Simple ジオフェンス: Home Point を中心とした単純な「缶」型のフェンスにより、機体が外部に飛び出すのを防ぐ。【参考】
FENCE_ACTION:フェンスに違反した場合に取るべき行動 → 0:Report Only 1:RTL or Land 2:Always land
ポリゴンフェンス: 最大84ポイントのポリゴンフェンスにより、機体がポリゴンから飛び出すのを防ぐ。「缶」型のフェンスの拡張
クラッシュチェック: 機体が暴走して地面に衝突した可能性がある場合、モーターを DisARM にする。【参考】
FS_CRASH_CHECK:自動クラッシュチェック。有効にすると、クラッシュが検出された場合にARMが解除されます。
パラシュート: 手動および自動パラシュートを設定する方法について【参考】
ADSB有人航空機の回避: MAVLink対応uAvionix ADS-B PING™センサーを接続および設定する方法【参考】
AVD_ENABLE ADSBを使用して回避を無効(0) / 有効(1)。Enable Avoidance using ADSB
AHRS異常時、AHRS_ORIENTATION 後のキャリブレーション方法(イームズロボティクス株式会社 様より)
ARMING 離陸(ARM)制御
ARMING_ACCTHRESH: 複数の加速度計誤差からのエラー閾値(このエラー範囲を他の加速度計と比較して、ハードウェアまたはキャリブレーションエラーを検出します。値が低いと、チェックが厳しくなり、アーミングチェックに合格しにくくなります。)
ARMING_CHECK: ARMを許可する前に実行されるチェックのビットマスク:アーミングを許可する前に実行されるチェックです。デフォルト None(0)はチェックなしで ARM を許可します。ほとんどのユーザーは、ALL(1)に設定してすべてのチェックを有効にすることをお勧めします。
慣性計測装置 IMU(Inertial Measurement Unit、)別名 慣性航法装置 INS (Inertial Navigation System, )最良の結果を得るには、オートパイロット(したがってIMU)を車両の重心に配置する必要がありますが、これが物理的に不可能な場合、オフセット補正できます。
ARMING_REQUIRE:いくつかの要件が満たされるまで、武装は無効になっています。
0の場合、要件はありません(すぐにアームします)
1の場合、モーターをアーミングする前にラダースティックまたはGCSアーミングを必要とし、アーム解除時にスロットルチャネルに最小スロットルPWM値を送信します。
2の場合、ラダースティックまたはGCSアーミングが必要で、武装解除時にスロットルチャネルに0 PWMを送信します。
このパラメーターを0に設定すると、飛行機を作動させるために再起動が必要になることに注意してください。
ARMING_RUDDER: ラダー操作による ARM / DisARM 操作設定
0 : Disabled
1 : ArmingOnly
2 : ArmOrDisarm
DISARM_DELAY: DisARMまでの遅延時間ゼロの値は自動解除を無効(初期値 10秒)
GPS_HDOP_GOOD:この値以下のGPS Hdop値では ARM しません。(プレアームチェック)
INS_POS1_X:IMU加速度計のX位置
ボディフレーム内の最初のIMU加速度計のX位置。(正のX原点は前方。INS_POS1_X が最小になるよう、IMUは機体重心のできるだけ近くに配置する必要があります。そうしないと、振動やIMUジャイロノイズのためにナビゲーション速度の測定値にノイズが発生する可能性があります。IMUを移動できず、速度ノイズが問題になる場合は、IMUに近い場所をボディフレームの原点として使用できます。設定 0.01 メートル単位(範囲 -5 ~5メートル)
INS_POS1_Y:IMU加速度計のY位置
INS_POS1_Z:IMU加速度計のZ位置
Cube には、1~3の冗長なIMUが内蔵されています。
COMPASS(MAG) コンパス(磁気)
MAG_ENABLE:Enabled(1)に設定するとコンパスが有効。これをDisabled(0)に設定するとコンパスが無効。
有効にすると方位データはプライマリ・コンパスを使用します。それ以外の方位はGPSから推定されます。
必須ハードウェア > ”OnBoard Mag Calibration” fitness(適応度)
Very Strict (とても 厳しい)
Strrit (厳しい)
Default
Relaxed (緩やか) > キャリブレーションが失敗する場合フィットネスを"Relaxed "
アクセルキャリブレーション(イームズロボティクス株式会社 様より)
コンパス キャリブレーション(イームズロボティクス株式会社 様より)
EKF 拡張Kalmanフィルタ
EK2 加速度センサー
FENCE ジオフェンス
FLOW オプティカルフローセンサー設定【参考】
画像をぼかす振動を受けない場所にフローセンサを取り付けることが重要
FLOW_ORIENT_YAW:フローセンサーのヨー調整
Pixhawkにおける x軸(ロール軸)前向き、y軸(ピッチ軸)右向き、z軸(ヨー軸)下向き
FLOW_POS_X、 FLOW_POS_Y、 FLOW_POS_Z :センサー(IMU、GPS、オプティカルフローなど)が互いに15cm以内に収まる機体では、オフセットを指定してもパフォーマンスが著しく向上することはほとんどありません。
HereFlow:ミニチュアサイズのオプティカルフローセンサー
特にGPSが拒否された環境で、水平位置制御を改善するために使用できます。
0.5mを超える屋外、または3mを超える屋内での高さ検出には適していません。
ThoneFlow 3901U UART シリアルバージョン オプティカルフローセンサー(Seeed Technology)
データフォーマットがArduCopterにサポートされ、生産終了品であるCX-OFと互換性あり
FLTMODE_CH フライトモード制御に使用するRCチャネル(初期値ch5)
FLTMODE1 ~6 各PWMごとに変更されるフライトモード
FS フェイルセーフ機能
GCS 地上局との設定(通常は MissionPlanner が作動している地上のパソコン)
GND 気圧計による高度制御
GND_PRIMARY: 複数の気圧計が見つかった場合、プライマリ(主)となる気圧計を選択
GPS GPS系【参考 BeiDou, Galileo, GLONASS, GPS / QZSS】
GPSモジュールは、DC電源、配線およびバッテリーから少なくとも10cm離します。GPSは支柱を設けることを推奨
第二のGPS:GPS2 → "SERIAL4_PROTOCOL" = 5 (GPSとして使用)
パラメータが「5」(GPS)に設定されている番号の小さいSERIALxポートにGPSモジュールから検索します。GPSモジュールがない場合、GPSの検索を停止します。
最大2つの GPSブレンディング(別名デュアルGPS) ブレンドに UBloxGPS が使用できます(NMEAプロトコルを使用するGPSは使えません。)F9Pベースの高精度GPSを搭載した車両で2つのGPSデバイスを使用してコンパスを使用しない、ヨー推定も可能になります。
"GPS_AUTO_SWITCH" = 2(ブレンド) 、1(UseBest より良いGPSのみを使用。良い条件は、GPSモジュールからの自己報告精度に基づく)
MissionPlanner で表示される GPS 情報
Gps Hdop(GPS精度)Loiter 使用前に 2.0 以下を確認(enRoute様 テキストより)
SatCount(GPS衛星取得数)Loiter 使用前に 8.0 以上を確認(enRoute様 テキストより)
”GPS Status” 定義
0 = GPS なし
1 = 修正なし
2 = 2D 修正
3 = 3D 修正
4 = 3DGPS
5 = RTK Float(RTKモードを使用中)
6 = RTK Fixed(RTKモードを使用中)
Here3 GPS CANプロトコル RTKモードをサポートする高精度GNSSシステム
3D FIX: 2.5 m / RTK: 0.025 m
LAND 降下の設定
LOG ロギング【参考】
Cube はSDカード無しでARMできません。ARM できずアラームが鳴ります。
ログは Cube 左側に差し込まれているmicroSDカードに保存されます。(クラス4以上のMicroSDカード推奨)
HERE(UART only)、HERE2(CAN/UART)、HERE3(CAN only)
HERE GPS SERIES
Here2の安全スイッチはCAN経由では使用できません。安全スイッチをアーミングチェックから無効にするか、外部スイッチを使用します
MOT モーター系
PRX 近接センサー(Proximity sensor)
RC 無線(受信器)
RNGFND レンジファインダー(例.Benewake TFmini ) Benewake TFmini【技術 PDF】【製作例TFmini】
TFminiは未使用のシリアルポート(UART)に接続できます。例:TELEM2、TELEM3、GPS2など
RNGFNDn_GNDCLEAR:機体が地面にあるときにn番目の距離計が返すはずの予想距離測定値(cm単位)を設定します。
RNGFNDn_ORIENT=0 n番のレンジファインダーの取付方向 0:Forward 1:Forward-Right 2:Right 3:Back-Right 4:Back 5:Back-Left 6:Left 7:Forward-Left 24:Up 25:Down
RNGFND_GAIN :ヘリコプター下で物体が感知されたとき、目標高度が変更される速度を調整するために使用されます。(Range 0.01 - 2.0, 初期値 0.8)
360度LIDAR
RPLidar A2 360度LIDAR
RPLidar A1も使用可(ただし信号が5V系なので3.3V系に変換が必要)
SAFETY SAFETYENABLE = 0は、SAFETYスイッチを無効。
BRD_SAFETY_MASK 有効/無効にする個々のチャンネルを設定できます。
SERIAL シリアル通信系
STAT ステータス(参照のみ)
AVOID 障害物回避 Object Avoidance
【注意事項】水平方向の障害物回避は AltHoldとLoiter のみで機能。上方向の障害物回避は Stabilize と Acroを除くすべてのモードで機能
Loiter(GPS飛行)(in GPS modes)
AVOID_MARGIN :機体はGPSモードの間、オブジェクトから少なくともこの距離を維持(○○メートル)
AltHold(非GPS)in non-GPS flight modes
AVOID_DIST_MAX :障害物回避が開始されるオブジェクトからの距離(○○メートル)
AVOID_ANGLE_MAX :障害物回避のために傾斜する最大値(0 ~ 4500 centi degrees → 0 ~ 45°)
AVOID_ENABLE : Avoidance control 入力ソースの有効化/無効化
AVOID_BEHAVE :機体は、障害物の前で停止するか(0)、障害物の周りをスライドするか(1)の設定
Real-time view フライトデーター画面から、Ctrl+F にて別ウインドウが開き、ボタン「proximity 」押すとビューワー画面表示
バッテリー系
BATT_FS_CRT_ACT: バッテリーが危険な残量になった場合の対策。無効にするには0に設定
BATT_FS_LOW_ACT: バッテリー残量が少なくなった場合の対策
BRD ボード(Pixhawk)設定
BRD_TYPE: 0.自動検出、2.Pixhawk、3.Cube/Pixhawk2 …
BTN ボタン(スイッチ)
CAM カメラ
CAN CAN通信系
RELAY リレー 制御用ピン設定(ON/OFF)Relay Switch — Copter documentation - ArduPilot / discuss.ardupilot.org › relay
SERVO サーボ 制御用ピン設定(PWM周波数など)
TRIGG トリガー
VISO_ORIENT Visual Odometery Camera orientation(視覚走行距離計カメラの向き)
フライト記録
STAT_BOOTCNT Number of times board has been booted ボードが起動された回数
STAT_FLTTIME Total FlightTime (seconds) 合計飛行時間(秒)
STAT_RUNTIME Total time autopilot has run 自動操縦が実行された合計時間(秒)
拡張チューニングするための推奨手順
パラメータを調整する方法に関する一般的なアドバイス:
高すぎると、ヘリコプターはロールやピッチで素早く振動します
低すぎると、ヘリコプターが遅くなります
高出力ヘリコプターは低ゲインを使用し、低出力ヘリコプターは高ゲインを使用する必要があります
通常、Stabilize モードでロールレート / ピッチレートを調整することから始め(デフォルトはロールレート / ピッチレートは同じ値を固定されています) 、次にAltHoldモードで高度保持の調整に移り、次にLoiter(多くの場合調整を必要としない)、最後にAutoモードでのウェイポイントナビゲーションパフォーマンスに移るのが最善です。
最初にFFゲインを調整します。回転速度応答が遅い場合、このパラメーターを大きくする必要があります。機体が常に希望の旋回率をオーバーシュートしている場合は、このパラメーターを小さくする必要があります。
P ゲインの短期誤差を補正。Pゲインは常にFFゲインよりも低くなければなりません。
応答性を高めるためにPゲインを増やします
応答がオーバーシュート、または振動している場合は減らします
I ゲインの長期的な誤差を補正します。ゆっくり振動する場合、このパラメーターを小さくする必要があります。
定常状態のエラーを減らすためにIゲインが使用されます。
低すぎると、応答が設定値に到達しない可能性があります(風の影響など)
高すぎると、遅い振動が発生する可能性がありますので徐々に増やしてください。
D ゲインは、短期的な変化と戦って出力を安定化するためのものです。
Dゲインを増やすことで、オーバーシュートと振動を抑えることができます。
反面、ノイズを増幅(モーターが高温になる等)もするので、徐々に増やしてください。
PID調整の目標は、応答曲線を設定値曲線にできるだけ一致させることです(オーバーシュートのない高速応答)
参考 PIDパラメータの効果|Horizon 4 electronics
ロール・ピッチのチューニング http://ardupilot.org/rover/docs/rover-tuning-steering-rate.html
IMAX 意味 https://discuss.ardupilot.org/t/meaning-of-imax-in-attitude-controller/13407
IMAX(0~ 1,0.01刻み)I ゲインが出力する最大モーター出力を制限
FF(0~ 0.05,0.01刻み)コントローラーのフィードフォワード
空撮 カメラジンバルの設定(”Gimbal”はパラメーター名称として使用されていません)
プレーンとローバーでまったく同じように機能します。
初期設定 タブ > オプションハードウェア > カメラジンバル
入力ch(Disable, 5ch~)RC信号で姿勢を操作できます。(チルト、ロール、パン)
チェックボックス” Stabiles チルト”有効でジャイロに合わせて姿勢制御されます。
Cube の Servo出力 AUX1=SERVO9、AUX2=SERV10 ... と指定をします。
MNT_ (Mount ):ジンバルカメラ設定についてのフルパラメーターリスト
MNT_STABI_○○ :地球に対する チルト/ロール/パン の安定化(0:Disabled 1:Enabled)
SToRM32などの制御器付きジンバルには独自のコントローラーを備えています。これらコントローラーを使用する場合[安定化]チェックボックスをオンにしてはなりません。
_TIL (チルト)パラメーター名称として、_TIL,_TILT と振れがあります。
_ROLL (ロール)
_PAN (パン)
「Angle Limits」は、サーボ自体の稼働角度を機体と干渉しない範囲に設定します。テスト中にジンバルが適切に安定化されていないことがわかった場合(たとえば、ヘリコプターを傾けるとオーバーまたはアンダーコレクト)、「Angle Limits」を調整します。(これらは実際の「角度の制限」ではありませんが、ほとんどのサーボが移動できる60°の制限内で移動するようにサーボに命令されます。たとえば、-60 / + 60に設定すると、ヘリコプターが-60°/ + 60°に達すると、サーボが-30°/ + 30°(その制限)に達します。-15 / + 15に設定すると、「ヘリコプターが-15°/ + 15°に達すると、サーボは-30°/ + 30°(制限)に達します)「 Servo Limits 」を調整することでサーボの反応速度(ゲイン?)の調整ができます。
「Neutral Angles」とは、マウントが最初に初期化されるときのジンバルの位置を指します。これは通常まっすぐ前方を向いています。
ジンバル(チルト/ロール/パン)が逆方向に動く場合は、[ リバース]チェックボックスをオンにします。
「“Retract Angles”」とはジンバルが航空機の場合、機体に格納される引込構造の事を意味し、マルチコプターには関係ありません。
MAVLinkを介してQGroundControlと通信するRaspberryPi 2014年
コンパニオンコンピュータは、オートパイロットによって生成されたすべてのMAVLinkデータ(GPSデータを含む)を取得し、それを使用して飛行中にインテリジェントな決定を行うことができます。これにより、コンピューターを介した飛行経路から、視覚処理などの非常にCPUを多用する機能まで、幅広い機能が可能になります。
地上局 GCS またはコンパニオンコンピュータは、次のいずれかの方法を使用して、必要なデータ(およびレート)を要求できます。
ジョイスティックまたはゲームパッドで機体を制御する方法 MissionPlanner を使用して「RCオーバーライド」メッセージを機体に送信するミッションプランナー使用。ジョイスティックを通常の送信機と同じように応答させることはほぼ不可能ですが、遅延を減らすには MissionPlanner Config / Tuning から機体と地上局 GCS 間で送信される他のテレメトリデータのレートを下げる
Pixhawk OSD OLED ディスプレイ(I2C接続)
パラメータ NTF_DISPLAY_TYPE = 1 に設定してから Pixhawk を再起動
離陸前に下記の機体情報を表示して役立ちます。モジュールの寸法は28×28 mmです。
アーミング失敗のメッセージ
フライトモード(Stabilize, AltHold, PosHold 等)
バッテリー電圧
GPSロックと衛星数
プレ ARM 合格/不合格
EKF(Extended Kalman Filter, EKF)ステータス
DJI Phantom クラスのクワッドコプターに使用されているモーターと同程度です。
プロペラは付属で 9.4 インチ
350 g=ローター @ 3S LiPo / 400 g=ローター @ 4S LiPo
プロペラを外した事を確認
UPdater をESCの通信コネクタに接続(拡張のLED端子と同じ端子なので間違い注意)
ESC に電源を接続して起動する(モーターコイルを利用して起動音が鳴る)
PCソフトウェア「DJI ESCAssistant_1.0」を起動する。
UPdater - USBを経由して通信。ESCとの通信中は「DJI ESCAssistant_1.0」左下が点滅する。
「Identity」ボタンを押すと、モーターが徐々に回転していきます。(回転方向を確認)
ESC がモーターを識別して、モーターに対応したパラメーターが設定されます。
MissionPlanner>初期設定>モーターテスト>このESCの場合スロットル% ”12”以上にしないと回転しません
参考 How to Calibrate an ESC in less than 5 Minutes 2019/02/07
汎用ESC キャリブレーション手順(代表例)別なキャリブレーション方法のESCもあります。
→ RC送信器のスロットル 上限~下限 の信号幅と、ESC 最大回転数 ~ 0 を一致させる調整
スロットルがセンタースティックの場合、2人作業か、スロットルスティックをテープで固定させる
RC受信器とESC、モーターを接続する※ プロペラは絶対に付けない事!
スロットルスティックを上限にて、電源をON(受信器、ESC、モーターに通電)
モーター(ESC)からは通常とは違う音が鳴る(ESCがキャリブレーションを開始の音)
5秒ほどしてスロットルスティックを下限にする
5秒ほどして再びスロットルスティックを上げていくと、スロットルとモーター回転数が上昇する
スロットルスティックの上限、下限の全域でモーターが回転すれば、キャリブレーション終了
XBee(S2C) 最大通信速度: 5Mb/s 屋外見通しレンジ: 1,200m
XBee専用の設定アプリ、XCTUをダウンロードしてインストールします。
秋月電子通商でのパーツ入手リスト
XBee ZB S2Cモジュール U.FLタイプ[XB24CZ7UIT-004]
XBee2.4GHzアンテナ(U.FLタイプ)[A24-HABUF-P5I]
XBee USBインターフェースボードキット[AE-XBEE-USB]
XBee用2.54mmピッチ変換基板[AE-XBee-REG-DIP]
XCTUにてデフォルトから変更点 ID は ”PAN ID ” と呼ばれネットワーク毎にユニークな値を設定します。
地上側パソコン XBee ー USB 接続
ID ****(ユニークな値を設定)
CE Coordinator [1]
BD 57600 [6]
D7 Disable [0]
ドローン側 XBee ー UART(TX,RX,GND)
ID ****(地上側と同じIDを設定)
BD 57600 [6]
D7 Disable [0]
Pixhawk側 XBee側
RX <----- (TX) 2 (DOUT)
TX -----> (RX) 3 (DIN)
GND -----> 10 (GND)
XBeeが接続されているシリアルポートは Baud Rateを57600[bps]に設定します。
参考にさせて頂きましたサイト
技適取得仕様 Lightbridge2 は2020年現在 製造販売を中止しております。
弊社では代替品として SIYI AK28 Controller を取り扱っております。
DJI Lightbridge2 を使用したPixhawkの構成 Diydrones.com
2.4GHz帯にてS.Busプロトコル(100K baud)他、HD画質のHDMI(AV)映像伝送ができる一体型の機器です。
1080p/60fpsのビデオ出力や720p/59.94fpsや1080i/50fpsの放送基準出力に対応
ハードウェア・エンコーダーとアルゴリズムを用いることで全体のレイテンシーを最速で50msまで著しく短縮
USBとHDMI出力、またはUSBとSDI出力を同時に使用できます。HDMI出力ポートとSDI出力ポートを同時に使用することはできません。DJI GOアプリで出力ポートの構成を選択できます。デフォルトの出力ポートはHDMIです。
シリアルデジタルインターフェイス(SDI)は、同軸ケーブルを介して高解像度デジタルビデオを送信できます。HDMI出力と比較して、SDIはより長い伝送距離とより安定した信号を誇っています。これは、放送およびテレビ業界で最も広く使用されているインターフェイスです。
Lightbridge2 からのS.Bus信号を Pixhawk に入力すると初期状態で、ピッチ操作が前後逆となります。
Lightbridge2 送信器にはリバース変更の設定がないため Pixhawk 側の設定を変更とします。
”RC2_REVERSED =1”(モード1の場合)リバース設定とします。
RC5 上昇=1927 / 下降=1702 (PWM)DJI Transformation Switch(ランディングギア昇降)
RC7 F=1184 / A=1514 / P=1844(PWM)DJI Flight Mode Switch
RC○○_OPTION : このRC○○チャネルに割り当てられる機能(代表例)
Value Meaning (PWM 1800 以上で作動)
0 Do Nothing
15 Sprayer
28 Relay 1 On/Off
40 Proximity Avoidance
41 ArmDisarm
Lightbridge2 アプリ画面に Pixhawk ステータスを表示(OSDモジュールを中継して AV入力)
パラメータ GPS2 を Mavlink1、Serial4_BAUD = 57600 bps で設定して Pixhawk を再起動
↑ Here3 GPSはCAN通信になって、GPS2用の端子が開いている事が多い
"GRN" "BLK" 端子はFTDIアダプターを使ったファームウェア書換で使用
無線機器の設定
双葉電子工業(株)920MHz帯対応の無人機用コントローラー「FMT-04」2020年6月
双葉電子工業(株)受信機の設定 T14SG 【取説PDF】とのリンクメモ 送信と受信の互換表(メーカーサイト)
J1→Roll, J2→Throttle, J3→Pitch, J4→Yaw(モード1)
LNK ダブル クリック → 「システム」→ 使用する電波仕様を選択
R7008SB:FASSTest S.BUS2入出力 / S.BUS出力 + 出力(ch1-8):”FASSTest14ch" → ”リンク”押す(受信器OFF→ON)緑LED常灯でリンク完了
R7003SB:FASSTest S.BUS2ポートに接続(Port1 Port2 B に接続は不可)”FASSTest14ch" → ”リンク”押す(受信器OFF→ON)緑LED常灯でリンク完了
R2001SB:S-FHSS 小型・軽量 1ch+S.BUS 受信機(8ch):受信器 Linkボタン押し →緑LED常灯でリンク完了
R3008SB:T14SG では使用不可(T10J、T18SZ 向け):送信器をリンクモードにて(受信器OFF→ON)緑LED常灯でリンク完了
MissionPlanner > 設定調整 > Planner 設定メモ
OSD色:個人的に赤色(Red)に変更しています(接続時にフライトデータの文字が赤色に変化して理解・視認しやすい為)
テレメトリー頻度 Hz(初期値)姿勢"4", 位置"2", モード/ステー"2", RC"2", センサー"2" 値を "-1" とすると更新されません。