概要
Cockpit は、あらゆる種類のリモートビークルに対応した、直感的かつカスタマイズ可能なクロスプラットフォーム対応のコントロールステーションソフトウェアです。
ちょっとした背景情報
現在のコントロールステーションソフトウェア市場には、「すぐに使えて」「直感的で扱いやすく」「汎用性が高く」「カスタマイズや開発がしやすく」「クロスプラットフォームに対応している」といった特徴を備えた製品が不足しています。
このようなニーズに応えるべく、そして「理想的なコントロールステーションとは何か」という長年の想いをもとに開発されたのがCockpitです。
Cockpit は Blue Robotics による次世代の制御インターフェースであり、車両の操作体験を未来へと進化させます。
可用性と制限
Cockpit はオープンソースで、無料でインストール・利用できます。
現在、以下の方法で使用可能です。
- BlueOS拡張機能(BlueOS バージョン1.1以上が必要)
- Webブラウザで動作するインターフェース
ほとんどのWeb対応デバイス(モバイル端末やVRヘッドセットを含む)からアクセス可能です。 - スタンドアロンアプリケーション
Windows、macOS、Linux(SteamOSを含む)向けに提供されています。 - iOSおよびAndroidへの対応も現在検討中です。
さらに、いくつかの追加機能も搭載されており、より安定した動作が可能です。
なお、BlueOS以外の車両と接続する場合、想定される通信形式に対応するために外部サーバーソフトウェアが必要になります。
(例:MAVLinkサーバーや MAVLink カメラマネージャー など)
試してみよう!
⏯️ 使い方紹介動画を見る
Cockpitの操作方法や機能を動画でチェック!
🌐 ブラウザ版を試してみる
Webブラウザから最新のインターフェースを体験できます。
※すぐに起動しますが、車両が接続されていないため、ウィジェットに表示されるデータはダミーとなります。
🎮 BlueOSでフルビークルシミュレーションを実行する
さまざまなビューや制御プロセスのテストが可能です。
※仮想マシンの起動と接続には数分かかることがあります。
※お使いのCockpitまたはBlueOSのバージョンが最新でない場合、一部の機能が正しく動作しない可能性があります。
🚀 自分の環境にインストールする
Cockpitをローカル環境にインストールして、より深く体験してみましょう。
主な機能一覧
- ブラウザベースのコントロールステーション
あらゆるWeb対応デバイスから車両の制御と監視が可能です。 - ウィジットベースのレイアウトシステム
ウィジェットの自由な配置やサイズ変更が可能です。 - 柔軟なウィジェット表示
一般的な入力データ(NAMED_VALUE_FLOAT
/NAMED_VALUE_INT
を含む)やカスタムMAVLinkメッセージの表示に対応。 - 外部ウィジェットの自動検出
外部から提供されたウィジェットを自動で検出・追加可能です。 - カスタム表示ビューの作成
ページ/プロファイル単位で切り替え可能なインターフェースビューを作成できます。 - マルチデバイス表示対応
複数のブラウザウィンドウ/画面/デバイスごとに異なるビューを表示可能。 - ビューの共有と保存
ビュー構成はJSON形式で保存・共有可能(コンポーネントやウィジェット設定を含む)。 - WebRTCベースのビデオウィジェット
複数のビデオストリームを表示可能で、ビデオの録画やテレメトリの字幕ファイルにも対応。 - マップウィジェット
位置追跡、ルートガイド、自律ミッションの計画・保存・読み込み、ミッションコントロールが可能。 - Do It Yourself(DIY)ウィジェット:カスタム作成機能
内容、スタイル、機能を完全にカスタマイズ可能。Cockpitのデータレイクやアクションシステムと連携可能。 - 柔軟なアクションシステム
ジョイスティック操作や画面上の要素を介して、車両コマンド、ビューの切り替え、録画開始などのアクションを実行可能。 - マルチ入力対応
複数のジョイスティックやデバイスからの同時入力に対応。すべてのボタンや軸に対し、任意のアクションを割り当て可能。 - 通知システム
MAVLinkのSTATUSTEXT
など、オートパイロットやアプリのアラートを表示。音声読み上げにも対応。 - ミッション名と録画ファイル名の管理
UI内で使用されるミッション名やビデオ保存ファイル名の設定・表示が可能。
クイックリンク
- 📚 ドキュメント
Cockpitの使い方や設定方法に関する詳細な情報はこちら。 - 💻 ソースコード
GitHubでプロジェクトのソースコードを閲覧・取得できます。 - 📦 リリース情報/変更ログ/関連ファイル
最新バージョンのダウンロードや更新内容の確認にどうぞ。
コミュニティとサポート
- 💬 ディスカッションフォーラム
ユーザー同士で質問や情報交換ができる掲示板。 - 🛠️ 不具合報告・機能リクエスト
問題の報告や新機能の提案はこちらから。 - 🗨️ チャット(Discord)
リアルタイムでのサポートや雑談が可能です。
使い方紹介動画
初心者向けの解説やデモンストレーションを動画でチェック!
Phil Parisi(2024年10月) - Blue Roboticsによる支援
開発者プレゼンテーション
ArduPilot開発者会議(2024年10月)
インストール
BlueOS 拡張機能としての利用
Cockpitは、BlueOSを実行しているオンボードコンピューターを搭載した車両において、Control Station(操作用PC)とIP接続(Wi-FiまたはEthernetテザー)されている場合、BlueOSの拡張機能として使用できます。
🔄 拡張機能の更新
Cockpitのインストール後、新しいバージョンへのアップデートは、BlueOS拡張機能マネージャー内の「インストール済み」タブから簡単に行えます。
自己完結型アプリケーション
Cockpit は、Control Station にインストールして使用できる自己完結型の Electron アプリケーションとしても提供されています。
このアプリは、コンピューター上で起動して車両と接続することで使用可能です。
🆕 最新リリース
最新の安定版の日付やリリース内容については、下記リンクから確認できます。
💻 OS別ダウンロードリンク(最新版)
ブラウザでBlueOS拡張機能を使用
オペレーティングシステム | x86_64(64ビット) | ARM64(Apple Silicon等) |
---|---|---|
Windows | Cockpit.exe |
利用不可 |
macOS ¹ | Cockpit-Intel.dmg |
現在非対応(x86_64版をご利用ください) |
iOS / iPadOS | 対応なし | |
Linux | cockpit-x86_64.AppImage / cockpit-x86_64.flatpak |
cockpit-arm64.AppImage / cockpit-arm64.flatpak |
Android | 対応なし | ブラウザでBlueOS拡張機能を使用 |
または、リリース情報を確認して、すべての利用可能なバージョンの一覧と、それらの主な変更点を確認してください。
¹ macOSをご利用の方へ
Cockpit はまだ Apple に正式登録されていないため、最初に起動する際に「セキュリティ上の警告」が表示されることがあります。
以下のいずれかの方法で開いてください。
- 「アプリケーション」フォルダ内の Cockpit を右クリック →[開く]→ 警告が出たら[この方法で開く]を選択
- または、**「システム設定 > セキュリティとプライバシー」**を開き、「許可する」ボタンが表示されている場合はそちらを選択
アプリケーションの更新について
Cockpit アプリケーションは、起動時に自動で新しいバージョンの有無をチェックします。
現在インストールされているバージョンよりも新しいリリースが利用可能な場合は、アップデート情報とダウンロード用のボタンが表示されます。
そのまま画面の指示に従って操作することで、簡単に最新版へアップデートできます。
コックピットへようこそ!
使い始めたばかりのときは、「何がどこにあるのか」を把握するのが大切です。
初回起動時には、Cockpitがインターフェースの主要な部分を順を追って説明するチュートリアルウィンドウを表示します。
一般的な構成
Cockpitは通常、車両を自動で検出し、接続します。
- BlueOSの拡張機能として実行される場合、Cockpitは自動的にBlueOSのIPアドレスを使って接続されるように設定されます。
- スタンドアロンのアプリケーションとして実行する場合は、ネットワーク上のBlueOS搭載車両を検出するための「車両検出プロセス」が用意されています。
車両のIPアドレスが運転中に変更された場合や、車両がBlueOSを実行していない場合は、グローバル車両アドレスを手動で設定する必要があることがあります。
また、状況によっては、MAVLink2RESTやWebRTCビデオシグナリングに接続するための、より具体的なバックエンドサーバーアドレス(例:MAVLink Camera Managerなど)を指定する必要があります。
こうした設定によって、Cockpitが車両の正しい接続ポイントを認識できるようになります。
設定セクションにアクセスするには、左側のサイドバーを開いて、該当項目を選択してください。Settings / General
【 基本設定 】
必要に応じて、より詳しい情報は「高度な使い方」のドキュメントに記載されています。
インターフェースのセットアップ
ビジュアルディスプレイ
車両に接続すると、Cockpitは車両タイプに応じたデフォルトのインターフェースビューセットを使用してプロファイルを自動的に読み込みます。
これらのビューセットは、作業を始めるうえでの基本的な構成として役立ちますが、特定の用途や好みに応じて自由にカスタマイズすることができます。
MAV / クワッドコプター
マイクロエアビークル(MAV)は、他の一般的なコントロールステーションソフトウェアと似たインターフェースから操作を始めることができます。
主な要素
- 地図ビュー
- 接続状況や通知の基本的なステータス表示
- アーム(動作準備)、離陸、飛行モードの切り替えなどの画面上の操作オプション
- 車両の高度や姿勢(オリエンテーション)を確認するためのテレメトリウィジェット
ローバー / ボート
ローバーやボート用のデフォルトインターフェースは、MAV(クワッドコプター)用のものとよく似ていますが、一部に違いがあります。
特に、画面下部のバーは「高度の追跡」ではなく、GPS速度ウィジェットに置き換えられています。
ROV / 潜水艦
CockpitはもともとROV(遠隔操作無人潜水機)向けに開発されており、次の3つの基本ビューが用意されています。
- ビデオ再生ビュー
- ビデオストリーム、車両のテレメトリー、コンパスと姿勢インジケーター、ステータス更新、飛行モードの選択が表示されます。
- 一人称視点での操作に便利で、車両の視界に焦点を当てたビューです。
- HUDビュー(ヘッドアップディスプレイ)
- ビデオストリームに加えて、HUDオーバーレイ、テレメトリー、ステータス更新、フライトモードの選択が表示されます。
- 精密な操縦に特化した、一人称操作のもう一つの選択肢です。
- マップビュー
- マップ、車両テレメトリー、ステータス更新、フライトモードの選択が含まれます。
- 測位システムや自律航行機能を搭載した車両のミッション計画や遠隔監視に最適です。
ジョイスティックの設定
ジョイスティックで車両を操作する場合は、ボタンやスティック(軸)の機能割り当てを、左側のサイドバーにある専用セクションから設定できます。
車両のセットアップ
現在、Cockpitには車両の構成や キャリブレーション機能は含まれていません。
そのため、これらの設定は事前に行っておくことをおすすめします。
設定には、BlueOSのWebインターフェースや、QGroundControlなどの他のコントロールステーションソフトウェアを使用できます。
操作
車両の準備が整ったら、リモコンで直接操作を開始したり、左側のサイドバーからミッションプランニングやフライト表示に切り替えることができます。
【 高度な使い方 】
ディスプレイの構成について
コックピットのメインインターフェースは、以下の3つの主要なコンポーネントで構成されています。
- 中央エリア(通常のウィジェットが表示されます)
- ミニウィジェットコンテナ(上部バーと下部バーを含みます)
- サイドバーメニューアイコン
- 通常、サイドバーには左側にタブ用の矢印が表示されます。
- また、左上隅にはハンバーガーメニューとして表示することもできます。
トップバー
トップバーは各ビューで一貫しており、通常はミッション情報のミニウィジェットや接続ステータスの表示に使用されます。
操作中は、「コックピットアクション」を使って表示・非表示の切り替えが可能です。
ボトムバー
ボトムバーは各ビューに固有のもので、一般的に車両ステータスコントローラーやインターフェースコントロールとともに、さまざまな種類のインジケーターが表示されます。
こちらも、操作中に「コックピットアクション」で表示・非表示を切り替えることができます。
サイドバーメニュー
画面左側のサイドバータブをクリックすると、さまざまな設定オプションにアクセスできます。
また、アプリケーションに関する情報の確認や、以下のような操作が可能です。

