パワートレイン#

導入#

駆動系には、ロボットの走行や旋回を制御する車輪とモーターが含まれています。駆動系は、Code Base 2.0、Super Car、またはカスタムロボットなどの構成で使用できます。

Drivetrains use the Inertial Sensor in the Brain to detect crashes and help the robot move and turn precisely. At the start of each project, the drivetrain calibrates the Inertial Sensor automatically. Keep the robot still for about 2 seconds during calibration, so the robot can move and turn correctly.

ドライブトレインをコーディングする方法は数多くあります。以下に、ドライブトレインのすべてのブロックの一覧を示します。

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

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

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

  • drive until — アイセンサーが物体を検出するか、ロボットが衝突を検出するまで、ロボットを前進または後退させます。

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

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

  • 方向転換 — ロボットを-359度から359度までの特定の方向に向けて旋回させます。ロボットは目標の方向に到達するために最短の方向に旋回します。

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

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

設定 — 駆動系設定を調整します。

  • 走行速度を設定 — ロボットに走行速度を指示します。

  • 旋回速度を設定 — ロボットに旋回速度を指示します。

  • set drive stopping — ロボットがどのように停止するかを指定します: ブレーキ、惰性走行、または保持。

  • set drive timeout — ロボットが動作を完了しようとする秒数を設定します。

  • 駆動方向設定 — ロボットの現在の進行方向を新しい進行方向に変更します。

  • 駆動回転の設定 — ロボットの現在の回転を新しい回転に変更します。

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

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

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

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

  • 走行速度 — ロボットの走行速度を-100%から100%までのパーセンテージで報告します。

行動#

ドライブ#

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

[前進 v] へ走行

パラメータ

説明

方向

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

例

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

ドライブ#

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

[前進 v] へ [100] [mm v] 走行 ▶

パラメータ

説明

方向

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

距離

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

ユニット

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

そして待たない

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Drive back and forth.]
[前進 v] へ [100] [mm v] 走行 ▶
[後退 v] へ [4] [インチ v] 走行 ▶

運転して#

drive untilスタックブロックは、アイセンサーが物体を検出するか、ロボットが衝突を検出するまで、ロボットを前進または後退させます。

[障害物 v] まで [前進 v] へ走行 ▶

パラメータ

説明

方向

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

状態

ロボットを停止させる条件:物体または衝突。

そして待たない

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Turn right after a crash.]
[クラッシュ v] まで [前進 v] へ走行 ▶
[右 v] へ (90) 度旋回 ▶

振り向く#

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

[右 v] へ旋回

パラメータ

説明

方向

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Turn right and left, then stop.]
[右 v] へ旋回
[2] 秒待つ
[左 v] へ旋回
[2] 秒待つ
走行停止

ターン#

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

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

パラメータ

説明

方向

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

角度

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

そして待たない

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Turn right then left.]
[右 v] へ (90) 度旋回 ▶
[左 v] へ (90) 度旋回 ▶

見出しに目を向ける#

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

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

VEX GOコードベース2.0で進行方向を示しています:0度前方、90度右、180度後方、270度左。

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

ヘディング [90] 度へ旋回 ▶

パラメータ

説明

見出し

ロボットが向くべき方向を整数で指定します。範囲は-359度から359度です。

そして待たない

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Turn to face the cardinal directions.]
ヘディング [90] 度へ旋回 ▶
[1] 秒待つ
ヘディング [180] 度へ旋回 ▶
[1] 秒待つ
ヘディング [270] 度へ旋回 ▶
[1] 秒待つ
ヘディング [0] 度へ旋回 ▶

回転する#

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

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

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

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

VEX GOコードベース2.0で、矢印が左右に回転している様子を示しています。左の矢印は「マイナス」、右の矢印は「プラス」を示しています。

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

回転 (90) 度へ旋回 ▶

パラメータ

説明

回転

ロボットが回転する角度(度数)。整数値を指定してください。

そして待たない

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Make one full turn to the right.]
回転 [360] 度へ旋回 ▶
[Make another full turn to the right.]
回転 [720] 度へ旋回 ▶
[Make one full turn to the left, returning to 360 degrees.]
回転 [360] 度へ旋回 ▶

