ロボット専用ブロック#

導入#

ヒーローボット「アクセル」には、2種類のモーターオプション、AIビジョンセンサー、光学センサー、回転センサー、およびゲームポジショニングシステム(GPS)センサーが搭載されています。

すべての標準VEXcode VRブロックは、V5 24-25 High Stakesプレイグラウンドで使用できます。

以下は、利用可能なロボット専用ブロックの一覧です。

駆動系 – ロボットの移動と旋回。

  • アクション

    • drive — ロボットを永久に前進または後退させます。

    • drive for — ロボットを特定の距離だけ前進または後退させます。

    • turn — ロボットを永久に左または右に回転させます。

    • turn for — ロボットを特定の角度だけ左または右に回転させます。

    • 方向転換 — ロボットを特定の方向に向けて回転させます。

    • 回転方向へ — ロボットを特定の回転方向に向けます。

    • 運転停止 — ロボットの動きを停止します。

  • 設定

  • 価値観

    • 走行完了 — ロボットの移動が完了したかどうかを報告します。

    • ドライブが動いている — ロボットが動いているかどうかを報告します。

    • 駆動方向 — ロボットの現在の進行方向を0度から359.99度の範囲で報告します。

    • 駆動回転 — ロボットの現在の回転を報告します。

    • drive velocity — ロボットの走行速度を報告します。

動作 – ロボットのモーターを動かし、追跡する。

AIビジョン – AIビジョンセンサーを使用して物体をキャプチャおよび分析します。

センシング – ロボットの各種センサーを活用する。

このページに掲載されている例では、Playgroundのデフォルトの開始位置を使用しています。

パワートレイン#

駆動系は、VRロボットの走行と旋回を制御します。駆動系は、前進、後退、左折、右折、方向転換、回転などを行うことができます。

行動#

ドライブ#

駆動スタックブロックは、ロボットを永久に前進または後退させます。ロボットは、旋回や停止などの別の動作が与えられるまで動き続けます。

[前進 v] へ走行

パラメータ

説明

方向

ロボットの移動方向:前進または後退。

例

開始したとき :: hat events
[Drive forward, then stop.]
[前進 v] へ走行
(2) 秒待つ
走行停止

ドライブ#

駆動スタックブロックは、ロボットを特定の距離だけ前進または後退させます。プロジェクトは、ロボットの移動が完了するまで待機し、その後スタック内の次のブロックが実行されます。

[前進 v] へ (200) [mm v] 走行 ▶

パラメータ

説明

方向

ロボットの移動方向:前進または後退。

距離

ロボットが走行する距離。整数または小数で指定できます。

ユニット

距離の単位:mm(ミリメートル)またはインチ

そして待たない

矢印(▶)を選択してブロックを展開すると、「待機しない」と表示されるので、スタック内の次のブロックがすぐに実行されます。

例

開始したとき :: hat events
[Drive forward.]
[前進 v] へ (500) [mm v] 走行 ▶

振り向く#

turnスタックブロックは、ロボットを左右に永久に旋回させます。ロボットは、走行や停止などの別の動作が与えられるまで旋回を続けます。

[右 v] へ旋回

パラメータ

説明

方向

ロボットが旋回する方向:左または右。

例

開始したとき :: hat events
[Turn right, then stop.]
[右 v] へ旋回
(2) 秒待つ
走行停止

ターン#

turn forスタックブロックは、ロボットを指定された角度だけ左右に回転させます。回転角度はロボットの現在位置を基準としています。プロジェクトは、ロボットの回転が完了するまで待機し、その後スタック内の次のブロックが実行されます。

[右 v] へ (90) 度旋回 ▶

パラメータ

説明

方向

ロボットが旋回する方向:左または右。

角度

ロボットが回転する角度(度)。整数または小数で指定できます。

そして待たない

矢印(▶)を選択してブロックを展開すると、「待機しない」と表示されるので、スタック内の次のブロックがすぐに実行されます。

例

開始したとき :: hat events
[Turn left, then turn around to the right.]
[左 v] へ (90) 度旋回 ▶
[右 v] へ (180) 度旋回 ▶

見出しに目を向ける#

方位とは、ロボットが向いている方向のことで、度数で表されます。方位へ旋回スタックブロックは、ロボットを-359度から359度までの特定の方位に向けます。ロボットは、目標の方位に到達するために最短の方向へ旋回します。

