GPS jutiklis#
Įvadas#
V5 GPS (žaidimo padėties nustatymo sistema™) jutiklis užtikrina tikslų roboto padėties ir orientacijos sekimą VEX lauke. Jis naudoja GPS lauko kodą aplink lauko perimetrą, kad realiuoju laiku apskaičiuotų roboto X ir Y koordinates bei kryptį.
GPS jutiklis grąžina roboto padėtį naudodamas atskaitos tašką, automatiškai apskaičiuojamą pagal poslinkius, įvestus konfigūruojant GPS jutiklį įrenginių lange.
Daugiau informacijos apie GPS jutiklį rasite VEX bibliotekos skyriuje GPS jutiklio naudojimas su VEX V5.
Atskaitos taškas veikia kaip paties GPS jutiklio (0, 0) padėtis, kurioje visos GPS metodų grąžintos koordinatės, kryptys ir judesiai yra susiję su šiuo konfigūruotu tašku.

Šiame puslapyje kaip GPS jutiklio pavadinimo pavyzdys naudojamas gps_sensor Jei reikia, pakeiskite jį savo sukonfigūruotu pavadinimu.
Žemiau pateikiamas galimų metodų sąrašas:
calibrate– Kalibruoja GPS jutiklį, kad jo kryptis būtų nustatyta kaip dabartinė transmisijos kryptis.set_origin– Nustato atskaitos taško padėtį robote.set_location– Nustato atskaitos taško padėtį ir kryptį lauke.x_position– Grąžina atskaitos taško x koordinatę lauke.y_position– Grąžina atskaitos taško y koordinatę lauke.heading– Grąžina atskaitos taško antraštę pagal lauko orientaciją.acceleration– Grąžina roboto pagreitį pasirinktoje ašyje.gyro_rate– Grąžina roboto sukimosi greitį pasirinktoje ašyje.orientation– Grąžina roboto riedėjimo, polinkio arba posūkio orientaciją laipsniais.quality– Grąžina GPS jutiklio signalo stiprumą.changed– Registruoja funkciją, kuri bus iškviečiama kaskart, kai GPS jutiklis aptiks krypties pasikeitimą.
Konstruktorius – rankiniu būdu inicijuoti GPS jutiklį.
Gps– Sukuria GPS jutiklį.
kalibruoti#
calibrate kalibruoja atskaitos tašką, nustatydamas jo sukonfigūruotą kryptį kaip dabartinę pavaros kryptį. Šiuo metu robotas turi išlikti visiškai nejudantis, nes judėjimas kalibravimo metu duos netikslius rezultatus.
Usage:
gps_sensor.calibrate()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
nustatyti_kilmę#
set_origin rankiniu būdu nustato atskaitos taško padėtį robote. Tai galima padaryti norint rankiniu būdu nustatyti GPS jutiklio vietą robote, užuot tai darius konfigūracijos nustatymuose.
Usage:
gps_sensor.set_origin(x, y, distance_units)
Parametrai |
Aprašymas |
|---|---|
x |
Roboto atskaitos taško x koordinatė. |
y |
Roboto atskaitos taško y koordinatė. |
atstumo_vienetai |
X ir y koordinačių matavimo vienetas:
|
# GPS Sensor is mounted 25mm forward
# from the reference point on a robot
gps.set_origin(0, 25, MM)
nustatyta_vieta#
set_location rankiniu būdu nustato lauko atskaitos taško padėtį ir kryptį. Tai galima padaryti siekiant sumažinti netikslumus, jei GPS jutiklis paleidimo metu yra per arti lauko sienų, kad matytų pakankamai GPS lauko kodo.

