VEX EXP 传感器故障排除

当您的机器人在使用传感器反馈时未按预期运行时,您可以按照分步故障排除程序来查找并解决问题。 本文将解释故障排除过程中的步骤,并提供有关如何使用这些步骤的提示。 

这个过程的步骤是:

  1. 找出问题所在
  2. 检查硬件
  3. 检查软件
  4. 分析和应用数据

找出问题所在

对传感器进行故障排除的第一步是确定导致问题的传感器。 将观察到的机器人行为与预期的机器人行为进行比较。 有问题的行为是由传感器引起的吗? 如果是的话,哪个传感器? 如果您需要更多信息来确定哪个传感器可能出现问题,请阅读以下与机器人上的传感器相关的文章。

VEX EXP 传感器:

一旦确定了哪个传感器导致了意外行为,您就可以继续该过程。


检查硬件

第二步是检查机器人上的硬件,以确保传感器能够按预期工作。 以下每个硬件注意事项都可能会影响传感器的功能。

检查传感器的位置

EXP_Treasure_Hunt_Lesson_3_-Tile_0.webp

首先查看传感器在机器人上的位置。 传感器是否被任何物体阻挡,例如机器人的其他部分? 确保传感器具有按预期运行所需的空间。

如图所示,光学传感器对其要检测的物体具有清晰的视线。

检查传感器连接

色调.png

通过查看 VEX EXP Brain 设备屏幕中报告的数据来测试传感器的功能。 这可以帮助您验证传感器是否已插入并正常工作。 

要访问设备屏幕, 请按照本文中的步骤操作。 设备屏幕打开后,查看传感器是否正在报告数据。

EXP_brain_with_optical.png

如果传感器未报告数据,请确保传感器已正确插入。 将传感器插入智能端口时,当传感器的锁定片完全卡入端口时,您应该听到咔哒声。

将传感器插入 3 线端口时,电缆应以正确的方向完全插入,其中白线最靠近 Brain 屏幕。 

您还可以尝试将正在使用的传感器更换为另一个传感器,看看是否可以解决您的问题。

如果您更改了传感器放置或传感器连接的某些内容,请再次测试您的项目以查看是否解决了问题。 如果您的传感器放置和连接没有改变,请继续执行下一步以继续故障排除过程。


检查软件

一旦您确定传感器已成功放置并连接到机器人,您接下来可以查看 VEXcode EXP 项目。 迭代项目可以帮助您确保来自传感器的数据在项目中得到有效使用。 以下策略可以帮助您对传感器进行编码。

如果您将这些策略中的任何一个应用于您的 VEXcode EXP 项目,请再次测试您的项目以查看是否解决了问题。

检查固件和配置

Screen_Shot_2023-04-17_at_11.01.34_AM.png

现在您确定所有设备都已正确连接到 Brain,请检查 VEXcode EXP 中的设备配置。

检查并确保配置中存在所有传感器。 然后,检查并确保每个端口都连接到正确的端口。

更改任何不正确的设备配置。

运行示例项目

截图_2023-04-20_at_11.33.44_AM.png

打开使用您正在排除故障的传感器的示例项目。 您可以选择“传感”类别来过滤示例项目。

有关 EXP 块示例项目和模板的更多信息, 请参阅这篇文章

有关 EXP Python 示例项目和模板的更多信息, 请参阅这篇文章

有关 EXP C++ 示例项目和模板的更多信息, 请参阅这篇文章

截图_2023-04-20_at_11.36.24_AM.png

打开后,阅读注释以确定示例项目中的功能是否与您尝试使用传感器执行的操作一致。

在此显示的示例项目中,注释表明保险杠开关用于检测何时按下开关,以便机器人在接触到物体时可以停止行驶。

运行示例项目并观察机器人行为。 然后查看该项目,了解如何使用传感器数据来引发观察到的行为。 您可能需要多次运行示例项目来帮助解决此问题。

您可能想要尝试创建自己的简化项目,以将从示例项目中学到的知识应用到您的任务中。

使用其他 VEXcode EXP 工具

当您了解有关在 VEXcode EXP 中编码传感器的更多信息时,还可以使用一些工具和策略来帮助您。 您可以使用帮助来单独了解工具箱中的块或命令。 您还可以在项目运行时查看传感器数据,以了解有关传感器报告内容的更多信息。

截图_2023-04-20_at_12.15.12_PM.png

帮助

阅读示例项目或您的项目中的块或命令的帮助,以了解所使用的数据、命令将报告的值以及如何在项目中使用该命令的示例。