About(概要)
「バージョン情報」ウィンドウには、コックピットの簡単な説明、現在実行中のバージョン情報、および関連リソースや、ヘルプ・ディスカッション・コントリビューション(貢献)用のチャネルへのリンクが表示されます。

フルスクリーン表示
コックピットは、通常のウィンドウ内で実行することも、フルスクリーンアプリケーションとして表示することも可能です。
ブラウザウィンドウを完全なフルスクリーンにするには、タブや検索バーが表示されている上部とは別に、サイドバーメニューにあるフルスクリーンボタンを使用します。
このボタンで、コックピット自体をフルスクリーン表示に切り替えたり、元に戻したりすることができ、ブラウザやオペレーティングシステムのインターフェースにすばやく戻ることもできます。

設定
コックピットの設定では、アプリケーションの動作や通信方法(たとえばデータソースの指定など)を制御できます。
これには、コマンドやデータの送受信(録画やログも含む)方法、およびその処理・出力先の指定が含まれます。

利用可能な設定項目やインターフェース、オプションの詳細については、この後の専用セクションで説明します。
編集モード
コックピットは、構成可能なウィジェットシステムを中心に設計されており、用途に応じてカスタムインターフェースの作成や編集が可能です。
これはさまざまなアプリケーションに柔軟に対応できるよう設計されています。

基本構造
コックピットのインターフェースは、カスタマイズ可能なウィジェットを用いたシステムで構成されています。以下のような階層で成り立っています。
- ユーザー
- さまざまなオペレーター(操作者)をサポートするため
- 共通の構成で追加・切り替えが可能です。
- プロファイル
異なる車両タイプや動作モードに対応するための構成単位で、以下の操作が可能です。- 追加 / 削除 / 複製
- 保存 / 読み込み(車両や表示デバイス間での移動も可能)
- 編集モードでプロファイルの切り替えも行えます
- ビュー(各プロファイル内)
ミッション内の異なる操作モードやターゲットに対応するためのビューで、以下の操作が可能です。- 追加 / 非表示 / 削除 / 複製
- 保存 / 読み込み(表示デバイスとの間で)
- 動作中でも動的に切り替え可能です
- ウィジェット(各ビュー内)
情報の表示や車両の制御に使用され、以下の操作が可能です。- 追加 / 削除
- 移動 / サイズ変更
ユーザー
「ユーザー」はインターフェース設定よりも抽象的な概念で、主に次のようなケースで役立ちます。
- 複数のオペレーターが1台の制御ステーション(PCなど)を共有する場合
例:同じ組織内で複数の操縦者が異なる設定を使いたい場合
→ このような場合、プロファイルでもある程度の切り替えは可能ですが、ユーザーごとに設定を完全に分離することで、より明確でクリーンな管理ができます。初期化や設定のリセットも簡単に行えます。 - 1台のBlueOSベースの車両を複数の操縦者で共有する場合
→ それぞれが自分専用の設定で操作できるように、ユーザーを分けて管理するのが便利です。 - 個人で車両や操作用コンピューターを所有している場合
→ この場合は通常、ユーザー名(username)を一度設定すれば十分で、その後「ユーザー」レベルを意識する必要はほとんどありません。
ユーザーの切り替えは、[設定] → [一般] のメニューから行えます。

