电机组#
初始化 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。 |
速度 |
电机旋转的速度。 |
单位 |
有效的 velocityUnit 或 |
**返回:**无。
// 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。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 to the absolute position 1080 degrees.
MotorGroup1.spinToPosition(1080, degrees);
spinToPosition(rotation, units, speed, units_v, waitForCompletion)
命令用于使电机以指定的单位旋转到绝对旋转。
参数 |
描述 |
---|---|
旋转 |
电机旋转的位置。 |
单位 |
有效的 rotationUnit。 |
速度 |
电机旋转的速度。 |
单位 |
有效的 velocityUnit。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// 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。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 for 1000 degrees.
MotorGroup1.spinFor(1000, degrees);
spinFor(dir, rotation, units, waitForCompletion)
命令用于使电机沿特定方向旋转指定的角度。该旋转相对于电机的当前旋转。
参数 |
描述 |
---|---|
目录 |
有效的 directionType。 |
旋转 |
电机旋转的旋转值。 |
单位 |
有效的 rotationUnit。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin MotorGroup1 forward for 1000 degrees.
MotorGroup1.spinFor(forward, 1000, degrees);
spinFor(rotation, units, speed, units_v, waitForCompletion)
命令用于使电机旋转指定的角度。该角度相对于电机的当前角度。
参数 |
描述 |
---|---|
旋转 |
电机旋转的旋转值。 |
单位 |
有效的 rotationUnit。 |
速度 |
电机旋转的速度。 |
单位 |
有效的 velocityUnit。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// 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。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// 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)
命令用于设置电机的默认速度。如果未提供具体速度,则此速度设置将用于后续调用任何运动函数。
参数 |
描述 |
---|---|
速度 |
为电机设置的新速度。 |
单位 |
有效的 velocityUnit 或 |
**返回:**无。
设置停止()#
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)
命令返回组中第一个电机的当前速度。
参数 |
描述 |
---|---|
单位 |
有效的 velocityUnit 或 |
**返回:**以指定单位表示组中第一个电机的当前速度的双精度值。
当前的()#
current(units)
命令返回组中第一个电机使用的电流。
参数 |
描述 |
---|---|
单位 |
电流的唯一有效单位是“安培”或“百分比”。 |
**返回:**一个双精度数,表示组中第一个电机以指定单位所消耗的电流。
电压()#
volt(units)
命令返回组中第一个电机使用的电压。
参数 |
描述 |
---|---|
单位 |
电压的唯一有效单位是“伏特”。 |
**返回:**表示组中第一个电机电压的双精度值。
力量()#
power(units)
命令返回组中第一个电机消耗的功率。
参数 |
描述 |
---|---|
单位 |
功率的唯一有效单位是“瓦特”。 |
**返回:**以指定单位表示组中第一个电机的当前功率的双精度值。
扭矩()#
torque(units)
命令返回组中第一个电机的扭矩。
参数 |
描述 |
---|---|
单位 |
有效的 torqueUnit。 |
**返回:**组中第一个电机的指定单位的扭矩。
效率()#
efficiency(units)
命令返回组中第一个电机的效率。
参数 |
描述 |
---|---|
单位 |
效率的唯一有效单位是“百分比”。 |
**返回:**组中第一个电机的效率百分比。
温度()#
temp(units)
命令返回组中第一个电机的温度。
参数 |
描述 |
---|---|
单位 |
有效的 温度单位 或“百分比”。 |
**返回:**组中第一个电机的温度。