在 VEXcode VR 中使用距离传感器

VR 机器人上的距离传感器报告 VR 机器人与最近物体之间的距离。 传感器利用激光从物体反射并返回传感器所需的时间来计算距离。


VR机器人上的距离传感器

前眼朝下

距离传感器是报告 VR 机器人与最近固体物体之间距离的传感器。

VR 自上而下

距离传感器使用与声纳设备相同的原理来测量声音。 它通过传感器一侧的发射器发出微小的激光脉冲,然后计算光反射回传感器另一侧的接收器所需的时间。 传感器根据脉冲往返所需的时间来计算距离。 然后,距离传感器向 VR 机器人报告最近物体的距离。

Screen_Shot_2021-12-10_at_2.45.39_PM.png

当距离 VR 机器人前方的距离越来越远时,距离传感器的视野宽度会发生变化:

  • 当寻找小于 1000 毫米(约 39 英寸)远的物体时,传感器可以检测 10 度视野内的物体。
  • 当寻找 1000 毫米(约 39 英寸)和 2000 毫米(约 78 英寸)之间的物体时,传感器可以检测 5 度视野内的物体。
  • 当寻找大于 2000 毫米(约 78 英寸)远的物体时,传感器可以检测 2 度视野内的物体。

距离传感器的常见用途

VR 自上而下

距离传感器可以检测VR机器人前方是否有物体。 这可以用来避开障碍物。

VEXcode VR 块 墙迷宫游乐场
前距示例.png 游乐场距离1.jpeg
VEXcode VR Python
def main():
while not front_distance.get_distance(MM) < 50:
(FORWARD)
(20, MSEC)
()

距离传感器可以测量距离传感器正面与物体正面之间的距离。 这有助于完成迷宫而不会不断撞到墙壁或躲避物体。

VEXcode VR 块 动态城堡破坏者游乐场
永远的距离 example.png

游乐场距离 2.jpeg

VEXcode VR Python
def main():
while True:
if front_distance.found_object():
(FORWARD)
else:
(RIGHT)
(20,MSEC)

在此示例中,如果距离传感器发现物体,VR 机器人将向前行驶。 如果没有检测到物体,VR机器人将右转并继续检查是否有物体。

注意: 此示例将找到第一座建筑物,但需要改进以避免从桌子上掉下来。


将距离传感器与 VEXcode VR 块结合使用

距离传感器.png

与距离传感器一起使用的块可以在“传感”类别中找到。

<发现物体的距离> 块

距离发现物体块.png

距离传感器使用 <距离发现对象>块检测其前面是否有对象。 距离传感器可以检测距离传感器 3000 毫米(约 118 英寸)范围内的物体或表面。

等到距离找到object.png

<Distance found object>块是一个布尔块,返回条件为 true 或 false ,并且适合与其他块具有六边形(六边形)空间的任何块内。

有关布尔块的更多信息, 查看这篇文章。

找到物体的距离.png

<Distance found object> 块的值是一个布尔块,当距离传感器靠近物体时报告 true,当距离传感器距离物体不够近时报告 false。

True 或 false 将被报告并出现在监控控制台中。 

要了解有关 Monitor Console 的更多信息, 请查看本文。

街区(距离)

距离下拉菜单.png

使用(距离)块,距离传感器可以报告最近物体的距离,以毫米 (mm) 或英寸为单位。

距离大于.png

(距离)块报告数值并适合任何带有椭圆形空间的块。

有关记者区块的更多信息, 查看这篇文章。 

前部距离(毫米或英寸).png

以毫米 (mm) 或英寸为单位的(距离)块的值可以显示在 VEXcode VR 的监视器控制台上。 

要了解有关 Monitor Console 的更多信息, 请查看本文。


在 VEXcode VR Python 中使用距离传感器

Screen_Shot_2021-11-11_at_9.49.14_AM.png

要开始使用 Python 对距离传感器进行编程,您需要首先打开一个文本项目 VEXcode VR。 欲了解更多信息,请参阅 这篇文章。

Screen_Shot_2021-12-10_at_2.26.12_PM.png

接下来,在工具箱中找到 Sensing 类别,并找到 和 get_distance 命令。 这些函数报告有关传感器的布尔值或数值。

Screen_Shot_2021-12-10_at_2.38.31_PM.png

要将命令添加到项目中,您可以从工具箱中拖入命令,或使用自动完成功能在工作区中键入命令。

要了解有关使用 Python 在 VEXcode VR 中自动完成的更多信息, 请参阅本文。

def main(): 
while not front_distance.get_distance(MM) < 50:
(FORWARD)
(20, MSEC)
()

当您希望机器人执行诸如行驶之类的操作直到距离传感器距离墙壁 50 毫米或更小,然后停止或转弯时,可以将 while 循环与机器人上的传感器一起使用。

在本项目中,当距离传感器报告的值大于50mm时,机器人将向前行驶,当距离传感器距离墙壁小于50mm时,机器人将停止行驶。

def main():
monitor_sensor("front_distance.get_distance", "front_distance.found_object")

get_distance 和 命令的值可以显示在 VEXcode VR 的监视器控制台上。 要了解有关在 VEXcode VR Python 中使用监视器控制台的更多信息, 请参阅本文。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: