モーション#

導入#

VEX AIMコーディングロボットは、全方位駆動方式を採用しており、前進、後退、左折、右折、斜め方向への移動に加え、独立して旋回することも可能です。モーションブロックは、ロボットの移動方法や旋回方法、移動速度、そしてx座標とy座標の追跡方法を制御します。

濃い灰色のディスプレイを囲むように、0~315度の円形コンパスダイヤルがあり、画面は紺色です。ロボットの正面はコンパスダイヤルの0度を向いています。

以下はすべてのブロックのリストです。

動作 — ロボットを移動および旋回させる。

  • move — ロボットを前進、後退、左、または右に永久に移動させます。

  • 角度で移動 — ロボットを特定の角度で永久に移動させます。

  • 移動 — ロボットを特定の方向に指定された距離だけ移動させます。

  • 角度で移動 — ロボットを特定の角度で特定の距離だけ移動させます。

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

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

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

  • コントローラーで移動 — コントローラーを使用してロボットを操作できるようにします。

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

設定 — 移動速度と旋回速度を調整します。

位置 — ロボットの位置を追跡および変更します。

  • position — ロボットの現在の x 座標または y 座標を報告します。

  • ロボット位置の設定 — ロボットの現在の x および y 位置を新しい値に変更します。

値 — 移動状況を確認してください。

  • move active? — ロボットが動いているかどうかを報告します。

  • turn active? — ロボットが旋回しているかどうかを報告します。

  • 停止中? — ロボットが動いていないか、回転していないかを報告します。

行動#

動く#

The move stack block moves the robot forward, reverse, left, or right forever using the current move velocity. The robot will continue to move until it is given another action, like moving in a different direction, turning, or stopping.

前方へ移動するスタックブロック#
[前進 v] へ移動

パラメータ

説明

方向

ロボットの移動方向:

  • 前進
  • 後退
  • 左
  • 右

例

開始したら、前進する#
開始したとき
[Move forward]
[前進 v] へ移動

角度をつけて移動する#

The move at angle stack block moves the robot forever at a specific angle using the current move velocity. The angle is relative to the current position of the robot. The robot will continue to move until it is given another action, like moving in a different direction, turning, or stopping.

90度回転するスタックブロック#
(90) 度の方向へ移動

パラメータ

説明

角度

ロボットが移動する角度(度数)。整数または-360から360までの小数を指定できます。

例

開始すると、右に90度移動し、1秒間待機した後、0度前方に移動し、1秒間待機してから、すべての動作を停止します。#
開始したとき
[Move right, then move forward and stop.]
(90) 度の方向へ移動
(1) 秒待つ
(0) 度の方向へ移動
(1) 秒待つ
全移動を停止

開始すると、右斜め方向に45.33度移動し、1秒間待機した後、すべての動きを停止します。#
開始したとき
[Move diagonally to the right and stop.]
(45.33) 度の方向へ移動
(1) 秒待つ
全移動を停止

移動#

The move for stack block moves the robot forward, reverse, left, or right for a specific distance using the current move velocity. The direction is relative to the current position of the robot. The project will wait until the robot is done moving before the next block in the stack runs.

200mmスタックブロックを前進させる#
[前進 v] へ (200) [mm v] 移動 ▶

パラメータ

説明

方向

ロボットの移動方向:

  • 前進
  • 後退
  • 左
  • 右

距離

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

ユニット

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

そして待たない

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

例

開始したら、200 mmスタックブロックまで前進します。#
開始したとき
[Move forward for 200 mm]
[前進 v] へ (200) [mm v] 移動 ▶

角度をつけて移動#

The move at angle for stack block moves the robot at a specific angle for a specific distance using the current move velocity. The angle is relative to the current position of the robot. The project will wait until the robot is done moving before the next block in the stack runs.

スタックブロックを斜めに移動#
(45) 度の方向へ (200) [mm v] 移動 ▶

パラメータ

説明

角度

ロボットが移動する角度(度数)。整数または-360から360までの小数を指定できます。

距離

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

ユニット

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

そして待たない

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

例

始動すると、まず右方向に90度50mm移動し、その後、前方方向に0度100mm移動します。#
開始したとき
[Move right, then move forward.]
(90) 度の方向へ (50) [mm v] 移動 ▶
(0) 度の方向へ (100) [mm v] 移動 ▶

