机器人专用 Python#

所有标准 VEXcode VR 命令均可在VIQRC 虚拟技能 - 快速接力游乐场中使用。

运动#

电机.旋转()#

motor.spin(direction) 命令用于无限旋转电机。

这是一个非等待命令,允许任何后续命令无延迟地执行。

要使用此命令,请将“motor”替换为所需的电机或电机组,例如:“intake_motor.spin(direction)”。

对象

描述

进气电机

旋转 Swish 的进气口来收集球并将它们放在弹射器上。

弹射器组

升高或降低 Swish 的弹射器来发射球。

参数

描述

方向

电机转动的方向:“前进”或“后退”。

**返回:**无。

# Spin the Intake Motor to bring a Ball onto the Catapult.
intake_motor.spin(FORWARD)

wait(2, SECONDS)
intake_motor.stop

电机.spin_for()#

motor.spin_for(direction, distance, units, wait) 命令用于使电机旋转给定的度数或圈数。

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

要使用此命令,请将“motor”替换为所需的电机或电机组,例如:“intake_motor.spin_for(direction, distance, units, wait)”。

对象

描述

进气电机

旋转 Swish 的进气口来收集球并将它们放在弹射器上。

弹射器组

升高或降低 Swish 的弹射器来发射球。

参数

描述

方向

电机转动的方向:“前进”或“后退”。

距离

电机移动的距离,为整数。

单位

电机将使用的单位:“度”或“圈”。

等待

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

**返回:**无。

# Launch the Ball currently loaded on the Catapult.
catapult_group.spin_for(REVERSE, 5, DEGREES)

# Lower the Catapult to prepare to load another Ball.
catapult_group.spin_for(FORWARD, 1350, DEGREES)

电机.旋转到位置()#

motor.spin_to(angle, unit, wait) 命令用于将电机旋转到给定位置。

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

要使用此命令,请将“motor”替换为所需的电机或电机组,例如:“intake_motor.spin_for(angle, unit, wait)”。

对象

描述

进气电机

旋转 Swish 的进气口来收集球并将它们放在弹射器上。

弹射器组

升高或降低 Swish 的弹射器来发射球。

参数

描述

角度

电机旋转的特定角度或圈数。

单位

电机将使用的单位:“度”或“圈”。

等待

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

**返回:**无。

# Launch the Ball currently loaded on the Catapult.
catapult_group.spin_to_position(-90, DEGREES)

# Lower the Catapult to prepare to load another Ball.
catapult_group.spin_to_position(1260, DEGREES)

电机停止()#

motor.stop() 命令用于停止电机。

这是一个非等待命令,允许任何后续命令无延迟地执行。

要使用此命令,请将“motor”替换为所需的电机或电机组,例如:“intake_motor.stop()”。

对象

描述

进气电机

旋转 Swish 的进气口来收集球并将它们放在弹射器上。

弹射器组

升高或降低 Swish 的弹射器来发射球。

**返回:**无。

# Spin the Intake Motor to bring a Ball onto the Catapult.
intake_motor.spin(FORWARD)

wait(2, SECONDS)
intake_motor.stop

电机.设置位置()#

motor.set_position(position, units) 命令用于将电机的编码器位置设置为给定的位置值。

要使用此命令,请将“motor”替换为所需的电机或电机组,例如:“intake_motor.set_position(position, units)”。

对象

描述

进气电机

旋转 Swish 的进气口来收集球并将它们放在弹射器上。

弹射器组

升高或降低 Swish 的弹射器来发射球。

参数

描述

位置

要设置的电机编码器的具体整数。

单位

电机使用的单位:“度”或“圈”。

**返回:**无。

# Launch the Ball currently loaded on the Catapult.
catapult_group.spin_for(REVERSE, 5, DEGREES)

# Lower the Catapult to prepare to load another Ball.
catapult_group.spin_to_position(1260, DEGREES)

# Set the new Catapult position to be 0 degrees.
catapult_group.set_position(0, DEGREES)

电机.设置速度()#

motor.set_velocity(velocity, units) 命令用于设置电机的速度。

要使用此命令,请将“motor”替换为所需的电机或电机组,例如:“intake_motor.set_velocity(velocity, units)”。

对象

描述

进气电机

旋转 Swish 的进气口来收集球并将它们放在弹射器上。

弹射器组

升高或降低 Swish 的弹射器来发射球。

参数

描述

速度

电机旋转的速度,范围从 -100 到 100。

单位

电机速度的单位“百分比”。

**返回:**无。

# Start spinning the Intake Motor to prepare
# for picking up a Ball.
intake_motor.set_velocity(100, PERCENT)
intake_motor.spin(FORWARD)

电机.设置超时()#

motor.set_timeout(value, units) 命令用于设置电机运动命令的时间限制。

这可以防止未到达预定位置的运动命令阻止后续命令运行。

要使用此命令,请将“motor”替换为所需的电机或电机组,例如:“intake_motor.set_timeout(value, units)”。

