FRC Driver Station Powered by NI LabVIEW

この記事では、FRC® Driver Station Powered by NI LabVIEWの使用方法と機能について説明します。

ドライバーステーションソフトウェアのインストールについては、 こちらのドキュメント を参照してください。

FRCドライバーステーションの起動

これはFRCドライバーステーションのアイコンです。

FRCドライバーステーションはデスクトップ上のアイコンをダブルクリックするか、「スタート」をクリックしてから「FRC Driver Station」を検索して選択することで起動できます。

注釈

デフォルトで、ドライバーステーションは LabVIEW Dashboard を起動します。また、 セットアップタブ で他のダッシュボード( SmartDashboardShuffleboard )を起動するように設定することもできます。SmartDashboardあるいはShuffleboardを使うため、WPILibを インストールする 必要があります。

ドライバーステーションの キーボードショートカット

  • F1 - ジョイスティックのリフレッシュを強制する。

  • [ + ] + \ - ロボットを有効に(enable)する(ほとんどのキーボードでエンターキーの上にある3つのキー)

  • Enter - ロボットを無効に(disable)する

  • Space - ロボットを緊急停止します。緊急停止したロボットを再び有効に(enable)するには、roboRIOを再起動する必要があります。

  • Backspace - "A-Stop" the robot when in Practice Mode - Autonomous Enabled. The robot will be disabled until the Practice Mode reaches Teleop then will be automatically re-enabled. While disabled, the application background will flash orange indicating the robot will re-enable automatically.

注釈

ドライバーステーション(Driver Station)ウィンドウにフォーカスがあるかどうかに関係なく、スペースバーでロボットを緊急停止します。

警告

試合中に FMS に接続された場合、DS のenable/disableおよび E-Stop キーボードショートカットは無視されるため、チームステーションの E-Stop ボタンを押してロボットを緊急停止させなければなりません。

ドライバーステーションのセットアップ

セットアップ(ギア)タブのチーム番号ボックス。

ロボットに接続するためには、DSにチーム番号を設定する必要があります。これを行うには、Setupタブをクリックし、チーム番号ボックスにチーム番号を入力します。リターンキーを押すか、ボックスの外をクリックすると、設定が有効になります。

PCは通常、DSがロボットに接続するための正しいネットワーク設定をしていますが、そうでない場合は、ネットワークアダプタが DHCP に設定されていることを確認してください。

ステータス ペイン

これはドライバーステーションの中央にあるペインで、常に表示されています。

ドライバーステーションのステータスペインはディスプレイの中央にあり、選択したタブに関係なく常に表示されます。DS とロボットの状態に関する重要な情報が表示されます:

  1. Team # - DSが現在設定されているチーム番号です。FRCのチーム番号と一致する必要があります。チーム番号を変更するには、「Setup」 タブを参照してください。

  2. バッテリー電圧 - DSが接続され、roboRIOと通信している場合、現在のバッテリー電圧が数字で表示され、バッテリーアイコンに経時電圧の小さなグラフが表示されます。roboRIOの電圧低下が発生すると、数字表示の背景が赤くなります。詳しくは roboRIO Brownout and Understanding Current Draw を参照してください。

  3. 主なステータスインジケータ - これら3つのインジケータは、DSの主なステータス項目を表示します。「Communications」は、DSが現在roboRIO上のFRCネットワーク通信タスクと通信しているかどうかを示します(TCP通信とUDP通信で半分に分かれています)。「Robot Code」インジケータは、チームのロボットコードが現在実行されているかどうかを示します(ロボットコード内のDriver Stationタスクがバッテリー電圧を更新しているかどうかで判断される)。「Joysticks」インジケータは、少なくとも1本のジョイスティックがDSに接続され、DSによって認識されているかどうかを示します。

  4. ステータス文字列 - ステータス文字列は、ロボットの状態を示す全体的なステータス情報を提供します。いくつかの例は「No Robot Communication」、「No Robot Code」、「Emergency Stopped」、「Teleoperated Enabled」です。roboRIOの電圧低下が発生すると、「Voltage Brownout」が表示されます。

