发动机#

初始化电机类#

使用以下构造函数创建 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.

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

参数

描述

方向

有效的 DirectionType

速度

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

单位

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.

参数

描述

旋转

电机旋转的位置。

单位

Optional. A valid RotationUnit. The default is DEGREES.

速度

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

单位

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

等待

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.

参数

描述

方向

有效的 DirectionType

价值

电机旋转的值。

单位

Optional. A valid RotationUnit. The default is DEGREES.

速度

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

单位

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

等待

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.

参数

描述

模式

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.

参数

描述

速度

为电机设置的新速度。

单位

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.

参数

描述

价值

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

**返回:**无。

set_stopping()#

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

参数

描述

模式

有效的 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.

参数

描述

价值

为电机设置的新位置。

单位

有效的 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.

参数

描述

价值

为电机设置的新超时。

单位

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.

参数

描述

价值

电机的新最大扭矩。

单位

A valid TorqueUnit, AMP, or PERCENT.

**返回:**无。

direction()#

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

返回: 电机当前旋转的 DirectionType

position()#

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

参数

描述

单位

Optional. A valid RotationUnit. The default is DEGREES.

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

velocity()#

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

参数

描述

单位

Optional. A valid VelocityUnit. The default is RPM.

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

current()#

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

参数

描述

单位

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

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

power()#

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

参数

描述

单位

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

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

torque()#

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

参数

描述

单位

Optional. A valid TorqueUnit. The default is NM.

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

efficiency()#

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

参数

描述

单位

Optional. The only valid unit for efficiency is PERCENT.

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

temperature()#

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

参数

描述

单位

Optional. A valid TemperatureUnit. The default is CELSIUS.

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

command()#

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

参数

描述

单位

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.

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