モーターおよびモーターグループ#

導入#

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 を使用しています。必要に応じて、ご自身で設定した名前に置き換えてください。

VEX IQモーター。プラス記号は前進方向を示し、矢印は左回転(反時計回り)を示しています。 VEX IQモーター。逆方向回転はマイナス記号で示され、右回転(時計回り)を示す矢印が付いています。

デフォルトでは、 forward モーターが反時計回りに回転し、 reverse でモーターが時計回りに回転します。モーターを逆転に設定すると、回転方向が反転します。

モーター#

Class Constructors#

1 — 指定されたスマートポートに接続された IQ スマートモーター用の motor オブジェクトを作成します。モーターは、検出された内部 gearSettingを自動的に使用します。

motor(
  int32_t index );

2 — Creates a motor object on the specified Smart Port and optionally reverses its direction. The motor automatically uses the detected internal gearSetting.

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#

パラメータ

タイプ

説明

index

int32_t

モーターが接続されているスマートポートは、 PORTxと表記され、 x はポート番号です (例: PORT1)。

reverse

bool

モーターの回転方向を反転するかどうかを設定します。

  • false (デフォルト) — モーターの回転方向を反転しません。
  • true — モーターの回転方向を反転します。

gears

gearSetting

内部ギアカートリッジのギア比を指定します。

  • ratio1_1 — 1:1 ギア比
  • ratio2_1 — 2:1 ギア比
  • ratio3_1 — 3:1 ギア比

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#

パラメータ

タイプ

説明

m1

motor &

グループに追加された最初のモーター。

m2

motor &

グループにモーターが追加されました。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 は、モーターまたはモーター群を正逆方向に永久に回転させます。モーターまたはモーター群は、別の方向に回転したり停止したりするなど、別の動作が与えられるまで回転し続けます。

Available Functions

1 — 現在設定されているモーター速度を使用して、モーターまたはモーターグループを回転させます。

void spin(
 directionType dir );

2 — モーターまたはモーターグループを指定された速度で回転させます。

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

3 — 指定された電圧を使用してモーターまたはモーターグループを回転させます。

void spin(
 directionType dir,
 double        voltage,
 voltageUnits  units );

Parameters

パラメータ

タイプ

説明

dir

directionType

モーターまたはモーター群が回転する方向: forward または reverse。

velocity

double

percentを使用した場合の回転速度は 0% から 100% までです。

units

velocityUnits

速度を表す単位:

  • percent / pct — パーセント
  • rpm — 毎分回転数
  • dps — 毎秒角度

voltage

double

回転させる電圧。負の値は、指定された dirとは逆方向に回転します。

units

voltageUnits

電圧を表す単位:

  • volt — ボルト
  • voltageUnits::mV — ミリボルト

Return Values

この関数は値を返しません。

Notes
  • この関数は待機処理を行わず、呼び出し後すぐにプロジェクトの実行が再開されます。

  • モーターまたはモーターグループは、stopが呼び出されるか、別の動作機能が実行されるまで回転し続けます。

  • isDoneやisSpinningなどの関数は、 spinには適用できません。なぜなら、6 spin 7はターゲットベースの移動を使用しないからです( rotation または time パラメータがありません)。

Examples
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();

spinFor#

spinFor は、モーターまたはモーターグループを特定の距離または時間だけ回転させます。回転ベースのスピンは、モーターまたはモーターグループの現在位置を基準とします。デフォルトでは、プロジェクトはモーターまたはモーターグループの回転が終了するまで待機してから、次のコード行を実行します。

Available Functions

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 );

8 — 方向パラメータを受け取り、現在設定されているモーター速度を使用して特定の時間回転します。

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units );

Parameters

パラメータ

タイプ

説明

dir

directionType

モーターまたはモーター群が回転する方向: forward または reverse。

rotation

double

モーターまたはモーター群が回転する距離。

units

rotationUnits

The rotation unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

time

double

モーターまたはモーター群が回転する時間。

units

timeUnits