新しいユーザーの作成
新しいユーザーを作成するには、「新規追加」ボタンをクリックし、一意のユーザー名を入力してください。
新しく作成されたユーザーには、現在選択されているユーザーのプロファイルがコピーされます。(既存のプロファイルがない場合は、コックピットのデフォルトプロファイルが使用されます)
※現在のところ、ユーザーを削除する機能はありません。詳細
プロファイル
「プロファイル」は、特定のユースケースや車両に対応したビューのコレクションです。
プロファイルが役立つケース
- 1台のコントロールステーション(操作用PC)を複数のミッションで使用する場合
- たとえば、各ミッションで異なるビュー構成が必要な場合、それぞれを個別のプロファイルに分けて保存しておけば、ミッション開始時に最適な構成を素早く呼び出すことができます。
- 同じコントロールステーションで異なる種類の車両(ボート、水中ROV、ドローンなど)を操作する場合
- それぞれの車両に適した操作インターフェースをプロファイルとして用意しておくことで、車両のタイプに応じた最適なUIに即座に切り替えることができます。
- 接続された車両に一致するプロファイルが1つしか存在しない場合
- プロファイルは車両タイプに紐づけて登録されるため、コックピットは自動でそのプロファイルを読み込みます。
BlueOSベースの車両との連携
BlueOSを搭載した車両と接続する場合、コックピットはユーザーとそのプロファイルを自動で保存・読み込みすることができます。
これは、別のコントロールステーションや異なるネットワーク上にある車両に接続した際にも有効で、慣れたインターフェースを素早く再現するのに便利です。
デフォルトプロファイル
コックピットには、潜水艦、ボート、汎用のMAVLink対応航空機向けのデフォルトプロファイルが用意されています。
万が一、カスタムプロファイルに問題が発生した場合は、既知で安定したインターフェースであるこれらのデフォルトプロファイルに復元することが可能です。
注意ポイント
※ただし、デフォルトプロファイルはコックピットのバージョンによって内容が変更されることがあります。そのため、復元時には以前とは異なるインターフェースが表示される場合もありますのでご注意ください。

プロファイルの設定
プロファイルの管理は、編集モード時の左上エリア(サイドバーメニューからアクセス可能)で行います。
現在選択されているプロファイルの右側にある三点リーダー(⋮)アイコンをクリックすると、以下の操作が可能です。

- プロファイルの名前変更
- プロファイルの設定変更
- プロファイルの複製 / エクスポート / 削除
- プロファイルのインポート、または新しいプロファイルの作成
- 現在のユーザーのプロファイルをデフォルトプロファイルにリセット
- ウィジェットの配置グリッドの有効 / 無効の切り替え
(ウィジェットの配置・サイズ変更を補助)

このように、プロファイル機能を活用することで、自分に合ったインターフェースを柔軟に管理・再利用できます。
表示モード(ビュー)
「ビュー」とは、ウィジェットを配置・表示できる“ページ”のようなものです。
複数のビューを作成し、操作中に切り替えることで、状況に応じたインターフェースを簡単に利用できます。
ジョイスティックなどの入力デバイスを使ってビューを切り替えることも可能です。

ビューを使うメリット
たとえば、次のような使い分けができます。
- ビューA:ナビゲーションに特化したインターフェース
- ビューB:点検や観察作業に適したインターフェース
ミッションの流れに応じて、最初は「ビューA」で現場まで移動し、作業に入るタイミングで「ビューB」に切り替える、という使い方ができます。
複数デバイス / インスタンスでの利用
コックピットは、複数のデバイスやブラウザインスタンスから同じ車両に接続(または車両からコックピットを読み込む)することが可能です。
例えば・・・
- 別々のブラウザプロファイルを使う
- 一方は通常モード、もう一方はシークレットモードで表示する
ただし
同一ブラウザ内で複数タブを開いて同時使用することは現在サポートされていません。
ビューの同期
異なるインスタンス間で同じレイアウトを使いたい場合は、以下の方法で同期できます。
- 車両経由で同期する
- 一方のインスタンスからビューをエクスポートし、もう一方にインポートする
これにより、複数のデバイス間でも一貫したインターフェース環境を構築することができます。
ビューの構成
- 編集モードの起動
サイドバーメニューから「Settings」→「Edit Interface」を選択して編集モードを開きます。 - ビューマネージャーの表示 / 非表示
左上隅の矢印をクリックすると、ビューマネージャーの展開・非表示を切り替えることができます。 - ビューの管理
編集したいビューを選択し、新規作成、表示・非表示の切り替え、または削除が可能です。- ビューは外部ファイルからインポートしたり、共有のためにエクスポートすることもできます。
- 歯車アイコン(設定)をクリックすると、ビューの名前変更や、下部バーの表示/非表示・ドッキングの設定が行えます。
ジョイスティックボタンなどの「コックピットアクション」を使って、下部バーの表示をいつでも切り替えることができます。
- 「ウィジェット・イン・ビュー」リストについて
- ウィジェット名にカーソルを合わせると、インターフェース上でそのウィジェットがハイライトされます。
- メインビューエリア内でウィジェットをドラッグして並び順を変更できます。
例えば、ビデオ表示にHUD要素を重ねるといった場面で便利です。 - ビューからウィジェットを削除したり、サイズを変更してビュー全体に表示させることも可能です。
- 新しいウィジェットの追加
- 新しいウィジェットは画面下部のセクションから追加できます。
通常のウィジェットカードをメインビューエリアにドラッグすると、そのウィジェットがビューに追加され、配置やサイズを自由に調整できます。 - ミニウィジェットはサイズ固定ですが、画面上部・下部のバーやカスタムコンテナウィジェットにドラッグ&ドロップで配置可能です。
- 上部バーはすべてのビューで共通、下部バーはビューごとに個別設定となります。
- 左下のセレクターから、「通常ウィジェット」「ミニウィジェット」「入力ウィジェット」のいずれかの編集を選択できます。
- 新しいウィジェットは画面下部のセクションから追加できます。
- ウィジェットの設定
- 一部のウィジェットは、「ウィジェット・イン・ビュー」リスト内の歯車アイコンから設定が可能です。
- 現在、すべてのウィジェットに歯車アイコンが表示されますが、クリックしても反応しない場合は、そのウィジェットは設定に対応していないことを意味します。
ウィジェットについて
ウィジェットにはいくつかの種類があり、同じ情報でも表示方法や使用するコンテキストに応じて異なる形式で表示されます。
- 通常のウィジェット
ビデオ、地図、計器ゲージ、オーバーレイなど、詳細な情報を表示するウィジェットです。
これらはメインディスプレイエリアにのみ配置可能で、位置やサイズは(設定で有効になっていれば)プロファイルのグリッドにスナップして整列します。 - ミニウィジェット
小型のウィジェットで、主にテキストベースのインジケーターやボタンなどが含まれます。
共有のトップバー、各ビューごとのボトムバー、またはカスタムコンテナウィジェット内に配置できます。 - 入力ウィジェット
ユーザーがカスタム入力やコマンドを行うための、ミニウィジェットに似たタイプです。
こちらも、共有のトップバー、ビューごとのボトムバー、またはカスタムコンテナウィジェット内に配置可能です。
ミッション情報
- ミッション名
デフォルトでは、コックピットを開くたび、または再起動時に、現在のミッション(操作)の名前がランダムに生成され、ミッション名インジケーターに表示されます。ウィジェットをクリックすることで、任意のカスタム名を設定することができ、この名前はファイルやビデオ録画の保存時にも使用されます。
ミッション名を編集中に、キャンセルしたい場合や誤って入力した場合も、変更を取り消すことが可能です。
- アラート
アラート用のミニウィジェットでは、コックピットで発生したアラートとその重大度を確認できます。ウィジェットにカーソルを合わせると、過去のアラート履歴がスクロール表示されます。
- 電源 / バッテリーインジケーター
表示内容は設定によりカスタマイズでき、現在の電力使用量や瞬間的な消費電力、またはその両方を交互に表示するよう設定可能です。
- 日付と時刻
現在の日付と時刻は、ミニウィジェットで表示できます。
POINT
接続ステータス
- 車両接続インジケーター
コックピットが車両と接続または切断されると、画面の縁に緑(接続)または赤(切断)の枠が表示されます。
また、車両接続ミニウィジェットには、接続状態に関する情報が順番に表示されます。 - ジョイスティック接続インジケーター
ジョイスティック接続用のミニウィジェットでは、ジョイスティックが接続中か、切断済みか、無効化されているかを確認できます。ウィジェットをクリックすると、接続を手動で無効にすることも可能です。
これは、複数のユーザーが異なるデバイスから車両の操作を交代で行う場合などに便利です。
また、誤作動したジョイスティックから不要な操作が送信されるのを防ぐために、物理的に接続されていないデバイスを切断またはペアリング解除する際にも有効です。
- GPS接続インジケーター
衛星測位を利用する車両では、GPS接続ミニウィジェットが現在接続されている衛星の数や、位置情報のロック状態(取得済み/未取得)を表示します。
車両ステータスコントローラー
車両のステータスやモードは、ジョイスティックに割り当てたコックピットアクション(ボタン操作)を使って制御することができますが、これらのミニウィジェットを使えば、画面上でも操作や確認が可能です。現在のステータスが常に表示されます。
- アーム/武装解除
車両をアーム(起動状態)にしたり、解除(待機状態)にしたりし
ます。 - フライトモード
現在の飛行モードを表示・変更できます。
インターフェース制御
- ビューセレクター
現在表示中のビュー(画面レイアウト)は、ビューセレクターのミニウィジェットから切り替えることができます。
POINT
汎用インジケーター(非常に一般的な指標)
これらのミニウィジェットは、コックピットが車両から受け取るほぼすべての情報を追跡できるように設定可能な、非常に柔軟性の高いウィジェットです。以下のような情報に対応しています。
1. MAVLinkメッセージ内の任意の変数
- IDフィールドを持つメッセージは、それぞれのIDごとに異なるインスタンスとして分けて表示されます。
NAMED_VALUE_FLOAT
やNAMED_VALUE_INT
といったメッセージタイプは、カスタム名で分割され、コックピット側で事前にその名前を知っておく必要はありません。- 現在は、ArduPilot系の車両から送信されるメッセージのみが既知・サポート対象です。
例:CommonメッセージセットやArduPilotMegaメッセージセット など。
2. オンボードコンピュータからの情報
- 例として、BlueOS の CPU温度(例:
blueos/cpu/tempC
)など、システム情報を取得して表示できます。 - よく使われる変数については、設定を簡略化するためにプリセット(あらかじめ作成された設定)が用意されています。
カスタム設定オプション
ミニウィジェットには以下のカスタマイズが可能です。
- 表示単位(例:℃、m/sなど)
- 値の倍率(例:100倍してパーセンテージ表示)
- 表示アイコンの選択
- 小数点以下の桁数
- カスタム表示名の指定
変数の選択はドロップダウンリストから行えますが、ドロップダウン内でキーワード入力によるファジー検索もサポートされています。
これにより、関心のある情報を素早く見つけることができます。
姿勢インジケーター(Attitude Indicators)
車両の姿勢(ピッチ・ロール・ヨー)を把握するための各種ウィジェットについて説明します。
姿勢HUD(Attitude HUD)
姿勢HUDウィジェットは、車両のピッチ(上下の傾き)とロール(左右の傾き)をヘッドアップディスプレイ(HUD)オーバーレイとして表示します。

