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

AprilTagのトラッキング

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

複数のタグを使用する高度な用途では、JSON結果ダンプを使用できます。

FRC AprilTagsのクイックスタート

  • 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上でプライオリティTagIDを設定し、2Dトラッキング用の優先タグを設定します。

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

  • 対応する設定を変更した場合は、"Change Team Number" と "Change IP Settings" をクリックします。ロボットの電源を入れ直してください。

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

ヒント

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

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

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

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

Input タブ

Input タブには、処理パイプラインに渡される前の生のカメラ画像を変更するコントロールがあります。詳細については、"再帰反射/カラーパイプラインの構築" ページを参照してください。

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

  • "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 Filtersを使用すると、追跡したいタグを正確に指定できます。ほとんどのFRCチームでは、各パイプラインは正確に1つのタグIDを追跡するように設定する必要があります。 これはカンマ区切りの数字のリストです(例:"0,1")。この機能は、誤検出の大部分を排除するために重要です。

Cropping

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

Multi-Target Sorting and Grouping

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