時間の単位:

  • seconds sec —秒
  • msec —ミリ秒

velocity

double

percentを使用した場合の回転速度は 0% から 100% までです。

units_v

velocityUnits

velocity:

  • percent / pct — パーセント
  • rpm — 毎分回転数
  • dps — 毎秒角度

waitForCompletion

bool

​

  • true (デフォルト) — モーターまたはモーターグループの回転が終了するまで、次のコード行の実行を待機します。
  • false — 次のコード行をすぐに実行します。

Return Values

モーターまたはモーターグループが目標値に達したかどうかを示すブール値を返します。

  • true — The motor or motor group reached the target value.
  • false — The motor or motor group was not able to reach the target value or waitForCompletion is set to false.
Notes
  • spinFor が進行中に別のモーター動作機能 (spin や stop など) を実行すると、現在の動作が中断されます。

  • spinFor ターゲットベース ( rotation または time パラメータを使用) であるため、isDone や isSpinning などの関数は spinForで動作します。

Examples
// 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 Functions

1 — 関数呼び出しで指定された速度で特定の位置まで回転します。

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — 現在設定されているモーター速度を使用して特定の位置まで回転します。

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

Parameters

パラメータ

タイプ

説明

rotation

double

モーターまたはモーター群が回転する位置の値。

units

rotationUnits

The rotation unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

velocity

double

percentを使用した場合の回転速度は 0% から 100% までです。

units_v

velocityUnits

velocity:

  • pct — パーセント
  • rpm — 毎分回転数
  • dps — 毎秒角度

waitForCompletion

bool

​

  • true (デフォルト) — モーターまたはモーターグループの回転が終了するまで、次のコード行の実行を待機します。
  • false — 次のコード行をすぐに実行します。

Return Values

モーターまたはモーターグループが要求された目標ベースの動作を開始したかどうかを示すブール値を返します。

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • spinToPosition が進行中に別のモーター動作機能 (spin や spinFor など) を実行すると、現在の動作が中断されます。

  • Because spinToPosition is target-based (uses a rotation parameter), functions such as isDone and isSpinning work with spinToPosition.

Examples
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);

stop#

stop モーターまたはモーター群の回転を停止します。

Available Functions

1 — 現在設定されているブレーキモードを使用してモーターまたはモーターグループを停止します。

void stop();

2 — 関数呼び出しで指定されたブレーキモードを使用して、モーターまたはモーターグループを停止します。

void stop(
  brakeType mode );

Parameters

パラメータ

タイプ

説明

mode

brakeType

Optional. How the motor or motor group will stop:

  • coast — Slows to a stop.
  • brake — Stops immediately.
  • hold — Stops immediately and holds the motor or motor group position.

Return Values

この関数は値を返しません。

Notes
  • stop を呼び出すと、現在動作中のモーターまたはモーターグループの動作が直ちに停止します。

  • ブレーキモードが指定されていない場合、モーターまたはモーターグループは現在設定されているブレーキモードを使用します。

  • stop は、アクティブなターゲットベースの移動 (spinFor や spinToPosition など) を中断します。

Examples
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);

変異誘発者#

setVelocity#

setVelocity 、モーターまたはモーターグループに回転速度を指示します。パーセンテージが高いほどモーターまたはモーターグループは速く回転し、パーセンテージが低いほどモーターまたはモーターグループは遅く回転します。

すべてのプロジェクトは、各モーターまたはモーターグループがデフォルトで50%の速度で回転する状態から始まります。

注: 回転速度を速くすると、モーターまたはモーター群の回転速度は速くなりますが、精度が低下する可能性があります。回転速度を遅くすると、モーターまたはモーター群の回転速度は遅くなりますが、精度が向上する可能性があります。

Available Functions
void setVelocity(
    double        velocity,
    velocityUnits units );

Parameters

パラメータ

タイプ

説明

velocity

double

percentを使用した場合の回転速度は 0% から 100% までです。

units

velocityUnits