表示する各コンポーネントやラインの色はカスタマイズ可能です。

チルト(傾き)制御付きカメラマウントを搭載した車両の場合、カメラの垂直FOV(視野角)を設定することで、表示されるピッチラインにカメラの傾斜角度を反映した「センターエイムインジケーター」を表示できます。
バーチャルホライズン(Virtual Horizon)
仮想水平線ウィジェットは、車両のピッチとロールをゲージのような平面表示でビジュアル化します。

これは、車両がガイド付き/自律制御されている際や、メインディスプレイ上に位置情報を表示する状況で特に有用です。
姿勢データ表示(Attitude Values)
ロール・ピッチ・ヨーの値およびその**回転速度(レート)は、ATTITUDE MAVLinkメッセージを通じて取得され、メインの姿勢ウィジェットの情報源として使われます。
また、姿勢安定飛行モードで操作している場合、NAV_CONTROLLER_OUTPUT MAVLinkメッセージを通じて目標姿勢値(ターゲットアングル)にもアクセスできます。
これらの値は、必要に応じて「汎用インジケーターウィジェット(Very Generic Indicator)」に表示させることも可能です。
定針儀(コンパス)
コンパスウィジェット
コンパスウィジェットは、まるで手元のコンパスを見ているかのように、車両の向いている方向(ヘディング)を表示します。

これは、車両の位置がメインディスプレイに表示されるような、ガイド付き飛行や自律制御の際に特に役立ちます。
また、地図の垂直方向を「北固定(ノースアップ)」にするか、車両の進行方向に合わせて回転する「ヘッドアップ」表示にするかを選択することができます。

コンパスHUD
コンパスHUDは、一人称視点でのコンパス表示を提供するウィジェットです。
まるで自分がコンパスの内側に立って周囲を見回しているような感覚で、車両の向いている方向(方位)を確認することができます。

また、正確な方位角(角度)を表示するかどうか、および 角度の範囲を「0〜360°」または「-180°〜+180°」のどちらで表示するかを設定することができます(※デフォルトは「0〜360°」)緑色

ヘディング(見出し)の値について
通常、定針儀(コンパス)は、姿勢データのヨー(Yaw)値を使用して車両の方位を表示します。
ただし、対応するセンサーと設定がある車両では、GPS_RAW_INT メッセージを通じて、GPSユニットが提供する「生の方位(ヘディング)」にもアクセスすることが可能です。
デプスインジケーター(Depth Indicator)
深度HUD
深度HUDは、外部の圧力センサーによって測定された車両の現在の深度(水深)を表示するウィジェットです。

これは、主に水中ドローンや水中ビークルでの使用に適しています。
「設定」で、以下をカスタマイズ可能
- 正確な深度の数値を表示するかどうか
- 表示ラインの色をどうするか

深度ミニウィジェット

高度インジケーター
高度インジケーターミニウィジェット
このミニウィジェットには、気圧計のキャリブレーションポイントを基準とした 車両の推定高度が表示されます。

航空機向けに設計されているため、高度の「プラス」は上方向を意味します。
高度修正ツール
離陸/着陸、または高度の変更を指示するミニウィジェットを使用すると、


目的とする高度を設定するためのスライダーが表示されます。

