GPS Sensörü#
giriiş#
gps sınıfı, V5 GPS (Oyun Konumlandırma Sistemi™) Sensöründen gelen verileri kontrol etmek ve erişmek için kullanılır. Bu sensör, VEX Sahası üzerindeki bir robot için doğru konum ve yön takibi sağlar. Robotun X ve Y koordinatlarını ve yönünü gerçek zamanlı olarak hesaplamak için Saha çevresindeki GPS Saha Kodunu kullanır.
GPS sensörü, Cihazlar penceresinde GPS sensörünü yapılandırırken girilen ofsetlerden otomatik olarak hesaplanan bir referans noktası kullanarak robotun konumunu döndürür.
GPS Sensörü hakkında daha fazla bilgi için VEX Kütüphanesindeki VEX V5 ile GPS Sensörünü Kullanma bölümünü okuyun.
Referans noktası, GPS sensörünün kendi (0, 0) konumu olarak işlev görür; GPS yöntemleri tarafından döndürülen tüm koordinatlar, yönler ve hareketler bu yapılandırılmış noktaya göre belirlenir.

Sınıf Oluşturucuları#
1 — Varsayılan başlangıç noktası (0, 0) kullanılarak belirtilen Akıllı Bağlantı Noktasında
gpsnesnesi oluşturur.gps( int32_t index, double heading_offset = 0, turnType dir = right );
2 — Belirtilen Akıllı Bağlantı Noktasında
gpsnesnesi oluşturur ve özel bir başlangıç konumu tanımlar.gps( int32_t index, double ox, double oy, distanceUnits units = mm, double heading_offset = 0, turnType dir = right );
Sınıf Yıkıcısı#
gps nesnesini yok eder ve ilgili kaynakları serbest bırakır.
~gps();
Parametreler#
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
GPS sensörünün bağlı olduğu akıllı port, |
|
|
Başlangıç noktasının X koordinatı. |
|
|
Başlangıç noktasının Y koordinatı. |
|
|
|
|
|
GPS sensörünün dönme açısı (derece cinsinden), 0,00 ile 359,99 arasındadır. Varsayılan değer 0’dır. |
|
|
Pozitif yön değerleri döndürecek yönler:
|
Örnekler#
// 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
Üye Fonksiyonları#
gps sınıfı aşağıdaki üye işlevlerini içerir:
calibrate— GPS Sensörünü Kalibre Eder.setOrigin— GPS koordinat sistemi için başlangıç konumunu ayarlar.setLocation— GPS Sensörünün mevcut konumunu ve yönünü ayarlar.xPosition— Geçerli X konumunu döndürür.yPosition— Geçerli Y konumunu döndürür.heading— Geçerli başlığı döndürür.acceleration— Belirtilen eksen boyunca doğrusal ivmeyi döndürür.gyroRate— Belirtilen eksen için açısal hızı döndürür.orientation— Belirtilen eksen için yönlendirmeyi döndürür.quality— Geçerli GPS sinyal kalitesini döndürür.changed— GPS verileri değiştiğinde çalışan bir geri çağırma fonksiyonu kaydeder.
Herhangi bir gps üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi bir gps örneği oluşturulmalıdır:
/* 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);
Sınıf Metotları#
calibrate#
GPS sensörünü kalibre eder. Bu işlem, GPS’in yapılandırılmış yönünü (açısal sapmasına göre) aktarma organlarının mevcut yönü olarak ayarlayacaktır.
Kalibrasyon işlemi sırasında GPS sensörü sabit kalmalıdır.
Available Functionsvoid calibrate();
Bu fonksiyon herhangi bir parametre almaz.
Return ValuesBu fonksiyon bir değer döndürmez.
Examples// Turn to face the lower Field wall using data from the GPS Sensor.
GPS1.calibrate();
Drivetrain.turnToHeading(180, degrees)
setOrigin#
GPS koordinat sisteminin başlangıç noktasını belirler.
Available Functions1 — Başlangıç noktasını belirtilen X ve Y konumuna ayarlar.
void setOrigin( double x, double y, distanceUnits units = mm );
Parameters2 — Başlangıç noktasını sensörün mevcut konumuna ayarlar.
void setOrigin();
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Yeni başlangıç noktasının X koordinatı. |
|
|
Yeni başlangıç noktasının Y koordinatı. |
|
|
|
Bu fonksiyon bir değer döndürmez.
NotessetLocation#
Geçerli GPS konumunu ve yönünü ayarlar.
Available Functions1 — Belirtilen mesafe ve dönüş birimlerini kullanarak geçerli konumu ayarlar.
void setLocation( double x, double y, distanceUnits units = mm, double angle = 0, rotationUnits units_r = degrees );
Parameters2 — Geçerli konumu milimetre ve derece cinsinden ayarlar.
void setLocation( double x, double y, double angle );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Mevcut konumun X koordinatı. |
|
|
Mevcut konumun Y koordinatı. |
|
|
|
|
|
Mevcut konumun başlık değeri. |
|
|
|
Bu fonksiyon bir değer döndürmez.
NotesxPosition#
GPS sensörünün mevcut X konumunu döndürür.
Available Functionsdouble xPosition( distanceUnits units = distanceUnits::mm );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Döndürülen X pozisyonu için ölçü birimi:
|
Belirtilen birimlerde, orijinden x konumundaki sapmayı temsil eden double değerinde bir double sayı döndürür.
X konumu, mevcut başlangıç noktasına göre ölçülür.
Başlangıç noktası
setOriginkullanılarak değiştirilebilir.
// 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#
GPS sensörünün mevcut Y konumunu döndürür.
Available Functionsdouble yPosition( distanceUnits units = distanceUnits::mm );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Döndürülen Y pozisyonu için ölçü birimi:
|
Belirtilen birimlerde, orijinden Y konumundaki sapmayı temsil eden double değerinde bir double sayı döndürür.
Y ekseni konumu, mevcut başlangıç noktasına göre ölçülür.
Başlangıç noktası
setOrigin()kullanılarak değiştirilebilir.
// 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#
GPS sensörünün mevcut yönünü (sapma açısını) döndürür.
Available Functionsdouble heading( rotationUnits units = rotationUnits::deg );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Döndürülen yön değerinin ölçü birimi:
|
Belirtilen birimlerdeki geçerli başlığı temsil eden double bir çift değer döndürür.
Başlık değeri 0 ile 360 derece arasında sarılmıştır.
Pozitif dönüş yönü, yapım sırasında belirtilen
dirparametresi tarafından belirlenir.
// 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#
GPS sensörü tarafından belirtilen eksen boyunca ölçülen doğrusal ivmeyi döndürür.
Available Functionsdouble acceleration(
axisType axis );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
İvmenin döndürüleceği eksen:
|
Belirtilen eksen boyunca ivmeyi G (yerçekimi birimi) cinsinden temsil eden double bir double değer döndürür.
İvme değerleri G biriminde ifade edilir; burada 1 G, Dünya yüzeyindeki yerçekimi ivmesine eşittir.
gyroRate#
GPS sensörü tarafından belirtilen eksen boyunca ölçülen açısal hızı döndürür.
Available Functionsdouble gyroRate(
axisType axis,
velocityUnits units );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Açısal hızın döndürüleceği eksen:
|
|
|
Dönen açısal hızın ölçü birimi:
|
Belirtilen eksen boyunca açısal hızı seçilen birimlerde temsil eden double bir çift sayı döndürür.
orientation#
Belirtilen eksen için GPS sensörünün yönelim açısını döndürür.
Available Functionsdouble orientation(
orientationType axis,
rotationUnits units );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Alınacak yönelim ekseni:
|
|
|
Döndürülen yönelim değerinin ölçü birimi:
|
Belirtilen eksenin seçilen birimlerdeki yönünü temsil eden double çift duyarlıklı sayı döndürür.
quality#
Algılanan GPS sinyal kalitesini döndürür.
Available Functionsint32_t quality();
Bu fonksiyon herhangi bir parametre almaz.
Return ValuesGPS sinyal kalitesini yüzde olarak temsil eden int32_t değerini döndürür:
Olası Değerler |
Tanım |
|---|---|
|
GPS sensöründen bildirilen tüm konum ve yön verileri geçerlidir. |
|
Konum verileri artık doğrudan GPS Alan Kodundan hesaplanmıyor, bunun yerine alternatif yöntemlerle tahmin ediliyor. |
|
Yalnızca yön değerleri geçerlidir. GPS Alan Kodunun yeterli şekilde taranmaması durumunda zaman geçtikçe sinyal kalitesi |
changed#
GPS yön değeri değiştiğinde çalışan bir geri çağırma fonksiyonu kaydeder.
Available Functionsvoid changed(
void (* callback)(void) );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
GPS yön değeri değiştiğinde çağrılacak bir fonksiyona işaretçi. Fonksiyon parametre almamalı ve |
Bu fonksiyon bir değer döndürmez.