AIビジョンセンサー#
導入#
AIビジョンセンサーは、物体、色、およびAprilTag IDを検出および追跡できます。これにより、ロボットは周囲の状況を分析し、物体を追跡し、検出された視覚データに基づいて反応することができます。
利用可能なブロックの一覧は以下のとおりです。
アクション – 選択した署名に関するAIビジョンセンサーからのデータを取得します。
スナップショットを撮る – 設定された色、事前学習済みのオブジェクト、AprilTag ID など、特定の署名のデータをキャプチャします。
設定 – 操作するオブジェクトを選択してください。
set AI Vision object item – 検出されたオブジェクトリストから特定のオブジェクトを選択します。
値 – 取得したデータにアクセスして使用する。
AI Vision オブジェクトが存在する – オブジェクトが検出されたかどうかを報告します。
AI Vision object is – 検出されたオブジェクトが特定の分類に一致するかどうかを確認します。
AI Vision オブジェクトは AprilTag ID です – 検出された AprilTag ID が特定の ID と一致するかどうかを確認します。
AI Vision オブジェクト数 – 検出されたオブジェクトの数を報告します。
AI Visionオブジェクトプロパティ – レポートの詳細(例:)
行動#
スナップショットを撮る#
スナップショット取得スタックブロックは、AIビジョンセンサーフレームからのデータを単一のシグネチャ(センサーが認識できるものの説明を保存したもの。例えば、事前学習済みのオブジェクト、AprilTag ID、設定済みの色またはカラーコードなど)にフィルタリングします。
このブロックで使用する前に、AI Vision Utilityで色とカラーコードを設定しておく必要があります。
データセットには、インデックス0から始まり、幅の大きい順から小さい順にオブジェクトが格納されます。各オブジェクトのプロパティには、AI Visionオブジェクトプロパティブロックを使用してアクセスできます。一致するオブジェクトが検出されない場合は、空のデータセットが報告されます。
[AIVision1 v] の [SELECT_A_SIG v] スナップショットを撮る
パラメータ |
説明 |
|---|---|
デバイス |
どのAIビジョンセンサーを使用するか。 |
サイン |
指定された署名のデータのみを含むようにデータセットをフィルタリングします。使用可能な署名は次のとおりです。
|
注: AprilTag ID または AI 分類オプションを表示するには、AI Vision Utility でそれらの検出を有効にする必要があります。
例
開始したとき
[Drive forward if an AprilTag ID is detected.]
ずっと
[AIVision1 v] の [AprilTag IDs v] スナップショットを撮る
もし <[AIVIsion1 v] オブジェクトあり?> なら
[前進 v] へ [10] [mm v] 走行 ▶
AI分類#
AIビジョンセンサーは、特定のAI分類に基づいてさまざまな物体を検出できます。デバイスウィンドウでAIビジョンセンサーを設定する際に選択したAI分類モデルに応じて、検出される物体が異なります。現在利用可能なモデルは以下のとおりです。
教室で使用する物品
ブルーボール
グリーンボール
レッドボール
ブルーリング
グリーンリング
レッドリング
ブルーキューブ
グリーンキューブ
レッドキューブ
VEX V5ロボティクス競技会、延期へ
ブルーブロック
レッドブロック
VEX V5 ロボティクス競技会 ハイステークス
モバイルゴール
レッドリング
ブルーリング
VEX V5 ロボティクス競技会オーバーライド
RedBluePin
ブルーイエローピン
赤黄色ピン
イエローピン
カップ
カラーシグネチャー#
カラーシグネチャとは、AIビジョンセンサーが認識できる固有の色のことです。このシグネチャにより、センサーは物体の色に基づいて物体を検出・追跡できます。カラーシグネチャが設定されると、センサーは視野内のその特定の色を持つ物体を識別できるようになります。
カラーシグネチャは、スナップショット取得ブロックで使用され、色付きオブジェクトをリアルタイムで処理および検出します。一度に最大7つのカラーシグネチャを設定できます。