地図
測位システム(GPSなど)を搭載している車両では、マップウィジェットにあらかじめ登録されたホームポジションと現在位置が表示されます。
また、時間経過に伴う車両の移動ルートを追跡するオプションも用意されています。
【 ボタンの説明 】
左下のボタン:
- マップを自動で移動させます。
※コントロールステーション(操作用PC)がボートに搭載されている場合、ホーム位置も移動する可能性があります。 - 車両の現在位置を追跡し、マップがその位置に合わせて移動します。
- 車両から現在のミッションをダウンロードし、マップ上に表示します。
- 車両に保存されているミッションを実行します。
右下のボタン:
- マップをズームイン/ズームアウトします。
右上のボタン:
ココがポイント
ミッション計画は、専用のセクションに記載されています。
この構成により、車両の軌跡(移動履歴)を時間の経過に応じて表示・非表示に切り替えることが可能です。

自動操舵ファームウェアを搭載し、正確な位置推定が可能な車両では、「GoTo」コマンドを使って目的地を指示できます。
マップ上で目的地をクリックし、「GoTo」オプションを選択すると、その位置がデフォルトの移動先として設定されます。

現在のところ、以下の3つの基準点のいずれかを手動で選択して、マップのデフォルト表示位置として設定することができます。
- 車両の現在位置
- GPSの発信元(例:コントロールステーション)
- 登録されたホームポジション
ビデオウィジェット
コックピット画面には、さまざまなソースからの映像を表示・処理するための複数のビデオウィジェットが用意されています。
複数のビデオウィジェットを追加し、それぞれに異なるビデオストリームを表示することが可能です。
表示方法は「フレームのスタイル」オプションで調整できます。以下の3つのモードがあります。
- cover(カバー):
ビデオのアスペクト比(縦横比)を維持したまま、ウィジェット全体を覆うように拡大表示します。
そのため、映像の上下または左右の一部がウィジェットの外にはみ出す(トリミングされる)場合があります。 - fill(フィル):
ビデオの縦横比は無視され、ウィジェットのサイズにぴったり合うようにフレームが引き伸ばされます。
映像の歪みが生じる可能性がありますが、スペースを無駄なく活用できます。 - contain(コンテイン):
ビデオのアスペクト比を維持しつつ、ウィジェット内にすべての映像が収まるように縮小表示します。
必要に応じて、上下または左右に透明な余白(パディング)が追加されます。
WebRTCビデオプレーヤー
WebRTCビデオプレーヤーウィジェットでは、設定メニューで指定されたWebRTCビデオストリームを表示することができます。
BlueOSは、MAVLinkカメラマネージャーを使用して、該当するビデオストリーム用のWebRTC接続を自動的に作成します。

設定メニューでは、次のような調整が可能です。
- 表示するビデオストリームの選択
- ストリーム映像の反転・回転
- 映像のフレームをウィジェット内にどのように表示するか
(※表示方法は「cover」「fill」「contain」など、前述のオプションを参照)

ビデオストリームに問題が発生した場合、ストリームのパフォーマンス統計を確認することで、原因の特定に役立つことがあります。

WebRTCビデオレコーダー
WebRTCビデオレコーダーウィジェットでは、着信中のWebRTCビデオストリームをそのまま記録することができます。
(ウィジェットの表示に関係なく、スケーリング・トリミング・反転・回転などは適用されません)

左側の赤いアイコンをクリックすると、現在選択されているビデオストリームの録画をすぐに開始・停止できます。
ウィジェット中央のストリーム名をクリックすると、記録対象のストリームを選択できます。

録画されたビデオは、ミッション名と開始時刻のタイムスタンプを名前として保存されます。
保存先はビデオライブラリで、録画済みのビデオがある場合はウィジェット右側にインジケーターが表示されます。このインジケーターをクリックすると、ビデオライブラリを直接開くことができます。
補足情報
- 録画は使用中のデバイス側で実行されます
(車両側ではありません) - ブラウザでCockpitを使用している場合
録画中のビデオは一時的にメモリ上に保存されます。そのため、録画時間に制限がかかる場合があります。
一方で、スタンドアロンアプリ(デスクトップ版など)を使用している場合は、録画が直接ファイルシステムに保存されるため、制限なく録画が可能です。
録画したビデオの分析をより簡単に行うために、Cockpit(コックピット)ではテレメトリデータ(各種センサー値や状態情報など)をログとして記録し、それを字幕ファイル(サブタイトル)として保存する設定が可能です。
この字幕ファイルを使用することで、ビデオ再生時にテレメトリ情報を映像と一緒に確認できるため、非常に便利です。

また、録画中にCockpitを使用しているタブやアプリケーションを閉じようとすると、誤操作による録画中断を防ぐための警告メッセージが表示されます。

URLビデオプレーヤー
URLビデオプレーヤーウィジェットは、指定されたURLからビデオを再生するためのウィジェットです。これは、BlueOSを経由せずにIPカメラをテストしたい場合に便利です。
また、特定の事情で必要な場合には、YouTubeなどのオンラインビデオの表示にも使用できます。
設定項目
このウィジェットでは、以下の設定が可能です。
- ストリーミングするビデオのURLの指定
- ビデオを<strong自動再生するかどうか
- ビデオを再生後にループ再生するかどうか
- 音声を再生するかミュートにするか
- 再生コントロール(再生・停止ボタンなど)を表示するかどうか
- 映像の表示方法(「cover」「fill」「contain」など)を選択
※映像の表示方法については、前述のビデオフレームオプションを参照してください。

このウィジェットと似た機能を持つものについては「外部ディスプレイ」セクションもあわせて参照すると役立ちます。
外部ディスプレイ
IFrame(アイフレーム)
IFrameウィジェットは、コックピットインターフェース内に別のHTMLページを表示できるインラインフレームを提供します。
これは、IPカメラの映像やBlueOS拡張機能のインターフェースを表示する際に特に便利です。

設定に応じて、IFrameで取得するページのURLや、全体の透明度を指定できます。

■ 自動外部IFrameの検出
BlueOS 1.4以降では、HTTPサーバー(例:BlueOS Extensions)によって提供されるエンドポイントが、CockpitのExternal IFrameウィジェットに自動的に認識・表示されるようになりました。
これには、/register_service
というエンドポイントを通じて、1つ以上のURLを提供する必要があります。

このエンドポイントは、以下のようなディクショナリ構造で、利用可能なウィジェットをリストする必要があります。
register_service
"cockpit"
"extras"
/register_service
{ ... "extras":{ "cockpit":"/cockpit_extras.json" } }
Cockpit関連のエンドポイントには、以下の情報を含める必要があります。
- ウィジェットの名前
- バージョン
- iframeで表示するURL
- オプションの追加URL
これらの設定は、cockpit_extras.json
で定義されます。
{
"target_system":"Cockpit",
"target_cockpit_api_version":"1.0.0",
"widgets":[
{
"name":"ExternalWidgetName",
"config_iframe_url":null,
"iframe_url":"/path/to/widget/page",
"version":"1.3.8"
}
]
}
構成用のURLが指定されていない場合は、標準のIFrameウィジェット設定オプションが適用されます。
画像ビューア
画像ビューアウィジェットは、Control Station(操作用コンピューター)からネットワーク経由でアクセス可能な画像を表示します。

たとえば、ブランディング用ロゴなど、インターネット上の画像を表示することも可能です。
(コンピューターがインターネットに接続されている場合、Cockpit起動時に画像へアクセスします)
POINT
データプロット
■ プロッターウィジェット
プロッターウィジェットを使うと、選択したデータをリアルタイムでグラフにプロットすることができます。

プロットする変数の選択や、グラフの基本的な見た目に関する設定オプションも用意されています。

