GPS传感#
To make GPS Sensor blocks appear in VEXcode V5, a GPS (Game Positioning System™) Sensor must be configured in the Devices window.
有关详细信息,请参阅以下文章:
GPS校准#
当 GPS 传感器配置为 V5 传动系统的一部分时,GPS 校准 模块会校准 GPS 传感器。这会将 GPS 的配置航向(根据其角度偏移)设置为传动系统的当前航向。
校准 [GPS 15 v]
选择要使用的 GPS 传感器。
在这个例子中,GPS 传感器将进行校准,然后使用传感器的航向将机器人转到场地的 180 度航向。
当开始 :: hat events
[Turn to face the lower Field wall using data from the GPS Sensor.]
校准 [DrivetrainGPS]
归位至 (180) 度 ▶
设置 GPS 位置#
设置 GPS 位置 模块用于在项目开始时将 GPS 传感器的 X、Y 坐标和航向设置为已知值。这样做有助于减少项目启动时由于传感器靠近场地墙壁而导致的 GPS 数据不准确。
设置 [GPS 15 v] 设置为 (0) (0) [毫米 v] 和 (0) 度
当 GPS 传感器距离场地墙壁太近而无法读取场地代码时(例如,当机器人处于场地上的比赛起始位置时),如果代码依赖于 GPS 的坐标和航向数据,则经常会出现意外行为。
选择要使用的 GPS 传感器。
输入场地中该已知位置机器人参考点的 X 和 Y 坐标。机器人上的参考点与配置 GPS 传感器时用于计算偏移量的位置相同。
选择 X 和 Y 坐标使用的单位。
最后一个输入是机器人参考点的航向。使用上面的示例图,GPS 传感器安装在机器人后方,而参考点位于机器人手臂的末端。由于参考点朝向右侧墙壁(航向为 90 度),因此应输入的航向值为 90 度。
此处显示的示例将机器人的 X 和 Y 位置设置为项目开始时的起始位置。
当开始 :: hat events
[Wait so the GPS has time to initialize.]
等待 (0.5) 秒
[Set the starting to the bottom left corner of the Field facing the right wall.]
设置 [GPS 20 v] 设置为 (-1200) (-1200) [毫米 v] 和 (90) 度
GPS定位#
GPS 位置块用于报告场地上 GPS 传感器的 X 或 Y 坐标位置。
([GPS 15 v] [X v] 位置 [毫米 v])
默认情况下,GPS 位置报告块报告 GPS 传感器的 X 或 Y 坐标位置。
如果在配置 GPS 传感器时添加了偏移量,则报告的 X 或 Y 位置将是机器人上的参考点。
选择一个 GPS 传感器来报告位置。
选择要报告位置的轴:X 或 Y。
选择报告位置的单位:毫米 (mm) 或 英寸。
在本例中,机器人(从场地右侧出发)向中心移动,直到 X 轴位置报告小于 0 毫米。然后机器人停止移动。
当开始 :: hat events
[Drive slowly towards the center of the Field.]
set drive velocity to (20) [% v]
驱动 [向前 v]
[Stop driving when the GPS reports an X position near the center of the Field.]
等到 <([GPS 20 v] [X v] 位置 [毫米 v]) [math_less_than v] (0)>
驱动停止
GPS 航向#
GPS 航向 块用于根据传感器从 GPS 字段代码读取的数据报告字段上 GPS 传感器的航向。
([GPS 15 v] 归位角度值)
GPS 航向报告块报告的范围是从 0.00 到 359.99 度。
航向对应于场方向,范围为顺时针方向 0º 至 359.9º。0º 位于 12 点钟位置。
默认情况下,GPS 航向报告块报告 GPS 传感器的航向。
如果在配置 GPS 传感器时添加了角度偏移,则报告的航向将是机器人上的参考点。
选择一个 GPS 传感器来报告航向。
在这个例子中,机器人(起始方向面向场地的12点钟方向)转向场地右侧墙壁,直到航向报告大于90度。然后机器人停止行驶。
当开始 :: hat events
[Turn slowly to face the right wall.]
设定转向速度为 (20) [% v]
[右 v] 转
[Stop turning when the GPS reports a heading greater than 90 degrees..]
等到 <([GPS 20 v] 归位角度值) [math_greater_than v] (90)>
驱动停止
GPS加速#
GPS 加速度块用于报告 GPS 传感器上指定轴的加速度值。
([GPS 15 v] [X v] 轴加速度值)
GPS 加速度块报告的值范围是从 -4.0 到 4.0 Gs。
选择要使用的 GPS 传感器。
选择要报告加速度的轴:
X - 报告 GPS 传感器正向和反向旋转的加速度。
Y - 报告 GPS 传感器左右旋转的加速度。
Z - 报告 GPS 传感器上下运动的加速度。
在这个例子中,机器人将向前移动,并在 1 秒后报告其在 X 和 Y 轴上的当前加速度。
当开始 :: hat events
[Drive forward for one second.]
驱动 [向前 v]
等待 (1) 秒
[Print the X and Y accelerations as the Drivetrain moves.]
在 ([GPS 15 v] [X v] 轴加速度值) 上打印 [Brain v] ◀ 并设定光标为下一行
在 ([GPS 15 v] [Y v] 轴加速度值) 上打印 [Brain v] ◀ 并设定光标为下一行
GPS陀螺仪速率#
GPS 陀螺仪速率 模块用于报告 GPS 传感器上指定轴的旋转速率。
([GPS 15 v] 陀螺仪在 [X v] 轴上角速度 [dps v] 值)
GPS 陀螺仪速率 块报告的范围是每秒 -1000 到 1000 度(dps),或每分钟 -167 到 167 转(rpm)。
选择要使用的 GPS 传感器。
选择要报告加速度的轴:
X - 报告 GPS 传感器沿 X 轴旋转时的旋转速率。
Y - 报告 GPS 传感器沿 Y 轴旋转时的旋转速率。
Z - 报告 GPS 传感器在 Z 轴旋转时的旋转速率。
选择报告陀螺仪速率的单位:dps 或 rpm。
在这个例子中,机器人将向左转动,并在 1 秒后报告其当前的 X 轴陀螺仪速率。
当开始 :: hat events
[Turn towards the left for one second.]
[左 v] 转
等待 (1) 秒
[Print the gyro rate of the X axis as the Drivetrain turns.]
在 ([GPS 15 v] 陀螺仪在 [X v] 轴上角速度 [dps v] 值) 上打印 [Brain v] ◀ 并设定光标为下一行
GPS 定位#
GPS 方向块用于报告 GPS 传感器上指定轴的方向。
([GPS 15 v] [横滚 v] 偏转角度值)
选择要使用的 GPS 传感器。
选择要报告方向的轴:
roll - 报告 -180 度到 +180 度之间的值,表示 GPS 传感器向左或向右倾斜时的角度。
pitch - 报告 -90 度到 +90 度之间的值,表示 GPS 传感器向前或向后倾斜时的角度。
偏航 - 报告 -180 度到 +180 度之间的值,表示 GPS 传感器绕垂直轴旋转时的角度。
在这个例子中,机器人将向左转,并在 1 秒后报告其偏航。
当开始 :: hat events
[Turn towards the left for one second.]
[左 v] 转
等待 (1) 秒
[Print the yaw as the Drivetrain turns.]
在 ([GPS 15 v] [偏转 v] 偏转角度值) 上打印 [Brain v] ◀ 并设定光标为下一行
GPS信号质量#
GPS 信号质量 块用于报告 0-100 之间的数值百分比,表示 GPS 传感器的当前信号质量。
报告值 |
描述 |
---|---|
100 |
GPS 传感器报告的所有位置和航向数据均有效。 |
~90 |
任何位置数据不再通过捕获 VEX 字段代码中的信息来计算,而是通过其他方式。 |
0 - 80 |
只有 GPS 传感器航向值有效,但随着时间的推移,GPS 传感器扫描的 VEX 字段代码不足以准确确定位置和航向信息,报告的信号质量将持续下降直至为 0,此时任何 GPS 传感器数据都会被有效冻结且不再有效。 |
([GPS 15 v] 信号质量 %)
选择要使用的 GPS 传感器。
在此代码片段中,由于Forever循环的存在,信号质量将不断被检查。只有当GPS传感器的信号质量报告值高于90时,TRUE分支才会运行,以确保项目中使用的GPS传感器数据有效。
永久循环
如果 <([GPS 20 v] 信号质量 %) [math_greater_than v] (90)> 那么
否则
结束