机器人专用积木#

所有标准 VEXcode VR 模块均可用于VIQRC 虚拟技能 - 快速接力游乐场。

运动#

这个游乐场的积木将可以访问所有运动积木的进气电机弹射器组参数。

当为运动块选择方向时,intake 将使进气电机正向旋转,而 outtake 将使进气电机反向旋转。

对于弹射器组,降低将使弹射器组向前旋转,释放将使弹射器组反向旋转。

旋转#

Spin 块用于无限旋转电机。

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

图片显示了一个标有“spin”的代码块,它指示“IntakeMotor”朝“intake”方向旋转。该代码块用于控制电机,使其朝指定方向旋转,很可能是大型机器人或机械系统的一部分。

选择要使用的电机。

图片显示了一个标记为“旋转”的块,其中“IntakeMotor”选项被选中,下方另一个标记为“CatapultGroup”的选项被选中。“IntakeMotor”被选中,该选项可能与配置哪个电机或电机组将在“进气”方向上执行旋转动作有关。下拉菜单允许为此操作选择不同的电机或电机组。

选择电机移动的方向。

进气电机可以朝进气出气方向旋转。

图片显示了一个标有“旋转”的块,其中“进气电机”选项已选中,另一个下拉菜单显示“进气”为已选选项,而“出气”为备选选项。此设置可能用于配置电机,使其根据用户的选择在“进气”或“出气”方向上执行旋转动作。下拉菜单允许用户在这两个方向选项之间切换。

弹射器组可以朝降低释放方向旋转。

图片显示了一个标记为“旋转”的模块,其中选择了“弹射器组”作为要控制的电机或电机组。所选操作为“降低”,下拉菜单中还提供了“释放”选项。此设置可能将弹射器组配置为执行降低操作,下拉菜单允许用户选择降低或释放弹射器装置。

在这个例子中,弹射器将发射预装的球,然后降低弹射器以准备发射新的球。

图片展示了一个基于块的编程界面,其中包含弹射器机制的指令。程序以“when started”命令开始,然后执行两个步骤。第一步指示“CatapultGroup”释放预装的球,从而有效地将其发射出去。第二步指示“CatapultGroup”降低,使弹射器准备好装载新的球,以便下次发射。

旋转#

Spin for 块用于使电机旋转给定的距离。

这可以是非等待等待块,取决于是否使用并且不等待选项。

图片展示了一个可视化界面中的代码块,它命令“进气电机”以 90 度“进气” 90 度。该命令用于“旋转”电机,并指定电机应旋转的度数。

选择要使用的电机。

图片展示了一个可视化编程模块,其指令是“旋转”一个电机,并可选择“IntakeMotor”或“CatapultGroup”。选定的电机被设置为“IntakeMotor”,然后指令其执行 90 度的“进气”动作。

选择电机移动的方向。

进气电机可以朝进气出气方向旋转。

图片展示了一个代码块,其中一个名为“IntakeMotor”的电机被设置为“旋转”。旋转方向可从下拉菜单中选择,当前选择为“进气”,但也可以选择“出气”。电机被编程为沿所选方向旋转指定的90度。

弹射器组可以朝降低释放方向旋转。

图片展示了一个用于控制“CatapultGroup”电机的编程模块。该模块被设置为“旋转”电机,并通过下拉菜单允许用户选择操作,“降低”或“释放”,其中“降低”表示已选择。电机被编程为沿选定方向旋转 90 度。

通过输入一个值并选择测量单位(度或圈)来设置电机旋转的距离。

图片展示了一个配置用于在编码环境中控制“进气电机”的编码模块。该模块指示电机沿“进气”方向“旋转”90度。下拉菜单突出显示,显示用户正在选择测量单位,当前选择的单位是“度”。下拉菜单中还包含“转”选项。

默认情况下,旋转块会阻止任何后续块的执行,直到其完成为止。通过展开旋转块以显示不等待,块将在电机转动时继续执行。

图片展示了一个来自可视化编程界面的块,其中“IntakeMotor”设置为“进气”并旋转 90 度,并附带一个指令“旋转”电机。该块指定电机应立即执行此操作,而无需等待操作完成,正如短语“and don't wait”所示。

在这个例子中,弹射器将发射预装的球,然后降低弹射器以准备发射新的球。

图片展示了可视化编码环境中的编码块序列。该序列以“启动时”块开始,用于在项目启动时触发程序。在其下方,有两个针对“弹射器组”组件的“旋转”块。第一个旋转块设置为“释放”,表示它将发射一个预装弹球。第二个旋转块设置为“降低”,表示“1350 度”,这将使弹射器移动到可以装载新弹球的位置。该程序的设计目标是先发射弹球,然后降低弹射器进行重新装弹。

旋转至指定位置#