開始時の方位は0度です。

プロジェクトでは、ロボットの旋回が完了するまで待機し、その後スタック内の次のブロックが実行されます。

ヘディング (90) 度へ旋回 ▶

パラメータ

説明

見出し

ロボットが向くべき方向。範囲は-359度から359度まで。

そして待たない

矢印(▶)を選択してブロックを展開すると、「待機しない」と表示されるので、スタック内の次のブロックがすぐに実行されます。

例

開始したとき :: hat events
[Turn to face the cardinal directions.]
ヘディング (90) 度へ旋回 ▶
(2) 秒待つ
ヘディング (180) 度へ旋回 ▶
(2) 秒待つ
ヘディング (270) 度へ旋回 ▶
(2) 秒待つ
ヘディング (0) 度へ旋回 ▶
(2) 秒待つ

回転する#

回転方向転換スタックブロックは、ロボットを特定の回転方向に向けます。

回転とは、ロボットがどれだけ回転したかを示すもので、度数で表されます。プロジェクトの開始時には、回転値は0度に設定されています。回転は、set drive rotation ブロックを使用して設定することもできます。

回転値は絶対値です。つまり、旋回方向はロボットの現在の回転角度によって決まります。右に旋回すると回転角度が大きくなり、左に旋回すると回転角度が小さくなります。

例えば、ロボットが0度の位置から始まり、720度回転させると、右に2回転します。次に360度回転させると、360度は720度より小さいため、左に1回転します。

プロジェクトでは、ロボットの旋回が完了するまで待機し、その後スタック内の次のブロックが実行されます。

回転 (90) 度へ旋回 ▶

パラメータ

説明

回転

ロボットが回転する角度(度数)。整数または小数を指定できます。

そして待たない

矢印(▶)を選択してブロックを展開すると、「待機しない」と表示されるので、スタック内の次のブロックがすぐに実行されます。

例

開始したとき :: hat events
[Turn left, then spin in a circle clockwise and face right.]
回転 (-90) 度へ旋回 ▶
(2) 秒待つ
回転 (450) 度へ旋回 ▶

運転をやめる#

「運転停止」スタックブロックは、ロボットの動きを停止させます。

走行停止

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき :: hat events
[Drive forward, then stop.]
[前進 v] へ走行
[4] 秒待つ
走行停止

設定#

ドライブ速度を設定する#

走行速度設定スタックブロックは、ロボットの走行速度を指定します。パーセンテージが高いほどロボットは速く走行し、低いほど遅く走行します。

すべてのプロジェクトは、ロボットがデフォルトで50%の速度で走行するところから始まります。

注: 速度を速くするとロボットの走行速度は速くなりますが、精度が低下する可能性があります。速度を遅くするとロボットの走行速度は遅くなりますが、精度は向上する可能性があります。

走行速度を (50) [% v] に設定

パラメータ

説明

速度

0%から100%までの走行速度。

ユニット

速度の単位:%

例

開始したとき :: hat events
[Drive forward at the default velocity.]
[前進 v] へ (100) [mm v] 走行 ▶
(1) 秒待つ
[Move slower.]
走行速度を (20) [% v] に設定
[前進 v] へ (100) [mm v] 走行 ▶
(1) 秒待つ
[Move faster.]
走行速度を (100) [% v] に設定
[前進 v] へ (100) [mm v] 走行 ▶
(1) 秒待つ

旋回速度を設定#

旋回速度設定スタックブロックは、ロボットがどれくらいの速さで旋回するかを指示します。パーセンテージが高いほどロボットは速く旋回し、低いほど遅く旋回します。

すべてのプロジェクトは、ロボットがデフォルトで50%の速度で旋回するところから始まります。

注: 速度が速いほどロボットの旋回速度は速くなりますが、精度が低下する可能性があります。速度が遅いほどロボットの旋回速度は遅くなりますが、精度は向上する可能性があります。

旋回速度を (50) [% v] に設定

パラメータ

説明

速度

旋回速度を0%から100%まで設定します。

ユニット

速度の単位:%

例

