Itu sistem pemetaan dalam ruangan
Referensi teknis lengkap untuk sistem penentuan posisi dalam ruangan See U: arsitektur, sensor, algoritma, API, dan panduan implementasi.
Navigasi cepat
Ringkasan
Pengantar sistem pemetaan
Apa itu sistem pemetaan dalam ruangan See U?
Sistem dalam ruangan See U adalah platform penentuan posisi ruang tertutup yang menggabungkan enam lapisan teknologi sensor dengan fusi canggih untuk memberikan lokasi akurat ketika GPS tidak tersedia.
Berbeda dengan produk khusus Wi‑Fi atau Bluetooth, kami menggunakan tumpukan multimodal yang mencakup:
- Geolokasi magnetis: “Sidik jari” magnetis yang unik untuk setiap bangunan
- Wi‑Fi RTT: Rentang waktu penerbangan untuk jarak yang akurat
- Bluetooth LE: Beacon untuk jangkar dan tempat menarik
- Sensor inersia: Perhitungan mati dengan IMU kelas atas
- Visi komputer: SLAM dan penanda visual
- GNSS: Transisi dalam-luar ruangan yang mulus
Akurasi 1–2 m pada 99% kasus untuk pencarian jalan yang aman
Pembaruan waktu nyata dengan latensi ujung ke ujung di bawah 100 ms
Menggabungkan banyak teknologi untuk keandalan dan presisi
Arsitektur sistem
Struktur dan komponen utama
Blok bangunan arsitektur
1. Lapisan pengumpulan data
Mengalirkan data mentah dari semua sensor perangkat secara real time.
- • Driver asli (iOS / Android)
- • Manajemen tingkat sampel
- • Buffer data untuk fusi batch
- • Sinkronisasi stempel waktu
2. Lapisan pra-pemrosesan
Memfilter, menormalkan, dan menyiapkan data untuk fusi.
- • Filter lolos rendah & lolos tinggi
- • Kalibrasi otomatis
- • Deteksi dan penghapusan outlier
- • Normalisasi & penskalaan
3. Lapisan fusi sensor
Menggabungkan berbagai sumber dengan metode fusi modern.
- • Filter partikel (probabilistik)
- • Kalman yang diperluas untuk menghaluskan
- • Pembobotan per sensor yang adaptif
- • Deteksi konteks dalam / luar ruangan
4. Lapisan pemosisian
Menghitung posisi akhir pengguna di peta.
- • Pencocokan peta
- • Jepret ke segmen jalur yang valid
- • Deteksi lantai/tingkat
- • Koreksi penyimpangan
5. Lapisan navigasi
Perencanaan jalur dan instruksi belokan demi belokan.
- • A* dengan bobot aksesibilitas
- • Pembuatan instruksi audio
- • Perutean ulang dinamis
- • Peringatan kedekatan dengan POI
6. Lapisan antarmuka
API dan SDK untuk integrasi aplikasi.
- • REST untuk web dan server
- • SDK Asli (iOS & Android)
- • Pembaruan langsung WebSocket
- • Webhook untuk peristiwa posisi
Lapisan sensor
Detail teknis per lapisan
Geolokasi magnetik
Memetakan anomali yang disebabkan oleh bidang Bumi dan bangunan. Setiap struktur memiliki sidik jari magnetik yang unik.
Spesifikasi teknis:
- Kecepatan sampel: 50–100 Hz
- Resolusi: 0,01 μT
- Kalibrasi otomatis berkelanjutan
- Kompensasi interferensi
RTT Wi-Fi
Wi-Fi waktu penerbangan mulai dari titik akses. Memerlukan dukungan RTT perangkat dan infrastruktur.
Spesifikasi teknis:
- Protokol: IEEE 802.11mc (Wi-Fi RTT)
- Pita: 2,4 dan 5 GHz
- Latensi: <100 ms
- Setidaknya 3 AP untuk triangulasi
Bluetooth Hemat Energi (BLE)
Beacon untuk kedekatan, arah, POI, dan titik arah.
Spesifikasi teknis:
- Protokol: BLE 5.0+
- RSSI (menerima kekuatan sinyal)
- Baterai: 2–5 tahun
- Jangkauan: hingga 100 m
Satuan pengukuran inersia (IMU)
IMU mencakup gerakan, rotasi, dan ketinggian untuk menjembatani kesenjangan antar referensi.
Spesifikasi teknis:
- Akselerometer: ±16g, 400Hz
- Gyro: ±2000°/dtk, 400 Hz
- Baro: tinggi lantai 0,5 m
- Fusi: Kalman
Visi komputer (CV)
Menemukan lokasi fitur, penanda AR, QR, dan teks secara visual untuk pembaruan posisi dan SLAM.
Spesifikasi teknis:
- SLAM: lokalisasi & pemetaan simultan
- Deteksi fitur: ORB, SIFT
- Penanda AR: ArUco, QR
- Waktu Proses: TensorFlow Lite
GNSS / GPS (luar ruangan)
Posisi satelit di luar ruangan dan untuk handover dan kontrol drift dalam-luar ruangan.
Spesifikasi teknis:
- Multi-GNSS: GPS, GLONASS, Galileo, BeiDou
- A-GPS untuk TTFF cepat
- Otomatis dalam/luar ruangan
- Menyatu dengan lapisan lainnya
Algoritma
Pemrosesan dan kecerdasan
Filter partikel (Monte Carlo)
Banyak partikel berbobot melacak pose pengguna yang paling mungkin dilakukan dari beberapa sensor kebisingan.
Filter Kalman yang diperluas
Memperkirakan sistem dinamis dengan masukan yang berisik secara rekursif; digunakan untuk jalur mulus dan prediksi jangka pendek.
A* pencarian jalan
Menemukan jalur terpendek dengan hambatan, aksesibilitas, dan preferensi pengguna sebagai bobot.
MEMBANTU
Membuat peta dan melacak perangkat di dalamnya dengan fitur visual.
Pembelajaran mesin (jaringan saraf)
Model terlatih untuk mengklasifikasikan lingkungan, menolak data, dan meningkatkan akurasi dari waktu ke waktu.
Perhitungan mati
Sebarkan pose dari perbaikan terakhir menggunakan kecepatan dan arah ketika perbaikan radio turun.
Aliran pemrosesan
Pengambilan data
Sensor mengalirkan pengukuran mentah secara real time
Pemrosesan awal
Penyaringan, kalibrasi, dan normalisasi
Fusi sensor
Filter partikel menggabungkan semua sumber
penyaring Kalman
Menghaluskan dan memprediksi lintasan
Pencocokan peta
Proyeksikan ke grafik peta yang dapat dirutekan
Pose keluaran
Terkena aplikasi melalui API
API REST
Titik akhir dan integrasi
URL dasar
/api/v1/positioningMengembalikan pose perangkat saat ini
Parameter:
device_idvenue_idfloor/api/v1/navigation/routeRencanakan jalur antara dua titik
Parameter:
origindestinationaccessibility_mode/api/v1/venues/{id}/mapAmbil ubin peta tempat
Parameter:
venue_idfloorformat/api/v1/poisBuat daftar tempat menarik terdekat
Parameter:
latlngradiuscategory/api/v1/tracking/updatePosting batch sensor untuk fusi sisi server
Parameter:
sensor_datatimestampdevice_idPermintaan sampel
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
}'Panduan implementasi
Bagaimana cara mengintegrasikan tumpukan
1. Persyaratan sistem
iOS
- • iOS 14.0+
- • Cepat 5.5+
- • Lokasi Inti
- • IntiMotion
- • ARKit (opsional)
Android
- • Android 8.0+ (API 26)
- • Kotlin 1.7+
- • Layanan Google Play
- • API sensor Android
- • ARCore (opsional)
2. Pemasangan SDK
iOS (CocoaPod)
pod 'SeeUMapping', '~> 1.0'
Android (Kelas)
implementation 'app.seeu:mapping:1.0.0'
3. Inisialisasi
// 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. Navigasi
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)
}
}