Bi sistem kartograafi biir kër
Royuwaay xarala yu mat sëkk ngir sistemu positionnement bi ci biir See U: arsitektir, kaptër, algorithm, API, ak tegtal ci samp gi.
Résumé
Duggal ci sistemu kartograafi
Luy sistemu kartograafi See U ci biir kër?
Sistem bi ci biir kër See U, platform la bu tëju, muy boole jiroom benn xeeti xaralay kaptër ak fusion bu xarañ ngir joxe barab bu dëggu fu GPS amul.
Danuy jëfandikoo stack multimodal bu am:
- Geolocalisation magnétique: Benn “empre baraam” bu am magnetik ngir tabax bu nekk
- Wi‐Fi RTT: Waxtu naaw ngir xam fu sori
- Bluetooth LE: Balis ngir ancre ak barab yu am solo
- Capteur inertiel: Xayma bu dee ak IMU bu mujj
- Gis-gis bu ordinatër: SLAM ak màrker yiy wane
- GNSS: Jaar-jaar bu neex diggante biir ak biti
1–2 m njub ci 99% ci mbir yi ngir am yoon wu wóor
Coppite ci jamono dëgg ak lu néew 100 ms latency
boole xarala yu bari ngir wóor ak jaar yoon
Arsitektu sistem
Jariñ ak cër yi ci gëna am solo
Bloc de construction architecture
1. Layer buy dajale ay done
Dafay joxe done yu ñor yi ci bépp kaptëru aparey ci saa si.
- • Dawalkat yi (iOS / Android)
- • Doxal taxawaayu misaal
- • Tampon de données pour fusion en lots
- • Sinkronisaasioŋ timestamp
2. Couche de préprocessement
Dafay segg, normalise, ak waajal done yi ngir boole.
- • Filtre pas-bas ak pas-haut
- • Etalonnage otomatik
- • Gis ak dindi lu génn
- • Normalisasioŋ ak eskaal
3. Couche de fusion capteur
Dafay boole balluwaay yu bari ak pexe fusion yu bees.
- • Filtre particules (probabilité)
- • Kalman bu yaatu ngir nooy
- • Pondération adaptatif par capteur
- • Gis contexte ci biir / biti
4. Couche de positionnement
Xayma barabu jëfandikukat bi mujj ci kàrt bi.
- • méngoo kàrt
- • Snap ci segment yoon yu baax
- • Gis dër / niveau
- • Correction drift
5. Couche de navigation
Waajalug yoon wi ak tegtal ci tur-par-turn.
- • A* ak pondération accessibilité
- • Defar ay tegtal audio
- • Re-routage dynamique
- • Àrtu ci jegewaale ci POI yi
6. Layer interface
APIs ak SDKs ngir boole aplikaasioŋ yi.
- • REST ngir web ak serwër
- • SDK yi (iOS ak Android)
- • Yeesali WebSocket ci saasi
- • Webhooks ngir xew-xewu posisioŋ
Couches de capteur
Ay detay teknik ci couche bu nekk
Geolokaasioŋ magnetik
Maps Suuf si ak anomali yi bawoo ci tabax. Bépp jumtukaay amna emprent baraam bu amul fenn.
Màndarga yi ci xarala yi:
- Taxawam misaal: 50–100 Hz
- Dayo: 0.01 μT
- Kalibraasioŋ otomatik bu wéy
- kompensaasioŋ ngir jàppale
RTT Wi-Fi
Waxtu-naaw Wi-Fi tàmbalee ci barabi jëfandikoo gi. Dafay laaj ndimbalu RTT ci aparey ak jumtukaay.
Màndarga yi ci xarala yi:
- IEEE 802.11mc (RTT Wi-Fi)
- Bande: 2.4 ak 5 GHz
- yeexal: < 100 ms
- APs ngir triangulasioŋ
Bluetooth bu néew doole (BLE)
Balis yiy wane jegewaale, yoon, POI ak waypoint.
Màndarga yi ci xarala yi:
- BLE 5.0+
- RSSI (dooley siñaal biñ jot)
- Batëri: 2–5 at
- Range: ba 100 m
Unité de mesure inertielle (IMU)
IMU dafay muur yëngu, wëréel, ak kawewaay ngir dindi bërëb yi am ci diggante royuwaay yi.
Màndarga yi ci xarala yi:
- Accelerometre: ±16 g, 400 Hz
- Giro: ±2000°/s, 400 Hz
- Baro: 0.5 m gaawaay
- Ukudibanisa: Kalman
Xool ci ordinatër (CV)
Dafay gis man-man yi, màrker AR yi, QR yi, ak mbind ngir yeesali position yi ak SLAM.
Màndarga yi ci xarala yi:
- SLAM: lokalisasioŋ ak kartograafi ci benn yoon
- gis-gis màndarga: ORB, SIFT
- Màrker AR: ArUco, QR
- TensorFlow Lite
GNSS / GPS (ci biti)
Position satelit ci biti ak ngir joxe ci biir–bitti ak di doxal derivation bi.
Màndarga yi ci xarala yi:
- I-Multi-GNSS: GPS, GLONASS, Galileo, BeiDou
- A-GPS ngir TTFF bu gaaw
- otomatik ci biir / biti
- Fused ak yeneen diisaay
Algorithm
Processing ak xel mu ñaw
Filtre de particules (monte carlo)
Particule yu bari yu am pondération dañuy topp pose jëfandikukat bi ci kaptër yu bari yu am bruit.
Seggal Kalman buñ yaatal
Dafay xayma ci anam wu baax sistem buy dinaamise ak ay duggal yu bari bruit; jëfandikoo ngir yoon yu neex ak wax luy am ci diir bu gàtt.
A* seet yoon
Wut yoon wi gëna gàtt ak ay gaañ-gaañu, yombal jëfandikoo gi ak tànneefi jëfandikukat bi ñuy poid.
I-SLAM
Defar ab kàrt ba noppi topp aparey bi ci biir ak ay màndarga yu ñuy gis.
Jàngum masin (reseau neuronal)
Royuwaay yuñ tàggat ngir xaaj environmaa yi, dindi bruit ci done yi, ak gëna dëppoo ak diir bi.
lim bu dee
Tasaare pose ci fix bu mujj bi jëfandikoo gaawaay ak bopp su fix radio yi wàcci.
Flux de traitement
jàpp ay done
Sensor yi dañuy joxe natt yu ñor yi ci jamono dëgg
Liggéeyukaay
Seggal, etalonnage ak normalisasioŋ
Fusion kaptër
Segg particule dafay boole bépp balluwaay
Segg Kalman
Nooyal ak wax luy waaja xew
méngoo kàrt
Projet ci kaw kàrt buñ mëna yóbbu
pose de sortie
Exposé à l'application sur l'API
API REST
Endpoints ak boole
URL bu njëkk
/api/v1/positioningDelloosi pose aparey bi fi nekk
Parametre yi:
device_idvenue_idfloor/api/v1/navigation/routeWaajal ab yoon ci digganté ñaari poñ
Parametre yi:
origindestinationaccessibility_mode/api/v1/venues/{id}/mapWutal ay carreaux ci kàrtu barab bi
Parametre yi:
venue_idfloorformat/api/v1/poisLimal barab yi gëna jege
Parametre yi:
latlngradiuscategory/api/v1/tracking/updatePostal lote kaptër ngir boole ci wàllu serwër
Parametre yi:
sensor_datatimestampdevice_idMisaalu laaj
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
}'Njàngaley samp gi
Ni ñuy boolee stack bi
1. Li sistem bi soxla
iOS
- • iOS 14.0+
- • Mwepesi 5.5+
- • Barabu Core
- • I-CoreMotion
- • ARKit (mën nga ko tànn)
Android
- • I-Android 8.0+ (API 26)
- Kotlin 1.7+
- • Ay sarwis yu Google Play
- • API kaptëru Android
- • ARCore (taamu)
2. Sampaale SDK
iOS (CacaoPods)
pod 'SeeUMapping', '~> 1.0'
android
implementation 'app.seeu:mapping:1.0.0'
3. Tàmbali
// 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. Navigasioŋ
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)
}
}