AprilTagのトラッキング
AprilTagは標準的な「tx」、「ty」、「ta」の値を使用してトラッキングされます。カラー/再帰反射トラッキングロボットからAprilTagにアップグレードするためのコード変更は必要ありません。 フィールド空間とターゲット空間の3Dトラッキングには「botpose」と「campose」も使用できます。
複数のタグを使用するより高度な用途では、JSON結果ダンプを使用できます。
FRC AprilTagのクイックスタート
-
入力タブ - 「パイプラインタイプ」を「Fiducial Markers」に変更
-
入力タブ - 3Dトラッキングには利用可能な最高解像度を使用するか、純粋な2Dトラッキングには640x480を使用
-
標準タブ - 「ファミリー」が「AprilTag Classic 36h11」に設定されていることを確認
-
入力タブ - 「ブラックレベル」をゼロに設定
-
入力タブ - 「ゲイン」を15に設定
-
入力タブ - モーションブラーによる動作中のトラッキング損失を減らすために露出を減らす。トラッキングの信頼性が低下し始めたら減らすのをやめる。薄暗いイベントでは露出を上げる必要があるかもしれません。
-
標準タブ - フレームレートを上げたい場合は、「検出器ダウンスケール」を増やす
-
3Dトラッキングと2D tx/tyトラッキングを同時に使用したい場合は、ネットワークテーブル経由で優先タグIDを設定して、2Dトラッキング用の優先タグを構成します。
-
「歯車」アイコンをクリックし、チーム番号が設定されていることと静的IPが構成されていることを確認します。
-
対応する設定を変更した場合は、「チーム番号の変更」と「IP設定の変更」をクリックします。ロボットの電源を入れ直します。
-
これで完了です!ネットワークテーブルから「tx」と「ty」を使用してください。「はじめに」ペ ージのコードサンプルをコピーしてください。
ヒント
理想的なトラッキングのために、以下を考慮してください:
- タグはできるだけ平らであるべきです。
- Limelightはタグの高さより上または下に取り付け、ターゲットが中央に来るように上下に角度をつけるべきです。カメラの視点からターゲットができるだけ台形に見えるようにします。タグの反転を避けたい場合は、カメラがタグに完全に「正面から」向かないようにしましょう。
AprilTagトラッキングには以下の変数間の相互作用があります:
- キャプチャ解像度を上げると、常に3D精度が向上し、3D安定性が向上します。これにより、ほとんどの視点からの曖昧さによる反転の発生率も減少します。通常、検出範囲も増加します。これによりパイプラインのフレームレートは低下します。
- 検出器のダウンスケールを増やすと、常にパイプラインのフレームレートが向上します。これにより有効範囲は減少しますが、場合によってはその影響は無視できるほど小さいかもしれません。3D精度、3D安定性、またはデコード精度には影響しません。
- 露出を減らすと、常にモーションブラーへの耐性が向上します。これは実際に非常に簡単に観察できます。これにより検出範囲が減少する可能性があります。
- 画像の明るさとコントラストを下げると、一般的にパイプラインのフレームレートが向上し、検出範囲が減少します。
- センサーゲインを上げ ると、露出を増やさずに明るさを上げることができます。これにより3D安定性が低下し、トラッキング安定性が低下する可能性があります。
入力タブ
入力タブには、処理パイプラインに渡される前の生のカメラ画像を変更するためのコントロールがあります。詳細については、「再帰反射/カラーパイプラインの構築」ページを参照してください。
AprilTagをトラッキングするには:
- 「パイプラインタイプ」を「Fiducial Markers」に変更
- 「ブラックレベル」をゼロに設定
この時点で、センサーゲインと露光時間のバランスを取ることが重要です。モーションブラーを最小限に抑えるために、できるだけ短い露出でタグを見ることができるようにしたいです。 これには通常、高いセンサーゲイン設定が必要です。単純な2Dトラッキングの場合、 センサーゲインを最大にし、ターゲットが十分にトラッキングされるまで露出をゼロから増やすことをお勧めします。トラッキングがうまくいかない場合は、「標準」タブで正しいファミリーが選択されていることを確認してください。
標準タブ
ファミリー
フィデューシャル/AprilTagのファミリータイプを選択します。FRCでは、「AprilTag Classic 36h11」を選択する必要があります。
マーカーサイズ
ロボットが遭遇するタグの予想サイズをmm単位で設定します。FRCでは、これを165.1(2023年のタグの場合は152.4)に設定する必要があります。
検出器ダウンスケール
この数値を増やすと、パフォーマンスが大幅に向上します。これにより検出範囲が減少することもありますが、そのコストは通常最小限です。
IDフィルター
IDフィルターを使用すると、関心のあるタグを正確に指定できます。ほとんどのFRCチームでは、各パイプラインは正確に1つのタグIDをトラッキングするように構成する必要があります。 これはカンマ区切りの数字のリストです(例:「0,1」)。この機能は、偽陽性の大部分を排除するために重要です。
クロッピング
クロッピングは画像からコンテンツを削除し、パフォーマンスを大幅に向上させます。試合中に動的にクロップするには、NT「crop」キーを使用します。
マルチターゲットのソートとグループ化
これにより、標準的な再帰反射パイプラインで見られる正確なグループ化機能が可能になります。ほとんどのゲームでは、変更する唯一の機能は「エリア」フィルターで、小さなタグをフィルタリングできます。