旋转到位置块用于将电机旋转到设定位置。

这可以是非等待等待块,取决于是否使用并且不等待选项。

该图显示了一个编码块,它指示“IntakeMotor”旋转到特定位置,设置为 90 度。

选择要使用的电机。

图片展示了一个编程模块,其中“IntakeMotor”从下拉菜单中选择。该模块配置为将电机旋转到特定位置,设置为 90 度。下拉菜单允许用户选择不同的电机组,例如“IntakeMotor”或“CatapultGroup”,以控制要调整的电机。

通过输入一个值并选择测量单位(度或圈)来设置电机旋转的距离。

图片展示了一个配置为将“IntakeMotor”旋转到特定位置(90 个单位)的编码块。下拉菜单打开,用户可以选择“度”或“圈”作为电机位置的测量单位。当前选择的是“度”。

默认情况下,旋转到指定位置积木会阻止所有后续积木的执行,直到其完成。通过展开旋转到指定位置积木以显示不等待,积木将在电机移动时继续执行。

图片展示了一个配置为将“IntakeMotor”旋转至 90 度位置的编码块。该块包含一个“and don't wait”选项,表示程序将继续执行后续命令,而无需等待电机到达指定位置。

在这个例子中,弹射器将发射预装的球,然后降低弹射器以准备发射新的球。

图片展示了一个基于积木的编码序列。它以“启动时”积木开始,触发该序列。该序列首先通过沿“释放”方向旋转“弹射器组”来发射一个预装的球。接下来,它通过沿“降低”方向旋转“弹射器组”1260度来降低弹射器以装载新的球。

停止电机#

停止电机块用于停止电机移动。

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

该图显示了一个块,它代表在基于块的编码环境中停止“IntakeMotor”的命令。

选择要使用的电机。

图片展示了一个来自可视化编码环境的模块,其中包含“stop”命令,用于停止选定的电机。该模块当前已选择“IntakeMotor”,并可从下拉菜单中选择“CatapultGroup”。

在此示例中,进气电机将旋转 1 秒钟以拾取球,然后停止。

图片展示了一组来自可视化编码环境的积木块,它们启动后会执行一个序列。第一个积木块启动“进气电机”朝“进气”方向旋转,为拾球做准备。下一个积木块引入了 1 秒的延迟,之后电机停止。

设置电机位置#

设置电机位置块用于将电机的编码器位置设置为输入的值。

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

图片展示了一个可视化的编码模块,用于将“IntakeMotor”的位置设置为 0 度。该模块颜色为浅蓝色,带有下拉菜单,可用于选择电机和测量单位(度)。白色椭圆形输入框中的数字“0”设置为位置值。

选择要使用的电机。

图片显示了一个可视化编码块,其中“IntakeMotor”被设置为 0 度。下拉菜单打开,显示“IntakeMotor”为所选电机,以及“CatapultGroup”作为备选选项。该块以黄色轮廓突出显示,并且数字“0”被设置为白色椭圆形输入字段中的位置值。

设置要使用的测量单位,度或圈。

图片显示了一个可视化的编码块,其中“IntakeMotor”被设置为 0 度。测量单位的下拉菜单已打开,显示“度”为选定选项,“圈”为备选选项。数字“0”被设置为白色椭圆形输入字段中的位置值。

在此示例中,降低的弹射臂被设置为新的 0 度位置。

图片展示了用于控制“弹射组”的一系列可视化编码块。第一个块是“启动时”块,随后是使用“旋转弹射组释放”命令释放预装弹球的指令。然后,代码使用“旋转弹射组至 1260 度”块降低弹射臂,准备发射下一个弹球。最后,代码使用“将弹射组位置设置为 0 度”块将降低的弹射臂位置设置为新的 0 度。

设置电机速度#

设置电机速度块用于设置电机的速度。

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

图片展示了一个可视化编程模块,它将“IntakeMotor”的速度设置为 50%。该模块使用下拉菜单选择电机,并使用数字输入框设置速度百分比。所选电机为“IntakeMotor”,速度设置为 50%,单位为百分比(“%”)。

选择要使用的电机。

图片展示了一个用于设置电机速度的可视化编程模块。所选电机为“IntakeMotor”,下拉菜单中可选择“CatapultGroup”。速度设置为 50%,单位为百分比(“%”)。该模块高亮显示,表示用户当前正在通过下拉菜单选择电机。

设置电机速度块将接受-100%到100%的范围。

在此示例中,进气电机的速度在进气电机开始旋转以拾取球之前设置为 100%。

图片展示了一个以“启动时”块开头的编码块设置。在其下方,有一条注释解释了代码的用途:“启动进气电机,准备拾取球”。下方的第一个块将“进气电机”的速度设置为 100%,紧接着是另一个块,它将“进气电机”沿“进气”方向旋转。

