Czujnik GPS#

Wstęp#

Czujnik V5 GPS (Game Positioning System™) zapewnia precyzyjne śledzenie położenia i orientacji robota na polu VEX. Wykorzystuje on kod GPS wokół obwodu pola do obliczania współrzędnych X i Y oraz kierunku ruchu robota w czasie rzeczywistym.

Czujnik GPS zwraca położenie robota, korzystając z punktu odniesienia automatycznie obliczonego na podstawie przesunięć wprowadzonych podczas konfiguracji czujnika GPS w oknie Urządzenia.

Aby uzyskać więcej informacji na temat czujnika GPS, przeczytaj Korzystanie z czujnika GPS z VEX V5 w bibliotece VEX.

Punkt odniesienia działa jak własna pozycja czujnika GPS (0, 0), w której wszystkie współrzędne, kierunki i ruchy zwracane przez metody GPS są względne względem tego skonfigurowanego punktu.

Czujnik GPS VEX V5.

Ta strona używa gps_sensor jako przykładowej nazwy czujnika GPS. W razie potrzeby zastąp ją własną, skonfigurowaną nazwą.

Poniżej znajduje się lista dostępnych metod:

  • calibrate – Kalibruje czujnik GPS, aby ustawić jego kierunek jako aktualny kierunek układu napędowego.

  • set_origin – Ustawia położenie punktu odniesienia na robocie.

  • set_location – Ustawia położenie punktu odniesienia i kierunek na polu.

  • x_position – Zwraca współrzędną x punktu odniesienia na polu.

  • y_position – Zwraca współrzędną y punktu odniesienia na polu.

  • heading – Zwraca nagłówek punktu odniesienia na podstawie orientacji pola.

  • acceleration – Zwraca przyspieszenie robota na wybranej osi.

  • gyro_rate – Zwraca prędkość obrotową robota na wybranej osi.

  • orientation – Zwraca orientację przechyłu, pochylenia lub odchylenia robota w stopniach.

  • quality – Zwraca siłę sygnału czujnika GPS.

  • changed – Rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy czujnik GPS wykryje zmianę kierunku.

Konstruktor – Ręczna inicjalizacja czujnika GPS.

  • Gps – Tworzy czujnik GPS.

kalibrować#

calibrate kalibruje punkt odniesienia, ustawiając jego skonfigurowany kierunek jako aktualny kierunek układu napędowego. W tym czasie robot musi pozostać całkowicie nieruchomy, ponieważ ruch podczas kalibracji spowoduje uzyskanie niedokładnych wyników.

Usage:
gps_sensor.calibrate()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

ustaw_pochodzenie#

set_origin ustawia ręcznie położenie punktu odniesienia na robocie. Można to zrobić, aby ręcznie ustawić lokalizację czujnika GPS na robocie, zamiast robić to w ustawieniach konfiguracji.

Usage:
gps_sensor.set_origin(x, y, distance_units)

Parametry

Opis

X

Współrzędna x punktu odniesienia na robocie.

y

Współrzędna y punktu odniesienia na robocie.

jednostki_odległości

Jednostka miary dla współrzędnych x i y:

  • MM – milimetry
  • INCHES

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

gps.set_origin(0, 25, MM)

ustaw_lokalizację#

set_location ręcznie ustawia pozycję i kierunek punktu odniesienia na Polu. Można to zrobić, aby zmniejszyć niedokładności, jeśli czujnik GPS znajduje się zbyt blisko ścian Polu podczas uruchamiania, aby uzyskać wystarczającą ilość kodu Polu GPS w swoim polu widzenia.

Widok z góry pola VEX V5 pokazujący czujnik patrzący na kod pola po bokach pola.

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

Parametry

Opis

X

Współrzędna x punktu odniesienia na polu.

y

Współrzędna y punktu odniesienia na polu.

jednostki_odległości

Jednostka miary dla współrzędnych x i y:

  • MM – milimetry
  • INCHES

nagłówek

