机器人专用积木#
所有标准 VEXcode VR 块均可用于 V5RC 虚拟技能 - 高风险 游乐场。
运动#
这个游乐场的积木将可以访问所有运动积木的臂电机和推杆电机参数。
当为运动块选择方向时,向上将使手臂向前旋转,向下将使手臂反向旋转。
对于推进器电机,降低将使推进器电机正向旋转,升高将使推进器电机反向旋转。
Spin#
Spin 块用于无限旋转电机。
这是一个非等待块,允许任何后续块无延迟地执行。
选择要使用的电机。
选择电机移动的方向。
臂电机可以向上或向下旋转。
推进器电机可以朝降低或升高方向旋转。
在这个例子中,手臂马达将旋转 1 秒以准备得分。
Spin for#
Spin for 块用于使电机旋转给定的距离。
这可以是非等待或等待块,取决于是否使用并且不等待选项。
选择要使用的电机。
选择电机移动的方向。
臂电机可以向上或向下旋转。
推进器电机可以朝降低或升高方向旋转。
通过输入一个值并选择测量单位(度或圈)来设置电机旋转的距离。
默认情况下,旋转块会阻止任何后续块的执行,直到其完成为止。通过展开旋转块以显示不等待,块将在电机转动时继续执行。
在这个例子中,臂电机将向上旋转 350 度以免阻挡 AI 视觉传感器。
Spin to position#
旋转到位置块用于将电机旋转到设定位置。
这可以是非等待或等待块,取决于是否使用并且不等待选项。
选择要使用的电机。
通过输入一个值并选择测量单位(度或圈)来设置电机旋转的距离。
默认情况下,旋转到指定位置积木会阻止所有后续积木的执行,直到其完成。通过展开旋转到指定位置积木以显示不等待,积木将在电机移动时继续执行。
在这个例子中,臂电机将旋转到 350 度位置以免阻挡 AI 视觉传感器。
Stop Motor#
停止电机块用于停止电机移动。
这是一个非等待块,允许任何后续块无延迟地执行。
选择要使用的电机。
在这个例子中,手臂马达将旋转 1 秒以准备得分。
Set Motor position#
设置电机位置块用于将电机的编码器位置设置为输入的值。
这是一个非等待块,允许任何后续块无延迟地执行。
选择要使用的电机。
设置要使用的测量单位,度或圈。
在此示例中,手臂被提升到 350 度位置,并将其设置为新的 0 度位置。
Set Motor velocity#
设置电机速度块用于设置电机的速度。
这是一个非等待块,允许任何后续块无延迟地执行。
选择要使用的电机。
设置电机速度块将接受-100%到100%的范围。
在此示例中,在臂抬起之前,电机的速度设置为 100%。
Set Motor timeout#
设置电机超时块用于设置电机运动块的时间限制。
这可以防止未到达预定位置的运动块阻止后续块运行。
这是一个非等待命令,允许任何后续命令无延迟地执行。
选择要使用的电机。
在此示例中,在 Arm 升起之前,电机超时设置为 1 秒。
传感#
Axel 可以使用标准大脑、传动系统、保险杠、距离感应块。
眼部感应已重命名为光学感应,以匹配前置光学传感器。
Motor Sensing#
电机已完成#
电机已完成块用于报告所选电机或电机组是否已完成其运动。
选择要使用的电机或电机组。
The Motor is done block reports True
when the selected Motor or Motor Group has completed its movement.
The Motor is done block reports False
when the selected Motor or Motor Group has not completed its movement.
电机已完成块用于具有六边形(六面)空间的块中。
电机旋转#
电机正在旋转块用于报告所选电机或电机组是否正在移动。
选择要使用的电机或电机组。
The Motor is spinning block reports True
when the selected Motor or Motor Group is moving.
The Motor is spinning block reports False
when the selected Motor or Motor Group is not moving.
马达正在旋转块用于具有六边形(六面)空间的块中。
电机位置#
电机位置块用于报告电机或电机组中第一个电机的位置。
选择要使用的电机或电机组。
选择使用的单位,度或圈。
电机位置块用于具有圆形空间的块中。
在此示例中,手臂将升高,直到其位置大于 300 度。
电机转速#
电机速度块用于报告电机或电机组中第一个电机的当前速度。
选择要使用的电机或电机组。
电机速度块用于具有圆形空间的块中。
Rotation Sensing#
设置旋转位置#
设置旋转位置块用于将推进器电机的当前旋转位置设置为新值。
在此示例中,将环推离臂的旋转将设置为 0 度。
旋转角度#
旋转角度块用于报告推进器电机当前的旋转角度(以度为单位)。
在这个例子中,推动器将把环从臂上推下来,然后报告电机的旋转角度。
旋转位置#
旋转位置块用于报告推进器电机的当前位置。
选择报告的单位,度或圈。
在这个例子中,推动器将把环从臂上推下来,然后以度为单位报告电机的位置。
GPS Sensing#
GPS 位置#
GPS 位置 模块使用 GPS(游戏定位系统™)传感器报告机器人转弯参考点与场地中心的位置偏移。
选择要报告的 X 轴或 Y 轴。
选择报告偏移值的单位,毫米 (MM) 还是英寸。
GPS 航向#
GPS 航向 块使用 GPS(游戏定位系统™)传感器根据 GPS 传感器从 VEX GPS 场代码读取的数据报告机器人当前所面对的航向。
GPS 航向报告范围从 0.00 到 359.99 度。
AI Vision Sensing#
拍摄快照#
拍摄快照块将从 AI 视觉传感器捕获当前图像,以便进行处理和分析以进行 AI 分类。
AI 分类为移动目标、红环和蓝环。
所有后续的 AI 视觉传感器模块都依赖于最新快照的数据。为了确保您使用最新的信息,定期拍摄新的快照至关重要。每次新的快照都会刷新所有 AI 视觉传感器模块可用的数据,使它们能够处理来自传感器环境的最新视觉信息。
在尝试访问上次快照存储的数据之前,请务必检查是否检测到 AI 分类。操作方法如下:
在拍摄快照之后,用如果块包裹你的 AI 视觉块。
使用对象存在吗?块作为如果块的条件。
这将检查在尝试从上次拍摄的快照中提取任何数据之前是否检测到 AI 分类。
在此示例中,拍摄了快照并将检测到的最大 AI 分类的宽度和高度打印到打印控制台。
默认情况下,对象按大小进行索引,最大的对象位于索引 1。
AI 视觉传感器在快照后自动选择最大的物体(索引 1)。
AI分类是#
如果检测到指定的 AI 分类,则 AI 分类是 块将报告。
选择在最后一张快照中检测的 AI 分类。
在尝试访问上次快照存储的数据之前,请务必检查是否检测到 AI 分类。操作方法如下:
在拍摄快照之后,用如果块包裹你的 AI 视觉块。
使用对象存在吗?块作为如果块的条件。
这将检查在尝试从上次拍摄的快照中提取任何数据之前是否检测到 AI 分类。
在此示例中,拍摄快照后,代码将检查是否检测到任何移动目标。
设置对象项#
设置对象项 块将从检测到的对象中设置(您想要了解更多信息的对象)的对象项。默认情况下,项目开始时对象项设置为 1。
在尝试访问上次快照存储的数据之前,请务必检查是否检测到 AI 分类。操作方法如下:
在拍摄快照之后,用如果块包裹你的 AI 视觉块。
使用对象存在吗?块作为如果块的条件。
这将检查在尝试从上次拍摄的快照中提取任何数据之前是否检测到 AI 分类。
在此示例中,拍摄快照后,当前对象索引被设置为检测到的第二大对象,并且其高度被打印到打印控制台。
对象计数#
对象计数 块将从检测到的对象中设置(您想要了解更多信息的对象)的对象项。默认情况下,项目开始时的对象项设置为 1。
在尝试访问上次快照存储的数据之前,请务必检查是否检测到 AI 分类。操作方法如下:
在拍摄快照之后,用如果块包裹你的 AI 视觉块。
使用对象存在吗?块作为如果块的条件。
这将检查在尝试从上次拍摄的快照中提取任何数据之前是否检测到 AI 分类。
在这个例子中,代码将检查快照后是否检测到 AI 分类,如果检测到,将打印检测到了多少个 AI 分类。
对象存在#
如果 AI 视觉传感器检测到 AI 分类,则对象存在块将进行报告。
在尝试访问上次快照存储的数据之前,请务必检查是否检测到 AI 分类。操作方法如下:
在拍摄快照之后,用如果块包裹你的 AI 视觉块。
使用对象存在吗?块作为如果块的条件。
这将检查在尝试从上次拍摄的快照中提取任何数据之前是否检测到 AI 分类。
在这个例子中,代码将检查快照后是否检测到 AI 分类,如果检测到,将打印检测到了多少个 AI 分类。
人工智能视觉对象#
AI 视觉对象块将报告上次使用拍摄快照块时的 AI 分类信息。
选择要报告的 AI 分类属性:
宽度:AI 分类的像素宽度。
高度:AI 分类的高度(以像素为单位)。
centerX:AI 分类正中心的 X 坐标。
centerY:AI 分类正中心的 Y 坐标。
originX:AI分类左上角的X坐标。
originY:AI分类左上角的Y坐标。
在尝试访问上次快照存储的数据之前,请务必检查是否检测到 AI 分类。操作方法如下:
在拍摄快照之后,用如果块包裹你的 AI 视觉块。
使用对象存在吗?块作为如果块的条件。
这将检查在尝试从上次拍摄的快照中提取任何数据之前是否检测到 AI 分类。