パワートレイン#

導入#

駆動系は、ロボットの走行と旋回を制御する車輪とモーターで構成されています。駆動系は、モーター単体またはモーター群で構成できます。

駆動系に慣性センサー、GPSセンサー、またはジャイロセンサーが搭載されている場合、センサーの進行方向と回転を追跡することで、より正確な前進、後退、旋回動作を行うことができます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • ドライブトレインのキャリブレーション – ドライブトレインに設定されている慣性センサー、GPSセンサー、またはジャイロセンサーをキャリブレーションします。

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

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

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

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

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

  • 駆動電流 — 駆動系が使用している電流の量を示します。

  • 駆動力 — 駆動系がエネルギーをどれだけ速く消費しているかを報告します。

  • 駆動トルク — 駆動系が使用しているトルクの量を示します。

  • 駆動効率 — 駆動系がどれだけ効率的に電力を使用しているかを示します。

  • ドライブ温度 — ドライブトレインの温度を報告します。

行動#

ドライブ#

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

[前進 v] へ走行

パラメータ

説明

方向

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

例

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

ドライブ#

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

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

パラメータ

説明

方向

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

距離

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

ユニット

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

そして待たない

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

例

開始したとき
[Drive forwards and backwards.]
[前進 v] へ [200] [mm v] 走行 ▶
[1] 秒待つ
[後退 v] へ [200] [mm v] 走行 ▶

振り向く#

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

[右 v] へ旋回

パラメータ

説明

方向

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

例

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

ターン#

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

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

パラメータ

説明

方向

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

角度

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

そして待たない

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

例

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

見出しに目を向ける#

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

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

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

注: このブロックは、[デバイス] ウィンドウでドライブトレインが 慣性センサー、GPS センサー、または ジャイロセンサー で構成されている場合にのみ使用できます。

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

パラメータ

説明

見出し

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

そして待たない

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

例

