GPS-érzékelő#
Bevezetés#
A gps osztály a V5 GPS (Game Positioning System™) érzékelő adatainak vezérlésére és elérésére szolgál. Ez az érzékelő pontos pozíció- és tájoláskövetést biztosít a VEX pályán lévő robot számára. A pálya kerülete mentén mért GPS terepi kódot használja a robot X és Y koordinátáinak és irányának valós idejű kiszámításához.
A GPS-érzékelő a robot pozícióját egy referenciapont segítségével adja vissza, amelyet a rendszer automatikusan kiszámít a GPS-érzékelő Eszközök ablakban történő konfigurálásakor megadott eltolások alapján.
A GPS-érzékelővel kapcsolatos további információkért olvassa el a GPS-érzékelő használata VEX V5-tel című részt a VEX könyvtárban.
A referenciapont a GPS-érzékelő saját (0, 0) pozíciójaként működik, ahol a GPS-metódusok által visszaadott összes koordináta, irány és mozgás ehhez a konfigurált ponthoz viszonyított.

Osztálykonstruktorok#
1 — Létrehoz egy
gpsobjektumot a megadott intelligens porton az alapértelmezett origó (0, 0) használatával.gps( int32_t index, double heading_offset = 0, turnType dir = right );
2 — Létrehoz egy
gpsobjektumot a megadott intelligens porton, és meghatároz egy egyéni kezdőpozíciót.gps( int32_t index, double ox, double oy, distanceUnits units = mm, double heading_offset = 0, turnType dir = right );
Osztálydestruktor#
Megsemmisíti a gps objektumot és felszabadítja a hozzá tartozó erőforrásokat.
~gps();
Paraméterek#
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az az intelligens port, amelyhez a GPS-érzékelő csatlakozik, |
|
|
Az origó pozíció X koordinátája. |
|
|
Az origó Y koordinátája. |
|
|
The unit of measurement used for
|
|
|
A GPS-érzékelő elfordulási eltolása fokban, 0,00 és 359,99 között. Az alapértelmezett érték 0. |
|
|
Az irány, amely pozitív irányértékeket ad vissza:
|
Példák#
// 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
Tagfüggvények#
A gps osztály a következő tagfüggvényeket tartalmazza:
calibrate— Kalibrálja a GPS-érzékelőt.setOrigin— Beállítja a GPS koordinátarendszer kiindulási pozícióját.setLocation— Beállítja a GPS-érzékelő aktuális helyét és irányát.xPosition— Visszaadja az aktuális X pozíciót.yPosition— Visszaadja az aktuális Y pozíciót.heading— Visszaadja az aktuális címsort.acceleration— Visszaadja a megadott tengely mentén mért lineáris gyorsulást.gyroRate— Visszaadja a megadott tengely szögsebességét.orientation— Visszaadja a megadott tengely orientációját.quality— Visszaadja az aktuális GPS-jel minőségét.changed— Visszahívó függvényt regisztrál, amely a GPS-adatok megváltozásakor fut.
Bármely gps tagfüggvény meghívása előtt létre kell hozni egy gps példányt, az alábbiak szerint:
/* 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);
Osztálymetódusok#
calibrate#
Kalibrálja a GPS-érzékelőt. Ez a GPS konfigurált irányát (a szögeltérésnek megfelelően) a hajtáslánc aktuális irányaként állítja be.
A GPS-érzékelőnek mozdulatlanul kell maradnia a kalibrálási folyamat során.
Available Functionsvoid calibrate();
Ez a függvény nem fogad el paramétereket.
Return ValuesEz a függvény nem ad vissza értéket.
Examples// Turn to face the lower Field wall using data from the GPS Sensor.
GPS1.calibrate();
Drivetrain.turnToHeading(180, degrees)
setOrigin#
Beállítja a GPS koordinátarendszer origóját.
Available Functions1 — A megadott X és Y pozícióba állítja be az origót.
void setOrigin( double x, double y, distanceUnits units = mm );
Parameters2 — Az érzékelő aktuális pozícióját állítja be az origónak.
void setOrigin();
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az új kezdőpont X koordinátája. |
|
|
Az új kezdőpont Y koordinátája. |
|
|
A
|
Ez a függvény nem ad vissza értéket.
NotessetLocation#
Beállítja az aktuális GPS-pozíciót és haladási irányt.
Available Functions1 — Beállítja az aktuális helyet a megadott távolság és elforgatási mértékegységek használatával.
void setLocation( double x, double y, distanceUnits units = mm, double angle = 0, rotationUnits units_r = degrees );
Parameters2 — Beállítja az aktuális helyet milliméterben és fokban.
void setLocation( double x, double y, double angle );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az aktuális hely X koordinátája. |
|
|
Az aktuális hely Y koordinátája. |
|
|
A
|
|
|
Az aktuális helyhez tartozó fejlécérték. |
|
|
A
|
Ez a függvény nem ad vissza értéket.
NotesxPosition#
Visszaadja a GPS-érzékelő aktuális X pozícióját.
Available Functionsdouble xPosition( distanceUnits units = distanceUnits::mm );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A visszaadott X pozíció mértékegysége:
|
Egy double értéket ad vissza, amely az origótól való x pozícióbeli eltolást jelenti a megadott egységekben.
Az X pozíciót az aktuális origóhoz képest mérjük.
Az eredet a
setOriginhasználatával módosítható.
// 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#
Visszaadja a GPS-érzékelő aktuális Y pozícióját.
Available Functionsdouble yPosition( distanceUnits units = distanceUnits::mm );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A visszaadott Y pozíció mértékegysége:
|
Egy double értéket ad vissza, amely az origótól való Y pozícióbeli eltolást jelöli a megadott egységekben.
Az Y pozíciót az aktuális origóhoz képest mérjük.
Az eredet
setOrigin()használatával módosítható.
// 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#
Visszaadja a GPS-érzékelő aktuális irányát (elfordulási szögét).
Available Functionsdouble heading( rotationUnits units = rotationUnits::deg );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A visszaadott irányérték mértékegysége:
|
Egy double értéket ad vissza, amely az aktuális címsort jelöli a megadott mértékegységben.
A címsor értéke 0 és 360 fok között ível.
A pozitív forgásirányt a konstrukció során megadott
dirparaméter határozza meg.
// 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#
Visszaadja a GPS-érzékelő által a megadott tengely mentén mért lineáris gyorsulást.
Available Functionsdouble acceleration(
axisType axis );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A tengely, amelyhez a gyorsulást visszaadjuk:
|
double értéket ad vissza, amely a megadott tengely mentén mért gyorsulást jelenti G-ben (gravitációs egység).
A gyorsulási értékeket G egységben adjuk meg, ahol 1 G egyenlő a Föld felszínén fellépő gravitációs gyorsulással.
gyroRate#
Visszaadja a GPS-érzékelő által a megadott tengely mentén mért szögsebességet.
Available Functionsdouble gyroRate(
axisType axis,
velocityUnits units );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A tengely, amelyhez a szögsebességet vissza kell adni:
|
|
|
A visszaadott szögsebesség mértékegysége:
|
Egy double értéket ad vissza, amely a megadott tengely mentén mért szögsebességet jelenti a kiválasztott egységekben.
orientation#
Visszaadja a GPS-érzékelő tájolási szögét a megadott tengelyhez.
Available Functionsdouble orientation(
orientationType axis,
rotationUnits units );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A visszanyeréshez szükséges orientációs tengely:
|
|
|
A visszaadott tájolási érték mértékegysége:
|
Egy double értéket ad vissza, amely a megadott tengely tájolását jelöli a kiválasztott egységekben.
quality#
Visszaadja az érzékelt GPS-jel minőségét.
Available Functionsint32_t quality();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy int32_t értéket ad vissza, amely a GPS-jel minőségét jelöli százalékban:
Lehetséges értékek |
Leírás |
|---|---|
|
A GPS-érzékelőtől származó összes jelentett pozíció- és irányadat érvényes. |
|
A pozícióadatokat már nem közvetlenül a GPS terepi kódból számítják ki, hanem alternatív módszerekkel becsülik meg. |
|
Csak a haladási irány értékek érvényesek. Ahogy telik az idő a GPS mezőkód megfelelő beolvasása nélkül, a jel minősége folyamatosan romlik |
changed#
Regisztrál egy visszahívó függvényt, amely akkor fut le, amikor a GPS-irányérték megváltozik.
Available Functionsvoid changed(
void (* callback)(void) );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy mutató egy függvényre, amely akkor hívódik meg, amikor a GPS irányérték megváltozik. A függvény nem vehet fel paramétereket, és |
Ez a függvény nem ad vissza értéket.