主な特徴
- 表示される統計情報の小数点以下の桁数を調整可能
- 表示するデータポイント数の上限を設定することで、グラフの視認性やパフォーマンスを最適化
このウィジェットは、デフォルトで「データレイク」と呼ばれるシステムからデータを取得します。
データレイクには、以下のようなソースが含まれます。
- Cockpitのメモリに保存されている使用データ(usage)
- MAVLinkメッセージ内の各種フィールド
- カスタムアクションによって追加された値
さらに、BlueOS特有のオプションとも簡単に連携できるため、よく使われる指標や状態を即座に可視化することが可能です。
Do It Yourselfウィジェット(DIYウィジェット)
DIYウィジェットは、要素・ロジック・スタイルを完全にカスタマイズ可能なウィジェットです。

Cockpitの起動や更新時に、自動的に設定されたコードが実行されます。
※カスタムアクションとの違い
カスタムアクションはユーザーによるトリガー(操作)が必要ですが、DIYウィジェットは自動実行されます。
開発者は window.cockpit.*
というCockpit APIを使用して、独自の機能を組み込むことが可能です。
コンテナウィジェット
コンテナウィジェットは、ミニウィジェットや入力ウィジェットをまとめて表示・管理するためのウィジェットです。Cockpit内のビューエリアに配置されます。
■ ミニウィジェットバー
一般的な長方形のコンテナウィジェットで、内部のウィジェットはリストの順序に従って配置されます。

■ カスタムウィジェットベース
名前の設定、折りたたみ、ドラッグによる移動が可能なコンテナ型ウィジェットです。
内部にはグリッド状にウィジェットを配置するオプションも用意されています。

入力ウィジェット
入力ウィジェットは、コンテナウィジェット内に配置する必要があります。
編集モードでウィジェットをクリックすることで、構成・設定を行うことができます。
他のウィジェットはあらかじめ定義された動作を持っていることが多いですが、入力ウィジェットは主にトリガーを送るためのものとして設計されており、カスタムアクションのパラメータとして使う変数を設定する用途に向いています。
■ アクションボタン
アクションボタンは、押すことであらかじめ指定されたアクションをトリガーできます。

直感的な操作が可能で、ユーザーが任意のタイミングで処理を実行する場面に便利です。
■ ブール入力
True/False
または 0/1
のような真偽値のパラメーターには、スイッチまたはチェックボックス型の入力ウィジェットが使用できます。

■ 複数値入力
あらかじめ定義された複数の選択肢から1つを選ばせたい場合は、ドロップダウン型の入力ウィジェットを使うのが適しています。

■ 範囲入力
数値(整数または小数)の範囲を指定したい場合には、以下の2種類の入力ウィジェットがあります。
- ダイヤル入力ウィジェット → 値は最も近い整数に丸められ、一定の範囲内で調整可能です。
- スライダー入力ウィジェット → 値は小数点第1位(例:0.1)で丸められ、より細かい調整が可能です。
入力ラベル
Custom Widget Base内に複数の入力ウィジェットをグループで配置する場合、ラベルウィジェットを使って見出しを付けると視認性が高まり、整理されたレイアウトになります。

動作設定
Cockpitの動作は、サイドバーメニュー内の各タブから設定できます。
全般(General)
「全般」設定では、Cockpitの基本的な構成を管理し、誰がどのようにシステムを使用するか、どの車両と接続するかを設定できます。

【 主な設定項目 】
- アクティブユーザーの作成と切り替え
- 接続する車両のプライマリネットワークアドレスの指定
- 必要に応じて、オートパイロット/MAVLinkルーターのテレメトリ接続先アドレスを上書き可能
- オプションで、WebRTCによるビデオストリーミング用のメディア接続アドレスも設定可能
- WebRTCの接続に関する詳細なパラメータもカスタマイズ可能
インターフェース設定
「インターフェース」設定では、Cockpitの見た目やデータ表示方法に関する上位レベルの設定を行えます。

操作中に表示されるコンポーネントやウィジェットの配置変更や表示内容のカスタマイズも可能です。
これらの調整は、編集モードに切り替えることで専用のインターフェースから管理できます。
ジョイスティック設定
Cockpitは、さまざまな種類のジョイスティックに対応しており、ジョイスティックのボタンや軸(スティック)を、任意の機能にマッピングできます。
これにより、次のような操作が可能になります。
- 車両への入力やコマンドを、各種プロトコルを通じて送信
- Cockpitインターフェース内で特定のイベントをトリガー
ポイント
デフォルトでは、Cockpitは接続された車両の種類に応じて最適な機能マッピングを自動選択します。
このマッピングは、ユーザーとCockpit間で自動的に同期されますが、必要に応じて手動でエクスポート/インポートすることも可能です。
→ 別のユーザーやCockpitインスタンス、あるいは別のデバイス間で設定を共有できます。
さらに、Cockpitには既知のジョイスティックタイプ用のインタラクティブな図が用意されており、
ボタンや軸の割り当てを視覚的にマッピングしながら確認・設定できます。

ジョイスティックのボタン操作やスティックの動き(軸の動き)は、画面上の図にリアルタイムでミラー表示されます。
図内のボタンやスティックの要素をクリックすることで、マッピングされた機能を再設定(再マップ)することが可能です。
POINT
また、既知のジョイスティックタイプにも、新しい(未知の)ジョイスティックタイプにも対応した テーブル形式のビュー(一覧)も用意されており、マッピング内容をより視覚的に確認・編集することができます。

ジョイスティックのボタン機能の再設定(再マッピング)は、各ボタンに対応する行の右端にある鉛筆アイコン(編集ボタン)をクリックすることで行えます。
POINT
デフォルトでは、各ジョイスティックにつき最大32のボタンと、32の軸(スティック動作)をサポートしています。
ジョイスティックのプロトコルについて
ジョイスティックのボタンや軸の機能をマッピングする際には、複数のプロトコルから選択することができます。