操作タブ

左側の上から1番目のタブです。

操作タブはロボットのモードを制御するために使用され、ロボットの実行中に追加の主要なステータスインジケータを提供します。

  1. ロボットモード - このセクションでは、ロボットモードを制御します。

    • Teleoperatedモードでは、ロボットは試合のTeleoperated Periodのコードを実行します。

    • Autonomousモードでは、ロボットは試合のAutonomous Periodのコードを実行します。

    • Practice Mode causes the robot to cycle through the same transitions as an FRC match after the Enable button is pressed (timing for practice mode can be found on the setup tab). When Practice Mode is in use, the DS will flash the background orange to indicate a pending enable (either the start of Autonomous or the start of Teleop after an A-Stop).

    • Testモード は、通常の試合では実行されないテストコードをテストできる追加モードです。

  2. Enable/Disable - これらのコントロールはロボットを有効あるいは無効にします。 ドライバーステーションの キーボードショートカット を参照してください。

  3. Elapsed Time - ロボットが有効(enabled)になってからの時間を示す。

  4. PC Battery - DSを実行するPCのバッテリーの現在の状態と、PCが電源に差し込まれているかどうかを示す。

  5. PC CPU% - DSを実行するPCのCPU使用率を示す。

  6. ウィンドウモード - Classmateのドライバーアカウントでない場合、フローティング(矢印)とドッキング(長方形)を切り替えることができます。

  7. チームステーション - FMS に接続されていない場合、ロボットへ送信するチームステーションを設定します。

注釈

フィールド管理システム(FMS)に接続されると、1番目と2番目のセクションのコントロールはFMS Connectedの文字に変わり、7番目のセクション7のコントロールはグレーアウトします。

診断タブ

左側の上から2番目のタブです。

診断タブには、チームがロボットの問題を診断するために使用できるステータスインジケータが追加されています:

  1. DS バージョン - ドライバーステーションのバージョン番号。

  2. roboRIO イメージバージョン - roboRIO イメージのバージョンを示す文字列。

  3. WPILib バージョン - 使用中の WPILib のバージョンを示す文字列。

  4. CAN デバイスのバージョン - CANバスに接続されているデバイスのファームウェアバージョンを示す文字列。CTRE Phoenix Frameworkがロードされていない場合、これらの項目は表示されないことがあります。

  5. メモリー統計 - roboRIO のメモリーに関する統計情報を表示す。

  6. 接続インジケータ - これらのインジケータの上半分は、様々なコンポーネントへの接続ステータスを示す。

    • 「Enet Link」は、コンピュータがイーサネットポートに何かが接続されていることを示す。

    • 「Robot Radio」は10.XX.YY.1のロボット無線ブリッジへのping状態を示す。

    • 「Robot」は、mDNS(フォールバックとして静的アドレスは10.TE.AM.2)を使用したroboRIOへのpingステータスを示す。

    • 「FMS」は、DSがFMSからパケットを受信しているかどうかを示す(これはpingインジケータではない)。

  7. ネットワーク・インジケータ - インジケータの2番目のセクションは、ネットワーク・アダプタとファイアウォールのステータスを示します。このセクションのインジケータが1つ以上点灯していなくても、通信は確立できます。

    • 「Enet」は、検出されたイーサネット・アダプターのIPアドレスを示す。

    • 「WiFi」は、ワイヤレス・アダプタが有効であると検出されたかを示す。

    • 「USB」は、roboRIOのUSB接続が検出されたことを示す。

    • 「Firewall」は、有効なファイアウォールが検出されたかどうかを示します。有効なファイアウォールはオレンジ色で表示されます(Dom = Domain, Pub = Public, Prv = Private)。

  8. Reboot roboRIO - このボタンをクリックすると、roboRIO がリモートで再起動されます(ダイアログで確認後)。

  9. Restart Robot Code - このボタンはロボット上で動作しているコードを再起動します(OSは再起動しません)。

