电机组#
初始化 motor_group 类#
使用以下构造函数创建 EXP motor_group 对象:
The motor_group
constructor creates a motor_group object.
您可以创建具有任意数量电机的 motor_group。
// Create 2 Motors, Motor1 and Motor2 in
// Ports 1 and 2 respectively.
Motor1 = motor(PORT1);
Motor1 = motor(PORT2);
// Using the two previously created Motors, create a
// motor_group named MotorGroup1.
motor_group MotorGroup1 = motor_group(Motor1, Motor2);
This MotorGroup1
object will be used in all subsequent examples throughout this API documentation when referring to MotorGroup class methods.
类方法#
spin()#
这是一个非等待功能,允许下一个命令无延迟运行。
该方法通过以下方式调用:
The spin(dir)
command is used to spin the Motors in the specified direction forever at the default velocity set by the setVelocity()
command, until a spin or stop command is used, or the project is stopped.
参数 |
描述 |
---|---|
目录 |
有效的 directionType。 |
**返回:**无。
// Spin MotorGroup1 forward.
MotorGroup1.spin(forward);
The spin(dir, velocity, units)
command is used to spin the Motors in the specified direction forever at a specified velocity, until a spin or stop command is used, or the project is stopped.
参数 |
描述 |
---|---|
目录 |
有效的 directionType。 |
速度 |
电机旋转的速度。 |
单位 |
A valid velocityUnit or |
**返回:**无。
// Spin MotorGroup1 forward at 100 rpm.
MotorGroup1.spin(forward, 100, rpm);
The spin(dir, voltage, units)
command is used to spin the Motors in the specified direction forever at a specified voltage until a spin or stop command is used, or the project is stopped.
参数 |
描述 |
---|---|
目录 |
有效的 directionType。 |
电压 |
电机旋转的电压。 |
单位 |
有效的 voltUnit。 |
**返回:**无。
// Spin MotorGroup1 forward at 100 millivolts.
MotorGroup1.spin(forward, 100, voltageUnits::mV);
spinToPosition()#
This function can be a waiting or non-waiting command depending on if the waitForCompletion
parameter is used.
该方法通过以下方式调用:
The spinToPosition(rotation, units, waitForCompletion)
command is used to spin the Motors to an absolute rotation in the specified units.
参数 |
描述 |
---|---|
旋转 |
电机旋转的位置。 |
单位 |
有效的 rotationUnit。 |
等待完成 |
Determines whether the command will block subsequent commands ( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 to the absolute position 1080 degrees.
MotorGroup1.spinToPosition(1080, degrees);
The spinToPosition(rotation, units, velocity, units_v, waitForCompletion)
command is used to spin the Motors to an absolute rotation in the specified units.
参数 |
描述 |
---|---|
旋转 |
电机旋转的位置。 |
单位 |
有效的 rotationUnit。 |
速度 |
电机旋转的速度。 |
单位 |
有效的 velocityUnit。 |
等待完成 |
Determines whether the command will block subsequent commands ( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 to the absolute position 1080 degrees
// at 100 percent velocity.
MotorGroup1.spinToPosition(1080, degrees, 100, velocityUnits::pct);
spinFor()#
This can be a waiting or non-waiting command depending on if the waitForCompletion
parameter is used.
该方法通过以下方式调用:
The spinFor(time, units)
command is used to spin the Motors for a specified duration.
参数 |
描述 |
---|---|
时间 |
电机旋转的时间。 |
单位 |
有效的 timeUnit。 |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 for 10 seconds
MotorGroup1.spinFor(10, seconds);
The spinFor(dir, time, units)
command is used to spin the Motors for a specified duration in a specified direction.
参数 |
描述 |
---|---|
目录 |
有效的 directionType。 |
时间 |
电机旋转的时间。 |
单位 |
有效的 timeUnit。 |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 forward for 10 seconds
MotorGroup1.spinFor(forward, 10, seconds);
The spinFor(time, units, velocity, units_v)
command is used to spin the Motors for a specified duration at a specified velocity.
参数 |
描述 |
---|---|
时间 |
电机旋转的时间。 |
单位 |
有效的 timeUnit。 |
速度 |
电机旋转的速度。 |
单位 |
有效的 velocityUnit。 |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 for 10 seconds at 100 rpm.
MotorGroup1.spinFor(10, seconds, 100, rpm);
The spinFor(dir, time, units, velocity, units_v)
command is used to spin the Motors for a specified duration at a specified velocity in a specified direction.
参数 |
描述 |
---|---|
目录 |
有效的 directionType。 |
时间 |
电机旋转的时间。 |
单位 |
有效的 timeUnit。 |
速度 |
电机旋转的速度。 |
单位 |
有效的 velocityUnit。 |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 forward for 10 seconds at 100 rpm.
MotorGroup1.spinFor(forward, 10, seconds, 100, rpm);
The spinFor(rotation, units, waitForCompletion)
command is used to spin the Motors for a specific rotation. The rotation is relative to the current rotation of the Motor.
参数 |
描述 |
---|---|
旋转 |
电机旋转的旋转值。 |
单位 |
有效的 rotationUnit。 |
等待完成 |
Determines whether the command will block subsequent commands ( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 for 1000 degrees.
MotorGroup1.spinFor(1000, degrees);
The spinFor(dir, rotation, units, waitForCompletion)
command is used to spin the Motors for a specific rotation in a specific direction. The rotation is relative to the current rotation of the Motor.
参数 |
描述 |
---|---|
目录 |
有效的 directionType。 |
旋转 |
电机旋转的旋转值。 |
单位 |
有效的 rotationUnit。 |
等待完成 |
Determines whether the command will block subsequent commands ( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 forward for 1000 degrees.
MotorGroup1.spinFor(forward, 1000, degrees);
The spinFor(rotation, units, velocity, units_v, waitForCompletion)
command is used to spin the Motors for a specific rotation. The rotation is relative to the current rotation of the Motor.
参数 |
描述 |
---|---|
旋转 |
电机旋转的旋转值。 |
单位 |
有效的 rotationUnit。 |
速度 |
电机旋转的速度。 |
单位 |
有效的 velocityUnit。 |
等待完成 |
Determines whether the command will block subsequent commands ( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 for 1000 degrees at 25 rpm.
MotorGroup1.spinFor(1000, degrees, 25, rpm);
The spinFor(dir, rotation, units, velocity, units_v, waitForCompletion)
command is used to spin the Motors for a specific rotation in a specific direction. The rotation is relative to the current rotation of the Motor.
参数 |
描述 |
---|---|
目录 |
有效的 directionType。 |
旋转 |
电机旋转的旋转值。 |
单位 |
有效的 rotationUnit。 |
速度 |
电机旋转的速度。 |
单位 |
有效的 velocityUnit。 |
等待完成 |
Determines whether the command will block subsequent commands ( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 forard for 1000 degrees at 25 rpm.
MotorGroup1.spinFor(forward, 1000, degrees, 25, rpm);
stop()#
这是一个非等待命令,允许下一个命令无延迟运行。
该方法通过以下方式调用:
The stop()
command is used to stop the Motors, setting them to 0 velocity and configuring the current stopping mode. The default Brake Type is coast
, unless previously changed using the setStopping()
command.
**返回:**无。
// Spin MotorGroup1 for 2.5 seconds.
MotorGroup1.spin(forward);
wait(2.5 seconds);
// Stop MotorGroup1.
MotorGroup1.stop();
The stop(mode)
command is used to stop the Motors using a specific Brake Type.
参数 |
描述 |
---|---|
模式 |
有效的 brakeType。 |
**返回:**无。
// Spin MotorGroup1 for 2.5 seconds.
MotorGroup1.spin(forward);
wait(2.5 seconds);
// Stop MotorGroup1 using the hold Brake Type.
MotorGroup1.stop(hold);
count()#
The count()
command returns the number of Motors in a Motor Group.
**返回:**电机组中电机的数量。
setVelocity()#
The setVelocity(velocity, units)
command is used to set the default velocity for the Motors. This velocity setting will be used for subsequent calls to any motion functions if a specific velocity is not provided.
参数 |
描述 |
---|---|
速度 |
为电机设置的新速度。 |
单位 |
A valid velocityUnit or |
**返回:**无。
setStopping()#
The setStopping(mode)
command is used to set the stopping mode for the Motors. This will be the stopping mode used when the stop()
command is called without specifying a brakeType.
参数 |
描述 |
---|---|
模式 |
有效的 brakeType。 |
**返回:**无。
resetPosition()#
The resetPosition()
command resets the value of all Motor encoders to 0.
**返回:**无。
setPosition()#
The setPosition(value, units)
command is used to set the value of all Motor encoders to a specified value. The position that is returned by the position()
command will be updated to this new value.
参数 |
描述 |
---|---|
价值 |
为所有电机编码器设置的新值。 |
单位 |
有效的 rotationUnit。 |
**返回:**无。
setTimeout()#
The setTimeout(value, units)
command is used to set the timeout for Motor Group commands. If a Motor does not reach its’ commanded position prior to the completion of the timeout, the Motors will stop.
参数 |
描述 |
---|---|
价值 |
为电机设置的新超时。 |
单位 |
有效的 timeUnit。 |
**返回:**无。
isSpinning()#
The isSpinning()
command returns if any Motor is currently rotating to a specific target.
Returns: true
if any Motor is on and is rotating to a target. false
if all Motors are done rotating to a target.
isDone()#
The isDone()
command returns if all Motors are done rotating to a specific target.
Returns: true
if all Motors are done rotating to a target. false
if any Motor is on and rotating to a target.
setMaxTorque()#
该方法通过以下方式调用:
The setMaxTorque(value, units)
command is used to set the maximum torque for the Motors in torqueUnits.
参数 |
描述 |
---|---|
价值 |
电机的新最大扭矩。 |
单位 |
有效的 torqueUnit。 |
**返回:**无。
// Set maximum torque to 2 Newton Meters.
MotorGroup1.set_max_torque(2, Nm);
The setMaxTorque(value, units)
command is used to set the maximum torque for the Motors in currentUnits.
参数 |
描述 |
---|---|
价值 |
电机的新最大扭矩。 |
单位 |
The only valid unit is |
**返回:**无。
// Set maximum torque to ,05 amps.
MotorGroup1.set_max_torque(.05, amp);
The setMaxTorque(value, units)
command is used to set the maximum torque for a Motor as a percentage.
参数 |
描述 |
---|---|
价值 |
电机的新最大扭矩。 |
单位 |
The only valid unit is |
**返回:**无。
// Set maximum torque to 75 percent.
MotorGroup1.set_max_torque(75, percent);
convertVelocity()#
The convertVelocity(velocity, units, unitsout)
command converts the velocity in the given units to the given output units based on the Motor gearing of the first Motor in the Group.
参数 |
描述 |
---|---|
速度 |
转换的速度。 |
单位 |
输入速度的有效 velocityUnit。 |
单位输出 |
输出速度的有效 velocityUnit。 |
**返回:**表示转换为指定输出单位的速度的双精度数。
getMotorCartridge()#
The getMotorCartridge()
command returns the gear cartridge setting for the first Motor in the Group.
**返回:**电机的齿轮筒设置。
direction()#
The direction()
command returns the current direction the first Motor in the Group is spinning in as a directionType.
返回: directionType 值,表示组中第一个电机当前旋转的方向。
position()#
The position(units)
command returns the current rotation of the first Motor in the Group.
参数 |
描述 |
---|---|
单位 |
有效的 rotationUnit。 |
返回: 一个双精度值,表示组中第一个电机以指定单位的当前旋转速度。
velocity()#
The velocity(units)
command returns the current velocity of the first Motor in the Group.
参数 |
描述 |
---|---|
单位 |
A valid velocityUnit or |
**返回:**以指定单位表示组中第一个电机的当前速度的双精度值。
current()#
The current(units)
command returns the current being used by the first Motor in the Group.
参数 |
描述 |
---|---|
单位 |
The only valid units for current are |
**返回:**一个双精度数,表示组中第一个电机以指定单位所消耗的电流。
voltage()#
The voltage(units)
command returns the voltage of the first Motor in the Group.
参数 |
描述 |
---|---|
单位 |
A valid voltageUnit. The default is |
**返回:**以指定单位表示组中第一个电机的电压的双精度值。
power()#
The power(units)
command returns the power being consumed by the first Motor in the Group.
参数 |
描述 |
---|---|
单位 |
The only valid unit for power is |
**返回:**以指定单位表示组中第一个电机的当前功率的双精度值。
torque()#
The torque(units)
command returns the torque of the first Motor in the Group.
参数 |
描述 |
---|---|
单位 |
有效的 torqueUnit。 |
**返回:**组中第一个电机的指定单位的扭矩。
efficiency()#
The efficiency(units)
command returns the efficiency of the first Motor in the Group.
参数 |
描述 |
---|---|
单位 |
The only valid unit for efficiency is |
**返回:**组中第一个电机的效率百分比。
temperature()#
The temperature(units)
command returns the current temperature of the first Motor in the Group.
参数 |
描述 |
---|---|
单位 |
A valid temperatureUnit or |
**返回:**组中第一个电机的当前温度(以指定单位表示)。