開始したとき :: hat events
[Turn at default velocity.]
[右 v] へ (100) 度旋回 ▶
(1) 秒待つ
[Turn slower.]
旋回速度を (20)% に設定
[右 v] へ (100) 度旋回 ▶
(1) 秒待つ
[Turn faster.]
旋回速度を (100)% に設定
[右 v] へ (100) 度旋回 ▶
(1) 秒待つ

ドライブヘディングを設定する#

方位とは、ロボットが向いている方向のことで、度数で表されます。set drive headingスタックブロックは、ロボットの現在の方位を新しい方位値に変更します。

例えば、ロボットが右を向いた場合、方位を0度に設定すると、その右向きの位置が新たな0度になります。その後、ロボットはその新たな方位に基づいて他の位置に旋回することができます。

走行ヘディングを (0) 度に設定

パラメータ

説明

見出し

ロボットに設定する方位角の値(度数)。

例

開始したとき :: hat events
[Turn to the left.]
走行ヘディングを (90) 度に設定
ヘディング (0) 度へ旋回 ▶

ドライブの回転方向を設定します#

回転とは、ロボットがどれだけ回転したかを示すもので、度数で表されます。プロジェクトの開始時には、回転値は0度に設定されています。set drive rotationスタックブロックは、ロボットの現在の回転値を新しい値に変更します。

例えば、ロボットが右に2回転した場合、回転角度は720度になります。回転角度を0度に設定すると、720度から0度にリセットされます。その後、ロボットはその新しい値に基づいて回転することができます。

走行回転を (0) 度に設定

パラメータ

説明

回転

ロボットに設定する回転角度(度数)。整数または小数を指定できます。

例

開始したとき :: hat events
[Spin counterclockwise two times.]
走行回転を (720) 度に設定
回転 (0) 度へ旋回 ▶

ドライブのタイムアウトを設定する#

set drive timeoutスタックブロックは、ロボットが動作を完了するまでの試行時間を秒単位で設定します。ロボットがその時間内に動作を完了できない場合、試行を停止してスタック内の次のブロックに進みます。これにより、ロボットが動作中に停止してしまうのを防ぎます。

走行タイムアウトを (1) 秒に設定

パラメータ

説明

時間

ロボットが動作を完了するために試行できる秒数。整数または小数を指定できます。

例

始動時は、走行時間を1秒に制限し、その後90度回転します。#
開始したとき :: hat events
[Drive forward for 1 second, then turn.]
走行タイムアウトを (1) 秒に設定
[前進 v] へ (25) [インチ v] 走行 ▶
[右 v] へ (90) 度旋回 ▶

価値観#

運転は終了しました#

走行完了ブール値ブロックは、ロボットの移動が完了したかどうかを報告します。これは、ロボットの動きに基づいて他の動作のタイミングを制御するために使用できます。

  • 正解 — ロボットの移動が完了しました。

  • 誤り — ロボットはまだ動いています。

このブロックは、待機しない パラメータを持つドライブトレインブロックと連携して動作します。

<走行完了?>

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき :: hat events
[Start spinning when the drive is complete.]
[前進 v] へ (200) [mm v] 走行 ◀ 待たない
<走行完了?> まで待つ
[右 v] へ (360) 度旋回 ▶

ドライブが動いています#

駆動装置が動いているというブール値ブロックは、ロボットが動いているかどうかを報告します。これは、ロボットの動きに基づいて他の動作のタイミングを制御するために使用できます。

  • 正解 — ロボットは動いています。

  • 誤り — ロボットは動いていません。

このブロックは、待機しない パラメータを持つドライブトレインブロックと連携して動作します。

<走行中?>

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき :: hat events
[Print that the robot is moving while it is still driving.]
[前進 v] へ (200) [mm v] 走行 ◀ 待たない
<走行中?> の間繰り返す
[Still Moving...] を表示 ▶
(0.1) 秒待つ
スクリーンをクリア
終わり
[Done!] を表示 ▶

ドライブヘッジ#

方位とは、ロボットが向いている方向のことで、度数で表されます。駆動方位レポーターブロックは、0度から359.99度までの方位を報告します。

ロボットの初期進行方向は0度です。

(走行ヘディング(度))

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき :: hat events
[Display the heading after turning.]
[右 v] へ (450) 度旋回 ▶
(走行ヘディング(度)) をスクリーンに表示 ◀ カーソルを次の行へ移動する

駆動回転#