セットアップタブ

左側の上から3番目のタブです。

セットアップタブには、ドライバーステーションの操作を制御するためのボタンがいくつかあります:

  1. Team Number - FRCチーム番号を入力してください。これは、DSがロボットに期待するmDNS名を制御します。ドロップダウンの矢印をシフトクリックすると、トラブルシューティングのためにネットワーク上で検出されたすべてのroboRIO名が表示されます。

  2. Dashboard Type - ドライバーステーションが起動するダッシュボードを制御します。 Default は「FRC DS Data Storage.ini」が指すファイルを起動します ( カスタムダッシュボードの設定についてはこちら ) 。デフォルトでは、Program Files (x86)¥FRC DashboardフォルダのDashboard.exeです。 LabVIEW はカスタムビルドされたLabVIEWダッシュボードのデフォルトの場所でダッシュボードを起動しようとしますが、ダッシュボードが見つからない場合はデフォルトにフォールバックします。 SmartDashboardShuffleboard は C++ と Java WPILib のインストールに含まれるそれぞれのダッシュボードを起動します。 Remote は LabVIEW ダッシュボードのデータを Dashboard IP フィールドで指定された IP アドレスに転送します。

  3. Game Data - このボックスはGame Data APIをホームグラウンドでテストするために使用します。このボックスに入力されたテキストは、ロボット側の Game Data API に送信されます。FMSに接続すると、このデータは自動的にフィールドに入力されます。

  4. Practice Timing - これらのボックスはプラクティスモードの連続のタイミングを制御します。ロボットがプラクティスモードで有効になると、DSは自動的に上から下に表示されたモードを進みます。

  5. オーディオ・コントロール - このボタンは、プラクティスモード使用時にオーディオ・トーンを鳴らすかどうかを制御します。

USBデバイスタブ

左側の上から4番目のタブです。

USBデバイスタブには、DS に接続されている USB デバイスの情報が表示されます。

  1. USBセットアップリスト - DS に接続されているすべての互換 USB デバイスのリストです。デバイスのボタンを押すと、そのデバイス名が緑色でハイライトされ、デバイス名の前に2つの「*」が表示されます。

  2. Rescan - このボタンを押すと、USB デバイスの再スキャンが実行されます。ロボットが無効になっている間、DS は自動的に新しいデバイスをスキャンし、リストに追加します。完全な再スキャンを実行する場合、またはロボットが有効な状態(試合中に FMS に接続している場合など)で再スキャンを実行する場合は、F1 キーを押すか、このボタンを使用します。

  3. Device indicators - These indicators show the current status of the Axes, buttons, and POV of the joystick.

  4. Rumble - XInputデバイス(X-Boxコントローラーなど)の場合、Rumbleコントロールが表示されます。これは、デバイスのランブル機能をテストするために使用できます。上のバーは「右ランブル」、下のバーは「左ランブル」です。バーのどこかをクリックしたままにすると、ランブルは比例してアクティブになります(左はランブルなし=0、右はフルランブル=1)。これはコントロールのみで、ロボットコードで設定されたランブル値は表示されません。

デバイス順序の並べ替えと固定

クリック&ドラッグでジョイスティックを並べ替えることができる「USB Order」ボックス。

ドライバステーションは、USB デバイスを特定のスロットに「ロック」する機能を持っています。これは、デバイスが新しい位置にドラッグされると自動的に行われ、またデバイスをダブルクリックすることでも起動します。「ロック」されたデバイスは、デバイスの下にアンダーラインが表示されます。ロックされたデバイスは、デバイスがコンピュータに接続されていないときでもスロットが確保されます(灰色で表示され、下線が引かれています)。デバイスをダブルクリックすると、ロックが解除されます(接続されていないデバイスは削除されます)。

注釈

