IL sistema di mappatura interna
Riferimento tecnico completo per il sistema di posizionamento indoor See U: architettura, sensori, algoritmi, API e una guida all'implementazione.
Navigazione rapida
Panoramica
Introduzione al sistema cartografico
Cos'è il sistema di mappatura indoor See U?
Il sistema per interni See U è una piattaforma di posizionamento in spazi chiusi che fonde sei livelli di tecnologia dei sensori con una fusione avanzata per fornire una posizione precisa dove il GPS non è disponibile.
A differenza dei prodotti solo Wi‑Fi o Bluetooth, utilizziamo uno stack multimodale che include:
- Geolocalizzazione magnetica: un'“impronta digitale” magnetica unica per ogni edificio
- Wi‑Fi RTT: intervallo del tempo di volo per distanze precise
- Bluetooth LE: Beacon per ancoraggi e punti di interesse
- Sensori inerziali: Navigazione stimata con un'IMU di fascia alta
- Visione artificiale: SLAM e marcatori visivi
- GNSS: transizione fluida da interno a esterno
Precisione di 1–2 m nel 99% dei casi per un orientamento sicuro
Aggiornamenti in tempo reale con latenza end-to-end inferiore a 100 ms
Unendo molte tecnologie per affidabilità e precisione
Architettura del sistema
Struttura e componenti principali
Elementi costitutivi dell'architettura
1. Livello di raccolta dati
Trasmette i dati grezzi da tutti i sensori del dispositivo in tempo reale.
- • Driver nativi (iOS/Android)
- • Gestione della frequenza di campionamento
- • Buffer dei dati per la fusione batch
- • Sincronizzazione del timestamp
2. Livello di preelaborazione
Filtra, normalizza e prepara i dati per la fusione.
- • Filtri passa-basso e passa-alto
- • Calibrazione automatica
- • Rilevamento e rimozione dei valori anomali
- • Normalizzazione e ridimensionamento
3. Strato di fusione del sensore
Combina più fonti con i moderni metodi di fusione.
- • Filtro antiparticolato (probabilistico)
- • Kalman esteso per lo smoothing
- • Ponderazione adattiva per sensore
- • Rilevamento contesto interno/esterno
4. Strato di posizionamento
Calcola la posizione finale dell'utente sulla mappa.
- • Corrispondenza della mappa
- • Agganciare a segmenti di percorso validi
- • Rilevamento piano/livello
- • Correzione della deriva
5. Livello di navigazione
Pianificazione del percorso e istruzioni passo passo.
- • A* con ponderazione dell'accessibilità
- • Generazione di istruzioni audio
- • Reindirizzamento dinamico
- • Avvisi di prossimità ai POI
6. Livello di interfaccia
API e SDK per l'integrazione delle app.
- • REST per web e server
- • SDK nativi (iOS e Android)
- • Aggiornamenti in tempo reale di WebSocket
- • Webhook per eventi di posizione
Strati di sensori
Dettagli tecnici per strato
Geolocalizzazione magnetica
Mappa il campo terrestre e le anomalie indotte dagli edifici. Ogni struttura ha un'impronta magnetica unica.
Specifiche tecniche:
- Frequenza di campionamento: 50–100 Hz
- Risoluzione: 0,01 µT
- Autocalibrazione continua
- Compensazione delle interferenze
Wi-Fi RTT
Tempo di volo Wi-Fi che va ai punti di accesso. Richiede il supporto RTT del dispositivo e dell'infrastruttura.
Specifiche tecniche:
- Protocollo: IEEE 802.11mc (Wi-Fi RTT)
- Bande: 2,4 e 5 GHz
- Latenza: < 100 ms
- Almeno 3 AP per la triangolazione
Bluetooth a basso consumo energetico (BLE)
Beacon per prossimità, direzione, POI e waypoint.
Specifiche tecniche:
- Protocollo: BLE 5.0+
- RSSI (potenza del segnale ricevuto)
- Batteria: 2–5 anni
- Portata: fino a 100 m
Unità di misura inerziale (IMU)
L'IMU copre il movimento, la rotazione e l'altitudine per colmare gli spazi tra i riferimenti.
Specifiche tecniche:
- Accelerometro: ±16 g, 400 Hz
- Giroscopio: ±2000°/s, 400 Hz
- Baro: 0,5 m di altezza dal pavimento
- Fusione: Kalman
Visione artificiale (CV)
Individua visivamente caratteristiche, indicatori AR, QR e testo per aggiornamenti di posizione e SLAM.
Specifiche tecniche:
- SLAM: localizzazione e mappatura simultanea
- Rilevamento delle caratteristiche: ORB, SIFT
- Marcatori AR: ArUco, QR
- Durata di esecuzione: TensorFlow Lite
GNSS/GPS (esterno)
Posizione del satellite all'aperto e per il passaggio interno-esterno e il controllo della deriva.
Specifiche tecniche:
- Multi-GNSS: GPS, GLONASS, Galileo, BeiDou
- A-GPS per un TTFF veloce
- Interno/esterno automatico
- Fuso con altri strati
Algoritmi
Elaborazione e intelligenza
Filtro antiparticolato (Montecarlo)
Molte particelle ponderate tracciano la posa più probabile dell'utente da più sensori rumorosi.
Filtro di Kalman esteso
Stima ricorsivamente un sistema dinamico con input rumorosi; utilizzato per percorsi fluidi e previsioni a breve termine.
Una * ricerca del percorso
Trova il percorso più breve con ostacoli, accessibilità e preferenze dell'utente come pesi.
SBATTERE
Costruisce una mappa e traccia il dispositivo al suo interno con funzionalità visive.
Apprendimento automatico (reti neurali)
Modelli addestrati per classificare gli ambienti, eliminare il rumore dai dati e migliorare la precisione nel tempo.
Calcolo morto
Propaga la posa dall'ultima correzione utilizzando la velocità e la direzione quando le correzioni radio diminuiscono.
Flusso di elaborazione
Acquisizione dei dati
I sensori trasmettono misurazioni grezze in tempo reale
Preelaborazione
Filtraggio, calibrazione e normalizzazione
Fusione dei sensori
Il filtro antiparticolato unisce tutte le fonti
Filtro di Kalman
Leviga e prevede la traiettoria
Corrispondenza della mappa
Proiettare sul grafico della mappa percorribile
Posa di uscita
Esposto all'app tramite l'API
API REST
Endpoint e integrazione
URL di base
/api/v1/positioningRestituisce la posa corrente del dispositivo
parametri:
device_idvenue_idfloor/api/v1/navigation/routePianificare un percorso tra due punti
parametri:
origindestinationaccessibility_mode/api/v1/venues/{id}/mapRecupera i riquadri della mappa della sede
parametri:
venue_idfloorformat/api/v1/poisElenca i punti di interesse vicini
parametri:
latlngradiuscategory/api/v1/tracking/updateBatch post-sensore per la fusione lato server
parametri:
sensor_datatimestampdevice_idRichiesta di campione
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
}'Guida all'implementazione
Come integrare lo stack
1. Requisiti di sistema
iOS
- • iOS 14.0+
- • Swift 5.5+
- • Posizione principale
- • CoreMotion
- • ARKit (opzionale)
Androide
- • Android 8.0+ (API 26)
- • Kotlin 1.7+
- • Servizi Google Play
- • API del sensore Android
- • ARCore (opzionale)
2. Installazione dell'SDK
iOS (CocoaPods)
pod 'SeeUMapping', '~> 1.0'
Android (Gradle)
implementation 'app.seeu:mapping:1.0.0'
3. Inizializzazione
// 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. Navigazione
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)
}
}