对象

描述

进气电机

旋转 Swish 的进气口来收集球并将它们放在弹射器上。

弹射器组

升高或降低 Swish 的弹射器来发射球。

参数

描述

价值

电机停止前等待的时间。

单位

电机计时器的单位“秒”。

**返回:**无。

catapult_group.set_timeout(2, SECONDS)

# Lower the Catapult to prepare to load another Ball.
catapult_group.spin_for(6, TURNS)

活动#

intake_optical.object_detected()#

intake_optical.object_detected(callback)eye.object_detected(callback) 是相同的命令。

该命令仅使用Swish的光学传感器“intake_optical”来替换标准命令中的“eye”。

有关如何使用 eye.object_detected(callback) 命令的信息,请参阅此处的 API 文档。

intake_optical.object_lost()#

intake_optical.object_lost(callback)eye.object_lost(callback) 是相同的命令。

该命令仅使用Swish的光学传感器“intake_optical”来替换标准命令中的“eye”。

有关如何使用 eye.object_lost(callback) 命令的信息,请参阅此处的 API 文档。

传感#

电机.is_done()#

如果选定的电机已完成其运动,则 motor.is_done() 命令用于返回 True 或 False 值。

要使用此命令,请将“motor”替换为所需的电机或电机组,例如:“intake_motor.is_done()”。

对象

描述

进气电机

旋转 Swish 的进气口来收集球并将它们放在弹射器上。

弹射器组

升高或降低 Swish 的弹射器来发射球。

**返回:**这将返回一个布尔值。

电机正在旋转()#

如果选定的电机正在移动,则使用 motor.is_spinning() 命令返回 True 或 False 值。

要使用此命令,请将“motor”替换为所需的电机或电机组,例如:“intake_motor.is_spinning()”。

对象

描述

进气电机

旋转 Swish 的进气口来收集球并将它们放在弹射器上。

弹射器组

升高或降低 Swish 的弹射器来发射球。

**返回:**这将返回一个布尔值。

电机位置()#

motor.position(units) 命令用于返回所选电机的当前旋转位置。

要使用此命令,请将“motor”替换为所需的电机或电机组,例如:“intake_motor.position(units)”。

对象

描述

进气电机

旋转 Swish 的进气口来收集球并将它们放在弹射器上。

弹射器组

升高或降低 Swish 的弹射器来发射球。

参数

描述

单位

返回值的单位,DEGREESTURNS

**返回:**这将返回一个数值。

# Lower the Catapult to prepare to load another Ball.
while not catapult_group.position(DEGREES) == 1260:
    catapult_group.spin(FORWARD)

电机.速度()#

motor.velocity(units) 命令用于返回所选电机的当前速度。

要使用此命令,请将“motor”替换为所需的电机或电机组,例如:“intake_motor.velocity(units)”。

对象

描述

进气电机

旋转 Swish 的进气口来收集球并将它们放在弹射器上。

弹射器组

升高或降低 Swish 的弹射器来发射球。

参数

描述

单位

电机速度的单位,“百分比”。

**返回:**这将返回一个数值。

brain.screen.print(catapult_group.velocity(PERCENT))

intake_optical.is_near_object()#

如果光学传感器距离球足够近以检测到球,则使用 intake_optical.near_object() 命令报告布尔值。

这是一个非等待命令,允许任何后续命令无延迟地执行。

**返回:**报告一个布尔值。

# Launch a loaded Ball once the Intake Optical Sensor
# detects a Ball in the Intake.
if intake_optical.is_near_object():
    catapult_group.spin_for(REVERSE, 5, DEGREES)

intake_optical.color()#

intake_optical.color() 命令用于返回进气光学传感器检测到的颜色。

以下颜色可用于与检测到的颜色进行比较:

  • 红色

  • 绿色

  • 蓝色

  • 黄色

  • 橙色

  • 紫色

  • 青色

**返回:**以字符串形式返回检测到的颜色的名称。

# Launch a loaded Ball once the Intake Optical Sensor
# detects a Ball in the Intake.
if intake_optical.color() == YELLOW:
    catapult_group.spin_for(REVERSE, 5, DEGREES)

intake_optical.亮度()#

intake_optical.brightness() 命令用于报告光学传感器检测到的 0 到 100% 范围内的光量。

**返回:**这将返回一个数值。

# Launch a loaded Ball once the Intake Optical Sensor
# detects a Ball in the Intake.
if intake_optical.brightness() > 0:
    catapult_group.spin_for(REVERSE, 5, DEGREES)

intake_optical.hue()#

intake_optical.brightness() 命令用于报告光学传感器检测到的物体的色调,范围在 0 到 359 之间。该数字表示检测到的颜色在色轮上的位置。

**返回:**这将返回一个数值。

# Launch a loaded Ball once the Intake Optical Sensor
# detects a Ball in the Intake.
if intake_optical.hue() > 100:
    catapult_group.spin_for(REVERSE, 5, DEGREES)