velocity:

  • percent / pct — パーセント
  • rpm — 毎分回転数
  • dps — 毎秒角度

Return Values

この関数は値を返しません。

Notes
  • 速度を明示的に指定しない後続のモーター動作関数 (spin、spinFor、または spinToPosition) は、この値を使用します。

Examples
// 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 Functions

1 — モーターまたはモーターグループの定格トルクに対する割合として最大トルクを設定します。

void setMaxTorque(
 double       value,
 percentUnits units );

2 — 物理的なトルク単位を使用して最大トルクを設定します。

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — モーター電流を制限することで最大トルクを設定します。

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

パラメータ

タイプ

説明

value

double

モーターまたはモーター群が使用できる最大トルク。

units

percentUnits

トルクをパーセントで指定します: percent pct パーセント

units

torqueUnits

トルクを物理単位で指定します。例:

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

units

currentUnits

モーター電流を制限することでトルクを指定します:

  • amp

Return Values

この関数は値を返しません。

Notes
  • 電流が currentUnits、トルクはモーターまたはモーターグループが使用できる電流の量を制限することによって制限されます。

setPosition#

モーターまたはモーターグループの位置は、回転した距離を表し、 degrees または turnsで測定されます。1回転は360度に相当します setPosition 、モーターまたはモーターグループの現在の位置を新しい値に変更します。

例えば、モーターまたはモーター群が180度回転している場合、位置を0度に設定すると、その位置は180度から0度にリセットされます。その後、モーターまたはモーター群はその新しい値に基づいて回転できるようになります。

Available Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

パラメータ

タイプ

説明

value

double

モーターまたはモーターグループに設定する位置値。

units

rotationUnits

The position unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

この関数は値を返しません。

Notes
  • setPositionを呼び出した後、spinToPosition への後続の呼び出しでは、更新された位置が参照として使用されます。

setStopping#

setStopping は、モーターまたはモーターグループがどのように停止するかを設定します。ブレーキ、惰性走行、または保持のいずれかです。

Available Functions
void setStopping(
  brakeType mode );

Parameters

パラメータ

タイプ

説明

mode

brakeType

モーターまたはモーター群の停止方法:

  • brake — すぐに停止します。
  • coast — 徐々に減速して停止します。
  • hold — すぐに停止し、モーターまたはモーター群の位置を保持します。

Return Values

この関数は値を返しません。

Notes
  • ブレーキモードを指定せずに stop を再度呼び出すと、この値が使用されます。

setTimeout#

setTimeout setTimeout は、モーターまたはモーターグループが動作を完了するまでの試行時間を設定します。モーターまたはモーターグループがその時間内に動作を完了できない場合、試行を停止して次のコード行に進みます。これにより、モーターまたはモーターグループが動作中に停止してしまうのを防ぎます。

Available Functions
void setTimeout(
    int32_t   time,
    timeUnits units );

Parameters

パラメータ

タイプ

説明

time

int32_t

モーターまたはモーター群が動作を完了しようと試みることができる時間。これは正の整数でなければなりません。

units

timeUnits

時間の単位:

  • msec — ミリ秒
  • seconds / sec — 秒

戻り値

この関数は値を返しません。

Notes
  • モーターまたはモーターグループのタイムアウトは、目標位置に到達しない動作によってスタック内の他のコマンドの実行が停止しないようにするために使用されます。

  • モーターまたはモーター群がタイムアウト時間内に目標位置に到達しない場合、動作を試みることを停止し、次のコード行に進みます。

  • タイムアウトは、spinFor や spinToPosition のように目標値を持つ関数に適用されます。

Examples
// 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。

Available Functions
bool isDone();

Parameters

この関数は引数を受け付けません。

Return Values

モーターまたはモーターグループの動作が完了したかどうかをブール値で返します。

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone は、waitForCompletion パラメータを持つ の Motion 関数と連携して動作します: spinFor および spinToPosition。

Examples
// 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などのモーション移動関数と連携して動作します。

Available Functions
bool isSpinning();

