The इनडोर मैपिंग सिस्टम
सी यू इनडोर पोजिशनिंग सिस्टम के लिए पूर्ण तकनीकी संदर्भ: आर्किटेक्चर, सेंसर, एल्गोरिदम, एपीआई और एक कार्यान्वयन गाइड।
त्वरित नेविगेशन
सिंहावलोकन
मानचित्रण प्रणाली का परिचय
सी यू इनडोर मैपिंग सिस्टम क्या है?
सी यू इनडोर सिस्टम एक क्लोज्ड-स्पेस पोजिशनिंग प्लेटफॉर्म है जो छह सेंसर प्रौद्योगिकी परतों को उन्नत फ्यूजन के साथ जोड़ता है ताकि जीपीएस अनुपलब्ध होने पर सटीक स्थान प्रदान किया जा सके।
वाई-फ़ाई- या ब्लूटूथ-केवल उत्पादों के विपरीत, हम एक मल्टीमॉडल स्टैक का उपयोग करते हैं जिसमें शामिल हैं:
- चुंबकीय जियोलोकेशन: प्रत्येक इमारत के लिए एक अद्वितीय चुंबकीय "फ़िंगरप्रिंट"।
- वाई-फ़ाई आरटीटी: सटीक दूरी के लिए उड़ान का समय
- ब्लूटूथ LE: एंकर और रुचि के बिंदुओं के लिए बीकन
- जड़त्वीय सेंसर: एक उच्च स्तरीय आईएमयू के साथ मृत गणना
- कंप्यूटर विज़न: SLAM और विज़ुअल मार्कर
- जीएनएसएस: सहज इनडोर-आउटडोर संक्रमण
सुरक्षित रास्ता खोजने के लिए 99% मामलों में 1-2 मीटर की सटीकता
100 एमएस से कम की एंड-टू-एंड विलंबता के साथ वास्तविक समय अपडेट
विश्वसनीयता और परिशुद्धता के लिए कई तकनीकों का संयोजन
सिस्टम आर्किटेक्चर
संरचना और प्रमुख घटक
वास्तुकला भवन ब्लॉक
1. डेटा संग्रह परत
वास्तविक समय में सभी डिवाइस सेंसर से कच्चा डेटा स्ट्रीम करता है।
- • मूल ड्राइवर (आईओएस/एंड्रॉइड)
- • नमूना-दर प्रबंधन
- • बैच फ़्यूज़न के लिए डेटा बफ़रिंग
- • टाइमस्टैम्प सिंक्रनाइज़ेशन
2. प्रीप्रोसेसिंग परत
फ़्यूज़न के लिए डेटा को फ़िल्टर, सामान्यीकृत और तैयार करता है।
- • लो-पास और हाई-पास फिल्टर
- • ऑटो अंशांकन
- • बाह्य का पता लगाना और हटाना
- • सामान्यीकरण एवं स्केलिंग
3. सेंसर फ्यूजन परत
आधुनिक संलयन विधियों के साथ कई स्रोतों को जोड़ता है।
- • कण फ़िल्टर (संभाव्य)
- • स्मूथिंग के लिए विस्तारित कलमैन
- • अनुकूली प्रति-सेंसर भार
- • इनडोर/आउटडोर संदर्भ का पता लगाना
4. पोजिशनिंग परत
अंतिम ऑन-मैप उपयोगकर्ता स्थिति की गणना करता है।
- • मानचित्र मिलान
- • वैध पथ खंडों पर स्नैप करें
- • फर्श/स्तर का पता लगाना
- • बहाव सुधार
5. नेविगेशन परत
पथ योजना और बारी-बारी निर्देश।
- • ए* सुगम्यता भार के साथ
- • ऑडियो अनुदेश पीढ़ी
- • डायनामिक री-रूटिंग
- • POIs के लिए निकटता अलर्ट
6. इंटरफ़ेस परत
ऐप एकीकरण के लिए एपीआई और एसडीके।
- • वेब और सर्वर के लिए REST
- • मूल एसडीके (आईओएस और एंड्रॉइड)
- • वेबसॉकेट लाइव अपडेट
- • स्थिति घटनाओं के लिए वेबहुक
सेंसर परतें
प्रति परत तकनीकी विवरण
चुंबकीय भौगोलिक स्थान
मानचित्र पृथ्वी क्षेत्र और भवन-प्रेरित विसंगतियाँ। प्रत्येक संरचना में एक अद्वितीय चुंबकीय फिंगरप्रिंट होता है।
तकनीकी निर्देश:
- नमूना दर: 50-100 हर्ट्ज़
- रिज़ॉल्यूशन: 0.01 µT
- सतत स्वत:अंशांकन
- हस्तक्षेप मुआवजा
वाई-फ़ाई आरटीटी
उड़ान के समय पहुंच बिंदुओं तक वाई-फाई। डिवाइस और बुनियादी ढांचे आरटीटी समर्थन की आवश्यकता है।
तकनीकी निर्देश:
- प्रोटोकॉल: IEEE 802.11mc (वाई-फ़ाई RTT)
- बैंड: 2.4 और 5 गीगाहर्ट्ज़
- विलंबता: < 100 एमएस
- त्रिकोणासन के लिए कम से कम 3 एपी
ब्लूटूथ कम ऊर्जा (बीएलई)
निकटता, दिशा, POI और मार्ग बिंदु के लिए बीकन।
तकनीकी निर्देश:
- प्रोटोकॉल: बीएलई 5.0+
- आरएसएसआई (प्राप्त सिग्नल शक्ति)
- बैटरी: 2-5 वर्ष
- रेंज: 100 मीटर तक
जड़त्वीय माप इकाई (आईएमयू)
IMU संदर्भों के बीच अंतराल को पाटने के लिए गति, घूर्णन और ऊंचाई को कवर करता है।
तकनीकी निर्देश:
- एक्सेलेरोमीटर: ±16 ग्राम, 400 हर्ट्ज
- जाइरो: ±2000°/सेकेंड, 400 हर्ट्ज़
- बारो: 0.5 मीटर मंजिल ऊंचाई
- फ़्यूज़न: कलमन
कंप्यूटर विज़न (सीवी)
स्थिति अपडेट और एसएलएएम के लिए सुविधाओं, एआर मार्करों, क्यूआर और टेक्स्ट का दृश्य रूप से पता लगाता है।
तकनीकी निर्देश:
- SLAM: एक साथ स्थानीयकरण और मानचित्रण
- फ़ीचर डिटेक्शन: ORB, SIFT
- एआर मार्कर: अरुको, क्यूआर
- रनटाइम: टेन्सरफ़्लो लाइट
जीएनएसएस/जीपीएस (आउटडोर)
बाहर और इनडोर-आउटडोर हैंडओवर और बहाव नियंत्रण के लिए सैटेलाइट स्थिति।
तकनीकी निर्देश:
- मल्टी-जीएनएसएस: जीपीएस, ग्लोनास, गैलीलियो, बेइदौ
- त्वरित टीटीएफएफ के लिए ए-जीपीएस
- स्वचालित इनडोर/आउटडोर
- अन्य परतों के साथ जुड़ा हुआ
एल्गोरिदम
प्रसंस्करण और बुद्धिमत्ता
कण फ़िल्टर (मोंटे कार्लो)
कई भारित कण कई शोर वाले सेंसरों से उपयोगकर्ता की सबसे संभावित मुद्रा को ट्रैक करते हैं।
विस्तारित कलमैन फ़िल्टर
शोर इनपुट के साथ एक गतिशील प्रणाली का पुनरावर्ती अनुमान लगाता है; सुगम पथों और अल्पकालिक भविष्यवाणी के लिए उपयोग किया जाता है।
ए* पथ खोज
बाधाओं, पहुंच और उपयोगकर्ता प्राथमिकताओं को ध्यान में रखते हुए सबसे छोटा रास्ता ढूंढता है।
स्लैम
एक मानचित्र बनाता है और उसमें दृश्य सुविधाओं के साथ डिवाइस को ट्रैक करता है।
मशीन लर्निंग (तंत्रिका नेटवर्क)
वातावरण को वर्गीकृत करने, डेटा को निरूपित करने और समय के साथ सटीकता में सुधार करने के लिए प्रशिक्षित मॉडल।
मृत हिसाब
जब रेडियो फिक्स गिरता है तो वेग और हेडिंग का उपयोग करके अंतिम फिक्स से पोज़ का प्रचार करें।
प्रसंस्करण प्रवाह
डेटा कैप्चर
सेंसर वास्तविक समय में कच्चे माप को स्ट्रीम करते हैं
पूर्वप्रसंस्करण
फ़िल्टरिंग, अंशांकन और सामान्यीकरण
सेंसर संलयन
कण फ़िल्टर सभी स्रोतों को मर्ज कर देता है
कलमन फ़िल्टर
प्रक्षेपवक्र को सुचारू और पूर्वानुमानित करता है
मानचित्र मिलान
रूटेबल मैप ग्राफ़ पर प्रोजेक्ट करें
आउटपुट पोज़
एपीआई पर ऐप के संपर्क में
बाकी एपीआई
समापन बिंदु और एकीकरण
आधार यूआरएल
/api/v1/positioningवर्तमान डिवाइस पोज़ लौटाता है
पैरामीटर:
device_idvenue_idfloor/api/v1/navigation/routeदो बिंदुओं के बीच एक पथ की योजना बनाएं
पैरामीटर:
origindestinationaccessibility_mode/api/v1/venues/{id}/mapस्थल मानचित्र टाइलें प्राप्त करें
पैरामीटर:
venue_idfloorformat/api/v1/poisरुचि के आस-पास के बिंदुओं की सूची बनाएं
पैरामीटर:
latlngradiuscategory/api/v1/tracking/updateसर्वर-साइड फ़्यूज़न के लिए पोस्ट सेंसर बैच
पैरामीटर:
sensor_datatimestampdevice_idनमूना अनुरोध
curl -X POST https://api.seeu.app/v1/navigation/route \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"origin": {
"lat": -23.550520,
"lng": -46.633308,
"floor": 1
},
"destination": {
"lat": -23.551234,
"lng": -46.634567,
"floor": 2
},
"accessibility_mode": true
}'कार्यान्वयन मार्गदर्शिका
स्टैक को कैसे एकीकृत करें
1. सिस्टम आवश्यकताएँ
आईओएस
- • आईओएस 14.0+
- • स्विफ्ट 5.5+
- • कोरलोकेशन
- • कोरमोशन
- • एआरकिट (वैकल्पिक)
एंड्रॉइड
- • एंड्रॉइड 8.0+ (एपीआई 26)
- • कोटलिन 1.7+
- • गूगल प्ले सेवाएँ
- • एंड्रॉइड सेंसर एपीआई
- • एआरकोर (वैकल्पिक)
2. एसडीके स्थापित करें
आईओएस (कोकोपोड्स)
pod 'SeeUMapping', '~> 1.0'
एंड्रॉइड (ग्रैडल)
implementation 'app.seeu:mapping:1.0.0'
3. आरंभीकरण
// Swift
import SeeUMapping
let mapping = SeeUMapping(apiKey: "YOUR_API_KEY")
mapping.configure(
venueId: "shopping-center-xyz",
enableMagneticPositioning: true,
enableWiFiRTT: true,
enableBLE: true
)
mapping.startPositioning { result in
switch result {
case .success(let position):
print("Lat: \(position.lat), Lng: \(position.lng)")
case .failure(let error):
print("Error: \(error)")
}
}4. नेविगेशन
mapping.calculateRoute(
from: currentPosition,
to: destination,
accessibilityMode: true
) { route in
mapping.startNavigation(route: route) { instruction in
// turn-by-turn instructions
print(instruction.text)
speakInstruction(instruction.audio)
}
}