ロボット専用ブロック#
導入#
ヒーローボット「ヒューイ」には、2種類のモーターオプション、IQ AIビジョンセンサー、光学センサー、タッチLEDが搭載されています。
すべての標準VEXcode VRブロックは、IQ 25-26 Mix & Matchプレイグラウンドで使用できます。
以下は、利用可能なロボット専用ブロックの一覧です。
駆動系 – ロボットの移動と旋回。
アクション
設定
走行速度を設定 — ロボットに走行速度を指示します。
旋回速度を設定 — ロボットに旋回速度を指示します。
駆動方向設定 — ロボットの現在の進行方向を新しい進行方向に変更します。
駆動回転の設定 — ロボットの現在の回転を新しい回転に変更します。
set drive timeout — ロボットが動作を完了しようとする秒数を設定します。
価値観
走行完了 — ロボットの移動が完了したかどうかを報告します。
ドライブが動いている — ロボットが動いているかどうかを報告します。
駆動方向 — ロボットの現在の進行方向を0度から359.99度の範囲で報告します。
駆動回転 — ロボットの現在の回転を報告します。
drive velocity — ロボットの走行速度を報告します。
動作 – ロボットのモーターを動かし、追跡する。
アクション
スピンモーター – モーターをその方向のいずれかに永久に回転させます。
spin motor for – モーターを特定の角度または回転数だけ回転させます。
モーターを所定の位置に回転 – モーターを特定の位置まで回転させます。
モーター停止 – モーターの回転を停止します。
設定
モーター速度を設定 – モーターに回転速度を指示します。
モータータイムアウトを設定 – モーターが動作を完了しようとする時間を設定します。
モーター位置の設定 – モーターの現在の位置を新しい値に変更します。
価値観
モーター完了 – モーターが動作を完了したかどうかを報告します。
モーターが回転しています – モーターが回転しているかどうかを報告します。
モーター位置 – モーターの現在の位置を報告します。
モーター速度 – モーターの回転速度を-100%から100%までのパーセンテージで報告します。
AIビジョン - IQ AIビジョンセンサーを使用して物体をキャプチャおよび分析します。
アクション
オブジェクトデータの取得 - 検出されたAI分類などの特定のシグネチャのデータをキャプチャします。
設定
set object item - リストから特定のオブジェクトを選択します。
価値観
オブジェクトが存在する - 分類が検出されたかどうかを返します。
object is - 特定の分類が検出されたかどうかを返します。
オブジェクト数 - 検出されたオブジェクトの数を返します。
オブジェクトプロパティ - 幅、高さ、centerX、centerY、originX、またはoriginYを返します。
センシング - ロボットの各種センサーを活用する。
光学
光学センサーが物体を検出しました – センサーが範囲内の物体を検出しているかどうかを報告します。
光学センサーが色を検出 – 光学センサーが指定された色を検出したかどうかを報告します。
光学的輝度 – 光学センサーによって検出された輝度を報告します。
光学色相 – 光学センサーによって検出された色相を報告します。
光学センサー使用時 – 光学センサーがオブジェクトを検出または失ったときに、添付されているブロックのスタックを実行します。
タッチLED
タッチLEDの色を設定 - タッチLEDを選択した色に設定します。
このページに掲載されている例では、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) 秒に設定
パラメータ |
説明 |
|---|---|
時間 |
ロボットが動作を完了するために試行できる秒数。整数または小数を指定できます。 |
例
開始したとき :: 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])) をスクリーンに表示 ◀ カーソルを次の行へ移動する
モーション#
ヒューイはクローモーターを使ってクローを開閉し、ピンやビームを拾ったり落としたりします。リフトモーターはピンやビームを上下させ、互いに接続できるようにします。
各モーターにはそれぞれ回転方向の選択肢があります。回転方向の名前は、そのモーターがヒューイ上でどのように動くかを表しています。
行動#
スピンモーター#
スピンモータースタックブロックは、モーターを2つの方向のいずれかに永久に回転させます。モーターは、別の方向に回転させたり、停止させたりといった別の動作が与えられるまで回転し続けます。
[ClawMotor v] を [開ける v] へ回転
パラメータ |
説明 |
|---|---|
モーター |
回転させるモーター:クローモーターまたはリフトモーター。 |
方向 |
モーターの回転方向:
|
例
開始したとき
[Place a pin atop another pin.]
[LiftMotor v] を [上 v] へ [600] [度 v] 回転 ▶
[前進 v] へ (140) [mm v] 走行 ▶
[ClawMotor v] を [開ける v] へ回転
スピンモーター#
spin motor forスタックブロックは、モーターを特定の距離だけ回転させます。回転はモーターの現在位置を基準としています。プロジェクトは、モーターの回転が終了するまで待機し、その後スタック内の次のブロックが実行されます。
[ClawMotor v] を [開ける v] へ (90) [度 v] 回転 ▶
パラメータ |
説明 |
|---|---|
モーター |
回転させるモーター:クローモーターまたはリフトモーター。 |
方向 |
モーターの回転方向:
|
距離 |
モーターが回転する距離。度は整数を使用します。回転数は整数または小数を使用できます。 |
ユニット |
距離の単位:度または回転数。 |
そして待たない |
矢印(▶)を選択してブロックを展開すると、「待機しない」と表示されるので、スタック内の次のブロックがすぐに実行されます。 |
例
開始したとき
[Place a pin atop another pin.]
[LiftMotor v] を [上 v] へ [600] [度 v] 回転 ▶
[前進 v] へ (140) [mm v] 走行 ▶
[ClawMotor v] を [開ける v] へ回転
モーターを回転させて位置を合わせる#
モーターを所定の位置に回転させるスタックブロックは、モーターを特定の位置まで回転させます。
モーターの位置は、回転した角度を表し、度または回転数で測定されます。1回転は360度です。プロジェクトの開始時には、モーターの位置は0度に設定されています。モーターの位置は、モーター位置の設定ブロックを使用して設定することもできます。
位置値は絶対値です。つまり、回転方向はモーターの現在位置によって決まります。
例えば、モーターが0度の位置から始まり、720度の位置まで回転した場合、2回転前進します。その後、360度の位置まで回転した場合、360度は720度より小さいため、1回転後退します。
[ClawMotor v] を位置 (90) [度 v] へ回転 ▶
パラメータ |
説明 |
|---|---|
モーター |
回転させるモーター:クローモーターまたはリフトモーター。 |
位置 |
モーターが回転する位置の値。度は整数を使用します。回転数は整数または小数を使用できます。 |
ユニット |
位置の単位:度または回転。 |
そして待たない |
矢印(▶)を選択してブロックを展開すると、「待機しない」と表示されるので、スタック内の次のブロックがすぐに実行されます。 |
例
開始したとき
[Place a pin atop another pin.]
[LiftMotor v] を位置 [-2] [回転 v] へ回転 ▶
[前進 v] へ (140) [mm v] 走行 ▶
[ClawMotor v] を [開ける v] へ回転
モーターを停止する#
モーター停止スタックブロックは、選択したモーターを停止します。
[ClawMotor v] を停止
パラメータ |
説明 |
|---|---|
モーター |
停止させるモーター:クローモーターまたはリフトモーター。 |
例
開始したとき
[Raise the lift for 2 seconds, then stop.]
[LiftMotor v] を [上 v] へ回転
(2) 秒待つ
[LiftMotor v] を停止
設定#
モーター速度を設定する#
モーター速度設定スタックブロックは、モーターの回転速度を指定します。パーセンテージが高いほどモーターは速く回転し、低いほど遅く回転します。
すべてのプロジェクトは、各モーターがデフォルトで50%の速度で回転する状態から始まります。
注: 速度を速くするとモーターの回転速度は速くなりますが、精度が低下する可能性があります。速度を遅くするとモーターの回転速度は遅くなりますが、精度は向上する可能性があります。
[ClawMotor v] の速度を (50) [% v] に設定
パラメータ |
説明 |
|---|---|
モーター |
クローモーターまたはリフトモーターの速度を設定するモーター。 |
速度 |
モーターの回転速度。パーセントは0%から100%までの整数で表されます。 |
ユニット |
速度の単位:%。 |
例
開始したとき
[Raise the lift at full speed.]
[LiftMotor v] の速度を [100] [% v] に設定
[LiftMotor v] を [上 v] へ [600] [度 v] 回転 ▶
モータータイムアウトを設定する#
set motor timeoutスタックブロックは、モーターが動作を完了するまでの試行時間を設定します。モーターがその時間内に動作を完了できない場合、試行を停止してスタック内の次のブロックに進みます。これにより、モーターが動作中に停止してしまうのを防ぎます。
[ClawMotor v] のタイムアウトを (1) 秒に設定
パラメータ |
説明 |
|---|---|
モーター |
タイムアウトを設定するモーター:ClawMotor または LiftMotor。 |
時間 |
モーターが動作を完了するまでの試行時間(秒)。整数または小数を指定できます。 |
例
開始したとき
[LiftMotor v] のタイムアウトを [2] 秒に設定
[LiftMotor v] を [上 v] へ [5] [回転 v] 回転 ▶
位置#
運動位置#
モーターの位置とは、モーターが回転した角度のことで、度または回転数で測定されます。1回転は360度に相当します。モーター位置レポーターブロックは、モーターの現在の位置を報告します。
プロジェクト開始時、モーターの位置は0度に設定されます。モーターが正方向に1回転すると、位置は360度、つまり1回転となります。モーターが逆方向に回転すると、位置は負の値になります。
([ClawMotor v] の位置([度 v]))
パラメータ |
説明 |
|---|---|
モーター |
クローモーターまたはリフトモーターの位置を報告するモーター。 |
ユニット |
モーターの位置を報告する単位:度または回転数。 |
例
開始したとき
[Raise the lift until it reaches 600 degrees.]
[LiftMotor v] を [上 v] へ回転
<([LiftMotor v] の位置([度 v])) [math_less_than v] [-600]> まで待つ
[LiftMotor v] を停止
モーター位置を設定する#
モーターの位置とは、モーターが回転した角度のことで、度または回転数で表されます。1回転は360度です。モーター位置設定スタックブロックは、モーターの現在の位置を新しい値に変更します。
例えば、モーターが180度まで回転している場合、位置を0度に設定すると、その位置は180度から0度にリセットされます。その後、モーターはその新しい値に基づいて回転できるようになります。
[ClawMotor v] の位置を (0) [度 v] に設定
パラメータ |
説明 |
|---|---|
モーター |
クローモーターまたはリフトモーターの位置を設定するモーター。 |
位置 |
モーターに設定する位置の値。度は整数を使用します。回転数は整数または小数を使用できます。 |
ユニット |
位置の単位:度または回転。 |
例
開始したとき
[LiftMotor v] の位置を [100] [度 v] に設定
[LiftMotor v] を位置 [-500] [度 v] へ回転 ▶
価値観#
モーターが完成しました#
モーター完了ブールブロックは、モーターの動作が完了したかどうかを報告します。これは、モーターの動きに基づいて他の動作のタイミングを制御するために使用できます。
正解 — モーターは動作を終えました。
誤り — モーターはまだ動いています。
このブロックは、and don’t wait パラメーターを持つ次のモーションブロックと連携して動作します: spin motor for および spin motor to position。
<[ClawMotor v] 完了?>
パラメータ |
説明 |
|---|---|
モーター |
移動が完了したかどうかを報告するモーター:クローモーターまたはリフトモーター。 |
例
開始したとき
[Flash the Touch LED while the lift is moving.]
[LiftMotor v] を [上 v] へ [600] [度 v] 回転 ◀ 待たない
[0.1] 秒待つ
<[LiftMotor v] 完了?> まで繰り返す
[TouchLED v] の色を [赤 v] に設定
[0.5] 秒待つ
[TouchLED v] の色を [なし v] に設定
[0.5] 秒待つ
終わり
モーターが回転している#
モーターが回転しています ブール値ブロックは、モーターが回転しているかどうかを報告します。これは、モーターの動きに基づいて他の動作のタイミングを制御するために使用できます。
正解 — モーターは回転しています。
誤り — モーターは回転していません。
このブロックは、and don’t wait パラメーターを持つ次のモーションブロックと連携して動作します: spin motor for および spin motor to position。
<[ClawMotor v] 回転中?>
パラメータ |
説明 |
|---|---|
モーター |
回転しているかどうかを報告するモーター:クローモーターまたはリフトモーター。 |
例
開始したとき
[Flash the Touch LED while the lift is spinning.]
[LiftMotor v] を [上 v] へ [600] [度 v] 回転 ◀ 待たない
[0.1] 秒待つ
<<[LiftMotor v] 回転中?> でない> まで繰り返す
[TouchLED v] の色を [赤 v] に設定
[0.5] 秒待つ
[TouchLED v] の色を [なし v] に設定
[0.5] 秒待つ
終わり
モーター速度#
モーター速度レポーターブロックは、モーターの回転速度を-100%から100%までのパーセンテージで報告します。
([ClawMotor v] の速度([% v]) :: custom-motion)
パラメータ |
説明 |
|---|---|
モーター |
クローモーターまたはリフトモーターの速度を報告するモーター。 |
ユニット |
モーター速度を報告する単位:%。 |
例
開始したとき
[LiftMotor v] の速度を [100] [% v] に設定
[LiftMotor v] を [上 v] へ [600] [度 v] 回転 ◀ 待たない
[0.5] 秒待つ
([LiftMotor v] の速度([% v]) :: custom-motion) を表示 ▶
AIビジョン#
行動#
オブジェクトデータを取得する#
オブジェクトデータ取得ブロックは、IQ AI Vision Sensorフレームからのデータを単一のシグネチャ(センサーが認識できるもの、例えばフィールド上のゲーム要素などの保存された説明)にフィルタリングします。
このデータセットには、インデックス0から始まる幅の大きい順から小さい順にオブジェクトが格納されます。各オブジェクトのプロパティには、オブジェクトプロパティブロックを使用してアクセスできます。一致するオブジェクトが検出されない場合は、空のデータセットが返されます。
[AIVision v] から [AI 分類 v] データを取得
パラメータ |
説明 |
|---|---|
サイン |
指定された署名のデータのみを含むようにデータセットをフィルタリングします。使用可能な署名は
|
例
開始したとき
[Place the Red Pin on the top left Blue Pin.]
[LiftMotor v] を [上 v] へ [600] [度 v] 回転 ▶
[左 v] へ [38] 度旋回 ▶
<([AIVision v] オブジェクト [幅 v]) [math_greater_than v] [48]> まで繰り返す
[AIVision v] から [AI 分類 v] データを取得
[前進 v] へ走行
終わり
[前進 v] へ [160] [mm v] 走行 ▶
[ClawMotor v] を [開ける v] へ回転
設定#
オブジェクトアイテムを設定する#
set object item ブロックは、データセット内のどのアイテムを使用するかを設定します。
[AIVision v] オブジェクトのアイテムを [1] に設定
パラメータ |
説明 |
|---|---|
アイテム |
データセット内で使用する項目の番号。 |
例
開始したとき
[Find the object index of the nearest Orange Pin.]
[object_counter v] を [1] に設定
[AIVision v] から [AI 分類 v] データを取得
([AIVision v] オブジェクト数) 回繰り返す
[AIVision v] オブジェクトのアイテムを (object_counter) に設定
もし <[AIVision v] object is [Orange Pin v]> なら
([Nearest Orange Pin is ] と (object_counter) をつなぐ) を表示 ▶
でなければ
[object_counter v] を [1] 変える
終わり
終わり
価値観#
オブジェクトが存在する#
オブジェクトが存在するブロックは、データセット内にオブジェクトが検出されたかどうかを示すブール値を返します。
正解 - データセットに検出されたオブジェクトが含まれています。
偽 - データセットには検出されたオブジェクトが含まれていません。
<[AIVision v] オブジェクトあり?>
パラメータ |
説明 |
|---|---|
このブロックにはパラメータがありません。 |
例
開始したとき
[Raise the Lift until a Pin or Beam is detected.]
<[AIVision v] オブジェクトあり?> まで繰り返す
[AIVision v] から [AI 分類 v] データを取得
[LiftMotor v] を [上 v] へ回転
終わり
[LiftMotor v] を停止
オブジェクトは#
object is ブロックは、検出されたオブジェクトが特定の分類に一致するかどうかを示すブール値を返します。
真 - データセット内の項目は特定のオブジェクトです。
偽 - データセット内の項目は、特定のオブジェクトではありません。
<[AIVision v] オブジェクトは [Beam v]?>
パラメータ |
説明 |
|---|---|
物体 |
比較対象オブジェクト:
|
例
開始したとき
[Find the object index of the nearest Orange Pin.]
[object_counter v] を [1] に設定
[AIVision v] から [AI 分類 v] データを取得
([AIVision v] オブジェクト数) 回繰り返す
[AIVision v] オブジェクトのアイテムを (object_counter) に設定
もし <[AIVision v] object is [Orange Pin v]> なら
([Nearest Orange Pin is ] と (object_counter) をつなぐ) を表示 ▶
でなければ
[object_counter v] を [1] 変える
終わり
終わり
オブジェクト数#
オブジェクト数ブロックは、データセット内で検出されたオブジェクトの数を整数として返します。
([AIVision v] オブジェクト数)
パラメータ |
説明 |
|---|---|
このブロックにはパラメータがありません。 |
例
開始したとき
[AIVision v] から [AI 分類 v] データを取得
([AIVision v] オブジェクト数) を表示 ▶
オブジェクトプロパティ#
オブジェクトデータの取得 ブロックが使用された後に保存される各オブジェクトには、6 つのプロパティが含まれています。
([AIVision v] オブジェクト [幅 v])
すべてのプロパティ値は、オブジェクトデータ取得ブロックが使用された時点での、IQ AI Vision Sensorの視野内における検出されたオブジェクトの位置とサイズを表します。これらの値は、センサーの320×240ピクセルの解像度に基づいて、ピクセル単位で測定されます。
パラメータ |
説明 |
|---|---|
財産 |
Which property of the detected object to use: |
幅#
widthプロパティは、検出されたオブジェクトの幅をピクセル単位で、1から320までの整数値で報告します。
([AIVision v] オブジェクト [幅 v])
身長#
heightプロパティは、検出されたオブジェクトの高さをピクセル単位で、1から240までの整数値で報告します。
([AIVision v] オブジェクト [高さ v])
センターX#
centerXプロパティは、検出されたオブジェクトの中心のx座標をピクセル単位で、0から320までの整数値で報告します。
([AIVision v] オブジェクト [centerX v])
センターY#
centerYプロパティは、検出されたオブジェクトの中心のy座標をピクセル単位で、0から240までの整数値で報告します。
([AIVision v] オブジェクト [centerY v])
オリジネーション#
originXプロパティは、検出されたオブジェクトのバウンディングボックスの左上隅のx座標をピクセル単位で、0から320までの整数値で報告します。
([AIVision v] オブジェクト [originX v])
起源Y#
originYプロパティは、検出されたオブジェクトのバウンディングボックスの左上隅のy座標をピクセル単位で、0から240までの整数値として報告します。
([AIVision v] オブジェクト [originY v])
センシング#
光学#
光学的に物体が発見されました#
光学センサーが物体を検出しました ブール値ブロックは、光学センサーが範囲内の物体を検出したかどうかを報告します。
正解 — 光学センサーが物体を検出します。
誤り — 光学センサーは物体を検出しません。
<[Optical v] がオブジェクトを検出?>
パラメータ |
説明 |
|---|---|
このブロックにはパラメータがありません。 |
例
開始したとき
[Place a pin atop another pin.]
[LiftMotor v] を [上 v] へ [600] [度 v] 回転 ▶
[前進 v] へ (140) [mm v] 走行 ▶
[ClawMotor v] を [開ける v] へ回転
<<[Optical v] がオブジェクトを検出?> でない> まで待つ
[LiftMotor v] を位置 [0] [度 v] へ回転 ▶
光学的に色を検出する#
光学センサーが色を検出ブールブロックは、検出された色相値に基づいて、光学センサーが指定された色を検出したかどうかを報告します。
正解 – センサーが指定された色を検出します。
誤り – センサーが指定された色を検出しません。
注: 光学センサーは、指定された色に一致する色相範囲を探します。特定の色相範囲を検出するには、光学色相 ブロック を参照してください。
<[Optical v] が [赤 v] を検出?>
パラメータ |
説明 |
|---|---|
色 |
探すべき色:
|
例
開始したとき
[Place a pin atop another pin.]
[LiftMotor v] を [上 v] へ [600] [度 v] 回転 ▶
[前進 v] へ (140) [mm v] 走行 ▶
[ClawMotor v] を [開ける v] へ回転
<[Optical v] が [赤 v] を検出?> まで待つ
[LiftMotor v] を位置 [0] [度 v] へ回転 ▶
光学的輝度#
光学輝度レポーターブロックは、光学センサーに反射される光の量を0%から100%までのパーセンテージで報告します。
パーセンテージが高いほど、光学センサーに反射される光の量が多くなります。パーセンテージが低いほど、反射される光の量が少なくなります。
([Optical v] の明るさ(%))
パラメータ |
説明 |
|---|---|
このブロックにはパラメータがありません。 |
光学的色相#
光学色相ブロックは、光学センサーによって検出された色の色相値を返します。
色相とは、色相環上の数字を用いて色を表現する方法のことです。