例
開始したとき
[Display if any objects matching the RED_BOX signature is detected.]
ずっと
スクリーンのカーソルを行 [1] 列 [1] に設定
スクリーンの行 [1] をクリア
[Change the signature to any configured Color Signature.]
[AIVision1 v] の [RED_BOX v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
[Color detected!] をスクリーンに表示 ▶
カラーコード#
カラーコードとは、2~4個のカラーシグネチャを特定の順序で配置した構造化されたパターンです。これらのコードにより、AIビジョンセンサーはあらかじめ定義された色のパターンを認識することができます。
カラーコードは、複雑な物体を識別したり、ゲーム要素と位置合わせしたり、自律航行用の固有マーカーを作成したりするのに特に役立ちます。一度に最大8つのカラーコードを設定できます。

例
開始したとき
[Display if any objects matching the RED_BLUE code is detected.]
ずっと
スクリーンのカーソルを行 [1] 列 [1] に設定
スクリーンの行 [1] をクリア
[Change the signature to any configured Color Code.]
[AIVision1 v] の [RED_BLUE v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
[Code detected!] をスクリーンに表示 ▶
設定#
AI Visionオブジェクトアイテムを設定します#
set AI Vision object itemスタックブロックは、データセット内のどのアイテムを使用するかを設定します。
[AIVision1 v] オブジェクトのアイテムを (1) に設定
パラメータ |
説明 |
|---|---|
デバイス |
どのAIビジョンセンサーを使用するか。 |
アイテム |
データセット内で使用する項目の番号。 |
例
開始したとき
[Display the largest detected AprilTag ID.]
ずっと
[AIVision1 v] の [AprilTag IDs v] スナップショットを撮る
スクリーンの行 [1] をクリア
スクリーンのカーソルを行 [1] 列 [1] に設定
もし <[AIVision1 v] オブジェクトあり?> なら
[AIVision1 v] オブジェクトのアイテムを ([AIVision1 v] オブジェクト数) に設定
([AIVision1 v] オブジェクト [tagID v]) をスクリーンに表示 ▶
価値観#
AIビジョンオブジェクトが存在する#
AI Visionオブジェクトが存在するブールブロックは、データセット内でオブジェクトが検出されたかどうかを報告します。
真 – データセットには検出されたオブジェクトが含まれています。
誤り – データセットには検出されたオブジェクトが含まれていません。
<[AIVision1 v] オブジェクトあり?>
パラメータ |
説明 |
|---|---|
デバイス |
どのAIビジョンセンサーを使用するか。 |
例
開始したとき
[Drive forward if an object is detected.]
ずっと
[AIVision1 v] の [AI 分類 v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
[前進 v] へ [10] [mm v] 走行 ▶
AIビジョンオブジェクトは#
AI Vision オブジェクトは、検出されたオブジェクトが特定の分類に一致するかどうかを報告します。
真 – データセット内の項目は特定のオブジェクトです。
誤り – データセット内の項目は、特定のオブジェクトではありません。
<[AIVision1 v] オブジェクトは [BlueBall v]?>
パラメータ |
説明 |
|---|---|
デバイス |
どのAIビジョンセンサーを使用するか。 |
物体 |
アイテムをどのAI分類と比較するか。 |
例
開始したとき
[Display if a Blue Cube is detected.]
ずっと
[AIVision1 v] の [AI 分類 v] スナップショットを撮る
スクリーンの行 [1] をクリア
スクリーンのカーソルを行 [1] 列 [1] に設定
もし <[AIVision1 v] オブジェクトあり?> なら
もし <[AIVision1 v] オブジェクトは [BlueCube v]?> なら
[Cube detected!] をスクリーンに表示 ▶
[0.5] 秒待つ
AI VisionオブジェクトはAprilTag IDです#
AI Vision オブジェクトは AprilTag ID です ブールブロックは、検出された AprilTag ID が特定の ID と一致するかどうかを報告します。
真 – AprilTag ID は番号です。
誤り – AprilTag ID は番号ではありません。
<[AIVision1 v] object is AprilTag ID [1] ?>
パラメータ |
説明 |
|---|---|
デバイス |
どのAIビジョンセンサーを使用するか。 |
AprilTag ID番号 |
検出されたAprilTag ID番号と比較する番号。 |
例:
開始したとき
[Report if AprilTag ID 3 is detected.]
ずっと
スクリーンをクリア
スクリーンのカーソルを行 [1] 列 [1] に設定
[AIVision1 v] の [AprilTag IDs v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
もし <[AIVision1 v] object is AprilTag ID [3] ?> なら
[That is 3!] をスクリーンに表示 ▶
でなければ
[That isn't 3!] をスクリーンに表示 ▶
終わり
終わり
[0.1] 秒待つ
AIビジョンオブジェクト数#
AI Visionオブジェクトカウントレポーターブロックは、データセット内で検出されたオブジェクトの数を整数として報告します。
([AIVision1 v] オブジェクト数)
パラメータ |
説明 |
|---|---|
デバイス |
どのAIビジョンセンサーを使用するか。 |
例
開始したとき
[Display the total amount of cubes, rings, and balls.]
ずっと
スクリーンの行 [1] をクリア
スクリーンのカーソルを行 [1] 列 [1] に設定
[AIVision1 v] の [AI 分類 v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
([AIVision1 v] オブジェクト数) をスクリーンに表示 ▶
終わり
[0.5] 秒待つ
AI Visionオブジェクトプロパティ#
スナップショットを撮る ブロックが使用された後に保存される各オブジェクトには、以下の 9 つのプロパティが含まれています。
([AIVision1 v] オブジェクト [幅 v])
tagIDとscoreを除くすべてのプロパティ値は、take snapshotブロックが使用された時点でのAI Vision Sensorの視野における検出されたオブジェクトの位置とサイズを表します。これらの値は、センサーの320×240ピクセルの解像度に基づいてピクセル単位で測定されます。
パラメータ |
説明 |
|---|---|
デバイス |
どのAIビジョンセンサーを使用するか。 |
財産 |
検出したオブジェクトのどのプロパティを使用するか: |
幅#
widthプロパティは、検出されたオブジェクトの幅をピクセル単位で、1から320までの整数値で報告します。
([AIVision1 v] オブジェクト [幅 v])
例
開始したとき
[Drive towards an object until its width is larger than 100 pixels.]
ずっと
[AIVision1 v] の [AI 分類 v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
もし <([AIVision1 v] オブジェクト [幅 v]) [math_less_than v] [100]> なら
[前進 v] へ走行
でなければ
走行停止
終わり
身長#
heightプロパティは、検出されたオブジェクトの高さをピクセル単位で、1から240までの整数値で報告します。
([AIVision1 v] オブジェクト [高さ v])
例
開始したとき
[Drive towards an object until its height is larger than 100 pixels.]
ずっと
[AIVision1 v] の [AI 分類 v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
もし <([AIVision1 v] オブジェクト [高さ v]) [math_less_than v] [100]> なら
[前進 v] へ走行
でなければ
走行停止
終わり
センターX#
centerXプロパティは、検出されたオブジェクトの中心のx座標をピクセル単位で、0から320までの整数値で報告します。
([AIVision1 v] オブジェクト [centerX v])
例
開始したとき
[Turn slowly until an object is centered in front of the robot.]
旋回速度を [30] [% v] に設定
[右 v] へ旋回
ずっと
[AIVision1 v] の [AI 分類 v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
もし <[140] [math_less_than v] ([AIVision1 v] オブジェクト [centerX v]) [math_less_than v] [180]> なら
走行停止
センターY#
centerYプロパティは、検出されたオブジェクトの中心のy座標をピクセル単位で、0から240までの整数値で報告します。
([AIVision1 v] オブジェクト [centerY v])
例
開始したとき
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
ずっと
[AIVision1 v] の [AI 分類 v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
もし <([AIVision1 v] オブジェクト [centerY v]) [math_less_than v] [140]> なら
[前進 v] へ走行
でなければ
走行停止
終わり
角度#
angleプロパティは、検出されたカラーコードまたはAprilTag IDの向きを、0~359度の整数値で報告します。
([AIVision1 v] オブジェクト [角度 v])
例
開始したとき
[Slide left or right depending on how the Color Code is rotated.]
ずっと
[AIVision1 v] の [RED_BLUE v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
もし <[50] [math_less_than v] ([AIVision1 v] オブジェクト [角度 v]) [math_less_than v] [100]> なら
[右 v] へ走行
もし <[270] [math_less_than v] ([AIVision1 v] オブジェクト [角度 v]) [math_less_than v] [330]> なら(続き)
[左 v] へ走行
でなければ
走行停止
終わり
でなければ
走行停止
オリジネーション#
originXプロパティは、検出されたオブジェクトのバウンディングボックスの左上隅のx座標をピクセル単位で、0から320までの整数値で報告します。
([AIVision1 v] オブジェクト [originX v])
例
開始したとき
[Display if an object is to the left or the right.]
ずっと
スクリーンの行 [1] をクリア
スクリーンのカーソルを行 [1] 列 [1] に設定
[AIVision1 v] の [AI 分類 v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
もし <([AIVision1 v] オブジェクト [originX v]) [math_less_than v] [160]> なら
[To the left!] をスクリーンに表示 ▶
でなければ
[To the right!] をスクリーンに表示 ▶
終わり
[0.5] 秒待つ
起源Y#
originYプロパティは、検出されたオブジェクトのバウンディングボックスの左上隅のy座標をピクセル単位で、0から240までの整数値として報告します。
([AIVision1 v] オブジェクト [originY v])
例
開始したとき
[Display if an object is close or far from the robot.]
ずっと
スクリーンの行 [1] をクリア
スクリーンのカーソルを行 [1] 列 [1] に設定
[AIVision1 v] の [AI 分類 v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
もし <([AIVision1 v] オブジェクト [originY v]) [math_less_than v] [80]> なら
[Far!] をスクリーンに表示 ▶
でなければ
[Close!] をスクリーンに表示 ▶
終わり
[0.5] 秒待つ
タグID#
tagIDプロパティは、検出されたAprilTag IDの識別番号を整数として報告します。
([AIVision1 v] オブジェクト [tagID v])
例
開始したとき
[Drive forward when AprilTag ID 0 is detected.]
ずっと
[AIVision1 v] の [AprilTag IDs v] スナップショットを撮る
もし <[AIVision1 v] オブジェクトあり?> なら
もし <([AIVision1 v] オブジェクト [tagID v]) [math_equal v] [0]> なら
[前進 v] へ走行
でなければ
走行停止
終わり
[0.5] 秒待つ
スコア#
scoreプロパティは、検出されたAI分類に対するモデルの確信度を70%から100%までのパーセンテージで報告します。
スコアが低いほど、センサーは検出された物体に対する確信度が低いことを意味し、スコアが高いほど、センサーの確信度が高いことを意味します。
([AIVision1 v] オブジェクト [スコア v])