通过 Python 使用 VEXcode VR 中的距离传感器

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


VR机器人上的距离传感器

前眼朝下

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

VR 自上而下

距离传感器使用 1 类激光器,类似于现代手机用于头部检测的激光器。 它发出微小的安全激光脉冲,然后利用脉冲反射所需的时间来计算附近物体的距离。 传感器根据激光脉冲往返所需的时间来计算距离。


与距离传感器一起使用的 VEXcode VR 命令

distance_commands.png

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

获取距离 命令

Screen_Shot_2021-10-07_at_4.17.49_PM.png

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

def main(): 
monitor_sensor("distance.get_distance")

要在监视器控制台中显示距离传感器值,请拖入或键入“监视器传感器”命令。 然后将参数设置为要显示的传感器值的字符串标识符。 在这种情况下,字符串标识符将为“distance.get_distance”。

Screen_Shot_2021-10-07_at_4.52.59_PM.png

距离将以毫米 (mm) 和英寸为单位显示在监视器控制台中。

找到对象 命令

Screen_Shot_2021-10-07_at_4.24.37_PM.png

距离传感器使用 距离发现物体 命令检测其前方是否有物体。 距离传感器可以检测距离传感器 3000 毫米(约 118 英寸)范围内的物体或表面。 距离找到对象命令返回一个布尔值,即 TrueFalse

def main():
monitor_sensor("distance.found_object")

命令的值返回一个布尔值,当距离传感器距离物体太近时,报告 True 当距离传感器距离物体不够近时,报告 False

要在监视器控制台中显示距离传感器值,请拖入或键入“监视器传感器”命令。 然后将参数设置为要显示的传感器值的字符串标识符。 在这种情况下,字符串标识符将为“distance.found_object”。

Screen_Shot_2021-10-07_at_5.12.14_PM.png

Truefalse 将被报告并出现在监控控制台中。

激光使传感器具有非常窄的视场,因此检测始终位于传感器的正前方。 


距离传感器的常见用途

VR 自上而下

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

Screen_Shot_2021-10-07_at_4.39.16_PM.png

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

def main():
while distance.get_distance(MM) > 50:
(FORWARD)
(5, MSEC)
()

要使用上面的示例,请将此代码复制到 VEXcode VR 中并在 Wall Maze Playground 上运行该项目。


距离传感器示例项目

Screen_Shot_2021-10-07_at_4.48.44_PM.png

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

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

def main():
while True:
if distance.found_object():
(FORWARD)
else:
(RIGHT)
(5, MSEC)

要使用上面的示例,请将此代码复制到 VEXcode VR 中并在 Castle Crasher 或 Dynamic Castle Crasher Playground 上运行该项目。

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

Last Updated: