汽车集团#

初始化 MotorGroup 类#

使用以下构造函数创建 EXP MotorGroup 对象:

电机组(电机1,电机2,...)

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

# Create 2 Motors, motor_1 and motor_2 in
# Ports 1 and 2 respectively. 
motor_1 = Motor(Ports.PORT1)
motor_2 = Motor(Ports.PORT2)
# Using the two previously created Motors, create a
# MotorGroup named motor_group_1.
motor_group_1 = MotorGroup(motor_1, motor_2)

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

类方法#

spin()#

spin(direction, speed, units) 方法用于使 MotorGroup 中的所有电机沿指定方向旋转,直到使用旋转或停止命令,或者项目停止。

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

参数

描述

方向

有效的 DirectionType

速度

可选。 MotorGroup 中电机的旋转速度。将使用 set_velocity() 方法设置的默认速度。

单位

**可选。**有效的 VelocityUnitPERCENT。默认值为 RPM

**返回:**无。

# Spin all Motors in motor_group_1 forward.
motor_group_1.spin(FORWARD)

spin_to_position()#

spin_to_position(rotation, units, speed, units_v, wait) 方法用于使用提供的参数将 MotorGroup 中的所有 Motors 旋转到绝对位置。

该函数可以是等待非等待命令,具体取决于wait参数是否设置为True

参数

描述

旋转

电机组中电机的旋转位置。

单位

**可选。**有效的 RotationUnit。默认值为 DEGREES

速度

**可选。**MotorGroup 中电机的旋转速度。将使用 set_velocity() 方法设置的默认速度。

单位

**可选。**有效的 VelocityUnitPERCENT。默认值为 RPM

等待

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

**返回:**无。

# Spin the Motors in motor_group_1 to the position 90
# degrees at 100 RPM.
motor_group_1.spin_to_position(90, DEGREES, 100, RPM)

spin_for()#

spin_for(direction, value, units, speed, units_v, wait) 方法用于使 MotorGroup 中的所有电机旋转指定的时长、圈数,或直到达到指定的编码器值。该位置相对于 MotorGroup 中电机的当前位置。

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

参数

描述

方向

有效的 DirectionType

价值

MotorGroup 中电机旋转的值。

单位

**可选。**有效的 RotationUnit。默认值为 DEGREES

速度

**可选。**MotorGroup 中电机的旋转速度。将使用 set_velocity() 方法设置的默认速度。

单位

**可选。**有效的 VelocityUnitPERCENT。默认值为 RPM

等待

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

**返回:**无。

# Spin the Motors in motor_group_1 forward for 10 turns
# at 100% velocity.
motor_group_1.spin_for(FORWARD, 10, TURNS, 100, PERCENT)

stop()#

stop(mode) 方法用于停止 MotorGroup 中的所有电机,将其速度设置为 0,并配置当前停止模式。

参数

描述

模式

**可选。**有效的 BrakeType。默认值为 COAST,除非之前使用 set_stopping() 方法进行了更改。

**返回:**无。

# Spin all Motors in motor_group_1 forward for 2.5 seconds.
motor_group_1.spin(FORWARD)

wait(2.5, SECONDS)

# Stop all Motos in motor_group_1 using the HOLD brake type.
motor_group_1.stop(HOLD)

count()#

count() 方法返回 MotorGroup 中的 Motors 数量。

返回: MotorGroup 中的 Motors 数量。

set_velocity()#

set_velocity(velocity, units) 方法用于设置 MotorGroup 中所有 Motors 的默认速度。如果未提供具体速度,则此速度设置将用于后续调用任何运动函数。

参数

描述

速度

为 MotorGroup 中的 Motors 设置的新速度。

单位

有效的 VelocityUnitPERCENT

**返回:**无。

# Spin the Motors in motor_group_1 forward at 75% velocity.
motor_group_1.set_velocity(75, PERCENT)

motor_group_1.spin(FORWARD)

set_stopping()#

set_stopping(mode) 方法用于设置 MotorGroup 中所有 Motors 的停止模式。