Parameters

この関数は引数を受け付けません。

Return Values

モーターまたはモーターグループが回転しているかどうかをブール値で返します。

  • true — The motor or motor group is spinning.
  • false — The motor or motor group is not spinning.
Notes Examples
// 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 Functions
double position(
  rotationUnits units );

Parameters

パラメータ

タイプ

説明

units

rotationUnits

モーターまたはモーターグループの位置を戻す単位:

  • deg / degrees — 度
  • turns / rev — 回転

Return Values

指定された単位でのモーターまたはモーターグループの現在位置を表す、 double 倍精度浮動小数点数を返します。

Notes
  • setPosition を呼び出すと、この値の基準点が変更されます。

  • 返される値は現在のエンコーダの読み取り値を反映したものであり、モーターまたはモーター群が実際に動作しているかどうかを示すものではありません。

  • motor_groupに対して呼び出された場合、この関数はグループ内の最初のモーターの位置を返します。

Examples
// 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 Functions
double velocity(
    velocityUnits units );

Parameters

パラメータ

タイプ

説明

units

velocityUnits

速度を表す単位:

  • percent / pct — パーセント
  • rpm — 毎分回転数
  • dps — 毎秒角度

Return Values

モーターまたはモーターグループが指定された単位でどれだけ速く回転しているかを表す、 double 倍精度浮動小数点数を返します。

注釈

  • motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの速度が返されます。

current#

current 、モーターまたはモーターグループが使用している電流の量を返します。電流とは、モーターまたはモーターグループを流れる電気の量です。アンペアで返される場合、電流は 0.0 ~ 1.2 A の範囲で報告されます。

電流値が高いということは、モーターまたはモーター群がより多くの電流を使用していることを意味します。これは、モーターまたはモーター群が重い物を持ち上げているとき、物体を押しているとき、または動かなくなったときに動作しようとしているときに発生する可能性があります。

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

Available Functions

1 — モーターまたはモーターグループの電流値をアンペア単位で返します。

double current(
  currentUnits units = amp );

2 — モーターまたはモーターグループの電流を最大定格電流に対する割合として返します。

double current(
  percentUnits units );

Parameters

パラメータ

タイプ

説明

units

currentUnits

電流を表す単位:amp (デフォルト)—アンペア

units

percentUnits

電流をモーターの最大定格電流に対する割合で表します:percent / pct パーセント

Return Values

モーターまたはモーターグループが消費している電流の量を、指定された単位で表す double 倍精度浮動小数点数を返します。

注釈

  • motor_groupに対してこの関数を呼び出すと、グループ内のすべてのモーターの合計電流が返されます。

power#

power モーターまたはモーターグループが使用している電力をワット単位で返します。電力は、モーターまたはモーターグループがエネルギーを消費する速度を示します。

出力値が高いほど、モーターまたはモーター群のエネルギー消費速度が速いことを意味します。これは、モーターまたはモーター群が重い物を持ち上げたり、物体を押したり、動かなくなったものを動かそうとしたりする際に発生します。

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

Available Functions
double power(
  powerUnits units = watt );

パラメータ

パラメータ

タイプ

説明

units

powerUnits

モーター出力を表す単位:

  • watt (デフォルト) — ワット

戻り値

モーターまたはモーターグループが使用している電力をワット単位で表す double を返します。

注釈

  • motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの電力を返します。

torque#

トルクとは、モーターまたはモーター群が回転する際に、どれだけの力でねじったり、押したり、引いたりしているかを示す指標です。

トルクがtorque は、モーターまたはモーターグループが使用しているトルクの値を返します。

トルク値が高いほど、モーターまたはモーター群がより強い力で押したり引いたりしていることを意味します。これは、モーターまたはモーター群が重い物を持ち上げたり、物体に押し付けたり、動かなくなったものを動かそうとしたりする際に発生します。

これは、運動器官または運動群が負荷に苦労しているかどうかを確認したり、さまざまな動作にどれだけの力が必要かを比較したりするために使用できます。

