AprilTagのトラッキング
AprilTagは標準的な "tx"、"ty"、"ta" の値を使用してトラッキングされます。カラー/再帰反射トラッキングロボットをAprilTagにアップグレードするのに、コードの変更は必要ありません。 フィールド空間とターゲット空間の3Dトラッキングには、"botpose" と "campose" も使用できます。
複数のタグを使 用する高度な用途では、JSON結果ダンプを使用できます。
FRC AprilTagのクイックスタート
-
入力タブ - "パイプラインタイプ"を"フィデューシャルマーカー"に変更
-
入力タブ - 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をトラッキングするには:
- "パイプラインタイプ"を"フィデューシャルマーカー"に変更
- "ブラックレベル"をゼロに設定
この時点で、センサーゲインと露出時間のバランスを取ることが重要です。モーションブラーを最小限に抑えるために、可能な限り小さい露出でタグを見ることができるようにしたいです。 これは通常、高いセンサーゲイン設定を必要とします。単純な2Dトラッキングの場合、 センサーゲインを最大にし、ゼロから露出を上げてターゲットが十分にトラッキングされるまで調整することがよくあります。トラッキングがうまくいかない場合は、"標準"タブで正しいファミリーが選択されていることを確認してください。