发动机#

初始化电机类#

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

Motor(port, gears, reverse)

此构造函数最多接受三个参数。

范围

描述

port

电机连接到 EXP Brain 上的 端口

gears

Optional. Sets the gear setting installed in the Motor, the default is GearSetting.RATIO_18_1.

reverse

Optional. Sets whether the Motor’s spin should be reversed, the default is False.

# Construct a Motor object named motor_1 in Port 1 on 
# the EXP Brain which has the reverse flag set to True.
motor_1 = Motor(Ports.PORT1, True)

This motor_1 object will be used in all subsequent examples throughout this API documentation when referring to Motor class methods.

类方法#

spin()#

The spin(direction, velocity, units) method is used to spin a Motor in the specified direction until a spin or stop command is used, or the project is stopped.

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

参数

描述

direction

A valid DirectionType.

velocity

Optional. The velocity at which the Motor will spin. The default velocity set by the motor_1.set_velocity() command will be used.

units

Optional. A valid VelocityUnit or PERCENT. The default is RPM.

**返回:**无。

# Spin motor_1 forward.
motor_1.spin(FORWARD)

spin_to_position()#

The spin_to_position(rotation, units, velocity, units_v, wait) method is used to spin a Motor to an absolute position using the provided arguments.

This function can be a waiting or non-waiting command depending on if the wait parameter is set to True.

参数

描述

rotation

电机旋转的位置。

units

Optional. A valid RotationUnit. The default is DEGREES.

velocity

Optional. The velocity with which the Motor will spin. The default velocity set by the motor_1.set_velocity() command will be used.

units_v

Optional. A valid VelocityUnit or PERCENT. The default is RPM.

wait

Optional. Determines whether the command will block subsequent commands (wait=True) or allow immediate execution (wait=False). If unspecified, the default for The wait parameter is wait=True.

**返回:**无。

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

spin_for()#

The spin_for(direction, value, units, velocity, units_v, wait) method is used to spin the Motor for a specific duration, rotations, or until a specific encoder value is reached. The position is relative to the current position of the Motor.

This can be a waiting or non-waiting command depending on if the wait parameter is used.

参数

描述

direction

A valid DirectionType.

value

电机旋转的值。

units

Optional. A valid RotationUnit. The default is DEGREES.

velocity

Optional. The velocity with which the Motor will spin. The default velocity set by the motor_1.set_velocity() command will be used.

units_v

Optional. A valid VelocityUnit or PERCENT. The default is RPM.

wait

Optional. Determines whether the command will block subsequent commands (wait=True) or allow immediate execution (wait=False). If unspecified, the default for The wait parameter is wait=True.

**返回:**无。

# Spin motor_1 forward for 10 turns at 100 percent velocity.
motor_1.spin_for(FORWARD, 10, TURNS, 100, PERCENT)

stop()#

The stop(mode) method is used to stop a Motor, setting them to 0 velocity and configuring the current stopping mode.

参数

描述

mode

Optional. A valid BrakeType. The default is COAST, unless previously changed using the motor_1.set_stopping() command.

**返回:**无。

# Spin motor_1 forward for 2.5 seconds.
motor_1.spin(FORWARD)

wait(2.5, SECONDS)

# Stop motor_1 using the HOLD brake type.
motor_1.stop(HOLD)

set_velocity()#

The set_velocity(velocity, units) method is used to set the default velocity for a Motor. This velocity setting will be used for subsequent calls to any motion functions if a specific velocity is not provided.

参数

描述

velocity

为电机设置的新速度。

units

A valid VelocityUnit or PERCENT.

**返回:**无。

# Spin motor_1 forward at 75 percent velocity
motor_1.set_velocity(75, PERCENT)

motor_1.spin(FORWARD)

set_reversed()#

The set_reversed(value) method sets the Motor direction to be reversed. This command works the same as setting the reverse parameter to True when constructing a Motor.

参数

描述

value

布尔值来设置方向是否反转。

**返回:**无。

set_stopping()#

The set_stopping(mode) method is used to set the stopping mode for a Motor.

参数

描述

mode

A valid BrakeType.

**返回:**无。

reset_position()#

The reset_position() method resets the Motor position to 0. The position that is returned by the motor_1.position() function will be updated to 0.

**返回:**无。

set_position()#

The set_position(value, units) method is used to set the position of a Motor. The position that is returned by the motor_1.position() function will be updated to this new value.

参数

描述

value

为电机设置的新位置。

units

A valid RotationUnit.

**返回:**无。

set_timeout()#

The set_timeout(value, units) method is used to set the timeout for a Motor. The position that is returned by the motor_1.get_timeout() function will be updated to this new value.

参数

描述

value

为电机设置的新超时。

units

Optional. A valid TimeUnit. The default is MSEC.

**返回:**无。

get_timeout()#

The get_timeout() method returns the current timeout for a Motor.

**返回:**当前超时值(以毫秒为单位)。

is_spinning()#

The is_spinning() method returns the current status of the motor_1.spin_to_position() or motor_1.spin_for() commands. This function is used when False has been passed as the wait parameter in either command.

Returns: True if the Motor is still spinning. False if the Motor has completed the move or a timeout has occurred.

is_done()#

The is_done() method returns the current status of the motor_1.spin_to_position() or motor_1.spin_for() commands. This function is used when False has been passed as the wait parameter in either command.

Returns: True if the Motor is still spinning. False if the Motor has completed the move or a timeout has occurred.

set_max_torque()#

The set_max_torque(value, units) method is used to set the maximum torque for a Motor. The torque can be set as torque, current, or a percent of maximum torque.

参数

描述

value

电机的新最大扭矩。

units

A valid TorqueUnit, AMP, or PERCENT.

**返回:**无。

direction()#

The direction() method returns the current direction the Motor is spinning in.

Returns: The current DirectionType the Motor is spinning in.

position()#

The position(units) method returns the current position of the Motor.

参数

描述

units

Optional. A valid RotationUnit. The default is DEGREES.

返回: 以指定单位表示的电机当前位置。

velocity()#

The velocity(units) method returns the current velocity of the Motor.

参数

描述

units

Optional. A valid VelocityUnit. The default is RPM.

**返回:**以指定单位表示的电机当前速度。

current()#

The current(units) method returns the current being used by the Motor.

参数

描述

units

Optional. The only valid units for current are AMP or PERCENT.

返回: 电机以指定单位吸收的电流。

power()#

The power(units) method returns the power being consumed by the Motor.

参数

描述

units

Optional. The only valid units for power are WATT or PERCENT.

**返回:**电机以指定单位消耗的功率。

torque()#

The torque(units) method returns the torque being generated by the Motor.

参数

描述

units

Optional. A valid TorqueUnit. The default is NM.

返回: 电机以指定单位产生的扭矩。

efficiency()#

The efficiency(units) method returns the efficiency of the Motor.

参数

描述

units

Optional. The only valid unit for efficiency is PERCENT.

**返回:**电机效率的百分比。

temperature()#

The temperature(units) method returns the temperature of the Motor.

参数

描述

units

Optional. A valid TemperatureUnit. The default is CELSIUS.

**返回:**以指定单位表示的电机温度。

command()#

The command(units) method returns the last velocity sent to the Motor.

参数

描述

units

Optional. A valid VelocityUnit. The default is RPM.

**返回:**以指定单位表示的电机指令速度。

installed()#

The installed() method returns if the Motor is connected to the EXP Brain.

Returns: True if the Motor is connected. False if it is not.

timestamp()#

The timestamp() method returns the timestamp of the last received status packet from the Motor.

**返回:**最后接收的状态包的时间戳(以毫秒为单位)。