जीपीएस सेंसर#
परिचय#
gps क्लास का उपयोग वी5 जीपीएस (गेम पोजिशनिंग सिस्टम™) सेंसर से डेटा को नियंत्रित करने और एक्सेस करने के लिए किया जाता है। यह सेंसर वीईएक्स फील्ड पर रोबोट की सटीक स्थिति और दिशा ट्रैकिंग प्रदान करता है। यह फील्ड की परिधि के आसपास मौजूद जीपीएस फील्ड कोड का उपयोग करके रोबोट के एक्स और वाई निर्देशांक और दिशा की गणना वास्तविक समय में करता है।
जीपीएस सेंसर, डिवाइस विंडो में जीपीएस सेंसर को कॉन्फ़िगर करते समय दर्ज किए गए ऑफसेट से स्वचालित रूप से गणना किए गए संदर्भ बिंदु का उपयोग करके रोबोट की स्थिति लौटाता है।
जीपीएस सेंसर के बारे में अधिक जानकारी के लिए, वीईएक्स लाइब्रेरी में वीईएक्स वी5 के साथ जीपीएस सेंसर का उपयोग करना पढ़ें।
संदर्भ बिंदु जीपीएस सेंसर की अपनी (0, 0) स्थिति के रूप में कार्य करता है, जहां जीपीएस विधियों द्वारा लौटाए गए सभी निर्देशांक, दिशाएं और गतिविधियां इस कॉन्फ़िगर किए गए बिंदु के सापेक्ष होती हैं।