起動すると、すべてのLEDが赤く点滅しながら、0度の角度で100mm前進します。#
開始したとき
[Drive forward and blink all LEDs red.]
(0) 度の方向へ (100) [mm v] 移動 ◀ 待たない
[lightall v] の LED の色を [赤 v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [オフ v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [赤 v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [オフ v] に設定
(0.5) 秒待つ

振り向く#

turnスタックブロックは、現在の旋回速度を使用してロボットを左右に永久に旋回させます。ロボットは、移動や停止などの別のアクションが与えられるまで旋回を続けます。

右折するスタックブロック#
[右 v] へ旋回

パラメータ

説明

方向

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

例

始動すると左に旋回し、1秒間待機した後、すべての動作を停止します。#
開始したとき
[Turn left, then stop.]
[左 v] へ旋回
(1) 秒待つ
全移動を停止

ターン#

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

90度曲がってスタックブロックへ右折#
[右 v] へ (90) 度旋回 ▶

パラメータ

説明

方向

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

角度

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

そして待たない

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

例

始動すると、左に90度旋回し、その後右に180度旋回する。#
開始したとき
[Turn left, then turn around to the right.]
[左 v] へ (90) 度旋回 ▶
[右 v] へ (180) 度旋回 ▶

始動すると、すべてのLEDが青色に点滅しながら右に180度旋回します。#
開始したとき
[Turn right and blink all LEDs blue.]
[右 v] へ (180) 度旋回 ◀ 待たない
[lightall v] の LED の色を [青 v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [オフ v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [青 v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [オフ v] に設定
(0.5) 秒待つ

見出しに目を向ける#

方位とは、ロボットが向いている方向のことで、度数で表されます。方向転換スタックブロックは、現在の旋回速度を使用して、ロボットを特定の方位に向けます。ロボットは、目標の方位に到達するために最短の方向に旋回します。

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

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

90度回転するスタックブロック#
ヘディング (270) 度へ旋回 ▶

パラメータ

説明

見出し

ロボットが向くべき方向(-360度から360度まで)。

そして待たない

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

例

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

起動すると、すべてのLEDが緑色に点滅しながら、素早く180度回転します。#
開始したとき
[Turn around quickly and blink all LEDs green.]
ヘディング (180) 度へ旋回 ◀ 待たない
[lightall v] の LED の色を [緑 v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [オフ v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [緑 v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [オフ v] に設定
(0.5) 秒待つ

コントローラーで移動#

コントローラーで移動スタックブロックを使用すると、ワンスティックコントローラーでロボットを操作できます。このブロックは、永久ループなどのループ内に配置されない限り、コントローラーの入力を一度だけ読み取ります。ループが停止し、ロボットに移動を指示する他のブロックがない場合、ロボットはジョイスティックを最後に押した方向に進み続けます。

コントローラーで移動

パラメータ

説明

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

例

開始したとき
[Drive with the controller for five seconds.]
タイマーをリセット
<(タイマー(秒)) [math_less_than v] [5]> の間繰り返す
コントローラーで移動
終わり
全移動を停止

すべての動きを止める#

すべての動作を停止スタックブロックは、ロボットのすべての動作を停止します。

すべての動きを停止するスタックブロック#
全移動を停止

パラメータ

説明

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

例

始動すると右に旋回し、1秒間待機した後、すべての動作を停止します。#
開始したとき
[Turn right, then stop.]
[右 v] へ旋回
(1) 秒待つ
全移動を停止

設定#

移動速度を設定する#

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

すべてのプロジェクトは、ロボットがデフォルトで50%の速度で動作する状態から始まります。

移動速度100%は、毎秒200ミリメートル(mmps)に相当します。

移動速度を50%に設定 スタックブロック#
移動速度を (50)% に設定

パラメータ

説明

速度

移動速度を0%から100%まで変化させます。

例

開始したとき
[Move forward at the default velocity.]
移動速度を (50)% に設定
(0) 度の方向へ (100) [mm v] 移動 ▶
(1) 秒待つ
[Move slower.]
移動速度を (20)% に設定
(0) 度の方向へ (100) [mm v] 移動 ▶
(1) 秒待つ
[Move faster.]
移動速度を (100)% に設定
(0) 度の方向へ (100) [mm v] 移動 ▶
(1) 秒待つ

旋回速度を設定#

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

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

旋回速度100%は、毎秒150度(dps)に相当します。

旋回速度を50%に設定 スタックブロック#
旋回速度を (50)% に設定

パラメータ

説明

速度

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

例

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

位置#

位置#

位置レポーターブロックは、ロボットの現在のx座標またはy座標を報告します。

プロジェクトの開始時には、ロボットの x 座標と y 座標は 0 に設定されます。位置の値はロボットの移動に伴って変化し、set robot position ブロックを使用して設定できます。

x座標(mm単位)レポーターブロック#
[x v] の位置([mm v])

パラメータ

説明

座標

報告する座標軸:xまたはy。

ユニット

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

例

起動すると、200mm前進し、位置をリセットし、45度の角度で200mm斜めに移動し、更新されたX座標とY座標を画面に表示します。#
開始したとき
(0) 度の方向へ (200) [mm v] 移動 ▶
[Move forward and print the new coordinate and heading.]
ロボットの位置を x: [0] y: [0] に設定
(45) 度の方向へ (200) [mm v] 移動 ▶
([x v] の位置([mm v])) をスクリーンに表示 ▶
スクリーンのカーソルを次の行へ移動
([y v] の位置([mm v])) をスクリーンに表示 ▶

ロボットの位置を設定する#

set robot positionスタックブロックは、ロボットの現在のx座標とy座標を新しい値に変更します。

例えば、ロボットが出発点から移動した場合、x座標を0、y座標を0に設定することで、ロボットの現在位置が新たな座標(0, 0)となります。そして、ロボットはその新しい値に基づいて将来の位置を追跡することができます。

位置スタックブロックを設定する#
ロボットの位置を x: [0] y: [0] に設定

パラメータ

説明

x

ロボットに設定するX座標の値(mm単位)。

y

ロボットに設定するy座標の値(mm単位)。

例

開始したとき
[Reset the robot's position after moving.]
[前進 v] へ [60] [mm v] 移動 ▶
ロボットの位置を x: [0] y: [0] に設定
([y v] の位置([mm v])) をスクリーンに表示 ▶

価値観#

アクティブに移動する#

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

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

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

このブロックは、and don’t wait パラメーターを持つモーションブロックと連携して動作します。

アクティブレポーターブロックを移動します#
<移動中?>

パラメータ

説明

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

例

起動すると、すべてのLEDが赤く点滅しながら200mm前進します。ロボットが移動している間は、LEDは0.5秒ごとに点灯・消灯を繰り返し、移動が停止すると消灯状態になります。#
開始したとき
[Blink all of the LEDs when the robot is moving.]
(0) 度の方向へ (200) [mm v] 移動 ◀ 待たない
<移動中?> の間繰り返す
[lightall v] の LED の色を [赤 v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [オフ v] に設定
(0.5) 秒待つ
終わり
[lightall v] の LED の色を [オフ v] に設定

アクティブにする#

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

  • 正解 — ロボットが回転しています。

  • 誤り — ロボットは回転していません。

このブロックは、and don’t wait パラメーターを持つモーションブロックと連携して動作します。

アクティブレポーターブロックを有効にする#
<旋回中?>

パラメータ

説明

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

例

始動すると、すべてのLEDが赤く点滅しながら右に180度旋回します。旋回中は0.5秒ごとにLEDが点滅し、旋回が完了すると消灯します。#
開始したとき
[Blink all of the LEDs while the robot is turning.]
[右 v] へ (180) 度旋回 ◀ 待たない
<旋回中?> の間繰り返す
[lightall v] の LED の色を [赤 v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [オフ v] に設定
(0.5) 秒待つ
終わり
[lightall v] の LED の色を [オフ v] に設定

停止#

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

  • 正解 — ロボットは動いておらず、回転もしていません。

  • 誤り — ロボットが動いているか、回転しています。

停止したレポーターブロック#
<停止中?>

パラメータ

説明

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

例

起動すると、ロボットは光のショーをしながら200mm前進し、その後、光のショーを続けながら右に180度旋回します。ロボットが移動または旋回している間、LEDは0.5秒ごとに緑と紫に交互に点灯します。ロボットが停止すると、光のショーは終了し、LEDは消灯します。#
を定義する light show
[Flash LEDs while the robot is moving or turning.]
<停止中?> まで繰り返す
[lightall v] の LED の色を [緑 v] に設定
(0.5) 秒待つ
[lightall v] の LED の色を [紫 v] に設定
(0.5) 秒待つ
終わり


開始したとき
[Blink all the LEDs while the robot is moving or turning.]
(0) 度の方向へ (200) [mm v] 移動 ◀ 待たない
light show
[右 v] へ (180) 度旋回 ◀ 待たない
light show