Kierunek, w którym zwrócony jest punkt odniesienia, względem absolutnego kierunku pola od 0 do 359,9 stopnia.

jednostki nagłówkowe

Jednostka miary dla nagłówka:DEGREES

x_position#

x_position zwraca współrzędną x punktu odniesienia na polu.

Usage:
gps_sensor.x_position(units)

Parametry

Opis

jednostka

Jednostka miary:

  • MM – milimetry
  • INCHES

pozycja y#

y_position zwraca współrzędną y punktu odniesienia w polu.

Usage:
gps_sensor.y_position(units)

Parametry

Opis

jednostka

Jednostka miary:

  • MM – milimetry
  • INCHES

nagłówek#

heading zwraca kierunek punktu odniesienia na podstawie orientacji pola od 0 do 359,9 stopnia.

Nagłówek odpowiada bezwzględnemu nagłówkowi pola, który mieści się w zakresie od 0° do 359,9° zgodnie z ruchem wskazówek zegara. 0° znajduje się na godzinie 12.

Widok z góry pola VEX V5 pokazujący stopnie wokół pola.

Usage:
gps_sensor.heading()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

przyśpieszenie#

acceleration zwraca przyspieszenie robota na określonej osi od -4,0 do 4,0 Gs.

Usage:
gps_sensor.acceleration(axis)

Parametry

Opis

oś

Której osi użyć:

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

prędkość_żyroskopu#

gyro_rate zwraca prędkość obrotową robota na wybranej osi.

Usage:
gps_sensor.gyro_rate(axis, units)

Parametry

Opis

oś

Której osi użyć:

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

jednostki

Jednostka miary:

  • VelocityUnits.DPS – stopnie na sekundę, od -1000 do 1000
  • VelocityUnits.RPM – obroty na minutę, od -167 do 167

orientacja#

orientation zwraca orientację przechyłu, pochylenia lub odchylenia robota w stopniach.

Usage:
gps_sensor.orientation(axis, units)

Parametry

Opis

oś

Której orientacji użyć:

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

jednostki

Jednostka miary:DEGREES

jakość#

quality zwraca siłę sygnału czujnika GPS jako wartość procentową.

Możliwe wartości

Opis

100

Wszystkie podane przez czujnik GPS dane dotyczące położenia i kierunku są prawidłowe.

~90

Wszelkie dane dotyczące położenia nie są już obliczane poprzez przechwytywanie informacji z kodu GPS, lecz za pomocą alternatywnych metod.

0 - 80

Ważne są tylko wartości kierunku czujnika GPS, ale im dłużej czujnik GPS nie skanuje wystarczającej ilości kodu pola GPS, aby dokładnie określić informacje o pozycji i kierunku, tym jakość zgłaszanego sygnału będzie się pogarszać, aż do 0, kiedy to wszelkie dane czujnika GPS zostaną w zasadzie zamrożone i przestaną być ważne.

Usage:
gps_sensor.quality()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

zmieniony#

changed rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy czujnik GPS wykryje zmianę kierunku.

Usage:
gps_sensor.changed(callback, arg)

Parametry

Opis

callback

Wcześniej zdefiniowana funkcja, która jest wykonywana, gdy zmienia się kierunek czujnika GPS.

arg

Opcjonalnie. Krotka zawierająca argumenty do przekazania do funkcji wywołania zwrotnego. Więcej informacji można znaleźć w Używanie funkcji z parametrami.

def my_function():
  brain.screen.print("GPS heading changed")

# Call my_function whenever gps_sensor's heading changes
gps_sensor.changed(my_function)

Konstruktor#

Konstruktory służą do ręcznego tworzenia obiektów Gps , które są niezbędne do konfiguracji czujnika GPS poza VEXcode.

Gps#

Gps tworzy czujnik GPS.

Usage:
Gps(smartport)

Parametr

Opis

smartport

Inteligentny port, do którego podłączony jest czujnik GPS, zapisany jako Ports.PORTx , gdzie x jest numerem portu.

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