同じタイプのデバイスが2台以上ある場合、すべてのデバイスがロックされたのと同じポートでコンピュータに接続されている限り、その位置に留まるはずです。2つの同じタイプのデバイスのポートを入れ替えた場合、ロックはデバイスではなくポートに従います。ポートを並べ替えた場合(デバイスを交換する代わりに、1つのデバイスを新しいポートに差し込む)、動作は確定しません(デバイスがスロットを交換する可能性があります)。1つまたは複数のデバイスのプラグを抜くと、他のデバイスの位置が移動することがありますが、すべてのデバイスを再接続すると、適切なロックされたスロットに戻るはずです。

例: 上の画像は4つのデバイスを示しています:

  • ロックされた「Logitech Attack 3」ジョイスティック。このデバイスは、他の位置にドラッグするか、ロックを解除しない限り、この位置に留まります。

  • ロック解除された「Logitech Extreme 3D」ジョイスティック

  • ロックされていないロジクールF310ゲームパッド「Gamepad F310 (Controller)」

  • ロックされているが、接続されていない MadCatz Xbox 360 コントローラー「MadCatz GamePad (Controller)」

この例では、ロジクールExtreme 3Dジョイスティックを抜くと、F310ゲームパッドがスロット1に移動します。MadCatz Gamepadを差し込むと(スロット1と2のデバイスが取り外され、それらのスロットが空であっても)、スロット3が使用されます。

CAN/パワータブ

左側の上から5番目のタブです。

DSの左側の最後のタブは、CAN/ロボット電源タブです。このタブには、roboRIOの電源状態とCANバスの状態に関する情報が表示されます:

  1. Comms Faults(通信障害) - DS が接続されてから発生した通信障害の回数を示す

  2. 12V Faults - DS が接続されてから発生した入力電源障害 (ブラウンアウト)の数を示す

  3. 6V/5V/3.3V Faults - DSが接続されてからユーザー電圧レールで発生したフォルト(通常は短絡が原因)の数を示す

  4. CANバス使用率 - CANバスの使用率を示す

  5. CANフォルト - DSが接続されてからの4種類のCANフォルトの回数を示す

フォルトが検出されると、このタブのインジケーター(上の画像では青で表示)が赤く点灯します。

メッセージタブ

右側の上から1番目のタブです。

メッセージタブには、DS、WPILib、ユーザーが書いたコード、あるいはroboRIOからの診断メッセージが表示されます。

メッセージタブの設定にアクセスするには、ギアアイコンをクリックします。これにより、ボックスをクリアしたり、メッセージを表示するための大きなコンソールウィンドウを起動したり、DSログビューアを起動したり、プログラムのタイミングを表示するビューアを起動したり、ロボットからログファイルをダウンロードしたりすることができるメニューが表示されます。

チャートタブ

右側の上から2番目のタブです。

チャートタブは、ロボットの状態を示す高度な指標をプロットして表示し、チームがロボットの問題を診断するのに役立ちます:

  1. 上のグラフは、トリップ時間をミリ秒単位で緑色(右の軸に対して)、1秒あたりのパケット損失をオレンジ色(左の軸に対して)で表しています。

  2. 下のグラフは、バッテリー電圧(左の軸に対して黄色で表示)、roboRIO CPU(右の軸に対して赤で表示)、チャートの下部には連続線でDSリクエストモード、それを上部には不連続線でロボットモードを示しています。

  3. この凡例は、DSから要求されたモードとロボットから報告されたモードの両方の色を下図に示しています。

  4. チャートスケール - DSチャートの時間スケールを変更します。

  5. このボタンは DS Log File Viewer を起動します。

DSから要求されたモードはドライバーステーションがロボットに指令しているモードです。ロボットから報告されたモードは、各言語のコーディングフレームワークに含まれるレポートメソッドに基づき、実際に実行されているコードです。

両タブ

右側の最後のタブは、メッセージとチャートを並べて表示する「両方」タブです。