メインコンテンツまでスキップ

AprilTagのトラッキング

AprilTagは標準的な「tx」、「ty」、「ta」の値を使用してトラッキングされます。カラー/再帰反射トラッキングロボットをAprilTagにアップグレードするためのコード変更は必要ありません。 「botpose」と「campose」もフィールド空間およびターゲット空間の3Dトラッキングに使用できます。

複数のタグを使用するより高度な使用法については、JSON結果ダンプを使用できます。

FRC AprilTagのクイックスタート

  • Inputタブ - 「Pipeline Type」を「Fiducial Markers」に変更

  • Inputタブ - 3Dトラッキングには利用可能な最高解像度を使用するか、純粋な2Dトラッキングには640x480を使用

  • Standardタブ - 「family」が「AprilTag Classic 36h11」に設定されていることを確認

  • Inputタブ - 「Black Level」をゼロに設定

  • Inputタブ - 「Gain」を15に設定

  • Inputタブ - モーションブラーによる動作中のトラッキングロスを減らすために露出を下げる。トラッキングの信頼性が低下したら下げるのを止める。照明が暗いイベントでは露出を上げる必要があるかもしれません。

  • Standardタブ - フレームレートを上げたい場合は、「Detector Downscale」を上げる

  • 3Dトラッキングと2D tx/tyトラッキングを同時に使用したい場合は、NetworkTables経由で優先タグIDを設定して2Dトラッキングの優先タグを設定する。

  • 「歯車」アイコンをクリックし、チーム番号が設定されていること、静的IPが設定されていることを確認

  • 対応する設定を変更した場合は、「Change Team Number」と「Change IP Settings」をクリック。ロボットを電源サイクル。

  • 完了です!NetworkTablesから「tx」と「ty」を使用してください。「getting started」ページのコードサンプルをコピーしてください。

ヒント

理想的なトラッキングのために、以下を考慮してください:

  • タグはできるだけ平らにする必要があります。
  • Limelightはタグの高さより上または下に取り付け、ターゲットが中央に来るように上下に角度をつける必要があります。カメラの視点からターゲットができるだけ台形に見えるようにしてください。タグの反転を避けたい場合は、カメラがタグに対して完全に「正面」にならないようにしてください。

AprilTagトラッキングには以下の変数間の相互作用があります:

  • キャプチャ解像度を上げると、常に3D精度が向上し、3D安定性が向上します。これにより、ほとんどの視点からの曖昧性反転の発生率も減少します。通常、範囲も広がります。パイプラインのフレームレートは低下します。
  • 検出器のダウンスケールを上げると、常にパイプラインのフレームレートが向上します。有効範囲は減少しますが、場合によっては無視できる程度かもしれません。3D精度、3D安定性、デコード精度には影響しません。
  • 露出を下げると、常にモーションブラー耐性が向上します。これは実際に観察しやすいです。範囲が減少する可能性があります。
  • 画像の明るさとコントラストを下げると、一般的にパイプラインのフレームレートが向上し、範囲が減少します。
  • センサーゲインを上げると、露出を上げずに明るさを上げることができます。3D安定性が低下する可能性があり、トラッキング安定性が低下する可能性があります。

Inputタブ

Inputタブには、処理パイプラインに渡される前の生のカメラ画像を変更するためのコントロールがあります。詳細については、「Building a retroreflective/color pipeline」ページを参照してください。

AprilTagをトラッキングするには:

  • 「Pipeline Type」を「Fiducial Markers」に変更
  • 「Black Level」をゼロに設定

この時点で、センサーゲインと露出時間のバランスを取ることが重要です。モーションブラーを最小限に抑えるために、できるだけ小さい露出でタグを見えるようにしたいです。 これは通常、高いセンサーゲイン設定を必要とします。単純な2Dトラッキングの場合、 センサーゲインを最大にしてから、ターゲットが十分にトラッキングされるまで露出をゼロから上げることがよく推奨されます。トラッキングが機能しない場合は、「Standard」タブで正しいファミリーが選択されていることを確認してください。

Standardタブ

Family

フィデューシャル/AprilTagファミリータイプを選択します。FRCの場合、「AprilTag Classic 36h11」を選択する必要があります。

Marker Size

ロボットが遭遇するタグの予想サイズをmmで設定します。FRCの場合、165.1に設定する必要があります(2023年のタグは152.4)。

Detector Downscale

この数値を上げると、大幅なパフォーマンス向上が得られます。これにより範囲が減少することがありますが、通常そのコストは最小限です。

ID Filters

IDフィルターを使用すると、関心のあるタグを正確に指定できます。ほとんどのFRCチームでは、各パイプラインは正確に1つのタグIDをトラッキングするように設定する必要があります。 これはカンマ区切りの数値リストです(例:「0,1」)。この機能は、誤検出の大部分を排除するために重要です。

Cropping

クロッピングは画像からコンテンツを削除し、大幅なパフォーマンス向上を実現します。試合中に動的にクロップするには、NT「crop」キーを使用してください。

Multi-Target Sorting and Grouping

これにより、標準的な再帰反射パイプラインで見られるのと同じグループ化機能が可能になります。ほとんどのゲームでは、変更する唯一の機能は「Area」フィルターで、小さなタグをフィルタリングできます。