क्लास कंस्ट्रक्टर#
1 — डिफ़ॉल्ट मूल (0, 0) का उपयोग करके निर्दिष्ट स्मार्ट पोर्ट पर
gpsऑब्जेक्ट बनाता है।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();
पैरामीटर#
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
जीपीएस सेंसर जिस स्मार्ट पोर्ट से जुड़ा है, उसे |
|
|
मूल बिंदु की X-निर्देशांक। |
|
|
मूल बिंदु की Y-निर्देशांक। |
|
|
|
|
|
जीपीएस सेंसर का घूर्णीय ऑफसेट डिग्री में, 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— जीपीएस सेंसर को कैलिब्रेट करता है।setOrigin— जीपीएस समन्वय प्रणाली के लिए मूल स्थिति निर्धारित करता है।setLocation— जीपीएस सेंसर का वर्तमान स्थान और दिशा निर्धारित करता है।xPosition— वर्तमान X स्थिति लौटाता है।yPosition— वर्तमान Y स्थिति लौटाता है।heading— वर्तमान शीर्षक लौटाता है।acceleration— निर्दिष्ट अक्ष के साथ रैखिक त्वरण लौटाता है।gyroRate— निर्दिष्ट अक्ष के लिए कोणीय वेग लौटाता है।orientation— निर्दिष्ट अक्ष के लिए ओरिएंटेशन लौटाता है।quality— वर्तमान जीपीएस सिग्नल गुणवत्ता लौटाता है।changed— एक कॉलबैक फ़ंक्शन पंजीकृत करता है जो जीपीएस डेटा बदलने पर चलता है।
किसी भी 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#
जीपीएस सेंसर को कैलिब्रेट करता है। इससे जीपीएस की कॉन्फ़िगर की गई दिशा (उसके कोण ऑफ़सेट के अनुसार) ड्राइवट्रेन की वर्तमान दिशा के रूप में सेट हो जाएगी।
कैलिब्रेशन प्रक्रिया के दौरान जीपीएस सेंसर स्थिर रहना चाहिए।
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#
जीपीएस निर्देशांक प्रणाली का मूल बिंदु निर्धारित करता है।
Available Functions1 — मूल बिंदु को निर्दिष्ट X और Y स्थिति पर सेट करता है।
void setOrigin( double x, double y, distanceUnits units = mm );
Parameters2 — मूल बिंदु को सेंसर की वर्तमान स्थिति पर सेट करता है।
void setOrigin();
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
नए मूल बिंदु की X-निर्देशांक। |
|
|
नए मूल बिंदु की Y-निर्देशांक। |
|
|
|
इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।
NotessetLocation#
वर्तमान जीपीएस स्थिति और दिशा निर्धारित करता है।
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 );
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
वर्तमान स्थान का X-निर्देशांक। |
|
|
वर्तमान स्थान का Y-निर्देशांक। |
|
|
|
|
|
वर्तमान स्थान के लिए हेडिंग मान। |
|
|
कोण
|
इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।
NotesxPosition#
जीपीएस सेंसर की वर्तमान X स्थिति लौटाता है।
Available Functionsdouble xPosition( distanceUnits units = distanceUnits::mm );
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
लौटाए गए X स्थान के लिए माप की इकाई:
|
यह निर्दिष्ट इकाइयों में मूल बिंदु से x स्थितिगत ऑफसेट को दर्शाने वाला double लौटाता है।
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#
जीपीएस सेंसर की वर्तमान वाई स्थिति लौटाता है।
Available Functionsdouble yPosition( distanceUnits units = distanceUnits::mm );
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
लौटाए गए Y स्थान के लिए माप की इकाई:
|
यह निर्दिष्ट इकाइयों में मूल बिंदु से Y स्थितिगत ऑफसेट को दर्शाने वाला double लौटाता है।
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#
जीपीएस सेंसर की वर्तमान दिशा (याव कोण) लौटाता है।
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#
निर्दिष्ट अक्ष के अनुदिश जीपीएस सेंसर द्वारा मापा गया रैखिक त्वरण लौटाता है।
Available Functionsdouble acceleration(
axisType axis );
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
वह अक्ष जिसके लिए त्वरण लौटाया जाएगा:
|
यह निर्दिष्ट अक्ष के अनुदिश त्वरण को G (गुरुत्वाकर्षण इकाई) में दर्शाने वाला double मान लौटाता है।
त्वरण के मान G की इकाई में बताए जाते हैं, जहाँ 1 G पृथ्वी की सतह पर गुरुत्वाकर्षण के कारण त्वरण के बराबर होता है।
gyroRate#
निर्दिष्ट अक्ष के अनुदिश जीपीएस सेंसर द्वारा मापी गई कोणीय वेग लौटाता है।
Available Functionsdouble gyroRate(
axisType axis,
velocityUnits units );
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
वह अक्ष जिसके लिए कोणीय वेग लौटाया जाएगा:
|
|
|
प्रत्यावर्ती कोणीय वेग की मापन इकाई:
|
यह निर्दिष्ट अक्ष के अनुदिश कोणीय वेग को चयनित इकाइयों में दर्शाने वाला double मान लौटाता है।
orientation#
यह निर्दिष्ट अक्ष के लिए जीपीएस सेंसर का अभिविन्यास कोण लौटाता है।
Available Functionsdouble orientation(
orientationType axis,
rotationUnits units );
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
दिशा अक्ष जिसे प्राप्त करना है:
|
|
|
लौटाए गए अभिविन्यास मान के लिए माप की इकाई:
|
यह निर्दिष्ट अक्ष के अभिविन्यास को चयनित इकाइयों में दर्शाने वाला double मान लौटाता है।
quality#
यह जीपीएस सिग्नल की अनुमानित गुणवत्ता लौटाता है।
Available Functionsint32_t quality();
यह फ़ंक्शन कोई पैरामीटर नहीं लेता है।
Return Valuesयह एक int32_t लौटाता है जो जीपीएस सिग्नल की गुणवत्ता को प्रतिशत के रूप में दर्शाता है:
संभावित मान |
विवरण |
|---|---|
|
जीपीएस सेंसर से प्राप्त सभी स्थिति और दिशा संबंधी डेटा मान्य है। |
|
जीपीएस फील्ड कोड से सीधे स्थिति संबंधी डेटा की गणना नहीं की जा रही है, बल्कि वैकल्पिक तरीकों से इसका अनुमान लगाया जा रहा है। |
|
केवल दिशा मान ही मान्य हैं। जीपीएस फील्ड कोड की पर्याप्त स्कैनिंग के बिना समय बीतने के साथ, सिग्नल की गुणवत्ता लगातार घटती जाती है जब तक कि |
changed#
जीपीएस हेडिंग वैल्यू में बदलाव होने पर चलने वाले कॉलबैक फ़ंक्शन को रजिस्टर करता है।
Available Functionsvoid changed(
void (* callback)(void) );
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
एक फ़ंक्शन का पॉइंटर जिसे जीपीएस हेडिंग मान बदलने पर कॉल किया जाएगा। फ़ंक्शन में कोई पैरामीटर नहीं होना चाहिए और उसे |
इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।