GPS-anturi#

Johdanto#

gps -luokkaa käytetään V5 GPS (Game Positioning System™) -anturin tietojen ohjaamiseen ja käyttämiseen. Tämä anturi tarjoaa tarkan sijainnin ja suunnan seurannan robotille VEX-kentällä. Se käyttää kentän reunojen ympärillä olevaa GPS-kenttäkoodia robotin X- ja Y-koordinaatit ja suunnan laskemiseen reaaliajassa.

GPS-anturi palauttaa robotin sijainnin käyttämällä referenssipistettä, joka lasketaan automaattisesti GPS-anturin konfiguroinnin yhteydessä Laitteet-ikkunassa syötettyjen siirtymien perusteella.

Lisätietoja GPS-anturista on VEX-kirjaston artikkelissa GPS-anturin käyttö VEX V5:n kanssa.

Referenssipiste toimii GPS-anturin omana (0, 0)-paikkana, jossa kaikki GPS-menetelmien palauttamat koordinaatit, suunnat ja liikkeet ovat suhteessa tähän konfiguroituun pisteeseen.

VEX V5 GPS-anturi.

Luokanrakentajat#

1 — Luo gps -objektin määritettyyn Smart Port -porttiin käyttäen oletusarvoista lähtöpistettä (0, 0).

gps(
  int32_t  index,
  double   heading_offset = 0,
  turnType dir = right );

2 — Luo gps -objektin määritettyyn Smart Port -porttiin ja määrittää mukautetun lähtöpisteen.

gps(
  int32_t       index,
  double        ox,
  double        oy,
  distanceUnits units = mm,
  double        heading_offset = 0,
  turnType      dir = right );

Luokan tuhoaja#

Tuhoaa gps -objektin ja vapauttaa siihen liittyvät resurssit.

~gps();

Parametrit#

Parametri

Tyyppi

Kuvaus

index

int32_t

GPS-anturin kytkennän sisältävä älyportti, joka kirjoitetaan muodossa PORTx, jossa x on portin numero (esimerkiksi PORT1).

ox

double

Alkuperäisen sijainnin X-koordinaatti.

oy

double

Alkuperäisen sijainnin Y-koordinaatti.

units

distanceUnits

Mittayksikkö, jota käytetään mitoille ox ja oy:

  • mm (oletus) — millimetrit
  • distanceUnits::in / inches — tuumaa
  • distanceUnits::cm — senttimetriä

heading_offset

double

GPS-anturin pyörimissiirtymä asteina, 0,00 - 359,99. Oletusarvo on 0.

dir

turnType

Suunta, joka palauttaa positiiviset suunta-arvot:

  • right (oletus)
  • left

Esimerkkejä#

// Create the gps instance
gps GPS1 = gps(
    PORT1,      // Smart Port 1
    180);       // heading_offset


// Create the gps instance
gps GPS1 = gps(
    PORT1,   // Smart Port 1
    50.00,   // ox
    100.00,  // oy
    mm,      // units
    180 );   // heading_offset

Jäsenten toiminnot#

gps -luokka sisältää seuraavat jäsenfunktiot:

  • calibrate — Kalibroi GPS-anturin.

  • setOrigin — Asettaa GPS-koordinaattijärjestelmän lähtöpisteen.

  • setLocation — Asettaa GPS-anturin nykyisen sijainnin ja suunnan.

  • xPosition — Palauttaa nykyisen X-sijainnin.

  • yPosition — Palauttaa nykyisen Y-sijainnin.

  • heading — Palauttaa nykyisen otsikon.

  • acceleration — Palauttaa lineaarisen kiihtyvyyden määritetyn akselin suuntaisesti.

  • gyroRate — Palauttaa määritetyn akselin kulmanopeuden.

  • orientation — Palauttaa määritetyn akselin suunnan.

  • quality — Palauttaa nykyisen GPS-signaalin laadun.

  • changed — Rekisteröi takaisinkutsufunktion, joka suoritetaan, kun GPS-tiedot muuttuvat.

Ennen minkään gps -jäsenfunktion kutsumista on luotava gps -instanssi alla olevan mukaisesti:

