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.

VEX V5 GPS jutiklis.

Š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:

  • MM – milimetrai
  • INCHES

# 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.

VEX V5 lauko vaizdas iš viršaus, kuriame jutiklis stebi lauko kodą lauko šonuose.

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:

  • MM – milimetrai
  • INCHES

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:DEGREES

x_pozicija#

x_position grąžina atskaitos taško x koordinatę lauke.

Usage:
gps_sensor.x_position(units)

Parametrai

Aprašymas

vienetas

Matavimo vienetas:

  • MM – milimetrai
  • INCHES

y_pozicija#

y_position grąžina atskaitos taško y koordinatę lauke.

Usage:
gps_sensor.y_position(units)

Parametrai

Aprašymas

vienetas

Matavimo vienetas:

  • MM – milimetrai
  • INCHES

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.

VEX V5 lauko vaizdas iš viršaus, rodantis laipsnius aplink lauką.

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:

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

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:

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

vienetai

Matavimo vienetas:

  • VelocityUnits.DPS – laipsniai per sekundę, nuo -1000 iki 1000
  • VelocityUnits.RPM – apsisukimai per minutę, nuo -167 iki 167

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:

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

vienetai

Matavimo vienetas:DEGREES

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

callback

Anksčiau apibrėžta function, kuri vykdoma, kai pasikeičia GPS jutiklio kryptis.

arg

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

smartport

Išmanusis prievadas, prie kurio prijungtas GPS jutiklis, užrašomas kaip Ports.PORTx , kur x yra prievado numeris.

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