Skip to main content

Book a Demo

Qtを活用した
QGroundControlの
実行時カスタマイズ

 

プロトコルの語彙、オペレーターパネル、マップ、ブランディングを、起動時に読み込まれる設定ファイルで定義し、QGroundControl のメインラインソースへの変更は一切不要です。

Qt Group のエンジニアリングチームが、実際の産業用途向けに QGroundControl を効率的にカスタマイズする、Qt フレームワーク とツールの柔軟性をご紹介します。

 

お問い合わせ

MAVLink 設定

1つの XML 形式のファイルを編集するだけで、どのメッセージが存在し、どれをインターフェース上に表示するかを定義できます。ジェネレーターの実行もリビルドも不要です。

Qt Design Studio による HMI の作成

ローコード環境でオペレーターパネルをデザインし、車両のライブデータに連動した、そのまま使える QML ファイルとしてデプロイできます。 

2D・3D マップ

2D マップのスタイルを変更し、3D シーンを任意の運用エリアに再配置できます。いずれも完全にオフラインで動作し、マッププロバイダーは不要です。

テーマ、ブランド、アイコン

パレット、アプリケーション名、ウィンドウアイコンを、起動時に読み込まれるファイルで設定できます。1つのコードベースで、いくつものブランド製品に対応します。

既存のプロトコルやプラットフォームに対応

MAVLink Logo
QGroundControl logo

ドリフトのないカスタマイズ

通常、ドローンメーカーは、コンパイル時の拡張機能を通じて、QGroundControl を自社のユースケース向けにカスタマイズします。この仕組みは強力ですが、そのコードベースに不慣れな開発者にとっては、かなりの学習コストを伴います。

新しいパネル、新しい MAVLink メッセージ、追加のメニューオプションといった、ささやかなカスタマイズであっても、時間と労力を要します。

フォークによるカスタマイズが増えるほど、アップストリームのリリースへ追従するための保守負担やコストも大きくなります。

リリースのたびにマージ作業が発生し、アップグレードは先送りにされ、セキュリティ修正は手作業でバックポートすることになります。

ランタイム設定レイヤーがあれば、製品を特徴づける変更について、こうした負担そのものが不要になります。

デモのご紹介

 

Video Thumbnail

Qt Group のプロフェッショナルサービスチームが、お客様の業界や地上管制局向けに、
これを実装するお手伝いをいたします。

 

主な機能

  • MAVLink 設定
  • カスタムパネル
  • 2D・3Dマップ
  • テーマ・ブランディング・アイコン
MAVLink dialect

MAVLink 設定

MAVLink は、そのメッセージを XML で定義しており、通常、このファイルはコードジェネレーターに渡され、コンパイルに組み込まれます。

ここでは起動時に読み込まれるため、メッセージの追加や、インターフェース上に表示するメッセージの変更に、ジェネレーターの実行やリビルドは一切不要です。ランタイムで定義されたメッセージも、コンパイル時に組み込まれたものと同じプロトコル検証を通過します。

QDS panel

Qt Design Studio で作成する、カスタムパネル

テレメトリパネル、メッセージログ、ビデオウォールは、ドロップフォルダーに配置する1つの QML ファイルです。それぞれは、任意のディスプレイに配置できるフローティングウィンドウとして、またはメインウィンドウ内にドッキングした状態でインスタンス化されます。ファイルを削除すればパネルも削除され、各パネルは実際の車両データに連動します。

作成にソフトウェア開発者は必要ありません。スタンドアロンのデザインツールとして使用する Qt Design Studio を使えば、デザイナーは生成された車両データコントラクトのモックに対してパネルをレイアウトし、アプリケーションがそのまま読み込めるファイルとして保存できます。

2D Map (1)

2D・3Dマップ

ほとんどの管制局は、プロバイダーから取得したマップ画像を表示するため、見た目は固定され、接続も必要になります。

ここでは、管制局自体がマップを描画します。見た目は設定次第で選択でき、3D ワールドは任意の運用エリアに設定できます。いずれもネットワーク接続なしで動作します。

同じ仕組みが、業界特有のオーバーレイ、たとえばシンボル表示、カバレッジレイヤー、空域認識、点検レポーティングにも対応します。

Theme

テーマ・ブランディング・アイコン

カラーパレット、アプリケーション名、ウィンドウアイコンは、起動時に読み込まれるファイルです。管制局は、すでにブランディングとテーマが適用された状態で起動します。

同じビルドから、製品ごとに別々のコードベースを維持するのではなく、いくつかの設定ファイルを変更するだけで、複数の異なる製品として提供できます。

The configuration app defines the station properties before launch. No recompilation is required across configuration changes.

  • Project name, icon, and branding
  • MAVLink dialect, and surfaced messages
  • Fleet capabilities
  • Color theme and 2D map style
  • Offline 3D terrain region to cache
  • Operator panels to load
  • Simulator for evaluation without hardware

メンテナンスと、メインラインとの差分

フォークすることは想定の範囲内です。QGroundControl の開発者ガイドも、チームにフォークしてカスタム例をコピーするよう案内しています。メンテナンスコストは、フォーク内で編集した範囲に比例し、ガイドにも明確にこう記されています。

「QGC のメインラインソースへの変更は、最小限に抑えることが最善です。」 

設定レイヤーがあれば、この差分をほぼゼロに保てます。作業は、カスタムビルドディレクトリやプラグインのサブクラス化といった、QGroundControl がサポートする拡張アーキテクチャの範囲内に収まり、それ以外は Qt がすでに提供している仕組みに頼ることができます。 

 現行のアップストリームに対する定期的なリビルドにより、残存する差分を継続的に可視化でき、汎用性のある変更についてはアップストリームへコントリビュートすることで、差分を恒久的に解消できます。QGroundControl の開発者ガイドも、それを推奨しています。 

NATO Symbols

ライセンスと規制上の考慮事項

QGroundControl は、Apache 2.0 と GPL v3 のデュアルライセンスで提供されており、どちらを選択するかによって、出荷する製品に課される義務が決まります。

GPL v3 のもとでは、変更内容を公開する必要があります。Apache 2.0 のもとでは、プロプライエタリのまま維持できますが、その場合は商用の Qt ライセンスが必要になります。

この選択は、自社がプロプライエタリとして維持したい部分を左右するため、コードができてから切り分けるよりも、開発に着手する前に決めておく方が、はるかにコストを抑えられます。

参考リソース

航空宇宙・防衛における Qt

Qt Group の 航空宇宙・防衛向けテクノロジーにより、納品スピードの向上、継続的な適応、モジュール単位での技術アップグレードを実現します。

詳しく読む

ドローン・無人機向け地上管制ソフトウェア

ドローンの地上管制、ミッションプランニング、オペレーターインターフェース向けの、高度な HMI 機能。

詳しく読む

QGroundControl と Qt の活用

無人航空機向けの代表的なオープンソース地上管制局である QGroundControl(QGC)は、Qt を基盤に構築されています。どのモジュールを活用しているか、ライセンス上何が求められるか、そして QGC と Qt の上でコンプライアンスに準拠したプロプライエタリ製品をどう構築するかをご紹介します。

Qt のデモを見る

没入感のある 3D 体験から、具体的な産業用途まで、私たちのデモは Qt Group のテクノロジーで実現できることをご紹介します。

今すぐ体験する

航空宇宙・防衛分野の開発をQtで加速

お問い合わせ