Skip to Content
मूल अवधारणाएँमूल अवधारणाएँ

मूल अवधारणाएँ: अंतरिक्ष और समय के माध्यम से एक यात्रा

वास्तव में यह समझने के लिए कि ट्रैसलेट का पृष्ठभूमि स्थान इंजन कैसे संचालित होता है, हमें एक सरल “टाइमर जो जीपीएस को पिंग करता है” के विचार को त्यागना होगा। इसके बजाय, आइए एक उपयोगकर्ता- सारा, एक डिलीवरी ड्राइवर- का उसके पूरे दिन अनुसरण करें। रास्ते में, हम देखेंगे कि ट्रेसलेट के बुद्धिमान एल्गोरिदम (क्या) वास्तविक दुनिया की समस्याओं (क्यों और कहाँ) को कैसे हल करते हैं।


परिदृश्य 1: सुबह का आवागमन

अवधारणाओं की खोज: गति पहचान, अनुकूली नमूनाकरण, लोच

समस्या

सारा उठती है, तैयार होती है और अपने घर से निकल जाती है। यदि उसके सोते समय उसके फोन का जीपीएस लगातार 10-मीटर के अंतराल पर पोलिंग कर रहा था, तो उसकी शिफ्ट शुरू होने से पहले ही उसकी बैटरी खत्म हो जाएगी। एक बार जब वह अपनी कार में बैठती है और राजमार्ग पर चलती है, तो 10-मीटर का अंतराल बहुत अधिक होता है और डेटाबेस को प्रभावित करेगा, लेकिन यदि यह बहुत कम है, तो उसका मार्ग इमारतों को काटते हुए एक सीधी रेखा जैसा दिखेगा।

ट्रेसलेट इसे कैसे हल करता है

  1. स्थिर अवस्था (स्थानांतरण देर से नहीं) जब सारा सो रही थी, उसके फोन के एक्सेलेरोमीटर ने शून्य हलचल का पता लगाया। 5 मिनट (डिफ़ॉल्ट stopTimeout) के बाद, ट्रेसलेट ने STATIONARY स्थिति में प्रवेश करते हुए आक्रामक रूप से जीपीएस रेडियो को पूरी तरह से बंद कर दिया। उसकी बैटरी ख़त्म होकर लगभग 0% हो गई। जैसे ही उसने जाने के लिए अपना फोन उठाया, एक्सेलेरोमीटर ने तुरंत ट्रेसलेट को जगा दिया।

  2. अनुकूली मोड (geo.enableAdaptiveMode) जैसे ही सारा अपनी कार की ओर चलती है, ट्रैसलेट 10 मीटर की बेसलाइन distanceFilter का उपयोग करती है। हालाँकि, जब वह 65 एमपीएच करते हुए राजमार्ग पर विलीन हो जाती है, तो enableAdaptiveMode उच्च गति का पता लगाता है और स्वचालित रूप से distanceFilter को 50 या 100 मीटर तक माप देता है।

क्यों? क्योंकि तेज़ गति पर, आप बहुत सी ज़मीन को एक सीधी रेखा में कवर करते हैं। हमें किसी राजमार्ग पर एक सीधी रेखा खींचने के लिए 100 बिंदुओं की आवश्यकता नहीं है।

  1. लोच गुणक (geo.elasticityMultiplier) यह पैरामीटर नियंत्रित करता है कि दूरी फ़िल्टर उच्च गति पर कितनी आक्रामक रूप से फैलता है। यदि वह एक अंतहीन रेगिस्तानी राजमार्ग पर लंबी दूरी की ट्रक ड्राइवर है, तो आप फ़िल्टर को और भी आगे बढ़ाने के लिए elasticityMultiplier को 2.0 पर सेट कर सकते हैं, जिससे अधिक बैटरी की बचत होगी।

परिदृश्य 2: सबवे सुरंग

अवधारणाओं की खोज: डेड रेकनिंग, कलमैन फ़िल्टरिंग, ओडोमीटर सटीकता

