スマートモーター#
導入#
モーターとモーターグループは、ロボットの各部の動きを制御します。モーターは、構成済みのスマートモーターを1つ制御し、モーターグループは、構成済みのスマートモーター2つをまとめて制御して、連動して動かします。モーターとモーターグループは、アームを上げたり、爪を回転させたり、車輪を回転させたり、組み立てられた他の部分を動かしたりするために使用できます。2つまたは4つのモーターが連携してドライブトレインとして動作し、ロボット全体を移動および回転させることができます。
各モーターは「デバイス」ウィンドウで設定します。構成によっては、モーター名や回転方向が変わる場合があります。カスタムロボットでは、異なるモーター名や回転方向が使用されることがあります。
デフォルトでは、正回転はモーターを反時計回りに回転させ、逆回転はモーターを時計回りに回転させます。デバイスウィンドウでモーターを逆回転に設定すると、これらの回転方向が反転します。
モーターやモーターグループをプログラミングする方法は数多くあります。以下は、すべてのスマートモーターブロックの一覧です。
動作 — モーターおよびモーター群を停止および回転させる。
spin motor – モーターまたはモーターグループを永久に正転または逆転させます。
spin motor for – モーターまたはモーターグループを、角度または回転数で指定された距離だけ回転させます。
モーターを所定の位置に回転 – モーターまたはモーターグループを特定の位置まで回転させます。
電圧で回転 – モーターまたはモーターグループを特定の電圧で回転させます。
モーター停止 – モーターまたはモーターグループの回転を停止します。
設定 — モーターおよびモーターグループの設定を調整します。
モーター速度を設定 – モーターまたはモーターグループに回転速度を指示します。
モーター位置の設定 – モーターまたはモーターグループの現在の位置を新しい値に変更します。
モーター停止の設定 – モーターまたはモーターグループが停止する方法(ブレーキ、惰性走行、保持)を設定します。
モーター最大トルクを設定 – モーターまたはモーターグループが回転中にどれだけ強く押せるかを設定します。
モータータイムアウトを設定 – モーターまたはモーターグループが動作を完了しようとする秒数を設定します。
値 — 運動機能および運動群の状態を確認します。
モーター完了 – モーターまたはモーターグループが動作を完了したかどうかを報告します。
モーターが回転しています – モーターまたはモーターグループが回転しているかどうかを報告します。
モーター位置 – モーターまたはモーターグループの現在の位置を報告します。
モーター速度 – モーターまたはモーターグループが回転している速度を報告します。
モーター電流 – モーターまたはモーターグループが使用している電流の量を示します。
モーター出力 – モーターまたはモーターグループが使用している電力の量を示します。
モータートルク – モーターまたはモーターグループが使用しているトルクの量を示します。
モーター効率 – モーターまたはモーターグループがどれだけ効率的に電力を使用しているかを示します。
モーター温度 – モーターまたはモーターグループの温度を報告します。
行動#
スピンモーター#
スピンモータースタックブロックは、モーターまたはモーターグループを正逆方向に永久に回転させます。モーターまたはモーターグループは、別の方向に回転させたり停止させたりするなど、別の動作が与えられるまで回転し続けます。
[Motor1 v] を [前進 v] へ回転
パラメータ |
説明 |
|---|---|
モーター |
回転させるモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
方向 |
モーターまたはモーター群の回転方向。デフォルトでは、正転と逆転の2種類から選択できます。回転方向はモーターの構成によって変更される場合があります。 |
開始したとき
[Motor1 v] を [前進 v] へ回転
(1) 秒待つ
[Motor1 v] を停止
スピンモーター#
spin motor forスタックブロックは、モーターまたはモーターグループを特定の距離だけ回転させます。回転は、モーターまたはモーターグループの現在位置を基準とします。プロジェクトは、モーターまたはモーターグループの回転が終了するまで待機し、その後スタック内の次のブロックが実行されます。
[Motor1 v] を [前進 v] へ [90] [度 v] 回転 ▶
パラメータ |
説明 |
|---|---|
モーター |
回転させるモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
方向 |
モーターまたはモーター群の回転方向。デフォルトでは、正転と逆転の2種類から選択できます。回転方向はモーターの構成によって変更される場合があります。 |
距離 |
モーターまたはモーター群が回転する距離。度は整数で表します。回転数は整数または小数で表します。 |
ユニット |
距離の単位:度または回転数。 |
そして待たない |
矢印(▶)を選択してブロックを展開すると、「待機しない」と表示されるので、スタック内の次のブロックがすぐに実行されます。 |
例
開始したとき
[Spin the motor forward once, then reset.]
[Motor1 v] を [前進 v] へ (90) [度 v] 回転 ▶
[Motor1 v] を [後退 v] へ (90) [度 v] 回転 ▶
モーターを回転させて位置を合わせる#
モーターを所定の位置に回転させるスタックブロックは、モーターまたはモーターグループを特定の位置まで回転させます。
モーターまたはモーターグループの位置は、回転した角度を表し、度または回転数で測定されます。1回転は360度です。プロジェクトの開始時には、モーターの位置は0度に設定されます。モーターの位置は、モーター位置の設定ブロックを使用して設定することもできます。
位置情報は絶対値です。つまり、回転方向はモーターまたはモーター群の現在の位置によって決まります。
例えば、モーターが0度の位置から始まり、720度の位置まで回転した場合、2回転前進します。その後、360度の位置まで回転した場合、360度は720度より小さいため、1回転後退します。
[Motor1 v] を位置 (90) [度 v] へ回転 ▶
パラメータ |
説明 |
|---|---|
モーター |
回転させるモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
位置 |
モーターまたはモーターグループが回転する位置の値。度は整数を使用します。回転数は整数または小数を使用できます。 |
ユニット |
位置の単位:度または回転。 |
そして待たない |
矢印(▶)を選択してブロックを展開すると、「待機しない」と表示されるので、スタック内の次のブロックがすぐに実行されます。 |
開始したとき
[Spin the motor to the new 0 position.]
[Motor1 v] の位置を [180] [度 v] に設定
[Motor1 v] を位置 [0] [度 v] へ回転 ▶
電圧で回転#
電圧による回転スタックブロックは、特定の電圧レベルを使用してモーターまたはモーターグループを回転させます。
電圧とは、モーターまたはモーター群に供給される電気的な圧力のことです。電圧が高いほど、モーターまたはモーター群は速く回転します。
[Motor1 v] を [前進 v] へ [10] ボルトで回転
パラメータ |
説明 |
|---|---|
モーター |
回転させるモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
方向 |
モーターまたはモーター群の回転方向。デフォルトでは、正転と逆転の2種類から選択できます。回転方向はモーターの構成によって変更される場合があります。 |
電圧 |
モーターまたはモーター群を回転させるための電圧。範囲は-12ボルトから12ボルトです。正の値は選択した方向に回転し、負の値は反対方向に回転します。 |
開始したとき
[Spin the motor forward at 10 volts for 1 second.]
[Motor1 v] を [前進 v] へ [10] ボルトで回転
(1) 秒待つ
[Motor1 v] を停止
モーターを停止する#
モーター停止スタックブロックは、選択したモーターまたはモーターグループを停止します。モーターまたはモーターグループは、現在の停止動作(ブレーキ、惰性走行、保持)に基づいて停止します。
[Motor1 v] を停止
パラメータ |
説明 |
|---|---|
モーター |
停止するモーターまたはモーターグループを選択します。デバイスウィンドウで設定されているモーターから選択してください。 |
開始したとき
[Spin forward for 1 second.]
[Motor1 v] を [前進 v] へ回転
(1) 秒待つ
[Motor1 v] を停止
設定#
モーター位置を設定する#
モーターまたはモーターグループの位置は、回転した角度(度または回転数)で表されます。1回転は360度です。モーター位置設定スタックブロックは、モーターまたはモーターグループの現在の位置を新しい値に変更します。
例えば、モーターが180度まで回転している場合、位置を0度に設定すると、その位置は180度から0度にリセットされます。その後、モーターはその新しい値に基づいて回転できるようになります。
[Motor1 v] の位置を (0) [度 v] に設定
パラメータ |
説明 |
|---|---|
モーター |
位置を設定するモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
位置 |
モーターまたはモーターグループに設定する位置値。度は整数を使用します。回転数は整数または小数を使用できます。 |
ユニット |
位置の単位:度または回転。 |
開始したとき
[Spin the motor to the new 0 position.]
[Motor1 v] の位置を [180] [度 v] に設定
[Motor1 v] を位置 [0] [度 v] へ回転 ▶
モーター速度を設定する#
モーター速度設定スタックブロックは、モーターまたはモーターグループに回転速度を指示します。パーセンテージが高いほどモーターまたはモーターグループは速く回転し、パーセンテージが低いほどモーターまたはモーターグループは遅く回転します。
すべてのプロジェクトは、各モーターまたはモーターグループがデフォルトで50%の速度で回転する状態から始まります。
注: 回転速度を速くすると、モーターまたはモーター群の回転速度は速くなりますが、精度が低下する可能性があります。回転速度を遅くすると、モーターまたはモーター群の回転速度は遅くなりますが、精度が向上する可能性があります。
[Motor1 v] の速度を [50] [% v] に設定
パラメータ |
説明 |
|---|---|
モーター |
速度を設定するモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
速度 |
モーターまたはモーターグループが回転する速度。パーセントは0%から100%までの整数値を使用します。RPMは0から127までの整数値を使用します。 |
ユニット |
速度の単位:% または rpm(1分あたりの回転数)。 |
開始したとき
[Spin forward at the default velocity.]
[Motor1 v] を [前進 v] へ [90] [回転 v] 回転 ▶
[Spin slower.]
[Motor1 v] の速度を (20) [% v] に設定
[Motor1 v] を [後退 v] へ [90] [回転 v] 回転 ▶
[Spin faster.]
[Motor1 v] の速度を (100) [% v] に設定
[Motor1 v] を [前進 v] へ [90] [回転 v] 回転 ▶
モーター停止設定#
モーター停止設定スタックブロックは、モーターまたはモーターグループがブレーキ、惰性走行、または保持によってどのように停止するかを設定します。
すべてのプロジェクトは、各モーターまたはモーターグループがデフォルトでブレーキで停止する状態から始まります。
[Motor1 v] の停止モードを [ブレーキ v] に設定
パラメータ |
説明 |
|---|---|
モーター |
停止動作を設定するモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
停止動作 |
モーターまたはモーター群の停止方法:
|
モーターの最大トルクを設定する#
トルクとは、モーターまたはモーター群が回転しながらどれだけの力で押したり引いたりできるかを示す指標です。
set motor max torqueスタックブロックは、モーターまたはモーターグループが使用できる最大トルクを設定します。
パーセンテージを高くすると、モーターまたはモーター群がより強く押すことができ、例えば重い物を持ち上げる時などに便利です。パーセンテージを低くすると、モーターまたはモーター群が押せる力が制限されます。これは、モーターが詰まったり、可動範囲の限界に達したりした場合に、ロボットを保護するのに役立ちます。
すべてのプロジェクトは、各モーターまたはモーターグループのトルクがデフォルトで50%に設定された状態から始まります。
[Motor1 v] の最大トルクを [50] % に設定
パラメータ |
説明 |
|---|---|
モーター |
最大トルクを設定するモーターまたはモーターグループを選択します。デバイスウィンドウで設定されているモーターから選択してください。 |
トルク |
モーターまたはモーターグループが使用できる最大トルク(0%~100%)。 |
モータータイムアウトを設定する#
set motor timeoutスタックブロックは、モーターまたはモーターグループが動作を完了するまでの試行時間を秒単位で設定します。モーターまたはモーターグループがその時間内に動作を完了できない場合、試行を停止してスタック内の次のブロックに進みます。これにより、モーターまたはモーターグループが動作中に停止してしまうのを防ぎます。
[Motor1 v] のタイムアウトを [1] 秒に設定
パラメータ |
説明 |
|---|---|
モーター |
タイムアウトを設定するモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
時間 |
モーターまたはモーター群が動作を完了しようと試みることができる秒数。正の整数または小数を指定できます。 |
価値観#
モーターが完成しました#
モーター完了ブールブロックは、モーターまたはモーターグループの動作が完了したかどうかを報告します。これは、モーターまたはモーターグループの動作に基づいて、他の動作のタイミングを制御するために使用できます。
真 — モーターまたはモーター群の動作が完了しました。
誤り — 運動器または運動器群はまだ動いています。
このブロックは、and don’t wait パラメーターを持つ次のモーションブロックと連携して動作します: spin motor for および spin motor to position。
<[Motor1 v] 完了?>
パラメータ |
説明 |
|---|---|
モーター |
動作完了を報告するモーターまたはモーターグループを指定します。デバイスウィンドウで設定されているモーターから選択してください。 |
例
開始したとき
[Drive forward until the motor is done spinning.]
[Motor1 v] を [前進 v] へ (200) [度 v] 回転 ◀ 待たない
ずっと
もし <[Motor1 v] 完了?> なら
走行停止
でなければ
[前進 v] へ走行
モーターが回転している#
モーターが回転しているブールブロックは、モーターまたはモーターグループが回転しているかどうかを報告します。これは、モーターまたはモーターグループの動きに基づいて、他の動作のタイミングを制御するために使用できます。
真 — モーターまたはモーター群が回転している。
誤り — モーターまたはモーター群が回転していません。
このブロックは、and don’t wait パラメーターを持つ次のモーションブロックと連携して動作します: spin motor for および spin motor to position。
<[Motor1 v] 回転中?>
パラメータ |
説明 |
|---|---|
モーター |
回転しているかどうかを報告するモーターまたはモーターグループを指定します。デバイスウィンドウで設定されているモーターから選択してください。 |
例
開始したとき
[Move forward while the motor is spinning.]
[Motor1 v] を [前進 v] へ (200) [度 v] 回転 ◀ 待たない
<[Motor1 v] 回転中?> の間繰り返す
[前進 v] へ走行
終わり
走行停止
運動位置#
モーターまたはモーター群の位置は、回転した角度(度または回転数)で表されます。1回転は360度です。モーター位置レポーターブロックは、モーターまたはモーター群の現在の位置を報告します。
プロジェクト開始時、モーターの位置は0度に設定されます。モーターが正方向に1回転すると、位置は360度、つまり1回転となります。モーターが逆方向に回転すると、位置は負の値になります。
([Motor1 v] の位置([度 v]))
パラメータ |
説明 |
|---|---|
モーター |
位置情報を報告するモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
ユニット |
モーターの位置を報告する単位:度または回転数。 |
例
開始したとき
[Display the motor's position after spinning.]
([Motor1 v] の位置([度 v])) をスクリーンに表示 ◀ カーソルを次の行へ移動する
[Motor1 v] を [前進 v] へ回転
(1) 秒待つ
([Motor1 v] の位置([度 v])) をスクリーンに表示 ▶
[Motor1 v] を停止
モーター速度#
モーター速度レポーターブロックは、モーターまたはモーターグループが回転している速度を、-100%から100%までのパーセンテージ、または-127から127までの毎分回転数(rpm)で報告します。
([Motor1 v] の速度([% v]))
パラメータ |
説明 |
|---|---|
モーター |
速度を報告するモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
ユニット |
モーター速度を報告する単位は、% または rpm (1分あたりの回転数) です。 |
モーター電流#
モーター電流レポーターブロックは、モーターまたはモーターグループが使用している電流値を、0.0~1.2Aのアンペア単位で報告します。電流とは、モーターまたはモーターグループを流れる電気量のことです。
電流値が高いということは、モーターまたはモーター群がより多くの電流を使用していることを意味します。これは、モーターまたはモーター群が重い物を持ち上げているとき、物体を押しているとき、または動かなくなったときに動作しようとしているときに発生する可能性があります。
これは、モーターまたはモーター群が動作中に負荷がかかっていないかを確認するために使用できます。電流が高い状態が続くと、モーターまたはモーター群が過熱したり、電力効率が低下したりする可能性があります。
([Motor1 v] の電流(アンペア))
パラメータ |
説明 |
|---|---|
モーター |
電流値を報告するモーターまたはモーターグループを指定します。デバイスウィンドウで設定されているモーターから選択してください。 |
ユニット |
電流の単位:アンペア。 |
モーター出力#
モーター出力レポーターブロックは、モーターまたはモーターグループが使用している電力をワット単位で0.0~22.0Wの範囲で報告します。出力は、モーターまたはモーターグループがエネルギーを消費する速度を示します。
出力値が高いほど、モーターまたはモーター群のエネルギー消費速度が速いことを意味します。これは、モーターまたはモーター群が重い物を持ち上げたり、物体を押したり、動かなくなったものを動かそうとしたりする際に発生します。
これは、動作を比較したり、運動野や運動群に負荷がかかっていないかを確認したりするために使用できます。出力が高い状態が続くと、運動野や運動群の温度が上昇したり、エネルギー効率が低下したりする可能性があります。
([Motor1 v] の電力(ワット))
パラメータ |
説明 |
|---|---|
モーター |
電力値を報告するモーターまたはモーターグループを選択します。デバイスウィンドウで設定されているモーターから選択してください。 |
ユニット |
電力の単位はワットです。 |
モーターのトルク#
トルクとは、モーターまたはモーター群が回転する際に、どれだけの力でねじったり、押したり、引いたりしているかを示す指標です。
モータートルクレポーターブロックは、モーターまたはモーターグループが使用しているトルクの量を、0.0~22.0インチポンド(InLb)または0.0~2.1ニュートンメートル(Nm)で測定して報告します。
トルク値が高いほど、モーターまたはモーター群がより強い力で押したり引いたりしていることを意味します。これは、モーターまたはモーター群が重い物を持ち上げたり、物体に押し付けたり、動かなくなったものを動かそうとしたりする際に発生します。
これは、運動器官または運動群が負荷に苦労しているかどうかを確認したり、さまざまな動作にどれだけの力が必要かを比較したりするために使用できます。
モーターのトルクを設定するには、set motor max torque ブロックを使用します。
([Motor1 v] のトルク([InLb v]))
パラメータ |
説明 |
|---|---|
モーター |
トルクを報告するモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
ユニット |
モーターのトルクを報告する単位は、InLb(インチポンド)またはNm(ニュートンメートル)です。 |
モーター効率#
モーター効率レポーターブロックは、モーターまたはモーターグループが電力をどれだけ効率的に使用しているかを、0%から100%までのパーセンテージで報告します。
効率とは、モーターまたはモーター群のパワーのうち、どれだけが動作に使われているかを示す指標です。効率の値が高いほど、モーターまたはモーター群のパワーがより多く動作に使われていることを意味します。効率の値が低いのは、モーターまたはモーター群が懸命に働いているにもかかわらず、あまり動いていない場合、例えば、何かに引っかかって動けなくなったり、物体に押し付けられたりしている場合などです。
これは、動作を比較したり、モーターまたはモーター群が動作にエネルギーを使う代わりに無駄にエネルギーを浪費していないかを確認するために使用できます。
([Motor1 v] の効率(%))
パラメータ |
説明 |
|---|---|
モーター |
効率を報告するモーターまたはモーターグループを選択します。デバイスウィンドウで設定されているモーターから選択してください。 |
ユニット |
効率を報告する単位:%。 |
モーター温度#
モーター温度レポーターブロックは、モーターまたはモーターグループの温度を0%から100%までのパーセンテージで報告します。
モーター温度は、モーターまたはモーター群の温度を示します。温度が高いほど、モーターまたはモーター群は動作中に温度が上昇していることを意味します。モーターまたはモーター群は、最高の性能を維持するために55℃以下に保つ必要があります。
モーターまたはモーター群が過熱すると、保護のために最大電流が低下します。70℃に達すると、モーターは冷却されるまで動作を停止します。
これは、モーターまたはモーター群が、繰り返し動作中、長時間の走行中、または物体に押し付けられているときに、過熱していないかどうかを確認するために使用できます。
([Motor1 v] の温度(%))
パラメータ |
説明 |
|---|---|
モーター |
温度を報告するモーターまたはモーターグループ。デバイスウィンドウで設定されているモーターから選択してください。 |
ユニット |
温度を報告する単位:%。 |