Ardupilot Roverの製作【14】OSD設定

目次

Section 1

OSD設定

今回はArdupilot RoverのOSDの設定を紹介します。

OSDとは映像にテキスト情報を重ねて表示する機能で、On-Screen Displayの略です。

バッテリー残量や飛行モード、速度などの情報を、FPVカメラの映像上にリアルタイムで表示することができます。

DJIなどのマルチコプターでは、アプリを通じた情報表示が一般的ですが、OSDはよりシンプルで、HDMI出力モニターやFPVゴーグル上に直接情報をオーバーレイ表示する形で使用されます。

今回製作しているローバーにはFPVカメラとVTXを搭載していますので、この画面上にOSDを表示しよう、というわけです。

今回MATEKSYS F405-STDを使用していますが、ドキュメントに記載されている通り配線を行った結果、デフォルトの状態で既にOSDは表示されていました。

表示するところまでは難なく達成していましたので、今回は基本的なパラメーターの確認と表示内容の変更を実施します。

また、どのような条件のFCであればOSD を出しやすいのか、そうでない場合はどのような手段があるのか、といったところも含めて紹介していきます。

Section 2

MAX7456互換チップ

ArdupilotのOSDに関しましては、下記のドキュメントで種類ごとにリンクが紹介されています。

OSD Boards (On-Screen Display)
https://ardupilot.org/rover/docs/common-osd-boards-on-screen-display.html#analog-video-osd

上記ドキュメントの中で大きくアナログとデジタルの2種類、そしてその中でさらに何種類かのデバイスへのリンクが提供されています。

MATEKSYS F405-STDの場合、アナログでさらにオンボードOSDと呼ばれるものに該当しますので、下記のページの内容が合致します。

OSD
https://ardupilot.org/rover/docs/common-osd-overview.html

上記ページではMAX7456-type chipsに関する設定方法が紹介されているのですが、MAX7456というのはアナログOSD用の代表的なチップです。

MATEKSYS F405-STDは、もともとFPV用途を想定したフライトコントローラーのため、MAX7456互換のOSDチップがオンボードで搭載されています。

ここで言う「MAX7456互換チップ」とは、正式なMAX7456ではないものの、ArduPilotやBetaflightなどと互換性のある同等のOSDチップを指します。ArduPilotのドキュメントでは「MAX7456-type chips」と総称されています。

MATEKSYS F405-STDでは、このチップのおかげで特別なハードの追加なしにアナログOSD表示が可能になっています。

Section 3

ArdupilotのOSDを表示するための機器

今回FPV用に作られたFCを利用していますので、都合よくMAX7456互換チップが搭載されていますが、Ardupilotで構成した機体の場合、FPVで表示できるよりも多くの情報がテレメトリー経由でMission PlannerなどのGCSから確認できる為、OSDを利用する方法が必ずしも一般的という訳ではありません。

そのため使用するFC基盤によって、あらかじめMAX7456互換チップが搭載されている場合もありますし、搭載されていない場合もあります。

例えばArdupilotでよく使用されるPixhawkシリーズなどのFCにはOSDを表示するためのMAX7456互換チップが搭載されていません。

もしPixhawkシリーズなどでOSDを利用したいと思った場合、大きく分けると下記の3つの方法があるようです。

  1. MAX7456を搭載したOSDボードを接続する(アナログ)
  2. Minim/MWOSD OSDボードを接続する(アナログ)
  3. MSP OSDを利用する(デジタル)

海外ではデジタルFPVシステムが一般的となりつつあるようで、1や2に対応した製品や、それに対するプログラムの更新も現在では少なくなってしまっているのですが、1の場合は下記のような製品が利用できます。

Holybro Micro OSD V2
https://dayscape.jp/collections/misc/products/holybro-micro-osd-v2

2の場合は、Minim/MWOSD OSDに対応したOSDボードを入手して接続する形となります。

上記はAmazonで購入したMinim/MWOSD OSDボードです。

現在は無料で利用する方法もあるかもしれませんが、自分はボードの購入とは別にコンフィギュレーターのライセンスも購入して利用しています。

Minim/MWOSD OSDは少し古い時代のOSDですが、様々なファームウェアに対応していると言う特徴があります。

FPV用のFCでもMAX7456互換チップが搭載されていないものもありますので、そういったFCでもOSDを利用できるようになるという点では、使い道の多い基板と言えます。

ただし上記1.2の場合は、使用するボードを製造しているメーカーが提供しているアプリやオープンソースのプロジェクトで開発が止まってしまうと、Ardupilotなどの新しいバージョンに対して十分にサポートされていないという状況が起こってしまいます。

全てを確認したわけではありませんが、すでに一部の情報が表示できない、といった状況は起こっているように感じます。

3の場合は、デジタルFPVシステムの中でも様々な種類があり、ものによって表示できる内容や、設定方法は異なるようです。

メーカーやプロジェクトが止まってしまうと更新されないと言う点はアナログと同じなのですが、アナログシステムと比較すると新しく普及が進んでいる機器ではありますので、その分新しいArdupilotのバージョンへの対応は進んでいる可能性が高いです。

