AIビジョンセンサーを使用すると、VEXcode VRのVEX V5ロボティクス競技会(V5RC)オーバーアンダープレイグラウンドで、AI分類機能を使ってゲームオブジェクト(リングや移動式ゴール)を識別するのに役立ちます。
AI Vision Sensor の物理バージョン に精通している方であれば、物理センサーには AprilTag と設定されたカラーシグネチャに関する情報を報告する機能もあることをご存知でしょ。 VEXcode VRではロボットの設定は不要であり、V5RCハイステークスフィールドにはAprilTagが存在しないため、仮想センサーは事前に設定されたゲーム要素(レッドリング、ブルーリング、モバイルゴール)に関する情報のみを報告します。
V5RCにおけるAIビジョンセンサーの仕組み VEXcode VRにおけるハイステークス
AIビジョンセンサーは、ゲーム要素を自動的に識別できるカメラであり、ロボットが特定のゲーム要素に向かって自律的に方向転換することを可能にする。カメラは今年のV5RCゲーム「ハイステークス」のゲーム要素に向けられているため、リングと移動式ゴールが自動的に検出されます。
これらの物体を検出するために、AIビジョンセンサーはロボットの前面に取り付けられています(図参照)。
AIビジョンセンサーからのデータ収集
VEXcode VRでは、AIビジョンセンサーから報告されるデータをスナップショットウィンドウ、モニターコンソール、またはプリントコンソールで確認できます。
注:AIビジョンセンサーの視野を確保するために、アクセルのアームを上げる必要があります。アームを上げないと、カメラの中央部の大部分を占めてしまいます。
スナップショットウィンドウを表示して、AIビジョンセンサーが報告しているデータを確認するには、 AIビジョンセンサー ボタンを選択します。
スナップショットウィンドウを非表示にするには、もう一度「AI Vision Sensor ボタンを選択してください。
スナップショットウィンドウは、プレイグラウンドウィンドウの左上隅に表示されます。スナップショットは、AIビジョンセンサーの視野内にあるすべてのゲーム要素と関連データを識別します。
スナップショットウィンドウに表示される各オブジェクトのデータには、中心X座標、中心Y座標、幅、高さ、およびオブジェクトの分類が含まれます。
AIビジョンセンサーが報告するデータの種類とその関連するVEXコードコマンドの説明は、VEX APIに記載されています。 Blocks固有のページとPython固有のページの両方が参考資料として利用できます。
これらのコマンドは、モニターコンソールや印刷コンソールで使用することで、プロジェクトの実行中に取得された各スナップショットのデータを視覚化するのに役立ちます。これらの記事を参考に、モニターコンソールとプリントコンソールの使用方法について詳しく学びましょう。
AIビジョンセンサーを使用してアクセルが物体を識別するのを支援する
AIビジョンセンサーを使用すると、センサーから報告されるデータに関するあなたの理解に基づいて、アクセルが特定の物体までナビゲートするのを支援できます。 AxelはAIビジョンセンサーを使用することで、ゲーム要素をターゲットにしてそこへ移動し、オブジェクトを拾い上げることができます。
AIビジョンセンサーは最新のスナップショットのデータのみを報告するため、アクセルは運転中に常にそのスナップショットを更新し続ける必要がある。
このサンプルプロジェクトでは、アクセルはAIビジョンセンサーを使用して、目の前に赤いリングがあるかどうかを判断し、赤いリングの中心Xが150未満になるまで旋回し、その後リングに向かって前進します。レッドリングに向かって前進するために、AIビジョンセンサーを使用して、センサーが捉えた画像内の物体の幅を測定します。幅が十分に広くなると、ロボットは赤いリングを拾い上げる範囲内に入ったと認識する。
以下の記事を参考に、サンプルプロジェクトへのアクセス方法と実行方法を学びましょう。
Axelのセンサーを一緒に使用する
AIビジョンセンサーは、ロボットに搭載された他のセンサーと組み合わせることで、現場での様々な作業を完了させることができる。仮想版Axelに搭載されているセンサーの全リストは、VEX APIの ページに記載されていますこれらは、コードを書き始めるのに役立つアイデアのほんの一部です。
- AIビジョンセンサー を使用してゲーム要素を見つけてターゲットにし、次に 前方距離センサーを使用して、対象物がロボットに近づくまで移動します。
- AIビジョンセンサー を使用してモバイルゴールを見つけてナビゲートし、次に GPSセンサー を使用してモバイルゴールをフィールドの隅に移動させます。
- AIビジョンセンサーを使用して赤いリングとモバイルゴールを見つけて移動し、次に 回転センサー を使用してプッシャーの位置を調整し、リングをゴールに置きます。
特定のコマンド、V5RC ハイステークスフィールド、ヒーローボット Axel に関する追加情報は、 VEX API および VEXcode VR の組み込みヘルプ (ブロック および Python ) に記載されていることを覚えておいてください。