Skip to main content

GNSS 接收机

多星座 GNSS 接收机(AIASDGGnssSensor)支持同时仿真 GPS、Galileo、GLONASS、BeiDou 四大卫星导航系统,根据接收机天线在关卡中的位置合成伪距与伪距率观测量,通过加权最小二乘(WLS)解算经纬高、ENU 速度、DOP 精度因子与上报精度,并输出完整的逐历元、逐卫星观测记录。

1. 放置与地理锚点配置​

  1. 设置场景地理原点(二选一):
    • 推荐:在关卡中放置引擎自带的 AGeoReferencingSystem Actor,设置场景原点的经纬高(Origin Latitude / Longitude / Altitude)。
    • 配置指定:在 sensors.gnss 中提供 site_anchor 字段(见下方 JSON 示例)。
  2. 放置接收机:将 AIASDGGnssSensor 拖入关卡或挂载到载具 Pawn 上(Actor 的位置即为天线相位中心),确认 SensorName(默认 "gnss")。

2. JSON 配置示例​

"sensors": {
"gnss": {
"site_anchor": {
"latitude_deg": 31.2304,
"longitude_deg": 121.4737,
"altitude_m": 15.0
},
"instances": [
{
"name": "gnss",
"enabled": true,
"preset": "single_frequency",
"fix_rate_hz": 10.0,
"mask_angle_deg": 10.0,
"constellations": ["GPS", "Galileo", "GLONASS", "BeiDou"],
"value": "both",
"horizon": {
"enabled": true,
"field_half_extent_m": 500.0,
"field_resolution_px": 1024
},
"nlos": {
"enabled": true
},
"acquisition": {
"enabled": true,
"start_mode": "hot"
}
}
]
}
}

3. 预设档位与环境模型参数​

接收机精度预设(preset)​

preset 值定位精度量级说明
ideal零误差基线关闭所有观测噪声与大气残差,输出纯几何精确解
single_frequency米级(~1.5–3 m)车载/消费级单频接收机(含电离层/对流层残差与伪距噪声)
dual_frequency亚米级(~0.5–1 m)双频消电离层组合接收机
rtk厘米级(~0.02 m)RTK 载波相位差分固定解

环境遮挡、多径与通道捕获子模块​

三个环境子模块可按场景需要独立开启:

子模块关键字段作用与适用场景
horizon
(天际线建筑遮挡)
enabled: bool(默认 false)
field_half_extent_m: 高度场半宽(默认 500 m)
field_resolution_px: 分辨率(默认 1024)
采集启动时通过正交深度烘焙场景 2.5D 高度场,自动计算每个方位角的遮挡仰角;低于天际线的卫星标记为 BLOCKED 并剔除出解算。室内、隧道、城市峡谷场景务必开启。
nlos
(非视距多径反射)
enabled: bool(默认 false,需同时开启 horizon)对被建筑遮挡但对侧立面可反射的卫星计算镜像反射超程与信噪比($C/N_0$)损耗,并注入解算以复现城市峡谷多径拉偏效应。
acquisition
(捕获与冷/暖/热启动)
enabled: bool(默认 false)
start_mode: "hot" | "warm" | "cold"
模拟接收机通道搜索、锁定与星历下载状态机(首次定位时间 TTFF:hot 约 1–5 s,warm 约 25–35 s,cold 约 30–60 s;支持出隧道后的失锁重捕)。

使用提示:

  • 若采集时长较短(如 < 30 s),启用 acquisition 时请将 start_mode 设为 "hot";"warm" 和 "cold" 需要等待 18–30 s 星历下载完成后才会输出首个有效定位。
  • 城区开启 nlos 时,请将 value 设为 "both",使用 data_groundtruth.jsonl 中的真值位置评估实际定位误差。

4. 输出文件与标定工具​

文件路径格式与内容
{gnss}/data.jsonl每行一个历元的完整 JSON 记录(含定位解、DOP、逐颗卫星的仰角/方位角/伪距/信噪比/遮挡与通道状态)
{gnss}/data.csv扁平化表格(时间戳、经纬高、ENU 速度、gdop/pdop/hdop/vdop、上报精度 accuracy_h/v/s、可见与入解卫星数)
{gnss}/data_groundtruth.jsonl"value": "both" 时输出的精确真值经纬高与 ENU 速度
{gnss}/gnss_params.yaml接收机参数配置、地理锚点信息与全程定位统计摘要

接收机参数标定脚本​

采集完成后可运行内置标定脚本,检查上报精度(uere_*)与实测误差的一致性并生成推荐配置片段:

IADataSDG/.venv/Scripts/python.exe IADataSDG/Scripts/calibrate_gnss.py <capture_dir>