■ MAVLinkメッセージ「MANUAL_CONTROL」
MANUAL_CONTROL
メッセージは、MAVLinkプロトコルの一部であり、現在は25Hzの頻度で自動的に送信されます(この送信頻度は現在のところ変更できません)。
POINT!
注意ポイント
なお、ブラウザのタブがコックピットアプリケーションから切り替えられたり、ウィンドウが最小化された場合には、ジョイスティック入力へのアクセスが失われ、通常は入力の損失を示すようにメッセージの送信が停止します。これが原因で、オートパイロットのフェイルセーフ機能が作動してしまう場合がありますが、状況によってはこれは望ましくないこともあります。
そのため、ジョイスティック設定ページの右上には、「最後に受信したジョイスティック入力を繰り返し送信し続ける」オプションが用意されています。これにより、ジョイスティック入力の一時的な損失による予期しない挙動を防ぐことができます。MANUAL_CONTROL
安全な操作のために
自分の車両が現在どこにあり、周囲にどのような危険が存在するのかを常に把握しておくことが非常に重要です。
■ ボタンの機能設定について
ジョイスティックのボタンに割り当てられる機能は、自動操縦ファームウェアによって異なります。
たとえば、ArduSubでは各ボタンは BTNn_FUNCTION
パラメータの値に対応しています。
いくつかの注意点
- ArduSub v4.1.x以前では、MANUAL_CONTROLプロトコルにおいて 最大16個のボタンと4つの軸入力のみがサポートされています。
- より新しいバージョンでは、最大32個のボタンと6軸のモーション入力をサポートする拡張プロトコルに対応しています。
- ArduRoverは、MANUAL_CONTROLプロトコル経由でのボタン入力には対応していません。
また、Z軸(垂直方向)のモーション入力をマッピングする際には以下の点にご注意ください。
- ArduSubでは、Z軸の範囲として 0〜+1000 を使用します「フルリバース」から「フルフォワード」まで。
- その他の車両では通常、-1000〜+1000 の範囲を使用し、0がニュートラル、プラス方向が前進となります。
■ ボタン機能のマッピングについて
ボタン機能のマッピングは、既存の設定を極力崩さないように設計されています。
MANUAL_CONTROL
を介してコックピットからジョイスティックボタンをマッピングする際、以下のような優先順位で処理が行われます。
- 既に割り当て済みの機能を優先的に使用
たとえば、「スタビライズモードを有効にする」機能が既に設定されている場合、コックピットはその機能を持つボタンに自動的にマッピングします。(BTNn_FUNCTION
) - 未使用(Disabled)状態の
BTNn_FUNCTION
に上書き - 現在使われていない既存のファンクションビットに上書き
- すべてのボタンが使用中の場合、機能を割り当てようとすると「ボタンが不足している」というエラーメッセージが表示されます。(
MANUAL_CONTROL
)
なお、車両が未接続の状態でも、ジョイスティックのボタン機能を事前にマッピングすることが可能です。
この場合、関連するオートパイロットのパラメータは、車両が接続された際に自動的に再マッピングされます。
また、マッピングされた機能の数が車両側のサポートを超えている場合、超過分の機能は削除され、警告が表示されます。これは、設定が意図した通りに適用されていないことを通知するためのものです。(MANUAL_CONTROL
)
■ コックピットアクション
ジョイスティックのボタンは、インターフェースの変更や特定のMAVLinkメッセージの送信に使用できます。
これらの動作は、コックピットのアクションシステムを使って設定(または定義)することができます。
■ 修飾キー(Modifier Key)
修飾キー(Modifier)を使うと、1つのボタンを「修飾キー」として利用することで、他のすべてのボタンに追加の機能スロットを割り当てることができます。
たとえば、修飾キーを押しながら別のボタンを押すことで、通常の機能とは異なるアクションを実行できます。
現在、使用可能な修飾キーは 1つ(Shift) のみです。
特殊なケースについて
Shift機能スロットがMANUAL_CONTROL
のMAVLink機能として構成されている場合でも、通常のボタン(例:S)とは独立して追加のボタン機能を設定することが可能です。
このような修飾キー機能は、他のジョイスティックプロトコルには影響されず、通常(レギュラー)または修飾(モディファイア)どちらのスロットにも柔軟に割り当てることができます。
- 通常の機能 →
BTNn_FUNCTION
- 修飾キー使用時の機能 →
BTNn_SFUNCTION
■ その他の設定
現在「No Function(機能なし)」オプションは、ボタンや軸に何もマッピングされていない場合にのみ利用可能です。
カスタムジョイスティックのサポート
新しいジョイスティックタイプをサポートするためには、特定の要素IDを持つSVGファイルを用意する必要があります。
このSVGファイルは、機能マッピング時にボタンが押されたことを視覚的に表示するために使用されます(例:対応するSVG要素がハイライトされる)。
SVG要素IDのルール
path_b*
:ジョイスティックのボタン番号に対応する要素です。
現在はpath_b0
~path_b31
の最大32ボタンまで使用可能です。path_b10
/path_b11
:ジョイスティックの軸表示用に使用されます。path_b10
→ 左スティックpath_b11
→ 右スティック
※将来的には、スライダーやその他の軸入力にも対応予定です。
■ ボタンマッピングの手順
- SVG上のボタンをクリックして再マッピングしたいボタンを選択します。
- 表示された「再マップ」ボタンをクリックします。
- 実際のジョイスティックの対応するボタンを押すと、その場所にマッピングされます。
■ 今後の拡張予定
現在は、SVGファイルを手動でコードに追加する必要がありますが、将来的には動的にSVGを追加・インポートできる仕組みが導入される予定です。
■ マッピングの保存と移行
一度ジョイスティックタイプに対して適切にSVGが登録されると、コックピットは物理ジョイスティックのボタンIDとSVG内の要素をマッピングできるようになります。
POINT!
このマッピング情報は、コンピューターや車両にエクスポートして保存することができ、あとから別のCockpitインスタンスや新しいデバイスにインポートして再利用することが可能です。
ビデオストリームの構成
Cockpitでは、利用可能なビデオストリームとその接続設定を表示・構成することができます。

ストリーム名の変更
- 各ビデオストリームには、カスタム名を設定できます。
- 名前を変更するには、既存の名前をダブルクリックするか、鉛筆アイコンをクリックしてください。
IPアドレスによる接続制限
- ビデオストリーミングに使用できるIPアドレスを制限することで、接続の安定性を高めることができます。
- 例えば、有線(テザー)と無線(Wi-Fi)の両方で接続可能な場合、テザーIPのみに制限することで、無線経由で映像が途切れるのを防ぐことができます。
- デフォルトでは、有線接続(EthernetテザーやUSBケーブルなど)が優先されます(検出された場合)。
使用するネットワークプロトコルの指定
- ビデオストリーミングに許可するネットワークプロトコル(UDP / TCP)を制限できます。
- UDP:低レイテンシで送信可能ですが、フレームの欠落が発生することがあります。
- TCP:フレームの順序が保証されますが、レイテンシやジッター(映像のブレ)の増加が起こる可能性があります。
ジッターバッファーの調整
- ストリームパイプラインのジッターバッファー期間をカスタマイズできます。
- バッファー値を大きくすると、表示までの遅延は増加しますが、ネットワークの不安定さ(ジッター)を吸収し、よりスムーズで安定した映像表示が可能になります。
ビデオライブラリの動作設定
- 録画されたビデオは、録画セッション終了時に自動的に結合するか、手動での結合を選択できます。
※ 自動結合は便利ですが、低スペックなハードウェアでは処理に時間がかかることがあります。 - ビデオと字幕ファイルは、1つの圧縮アーカイブ(ZIPなど)としてまとめてダウンロードすることも可能です。
ただし、ファイルサイズが大きい場合は圧縮処理に時間がかかるため、状況に応じて使い分けるとよいでしょう。
ビデオライブラリへのアクセス
ビデオライブラリには、この設定ページまたは任意のビデオレコーダーミニウィジェットからアクセスできます。
テレメトリー表示と録画
Cockpitが受信したテレメトリーデータは、リアルタイムで表示されるだけでなく、ビデオの字幕ファイルとして記録することもできます。
表示エリアへの追加・削除
- 利用可能なテレメトリ変数は、画面内の任意のエリアへドラッグ&ドロップすることで、表示位置を自由に指定できます。
- これにより、ライブ表示だけでなく、録画時に生成される字幕ファイルにも反映されます。
- 不要な変数は、変数名の横にある「✕」ボタンをクリックすることで表示と録画の両方から削除できます。

アラート
コックピットには、操作中にさまざまなアラート機能が搭載されています。
アラートにテキスト読み上げ技術が対応している場合は、その内容を音声で確認できます。
開発/トラブルシューティング
これらの機能は、エラーの追跡やトラブルシューティングに役立ちます。
通常の使用では、特に変更せずそのままにしておいて問題ありません。

- 開発モード:表示されているウィジェットに関する情報をデバッグオーバーレイとして表示します。
- 開発情報のぼかしレベル:開発モード時に、インターフェースの背景がどの程度ぼやけるかを設定します。
- BlueOS設定の同期:BlueOSを実行している場合、コックピットの設定を接続された車両と同期できます。これにより、その車両が後で別のデバイス上でコックピットを使用する際にも、同じ設定が引き継がれます。
- 使用統計テレメトリの送信:コックピット開発チームに、使用状況の統計情報やエラーデータを自動的に送信することで、一般的な問題やパフォーマンスの課題を把握・改善するために役立ちます。
- システムログ:アプリケーションのログを作成し、開発者に問題の特定やデバッグを支援します。ログは確認・共有が可能です。
- システムログが無効な場合:メッセージはブラウザやアプリケーションのコンソールに送信されますが、これによりパフォーマンスが低下する可能性があります。
MAVLinkインスペクター
MAVLinkメッセージの各フィールドを継続的に監視したい場合は、汎用的なインジケーターやデータプロットウィジェットを利用することで可能です。
一方、MAVLinkインスペクタータブでは、数種類のMAVLinkメッセージを一時的に確認できます。