查看本文以了解有关访问 VEXcode EXP 块中的帮助的更多信息。

查看本文以了解有关访问 VEXcode EXP Python 中的帮助的更多信息。

打印数据

您还可以在示例项目或您的项目运行时打印传感器的数据,以帮助您更好地了解传感器实时报告的内容。 这可以帮助您确定传感器报告的哪些值用作项目中的参数。 

请注意,在 Blocks 项目中,可以使用单独的 {When started} 帽子块来将所有打印命令组织在自己的堆栈中。

VEXcode EXP 块

VEXcode EXP Python

Screen_Shot_2023-04-06_at_5.24.24_PM.png

VEXcode EXP C++

Screen_Shot_2023-04-06_at_5.16.51_PM.png

选择上面的每个图像进行放大。

打印到 EXP Brain 当您想要查看 VEXcode EXP 项目运行时的值变化时,会很有帮助。 这可以帮助您确定传感器报告的哪些值用作项目中的参数。 这些打印命令可以内置到您已经创建的 VEXcode EXP 项目中,这样您就可以看到机器人移动时传感器值在特定时间发生的变化。 

上面的这些示例项目展示了如何将惯性传感器的值打印到 EXP Brain。 每个项目中的注释解释了项目的流程以及每个命令的使用。

VEXcode EXP 块 

VEXcode EXP Python

Screen_Shot_2023-04-06_at_5.26.02_PM.png

VEXcode EXP C++

Screen_Shot_2023-04-06_at_5.30.39_PM.png

选择上面的每个图像进行放大。

当您运行机器人不运行的 VEXcode EXP 项目时,建议在 VEXcode EXP 中 打印到打印控制台 移动。 在项目执行期间,EXP Brain 必须保持插入状态才能打印到打印控制台。 这是有益的,因为您可以从 VEXcode EXP 窗口读取值,而不是尝试从 Brain 屏幕读取数据。

这些示例显示了将数据从距离传感器打印到 VEXcode EXP 中的控制台的项目。 

有关在 VEXcode EXP 块中使用打印控制台的更多信息,请参阅本文。

有关在 VEXcode EXP Python 中使用打印控制台的更多信息,请参阅本文。


分析和应用数据

接下来,使用您在前面步骤中学到的知识来调整您的原始项目。 您可以继续使用帮助和打印数据等工具,使您能够有效地使用传感器来实现您的目标。

您还可以询问有关您的项目的问题,以帮助您继续前进。 想想这样的事情:

  • 您在项目中使用的值是否大于 < 或小于 > ? 符号的方向是否正确? 如果您使用等于=,请尝试将其替换为大于或小于,以使用一系列值。
  • 您的参数正确吗? 您是否使用传感器的数据来设置参数? 您选择了您需要的下拉选项吗?
  • 您是否多次检查条件? 尝试向您的项目添加一个 Forever 循环,以便在项目运行时重复检查条件。
  • 您的项目遇到困难了吗? 您的条件设置正确吗? 如果您使用嵌套循环,请尝试简化您的项目以隔离各个行为。
  • 您的环境条件是否会影响传感器? 是否太亮或太暗? 有物体或人挡道吗? 尝试在不同的位置运行您的项目,看看是否有帮助。
  • 您正在运行项目的最新版本吗? 您是否已将更新的项目下载到 Brain 中? 确保每次进行更改时都重新下载项目。
  • 您检测到的颜色正确吗? 传感器报告的颜色是否与您项目中的颜色不同? 尝试更改颜色参数或使用一系列色调值,看看是否有帮助。
  • 您是否在传感器视野内检测到物体? 请记住,视野随着机器人的移动而移动。
  • 您在检查条件时是否使用等待块? 检查条件时,请务必在项目中使用非等待块。 查看本文以了解有关 VEXcode EXP 中等待块与非等待块的更多信息。
  • 如果您在块中编码,您的整个堆栈是否附加到 {When started} 帽子块? 块仅在连接时才会运行。 当您拖动块并将它们连接在一起时,您可以听到咔嗒声。

当您回答这些问题时,请务必一次更改项目中的一件事,对其进行测试,然后评估该更改是否有效。 经常测试您的项目可以帮助您更轻松地了解代码如何与机器人的行为联系起来。  您可能需要多次重复故障排除过程中的步骤才能解决您的问题,这没关系。 每次迭代都将帮助您了解有关您正在使用的传感器以及如何在 VEXcode EXP 中对其进行编码的更多信息。

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

Last Updated: