モーターおよびモーターグループ#
導入#
Motors and motor groups control how parts of a robot move. A motor object controls one configured IQ Smart Motor, while a motor_group object controls multiple configured IQ Smart Motors together so they move in tandem. Motors and motor groups can be used to raise an arm, turn a claw, spin a wheel, or move another part of a build. Two motors can work together as a drivetrain to move and turn the whole robot.
各モーターまたはモーターグループは、「デバイス」ウィンドウで設定します。ビルドによっては、モーター名とモーターグループ名が変わる場合があります。このページでは、例として Motor1 と「 MotorGroup1 を使用しています。必要に応じて、ご自身で設定した名前に置き換えてください。
デフォルトでは、 forward モーターが反時計回りに回転し、 reverse でモーターが時計回りに回転します。モーターを逆転に設定すると、回転方向が反転します。
モーター#
Class Constructors#
1 — 指定されたスマートポートに接続された IQ スマートモーター用の
motorオブジェクトを作成します。モーターは、検出された内部gearSettingを自動的に使用します。motor( int32_t index );
2 — Creates a
motorobject on the specified Smart Port and optionally reverses its direction. The motor automatically uses the detected internalgearSetting.motor( int32_t index, bool reverse );
3 — 指定されたスマートポート上に、指定された
motorを使用して、gearSettingを作成します。motor( int32_t index, gearSetting gears );
4 — 指定されたスマートポート上に、指定された
motorとオプションの逆方向で、gearSettingを作成します。motor( int32_t index, gearSetting gears, bool reverse );
Class Destructor#
motor オブジェクトを破棄し、関連するリソースを解放します。
~motor();
Parameters#
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーターが接続されているスマートポートは、 |
|
|
モーターの回転方向を反転するかどうかを設定します。
|
|
|
内部ギアカートリッジのギア比を指定します。
|
Notes#
ギア設定は、モーターに取り付けられているカートリッジの実際の形状と一致している必要があります。
Example#
// Create the motor instance in Smart Port 1
motor LeftMotor = motor(PORT1);
// Creates the motor instance with different settings
motor RightMotor = motor(
PORT2, // Smart Port 2
ratio2_1, // Gear ratio is 2:1
true);
モーターグループ#
Class Constructors#
motor_group( motor &m1, Args&... m2 );
Class Destructor#
motor_group オブジェクトを破棄し、関連するリソースを解放します。
~motor_group();
Parameters#
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
グループに追加された最初のモーター。 |
|
|
グループにモーターが追加されました。1つのモーターグループには最大4つのモーターを追加できます。 |
Example#
// Create individual motor instances
motor LeftMotor = motor(PORT1);
motor RightMotor = motor(PORT2);
// Create a motor group with both motors
motor_group DriveMotors = motor_group(LeftMotor, RightMotor);
メンバーの機能#
モーターやモーターグループをコーディングする方法は数多くあります。以下は、モーター motor 、モーター motor_group のすべてのメンバ関数の一覧です。
動作 — モーターおよびモーター群を停止および回転させる。
spin— モーターまたはモーターグループを永久に正転または逆転させます。spinFor— モーターまたはモーターグループを特定の距離または時間だけ回転させます。spinToPosition— モーターまたはモーターグループを特定の位置まで回転させます。stop— モーターまたはモーターグループの回転を停止します。
ミューテーター — モーターおよびモーターグループの設定を調整します。
setVelocity— モーターまたはモーターグループに回転速度を指示します。setMaxTorque— モーターまたはモーターグループが回転中にどれだけ強く押せるかを設定します。setPosition— モーターまたはモーターグループの現在の位置を新しい値に変更します。setStopping— モーターまたはモーターグループがどのように停止するかを設定します。ブレーキ、惰性走行、または保持によって停止します。setTimeout— モーターまたはモーターグループが動作を完了しようとする時間を設定します。
ゲッター — モーターおよびモーター群の状態を確認してください。
isDone— モーターまたはモーターグループが動作を完了したかどうかをブール値として返します。isSpinning— モーターまたはモーターグループが回転しているかどうかをブール値として返します。position— モーターまたはモーターグループの現在の位置を返します。velocity— モーターまたはモーターグループが回転している速度を返します。current— モーターまたはモーターグループが使用している電流の量を返します。power— モーターまたはモーターグループが使用している電力の量を返します。torque— モーターまたはモーターグループが使用しているトルクの量を返します。efficiency— モーターまたはモーターグループが電力をどれだけ効率的に使用しているかを返します。temperature— モーターまたはモーターグループの温度を返します。voltage— モーターまたはモーターグループに供給される電気電圧を返します。direction— モーターまたはモーターグループが回転している方向を返します。installed— モーターまたはモーターグループが脳に接続されているかどうかを返します。count— モーターグループ内のモーターの数を返します。
motor または motor_group のメンバ関数を呼び出す前に、以下に示すようにインスタンスを作成する必要があります。
/* This constructor is required when using VS Code.
Motor and Motor Group configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create the motor instance in Smart Port 1
motor Motor1 = motor(PORT1);
行動#
spin#
spin は、モーターまたはモーター群を正逆方向に永久に回転させます。モーターまたはモーター群は、別の方向に回転したり停止したりするなど、別の動作が与えられるまで回転し続けます。
1 — 現在設定されているモーター速度を使用して、モーターまたはモーターグループを回転させます。
void spin( directionType dir );
2 — モーターまたはモーターグループを指定された速度で回転させます。
void spin( directionType dir, double velocity, velocityUnits units );
Parameters3 — 指定された電圧を使用してモーターまたはモーターグループを回転させます。
void spin( directionType dir, double voltage, voltageUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーターまたはモーター群が回転する方向: |
|
|
|
|
|
速度を表す単位:
|
|
|
回転させる電圧。負の値は、指定された |
|
|
電圧を表す単位:
|
この関数は値を返しません。
Notesこの関数は待機処理を行わず、呼び出し後すぐにプロジェクトの実行が再開されます。
モーターまたはモーターグループは、
stopが呼び出されるか、別の動作機能が実行されるまで回転し続けます。isDoneやisSpinningなどの関数は、spinには適用できません。なぜなら、6 spin 7はターゲットベースの移動を使用しないからです(rotationまたはtimeパラメータがありません)。
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
spinFor#
spinFor は、モーターまたはモーターグループを特定の距離または時間だけ回転させます。回転ベースのスピンは、モーターまたはモーターグループの現在位置を基準とします。デフォルトでは、プロジェクトはモーターまたはモーターグループの回転が終了するまで待機してから、次のコード行を実行します。
1 — 関数呼び出しで指定された速度で、特定の距離だけ回転します。
bool spinFor( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
2 — 方向パラメータを受け取り、関数呼び出しで指定された速度で特定の距離だけ回転します。
bool spinFor( directionType dir, double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
3 — 現在設定されているモーター速度を使用して特定の距離だけ回転します。
bool spinFor( double rotation, rotationUnits units, bool waitForCompletion = true );
4 — 方向パラメータを受け取り、現在設定されているモーター速度を使用して特定の距離だけ回転します。
bool spinFor( directionType dir, double rotation, rotationUnits units, bool waitForCompletion = true );
5 — 関数呼び出しで指定された速度で、指定された時間回転します。
bool spinFor( double time, timeUnits units, double velocity, velocityUnits units_v );
6 — 方向パラメータを受け取り、関数呼び出しで指定された速度で特定の時間回転します。
bool spinFor( directionType dir, double time, timeUnits units, double velocity, velocityUnits units_v );
7 — 現在設定されているモーター速度を使用して、特定の時間回転します。
bool spinFor( double time, timeUnits units );
Parameters8 — 方向パラメータを受け取り、現在設定されているモーター速度を使用して特定の時間回転します。
bool spinFor( directionType dir, double time, timeUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーターまたはモーター群が回転する方向: |
|
|
モーターまたはモーター群が回転する距離。 |
|
|
The rotation unit:
|
|
|
モーターまたはモーター群が回転する時間。 |
|
|
時間の単位:
|
|
|
|
|
|
|
|
|
|
モーターまたはモーターグループが目標値に達したかどうかを示すブール値を返します。
true— The motor or motor group reached the target value.false— The motor or motor group was not able to reach the target value orwaitForCompletionis set tofalse.
spinForが進行中に別のモーター動作機能 (spinやstopなど) を実行すると、現在の動作が中断されます。spinForターゲットベース (rotationまたはtimeパラメータを使用) であるため、isDoneやisSpinningなどの関数はspinForで動作します。
// Spin 1 turn fast, then 1 turn slow
Motor1.spinFor(forward, 1, turns, true);
Motor1.spinFor(reverse, 1, turns, 20, velocityUnits::pct, true);
spinToPosition#
spinToPosition は、モーターまたはモーターグループを特定の位置まで回転させます。
モーターまたはモーターグループの位置は、回転した角度を表し、 degrees または turnsで測定されます。1回転は360度に相当します。プロジェクトの開始時には、モーターまたはモーターグループの位置は0度に設定されます。モーターまたはモーターグループの位置は、setPosition関数を使用して設定することもできます。
位置情報は絶対値です。つまり、回転方向はモーターまたはモーター群の現在の位置によって決まります。
例えば、モーターまたはモーター群が0度から始まり、720度の位置まで回転する場合、2回転前進します。その後、360度の位置まで回転する場合、360度は720度より小さいため、1回転後退します。
Available Functions1 — 関数呼び出しで指定された速度で特定の位置まで回転します。
bool spinToPosition( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Parameters2 — 現在設定されているモーター速度を使用して特定の位置まで回転します。
bool spinToPosition( double rotation, rotationUnits units, bool waitForCompletion = true );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーターまたはモーター群が回転する位置の値。 |
|
|
The rotation unit:
|
|
|
|
|
|
|
|
|
|
モーターまたはモーターグループが要求された目標ベースの動作を開始したかどうかを示すブール値を返します。
true— The motor or motor group begins the requested target-based movement.false— The call fails orwaitForCompletionis set tofalse.
spinToPositionが進行中に別のモーター動作機能 (spinやspinForなど) を実行すると、現在の動作が中断されます。Because
spinToPositionis target-based (uses arotationparameter), functions such asisDoneandisSpinningwork withspinToPosition.
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);
stop#
stop モーターまたはモーター群の回転を停止します。
1 — 現在設定されているブレーキモードを使用してモーターまたはモーターグループを停止します。
void stop();
Parameters2 — 関数呼び出しで指定されたブレーキモードを使用して、モーターまたはモーターグループを停止します。
void stop( brakeType mode );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
Optional. How the motor or motor group will stop:
|
この関数は値を返しません。
Notesstopを呼び出すと、現在動作中のモーターまたはモーターグループの動作が直ちに停止します。ブレーキモードが指定されていない場合、モーターまたはモーターグループは現在設定されているブレーキモードを使用します。
stopは、アクティブなターゲットベースの移動 (spinForやspinToPositionなど) を中断します。
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);
変異誘発者#
setVelocity#
setVelocity 、モーターまたはモーターグループに回転速度を指示します。パーセンテージが高いほどモーターまたはモーターグループは速く回転し、パーセンテージが低いほどモーターまたはモーターグループは遅く回転します。
すべてのプロジェクトは、各モーターまたはモーターグループがデフォルトで50%の速度で回転する状態から始まります。
注: 回転速度を速くすると、モーターまたはモーター群の回転速度は速くなりますが、精度が低下する可能性があります。回転速度を遅くすると、モーターまたはモーター群の回転速度は遅くなりますが、精度が向上する可能性があります。
Available Functionsvoid setVelocity(
double velocity,
velocityUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
|
|
|
|
この関数は値を返しません。
Notes速度を明示的に指定しない後続のモーター動作関数 (
spin、spinFor、またはspinToPosition) は、この値を使用します。
// Try default, then slow, then fast
Motor1.spinFor(forward, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(20, percent);
Motor1.spinFor(reverse, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(100, percent);
Motor1.spinFor(forward, 180, degrees);
setMaxTorque#
トルクとは、モーターまたはモーター群が回転しながらどれだけの力で押したり引いたりできるかを示す指標です。
setMaxTorque は、モーターまたはモーターグループが使用できる最大トルクを設定します。
パーセンテージを高くすると、モーターまたはモーター群がより強く押すことができ、例えば重い物を持ち上げる時などに便利です。パーセンテージを低くすると、モーターまたはモーター群が押せる力が制限されます。これは、モーターまたはモーター群が動かなくなったり、可動範囲の限界に達したりした場合に、ロボットを保護するのに役立ちます。
すべてのプロジェクトは、各モーターまたはモーターグループのトルクがデフォルトで50%に設定された状態から始まります。
Available Functions1 — モーターまたはモーターグループの定格トルクに対する割合として最大トルクを設定します。
void setMaxTorque( double value, percentUnits units );
2 — 物理的なトルク単位を使用して最大トルクを設定します。
void setMaxTorque( double value, torqueUnits units );
Parameters3 — モーター電流を制限することで最大トルクを設定します。
void setMaxTorque( double value, currentUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーターまたはモーター群が使用できる最大トルク。 |
|
|
トルクをパーセントで指定します: |
|
|
トルクを物理単位で指定します。例:
|
|
|
モーター電流を制限することでトルクを指定します:
|
この関数は値を返しません。
Notes電流が
currentUnits、トルクはモーターまたはモーターグループが使用できる電流の量を制限することによって制限されます。
setPosition#
モーターまたはモーターグループの位置は、回転した距離を表し、 degrees または turnsで測定されます。1回転は360度に相当します setPosition 、モーターまたはモーターグループの現在の位置を新しい値に変更します。
例えば、モーターまたはモーター群が180度回転している場合、位置を0度に設定すると、その位置は180度から0度にリセットされます。その後、モーターまたはモーター群はその新しい値に基づいて回転できるようになります。
Available Functionsvoid setPosition(
double value,
rotationUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーターまたはモーターグループに設定する位置値。 |
|
|
The position unit:
|
この関数は値を返しません。
NotessetPositionを呼び出した後、spinToPositionへの後続の呼び出しでは、更新された位置が参照として使用されます。
setStopping#
setStopping は、モーターまたはモーターグループがどのように停止するかを設定します。ブレーキ、惰性走行、または保持のいずれかです。
void setStopping(
brakeType mode );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーターまたはモーター群の停止方法:
|
この関数は値を返しません。
Notesブレーキモードを指定せずに
stopを再度呼び出すと、この値が使用されます。
setTimeout#
setTimeout setTimeout は、モーターまたはモーターグループが動作を完了するまでの試行時間を設定します。モーターまたはモーターグループがその時間内に動作を完了できない場合、試行を停止して次のコード行に進みます。これにより、モーターまたはモーターグループが動作中に停止してしまうのを防ぎます。
void setTimeout(
int32_t time,
timeUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーターまたはモーター群が動作を完了しようと試みることができる時間。これは正の整数でなければなりません。 |
|
|
時間の単位:
|
戻り値
この関数は値を返しません。
Notesモーターまたはモーターグループのタイムアウトは、目標位置に到達しない動作によってスタック内の他のコマンドの実行が停止しないようにするために使用されます。
モーターまたはモーター群がタイムアウト時間内に目標位置に到達しない場合、動作を試みることを停止し、次のコード行に進みます。
タイムアウトは、
spinForやspinToPositionのように目標値を持つ関数に適用されます。
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);
ゲッター#
isDone#
isDone は、モーターまたはモーター群の動作が完了したかどうかをブール値で返します。これは、モーターまたはモーター群の動作に基づいて、他の動作のタイミングを制御するために使用できます。
true— モーターまたはモーター群の動作が完了しました。false— モーターまたはモーター群はまだ動いています。
この関数は、 waitForCompletion パラメータを持つ次のモーション関数と連携して動作します: spinFor および spinToPosition。
bool isDone();
この関数は引数を受け付けません。
Return Valuesモーターまたはモーターグループの動作が完了したかどうかをブール値で返します。
true— The motor or motor group is finished moving.false— The motor or motor group is still moving.
isDoneは、waitForCompletionパラメータを持つ の Motion 関数と連携して動作します:spinForおよびspinToPosition。
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
if (Motor1.isDone()) {
Drivetrain.stop();
} else {
Drivetrain.drive(forward);
}
}
isSpinning#
isSpinning は、モーターまたはモーターグループが回転しているかどうかをブール値で返します。これは、モーターまたはモーターグループの動きに基づいて、他の動作のタイミングを制御するために使用できます。
true— モーターまたはモーター群が回転しています。false— モーターまたはモーターグループが回転していません。
この関数は、spin、spinFor、spinToPositionなどのモーション移動関数と連携して動作します。
bool isSpinning();
この関数は引数を受け付けません。
Return Valuesモーターまたはモーターグループが回転しているかどうかをブール値で返します。
true— The motor or motor group is spinning.false— The motor or motor group is not spinning.
isSpinning、spin、spinFor、およびspinToPositionなどの Motion 移動関数と連携します。
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
if (Motor1.isSpinning()) {
Drivetrain.drive(forward);
} else {
Drivetrain.stop();
}
}
position#
A motor or motor group’s position is how far it has spun, measured in degrees or turns. One turn is equal to 360 degrees. position returns the motor or motor group’s current position.
プロジェクトの開始時、モーターまたはモーターグループの位置は0度に設定されます。モーターまたはモーターグループが1回転すると、位置は360度(1回転)になります。モーターまたはモーターグループが反対方向に回転すると、位置はマイナスになります。
Available Functionsdouble position(
rotationUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーターまたはモーターグループの位置を戻す単位:
|
指定された単位でのモーターまたはモーターグループの現在位置を表す、 double 倍精度浮動小数点数を返します。
setPositionを呼び出すと、この値の基準点が変更されます。返される値は現在のエンコーダの読み取り値を反映したものであり、モーターまたはモーター群が実際に動作しているかどうかを示すものではありません。
motor_groupに対して呼び出された場合、この関数はグループ内の最初のモーターの位置を返します。
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));
velocity#
velocity モーターまたはモーターグループの回転速度を返します。
正の値は、モーターまたはモーター群が正方向に回転していることを意味します。負の値は、逆方向に回転していることを意味します。
Available Functionsdouble velocity(
velocityUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
速度を表す単位:
|
モーターまたはモーターグループが指定された単位でどれだけ速く回転しているかを表す、 double 倍精度浮動小数点数を返します。
注釈
motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの速度が返されます。
current#
current 、モーターまたはモーターグループが使用している電流の量を返します。電流とは、モーターまたはモーターグループを流れる電気の量です。アンペアで返される場合、電流は 0.0 ~ 1.2 A の範囲で報告されます。
電流値が高いということは、モーターまたはモーター群がより多くの電流を使用していることを意味します。これは、モーターまたはモーター群が重い物を持ち上げているとき、物体を押しているとき、または動かなくなったときに動作しようとしているときに発生する可能性があります。
これは、動作中にモーターまたはモーター群が負荷がかかっていないかを確認するために使用できます。電流が高い状態が続くと、モーターが過熱したり、電力効率が低下したりする可能性があります。
Available Functions1 — モーターまたはモーターグループの電流値をアンペア単位で返します。
double current( currentUnits units = amp );
Parameters2 — モーターまたはモーターグループの電流を最大定格電流に対する割合として返します。
double current( percentUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
電流を表す単位: |
|
|
電流をモーターの最大定格電流に対する割合で表します: |
モーターまたはモーターグループが消費している電流の量を、指定された単位で表す double 倍精度浮動小数点数を返します。
注釈
motor_groupに対してこの関数を呼び出すと、グループ内のすべてのモーターの合計電流が返されます。
power#
power モーターまたはモーターグループが使用している電力をワット単位で返します。電力は、モーターまたはモーターグループがエネルギーを消費する速度を示します。
出力値が高いほど、モーターまたはモーター群のエネルギー消費速度が速いことを意味します。これは、モーターまたはモーター群が重い物を持ち上げたり、物体を押したり、動かなくなったものを動かそうとしたりする際に発生します。
これは、動作を比較したり、モーターまたはモーター群に負荷がかかっていないかを確認したりするために使用できます。出力が高い状態が続くと、モーターが過熱したり、エネルギー効率が低下したりする可能性があります。
Available Functionsdouble power(
powerUnits units = watt );
パラメータ
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーター出力を表す単位:
|
戻り値
モーターまたはモーターグループが使用している電力をワット単位で表す double を返します。
注釈
motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの電力を返します。
torque#
トルクとは、モーターまたはモーター群が回転する際に、どれだけの力でねじったり、押したり、引いたりしているかを示す指標です。
トルクがtorque は、モーターまたはモーターグループが使用しているトルクの値を返します。
トルク値が高いほど、モーターまたはモーター群がより強い力で押したり引いたりしていることを意味します。これは、モーターまたはモーター群が重い物を持ち上げたり、物体に押し付けたり、動かなくなったものを動かそうとしたりする際に発生します。
これは、運動器官または運動群が負荷に苦労しているかどうかを確認したり、さまざまな動作にどれだけの力が必要かを比較したりするために使用できます。
モーターまたはモーターグループのトルクを設定するには、setMaxTorque を使用します。
double torque(
torqueUnits units = Nm );
パラメータ
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーターのトルクを表す単位:
|
戻り値
指定された単位で、モーターまたはモーターグループが使用しているトルクの量を表す double を返します。
注釈
motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの機械的出力トルクが返されます。
efficiency#
効率efficiency 、モーターまたはモーターグループが電力をどれだけ効率的に使用しているかを、0%から100%までのパーセンテージで返します。
効率とは、モーターまたはモーター群のパワーのうち、どれだけが動作に使われているかを示す指標です。効率の値が高いほど、モーターまたはモーター群のパワーがより多く動作に使われていることを意味します。効率の値が低いのは、モーターまたはモーター群が懸命に働いているにもかかわらず、あまり動いていない場合、例えば、何かに引っかかって動けなくなったり、物体に押し付けられたりしている場合などです。
これは、動作を比較したり、モーターまたはモーター群が動作にエネルギーを使う代わりに無駄にエネルギーを浪費していないかを確認するために使用できます。
Available Functionsdouble efficiency(
percentUnits units = percent );
パラメータ
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーター効率を表す単位:
|
戻り値
モーターまたはモーターグループが電力をどれだけ効率的に使用しているかをパーセンテージで表した、 double 倍精度浮動小数点数を返します。
注釈
motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの効率が返されます。
temperature#
temperature モーターまたはモーターグループの温度を返します。
モーター温度は、モーターまたはモーター群の温度を示します。温度が高いほど、モーターまたはモーター群は動作中に温度が上昇していることを意味します。モーターは、最高の性能を維持するために、 55°C に保つ必要があります。
モーターまたはモーター群が過熱すると、自身を保護するために最大電流が低下します。0 70°C、モーターは冷却されるまで動作を停止します。
これは、モーターまたはモーター群が、繰り返し動作中、長時間の走行中、または物体に押し付けられているときに、過熱していないかどうかを確認するために使用できます。
Available Functions1 — モーターまたはモーターグループの温度を、最大動作温度に対する割合として返します。
double temperature( percentUnits units = percent );
2 — モーターまたはモーターグループの温度を物理温度単位で返します。
double temperature( temperatureUnits units );
パラメータ
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
モーターまたはモーター群の温度をパーセントで表すために使用される単位:
|
|
|
運動器または運動器群の温度を表す単位(度):
|
戻り値
指定された単位で、モーターまたはモーターグループの温度を表す double double値を返します。
注釈
モーターの動作温度範囲は約
20°C(68°F) から70°C(158°F) です。motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの温度が返されます。
voltage#
voltage モーターまたはモーターグループに供給される電気電圧を返します。
double voltage(
voltageUnits units = volt );
パラメータ
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
電圧を表す単位:
|
戻り値
指定された単位で、モーターまたはモーターグループに供給される電圧を表す double (倍精度浮動小数点数)を返します。
注釈
motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの電圧が返されます。
direction#
direction は、モーターまたはモーターグループが回転している方向を返します。
directionType direction();
パラメータ
この関数は引数を取りません。
戻り値
Returns a directionType indicating the motor’s or motor group’s current direction:
forward— The motor or motor group is spinning forward.reverse— The motor or motor group is spinning in reverse.
installed#
installed モーターまたはモーターグループが IQ (第 1 世代) Brain に接続されているかどうかを返します。
bool installed();
パラメータ
この関数は引数を取りません。
戻り値
モーターまたはモーターグループが接続されているかどうかを示すブール値 bool を返します。
true— The motor or motor group is connected.false— The motor or motor group is not connected.
count#
count は、モーター グループ内のモーターの数を返します。
int32_t count();
パラメータ
この関数は引数を取りません。
戻り値
モーターグループ内のモーターの数を表す int32_t を返します。