设置电机超时#

设置电机超时块用于设置电机运动块的时间限制。

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

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

该图显示了将“IntakeMotor”的超时时间设置为 1 秒的块。

选择要使用的电机。

该图描绘了一个用于将“IntakeMotor”的超时设置为 1 秒的块,下拉菜单显示“IntakeMotor”为选定的电机,“CatapultGroup”为另一个可用选项。

在此示例中,弹射器组的超时时间设置为 2 秒,然后才开始降低弹射臂。

图片展示了一个程序块序列,该序列设计为在程序启动时启动。该序列将“CatapultGroup”电机的超时设置为 2 秒,然后发出命令降低弹射臂以准备拾取球。弹射臂设置为向“降低”方向旋转 10 圈。此序列可能确保弹射臂在超时前运行特定时长,从而有助于在任务期间管理电机运行。

传感#

Swish 可以访问标准 计时器传动系统距离 传感块。

[眼部感应](https://test-api.vex.com/vr/home/blocks/sensing.html#eye-sensor)已重命名为光学感应,以匹配后部光学传感器。

Swish 可以使用电机传感块:

电机已完成#

电机已完成块用于报告所选电机或电机组是否已完成其运动。

该图显示了一个带有条件语句的块,用于检查“IntakeMotor”是否已完成其任务。

选择要使用的电机或电机组。

该图显示了一个用于检查“IntakeMotor”是否完成操作的块。可以看到一个下拉菜单,用户可以选择“IntakeMotor”或“CatapultGroup”来检查所选电机或电机组的完成状态。当前在下拉菜单中选择的是“IntakeMotor”。

当选定的电机或电机组完成其运动时,电机完成块会报告“True”。

当选定的电机或电机组尚未完成其运动时,电机已完成块将报告“False”。

电机已完成块用于具有六边形(六面)空间的块中。

电机旋转#

电机正在旋转块用于报告所选电机或电机组是否正在移动。

图片显示了一个用于检查“IntakeMotor”当前是否正在旋转的模块。有一个下拉菜单,用户可以在其中选择要检查的电机,当前选中的是“IntakeMotor”。

选择要使用的电机或电机组。

图片展示了一个用于检查“IntakeMotor”是否旋转的块。此时会打开一个下拉菜单,其中显示了可在“IntakeMotor”和“CatapultGroup”之间进行选择的选项,当前已选择“IntakeMotor”。

当选定的电机或电机组正在移动时,电机正在旋转块会报告“True”。

当选定的电机或电机组没有移动时,电机正在旋转块会报告“False”。

马达正在旋转块用于具有六边形(六面)空间的块中。

电机位置#

电机位置块用于报告电机或电机组中第一个电机的位置。

该图显示了一个块,它表示一个用于查询“IntakeMotor”位置(以度为单位)的命令。下拉菜单中可以选择电机和测量单位,当前已选择“IntakeMotor”和“度”。

选择要使用的电机或电机组。

该图显示了一个块,该块表示用于查询“IntakeMotor”位置(以度为单位)的命令。用于选择电机的下拉菜单已展开,显示已选择的“IntakeMotor”和另一个选项“CatapultGroup”。“位置(以度为单位)”和“度”字段也可见。

选择使用的单位,

图片显示了一个命令块,用于查询“IntakeMotor”的位置(单位为度或圈)。用于选择测量单位的下拉菜单已展开,显示“度”为已选选项,“圈”为另一个可用选项。

电机位置块用于具有圆形空间的块中。

在此示例中,弹射臂将降低,直到其电机位置大于 1260 度。

图片展示了用于控制“CatapultGroup”电机的一系列命令块。该序列在项目启动时启动。它通过沿释放方向旋转“CatapultGroup”来释放预载的球,然后通过向下旋转电机来降低弹射臂,为下一个球的发射做准备。程序会等待电机位置小于 1260 度,之后停止“CatapultGroup”电机。这些块采用颜色编码,条件块以绿色突出显示,停止命令以蓝色突出显示。

电机转速#

电机速度块用于报告电机或电机组中第一个电机的当前速度。

该图显示了一个单独的块,该块代表获取“IntakeMotor”速度的百分比 (%) 的命令。该块呈圆形且呈浅蓝色,表示它用于以指定单位报告或检索与“IntakeMotor”速度相关的值。

选择要使用的电机或电机组。

图片展示了一个用于检索“IntakeMotor”速度的块,以百分比 (%) 表示。该块呈浅蓝色且呈圆形,表明其用于报告数值。可以看到一个下拉菜单,其中显示“IntakeMotor”为已选选项,以及“CatapultGroup”为备选选项,用户可以选择要检索哪个电机的速度。

电机速度块用于具有圆形空间的块中。