運転をやめる#

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

走行停止

パラメータ

説明

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

例

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

設定#

駆動速度を設定する#

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

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

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

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

パラメータ

説明

速度

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Drive at different velocities.]
[前進 v] へ [100] [mm v] 走行 ▶
[1] 秒待つ
[Drive slow.]
走行速度を (20) % に設定
[前進 v] へ [100] [mm v] 走行 ▶
[1] 秒待つ
[Drive fast.]
走行速度を (100) % に設定
[前進 v] へ [100] [mm v] 走行 ▶

旋回速度を設定#

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

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

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

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

パラメータ

説明

速度

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Turn at different velocities.]
[右 v] へ [180] 度旋回 ▶
[1] 秒待つ
[Turn fast.]
旋回速度を [100]% に設定
[右 v] へ [180] 度旋回 ▶

ドライブ停止を設定する#

set drive stoppingスタックブロックは、ロボットがどのように停止するか(ブレーキ、惰性走行、または保持)を設定します。

走行停止モードを [ブレーキ v] に設定

パラメータ

説明

停止動作

ロボットの停止方法:

  • ブレーキ — すぐに停止します。
  • 惰性走行 — 徐々に減速して停止します。
  • 保持 — すぐに停止し、車輪の位置を保持します。

このブロックを使用しない場合、ロボットは停止時にブレーキを使用します。

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Drive, then coast to a stop.]
走行速度を (100) % に設定
走行停止モードを [コースト v] に設定
[前進 v] へ走行
[2] 秒待つ
走行停止

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

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

走行タイムアウトを [1] 秒に設定

パラメータ

説明

時間

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Drive as far as possible for 1 second before turning right.]
走行タイムアウトを [1] 秒に設定
[前進 v] へ [25] [インチ v] 走行 ▶
[右 v] へ [90] 度旋回 ▶

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

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

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

走行ヘディングを [0] 度に設定

パラメータ

説明

見出し

ロボットに設定する方位角の値(度数)。0~359の整数値を指定できます。

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Face the new 0 degree heading.]
走行ヘディングを [90] 度に設定
ヘディング [0] 度へ旋回 ▶

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

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

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

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

パラメータ

説明

回転

ロボットに設定する回転角度(度数)。整数値を指定してください。

例

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

価値観#

運転は終了しました#

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

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

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

このブロックは、and don’t wait パラメーターを持つ次の駆動系ブロックと連携して動作します: drive for、drive until、turn for、turn to heading、および turn to rotation。

<走行完了?>

パラメータ

説明

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Turn when the drivetrain is done moving forward.]
[前進 v] へ [100] [mm v] 走行 ◀ 待たない
[0.25] 秒待つ
ずっと
もし <走行完了?> なら
[右 v] へ [180] 度旋回 ▶
ブレーク
でなければ
[Still moving...] を表示 ▶
[0.1] 秒待つ
全行をクリア

ドライブヘッジ#

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

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

VEX GOのブレインが進行方向を示しています:0度前方、90度右、180度後方、270度左。

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

パラメータ

説明

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Display the heading while turning.]
[右 v] へ [450] 度旋回 ◀ 待たない
ずっと
全行をクリア
(走行ヘディング(度)) を表示 ▶
[0.1] 秒待つ

駆動回転#

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

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

VEX GOコードベース2.0で、矢印が左右に回転している様子を示しています。左の矢印は「マイナス」、右の矢印は「プラス」を示しています。

(走行回転角(度))

パラメータ

説明

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
[右 v] へ [450] 度旋回 ◀ 待たない
ずっと
全行をクリア
(走行回転角(度)) を表示 ▶
[0.1] 秒待つ

駆動速度#

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

正の値はロボットが前進していることを意味します。負の値はロボットが後退していることを意味します。

(走行速度(%))

パラメータ

説明

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

例

開始したとき :: hat events
[Build Used: Code Base 2.0]
[Display the velocity of the robot before and while moving.]
[Start: ] を表示 ▶
(走行速度(%)) を表示 ▶
カーソルを次の行へ移動
[前進 v] へ走行
[0.5] 秒待つ
[Moving: ] を表示 ▶
(走行速度(%)) を表示 ▶
走行停止