مستشعر نظام تحديد المواقع العالمي (GPS)#
مقدمة#
تُستخدم فئة gps للتحكم في بيانات مستشعر نظام تحديد المواقع العالمي (GPS) V5 والوصول إليها. يوفر هذا المستشعر تتبعًا دقيقًا لموقع الروبوت واتجاهه في ساحة VEX. ويستخدم رمز حقل GPS المحيط بالساحة لحساب إحداثيات X وY للروبوت واتجاهه في الوقت الفعلي.
يقوم مستشعر نظام تحديد المواقع العالمي (GPS) بإرجاع موقع الروبوت باستخدام نقطة مرجعية يتم حسابها تلقائيًا من الإزاحات التي تم إدخالها عند تكوين مستشعر نظام تحديد المواقع العالمي (GPS) في نافذة الأجهزة.
للحصول على مزيد من المعلومات حول مستشعر GPS، اقرأ استخدام مستشعر GPS مع VEX V5 في مكتبة VEX.
تعمل نقطة المرجع كموقع (0، 0) الخاص بمستشعر نظام تحديد المواقع العالمي (GPS) حيث تكون جميع الإحداثيات والاتجاهات والحركات التي يتم إرجاعها بواسطة طرق نظام تحديد المواقع العالمي (GPS) نسبية إلى هذه النقطة المُكوّنة.