Usage:
gps_sensor.set_location(x, y, distance_units, heading, heading_units)
Parametrai |
Aprašymas |
|---|---|
x |
Atskaitos taško x koordinatė lauke. |
y |
Atskaitos taško lauke y koordinatė. |
atstumo_vienetai |
X ir y koordinačių matavimo vienetas:
|
antraštė |
Atskaitos taško kryptis absoliučios lauko krypties atžvilgiu nuo 0 iki 359,9 laipsnių. |
antraštės_vienetai |
Krypties matavimo vienetas: |
x_pozicija#
x_position grąžina atskaitos taško x koordinatę lauke.
Usage:
gps_sensor.x_position(units)
Parametrai |
Aprašymas |
|---|---|
vienetas |
Matavimo vienetas:
|
y_pozicija#
y_position grąžina atskaitos taško y koordinatę lauke.
Usage:
gps_sensor.y_position(units)
Parametrai |
Aprašymas |
|---|---|
vienetas |
Matavimo vienetas:
|
antraštė#
heading grąžina atskaitos taško kryptį pagal lauko orientaciją nuo 0 iki 359,9 laipsnių.
Kryptis atitinka absoliučią lauko kryptį, kuri yra nuo 0º iki 359,9º pagal laikrodžio rodyklę. 0º yra 12 valandos padėtyje.

Usage:
gps_sensor.heading()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
pagreitis#
acceleration grąžina roboto pagreitį nurodytoje ašyje nuo -4,0 iki 4,0 Gs.
Usage:
gps_sensor.acceleration(axis)
Parametrai |
Aprašymas |
|---|---|
ašis |
Kurią ašį naudoti:
|
giroskopinis_greitis#
gyro_rate grąžina roboto sukimosi greitį pasirinktoje ašyje.
Usage:
gps_sensor.gyro_rate(axis, units)
Parametrai |
Aprašymas |
|---|---|
ašis |
Kurią ašį naudoti:
|
vienetai |
Matavimo vienetas:
|
orientacija#
orientation grąžina roboto riedėjimo, polinkio arba posūkio orientaciją laipsniais.
Usage:
gps_sensor.orientation(axis, units)
Parametrai |
Aprašymas |
|---|---|
ašis |
Kurią orientaciją naudoti:
|
vienetai |
Matavimo vienetas: |
kokybė#
quality grąžina GPS jutiklio signalo stiprumą procentais.
Galimos vertės |
Aprašymas |
|---|---|
100 |
Visi GPS jutiklio pateikti padėties ir krypties duomenys yra galiojantys. |
~90 |
Bet kokie padėties duomenys nebeskaičiuojami fiksuojant informaciją iš GPS lauko kodo, o alternatyviomis priemonėmis. |
0–80 |
Galioja tik GPS jutiklio krypties vertės, tačiau laikui bėgant, kai GPS jutiklis nuskaito nepakankamai GPS lauko kodo, kad tiksliai nustatytų buvimo vietą ir krypties informaciją, pranešto signalo kokybė toliau blogės iki 0, kai bet kokie GPS jutiklio duomenys faktiškai užstringa ir nebegalioja. |
Usage:
gps_sensor.quality()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
pasikeitė#
changed užregistruoja funkciją, kuri bus iškviečiama kaskart, kai GPS jutiklis aptiks krypties pasikeitimą.
Usage:
gps_sensor.changed(callback, arg)
Parametrai |
Aprašymas |
|---|---|
|
Anksčiau apibrėžta function, kuri vykdoma, kai pasikeičia GPS jutiklio kryptis. |
|
Pasirinktinai. Rinkinys su argumentais, kurie turi būti perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Funkcijų su parametrais naudojimas. |
def my_function():
brain.screen.print("GPS heading changed")
# Call my_function whenever gps_sensor's heading changes
gps_sensor.changed(my_function)
Konstruktorius#
Konstruktoriai naudojami rankiniu būdu sukurti Gps objektus, kurie yra būtini GPS jutiklio konfigūravimui už VEXcode ribų.
Gps#
Gps sukuria GPS jutiklį.
Usage:
Gps(smartport)
Parametras |
Aprašymas |
|---|---|
|
Išmanusis prievadas, prie kurio prijungtas GPS jutiklis, užrašomas kaip |
# Create a GPS Sensor in Port 10
gps_sensor = Gps(Ports.PORT10)