- 受信メッセージと送信メッセージの両方をリアルタイムで監視できます。
- 「リセット」を押すと、現在表示されているメッセージの一覧がクリアされます。
POINT!
また、ソフトウェアによっては、より高度なMAVLinkメッセージの検査・追跡用インターフェースにアクセスできる場合があります。たとえば、BlueOSにはMAVLinkインスペクターが組み込まれており、MAVLinkメッセージをコックピットにルーティングすることが可能です。MAVLinkサーバーとして動作するルーター機能を使えば、詳細なデバッグ用のインターフェースも利用できます。
ミッションと安全性
オートパイロットには、フェイルセーフ機能や事前チェック機能が組み込まれていることが多く、オペレーターにとっても非常に役立ちます。
特に、安全性に関わる操作やミッションクリティカルなアクションについては、車両に送信する前に明確な確認操作を求めるインターフェースが用意されています。

一部のインターフェースでは、ボタンの誤操作やスライダーの意図しない操作が望ましくない結果を招く可能性があるため、追加の確認ステップが導入されています。
- 確認スライダー:インターフェース内に表示されるスライダーをドラッグすることでアクションが確定されます。または、ジョイスティックのアクションボタンが「
hold_to_confirm
」に設定されている場合は、そのボタンを一定時間押し続けることで確認が完了します。 - ジョイスティックボタンによるアクション:インターフェース上の要素を使わず、ジョイスティックの専用ボタンで直接アクションを実行する場合は、追加の確認は不要とみなされます。ボタンを押すこと自体が確認操作と見なされます。
- 修飾キーによる保護:もしジョイスティックのボタン操作に対しても誤操作防止の機能が必要な場合は、修飾キー(modifier)を使ったスロットに割り当てることを検討してください。これにより、事前に修飾キーを押し続けてからアクションを実行する必要があるため、意図しない操作を防ぐことができます。
■ デフォルトのマップ位置
操作をスムーズに行うために、デフォルトのマップ位置とズームレベルを保存しておくことができます。

この機能は、特定のミッションを行う前や、地図を常に決まった作戦エリア付近から表示させたい場合に便利です。
コックピットアクション
コックピットのアクションシステムは、さまざまな入力ソース(ジョイスティックのボタン、インターフェース内の要素、他のアクションなど)からトリガー可能な一連の機能を提供します。
デフォルトアクション
コックピットには、利便性を高めるために、以下のようなあらかじめ定義されたアクションが組み込まれています。
定義されたアクション一覧
go_to_next_view
:次のビューへ切り替えgo_to_previous_view
:前のビューへ切り替えtoggle_bottom_bar
:下部バーの表示/非表示を切り替えtoggle_top_bar
:上部バーの表示/非表示を切り替えtoggle_full_screen
:フルスクリーンモードの切り替えhold_to_confirm
:確認のための長押し操作start_recording_all_streams
:すべてのストリームの録画を開始stop_recording_all_streams
:すべてのストリームの録画を停止mavlink_arm
:MAVLinkによるアーム(動作準備)mavlink_disarm
:MAVLinkによるディスアーム(動作停止)
カスタムアクション
コックピットでは、独自のカスタムアクションを定義することができ、エクスポートやインポートも可能です。カスタムアクションの設定には、いくつかの異なるアプローチがあります。

1. MAVLinkメッセージアクション
MAVLinkメッセージやコマンドを、車両や他のMAVLinkコンポーネントに送信するアクションです。
これは最も制限がありますが、シンプルで直接的な操作に適しています。

2. HTTPリクエストアクション
カスタムのURLパラメータ、ヘッダー、JSON本文を使ってAPIと通信するアクションです。任意の外部APIと連携したい場合に便利です。
また、入力ウィジェットで定義されたパラメータを組み込むことで、動的な操作も可能です。

3. JavaScriptアクション
完全に自由なコードが書ける「空白のキャンバス」です。
独自の処理をプログラムできる反面、複雑さも伴います。高度なカスタマイズが必要な場合に適しています。

作成済みのカスタムアクションは、編集、手動での実行(テスト目的)、エクスポート、削除などが可能です。
なお、これらのカスタムアクションに関する詳細な手順や具体的な例は、今後のアップデートで公開される予定です。
ステータスと録画
ビデオライブラリ
- ビデオ録画のプレビューや処理、および対応する字幕ファイルと一緒にダウンロードすることが可能です。
- 録画ファイルを複数選択して操作することもでき、バッチでのダウンロードや一括削除などが行えます。
- 複数のファイルを選ぶには、選択モードに切り替えるか、ファイルを長押しして選択状態にします。
- さらに、バッチ内で最初のファイルを選択した後、以下の方法で他のファイルを追加で選択できます。
- Windows / Linux:
Ctrl + クリック
- macOS:
Cmd + クリック
- Windows / Linux:
テレメトリログ/字幕ファイル
コックピットでは、受信した一部のテレメトリデータを記録し、それを字幕ファイルとしてビデオ録画と連動させることができます。
ポイント
より低レベルで詳細な通信やテレメトリログが必要な場合は、MAVLinkルーターのインターフェースを通じてログを確認・デバッグすることを検討してください。詳しくは、BlueOSユーザー向けのMAVLinkエンドポイントに関するドキュメントをご覧ください。
記録に使用する変数は、アクティブなプロファイルのビュー内にあるミニウィジェットによって決定されます。これには、ほとんどすべての受信データを表示できる「Very Generic Indicator」ウィジェットが含まれます。
また、会社名や操縦者名などのカスタムテキストを追加して、メタデータとしてログに含めることも可能です。
ポイント
ログの記録頻度や対象の変数、字幕ファイルに表示する項目などは、テレメトリ設定で細かく構成できます。
録画が終了すると、録画された映像の時間軸に合わせて字幕ファイルも生成されます。
これにより、再生中にテレメトリ情報をタイムラインに沿って確認できます。
ポイント
システム/アプリケーションログ
デバッグのために、コックピットは内部状態の変化やエラーをJSON形式のログファイルに記録しています。
これらのログは、開発ページからダウンロードまたは削除できます。

画面右上のボタンを使うと、古いログファイルをまとめて一括削除することも可能です。
ダウンロードしたログファイルは、標準的なテキストエディタで開くことができ、UNIXスタイルのエポックタイムスタンプで記録された一連のイベントが含まれています。
各イベントには、重大度レベル(例:デバッグ、ログ、エラーなど)と、それに関連するメッセージが記録されています。
アラート
自動操縦システム(STATUSTEXT)からのアラートや、アプリケーションによる通知(例:機体との接続が切断された場合など)は、「アラート」ミニウィジェットに表示されます。
一部のアラートは、到着時にテキスト読み上げ機能を使って音声で通知することができます。
この機能は設定で有効/無効を切り替えることが可能です。
ミッションプランニング
位置推定機能を持つ機体に対しては、サイドバーの「モード」から基本的な自律ミッションを作成したり、ファイルからミッションを読み込んだりできます。Mission Planning
ミッション計画には、個々のウェイポイント(経由地点)の配置や、簡易的な調査エリアの設定が含まれます。
複数の調査エリアを手動でウェイポイントとして指定することも可能です。

POINT!
ミッションが完成したら、機体にアップロードするか、後で使用するためにファイルとして保存することができます。
これらの操作はサイドバーのボタンから行えます。Flight

ミッションの開始は、マップウィジェットの左下にある「再生」ボタンを使って実行します。