回転とは、ロボットがどれだけ回転したかを示すもので、単位は度です。プロジェクトの開始時には、回転値は0度に設定されます。ドライブ回転レポーターブロックは、ロボットの現在の回転角度を報告します。

右に回すと回転角度が大きくなり、左に回すと回転角度が小さくなります。例えば、右に2回転すると、720度の回転として表示されます。

(走行回転角(度))

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき :: hat events
[Display the rotation after turning.]
[右 v] へ (450) 度旋回 ▶
(走行回転角(度)) をスクリーンに表示 ◀ カーソルを次の行へ移動する

駆動速度#

走行速度レポーターブロックは、ロボットがどれくらいの速さで走行しているかを報告します。

(走行速度([% v]))

パラメータ

説明

ユニット

速度の単位:%

例

開始したとき :: hat events
[Display the velocity after driving.]
[前進 v] へ (200) [mm v] 走行 ▶
(走行速度([% v])) をスクリーンに表示 ◀ カーソルを次の行へ移動する

モーション#

アクセルはアームモーターを使ってアームを上下させ、リングを杭の近くに配置します。プッシャーモーターはプッシャーをアームに沿って移動させ、リングをアームから押し出して杭の上に置きます。

各モーターにはそれぞれ回転方向のオプションがあります。回転方向の名前は、そのモーターがAxel上でどのように動くかを表しています。

行動#

スピンモーター#

スピンモータースタックブロックは、モーターを2つの方向のいずれかに永久に回転させます。モーターは、別の方向に回転させたり、停止させたりといった別の動作が与えられるまで回転し続けます。

[ArmMotor v] を [上 v] へ回転

パラメータ

説明

モーター

回転させるモーター:アームモーターまたはプッシャーモーター。

方向

モーターの回転方向:

  • アームモーター — 上または下
  • プッシャーモーター — 下または上

例

開始したとき
[Lift the Arm before moving to a Mobile Goal.]
[ArmMotor v] を [上 v] へ回転
(1) 秒待つ
[ArmMotor v] を停止

スピンモーター#

spin motor forスタックブロックは、モーターを特定の距離だけ回転させます。回転はモーターの現在位置を基準としています。プロジェクトは、モーターの回転が終了するまで待機し、その後スタック内の次のブロックが実行されます。

[ArmMotor v] を [上 v] へ (90) [度 v] 回転 ▶

パラメータ

説明

モーター

回転させるモーター:アームモーターまたはプッシャーモーター。

方向

モーターの回転方向:

  • アームモーター — 上または下
  • プッシャーモーター — 下または上

距離

モーターが回転する距離。度は整数を使用します。回転数は整数または小数を使用できます。

ユニット

距離の単位:度または回転数。

そして待たない

矢印(▶)を選択してブロックを展開すると、「待機しない」と表示されるので、スタック内の次のブロックがすぐに実行されます。

例

開始したとき
[Lift the Arm.]
[ArmMotor v] を [上 v] へ [200] [度 v] 回転 ▶

モーターを回転させて位置を合わせる#

モーターを所定の位置に回転させるスタックブロックは、モーターを特定の位置まで回転させます。

モーターの位置は、回転した角度を表し、度または回転数で測定されます。1回転は360度です。プロジェクトの開始時には、モーターの位置は0度に設定されています。モーターの位置は、モーター位置の設定ブロックを使用して設定することもできます。

位置値は絶対値です。つまり、回転方向はモーターの現在位置によって決まります。

例えば、モーターが0度の位置から始まり、720度の位置まで回転した場合、2回転前進します。その後、360度の位置まで回転した場合、360度は720度より小さいため、1回転後退します。

[ArmMotor v] を位置 (90) [度 v] へ回転 ▶

パラメータ

説明

モーター

回転させるモーター:アームモーターまたはプッシャーモーター。

位置

モーターが回転する位置の値。度は整数を使用します。回転数は整数または小数を使用できます。

ユニット

位置の単位:度または回転。

そして待たない

矢印(▶)を選択してブロックを展開すると、「待機しない」と表示されるので、スタック内の次のブロックがすぐに実行されます。

例

開始したとき
[Lift the Arm.]
[ArmMotor v] を位置 [350] [度 v] へ回転 ▶

モーターを停止する#

モーター停止スタックブロックは、選択したモーターを停止します。

