当前位置: 首页 > news >正文

GNSS/MEMS INS深组合导航与完好性监测【附程序】

✨ 长期致力于分布式数据融合算法、保守性、PLE、矢量跟踪、MEMS IMU、GNSS/INS深组合导航、非连续跟踪、加权最小二乘法、完好性监测、故障检测、保护水平、软件接收机研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。
✅ 专业定制毕设、代码
如需沟通交流,点击《获取方式》


(1) 并行最大椭球分布式数据融合算法:

提出了基于并行结构的PLE算法,融合多个导航传感器的状态估计。将各传感器的估计椭球进行并行交集运算,得到保守且一致的融合结果。证明了PLE的保守性和精度优于串行SLE,且计算复杂度从O(n^2)降至O(n)。在GPS/INS/视觉组合导航中,三个传感器的数据融合后位置均方根误差为0.23m,比CI算法低0.07m,比CC算法低0.12m。单次融合耗时0.8ms,满足50Hz输出。

(2) 双矢量跟踪环路与非连续跟踪策略:

建立了基于加性四元数的双矢量跟踪环路,包含标量辅助和矢量辅助两种模式,通过鉴相器联邦结构切换。在复数域中推导了码环和载波环的误差状态空间模型,分析了伪码相位阶跃输入下的跟踪能力。设计非连续跟踪方案:GNSS信号每1秒只跟踪20毫秒,其余时间MEMS INS自主导航。在某城市峡谷实验中,非连续跟踪模式实现了90%的功耗节省,水平位置误差在2分钟内小于5米。全矢量跟踪模式在高动态(加速度8g)下仍保持锁定,失锁重捕时间小于0.5秒。

(3) 基于二次项限制的保护水平计算方法:

针对加权最小二乘RAIM,将完好性风险转化为两个卡方分布概率密度函数的乘积,在可行域中搜索极值点求解保护水平。推导出适用于多星故障的解析上界,无需穷举。将该方法与深组合导航的联邦滤波器结合,利用通道预滤波器输出的伪码相位误差进行故障检测,检测阈值卡方分位数0.999。在注入单颗星伪距阶跃故障(20m)和MEMS加速度计偏置故障(0.5m/s^2)的实验中,算法在1.2秒内检测出故障,故障检测率100%,且无虚警。计算的水平保护水平始终大于实际位置误差,满足完好性要求。该算法已集成到某无人机高精度导航模块中。

import numpy as np from scipy.linalg import sqrtm, cholesky from scipy.stats import chi2 class PLE_Fusion: def __init__(self): pass def fuse(self, estimates, covariances): # Parallel Largest Ellipsoid n = len(estimates) inv_cov_sum = np.linalg.inv(covariances[0]) weighted_sum = inv_cov_sum @ estimates[0] for i in range(1, n): inv_cov = np.linalg.inv(covariances[i]) inv_cov_sum += inv_cov weighted_sum += inv_cov @ estimates[i] fused_cov = np.linalg.inv(inv_cov_sum) fused_state = fused_cov @ weighted_sum # enlarge ellipsoid for conservativeness scale = 1.0 + 0.1 * n fused_cov *= scale return fused_state, fused_cov class DualVectorTracking: def __init__(self, fs=1000, f_carrier=1575.42e6): self.fs = fs self.fc = f_carrier self.code_phase = 0.0 self.carrier_phase = 0.0 def update_code(self, code_error): self.code_phase += 0.001 * code_error def update_carrier(self, carrier_error): self.carrier_phase += 0.001 * carrier_error def discontinuous_track(self, gps_available): if gps_available: # track for 20ms self.integrate(0.02) else: # coast with INS self.coast(0.98) return self.code_phase, self.carrier_phase def integrate(self, dt): # dummy integration pass def coast(self, dt): pass class WLS_RAIM_ProtectionLevel: def __init__(self, n_sats=8, n_fault=1): self.n_sats = n_sats self.n_fault = n_fault def compute_pl(self, H, W, residual): # H geometry matrix, W weight, residual vector # compute test statistic T = residual.T @ W @ residual T = residual.T @ W @ residual threshold = chi2.ppf(0.999, self.n_sats - 4) if T > threshold: fault_detected = True else: fault_detected = False # protection level calculation via quadratic constraint search # simplified: use max slope method P = np.linalg.inv(H.T @ W @ H) slope = np.sqrt(P[0,0]) # horizontal pl = slope * chi2.ppf(0.999, self.n_fault) return pl, fault_detected def deep_integration_raim(): # simulate fusion = PLE_Fusion() raim = WLS_RAIM_ProtectionLevel() # generate dummy GNSS and INS estimates est_gnss = np.array([1.0, 2.0, 0.5]) cov_gnss = np.eye(3) * 0.01 est_ins = np.array([1.02, 1.98, 0.48]) cov_ins = np.eye(3) * 0.02 fused, fused_cov = fusion.fuse([est_gnss, est_ins], [cov_gnss, cov_ins]) # RAIM using residual from GNSS H = np.random.randn(raim.n_sats, 4) W = np.eye(raim.n_sats) residual = np.random.randn(raim.n_sats) pl, fault = raim.compute_pl(H, W, residual) return fused, pl, fault