国内で利用可能なHD FPVシステムは少ないですが、業務用開局で利用可能なものとして有名なものとして、DJI FPV (機体ではなくAirUnitとGoggles、RCのセット。すでに古く現在では入手する事が難しい)や、比較的新しく利用可能となったものでは下記のWalksnail Avatar HDなどがあります。

https://dayscape.jp/collections/vendors?q=WALKSNAIL

Pixhawkシリーズでアナログシステムを利用する場合、FPVカメラと送信機・受信機というFPVシステムの他に、もう一つOSD用の基盤を用意する必要がありますが、デジタルシステムの場合は、FPVシステムさえ整えてしまえばMSP通信のみでOSDを表示できる形となる、という点も大きな違いと言えそうです。

いずれにしても、OSDは送られて来るFPV映像に文字情報が付加される形になりますので、テレメトリー経由でGCSと接続するよりは素早く機体の状況がモニターでき、運用できるというメリットがあります。

Section 4

OSDの設定方法(MAX7456互換チップ・オンボード)

前述した通り、今回は配線を行った時点でOSDが表示されていたので、特に設定を行っていませんが、まずArdupilot ドキュメントOSDの内容に沿って基本的な部分を確認していきます。

まず、Mission Plannerのフルパラメーター画面で下記の設定を確認します。

  • OSD_TYPE=1

フルパラメーターの検索ボックスで「OSD_」と入力するとOSD関連のパラメーターが一覧表示されるので、便利です。

ここでは特に設定していませんが、OSDの画面は何種類か切り替えが行えるようで、切り替えを行うRCチャンネルを「OSD_CHAN」で設定する事でオプションを有効にできるようです。

ドキュメントには表示内容についてパラメーターで変更する方法が記載されています。

しかし、現在ではMission Plannerの設定/調整タブ内に「Onboard OSD」という設定画面がありますので、こちらでの設定を試してみましょう。

上の画像がデフォルトでの表示内容です。

画面上に情報を自由にレイアウトできます。

確認したところ、現在設定されている内容と同じように表示されていました。

Onboard OSD画面上で情報の表示/非表示を選びながら、レイアウトを変更し、最後に右上のWrite coustomizationをクリックする事で設定を保存します。

デフォルトでは左上の方にいくつもの表示が重なって設定されており、表示されているはずの情報が見えない状態になっていました。

その部分をドラッグアンドドロップでひとつずつ整理し、さらに今回はローバーなので、使わない飛行用の情報を多く非表示にしました。

搭載していないセンサーの情報は基本的に情報が来ませんので、そういった無駄な項目も非表示にしています。

上の画像のように、しっかり反映されているようです。

Onboard OSD設定画面は非常に理解しやすく便利ですが、恐らくアナログシステムを利用してOSDを表示する別の方法、つまりMAX7456を搭載したOSDボードを外付けしている場合と、Minim/MWOSD OSDボードを利用している場合は、利用できない可能性が高いです。

これはテレメトリーを外付けボードに送り、外付けボード内でOSDを表示する処理を行う方法でOSDを表示する流れになっている為、専用のアプリなどを使用してレイアウトや表示内容を変更する形となっている為です。

一方、HDシステムの場合は、全てではないと考えられますが、Onboard OSD設定画面を利用できるようです。

Onboard OSD設定画面のHDレイアウト設定については下記のドキュメントに記載されています。

MSP OSD
https://ardupilot.org/plane/docs/common-msp-osd-overview-4.2.html

Section 5

まとめ

今回はMAX7456互換チップが搭載されたFCでArdupilotのOSDを表示する設定を紹介しました。

映像伝送を行うための機器にはいくつか種類があり、機器によって設定方法が異なるため、今回の記事で全てを網羅できている訳ではありません。

今回は紹介していませんが、SIYIなどのカメラ・AIR UNIT・プロポを使用する場合SIYI独自で用意しているOSDの表示システムを使用する事になりますので、今回紹介した手順とは大きく異なります。

Ardupilotの機体は様々なモードがあり、センサーの状態によって使用方法を判断したり、何かエラーが出ていないか、出ているならどんなエラーなのか、など、確認すべき情報が比較的多いです。

PCなどをフィールドに準備するのは意外と手間ですので、自動操縦などを使用しないシンプルな運用が目的の時は、サクッと準備して使用を始めたいものです。

特にエラーやバッテリー残量などは、どんな時でも確認したい情報ですので、FPVの映像伝送を介して情報を得られるという点で、非常にメリットのある機能かと思います。

次回はテレメトリーの設定について紹介したいと思います。


いつもご覧いただきありがとうございます。
活動の継続や質の向上のため、皆さまからのご支援をお願いしております。
金額はご自由に設定いただけますので、無理のない範囲でご検討いただけますと幸いです。
下記のボタンより、PayPalを通じてご支援いただけます。

ご支援はこちら

ArdupilotMateksysRoverSiyi

JACK によるブログ

DAYSCAPE ( DIYドローン オンラインショップ ) では、FPVドローン、産業開発ドローンの分野に関する商品の紹介やドローンの組み立て、使用方法などの情報発信を行っています。

ピックアップ