開始したとき
[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回転します。

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

注: このブロックは、[デバイス] ウィンドウでドライブトレインが 慣性センサー、GPS センサー、または ジャイロセンサー で構成されている場合にのみ使用できます。

回転 [90] 度へ旋回 ▶

パラメータ

説明

回転

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

そして待たない

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

例

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

運転をやめる#

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

走行停止

パラメータ

説明

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

例

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

設定#

駆動速度を設定する#

駆動速度設定スタックブロックは、ロボットの駆動速度を指示します。パーセンテージが高いほどロボットは速く駆動し、低いほど遅く駆動します。RPM(回転数)の制限値は、駆動系のギア比によって変化します。

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

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

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

パラメータ

説明

速度

velocityUnits::pctを使用する場合は 0% から 100% まで、 rpmを使用する場合は 0 から 600 rpm まで、走行速度を設定します。

ユニット

速度の単位:

  • % – パーセント
  • rpm – 毎分回転数

例

開始したとき
[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) 秒待つ

旋回速度を設定#

旋回速度設定スタックブロックは、ロボットの旋回速度を指示します。パーセンテージが高いほどロボットの旋回速度は速くなり、低いほど旋回速度は遅くなります。RPM(回転数)の制限値は、駆動系のギア比によって変化します。

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

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

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

パラメータ

説明

速度

velocityUnits::pctを使用する場合は 0% から 100% まで、 rpmの場合は 0 から 120 rpm まで回転する速度。

ユニット

速度の単位:

  • % – パーセント
  • rpm – 毎分回転数

例

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

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

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

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

パラメータ

説明

停止動作

ロボットの停止方法:

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

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

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

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

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

パラメータ

説明

時間

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

ドライブヘッジを設定する#

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

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

注: このブロックは、[デバイス] ウィンドウでドライブトレインが 慣性センサー、GPS センサー、または ジャイロセンサー で構成されている場合にのみ使用できます。

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

パラメータ

説明

見出し

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

例

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

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

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

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

注: このブロックは、[デバイス] ウィンドウでドライブトレインが 慣性センサー、GPS センサー、または ジャイロセンサー で構成されている場合にのみ使用できます。

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

パラメータ

説明

回転

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

例

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

価値観#

ドライブトレインのキャリブレーション#

ドライブトレイン校正スタックブロックは、ドライブトレインに設定されている慣性センサー、GPSセンサー、またはジャイロセンサーを校正します。以降のすべてのブロックは、校正が完了するまで実行を待機します。校正は、指定された期間にわたってセンサーのノイズとドリフトを測定して補正する内部手順です。この間、センサーは完全に静止している必要があります(つまり、外部の動きがない安定した表面上)。校正中にセンサーが動くと、不正確な結果が生じます。

注: このブロックは、[デバイス] ウィンドウでドライブトレインが 慣性センサー、GPS センサー、または ジャイロセンサー で構成されている場合にのみ使用できます。

ドライブトレインをキャリブレート

パラメータ

説明

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

運転は終了しました#

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

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

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

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

<走行完了?>

パラメータ

説明

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

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

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

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

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

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

<走行中?>

パラメータ

説明

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

ドライブヘッジ#

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

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

注: このブロックは、[デバイス] ウィンドウでドライブトレインが 慣性センサー、GPS センサー、または ジャイロセンサー で構成されている場合にのみ使用できます。

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

パラメータ

説明

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

例

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

駆動回転#

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

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

注: このブロックは、[デバイス] ウィンドウでドライブトレインが 慣性センサー、GPS センサー、または ジャイロセンサー で構成されている場合にのみ使用できます。

(走行回転角(度))

パラメータ

説明

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

例

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

駆動速度#

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

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

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

パラメータ

説明

ユニット

速度の単位:

  • %
  • rpm – 毎分回転数

駆動電流#

駆動電流レポーターブロックは、駆動系が使用している電流値をアンペア(A)単位で報告します。電流とは、駆動系を流れる電気量のことです。

電流値が高いということは、駆動系がより多くの電流を使用していることを意味します。これは、ロボットが物体に押し付けられているときや、動けなくなったときに動かそうとしているときに発生する可能性があります。

これは、動作中に駆動系に負荷がかかっていないかを確認するために使用できます。電流値が高い状態が続くと、駆動系が過熱したり、電力効率が低下したりする可能性があります。

(走行電流(アンペア))

パラメータ

説明

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

駆動力#

ドライブパワーレポーターブロックは、ドライブトレインが使用している電力をワット単位で報告します。パワーは、ドライブトレインがエネルギーを消費する速度を示します。

出力値が高いほど、駆動系がエネルギーをより速く消費していることを意味します。これは、ロボットが物体に押し付けられているときや、動けなくなったときに動こうとしているときに起こり得ます。

これは、動作を比較したり、駆動系に負荷がかかっていないかを確認したりするために使用できます。出力が高い状態が続くと、駆動系が過熱したり、エネルギー効率が低下したりする可能性があります。

(走行電力(ワット))

パラメータ

説明

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

駆動トルク#

トルクとは、駆動系が回転中にどれだけの力でねじったり、押したり、引いたりできるかを示す指標です。

ドライブトルクレポーターブロックは、ドライブトレインが使用しているトルクの量を、インチポンド(InLb)またはニュートンメートル(Nm)で測定して報告します。

トルク値が高いということは、駆動系がより強く押したり引いたりしていることを意味します。これは、ロボットが物体に押し付けられているときや、動けなくなったときに動かそうとしているときに起こります。

これは、駆動系に負荷がかかっているかどうかを確認したり、さまざまな動作に必要な推力を比較したりするために使用できます。

(走行トルク([InLb v]))

パラメータ

説明

ユニット

トルクの単位:

  • InLb – インチポンド
  • Nm – ニュートンメートル

ドライブ効率#

駆動効率レポーターブロックは、駆動系がどれだけ効率的に電力を使用しているかを、0%から100%までのパーセンテージで報告します。

効率とは、駆動系の動力のうち、どれだけが動作に使われているかを示す指標です。効率の値が高いほど、駆動系の動力の多くが動作に使われていることを意味します。効率の値が低いのは、ロボットが動けなくなったり、物体に押し付けられたりして、駆動系が負荷がかかっているにもかかわらず、あまり動いて​​いない場合です。

これは、動作を比較したり、駆動系が動力を動作に使う代わりに無駄に消費していないかを確認したりするために使用できます。

(走行効率(%))

パラメータ

説明

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

駆動温度#

ドライブ温度レポーターブロックは、ドライブトレインの温度を0%から100%までのパーセンテージで報告します。

モーター温度は、駆動系の温度を示します。温度が高いほど、モーターが動作中に温度が上昇していることを意味します。モーターは、最高の性能を維持するために、55℃以下に保つ必要があります。

モーターが過熱すると、保護のために最大電流を下げます。70℃に達すると、モーターは冷却されるまで運転を停止します。

これは、繰り返し動作時、長時間走行時、または物体に押し付けられている時などに、駆動系が過熱していないかどうかを確認するために使用できます。

(走行温度(%))

パラメータ

説明

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