机器人专用积木#

介绍#

The VIQRC 25-26 Mix & Match Playground features blocks exclusive to the build designed for this Playground, including two motor options, IQ AI Vision Sensor, Optical Sensor, and Touch LED.

所有标准 VEXcode VR 积木均可用于 VIQRC 25-26 Mix & Match 游乐场。

以下是所有可用的游乐场特定块的列表:

运动——移动并跟踪机器人的马达。

  • 行动

    • spin – 无限旋转选定的电机或电机组。

    • spin for – 以度数或圈数为单位,使电机或电机组旋转特定距离。

    • 旋转到位置 – 将电机或电机组旋转到设定位置。

    • 停止电机 – 停止特定电机或电机组旋转。

  • 设置

    • 设置电机速度 – 以百分比设置电机或电机组的速度。

    • [设置电机超时](#set-motor-timeout)——限制当运动受阻时电机阻塞在放弃之前等待的时间。

  • 位置

  • 价值观

AI Vision – Capture and analyze objects using the IQ AI Vision Sensor.

感知——利用机器人的各种传感器。

运动#

Actions#

旋转#

旋转块使用 当前电机速度 沿指定方向旋转选定的电机或电机组。

[ClawMotor v] [打开 v] 转

参数

描述

发动机

要旋转的电机或电机组:

  • ClawMotor
  • LiftMotor

方向

旋转方向:

    爪电机
    • 打开
    • 关闭
    升降电机
    • 向下
    • 向上

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

旋转#

spin for 块使用 当前电机速度(以度或圈数为单位)旋转选定的电机或电机组特定的旋转量。

[ClawMotor v] [打开 v] 转 (90) [度 v] ▶

参数

描述

发动机

要旋转的电机或电机组:

  • ClawMotor
  • LiftMotor

方向

旋转方向:

    爪电机
    • 打开
    • 关闭
    升降电机
    • 向下
    • 向上

距离

旋转量,为整数或小数。

单元

The unit of measurement representing the distance:

  • degrees
  • turns

扩大箭头

默认情况下,这是一个等待块,因此电机会在运行下一个块之前完成移动。要使电机开始移动并立即运行下一个块,请将块扩展为不等待

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

旋转至位置#

旋转到位置块使用当前 电机速度电机位置 将电机或电机组旋转到特定的绝对位置。

[ClawMotor v] 转至 (90) [度 v] ▶

参数

描述

发动机

要旋转的电机或电机组:

  • ClawMotor
  • LiftMotor

位置

电机或电机组旋转的目标位置。

单元

The unit of measurement:

  • degrees
  • turns

扩大箭头

默认情况下,这是一个等待块,因此电机会在运行下一个块之前完成移动。要使电机开始移动并立即运行下一个块,请将块扩展为不等待

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] 转至 [-2] [转 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

停止电机#

停止电机块立即停止选定的电机或电机组。

[ClawMotor v] 停止

参数

描述

发动机

需要停止的电机或电机组:

  • ClawMotor
  • LiftMotor

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转
等待 [2] 秒
[LiftMotor v] 停止
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

Settings#

设定电机速度#

设置电机速度块将电机或电机组的默认旋转速度设置为项目中所有后续电机块的百分比。

设定 [ClawMotor v] 转速为 (50) [% v]

参数

描述

发动机

需要设置速度的电机或电机组:

  • ClawMotor
  • LiftMotor

速度

将默认移动速度设置为 0 至 100 的百分比。

单元

表示速度的单位:

  • %

例子

当开始
[Place a pin atop another pin.]
设定 [LiftMotor v] 转速为 [100] [% v]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

设置电机超时#

设置电机超时 模块设置了电机模块等待到达目标的时间限制。如果机器人无法在设定的时间内完成移动,它将自动停止并继续执行下一个模块。

**注意:**电机的时间限制用于防止未到达目标位置的电机块停止堆栈中其他块的执行。

设定 [ClawMotor v] 超时为 (1) 秒

参数

描述

发动机

需要设置超时的电机或电机组:

  • ClawMotor
  • LiftMotor

时间

电机块在停止并移动到下一个块之前运行的最大秒数。

例子

当开始
[Place a pin atop another pin.]
设定 [LiftMotor v] 超时为 [2] 秒
[LiftMotor v] [向上 v] 转 [5] [转 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

Position#

电机位置#

电机位置块返回所选电机或电机组旋转的总距离。

([ClawMotor v] 转位 [度 v])

参数

描述

发动机

返回位置的电机或电机组:

  • ClawMotor
  • LiftMotor

单元

The unit of measurement:

  • degrees
  • turns

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转
等到 <[-600] [math_greater_than v] ([LiftMotor v] 转位 [度 v])>
[LiftMotor v] 停止
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

设置电机位置#

设置电机位置块为电机或电机组设置特定的位置值,从而更新编码器读数。

设定 [ClawMotor v] 转位至 (0) [度 v]

参数

描述

发动机

需要设置位置的电机或电机组:

  • ClawMotor
  • LiftMotor

位置

要设置的编码器位置值。

单元

The unit of measurement:

  • degrees
  • turns

例子

当开始
[Place a pin atop another pin.]
设定 [LiftMotor v] 位置为 [100] 度
[LiftMotor v] 转至 [-500] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

Values#

电机完成#

电机是否完成? 块返回一个布尔值,指示电机或电机组是否未旋转。

  • 正确 – 电机没有旋转。

  • 错误 – 电机正在旋转。

<[ClawMotor v] 已结束?>

参数

描述

发动机

检查电机或电机组是否旋转完成:

  • ClawMotor
  • LiftMotor

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ◀ 并且不等待
等待 [0.1] 秒
重复直到 <[LiftMotor v] 已结束?>
设定 [TouchLED v] 颜色为 [红色 v]
等待 [0.5] 秒
设定 [TouchLED v] 颜色为 [红色 v]
等待 [0.5] 秒
结束
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

电机在旋转吗?#

电机正在旋转? 块返回一个布尔值,指示电机是否正在旋转。

  • 真 – 电机正在旋转。

  • 错误 – 电机没有旋转。

<[ClawMotor v] 正在转?>

参数

描述

发动机

检查当前是否正在旋转的电机或电机组:

  • ClawMotor
  • LiftMotor

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ◀ 并且不等待
等待 [0.1] 秒
当 <[LiftMotor v] 正在转?>
设定 [TouchLED v] 颜色为 [红色 v]
等待 [0.5] 秒
设定 [TouchLED v] 颜色为 [红色 v]
等待 [0.5] 秒
结束
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

电机速度#

电机速度块返回电机或电机组的当前转速,范围从 -100% 到 100%。

([ClawMotor v] 速度 [% v] 值 :: custom-motion)

参数

描述

发动机

返回速度的电机或电机组:

  • ClawMotor
  • LiftMotor

单元

表示速度的单位:

  • %

例子

当开始
[Place a pin atop another pin.]
设定 [LiftMotor v] 转速为 [100] [% v]
[LiftMotor v] [向上 v] 转 [600] [度 v] ◀ 并且不等待
等待 [0.5] 秒
打印 ([LiftMotor v] 速度 [% v] 值 :: custom-motion) ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

AI Vision#

Actions#

get object data#

The get object data block filters data from the IQ AI Vision Sensor frame. The IQ AI Vision Sensor can detect Game Elements on the field.

The dataset stores objects ordered from largest to smallest by width, starting at index 0. Each object’s properties can be accessed using AI Vision object property block. An empty dataset is returned if no matching objects are detected.

The Get object data stack block.#
从 [AI Classifications v]获取 [AIVision v] 数据

Parameter

描述

signature

Filters the dataset to only include data of the given signature. The only available signature is:

  • AI Classifications – Detects Beams and Blue, Red, and Orange Pins.

例子

当开始
[Place the Red Pin on the top left Blue Pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
[左 v] 转 [38] 度 ▶
重复直到 <([AIVision v] 对象 [宽 v]) [math_greater_than v] [48]>
[Move forward until the robot is close to the Pin.]
从 [AI Classifications v]获取 [AIVision v] 数据
驱动 [向前 v]
结束
驱动 [向前 v] [160] [毫米 v] ▶
[ClawMotor v] [打开 v] 转

Settings#

set object item#

The set object item block sets which item in the dataset to use.

The Set AI Vision object item stack block.#
设定 [AIVision v] 对象标号为 [1]

参数

描述

item

The number of the item in the dataset to use.

例子

当开始
[Find the object index of the nearest Orange Pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
设定 [object_counter v] 为 [1]
从 [AI Classifications v]获取 [AIVision v] 数据
[Iterate through all detected objects.]
重复 ([AIVision v] 对象数目)
设定 [AIVision v] 对象标号为 (object_counter)
如果 <[AIVision v] object is [Orange Pin v] ?> 那么
打印 (连接 [Nearest Orange Pin is ] (object_counter)) ▶
否则
将 [object_counter v] 改变 [1]

Values#

object exists?#

The object exists? block returns a Boolean indicating whether any object is detected in the dataset.

  • True – The dataset includes a detected object.

  • False – The dataset does not include any detected objects.

The AI Vision object exists Boolean block.#
<AI 视觉仪对象存在?>

参数

描述

该块没有参数。

例子

当开始
[Raise the Lift until a Pin or Beam is detected.]
重复直到 <[AIVision v] 对象存在?>
从 [AI Classifications v]获取 [AIVision v] 数据
[LiftMotor v] [向上 v] 转
结束
[LiftMotor v] 停止

object count#

The object count block returns the number of detected objects in the dataset as an integer.

The Set AI Vision object item stack block.#
([AIVision v] 对象数目)

参数

描述

该块没有参数。

例子

当开始
[Find the object index of the nearest Orange Pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
设定 [object_counter v] 为 [1]
从 [AI Classifications v]获取 [AIVision v] 数据
[Iterate through all detected objects.]
重复 ([AIVision v] 对象数目)
设定 [AIVision v] 对象标号为 (object_counter)
如果 <[AIVision v] object is [Orange Pin v] ?> 那么
打印 (连接 [Nearest Orange Pin is ] (object_counter)) ▶
否则
将 [object_counter v] 改变 [1]

object property#

There are six properties that are included with each object (shown below) stored after the get object data block is used.

The AI Vision object property reporter block.#
([AIVision v] 对象 [宽 v])

Some property values are based off of the detected object’s position in the IQ AI Vision Sensor’s view at the time that the get object data block was used. The IQ AI Vision Sensor has a resolution of 320 by 240 pixels.

Parameter

描述

property

Which property of the detected object to use:

width#

width returns the width of the detected object in pixels as an integer from 1 to 320.

The AI Vision object property stack block with its parameter set to width.#
([AIVision v] 对象 [宽 v])

例子

当开始
[Place the Red Pin on the top left Blue Pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
[左 v] 转 [38] 度 ▶
重复直到 <([AIVision v] 对象 [宽 v]) [math_greater_than v] [48]>
[Move forward until the robot is close to the Pin.]
从 [AI Classifications v]获取 [AIVision v] 数据
驱动 [向前 v]
结束
驱动 [向前 v] [160] [毫米 v] ▶
[ClawMotor v] [打开 v] 转
height#

height returns the height of the detected object in pixels as an integer from 1 to 240.

The AI Vision object property stack block with its parameter set to height.#
([AIVision v] 对象 [高 v])

例子

当开始
[Place the Red Pin on the top left Blue Pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
[左 v] 转 [38] 度 ▶
重复直到 <([AIVision v] 对象 [高 v]) [math_greater_than v] [68]>
[Move forward until the robot is close to the Pin.]
从 [AI Classifications v]获取 [AIVision v] 数据
驱动 [向前 v]
结束
驱动 [向前 v] [160] [毫米 v] ▶
[ClawMotor v] [打开 v] 转
centerX#

centerX returns the x-coordinate of the center of the detected object in pixels as an integer from 0 to 320.

The AI Vision object property stack block with its parameter set to centerX.#
([AIVision v] 对象 [中心X坐标 v])

例子

当开始
[Place the Red Pin on the bottom left Blue Pin.]
驱动 [向前 v] [50] [毫米 v] ▶
[LiftMotor v] [向上 v] 转 [450] [度 v] ▶
设定转向速度为 [10] [% v]
从 [AI Classifications v]获取 [AIVision v] 数据
重复直到 <([AIVision v] 对象 [中心X坐标 v]) [math_less_than v] [190]>
[Turn until the robot is centered on the Blue Pin.]
从 [AI Classifications v]获取 [AIVision v] 数据
[右 v] 转
结束
驱动 [向前 v] [350] [毫米 v] ▶
[ClawMotor v] [打开 v] 转
centerY#

centerY returns the y-coordinate of the center of the detected object in pixels as an integer from 0 to 240.

The AI Vision object property stack block with its parameter set to centerY.#
([AIVision v] 对象 [中心Y坐标 v])

例子

当开始
[Place the Red Pin on the top left Blue Pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
[左 v] 转 [38] 度 ▶
重复直到 <([AIVision v] 对象 [中心Y坐标 v]) [math_greater_than v] [210]>
[Move forward until the robot is close to the Pin.]
从 [AI Classifications v]获取 [AIVision v] 数据
驱动 [向前 v]
结束
驱动 [向前 v] [160] [毫米 v] ▶
[ClawMotor v] [打开 v] 转
originX#

originX returns the x-coordinate of the top-left corner of the detected object’s bounding box in pixels as an integer from 0 to 320.

The AI Vision object property stack block with its parameter set to originX.#
([AIVision v] 对象 [原点X v])

例子

当开始
[Place the Red Pin on the bottom left Blue Pin.]
驱动 [向前 v] [50] [毫米 v] ▶
[LiftMotor v] [向上 v] 转 [450] [度 v] ▶
设定转向速度为 [10] [% v]
从 [AI Classifications v]获取 [AIVision v] 数据
重复直到 <([AIVision v] 对象 [中心X坐标 v]) [math_less_than v] [160]>
[Turn until the robot is centered on the Blue Pin.]
从 [AI Classifications v]获取 [AIVision v] 数据
[右 v] 转
结束
驱动 [向前 v] [350] [毫米 v] ▶
[ClawMotor v] [打开 v] 转
originY#

originY returns the y-coordinate of the top-left corner of the detected object’s bounding box in pixels as an integer from 0 to 240.

The AI Vision object property stack block with its parameter set to originY.#
([AIVision v] 对象 [原点Y v])

例子

当开始
[Place the Red Pin on the top left Blue Pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
[左 v] 转 [38] 度 ▶
重复直到 <([AIVision v] 对象 [原点Y v]) [math_greater_than v] [180]>
[Move forward until the robot is close to the Pin.]
从 [AI Classifications v]获取 [AIVision v] 数据
驱动 [向前 v]
结束
驱动 [向前 v] [160] [毫米 v] ▶
[ClawMotor v] [打开 v] 转

AI Classification is#

The AI Vision object is? block returns a Boolean indicating whether a detected object matches a specific classification.

  • True – The item in the dataset is the specific object.

  • False – The item in the dataset is not the specific object.

The AI Vision AI Classification is object Boolean block.#
<[AIVision] object is [Beam v]?>

Parameter

描述

object

Which object to compare the item to:

  • Beam
  • Blue Pin
  • Red Pin
  • Orange Pin

例子

当开始
[Find the object index of the nearest Orange Pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
设定 [object_counter v] 为 [1]
从 [AI Classifications v]获取 [AIVision v] 数据
[Iterate through all detected objects.]
重复 ([AIVision v] 对象数目)
设定 [AIVision v] 对象标号为 (object_counter)
如果 <[AIVision v] object is [Orange Pin v] ?> 那么
打印 (连接 [Nearest Orange Pin is ] (object_counter)) ▶
否则
将 [object_counter v] 改变 [1]

传感#

Optical#

光学发现物体?#

**光学发现物体?**块返回一个布尔值,指示光学传感器是否检测到物体。

  • 真 – 光学传感器已检测到物体。

  • 错误 – 光学传感器未检测到物体。

<[Optical v] 发现对象?>

参数

描述

该块没有参数。

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
等到 <非 <[Optical v] 发现对象?>>
[LiftMotor v] 转至 [0] [度 v] ▶

光学检测颜色?#

**光学检测颜色?**块返回一个布尔值,指示光学传感器是否检测到特定颜色。

  • 真 – 光学传感器已检测到指定的颜色。

  • 错误 – 光学传感器未检测到指定的颜色。

<[Optical v] 测得 [红色 v]?>

参数

描述

颜色

要检查的颜色:

  • 红色
  • 绿色
  • 蓝色
  • 黄色
  • 橙色
  • 紫色

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
等到 <非 <[Optical v] 测得 [红色 v]?>>
[LiftMotor v] 转至 [0] [度 v] ▶

光学亮度#

光学亮度块返回光学传感器检测到的光量,范围从 0% 到 100%。

([Optical v] 亮度百分比)

参数

描述

该块没有参数。

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
等到 <[30] [math_greater_than v] ([Optical v] 亮度百分比)>
[LiftMotor v] 转至 [0] [度 v] ▶

光学色调#

光学色调块返回光学传感器检测到的颜色的色调值。

色调值范围从 0 到 359 度,对应于下面显示的色轮上的位置。

圆形色轮,显示全光谱色调,周边标有度数值,从顶部的 0° 到 360°,以 30 度为增量增加。

([Optical v] 色调度数)

参数

描述

该块没有参数。

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
等到 <([Optical v] 色调度数) [math_greater_than v] [0]>
[LiftMotor v] 转至 [0] [度 v] ▶

当光学#

当光学传感器检测到或丢失物体时,当光学模块会运行其堆叠。你可以使用多个当光学模块来同时运行多个模块堆叠。

当 [Optical v] [detects v] 一个对象

参数

描述

行动

哪些动作触发帽子积木:

  • 检测
  • 丢失

例子

当开始
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
当 [Optical v] [loses v] 一个对象
[Lower the lift when the red pin is not in the claw.]
[LiftMotor v] 转至 [0] [度 v] ▶

Touch LED#

设置 TouchLED 颜色#

设置触摸LED颜色块设置触摸LED的颜色。

设定 [TouchLED v] 颜色为 [none v]

参数

描述

颜色

将 LED 的颜色设置为:

  • 无 – 关闭触摸 LED
  • 红色
  • 绿色
  • 蓝色
  • 白色
  • 黄色
  • 橙色
  • 紫色
  • 红紫色
  • 紫色
  • 蓝紫色
  • 蓝绿色
  • 黄绿色
  • 黄橙色
  • 红橙色

例子

当开始
[Place a pin atop another pin.]
设定 [TouchLED v] 颜色为 [红色 v]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
设定 [TouchLED v] 颜色为 [none v]