#この記事は
Dronecode本家サイトのPX4 Reference Flight Controller Designページの抜粋・翻訳です。
※主に自分の理解用に書いています。
PX4 Reference Flight Controller Design
現在最新のリファレンスデザインは第5世代で、第6世代の設計が進行中です。
Binary Compatibility
FMUの第1~3世代はオープンハードウェアとして設計されていますが、第4と5世代のFUMはピン配置および電源仕様のみを定義し、回路図は個々のメーカーに任される設計になっています。
互換性をより確実に保証するために、FMUv6以降は完全なリファレンスデザインモデルに戻ります。
Reference Design Generations
- FMUv1: 開発用基盤 (STM32F407(CPUチップ), 128 KB RAM, 1MB flash) (現在は未サポート)
- FMUv2: Pixhawk (STM32F427(CPUチップ), 168 MHz, 192 KB RAM, 1MB flash)
- FMUv3: Pixhawk の2MB flashバリエーション (3DR Pixhawk 2 (Solo), Hex Pixhawk 2.1, Holybro Pixfalcon, 3DR Pixhawk Mini, STM32F427(CPUチップ), 168 MHz, 256 KB RAM, 2 MB flash)
- FMUv4: Pixracer (STM32F427(CPUチップ), 168 MHz, 256 KB RAM, 2 MB flash)
- FMUv4 PRO: Drotek Pixhawk 3 PRO (STM32F469(CPUチップ), 180 MHz, 384 KB RAM, 2 MB flash)
- FMUv5: Holybro Pixhawk 4 (STM32F765, 216 MHz, 512 KB RAM, 2 MB flash)
- FMUv6: 進行中 6s(STM32H7, 400 MHz, 2 MB RAM, 2 MB flash) というバリエーションと、6i (i.MX RT1050, 600 MHz, 512 KB RAM, external flash)というバリエーションがある
Main/IO Function Breakdown
以下の図は、PixhawkシリーズフライトコントローラーのFMUとI/Oボードの間のバスと機能を示しています(なお、ボードとしては一つに組み込まれています)。
一部のPixhawkシリーズは、小型化や複雑さ軽減のためや、特定の使用例に対応するために、I/Oボードなしで構築されています。
I/Oボードは、パラメーターSYS_USE_IO = 0を設定することによって無効になります。
I/Oボードが無効な場合は以下の様な挙動をします:
- 「MAIN」mixerファイルがFMUに読み込まれます(そのため、機体リファレンスにリストされている「MAIN」出力は、AUXというラベルの付いたポートに表示されます)。 AUX mixerファイルが読み込まれないため、AUX mixerファイルで定義されている出力は使用されません。
- RCからの入力はIOを経由せず直接FMUに送られます。
I/OボードのないフライトコントローラにはMAINポートがありますが、AUXポートはありません。
そのため、そういったフライトコントローラはAUXポートを使用しないか、(RCパススルーなど)特殊な用途のみに使用する機体に利用されます。そしてたいていは、モーターや重要な制御にMAINポートのみを使用するマルチコプターと(RC制御でのセーフティのない)自律型車両で使用されます。
注意:
I/Oボードのないフライトコントローラーは、AUXポートを重要なフライトコントロールまたはモーターにマップする機体では使用できません(AUXポートがないため)。
ノート:
I/Oボードのないメーカーのフライトコントローラーバリエーションは、多くの場合、I/Oボードを含むバージョンの「diminutive」版と呼ばれます。たとえば、Pixhawk 4 Miniや_CUAV v5 nanoなど。
ほとんどのPX4 PWM出力は、ミキサーのMAINまたはAUXポートにマッピングされます。
カメラトリガーやDshot ESCを含むいくつかの特定のケースは、FMUピンに直接マッピングされます(つまり、フライトコントローラーにI/Oボードがあるかどうかに応じて、MAINまたはAUXに出力されます)。