电机组#

初始化 motor_group 类#

使用以下构造函数创建 IQ(第二代)motor_group 对象:

motor_group 构造函数创建一个 motor_group 对象。

您可以创建具有任意数量电机的 motor_group。

// Create 2 Motors, Motor1 and Motor2 in
// Ports 1 and 2 respectively. 
motor Motor1 = motor(PORT1);
motor Motor1 = motor(PORT2);
// Using the two previously created Motors, create a
// motor_group named MotorGroup1.
motor_group MotorGroup1 = motor_group(Motor1, Motor2);

当引用 MotorGroup 类方法时,此“MotorGroup1”对象将在本 API 文档的所有后续示例中使用。

类方法#

旋转()#

这是一个非等待功能,允许下一个命令无延迟运行。

该方法通过以下方式调用:

spin(dir) 命令用于使电机按照 setVelocity() 命令设置的默认速度沿指定方向永久旋转,直到使用旋转或停止命令,或者项目停止。

参数

描述

目录

有效的 directionType

**返回:**无。

// Spin MotorGroup1 forward.
MotorGroup1.spin(forward);

spin(dir, speed, units) 命令用于使电机以指定的速度永远沿指定方向旋转,直到使用旋转或停止命令,或者项目停止。

参数

描述

目录

有效的 directionType

速度

电机旋转的速度。

单位

有效的 velocityUnitpercent

**返回:**无。

// Spin MotorGroup1 forward at 100 rpm.
MotorGroup1.spin(forward, 100, rpm);

spin(dir, Voltage, Units) 命令用于使电机在指定的方向和指定的电压下永远旋转,直到使用旋转或停止命令,或者项目停止。

参数

描述

目录

有效的 directionType

电压

电机旋转的电压。

单位

有效的 voltUnit

**返回:**无。

// Spin MotorGroup1 forward at 100 volts.
MotorGroup1.spin(forward, 100, volt);

旋转到位置()#

该函数可以是等待非等待命令,具体取决于是否使用了“wait”参数。

该方法通过以下方式调用:

spinToPosition(rotation, units, waitForCompletion) 命令用于使电机以指定的单位旋转到绝对旋转。

参数

描述

旋转

电机旋转的位置。

单位

有效的 rotationUnit

等待完成

确定命令是否阻止后续命令(wait=true)或允许立即执行(wait=false)。如果未指定,则 wait 参数的默认值为 wait=true

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin MotorGroup1 to the absolute position 1080 degrees.
MotorGroup1.spinToPosition(1080, degrees);

spinToPosition(rotation, units, speed, units_v, waitForCompletion) 命令用于使电机以指定的单位旋转到绝对旋转。

参数

描述

旋转

电机旋转的位置。

单位

有效的 rotationUnit

速度

电机旋转的速度。

单位

有效的 velocityUnit

等待完成

确定命令是否阻止后续命令(wait=true)或允许立即执行(wait=false)。如果未指定,则 wait 参数的默认值为 wait=true

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin MotorGroup1 to the absolute position 1080 degrees 
// at 100 percent velocity.
MotorGroup1.spinToPosition(1080, degrees, 100,::pct);

spinFor()#

这可以是等待非等待命令,取决于是否使用了“wait”参数。

该方法通过以下方式调用:

spinFor(time, units) 命令用于使电机旋转指定的时间。

参数

描述

时间

电机旋转的时间。

单位

有效的 timeUnit

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin MotorGroup1 for 10 seconds
MotorGroup1.spinFor(10, seconds);

spinFor(dir, time, units) 命令用于使电机沿指定方向旋转指定时间。

参数

描述

目录

有效的 directionType

时间

电机旋转的时间。

单位

有效的 timeUnit

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin MotorGroup1 forward for 10 seconds
MotorGroup1.spinFor(forward, 10, seconds);

spinFor(time, units, speed, units_v) 命令用于使电机以指定的速度旋转指定的时间。

参数

描述

时间

电机旋转的时间。

单位

有效的 timeUnit

速度

