当您的 VR 机器人在使用传感器反馈时未按预期运行时,您可以按照分步故障排除程序来查找并解决问题。 本文将解释故障排除过程,并提供有关如何使带有传感器的 VR 机器人按预期运行的提示。
这个过程的步骤是:
- 找出问题所在
- 检查VEXcode VR项目
- 分析和应用数据
找出问题所在
对传感器进行故障排除的第一步是确定导致问题的传感器。 将观察到的机器人行为与预期的机器人行为进行比较。 有问题的行为是由传感器引起的吗? 如果是的话,哪个传感器?
了解传感器的放置
为了识别 VEXcode VR 中的传感器问题,了解每个型号的 VR 机器人上有哪些传感器以及传感器位于您正在编码的特定机器人上的位置非常重要。 传感器的放置位置因 VR 机器人的型号而异,而 VR 机器人的型号又因 Playground 而异。 传感器位置将影响传感器与其环境的交互方式。 使用下表确定您正在编码的机器人、包含哪些传感器以及该机器人上传感器的位置。 选择该文章以获取有关传感器放置的更多信息。
机器人 | 游乐场 | 文章 |
VEX VR机器人 |
|
了解 VEXcode VR 中的机器人功能 |
VR迷宫机器人 |
|
了解 VR MazeBot 的功能 |
VR漫游者 |
|
VR 漫游车的特点 |
迪斯科 |
|
了解 VRC 虚拟技能中的机器人功能 |
莫比 |
|
了解 VRC Tipping Point 中的机器人功能 VEXcode VR |
快照 |
|
了解 VIQC 虚拟技能中的机器人功能 |
一扔 |
|
了解 VIQC 中的机器人功能 投入 VEXcode VR |
VR大赛高级英雄机器人 |
|
了解 GO 竞赛中的机器人功能 - VEXcode VR 中的火星数学探险游乐场 |
VR 123机器人 |
|
使用 VEXcode 123 对 VEX 123 眼传感器进行编码(VR 123 机器人具有相同的传感器)。 |
检查 VEXcode VR 项目
一旦确定了导致问题的传感器以及它在 VR 机器人上的位置,您就可以继续检查 VEXcode VR 项目。 迭代项目可以帮助您确保来自传感器的数据在项目中得到有效使用。 以下策略可以帮助您对传感器进行编码。
运行示例项目
打开一个使用您正在排除故障的传感器的示例项目。 您可以选择“传感”类别来过滤示例项目。
有关在 VEXcode VR 中使用示例 Blocks 项目的更多信息, 请参阅本文。
有关在 VEXcode VR, 中使用示例 Python 项目的更多信息,请参阅本文。
打开后,阅读注释以确定示例项目中的功能是否与您尝试使用传感器执行的操作一致。
在此处显示的示例项目中,注释表明该示例项目提供了如何将所有可用距离传感器命令与机器人一起使用的示例。
运行示例项目并观察机器人行为。 然后查看该项目,了解如何使用传感器数据来引发观察到的行为。 您可能需要多次运行示例项目来帮助解决此问题。
您可能还想尝试创建自己的简化项目,以将从示例项目中学到的知识应用到您的任务中。
使用帮助
使用 VEXcode VR 中示例项目或您的项目中的块或命令的帮助功能,了解所使用的数据、命令将报告的值以及如何在项目中使用该命令的示例。
读取监控控制台上的数据
在 VEXcode VR 的监视器控制台中监视传感器值允许用户查看项目中特定传感器值(或多个值)的实时报告。
要打开“监视器”窗口并查看“监视器控制台”,请选择“帮助”旁边的“监视器”图标。
工具箱中传感类别的块可以添加到监视器控制台。
首先,在工具箱内的块中选择要监视的参数。
嵌套、选择块并将其拖动到工作区中的监视器控制台图标。
选定的传感器值将显示在监视器控制台中,并可用于根据需要调整 VEXcode 项目,以便从 VR 机器人获得所需的行为。
有关在 VEXcode VR, 中监控传感器值的更多信息,请参阅本文。
要在 VEXcode VR Python 中监控传感器值,需要将monitor_sensors 命令添加到项目中。 有关使用 Python 监控 VEXcode VR 中传感器的更多信息,请参阅本文。
逐步完成您的项目
VEXcode VR Blocks 中的“Step”按钮允许您查看项目中正在执行的块。 这有助于确定哪个传感块导致项目中出现问题。
步骤按钮位于屏幕右上角,“开始”按钮旁边。
有关单步执行 VEXcode VR 项目的更多信息, 请参阅本文。
分析和应用数据
接下来,使用您在前面步骤中学到的知识来调整您的原始项目。 您可以继续使用帮助和打印数据等工具,使您能够有效地使用传感器来实现您的目标。
您还可以询问有关您的项目的问题,以帮助您继续前进。 想想这样的事情:
- 您在项目中使用的数量是大于 < 还是小于 > ? 符号的方向是否正确? 如果您使用等于=,请尝试将其替换为大于或小于,以使用一系列值。
- 你的参数正确吗? 您是否使用传感器的数据来设置参数? 您选择了您需要的下拉选项吗?
- 您是否多次检查条件? 尝试向您的项目添加一个 Forever 循环,以便在项目运行时重复检查条件。
- 您的项目陷入困境了吗? 你的条件设置正确吗? 如果您使用嵌套循环,请尝试简化您的项目以隔离各个行为。
- 您检测到的颜色正确吗? 传感器报告的颜色是否与您项目中的颜色不同? 尝试更改块或命令中的颜色参数。
- 您是否在传感器视野内检测到物体? 请记住,视野随着机器人的移动而移动。
- 检查条件时是否使用等待块? 检查条件时,请务必在项目中使用非等待块。
- 如果您在块中编码,您的整个堆栈是否附加到 {When started} hat 块? 块仅在连接时才会运行。 当您拖动块并将它们连接在一起时,您可以听到咔嗒声。
- 您是否在正确的 Playground 中运行您的项目? 必须选择正确的 Playground 才能使您的项目按预期运行。
当您回答这些问题时,请务必一次更改项目中的一件事,对其进行测试,然后评估该更改是否有效。 经常测试您的项目可以帮助您更轻松地了解代码如何与机器人的行为相关联。 您可能需要多次重复故障排除过程中的步骤才能解决问题,这没关系。 每次迭代都将帮助您更多地了解您正在使用的传感器以及如何在 VEXcode VR 中对其进行编码。