GPS感應器#

介紹#

V5 GPS(遊戲定位系統™)感測器可為 VEX 場地上的機器人提供精確的位置和方向追蹤。它利用場地週邊的 GPS 場地代碼即時計算機器人的 X 和 Y 座標以及航向。

GPS 感測器使用在「設備」視窗中配置 GPS 感測器時輸入的偏移量自動計算出的參考點來返回機器人的位置。

有關 GPS 感測器的更多信息,請閱讀 VEX 庫中的 將 GPS 感測器與 VEX V5 一起使用。

參考點作為 GPS 感測器本身的 (0, 0) 位置,GPS 方法傳回的所有座標、航向和運動都相對於此配置點。

VEX V5 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 座標的計量單位:

  • MM
  • INCHES

# GPS Sensor is mounted 25mm forward
# from the reference point on a robot

gps.set_origin(0, 25, MM)

設定位置#

set_location 手動設定場地上參考點的位置和方向。如果啟動時 GPS 感應器距離場地牆壁太近,無法接收足夠的 GPS 場地代碼,則此操作有助於減少誤差。

VEX V5 場的俯視圖,顯示感測器正在觀察場兩側的場代碼。

Usage:
gps_sensor.set_location(x, y, distance_units, heading, heading_units)

參數

描述

x

場上參考點的 x 座標。

是

場上參考點的 y 座標。

距離單位

x 和 y 座標的計量單位:

  • MM
  • INCHES

標題

參考點相對於絕對場航向的航向,範圍從 0 度到 359.9 度。

標題單位

航向的計量單位:DEGREES

x_position#

x_position 傳回場上參考點的 x 座標。

Usage:
gps_sensor.x_position(units)

參數

描述

單元

計量單位:

  • MM – 毫米
  • INCHES

y 位置#

y_position 傳回場上參考點的 y 座標。

Usage:
gps_sensor.y_position(units)

參數

描述

單元

計量單位:

  • MM – 毫米
  • INCHES

標題#

heading 根據場的方向(0 到 359.9 度)返回參考點的航向。

此航向對應於絕對航向,其範圍為順時針方向的 0º 至 359.9º。 0º 位於 12 點鐘位置。

VEX V5 場的俯視圖,顯示了場周圍的度數。

Usage:
gps_sensor.heading()

參數

描述

此方法沒有參數。

加速度#

acceleration 返回機器人在指定軸上的加速度,範圍從 -4.0 到 4.0 Gs。

Usage:
gps_sensor.acceleration(axis)

參數

描述

軸

使用哪一個軸:

  • AxisType.XAXIS
  • AxisType.YAXIS
  • AxisType.ZAXIS

陀螺儀速率#

gyro_rate 返回機器人在選定軸上的旋轉速度。

Usage:
gps_sensor.gyro_rate(axis, units)

參數

描述

軸

使用哪一個軸:

  • AxisType.XAXIS
  • AxisType.YAXIS
  • AxisType.ZAXIS

單位

計量單位:

  • VelocityUnits.DPS – 度/秒,範圍從 -1000 到 1000
  • VelocityUnits.RPM – 轉/分,範圍從 -167 到 167

方向#

orientation 返回機器人的橫滾、俯仰或偏航姿態(以度為單位)。

Usage:
gps_sensor.orientation(axis, units)

參數

描述

軸

使用哪種方向:

  • OrientationType.ROLL
  • OrientationType.PITCH
  • OrientationType.YAW

單位

計量單位:DEGREES

品質#

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)

參數

描述

callback

先前定義的 函數,當 GPS 感測器的航向改變時執行。

arg

可選。包含要傳遞給回呼函數的參數的元組。有關更多信息,請參閱使用帶參數的函數。

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)

範圍

描述

smartport

GPS 感測器連接的智慧型端口,寫成 Ports.PORTx ,其中 x 是端口號。

# Create a GPS Sensor in Port 10
gps_sensor = Gps(Ports.PORT10)