参数

描述

模式

有效的 BrakeType

**返回:**无。

reset_position()#

reset_position() 方法将 MotorGroup 中所有 Motors 的位置重置为 0。position() 方法返回的位置将更新为 0。

**返回:**无。

set_position()#

set_position(value, units) 方法用于设置 MotorGroup 中所有 Motor 的位置。position() 方法返回的位置将更新为该新值。

参数

描述

价值

为 MotorGroup 中的所有 Motors 设置的新位置。

单位

有效的 RotationUnit

**返回:**无。

set_timeout()#

set_timeout(value, units) 方法用于设置 MotorGroup 中所有 Motor 的超时时间。get_timeout() 方法返回的位置将更新为该新值。

参数

描述

价值

为 MotorGroup 中的所有 Motors 设置新的超时时间。

单位

**可选。**有效的 TimeUnit。默认值为 MSEC

**返回:**无。

is_spinning()#

is_spinning() 方法返回 spin_to_position()spin_for() 方法的当前状态。当任一命令中的 wait 参数为 False 时,使用此函数。

返回: 如果 MotorGroup 中有任何 Motor 仍在旋转,则返回 True。如果 MotorGroup 中的 Motors 已完成移动或发生超时,则返回 False

is_done()#

is_done() 方法返回 spin_to_position()spin_for() 方法的当前状态。当任一命令中的 wait 参数为 False 时,使用此函数。

返回: 如果 MotorGroup 中有任何 Motor 仍在旋转,则返回 True。如果 MotorGroup 中的 Motors 已完成移动或发生超时,则返回 False

set_max_torque()#

set_max_torque(value, units) 方法用于设置 MotorGroup 中所有 Motor 的最大扭矩。扭矩可以设置为扭矩单位、当前单位或最大扭矩的百分比。

参数

描述

价值

MotorGroup 中所有电机的新最大扭矩。

单位

有效的 TorqueUnitAMPPERCENT

**返回:**无。

direction()#

direction() 方法返回 MotorGroup 中第一个 Motor 的当前旋转方向。

**返回:**当前 DirectionType MotorGroup 中第一个电机正在旋转。

position()#

position(units) 方法返回 MotorGroup 中第一个 Motor 的当前位置。

参数

描述

单位

**可选。**有效的 RotationUnit。默认值为 DEGREES

返回: MotorGroup 中第一个 Motor 的当前位置(以指定的单位表示)。

velocity()#

velocity(units) 方法返回 MotorGroup 中第一个 Motor 的当前速度。

参数

描述

单位

**可选。**有效的 VelocityUnit。默认值为 RPM

返回: MotorGroup 中第一个 Motor 的当前速度(以指定单位表示)。

current()#

current(units) 方法返回 MotorGroup 中 Motors 使用的总电流。

参数

描述

单位

**可选。**电流的唯一有效单位是“AMP”或“PERCENT”。

返回: MotorGroup 中电机以指定单位所消耗的总电流。

power()#

power(units) 方法返回 MotorGroup 中第一个 Motor 提供的功率。

参数

描述

单位

可选。 功率的唯一有效单位是“瓦特”或“百分比”。

返回: MotorGroup 中第一个 Motor 以指定单位提供的功率。

torque()#

torque(units) 方法返回 MotorGroup 中第一个 Motor 提供的扭矩。

参数

描述

单位

**可选。**有效的 TorqueUnit。默认值为 NM

返回: MotorGroup 中第一个 Motor 以指定单位提供的扭矩。

efficiency()#

efficiency(units) 方法返回 MotorGroup 中第一个 Motor 的效率。

参数

描述

单位

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

返回: MotorGroup 中第一个 Motor 的效率百分比。

temperature()#

temp(units) 方法返回 MotorGroup 中第一个 Motor 的温度。

参数

描述

单位

**可选。**有效的 TemperatureUnit。默认值为 CELSIUS

返回: MotorGroup 中第一个 Motor 的指定单位的温度。