GPS传感器#
介绍#
V5 GPS(游戏定位系统™)传感器可为 VEX 场地上的机器人提供精确的位置和方向跟踪。它利用场地周边的 GPS 场地代码实时计算机器人的 X 和 Y 坐标以及航向。
GPS 传感器使用在“设备”窗口中配置 GPS 传感器时输入的偏移量自动计算出的参考点来返回机器人的位置。
有关 GPS 传感器的更多信息,请阅读 VEX 库中的 将 GPS 传感器与 VEX V5 一起使用。
参考点作为 GPS 传感器自身的 (0, 0) 位置,GPS 方法返回的所有坐标、航向和运动都相对于此配置点。

本页面使用 gps_sensor 作为示例 GPS 传感器名称。请根据需要将其替换为您自己配置的名称。
以下是可用方法列表:
calibrate– 校准 GPS 传感器,使其航向设置为当前传动系统航向。set_origin– 设置机器人上的参考点位置。set_location– 设置场上参考点的位置和方向。x_position– 返回场上参考点的 x 坐标。y_position– 返回场上参考点的 y 坐标。heading– 根据字段方向返回参考点的航向。acceleration– 返回机器人在选定轴上的加速度。gyro_rate– 返回机器人在选定轴上的旋转速度。orientation– 返回机器人的横滚、俯仰或偏航姿态(以度为单位)。quality– 返回 GPS 传感器的信号强度。changed– 注册一个函数,当 GPS 传感器检测到航向变化时,该函数将被调用。
构造函数 - 手动初始化 GPS 传感器。
Gps– 创建一个 GPS 传感器。
校准#
calibrate 校准参考点,将其配置的航向设置为当前驱动系统的航向。在此期间,机器人必须保持完全静止,因为校准期间的任何移动都会导致结果不准确。
Usage:
gps_sensor.calibrate()
参数 |
描述 |
|---|---|
此方法没有参数。 |
设置原点#
set_origin 手动设置机器人上的参考点位置。这样做是为了手动设置机器人上 GPS 传感器的位置,而不是在配置设置中进行设置。
Usage:
gps_sensor.set_origin(x, y, distance_units)
参数 |
描述 |
|---|---|
x |
机器人上参考点的 x 坐标。 |
是 |
机器人上参考点的y坐标。 |
距离单位 |
x 和 y 坐标的计量单位:
|
# GPS Sensor is mounted 25mm forward
# from the reference point on a robot
gps.set_origin(0, 25, MM)
设置位置#
set_location 手动设置场地上参考点的位置和方向。如果启动时 GPS 传感器距离场地墙壁太近,无法接收到足够的 GPS 场地代码,则此操作有助于减少误差。

Usage:
gps_sensor.set_location(x, y, distance_units, heading, heading_units)
参数 |
描述 |
|---|---|
x |
场上参考点的 x 坐标。 |
是 |
场上参考点的 y 坐标。 |
距离单位 |
x 和 y 坐标的计量单位:
|
标题 |
参考点相对于绝对场航向的航向,范围从 0 度到 359.9 度。 |
标题单位 |
航向的计量单位: |
x_position#
x_position 返回场上参考点的 x 坐标。
Usage:
gps_sensor.x_position(units)
参数 |
描述 |
|---|---|
单元 |
计量单位:
|
y 位置#
y_position 返回场上参考点的 y 坐标。
Usage:
gps_sensor.y_position(units)
参数 |
描述 |
|---|---|
单元 |
计量单位:
|
标题#
heading 根据场的方向(0 到 359.9 度)返回参考点的航向。
该航向对应于绝对航向,其范围为顺时针方向的 0º 至 359.9º。0º 位于 12 点钟位置。

Usage:
gps_sensor.heading()
参数 |
描述 |
|---|---|
此方法没有参数。 |
加速度#
acceleration 返回机器人在指定轴上的加速度,范围从 -4.0 到 4.0 Gs。
Usage:
gps_sensor.acceleration(axis)
参数 |
描述 |
|---|---|
轴 |
使用哪个轴:
|
陀螺仪速率#
gyro_rate 返回机器人在选定轴上的旋转速度。
Usage:
gps_sensor.gyro_rate(axis, units)
参数 |
描述 |
|---|---|
轴 |
使用哪个轴:
|
单位 |
计量单位:
|
方向#
orientation 返回机器人的横滚、俯仰或偏航姿态(以度为单位)。
Usage:
gps_sensor.orientation(axis, units)
参数 |
描述 |
|---|---|
轴 |
使用哪种方向:
|
单位 |
计量单位: |
质量#
quality 返回 GPS 传感器的信号强度百分比。
可能的值 |
描述 |
|---|---|
100 |
GPS传感器报告的所有位置和航向数据均有效。 |
约90 |
位置数据不再通过捕获 GPS 场代码信息来计算,而是通过其他方式计算。 |
0-80 |
只有 GPS 传感器的航向值是有效的,但随着时间的推移,GPS 传感器扫描到的 GPS 场码不足以准确确定位置和航向信息,报告的信号质量将持续下降,直到 0,此时所有 GPS 传感器数据实际上都被冻结,不再有效。 |
Usage:
gps_sensor.quality()
参数 |
描述 |
|---|---|
此方法没有参数。 |
已更改#
changed 注册一个函数,当 GPS 传感器检测到航向变化时,该函数将被调用。
Usage:
gps_sensor.changed(callback, arg)
参数 |
描述 |
|---|---|
|
先前定义的 函数,当 GPS 传感器的航向发生变化时执行。 |
|
可选。包含要传递给回调函数的参数的元组。有关更多信息,请参阅使用带参数的函数。 |
def my_function():
brain.screen.print("GPS heading changed")
# Call my_function whenever gps_sensor's heading changes
gps_sensor.changed(my_function)
构造函数#
构造函数用于手动创建 Gps 对象,这是在 VEXcode 之外配置 GPS 传感器所必需的。
Gps#
Gps 创建一个 GPS 传感器。
Usage:
Gps(smartport)
范围 |
描述 |
|---|---|
|
GPS 传感器连接的智能端口,写成 |
# Create a GPS Sensor in Port 10
gps_sensor = Gps(Ports.PORT10)