[ArmMotor v] を停止

パラメータ

説明

モーター

停止させるモーター:アームモーターまたはプッシャーモーター。

例

開始したとき
[ArmMotor v] を [上 v] へ回転
(1) 秒待つ
[ArmMotor v] を停止

設定#

モーター速度を設定する#

モーター速度設定スタックブロックは、モーターの回転速度を指定します。パーセンテージが高いほどモーターは速く回転し、低いほど遅く回転します。

すべてのプロジェクトは、各モーターがデフォルトで50%の速度で回転する状態から始まります。

注: 速度を速くするとモーターの回転速度は速くなりますが、精度が低下する可能性があります。速度を遅くするとモーターの回転速度は遅くなりますが、精度は向上する可能性があります。

[ArmMotor v] の速度を [50] [% v] に設定

パラメータ

説明

モーター

ArmMotor または PusherMotor の速度を設定するモーター。

速度

モーターの回転速度。パーセントは0%から100%までの整数で表されます。

ユニット

速度の単位:%。

例

開始したとき
[ArmMotor v] の速度を [100] [% v] に設定
[ArmMotor v] を [上 v] へ [200] [度 v] 回転 ▶

モータータイムアウトを設定する#

set motor timeoutスタックブロックは、モーターが動作を完了するまでの試行時間を設定します。モーターがその時間内に動作を完了できない場合、試行を停止してスタック内の次のブロックに進みます。これにより、モーターが動作中に停止してしまうのを防ぎます。

[ArmMotor v] のタイムアウトを [1] 秒に設定

パラメータ

説明

モーター

タイムアウトを設定するモーター:ArmMotor または PusherMotor。

時間

モーターが動作を完了するまでの試行時間(秒)。整数または小数を指定できます。

例

開始したとき
[ArmMotor v] のタイムアウトを [1] 秒に設定
[ArmMotor v] を [上 v] へ [5] [回転 v] 回転 ▶

位置#

運動位置#

モーターの位置とは、モーターが回転した角度のことで、度または回転数で測定されます。1回転は360度に相当します。モーター位置レポーターブロックは、モーターの現在の位置を報告します。

プロジェクト開始時、モーターの位置は0度に設定されます。モーターが正方向に1回転すると、位置は360度、つまり1回転となります。モーターが逆方向に回転すると、位置は負の値になります。

([ArmMotor v] の位置([度 v]))

パラメータ

説明

モーター

位置を報告するモーター:ArmMotorまたはPusherMotor。

ユニット

モーターの位置を報告する単位:度または回転数。

モーター位置を設定する#

モーターの位置とは、モーターが回転した角度のことで、度または回転数で表されます。1回転は360度です。モーター位置設定スタックブロックは、モーターの現在の位置を新しい値に変更します。

例えば、モーターが180度まで回転している場合、位置を0度に設定すると、その位置は180度から0度にリセットされます。その後、モーターはその新しい値に基づいて回転できるようになります。

[ArmMotor v] の位置を (0) [度 v] に設定

パラメータ

説明

モーター

アームモーターまたはプッシャーモーターの位置を設定するモーター。

位置

モーターに設定する位置の値。度は整数を使用します。回転数は整数または小数を使用できます。

ユニット

位置の単位:度または回転。

価値観#

モーターが完成しました#

モーター完了ブールブロックは、モーターの動作が完了したかどうかを報告します。これは、モーターの動きに基づいて他の動作のタイミングを制御するために使用できます。

  • 正解 — モーターは動作を終えました。

  • 誤り — モーターはまだ動いています。

このブロックは、and don’t wait パラメーターを持つ次のモーションブロックと連携して動作します: spin motor for および spin motor to position。

<[ArmMotor v] 完了?>

パラメータ

説明

モーター

動作が完了したかどうかを報告するモーター:ArmMotor または PusherMotor。

モーターが回転している#

モーターが回転しています ブール値ブロックは、モーターが回転しているかどうかを報告します。これは、モーターの動きに基づいて他の動作のタイミングを制御するために使用できます。

  • 正解 — モーターは回転しています。

  • 誤り — モーターは回転していません。

このブロックは、and don’t wait パラメーターを持つ次のモーションブロックと連携して動作します: spin motor for および spin motor to position。

<[ArmMotor v] 回転中?>

パラメータ