([Optical v] の色相(度))
パラメータ |
説明 |
|---|---|
このブロックにはパラメータがありません。 |
光学式の場合#
when Opticalハットブロックは、光学センサーがオブジェクトを検出または失うたびに、接続されているブロックのスタックを実行します。
[Optical v] がオブジェクトを [検出 v] したとき
パラメータ |
説明 |
|---|---|
州 |
添付されたブロックのスタックが実行されるタイミングは次のとおりです。detectsは、未検出のオブジェクトが検出されたときに実行され、losesは、検出されたオブジェクトが検出されなくなったときに実行されます。 |
例
[Optical v] がオブジェクトを [消失 v] したとき
[Lower the lift when the object is no longer in the claw.]
[LiftMotor v] を位置 [0] [度 v] へ回転 ▶
タッチLED#
タッチLEDの色を設定する#
set TouchLED colorブロックは、タッチLEDの色を設定します。
[TouchLED v] の色を [なし v] に設定
パラメータ |
説明 |
|---|---|
色 |
LEDの色を以下のように設定します。
|
例
開始したとき
[Light the Touch LED while placing a pin.]
[TouchLED v] の色を [赤 v] に設定
[LiftMotor v] を [上 v] へ [600] [度 v] 回転 ▶
[前進 v] へ (140) [mm v] 走行 ▶
[ClawMotor v] を [開ける v] へ回転
[TouchLED v] の色を [なし v] に設定