مُنشئات الفئات#
1 — يقوم بإنشاء كائن
gpsعلى المنفذ الذكي المحدد باستخدام الأصل الافتراضي (0، 0).gps( int32_t index, double heading_offset = 0, turnType dir = right );
2 — يقوم بإنشاء كائن
gpsعلى المنفذ الذكي المحدد ويحدد موقع الأصل المخصص.gps( int32_t index, double ox, double oy, distanceUnits units = mm, double heading_offset = 0, turnType dir = right );
مُدمِّر الفئة#
يقوم بتدمير الكائن gps ويحرر الموارد المرتبطة به.
~gps();
حدود#
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
المنفذ الذكي الذي يتصل به مستشعر GPS، مكتوبًا على النحو التالي: |
|
|
الإحداثي السيني لموقع الأصل. |
|
|
إحداثي Y لموقع الأصل. |
|
|
وحدة القياس المستخدمة لـ
|
|
|
إزاحة دوران مستشعر نظام تحديد المواقع العالمي (GPS) بالدرجات، من 0.00 إلى 359.99. القيمة الافتراضية هي 0. |
|
|
الاتجاه الذي يُعيد قيمًا موجبة:
|
أمثلة#
// 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
الدوال الأعضاء#
تتضمن الفئة gps الدوال الأعضاء التالية:
calibrate— معايرة مستشعر نظام تحديد المواقع العالمي (GPS).setOrigin— يحدد موضع الأصل لنظام إحداثيات GPS.setLocation— يحدد الموقع الحالي واتجاه مستشعر نظام تحديد المواقع العالمي (GPS).xPosition— تُرجع موضع X الحالي.yPosition— تُرجع موضع Y الحالي.heading— إرجاع العنوان الحالي.acceleration— تُرجع التسارع الخطي على طول المحور المحدد.gyroRate— تُرجع السرعة الزاوية للمحور المحدد.orientation— تُرجع هذه الدالة اتجاه المحور المحدد.quality— تُرجع جودة إشارة GPS الحالية.changed— يسجل دالة رد نداء يتم تشغيلها عند تغيير بيانات نظام تحديد المواقع العالمي (GPS).
قبل استدعاء أي من الدوال الأعضاء gps ، يجب إنشاء مثيل gps ، كما هو موضح أدناه:
/* 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);
أساليب الفئة#
calibrate#
يقوم هذا الإجراء بمعايرة مستشعر نظام تحديد المواقع العالمي (GPS). سيؤدي ذلك إلى ضبط اتجاه نظام تحديد المواقع العالمي (وفقًا لانحراف الزاوية) ليكون هو الاتجاه الحالي لنظام نقل الحركة.
يجب أن يبقى مستشعر نظام تحديد المواقع العالمي (GPS) ثابتًا أثناء عملية المعايرة.
Available Functionsvoid calibrate();
لا تأخذ هذه الدالة أي معلمات.
Return Valuesهذه الدالة لا تُرجع قيمة.
Examples// Turn to face the lower Field wall using data from the GPS Sensor.
GPS1.calibrate();
Drivetrain.turnToHeading(180, degrees)
setOrigin#
يحدد نقطة الأصل لنظام إحداثيات GPS.
Available Functions1 — يحدد نقطة الأصل عند الموضع X و Y المحدد.
void setOrigin( double x, double y, distanceUnits units = mm );
Parameters2 — يحدد نقطة الأصل إلى الموضع الحالي للمستشعر.
void setOrigin();
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
الإحداثي السيني لموقع الأصل الجديد. |
|
|
إحداثيات Y لموقع الأصل الجديد. |
|
|
وحدة القياس المستخدمة لـ
|
هذه الدالة لا تُرجع قيمة.
NotessetLocation#
يحدد موقع واتجاه نظام تحديد المواقع العالمي (GPS) الحاليين.
Available Functions1 — يحدد الموقع الحالي باستخدام وحدات المسافة والدوران المحددة.
void setLocation( double x, double y, distanceUnits units = mm, double angle = 0, rotationUnits units_r = degrees );
Parameters2 — يحدد الموقع الحالي باستخدام المليمترات والدرجات.
void setLocation( double x, double y, double angle );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
الإحداثي السيني للموقع الحالي. |
|
|
إحداثيات الموقع الحالي على المحور الصادي. |
|
|
وحدة القياس المستخدمة لـ
|
|
|
قيمة العنوان للموقع الحالي. |
|
|
وحدة القياس المستخدمة للزاوية
|
هذه الدالة لا تُرجع قيمة.
NotesxPosition#
يُعيد موضع X الحالي لمستشعر نظام تحديد المواقع العالمي (GPS).
Available Functionsdouble xPosition( distanceUnits units = distanceUnits::mm );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
وحدة قياس موضع X المُعاد:
|
تُرجع قيمة double تمثل الإزاحة الموضعية x من نقطة الأصل بالوحدات المحددة.
يتم قياس موضع X بالنسبة إلى نقطة الأصل الحالية.
يمكن تغيير الأصل باستخدام
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#
يُعيد موضع Y الحالي لمستشعر GPS.
Available Functionsdouble yPosition( distanceUnits units = distanceUnits::mm );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
وحدة قياس موضع Y المُعاد:
|
تُرجع قيمة double تمثل الإزاحة الموضعية Y من نقطة الأصل بالوحدات المحددة.
يتم قياس موضع Y بالنسبة إلى نقطة الأصل الحالية.
يمكن تغيير نقطة الأصل باستخدام
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#
يُعيد الاتجاه الحالي (زاوية الانحراف) لمستشعر نظام تحديد المواقع العالمي (GPS).
Available Functionsdouble heading( rotationUnits units = rotationUnits::deg );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
وحدة قياس قيمة الاتجاه المُعادة:
|
تُرجع قيمة double تمثل العنوان الحالي بالوحدات المحددة.
يتم التفاف قيمة العنوان بين 0 و 360 درجة.
يتم تحديد اتجاه الدوران الموجب بواسطة المعلمة
dirالمحددة أثناء الإنشاء.
// 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) على طول المحور المحدد.
Available Functionsdouble acceleration(
axisType axis );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
المحور الذي سيتم حساب التسارع له:
|
تُرجع قيمة double تمثل التسارع على طول المحور المحدد بوحدة G (وحدات الجاذبية).
يتم الإبلاغ عن قيم التسارع بوحدات G، حيث يساوي 1 G التسارع الناتج عن الجاذبية على سطح الأرض.
gyroRate#
يعيد السرعة الزاوية التي يقيسها مستشعر نظام تحديد المواقع العالمي (GPS) على طول المحور المحدد.
Available Functionsdouble gyroRate(
axisType axis,
velocityUnits units );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
المحور الذي ستُعاد عنده السرعة الزاوية:
|
|
|
وحدة قياس السرعة الزاوية العائدة:
|
تُرجع قيمة double تمثل السرعة الزاوية على طول المحور المحدد بالوحدات المختارة.
orientation#
يُعيد زاوية توجيه مستشعر نظام تحديد المواقع العالمي (GPS) للمحور المحدد.
Available Functionsdouble orientation(
orientationType axis,
rotationUnits units );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
محاور التوجيه المراد استرجاعها:
|
|
|
وحدة قياس قيمة التوجيه المُعادة:
|
تُرجع قيمة double تمثل اتجاه المحور المحدد بالوحدات المختارة.
quality#
يُعيد جودة إشارة نظام تحديد المواقع العالمي (GPS) المُدركة.
Available Functionsint32_t quality();
لا تأخذ هذه الدالة أي معلمات.
Return Valuesتُرجع الدالة قيمة من نوع int32_t int32_t تمثل جودة إشارة نظام تحديد المواقع العالمي (GPS) كنسبة مئوية:
القيم المحتملة |
وصف |
|---|---|
|
جميع بيانات الموقع والاتجاه المُبلغ عنها من مستشعر نظام تحديد المواقع العالمي (GPS) صحيحة. |
|
لم تعد بيانات الموقع تُحسب مباشرة من رمز حقل نظام تحديد المواقع العالمي (GPS)، بل يتم تقديرها بدلاً من ذلك من خلال وسائل بديلة. |
|
لا تُعتبر سوى قيم الاتجاه صالحة. ومع مرور الوقت دون مسح كافٍ لرمز حقل نظام تحديد المواقع العالمي (GPS)، تستمر جودة الإشارة في التدهور حتى تصل إلى |
changed#
يسجل دالة رد نداء يتم تشغيلها عند تغيير قيمة اتجاه نظام تحديد المواقع العالمي (GPS).
Available Functionsvoid changed(
void (* callback)(void) );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
مؤشر إلى دالة سيتم استدعاؤها عند تغير قيمة اتجاه نظام تحديد المواقع العالمي (GPS). يجب ألا تأخذ الدالة أي معلمات وأن تُرجع القيمة |
هذه الدالة لا تُرجع قيمة.