các hệ thống bản đồ trong nhà
Tài liệu tham khảo kỹ thuật đầy đủ cho hệ thống định vị trong nhà See U: kiến trúc, cảm biến, thuật toán, API và hướng dẫn triển khai.
Điều hướng nhanh
Tổng quan
Giới thiệu hệ thống bản đồ
Hệ thống bản đồ trong nhà See U là gì?
Hệ thống trong nhà See U là nền tảng định vị không gian khép kín kết hợp sáu lớp công nghệ cảm biến với phản ứng tổng hợp tiên tiến để cung cấp vị trí chính xác ở những nơi không có GPS.
Không giống như các sản phẩm chỉ có Wi‑Fi hoặc Bluetooth, chúng tôi sử dụng ngăn xếp đa phương thức bao gồm:
- Định vị địa lý từ tính: “Dấu vân tay” từ tính duy nhất cho mọi tòa nhà
- Wi‑Fi RTT: Phạm vi thời gian bay để có khoảng cách chính xác
- Bluetooth LE: Đèn hiệu cho điểm cố định và điểm ưa thích
- Cảm biến quán tính: Tính toán sai lầm với IMU cao cấp
- Tầm nhìn máy tính: SLAM và điểm đánh dấu trực quan
- GNSS: Quá trình chuyển đổi trong nhà–ngoài trời suôn sẻ
Độ chính xác 1–2 m trong 99% trường hợp để tìm đường an toàn
Cập nhật theo thời gian thực với độ trễ từ đầu đến cuối dưới 100 ms
Kết hợp nhiều công nghệ cho độ tin cậy và độ chính xác
Kiến trúc hệ thống
Cấu trúc và các thành phần chính
Khối xây dựng kiến trúc
1. Lớp thu thập dữ liệu
Truyền dữ liệu thô từ tất cả các cảm biến của thiết bị trong thời gian thực.
- • Trình điều khiển gốc (iOS / Android)
- • Quản lý tốc độ mẫu
- • Bộ đệm dữ liệu để hợp nhất hàng loạt
- • Đồng bộ hóa dấu thời gian
2. Lớp tiền xử lý
Lọc, chuẩn hóa và chuẩn bị dữ liệu cho phản ứng tổng hợp.
- • Bộ lọc thông thấp và thông cao
- • Tự động hiệu chỉnh
- • Phát hiện và loại bỏ ngoại lệ
- • Chuẩn hóa và chia tỷ lệ
3. Lớp tổng hợp cảm biến
Kết hợp nhiều nguồn với phương pháp tổng hợp hiện đại.
- • Bộ lọc hạt (xác suất)
- • Kalman mở rộng để làm mịn
- • Trọng số thích ứng trên mỗi cảm biến
- • Phát hiện bối cảnh trong nhà/ngoài trời
4. Lớp định vị
Tính toán vị trí cuối cùng của người dùng trên bản đồ.
- • So khớp bản đồ
- • Bám sát các đoạn đường dẫn hợp lệ
- • Phát hiện tầng/mức độ
- • Chỉnh sửa độ trôi
5. Lớp điều hướng
Lập kế hoạch đường dẫn và hướng dẫn từng chặng.
- • A* với trọng số khả năng tiếp cận
- • Tạo hướng dẫn bằng âm thanh
- • Định tuyến lại động
- • Cảnh báo lân cận cho POI
6. Lớp giao diện
API và SDK để tích hợp ứng dụng.
- • REST cho web và máy chủ
- • SDK gốc (iOS và Android)
- • Cập nhật trực tiếp WebSocket
- • Webhooks cho các sự kiện vị trí
Lớp cảm biến
Chi tiết kỹ thuật trên mỗi lớp
Định vị địa lý từ tính
Trường Maps Earth và các điểm bất thường do tòa nhà gây ra. Mỗi cấu trúc có một dấu vân tay từ tính duy nhất.
Thông số kỹ thuật:
- Tốc độ mẫu: 50–100 Hz
- Độ phân giải: 0,01 µT
- Tự động hiệu chuẩn liên tục
- Bù nhiễu
Wi-Fi RTT
Wi-Fi theo thời gian bay đến các điểm truy cập. Yêu cầu hỗ trợ RTT thiết bị và cơ sở hạ tầng.
Thông số kỹ thuật:
- Giao thức: IEEE 802.11mc (Wi-Fi RTT)
- Băng tần: 2,4 và 5 GHz
- Độ trễ: < 100 ms
- Ít nhất 3 AP cho tam giác
Bluetooth năng lượng thấp (BLE)
Đèn hiệu cho khoảng cách, hướng, POI và điểm tham chiếu.
Thông số kỹ thuật:
- Giao thức: BLE 5.0+
- RSSI (cường độ tín hiệu nhận được)
- Pin: 2–5 năm
- Phạm vi: lên tới 100 m
Đơn vị đo quán tính (IMU)
IMU bao gồm chuyển động, xoay và độ cao để thu hẹp khoảng cách giữa các tham chiếu.
Thông số kỹ thuật:
- Gia tốc kế: ±16 g, 400 Hz
- Con quay hồi chuyển: ±2000°/s, 400 Hz
- Baro: chiều cao sàn 0,5 m
- Sự kết hợp: Kalman
Thị giác máy tính (CV)
Định vị trực quan các tính năng, điểm đánh dấu AR, QR và văn bản để cập nhật vị trí và SLAM.
Thông số kỹ thuật:
- SLAM: bản địa hóa và ánh xạ đồng thời
- Phát hiện tính năng: ORB, SIFT
- Điểm đánh dấu AR: ArUco, QR
- Thời gian chạy: TensorFlow Lite
GNSS / GPS (ngoài trời)
Định vị vệ tinh ngoài trời và để điều khiển chuyển giao và chuyển giao trong nhà-ngoài trời.
Thông số kỹ thuật:
- Đa GNSS: GPS, GLONASS, Galileo, BeiDou
- A-GPS cho TTFF nhanh
- Tự động trong nhà/ngoài trời
- Hợp nhất với các lớp khác
Thuật toán
Xử lý và trí tuệ
Bộ lọc hạt (Monte Carlo)
Nhiều hạt có trọng số theo dõi tư thế có khả năng xảy ra nhất của người dùng từ nhiều cảm biến nhiễu.
Bộ lọc Kalman mở rộng
Ước tính đệ quy một hệ thống động có đầu vào nhiễu; được sử dụng cho đường dẫn trơn tru và dự đoán ngắn hạn.
A* tìm đường
Tìm đường đi ngắn nhất có chướng ngại vật, khả năng tiếp cận và tùy chọn của người dùng dưới dạng trọng lượng.
SLAM
Xây dựng bản đồ và theo dõi thiết bị trong đó bằng các tính năng trực quan.
Học máy (mạng lưới thần kinh)
Các mô hình được đào tạo để phân loại môi trường, khử nhiễu dữ liệu và cải thiện độ chính xác theo thời gian.
Tính toán chết
Truyền bá tư thế từ bản sửa lỗi cuối cùng bằng cách sử dụng vận tốc và hướng khi bản sửa lỗi radio giảm xuống.
Luồng xử lý
Thu thập dữ liệu
Cảm biến truyền các phép đo thô trong thời gian thực
Tiền xử lý
Lọc, hiệu chuẩn và chuẩn hóa
Cảm biến tổng hợp
Bộ lọc hạt hợp nhất tất cả các nguồn
bộ lọc Kalman
Làm mịn và dự đoán quỹ đạo
So khớp bản đồ
Chiếu lên biểu đồ bản đồ có thể định tuyến
Tư thế đầu ra
Tiếp xúc với ứng dụng qua API
API REST
Điểm cuối và tích hợp
URL cơ sở
/api/v1/positioningTrả về tư thế thiết bị hiện tại
Thông số:
device_idvenue_idfloor/api/v1/navigation/routeLập kế hoạch đường đi giữa hai điểm
Thông số:
origindestinationaccessibility_mode/api/v1/venues/{id}/mapTìm nạp các ô bản đồ địa điểm
Thông số:
venue_idfloorformat/api/v1/poisLiệt kê các điểm quan tâm lân cận
Thông số:
latlngradiuscategory/api/v1/tracking/updateLô cảm biến đăng cho phản ứng tổng hợp phía máy chủ
Thông số:
sensor_datatimestampdevice_idYêu cầu mẫu
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
}'Hướng dẫn thực hiện
Cách tích hợp ngăn xếp
1. Yêu cầu hệ thống
iOS
- • iOS 14.0+
- • Swift 5.5+
- • Vị trí cốt lõi
- • CoreMotion
- • ARKit (tùy chọn)
Android
- • Android 8.0+ (API 26)
- • Kotlin 1.7+
- • Dịch vụ Google Play
- • API cảm biến Android
- • ARCore (tùy chọn)
2. Cài đặt SDK
iOS (CocoaPods)
pod 'SeeUMapping', '~> 1.0'
Android (Gradle)
implementation 'app.seeu:mapping:1.0.0'
3. Khởi tạo
// 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. Điều hướng
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)
}
}