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.

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 |
|---|---|---|
|
|
GPS-anturin kytkennän sisältävä älyportti, joka kirjoitetaan muodossa |
|
|
Alkuperäisen sijainnin X-koordinaatti. |
|
|
Alkuperäisen sijainnin Y-koordinaatti. |
|
|
Mittayksikkö, jota käytetään mitoille
|
|
|
GPS-anturin pyörimissiirtymä asteina, 0,00 - 359,99. Oletusarvo on 0. |
|
|
Suunta, joka palauttaa positiiviset suunta-arvot:
|
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 Functionsvoid calibrate();
Tämä funktio ei ota vastaan parametreja.
Return ValuesTä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 Functions1 — Asettaa nollapisteen määritettyyn X- ja Y-asemaan.
void setOrigin( double x, double y, distanceUnits units = mm );
Parameters2 — Asettaa anturin nykyisen sijainnin alkuperäpisteeksi.
void setOrigin();
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Uuden lähtöpisteen X-koordinaatti. |
|
|
Uuden lähtöpisteen Y-koordinaatti. |
|
|
Mittayksikkö, jota käytetään muutoksille
|
Tämä funktio ei palauta arvoa.
NotessetLocation#
Asettaa nykyisen GPS-sijainnin ja suunnan.
Available Functions1 — 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 );
Parameters2 — Asettaa nykyisen sijainnin millimetreinä ja asteina.
void setLocation( double x, double y, double angle );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Nykyisen sijainnin X-koordinaatti. |
|
|
Nykyisen sijainnin Y-koordinaatti. |
|
|
Mittayksikkö, jota käytetään muutoksille
|
|
|
Nykyisen sijainnin suunta-arvo. |
|
|
The unit of measurement used for
|
Tämä funktio ei palauta arvoa.
NotesxPosition#
Palauttaa GPS-anturin nykyisen X-sijainnin.
Available Functionsdouble xPosition( distanceUnits units = distanceUnits::mm );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Palautetun X-sijainnin mittayksikkö:
|
Palauttaa arvon double joka edustaa x-koordinaatiston sijaintisiirtymää origosta määritetyissä yksiköissä.
X-sijainti mitataan suhteessa nykyiseen lähtöpisteeseen.
Alkuperää voidaan muuttaa käyttämällä
setOrigin.
// 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 Functionsdouble yPosition( distanceUnits units = distanceUnits::mm );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Palautetun Y-sijainnin mittayksikkö:
|
Palauttaa arvon double joka edustaa Y-akselin sijaintisiirtymää origosta määritetyissä yksiköissä.
Y-sijainti mitataan suhteessa nykyiseen lähtöpisteeseen.
Alkuperää voidaan muuttaa käyttämällä funktiota
setOrigin().
// 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 Functionsdouble heading( rotationUnits units = rotationUnits::deg );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Palautetun suunta-arvon mittayksikkö:
|
Palauttaa arvon double joka edustaa nykyistä otsikkoa määritetyissä yksiköissä.
Otsikon arvo kierretään 0 ja 360 asteen välille.
Positiivinen pyörimissuunta määräytyy rakentamisen aikana määritetyn
dir-parametrin avulla.
// 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 Functionsdouble acceleration(
axisType axis );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Akseli, jolle kiihtyvyys palautetaan:
|
Palauttaa luvun double joka edustaa kiihtyvyyttä määritetyn akselin suuntaisesti yksiköissä G (gravitaatioyksikkö).
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 Functionsdouble gyroRate(
axisType axis,
velocityUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Akseli, jolle kulmanopeus palautetaan:
|
|
|
Palautetun kulmanopeuden mittayksikkö:
|
Palauttaa arvon double joka edustaa kulmanopeutta annetun akselin suuntaisesti valituissa yksiköissä.
orientation#
Palauttaa GPS-anturin suuntauskulman määritetylle akselille.
Available Functionsdouble orientation(
orientationType axis,
rotationUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Haettava suunta-akseli:
|
|
|
Palautetun suunta-arvon mittayksikkö:
|
Palauttaa luvun double joka edustaa määritetyn akselin suuntaa valituissa yksiköissä.
quality#
Palauttaa havaitun GPS-signaalin laadun.
Available Functionsint32_t quality();
Tämä funktio ei ota vastaan parametreja.
Return ValuesPalauttaa arvon int32_t joka edustaa GPS-signaalin laatua prosentteina:
Mahdolliset arvot |
Kuvaus |
|---|---|
|
Kaikki GPS-anturin raportoimat sijainti- ja suuntatiedot ovat kelvollisia. |
|
Paikkatietoja ei enää lasketa suoraan GPS-kenttäkoodista, vaan ne arvioidaan vaihtoehtoisilla menetelmillä. |
|
Vain suunta-arvot ovat kelvollisia. Ajan kuluessa ilman riittävää GPS-kenttäkoodin skannausta signaalin laatu heikkenee edelleen arvoon |
changed#
Rekisteröi takaisinkutsufunktion, joka suoritetaan, kun GPS-suunta-arvo muuttuu.
Available Functionsvoid changed(
void (* callback)(void) );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Osoitin funktioon, jota kutsutaan, kun GPS-suunta-arvo muuttuu. Funktio ei saa ottaa parametreja ja palauttaa arvon |
Tämä funktio ei palauta arvoa.