GPS sensors#
Ievads#
gps klase tiek izmantota, lai kontrolētu un piekļūtu datiem no V5 GPS (Game Positioning System™) sensora. Šis sensors nodrošina precīzu robota atrašanās vietas un orientācijas izsekošanu VEX laukumā. Tas izmanto GPS lauka kodu ap lauka perimetru, lai reāllaikā aprēķinātu robota X un Y koordinātas un virzienu.
GPS sensors atgriež robota pozīciju, izmantojot atskaites punktu, kas tiek automātiski aprēķināts no nobīdēm, kas ievadītas, konfigurējot GPS sensoru ierīču logā.
Lai iegūtu papildinformāciju par GPS sensoru, izlasiet rakstu GPS sensora izmantošana ar VEX V5 VEX bibliotēkā.
Atsauces punkts darbojas kā GPS sensora paša (0, 0) pozīcija, kur visas GPS metožu atgrieztās koordinātas, virzieni un kustības ir relatīvas attiecībā pret šo konfigurēto punktu.

Klases konstruktori#
1 — Izveido
gpsobjektu norādītajā viedajā portā, izmantojot noklusējuma sākumpunktu (0, 0).gps( int32_t index, double heading_offset = 0, turnType dir = right );
2 — Izveido
gpsobjektu norādītajā viedajā portā un definē pielāgotu sākuma pozīciju.gps( int32_t index, double ox, double oy, distanceUnits units = mm, double heading_offset = 0, turnType dir = right );
Klases iznīcinātājs#
Iznīcina objektu gps un atbrīvo ar to saistītos resursus.
~gps();
Parametri#
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Viedports, kuram ir pievienots GPS sensors, kas tiek rakstīts kā |
|
|
Sākumpunkta X koordināta. |
|
|
Sākumpunkta Y koordināta. |
|
|
Mērvienība, kas tiek izmantota
|
|
|
GPS sensora rotācijas nobīde grādos no 0,00 līdz 359,99. Noklusējuma vērtība ir 0. |
|
|
Virziens, kas atgriezīs pozitīvas virziena vērtības:
|
Piemēri#
// 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
Dalībnieku funkcijas#
gps klasē ir iekļautas šādas dalībfunkcijas:
calibrate— Kalibrē GPS sensoru.setOrigin— Iestata GPS koordinātu sistēmas sākuma pozīciju.setLocation— Iestata GPS sensora pašreizējo atrašanās vietu un virzienu.xPosition— Atgriež pašreizējo X pozīciju.yPosition— Atgriež pašreizējo Y pozīciju.heading— Atgriež pašreizējo virsrakstu.acceleration— Atgriež lineāro paātrinājumu pa norādīto asi.gyroRate— Atgriež norādītās ass leņķisko ātrumu.orientation— Atgriež norādītās ass orientāciju.quality— Atgriež pašreizējo GPS signāla kvalitāti.changed— Reģistrē atzvanīšanas funkciju, kas darbojas, mainoties GPS datiem.
Pirms jebkuru gps dalībfunkciju izsaukšanas ir jāizveido gps instance, kā parādīts zemāk:
/* 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);
Klases metodes#
calibrate#
Kalibrē GPS sensoru. Tas iestatīs GPS konfigurēto virzienu (atbilstoši tā leņķa nobīdei) kā pašreizējo piedziņas virziena virzienu.
Kalibrēšanas procesa laikā GPS sensoram jāpaliek nekustīgam.
Available Functionsvoid calibrate();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesŠī funkcija neatgriež vērtību.
Examples// Turn to face the lower Field wall using data from the GPS Sensor.
GPS1.calibrate();
Drivetrain.turnToHeading(180, degrees)
setOrigin#
Iestata GPS koordinātu sistēmas sākumpunktu.
Available Functions1 — Iestata sākumpunktu norādītajā X un Y pozīcijā.
void setOrigin( double x, double y, distanceUnits units = mm );
Parameters2 — Iestata sākumpunktu sensora pašreizējā pozīcijā.
void setOrigin();
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Jaunās sākuma pozīcijas X koordināta. |
|
|
Jaunās sākuma pozīcijas Y koordināta. |
|
|
Mērvienība, kas tiek izmantota
|
Šī funkcija neatgriež vērtību.
NotessetLocation#
Iestata pašreizējo GPS pozīciju un virzienu.
Available Functions1 — Iestata pašreizējo atrašanās vietu, izmantojot norādītos attāluma un rotācijas mērvienības.
void setLocation( double x, double y, distanceUnits units = mm, double angle = 0, rotationUnits units_r = degrees );
Parameters2 — Iestata pašreizējo atrašanās vietu, izmantojot milimetrus un grādus.
void setLocation( double x, double y, double angle );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Pašreizējās atrašanās vietas X koordināta. |
|
|
Pašreizējās atrašanās vietas Y koordināta. |
|
|
Mērvienība, kas tiek izmantota
|
|
|
Virsraksta vērtība pašreizējai atrašanās vietai. |
|
|
|
Šī funkcija neatgriež vērtību.
NotesxPosition#
Atgriež GPS sensora pašreizējo X pozīciju.
Available Functionsdouble xPosition( distanceUnits units = distanceUnits::mm );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Atgrieztās X pozīcijas mērvienība:
|
Atgriež double kas apzīmē x pozīcijas nobīdi no sākuma punkta norādītajās vienībās.
X pozīcija tiek mērīta attiecībā pret pašreizējo sākumpunktu.
Izcelsmi var mainīt, izmantojot
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#
Atgriež GPS sensora pašreizējo Y pozīciju.
Available Functionsdouble yPosition( distanceUnits units = distanceUnits::mm );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Atgrieztās Y pozīcijas mērvienība:
|
Atgriež double kas apzīmē Y pozīcijas nobīdi no sākuma punkta norādītajās vienībās.
Y pozīcija tiek mērīta attiecībā pret pašreizējo sākumpunktu.
Izcelsmi var mainīt, izmantojot
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#
Atgriež GPS sensora pašreizējo virzienu (virziena leņķi).
Available Functionsdouble heading( rotationUnits units = rotationUnits::deg );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Atgrieztās virziena vērtības mērvienība:
|
Atgriež skaitli double kas apzīmē pašreizējo virsrakstu norādītajās vienībās.
Virsraksta vērtība tiek aplocīta no 0 līdz 360 grādiem.
Pozitīvo rotācijas virzienu nosaka parametrs
dirkas norādīts konstrukcijas laikā.
// 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#
Atgriež GPS sensora izmērīto lineāro paātrinājumu pa norādīto asi.
Available Functionsdouble acceleration(
axisType axis );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Ass, kurai tiks atgriezts paātrinājums:
|
Atgriež skaitli double un tas apzīmē paātrinājumu pa norādīto asi G (gravitācijas vienībās).
Paātrinājuma vērtības tiek norādītas G vienībās, kur 1 G ir vienāds ar gravitācijas paātrinājumu uz Zemes virsmas.
gyroRate#
Atgriež leņķisko ātrumu, ko GPS sensors izmērījis pa norādīto asi.
Available Functionsdouble gyroRate(
axisType axis,
velocityUnits units );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Ass, kurai tiks atgriezts leņķiskais ātrums:
|
|
|
Atgrieztā leņķiskā ātruma mērvienība:
|
Atgriež skaitli double un tas apzīmē leņķisko ātrumu pa norādīto asi atlasītajās mērvienībās.
orientation#
Atgriež GPS sensora orientācijas leņķi norādītajai asij.
Available Functionsdouble orientation(
orientationType axis,
rotationUnits units );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Orientācijas ass atgūšanai:
|
|
|
Atgrieztās orientācijas vērtības mērvienība:
|
Atgriež skaitli double kas apzīmē norādītās ass orientāciju atlasītajās vienībās.
quality#
Atgriež uztverto GPS signāla kvalitāti.
Available Functionsint32_t quality();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesAtgriež int32_t , kas attēlo GPS signāla kvalitāti procentos:
Iespējamās vērtības |
Apraksts |
|---|---|
|
Visi GPS sensora ziņotie pozīcijas un virziena dati ir derīgi. |
|
Pozicionēšanas dati vairs netiek aprēķināti tieši no GPS lauka koda, bet gan tiek novērtēti, izmantojot alternatīvus līdzekļus. |
|
Derīgas ir tikai virziena vērtības. Laikam ejot un bez pietiekamas GPS lauka koda skenēšanas, signāla kvalitāte turpina pasliktināties līdz |
changed#
Reģistrē atzvanīšanas funkciju, kas darbojas, mainoties GPS virziena vērtībai.
Available Functionsvoid changed(
void (* callback)(void) );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Rādītājs uz funkciju, kas tiks izsaukta, mainoties GPS virziena vērtībai. Funkcijai nedrīkst būt parametri, un tai jāatgriež |
Šī funkcija neatgriež vērtību.