/* This constructor is required when using VS Code.
GPS Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the gps instance in Smart Port 1
gps GPS1 = gps(PORT1);

Luokkametodit#

calibrate#

Kalibroi GPS-anturin. Tämä asettaa GPS:n konfiguroiman suunnan (sen kulmapoikkeaman mukaan) voimansiirron nykyiseksi suunnaksi.

GPS-anturin on pysyttävä paikallaan kalibroinnin aikana.

Available Functions
void calibrate();

Parameters

Tämä funktio ei ota vastaan ​​parametreja.

Return Values

Tämä funktio ei palauta arvoa.

Examples
// Turn to face the lower Field wall using data from the GPS Sensor.
GPS1.calibrate();
Drivetrain.turnToHeading(180, degrees)

setOrigin#

Asettaa GPS-koordinaattijärjestelmän alkuperän.

Available Functions

1 — Asettaa nollapisteen määritettyyn X- ja Y-asemaan.

void setOrigin( 
  double        x, 
  double        y, 
  distanceUnits units = mm );

2 — Asettaa anturin nykyisen sijainnin alkuperäpisteeksi.

void setOrigin();

Parameters

Parametri

Tyyppi

Kuvaus

x

double

Uuden lähtöpisteen X-koordinaatti.

y

double

Uuden lähtöpisteen Y-koordinaatti.

units

distanceUnits

Mittayksikkö, jota käytetään muutoksille x ja y:

  • mm (oletus) — millimetrit
  • distanceUnits::cm — senttimetrit
  • distanceUnits::in — tuumat

Return Values

Tämä funktio ei palauta arvoa.

Notes

setLocation#

Asettaa nykyisen GPS-sijainnin ja suunnan.

Available Functions

1 — Asettaa nykyisen sijainnin käyttämällä määritettyjä etäisyys- ja kiertoyksiköitä.

void setLocation(
  double        x,
  double        y,
  distanceUnits units = mm,
  double        angle = 0,
  rotationUnits units_r = degrees );

2 — Asettaa nykyisen sijainnin millimetreinä ja asteina.

void setLocation( double x, double y, double angle );

Parameters

Parametri

Tyyppi

Kuvaus

x

double

Nykyisen sijainnin X-koordinaatti.

y

double

Nykyisen sijainnin Y-koordinaatti.

units

distanceUnits

Mittayksikkö, jota käytetään muutoksille x ja y:

  • mm (oletus) — millimetrit
  • distanceUnits::in / inches — tuumaa
  • distanceUnits::cm — senttimetriä

angle

double

Nykyisen sijainnin suunta-arvo.

units_r

rotationUnits

The unit of measurement used for angle:

  • deg (default) — degrees
  • rev — revolutions

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Tämän funktion kutsuminen päivittää xPosition-, yPosition- ja heading-metodien raportoimat sisäiset sijainti- ja otsikkoarvot.

xPosition#

Palauttaa GPS-anturin nykyisen X-sijainnin.

Available Functions
double xPosition( distanceUnits units = distanceUnits::mm );

Parameters

Parametri

Tyyppi

Kuvaus

units

distanceUnits

Palautetun X-sijainnin mittayksikkö:

  • mm (oletus) — millimetrit
  • distanceUnits::cm — senttimetrit
  • distanceUnits::in — tuumat

Return Values

Palauttaa arvon double joka edustaa x-koordinaatiston sijaintisiirtymää origosta määritetyissä yksiköissä.

Notes
  • X-sijainti mitataan suhteessa nykyiseen lähtöpisteeseen.

  • Alkuperää voidaan muuttaa käyttämällä setOrigin.

Examples
// Drive slowly towards the center of the Field
Drivetrain.setDriveVelocity(20.0, percent);
Drivetrain.drive(forward);
// Stop driving when the GPS returns an x position
// near the center of the Field
waitUntil((GPS1.xPosition(mm) < 0.0));
Drivetrain.stop();

yPosition#

Palauttaa GPS-anturin nykyisen Y-sijainnin.

Available Functions
double yPosition( distanceUnits units = distanceUnits::mm );

Parameters

Parametri

Tyyppi

Kuvaus

units

distanceUnits

Palautetun Y-sijainnin mittayksikkö:

  • mm (oletus) — millimetrit
  • distanceUnits::cm — senttimetrit
  • distanceUnits::in — tuumat

Return Values

Palauttaa arvon double joka edustaa Y-akselin sijaintisiirtymää origosta määritetyissä yksiköissä.

Notes
  • Y-sijainti mitataan suhteessa nykyiseen lähtöpisteeseen.

  • Alkuperää voidaan muuttaa käyttämällä funktiota setOrigin().

Examples
// Drive slowly towards the center of the Field
Drivetrain.setDriveVelocity(20.0, percent);
Drivetrain.drive(forward);
// Stop driving when the GPS reports an y position
// near the center of the Field
waitUntil((GPS1.yPosition(mm) < 0.0));
Drivetrain.stop();

heading#

Palauttaa GPS-anturin nykyisen suunnan (suuntakulman).

Available Functions
double heading( rotationUnits units = rotationUnits::deg );

Parameters

Parametri

Tyyppi

Kuvaus

units

rotationUnits

Palautetun suunta-arvon mittayksikkö:

  • deg (oletus) — astetta
  • rev — kierroksia

Return Values

Palauttaa arvon double joka edustaa nykyistä otsikkoa määritetyissä yksiköissä.

Notes Examples
// Turn slowly to face the right wall
Drivetrain.setTurnVelocity(20.0, percent);
Drivetrain.turn(right);
// Stop turning when the GPS reports a heading 
// greater than 90 degrees
waitUntil((GPS1.heading() > 90.0));
Drivetrain.stop();

acceleration#

Palauttaa GPS-anturin mittaaman lineaarisen kiihtyvyyden määritetyn akselin suuntaisesti.

Available Functions
double acceleration( 
  axisType axis );

Parameters

Parametri

Tyyppi

Kuvaus

axis

axisType

Akseli, jolle kiihtyvyys palautetaan:

  • xaxis
  • yaxis
  • zaxis

Return Values

Palauttaa luvun double joka edustaa kiihtyvyyttä määritetyn akselin suuntaisesti yksiköissä G (gravitaatioyksikkö).

Notes
  • Kiihtyvyysarvot ilmoitetaan gigatavuina, joissa yksi gigatavu on yhtä suuri kuin maan pinnalla tapahtuva painovoimakiihtyvyys.

gyroRate#

Palauttaa GPS-anturin mittaaman kulmanopeuden määritetyn akselin suuntaisesti.

Available Functions
double gyroRate( 
  axisType      axis, 
  velocityUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

axis

axisType

Akseli, jolle kulmanopeus palautetaan:

  • xaxis
  • yaxis
  • zaxis

units

velocityUnits

Palautetun kulmanopeuden mittayksikkö:

  • dps — astetta sekunnissa
  • rpm — kierrosta minuutissa

Return Values

Palauttaa arvon double joka edustaa kulmanopeutta annetun akselin suuntaisesti valituissa yksiköissä.

orientation#

Palauttaa GPS-anturin suuntauskulman määritetylle akselille.

Available Functions
double orientation( 
  orientationType axis, 
  rotationUnits   units );

Parameters

Parametri

Tyyppi

Kuvaus

axis

orientationType

Haettava suunta-akseli:

  • roll
  • pitch
  • yaw

units

rotationUnits

Palautetun suunta-arvon mittayksikkö:

  • deg — astetta
  • rev — kierrokset

Return Values

Palauttaa luvun double joka edustaa määritetyn akselin suuntaa valituissa yksiköissä.

quality#

Palauttaa havaitun GPS-signaalin laadun.

Available Functions
int32_t quality();

Parameters

Tämä funktio ei ota vastaan ​​parametreja.

Return Values

Palauttaa arvon int32_t joka edustaa GPS-signaalin laatua prosentteina:

Mahdolliset arvot

Kuvaus

100

Kaikki GPS-anturin raportoimat sijainti- ja suuntatiedot ovat kelvollisia.

~90

Paikkatietoja ei enää lasketa suoraan GPS-kenttäkoodista, vaan ne arvioidaan vaihtoehtoisilla menetelmillä.

0 – 80

Vain suunta-arvot ovat kelvollisia. Ajan kuluessa ilman riittävää GPS-kenttäkoodin skannausta signaalin laatu heikkenee edelleen arvoon 0asti, jolloin GPS-tiedot käytännössä jäätyvät eivätkä ole enää kelvollisia.

changed#

Rekisteröi takaisinkutsufunktion, joka suoritetaan, kun GPS-suunta-arvo muuttuu.

Available Functions
void changed( 
  void (* callback)(void) );

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Osoitin funktioon, jota kutsutaan, kun GPS-suunta-arvo muuttuu. Funktio ei saa ottaa parametreja ja palauttaa arvon void.

Return Values

Tämä funktio ei palauta arvoa.