パワートレイン#
導入#
123ロボットは、走行と旋回を可能にする2輪駆動システムを備えています。駆動系ブロックは、ロボットの動き方を制御します。
駆動系は、ステップとmm(ミリメートル)の2つの方法で距離を測定できます。1ステップは、123フィールドの1マスです。
ドライブトレインをコーディングする方法は数多くあります。以下に、ドライブトレインのすべてのブロックの一覧を示します。
動作 — ロボットを移動および旋回させる。
drive — ロボットを永久に前進または後退させます。
drive for — ロボットを特定の距離だけ前進または後退させます。
drive until — 物体、衝突、またはラインを検出するまでロボットを前進または後退させます。
turn — ロボットを永久に左または右に回転させます。
turn for — ロボットを特定の角度だけ左または右に回転させます。
方向転換 — ロボットを-359度から359度までの特定の方向に向けて旋回させます。ロボットは目標の方向に到達するために最短の方向に旋回します。
運転停止 — ロボットの動きを停止します。
設定 — 駆動系設定を調整します。
set drive timeout — ロボットが動作を完了しようとする秒数を設定します。
駆動方向設定 — ロボットの現在の進行方向を新しい進行方向に変更します。
値 — 移動状況を確認してください。
行動#
ドライブ#
駆動スタックブロックは、ロボットを永久に前進または後退させます。ロボットは、旋回や停止などの別の動作が与えられるまで動き続けます。
[前進 v] へ走行
パラメータ |
説明 |
|---|---|
方向 |
ロボットの移動方向:前進または後退。 |
例
開始したとき
[Drive for 2 seconds.]
[前進 v] へ走行
(2) 秒待つ
走行停止
ドライブ#
駆動スタックブロックは、ロボットを特定の距離だけ前進または後退させます。プロジェクトは、ロボットの移動が完了するまで待機し、その後スタック内の次のブロックが実行されます。
[前進 v] へ (1) [ステップ v] 走行
パラメータ |
説明 |
|---|---|
方向 |
ロボットの移動方向:前進または後退。 |
距離 |
ロボットが走行する距離。整数または小数で指定できます。 |
ユニット |
距離の単位:歩またはmm。 |
例
開始したとき
[Drive back and forth.]
[前進 v] へ (3) [ステップ v] 走行
[後退 v] へ (3) [ステップ v] 走行
運転して#
Drive untilスタックブロックは、アイセンサーが物体、衝突、またはラインを検出するまでロボットを前進させます。
[障害物 v]が現れるまで前進する
パラメータ |
説明 |
|---|---|
状態 |
ロボットが停止する条件:
|
例
開始したとき
[Reverse after a crash.]
[クラッシュ v]が現れるまで前進する
[後退 v] へ (1) [ステップ v] 走行
振り向く#
turnスタックブロックは、ロボットを左右に永久に旋回させます。ロボットは、走行や停止などの別の動作が与えられるまで旋回を続けます。
[右 v] へ旋回
パラメータ |
説明 |
|---|---|
方向 |
ロボットが旋回する方向:左または右。 |
例
開始したとき
[Turn for 2 seconds.]
[右 v] へ旋回
(2) 秒待つ
走行停止
ターン#
turn forスタックブロックは、ロボットを指定された角度だけ左右に回転させます。回転角度はロボットの現在位置を基準としています。プロジェクトは、ロボットの回転が完了するまで待機し、その後スタック内の次のブロックが実行されます。
[右 v] へ (90) 度旋回
パラメータ |
説明 |
|---|---|
方向 |
ロボットが旋回する方向:左または右。 |
角度 |
ロボットが回転する角度(度)。整数または小数で指定できます。 |
例
開始したとき
[Turn left, then turn around to the right.]
[左 v] へ (90) 度旋回
[右 v] へ (180) 度旋回
見出しに目を向ける#
方位とは、ロボットが向いている方向のことで、度数で表されます。方位へ旋回スタックブロックは、ロボットを-359度から359度までの特定の方位に向けます。ロボットは、目標の方位に到達するために最短の方向へ旋回します。
ロボットの初期進行方向は0度です。
ヘディング (90) 度へ旋回
パラメータ |
説明 |
|---|---|
見出し |
ロボットが向くべき方向(度数)。整数または-359から359までの小数を指定できます。 |
例
開始したとき
[Turn to face the cardinal directions.]
ヘディング (90) 度へ旋回
(2) 秒待つ
ヘディング (180) 度へ旋回
(2) 秒待つ
ヘディング (270) 度へ旋回
(2) 秒待つ
ヘディング (0) 度へ旋回
(2) 秒待つ
運転をやめる#
「運転停止」スタックブロックは、ロボットの動きを停止させます。
走行停止
パラメータ |
説明 |
|---|---|
このブロックにはパラメータがありません。 |
例
開始したとき
[Stop driving after 4 seconds.]
[前進 v] へ走行
[4] 秒待つ
走行停止
設定#
ドライブのタイムアウトを設定する#
set drive timeoutスタックブロックは、ロボットが動作を完了するまでの試行時間を秒単位で設定します。ロボットがその時間内に動作を完了できない場合、試行を停止してスタック内の次のブロックに進みます。これにより、ロボットが動作中に停止してしまうのを防ぎます。
走行タイムアウトを (1) 秒に設定
パラメータ |
説明 |
|---|---|
時間 |
ロボットが動作を完了するために試行できる秒数。整数または小数を指定できます。 |
例
開始したとき
[Turn right after driving for 1 second.]
走行タイムアウトを (1) 秒に設定
[前進 v] へ (1000) [mm v] 走行
[右 v] へ (90) 度旋回
ドライブヘッジを設定する#
方位とは、ロボットが向いている方向のことで、度数で表されます。set drive headingスタックブロックは、ロボットの現在の方位を新しい方位値に変更します。
例えば、ロボットが右を向いた場合、方位を0度に設定すると、その右向きの位置が新たな0度になります。その後、ロボットはその新たな方位に基づいて他の位置に旋回することができます。
走行ヘディングを (0) 度に設定
パラメータ |
説明 |
|---|---|
見出し |
ロボットに設定する方位角の値(度数)。整数または0~359の小数を指定できます。 |
例
開始したとき
[Face the new 0 degree heading.]
走行ヘディングを (90) 度に設定
ヘディング (0) 度へ旋回
価値観#
運転は終了しました#
走行完了ブール値ブロックは、ロボットの移動が完了したかどうかを報告します。これは、ロボットの動きに基づいて他の動作のタイミングを制御するために使用できます。
正解 — ロボットの移動が完了しました。
誤り — ロボットはまだ動いています。
このブロックは、次のドライブトレインブロックと連携して動作します: drive for、drive until、turn for、および turn to heading。
<走行完了?>
パラメータ |
説明 |
|---|---|
このブロックにはパラメータがありません。 |
例
開始したとき
[Glow blue after a crash.]
[クラッシュ v]が現れるまで前進する
ずっと
もし <走行完了?> なら
[青 v] で光らせる
でなければ
[緑 v] で光らせる
ドライブヘッジ#
方位とは、ロボットが向いている方向のことで、度数で表されます。ドライブ方位レポーターブロックは、ロボットの現在の方位を0度から359度の範囲で報告します。
ロボットの初期進行方向は0度です。
(走行ヘディング(度))
パラメータ |
説明 |
|---|---|
このブロックにはパラメータがありません。 |
例
開始したとき
[Display the heading after turning.]
[右 v] へ (450) 度旋回
(走行ヘディング(度)) を表示 ▶