机器人专用 Python#

所有标准 VEXcode VR 命令均可用于 V5RC 虚拟技能 - Spin Up 游乐场。

运动#

电机.旋转()#

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

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

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

对象

描述

进气电机组

旋转迪斯科的进气口以从场地拾取游戏元素。

参数

描述

方向

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

**返回:**无。

def main():
    # Spin the intake motor forward.
    intake_motor_group.spin(FORWARD)
    # Wait half a second.
    wait(0.5, SECONDS)
    # Stop spinning the intake motor group.
    intake_motor_group.stop()

电机.spin_for()#

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

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

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

对象

描述

进气电机组

旋转迪斯科的进气口以从场地拾取游戏元素。

参数

描述

方向

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

距离

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

单位

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

等待

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

**返回:**无。

def main():
    # Spin the intake motor forward for 1 turn.
    intake_motor_group.spin_for(FORWARD, 1, TURNS)

电机.旋转到位置()#

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

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

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

对象

描述

进气电机组

旋转迪斯科的进气口以从场地拾取游戏元素。

参数

描述

角度

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

单位

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

等待

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

**返回:**无。

def main():
    # Spin the intake motor to 55 degrees.
    intake_motor_group.spin_to_position(55, DEGREES)

电机停止()#

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

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

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

对象

描述

进气电机组

旋转迪斯科的进气口以从场地拾取游戏元素。

**返回:**无。

def main():
    # Spin the intake motor forward.
    intake_motor_group.spin(FORWARD)
    # Wait half a second.
    wait(0.5, SECONDS)
    # Stop spinning the intake motor group.
    intake_motor_group.stop()

电机.设置位置()#

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

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

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

对象

描述

进气电机组

旋转迪斯科的进气口以从场地拾取游戏元素。

参数

描述

位置

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

单位

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

**返回:**无。

def main():
    # Set the current motor position to 90 degrees.
    intake_motor_group.set_position(90, DEGREES)
    # Spin the intake motor back to 0 degrees.
    intake_motor_group.spin_to_position(0, DEGREES)

电机.设置速度()#

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

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

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

对象

描述

进气电机组

旋转迪斯科的进气口以从场地拾取游戏元素。

参数

描述

速度

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

单位

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

**返回:**无。

def main():
    # Set the intake motor velocity to 75 percent.
    intake_motor_group.set_velocity(75, PERCENT)
    # Spin the intake motor to 180 degrees.
    intake_motor_group.spin_to_position(180, DEGREES)

电机.设置超时()#

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

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

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

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

对象

描述

进气电机组

旋转迪斯科的进气口以从场地拾取游戏元素。

参数

描述

价值

电机停止前等待的时间。

单位

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

**返回:**无。

def main():
    # Set the intake motor's timeout to 2 seconds.
    intake_motor_group.set_timeout(2, SECONDS)
    # Spin the intake motor to 270 degrees.
    intake_motor_group.spin_to_position(270, DEGREES)

活动#

roller_optical.object_detected()#

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

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

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

roller_optical.object_lost()#

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

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

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

传感#

电机.is_done()#

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

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

对象

描述

进气电机组

旋转迪斯科的进气口以从场地拾取游戏元素。

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

def main():
    # Move the Arm so it doesn't block the Front Distance Sensor.
    arm_motor_group.spin_to_position(1000, DEGREES)
    # Wait until the arm_motor_group has finished moving.
    if arm_motor_group.is_done():
        # Print the distance from the Front Distance Sensor to the closest
        # object in front of it.
        brain.screen.print(front_distance.object_distance(MM))

电机正在旋转()#

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

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

对象

描述

进气电机组

旋转迪斯科的进气口以从场地拾取游戏元素。

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

# Example coming soon.

电机位置()#

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

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

对象

描述

进气电机组

旋转迪斯科的进气口以从场地拾取游戏元素。

参数

描述

单位

返回值的单位,DEGREESTURNS

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

def main():
    # Print the current position of the intake_motor_group in degrees.
    brain.screen.print(intake_motor_group.position(DEGREES))

电机.速度()#

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

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

对象

描述

进气电机组

旋转迪斯科的进气口以从场地拾取游戏元素。

参数

描述

单位

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

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

def main():
    # Print the current velocity of the arm_motor_group.
    brain.screen.print(arm_motor_group.velocity(PERCENT))

line_tracker.reflectivity()#

line_tracker.reflectivity(units) 命令用于返回使用线跟踪器传感器反射的光量。

此命令将报告从 0% 到 100% 的范围。颜色较浅的表面反射率值较高,颜色较暗的表面反射率值较低。

参数

描述

单位

反射光的单位“PERCENT”。

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

def main():
    # Print the current reflectivity.
    brain.screen.print(line_tracker.reflectivity(PERCENT))

roller_optical.is_near_object()#

如果光学传感器距离物体足够近以检测到颜色,则使用“roller_optical.near_object()”命令报告布尔值。

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

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

def main():
    # Print if the Front Optical Sensor is detecting a color.
    brain.print(roller_optical.near_object())

roller_optical.color()#

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

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

以下颜色可用于与光学传感器检测到的颜色进行比较:

  • 红色的

  • 绿色的

  • 蓝色的

  • 黄色的

  • 橙子

  • 紫色的

  • 青色

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

def main():
    # Print the color of the object that the Front Optical Sensor sees.
    brain.print(roller_optical.color())

roller_optical.亮度()#

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

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

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

def main():
    # Print the brightness of the object in front of Disco.
    brain.print(roller_optical.brightness())

roller_optical.hue()#

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

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

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

def main():
    # Print the hue of the object in front of Disco.
    brain.screen.print("Hue: ", optical.hue())

gps.x_position()#

gps.x_position(units) 命令用于报告 GPS 传感器或定义的原点与场地中心的 X 位置偏移。

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

参数

描述

单位

偏移值的单位,INCHESMM(毫米)。

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

def main():
    # Print the current X positional offset of the robot.
    brain.screen.print(gps.x_position(MM))

gps.y_位置()#

gps.y_position(units) 命令用于报告 GPS 传感器或定义的原点与场地中心的 Y 位置偏移。

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

参数

描述

单位

偏移值的单位,INCHESMM(毫米)。

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

def main():
    # Print the current Y positional offset of the robot.
    brain.screen.print(gps.y_position(MM))

gps.航向()#

gps.heading() 命令用于根据 GPS 传感器从 VEX GPS 字段代码读取的数据报告机器人当前所面对的航向。

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

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

def main():
    # Print the current heading of the robot.
    brain.screen.print(gps.heading())