电机旋转的速度。

单位

有效的 velocityUnit

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin MotorGroup1 for 10 seconds at 100 rpm.
MotorGroup1.spinFor(10, seconds, 100, rpm);

spinFor(dir, time, units, speed, units_v) 命令用于使电机以指定速度朝指定方向旋转指定时间。

参数

描述

目录

有效的 directionType

时间

电机旋转的时间。

单位

有效的 timeUnit

速度

电机旋转的速度。

单位

有效的 velocityUnit

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin MotorGroup1 forward for 10 seconds at 100 rpm.
MotorGroup1.spinFor(forward, 10, seconds, 100, rpm);

spinFor(rotation, units, waitForCompletion) 命令用于使电机旋转指定的角度。该角度相对于电机的当前角度。

参数

描述

旋转

电机旋转的旋转值。

单位

有效的 rotationUnit

等待完成

确定命令是否阻止后续命令(wait=true)或允许立即执行(wait=false)。如果未指定,则 wait 参数的默认值为 wait=true

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin MotorGroup1 for 1000 degrees.
MotorGroup1.spinFor(1000, degrees);

spinFor(dir, rotation, units, waitForCompletion) 命令用于使电机沿特定方向旋转指定的角度。该旋转相对于电机的当前旋转。

参数

描述

目录

有效的 directionType

旋转

电机旋转的旋转值。

单位

有效的 rotationUnit

等待完成

确定命令是否阻止后续命令(wait=true)或允许立即执行(wait=false)。如果未指定,则 wait 参数的默认值为 wait=true

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin MotorGroup1 forward for 1000 degrees.
MotorGroup1.spinFor(forward, 1000, degrees);

spinFor(rotation, units, speed, units_v, waitForCompletion) 命令用于使电机旋转指定的角度。该角度相对于电机的当前角度。

参数

描述

旋转

电机旋转的旋转值。

单位

有效的 rotationUnit

速度

电机旋转的速度。

单位

有效的 velocityUnit

等待完成

确定命令是否阻止后续命令(wait=true)或允许立即执行(wait=false)。如果未指定,则 wait 参数的默认值为 wait=true

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin MotorGroup1 for 1000 degrees at 25 rpm.
MotorGroup1.spinFor(1000, degrees, 25, rpm);

spinFor(dir, rotation, units, speed, units_v, waitForCompletion) 命令用于使电机沿特定方向旋转指定的角度。该旋转相对于电机的当前旋转。

参数

描述

目录

有效的 directionType

旋转

电机旋转的旋转值。

单位

有效的 rotationUnit

速度

电机旋转的速度。

单位

有效的 velocityUnit

等待完成

确定命令是否阻止后续命令(wait=true)或允许立即执行(wait=false)。如果未指定,则 wait 参数的默认值为 wait=true

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin MotorGroup1 forard for 1000 degrees at 25 rpm.
MotorGroup1.spinFor(forward, 1000, degrees, 25, rpm);

停止()#

这是一个非等待命令,允许下一个命令无延迟运行。

该方法通过以下方式调用:

stop() 命令用于停止电机,将其速度设置为 0,并配置当前的停止模式。默认制动类型为“滑行”,除非之前使用 setStopping() 命令进行了更改。

**返回:**无。

// Spin MotorGroup1 for 2.5 seconds.
MotorGroup1.spin(forward);

wait(2.5 seconds);

// Stop MotorGroup1.
MotorGroup1.stop();

stop(mode) 命令用于使用特定制动类型停止电机。

参数

描述

模式

有效的 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() 命令返回电机组中电机的数量。

**返回:**电机组中电机的数量。

设置速度()#

setVelocity(velocity, units) 命令用于设置电机的默认速度。如果未提供具体速度,则此速度设置将用于后续调用任何运动函数。

参数

描述

速度

为电机设置的新速度。

单位

有效的 velocityUnitpercent

**返回:**无。

设置停止()#

setStopping(mode) 命令用于设置电机的停止模式。当调用 stop() 命令时,如果未指定 brakeType,则将使用这个停止模式。