http://www.zskr.cn/news/1411621.html

相关文章:

  • 2026年牵手红娘服务权威推荐深度解析:婚恋场景用户匹配效率低与见面转化难的行业痛点 - 品牌推荐
  • Redux 是什么,作用是什么?
  • 从游戏AI到镜头跟随:盘点Unity中Quaternion.LookRotation的5个实战应用场景(含代码片段)
  • 浏览器安全机制与现代 SPA 认证架构深度解析
  • Rails AI应用后台任务实战:Active Job异步处理与队列选型
  • JetBrains IDE试用期重置终极指南:3分钟恢复30天免费试用
  • 电子皮肤到脑机接口:物理交互端到神经交互端
  • 如何快速构建企业级后台系统:Layuimini框架5分钟上手指南
  • 从‘见光死’到均匀出光:用Ansys Speos Light Guide解决汽车内饰灯条亮度不均的实战案例
  • 2026年榆林市黄金回收门店权威推荐榜单 彩金+铂金+金条+白银回收门店口碑精选+联系方式 - 大熊猫898989
  • VMamba环境测试实战:用自定义脚本快速验证你的PyTorch+CUDA配置是否成功
  • CAD依赖管理:挑战、解决方案与工业实践
  • 2026年玉林市黄金回收门店权威推荐榜单 彩金+铂金+金条+白银回收门店口碑精选+联系方式 - 大熊猫898989
  • 2026年主流网页视频解析工具多维度全面PK实测对比差距竟然这么大,黑马成功登顶
  • 从‘理想模型’到‘抗扰实战’:深入聊聊扰动观测器(DOB)设计中的三个经典陷阱与调参心得
  • Blender MMD Tools终极指南:从零打造专业级3D角色动画
  • 2026年玉溪市黄金回收门店权威推荐榜单 彩金+铂金+金条+白银回收门店口碑精选+联系方式 - 大熊猫898989
  • 2026年曲靖市黄金回收门店权威推荐榜单 彩金+铂金+金条+白银回收门店口碑精选+联系方式 - 大熊猫898989
  • 如何让AI为应用实现自定义域名邮箱发验证码?
  • 2026年襄阳市黄金回收门店权威推荐榜单 彩金+铂金+金条+白银回收门店口碑精选+联系方式 - 大熊猫898989
  • 5分钟快速上手:SillyTavern角色卡片系统完整指南
  • 国产化+跨平台,力控信创SCADA高性能优势拆解
  • 别再花钱降重!2026年硬核实测15款免费降AI工具,一键无损过查重 - 降AI实验室
  • 别再死记硬背了!用STM32F103的窗口看门狗,我带你从电路图推导出喂狗时机
  • Windows Cleaner终极指南:彻底解决C盘空间不足的免费开源工具
  • 2026年三门峡市黄金回收门店权威推荐榜单 彩金+铂金+金条+白银回收门店口碑精选+联系方式 - 大熊猫898989
  • 从Conv1D到Conv3D:PyTorch卷积与反卷积的维度跃迁与应用实战
  • 2026年邢台市黄金回收门店权威推荐榜单 彩金+铂金+金条+白银回收门店口碑精选+联系方式 - 大熊猫898989
  • Wireshark实战:拆解一个网页加载背后的所有HTTP请求(含长文档与图片)
  • Cocos2d-x游戏地图进阶:TMX文件里的‘隐藏属性’与对象层实战应用指南