在 VEX 机器人竞赛 (VRC) 比赛期间,在机器人上使用 V5 距离传感器可以让您的机器人通过自主运动获得更多分数。
本文使用的示例游戏是 2021-2022 年 VRC 游戏《Tipping Point》。 查看本页 了解有关该游戏及其玩法的更多信息。 有关本文中使用的游戏定义、游戏规则概述和评分, 请参阅《引爆点的游戏手册。
V5距离传感器
V5 距离传感器 是功能强大的 V5 传感器之一,专为与 V5 机器人平台完全集成而设计。
- 该传感器使用教室安全激光脉冲来测量从传感器正面到物体的距离。
- V5距离传感器可用于检测物体并确定物体的相对尺寸。 物体的大致尺寸被报告为小、中或大。
- 该传感器还可用于计算机器人的接近速度。 接近速度测量机器人/传感器向物体移动时的速度。
有关 V5 距离传感器、其工作原理以及如何与 VEXcode V5 一起使用的更多详细信息,v请参阅 VEX 库中的这篇文章。
V5 距离传感器示例
该项目的目标是让机器人拾取并移动移动目标,使用 V5 距离传感器来检测目标的距离。
这是本文将介绍的代码示例。
将详细介绍示例中的行为以及如何获取用于编码 V5 距离传感器的参数。
您可以按照本文的说明在 VEXcode V5 中构建项目,或者您也可以阅读本文以获取灵感,作为在编写自己的自定义机器人时如何包含 V5 距离传感器的示例。
该视频显示了上面的代码正在执行,以及机器人拾取并移动移动目标。
如果您想亲自尝试该示例,这里是 VEXcode V5 中使用的机器人配置,用于将机器人和距离传感器添加到本示例的配置中。
本例中使用的机器人
本例中使用的机器人是 2021-2022 VRC 英雄机器人 Moby。 Moby 的设计没有任何传感器,本例中为 Moby 添加了 V5 距离传感器。
在此示例中,V5 距离传感器安装在 Moby's Forks 的中心附近。
有关 Moby 的更多信息, 请查看 VEX 库中的这篇文章。
您不必使用 Moby 来编码 V5 距离传感器或参加今年的比赛。 您可以将传感器安装在定制机器人上任何您认为合适的位置。
注意: 确保机器人上没有任何结构位于传感器表面的小激光窗口前面。 目标和传感器之间的传感器前面需要有一条畅通的路径。
细分行为进行评分
要使用 V5 距离传感器的反馈拾取并移动移动目标,首先要分解机器人应如何移动。
首先,机器人应面向移动目标放置。
然后,机器人应向前行驶,直到距离传感器检测到移动目标位于货叉内并靠近传感器。
一旦传感器检测到移动目标位于货叉内部或靠近传感器,机器人就会停止行驶并抬起货叉拾取移动目标。
一旦拾取移动目标,机器人将左转 90 度并向前行驶 600 毫米 (mm)。
然后,机器人将降低叉子以将移动目标放下,并反向行驶远离移动目标,这样在下一步移动时就不会意外地将其撞倒。
了解参数
为了执行上述行为,了解移动目标距离 V5 距离传感器有多远非常重要。
使用 V5 距离传感器拾取移动目标的参数
为了让机器人向前行驶,直到距离传感器检测到移动目标位于货叉内部并靠近传感器,需要从 V5 Brain 记录传感器的值。
将移动目标放在机器人的叉子之间。
然后,从大脑的屏幕中选择“设备”,然后选择距离传感器的图标。
移动目标距传感器的距离(以毫米 (mm) 为单位)会显示在 Brain 的屏幕上。
这是使用距离传感器拾取移动目标时将在项目中使用的值。
升高和降低货叉的参数
再次将移动目标放入叉子内。
然后,从 Brain 的屏幕中选择“设备”,然后选择 Motor 2 的图标。 电机 2 控制左前叉。
大脑屏幕上会报告叉子抬起的度数。
这是在项目中升高和降低货叉以拾取和放置移动目标时将使用的值。
使用运算符块
在此项目中, <Less than> 操作符块用于对距离传感器进行编码。
这是因为,随着距离传感器越来越接近某个物体,传感器与该物体之间的距离(以毫米为单位)会减小。
一旦距离小于预定量,可以选择阈值来触发机器人的行为。
例如,当机器人朝移动目标行驶时,一旦距离为 小于 约 139 毫米 (mm),请使用 <Less than> 操作员块来触发机器人停止的行为。
例如,如果该值更改为 10 毫米 (mm),则机器人实际上会遇到移动目标并可能损坏自身,因为距传感器 10 毫米 (mm) 的距离不足以防止机器人的叉子接触移动目标。