समस्या

सारा के पास डाउनटाउन डिलीवरी के लिए एक पैकेज है। वह अपनी कार पार्क करती है और तीन स्टॉप के लिए भूमिगत मेट्रो लेती है। भूमिगत रहते हुए, वह पूरी तरह से जीपीएस सिग्नल खो देती है। एक सामान्य स्थान ट्रैकर मेट्रो के प्रवेश द्वार से निकास तक एक सीधी रेखा खींचता है, जिससे उसके पेरोल के लिए गणना की गई कुल दूरी बर्बाद हो जाती है।

ट्रेसलेट इसे कैसे हल करता है

  1. डेड रेकनिंग (अनुवादित नहीं) 10 सेकंड के शून्य जीपीएस सिग्नल (deadReckoningActivationDelay के माध्यम से कॉन्फ़िगर) के बाद, ट्रेसलेट को पता चलता है कि वह जीपीएस-अस्वीकृत वातावरण में है। यह डेड रेकनिंग इंजन को सक्रिय करता है, एक्सेलेरोमीटर, जाइरोस्कोप और कंपास से डेटा को जोड़कर उसके अंतिम ज्ञात वेग और दिशा के आधार पर सुरंग के माध्यम से उसके पथ का अनुमान लगाता है।

  2. ओडोमीटर सटीकता सीमा (geo.filter.odometerAccuracyThreshold) जैसे ही वह सबवे से बाहर निकलती है, जीपीएस सिग्नल गगनचुंबी इमारतों के चारों ओर उछलता है, जिससे 150 मीटर सटीकता के साथ “अस्पष्ट” स्थान मिलता है। क्योंकि उसका odometerAccuracyThreshold 50 मीटर पर सेट है, ट्रैसलेट बिंदु को रिकॉर्ड करता है लेकिन उस दूरी को उसके कुल ट्रिप ओडोमीटर में जोड़ने से मना कर देता है, यह सुनिश्चित करते हुए कि उसे गलत “जीपीएस बाउंस” दूरी के लिए भुगतान नहीं किया जाता है।


परिदृश्य 3: कार्यालय डेस्क

अवधारणाओं की खोज: बैटरी बजट इंजन, जियोफेंस प्रॉक्सी

समस्या

सारा एक बड़े कॉर्पोरेट परिसर में पहुँचती है और पैकेज वितरित करते हुए अंदर घूमने में 45 मिनट बिताती है। जीपीएस सिग्नल कमज़ोर है, और बैटरी कम होने लगी है।

ट्रेसलेट इसे कैसे हल करता है

  1. बैटरी बजट (देर से स्थानांतरित नहीं) आपने ट्रैसलेट को 2.0% के batteryBudgetPerHour के साथ कॉन्फ़िगर किया है। ट्रैसलेट ने देखा कि इमारत के अंदर कमजोर सिग्नल के कारण उसकी बैटरी 3.5% प्रति घंटे की दर से खत्म हो रही है। इंजन स्वचालित रूप से desiredAccuracy को high से medium में बदल देता है और distanceFilter को बढ़ाकर बैटरी को 2.0% बजट के तहत वापस खत्म करने के लिए मजबूर करता है।

  2. निकटता के माध्यम से असीमित जियोफेंस कॉर्पोरेट परिसर में 500 व्यक्तिगत डिलीवरी जोन (जियोफेंस) हैं। आईओएस और एंड्रॉइड दोनों मूल रूप से आपको 20 या 100 जियोफेंस तक सीमित करते हैं। ट्रैसलेट केवल geofenceProximityRadius के भीतर निकटतम जियोफेंस को पंजीकृत करके इस हार्डवेयर सीमा को दरकिनार कर देता है। जैसे ही सारा परिसर में घूमती है, ट्रैसलेट जियोफेंस को ओएस हार्डवेयर में निर्बाध रूप से लोड और अनलोड करता है, जिससे अनंत जियोफेंस की अनुमति मिलती है।