概述
地图系统简介
什么是 See U 室内测绘系统?
See U 室内系统是一个封闭空间定位平台,将六个传感器技术层与先进的融合技术相融合,可在 GPS 不可用的情况下提供准确的位置。
与纯 Wi-Fi 或蓝牙产品不同,我们使用多模式堆栈,其中包括:
- 磁性地理定位:每座建筑物都有独特的磁性“指纹”
- Wi‑Fi RTT:飞行时间测距以获取准确的距离
- 蓝牙 LE: 用于锚点和兴趣点的信标
- 惯性传感器:使用高端 IMU 进行航位推算
- 计算机视觉: SLAM 和视觉标记
- GNSS:室内外平滑过渡
99% 的情况下准确度为 1–2 m,可实现安全寻路
实时更新,端到端延迟低于 100 毫秒
融合多种技术以实现可靠性和精度
系统架构
结构及主要部件
建筑积木
1、数据采集层
实时传输来自所有设备传感器的原始数据。
- • 本机驱动程序(iOS / Android)
- • 采样率管理
- • 用于批量融合的数据缓冲
- • 时间戳同步
2.预处理层
过滤、标准化并准备融合数据。
- • 低通和高通滤波器
- • 自动校准
- • 异常值检测和去除
- • 标准化和缩放
3.传感器融合层
将多种来源与现代融合方法相结合。
- • 粒子过滤器(概率)
- • 用于平滑的扩展卡尔曼
- • 自适应每个传感器加权
- • 室内/室外环境检测
4.定位层
计算最终的地图上用户位置。
- • 地图匹配
- • 捕捉到有效的路径段
- • 地面/水平检测
- • 漂移校正
5. 导航层
路径规划和逐段指导。
- • A* 具有可访问性权重
- • 音频指令生成
- • 动态重新路由
- • POI 接近警报
6、接口层
用于应用程序集成的 API 和 SDK。
- • 适用于 Web 和服务器的 REST
- • 本机 SDK(iOS 和 Android)
- • WebSocket 实时更新
- • 用于位置事件的Webhook
传感器层
每层技术细节
磁地理定位
绘制地球场和建筑物引起的异常情况的地图。每个结构都有独特的磁性指纹。
技术规格:
- 采样率:50–100 Hz
- 分辨率:0.01μT
- 连续自动校准
- 干扰补偿
无线网络RTT
飞行时间 Wi-Fi 测距至接入点。需要设备和基础设施 RTT 支持。
技术规格:
- 协议:IEEE 802.11mc(Wi-Fi RTT)
- 频段:2.4 和 5 GHz
- 延迟:< 100 毫秒
- 至少 3 个 AP 用于三角测量
低功耗蓝牙 (BLE)
接近度、方向、兴趣点和航路点的信标。
技术规格:
- 协议:BLE 5.0+
- RSSI(接收信号强度)
- 电池:2-5 年
- 范围:长达 100 m
惯性测量单元(IMU)
IMU 涵盖运动、旋转和高度,以弥补参考之间的差距。
技术规格:
- 加速度计:±16 g,400 Hz
- 陀螺仪:±2000°/s,400 Hz
- Baro: 0.5 m 楼层高度
- 融合:卡尔曼
计算机视觉(CV)
直观地定位特征、AR 标记、QR 和文本以进行位置更新和 SLAM。
技术规格:
- SLAM:同时定位和建图
- 特征检测:ORB、SIFT
- AR 标记:ArUco、QR
- 运行时:TensorFlow Lite
GNSS/GPS(室外)
室外卫星定位以及室内外切换和漂移控制。
技术规格:
- 多 GNSS:GPS、GLONASS、伽利略、北斗
- 用于快速 TTFF 的 A-GPS
- 自动室内/室外
- 与其他层融合
算法
处理和智能化
粒子过滤器(蒙特卡罗)
许多加权粒子通过多个噪声传感器跟踪最有可能的用户姿势。
扩展卡尔曼滤波器
递归地估计具有噪声输入的动态系统;用于平滑路径和短期预测。
A* 寻路
以障碍物、可达性和用户偏好作为权重找到最短路径。
SLAM
构建地图并使用视觉功能跟踪其中的设备。
机器学习(神经网络)
经过训练的模型可以对环境进行分类、对数据进行降噪并随着时间的推移提高准确性。
航位推算
当无线电修复下降时,使用速度和航向传播上次修复的姿势。
加工流程
数据采集
传感器实时传输原始测量结果
预处理
过滤、校准和标准化
传感器融合
粒子过滤器合并所有源
卡尔曼滤波器
平滑并预测轨迹
地图匹配
投影到可路由地图上
输出位姿
通过 API 向应用程序公开
休息API
端点和集成
基本网址
/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. 系统要求
iOS系统
- • iOS 14.0+
- • 斯威夫特 5.5+
- • 核心位置
- • 核心运动
- • ARKit(可选)
安卓
- • Android 8.0+ (API 26)
- •科特林 1.7+
- • Google Play 服务
- • Android 传感器 API
- • ARCore(可选)
2.SDK安装
iOS(可可豆)
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)
}
}