モーターまたはモーターグループのトルクを設定するには、setMaxTorque を使用します。

Available Functions
double torque(
  torqueUnits units = Nm );

パラメータ

パラメータ

タイプ

説明

units

torqueUnits

モーターのトルクを表す単位:

  • Nm (デフォルト) — ニュートンメートル
  • InLb — インチポンド

戻り値

指定された単位で、モーターまたはモーターグループが使用しているトルクの量を表す double を返します。

注釈

  • motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの機械的出力トルクが返されます。

efficiency#

効率efficiency 、モーターまたはモーターグループが電力をどれだけ効率的に使用しているかを、0%から100%までのパーセンテージで返します。

効率とは、モーターまたはモーター群のパワーのうち、どれだけが動作に使われているかを示す指標です。効率の値が高いほど、モーターまたはモーター群のパワーがより多く動作に使われていることを意味します。効率の値が低いのは、モーターまたはモーター群が懸命に働いているにもかかわらず、あまり動いて​​いない場合、例えば、何かに引っかかって動けなくなったり、物体に押し付けられたりしている場合などです。

これは、動作を比較したり、モーターまたはモーター群が動作にエネルギーを使う代わりに無駄にエネルギーを浪費していないかを確認するために使用できます。

Available Functions
double efficiency(
  percentUnits units = percent );

パラメータ

パラメータ

タイプ

説明

units

percentUnits

モーター効率を表す単位:

  • percent / percentUnits::pct (デフォルト) — パーセント

戻り値

モーターまたはモーターグループが電力をどれだけ効率的に使用しているかをパーセンテージで表した、 double 倍精度浮動小数点数を返します。

注釈

  • motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの効率が返されます。

temperature#

temperature モーターまたはモーターグループの温度を返します。

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

モーターまたはモーター群が過熱すると、自身を保護するために最大電流が低下します。0 70°C、モーターは冷却されるまで動作を停止します。

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

Available Functions

1 — モーターまたはモーターグループの温度を、最大動作温度に対する割合として返します。

double temperature(
  percentUnits units = percent );

2 — モーターまたはモーターグループの温度を物理温度単位で返します。

double temperature(
  temperatureUnits units );

パラメータ

パラメータ

タイプ

説明

units

percentUnits

モーターまたはモーター群の温度をパーセントで表すために使用される単位:

  • percent / percentUnits::pct (デフォルト) — パーセント

units

temperatureUnits

運動器または運動器群の温度を表す単位(度):

  • celsius — 摂氏
  • fahrenheit — 華氏

戻り値

指定された単位で、モーターまたはモーターグループの温度を表す double double値を返します。

注釈

  • モーターの動作温度範囲は約 20°C (68°F) から 70°C (158°F ) です。

  • motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの温度が返されます。

voltage#

voltage モーターまたはモーターグループに供給される電気電圧を返します。

Available Functions
double voltage(
  voltageUnits units = volt );

パラメータ

パラメータ

タイプ

説明

units

voltageUnits

電圧を表す単位:

  • volt (デフォルト)
  • voltageUnits::mV — ミリボルト

戻り値

指定された単位で、モーターまたはモーターグループに供給される電圧を表す double (倍精度浮動小数点数)を返します。

注釈

  • motor_groupに対してこの関数を呼び出すと、グループ内の最初のモーターの電圧が返されます。

direction#

direction は、モーターまたはモーターグループが回転している方向を返します。

Available Functions
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 に接続されているかどうかを返します。

Available Functions
bool installed();

パラメータ

この関数は引数を取りません。

戻り値

モーターまたはモーターグループが接続されているかどうかを示すブール値 bool を返します。

  • true — The motor or motor group is connected.
  • false — The motor or motor group is not connected.

count#

count は、モーター グループ内のモーターの数を返します。

Available Functions
int32_t count();

パラメータ

この関数は引数を取りません。

戻り値

モーターグループ内のモーターの数を表す int32_t を返します。