参数

描述

模式

有效的 brakeType

**返回:**无。

重置位置()#

resetPosition() 命令将所有电机编码器的值重置为 0。

**返回:**无。

设置位置()#

setPosition(value, units) 命令用于将所有电机编码器的值设置为指定值。position() 命令返回的位置将更新为该新值。

参数

描述

价值

为所有电机编码器设置的新值。

单位

有效的 rotationUnit

**返回:**无。

设置超时()#

setTimeout(value, units) 命令用于设置电机组命令的超时时间。如果电机在超时时间结束前未到达其指令位置,则电机将停止。

参数

描述

价值

为电机设置的新超时。

单位

有效的 timeUnit

**返回:**无。

正在旋转()#

isSpinning() 命令返回是否有任何电机当前正在旋转到特定目标。

**返回:**如果任何电机已打开并正在旋转至目标,则返回 true。如果所有电机都已旋转至目标,则返回 false

完成()#

如果所有电机都已旋转至特定目标,则 isDone() 命令将返回。

**返回:**如果所有电机都已旋转至目标,则返回“true”。如果有任何电机开启并旋转至目标,则返回“false”。

设置最大扭矩()#

该方法通过以下方式调用:

setMaxTorque(value, units) 命令用于设置电机的最大扭矩(以扭矩单位为单位)。

参数

描述

价值

电机的新最大扭矩。

单位

有效的 torqueUnit

**返回:**无。

// Set maximum torque to 2 Newton Meters.
MotorGroup1.set_max_torque(2, Nm);

setMaxTorque(value, units) 命令用于设置电机的最大扭矩(以 currentUnits 为单位)。

参数

描述

价值

电机的新最大扭矩。

单位

唯一有效的单位是“amp”。

**返回:**无。

// Set maximum torque to ,05 amps.
MotorGroup1.set_max_torque(.05, amp);

setMaxTorque(value, units) 命令用于以百分比形式设置电机的最大扭矩。

参数

描述

价值

电机的新最大扭矩。

单位

唯一有效的单位是“百分比”。

**返回:**无。

// Set maximum torque to 75 percent.
MotorGroup1.set_max_torque(75, percent);

方向()#

direction() 命令将组中第一个电机的当前旋转方向作为 directionType 返回。

返回: directionType 值,表示组中第一个电机当前旋转的方向。

位置()#

position(units) 命令返回组中第一个电机的当前旋转。

参数

描述

单位

有效的 rotationUnit

返回: 一个双精度值,表示组中第一个电机以指定单位的当前旋转速度。

速度()#

velocity(units) 命令返回组中第一个电机的当前速度。

参数

描述

单位

有效的 velocityUnitpercent

**返回:**以指定单位表示组中第一个电机的当前速度的双精度值。

当前的()#

current(units) 命令返回组中第一个电机使用的电流。

参数

描述

单位

电流的唯一有效单位是“安培”或“百分比”。

**返回:**一个双精度数,表示组中第一个电机以指定单位所消耗的电流。

电压()#

volt(units) 命令返回组中第一个电机使用的电压。

参数

描述

单位

电压的唯一有效单位是“伏特”。

**返回:**表示组中第一个电机电压的双精度值。

力量()#

power(units) 命令返回组中第一个电机消耗的功率。

参数

描述

单位

功率的唯一有效单位是“瓦特”。

**返回:**以指定单位表示组中第一个电机的当前功率的双精度值。

扭矩()#

torque(units) 命令返回组中第一个电机的扭矩。

参数

描述

单位

有效的 torqueUnit

**返回:**组中第一个电机的指定单位的扭矩。

效率()#

efficiency(units) 命令返回组中第一个电机的效率。

参数

描述

单位

效率的唯一有效单位是“百分比”。

**返回:**组中第一个电机的效率百分比。

温度()#

temp(units) 命令返回组中第一个电机的温度。

参数

描述

单位

有效的 温度单位 或“百分比”。

**返回:**组中第一个电机的温度。