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)