base_agent/uas/model/sensor_noise.py

61 lines
3.0 KiB
Python
Raw Normal View History

2026-06-18 03:28:14 +00:00
from dataclasses import dataclass
@dataclass
class SensorNoiseParams:
"""
传感器噪声参数配置
所有噪声均建模为高斯白噪声零均值正态分布加固定偏置
偏置模拟传感器的系统误差如气压计高度偏置磁罗盘偏差
INS 漂移建模
INS 位置误差随时间积分累积不可自动归零
每秒漂移量 = position_drift_rate (m/s)方向随机游走
这是 INS 导航误差的主要来源
"""
# ── GPS ──────────────────────────────────────────────────────────
# 水平位置噪声标准差 (m),典型民航 GPS3~10m
gps_horizontal_noise: float = 5.0
# 垂直位置噪声标准差 (m),典型民航 GPS8~15m
gps_vertical_noise: float = 10.0
# GPS 信号丢失概率 [0,1],丢失时使用 INS 推算
gps_dropout_prob: float = 0.002
# HDOP 因子(水平精度稀释),正常值 1.0~2.0
gps_hdop: float = 1.2
# ── INS惯性导航────────────────────────────────────────────────
# 位置漂移速率 (m/s),典型民航 INS0.01~0.05 m/s
ins_drift_rate: float = 0.02
# 速度随机游走噪声标准差 (m/s)
ins_velocity_noise: float = 0.05
# 航向陀螺仪漂移 (°/s),典型 MEMS0.001~0.01 °/s
ins_heading_drift: float = 0.001
# ── 气压高度计 ────────────────────────────────────────────────────
# 高度噪声标准差 (m)
baro_altitude_noise: float = 3.0
# 高度固定偏置 (m),模拟气压设定误差
baro_altitude_bias: float = 5.0
# 垂直速度噪声标准差 (m/s)
baro_vs_noise: float = 0.2
# ── 空速管 ────────────────────────────────────────────────────────
# 空速噪声标准差 (m/s)
airspeed_noise: float = 0.8
# 空速固定偏置 (m/s),模拟皮托管误差
airspeed_bias: float = 0.0
# ── 磁罗盘/航向传感器 ─────────────────────────────────────────────
# 航向噪声标准差 (°)
heading_noise: float = 1.0
# 磁差偏置 (°),模拟磁差未完全修正
heading_bias: float = 0.0
# ── 导航融合权重 ──────────────────────────────────────────────────
# GPS 与 INS 融合权重(简化卡尔曼增益)
# 0.0 = 纯 INS1.0 = 纯 GPS
# 典型值GPS 有效时 0.8GPS 丢失时降为 0.0
gps_ins_blend: float = 0.8