説明

モーター

回転しているかどうかを報告するモーター:ArmMotor または PusherMotor。

モーター速度#

モーター速度レポーターブロックは、モーターの回転速度を-100%から100%までのパーセンテージで報告します。

([ArmMotor v] の速度([% v]) :: custom-motion)

パラメータ

説明

モーター

ArmMotor または PusherMotor の速度を報告するモーター。

ユニット

モーター速度を報告する単位:%。

AIビジョン#

行動#

オブジェクトデータを取得する#

オブジェクトデータ取得ブロックは、AIビジョンセンサーフレームからのデータを単一のシグネチャ(センサーが認識できるもの、例えばフィールド上のゲーム要素などの保存された説明)にフィルタリングします。

データセットには、インデックス0から始まり、幅の大きい順から小さい順にオブジェクトが格納されます。各オブジェクトのプロパティには、AI Visionオブジェクトプロパティブロックを使用してアクセスできます。一致するオブジェクトが検出されない場合は、空のデータセットが返されます。

オブジェクトデータ取得スタックブロック。#
[AIVision v] から [AI 分類 v] データを取得

パラメータ

説明

サイン

指定された署名のデータのみを含むようにデータセットをフィルタリングします。使用可能な署名は
のとおりです。0

  • AI分類 - モバイルゴール、レッドリング、ブルーリングを検出します

例

開始したとき
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
[ArmMotor v] を [上 v] へ [270] [度 v] 回転 ▶
[AIVision v] から [AI 分類 v] データを取得
[Check if any AI Classifications were detected in the last snapshot.]
もし <[AIVision v] オブジェクトあり?> なら
[Only if an AI Classification is detected, then print data from the largest AI Classification.]
[Largest object's width:] を表示 ▶
([AIVision v] オブジェクト [幅 v]) を表示 ◀ カーソルを次の行へ移動する
終わり

設定#

オブジェクトアイテムを設定する#

set object item ブロックは、データセット内のどのアイテムを使用するかを設定します。

Set AI Visionオブジェクトアイテムスタックブロック。#
[AIVision v] オブジェクトのアイテムを [1] に設定

パラメータ

説明

アイテム

データセット内で使用する項目の番号。

例

開始したとき
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
[ArmMotor v] を [上 v] へ [270] [度 v] 回転 ▶
[AIVision v] から [AI 分類 v] データを取得
[Check if any AI Classifications were detected in the last snapshot.]
もし <[AIVision v] オブジェクトあり?> なら
[If any AI Classification is detected, check if any of them are a Mobile Goal.]
もし <[AIVision v] オブジェクトは [MobileGoal v]?> なら
[Mobile Goal is detected.] を表示 ▶
でなければ
[Mobile Goal is not detected.] を表示 ▶
終わり
終わり

価値観#

オブジェクトが存在する#

オブジェクトが存在するブロックは、データセット内にオブジェクトが検出されたかどうかを示すブール値を返します。

  • 正解 – データセットに検出されたオブジェクトが含まれています。

  • 偽 – データセットには検出されたオブジェクトが含まれていません。

AI Visionオブジェクトはブールブロックを保有しています。#
<[AIVision v] オブジェクトあり?>

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
[ArmMotor v] を [上 v] へ [270] [度 v] 回転 ▶
[AIVision v] から [AI 分類 v] データを取得
[Check if any AI Classifications were detected in the last snapshot.]
もし <[AIVision v] オブジェクトあり?> なら
([AIVision v] オブジェクト数) を表示 ◀ カーソルを次の行へ移動する
終わり

オブジェクトは#

AI Vision object is ブロックは、検出されたオブジェクトが特定の分類に一致するかどうかを示すブール値を返します。

  • 真 – データセット内の項目は特定のオブジェクトです。

  • 誤り – データセット内の項目は、特定のオブジェクトではありません。

AI Visionオブジェクトはブールブロックです。#
<[AIVision v] オブジェクトは [MobileGoal v]?>

パラメータ

説明

物体

アイテムを比較する対象オブジェクト:

  • MobileGoal
  • RedRing
  • BlueRing

例

開始したとき
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
[ArmMotor v] を [上 v] へ [270] [度 v] 回転 ▶
[AIVision v] から [AI 分類 v] データを取得
[Check if any AI Classifications were detected in the last snapshot.]
もし <[AIVision v] オブジェクトあり?> なら
[If any AI Classification is detected, check if any of them are a Mobile Goal.]
もし <[AIVision v] オブジェクトは [MobileGoal v]?> なら
[Mobile Goal is detected.] を表示 ▶
でなければ
[Mobile Goal is not detected.] を表示 ▶
終わり
終わり

オブジェクト数#

オブジェクト数ブロックは、データセット内で検出されたオブジェクトの数を整数として返します。

Set AI Visionオブジェクトアイテムスタックブロック。#
([AIVision] オブジェクト数)

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
[ArmMotor v] を [上 v] へ [270] [度 v] 回転 ▶
[AIVision v] から [AI 分類 v] データを取得
[Check if any AI Classifications were detected in the last snapshot.]
もし <[AIVision v] オブジェクトあり?> なら
([AIVision v] オブジェクト数) を表示 ◀ カーソルを次の行へ移動する
終わり

オブジェクトプロパティ#

オブジェクトデータの取得 ブロックが使用された後に保存される各オブジェクトには、以下の 6 つのプロパティが含まれています。

AI Visionオブジェクトプロパティレポーターブロック。#
([AIVision v] オブジェクト [幅 v])

すべてのプロパティ値は、オブジェクトデータ取得ブロックが使用された時点での、AIビジョンセンサーの視野内における検出されたオブジェクトの位置とサイズを表します。これらの値は、センサーの320×240ピクセルの解像度に基づいて、ピクセル単位で測定されます。

パラメータ

説明

財産

Which property of the detected object to use:

幅#

widthプロパティは、検出されたオブジェクトの幅をピクセル単位で、1から320までの整数値で報告します。

パラメータが幅に設定されたAI Visionオブジェクトのプロパティスタックブロック。#
([AIVision v] オブジェクト [幅 v])

例

開始したとき
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
[ArmMotor v] を [上 v] へ [270] [度 v] 回転 ▶
[AIVision v] から [AI 分類 v] データを取得
[Check if any AI Classifications were detected in the last snapshot.]
もし <[AIVision v] オブジェクトあり?> なら
[Only if an AI Classification is detected, then print data from the largest AI Classification.]
[Largest object's width:] を表示 ▶
([AIVision v] オブジェクト [幅 v]) を表示 ◀ カーソルを次の行へ移動する
終わり
身長#

heightプロパティは、検出されたオブジェクトの高さをピクセル単位で、1から240までの整数値で報告します。

パラメータが高さに設定されたAI Visionオブジェクトのプロパティスタックブロック。#
([AIVision v] オブジェクト [高さ v])
センターX#

centerXプロパティは、検出されたオブジェクトの中心のx座標をピクセル単位で、0から320までの整数値で報告します。

パラメータがcenterXに設定されたAI Visionオブジェクトプロパティスタックブロック。#
([AIVision v] オブジェクト [centerX v])
センターY#

centerYプロパティは、検出されたオブジェクトの中心のy座標をピクセル単位で、0から240までの整数値で報告します。

パラメータがcenterYに設定されたAI Visionオブジェクトプロパティスタックブロック。#
([AIVision v] オブジェクト [centerY v])
オリジネーション#

originXプロパティは、検出されたオブジェクトのバウンディングボックスの左上隅のx座標をピクセル単位で、0から320までの整数値で報告します。

パラメータがoriginXに設定されたAI Visionオブジェクトプロパティスタックブロック。#
([AIVision v] オブジェクト [originX v])
起源Y#

originYプロパティは、検出されたオブジェクトのバウンディングボックスの左上隅のy座標をピクセル単位で、0から240までの整数値として報告します。

パラメータがoriginYに設定されたAI Visionオブジェクトプロパティスタックブロック。#
([AIVision v] オブジェクト [originY v])

センシング#

光学#

光学的に物体が発見されました#

光学センサーが物体を検出しました ブール値ブロックは、光学センサーが範囲内の物体を検出したかどうかを報告します。

  • 正解 — 光学センサーが物体を検出します。

  • 誤り — 光学センサーは物体を検出しません。

<[FrontOptical v] がオブジェクトを検出?>

パラメータ

説明

このブロックにはパラメータがありません。

光学的に色を検出する#

光学センサーが色を検出ブールブロックは、検出された色相値に基づいて、光学センサーが指定された色を検出したかどうかを報告します。

  • 正解 – センサーが指定された色を検出します。

  • 誤り – センサーが指定された色を検出しません。

注: 光学センサーは、指定された色に一致する色相範囲を探します。特定の色相範囲を検出するには、光学色相 ブロック を参照してください。

<[FrontOptical v] が [赤 v] を検出?>

パラメータ

説明

色

探すべき色:

  • 赤 – 検出された色相値が 340° - 20° の間。
  • 緑 – 検出された色相値が 80° - 140° の間。
  • 青 – 検出された色相値が 200° - 240° の間。
  • 黄 – 検出された色相値が 40° - 60° の間。
  • オレンジ – 検出された色相値が 20° - 40° の間。
  • 紫 – 検出された色相値が 240° - 280° の間。
  • シアン – 検出された色相値が 140° - 200° の間。

光学的輝度#

光学輝度レポーターブロックは、光学センサーに反射される光の量を0%から100%までのパーセンテージで報告します。

パーセンテージが高いほど、光学センサーに反射される光の量が多くなります。パーセンテージが低いほど、反射される光の量が少なくなります。

([FrontOptical v] の明るさ(%))

パラメータ

説明

このブロックにはパラメータがありません。

光学的色相#

光学色相レポーターブロックは、光学センサーによって検出された色相を0~359度の数値として報告します。

色相とは、色相環上の数字を用いて色を表現する方法のことです。

円形のカラーホイールには、周囲に度数が表示され、上部の0°から360°まで30度刻みで増加する、色相の全スペクトルが表示されています。

([FrontOptical v] の色相(度))

パラメータ

説明

このブロックにはパラメータがありません。

光学式の場合#

when Opticalハットブロックは、光学センサーがオブジェクトを検出または失うたびに、接続されているブロックのスタックを実行します。

[FrontOptical v] がオブジェクトを [検出 v] したとき :: hat events

パラメータ

説明

州

添付されたブロックのスタックが実行されるタイミングは次のとおりです。detectsは、未検出のオブジェクトが検出されたときに実行され、losesは、検出されたオブジェクトが検出されなくなったときに実行されます。

回転#

回転センサーの位置を設定します#

回転センサー位置の設定ブロックは、回転センサーの現在の位置を度単位の値に設定します。

[PusherRotation v] の位置を [0] 度に設定

パラメータ

説明

位置

回転センサーを設定する位置。

例

開始したとき
[Make lower Pusher position the new 0 degrees rotation position.]
[PusherMotor v] を [より低い v] へ [270] [度 v] 回転 ▶
[PusherRotation v] の位置を [0] 度に設定

回転センサー角度#

回転センサー角度ブロックは、センサーの現在の角度を0~359.99度の範囲で返します。

([PusherRotation v] の角度(度))

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき
[Make lower Pusher position the new 0 degrees rotation position.]
[PusherMotor v] を [より低い v] へ [270] [度 v] 回転 ▶
([PusherRotation v] の角度(度)) を表示 ▶

回転センサーの位置#

回転センサー位置ブロックは、回転位置の合計を度数または回転数で返します。

([PusherRotation v] の位置([度 v]) :: custom-sensing)

パラメータ

説明

ユニット

回転の単位:度または回転。

例

開始したとき
[Make lower Pusher position the new 0 degrees rotation position.]
[PusherMotor v] を [より低い v] へ [270] [度 v] 回転 ▶
([PusherRotation v] の位置([度 v]) :: custom-sensing) を表示 ▶

GPS#

GPS位置情報#

GPS位置ブロックは、GPS(ゲームポジショニングシステム™)センサーを備えたフィールドの中心からロボットの旋回基準点までの位置オフセットを返します。

([GPS v] の [X v] 位置([mm v]))

パラメータ

説明

軸

報告する軸を選択してください:

  • X
  • Y

ユニット

位置を表す単位:mm または インチ

GPSの方向#

GPS 方位 ブロックは、VEX GPS フィールドコードからの GPS (Game Positioning System™) センサーの読み取り値に基づいて、ロボットが現在向いている方位を 0.00 ~ 359.99 度の範囲で返します。

([GPS v] のヘディング(度))

パラメータ

説明

このブロックにはパラメータがありません。