CompassFusion:从GNSS到GNSS/INS组合导航独立工程包

作者:技术拾光

时间:2026-06-27

浏览:549

CompassFusion是一个整合GNSS与INS组合导航的独立工程包,集成SPP、PPP、PPK、IMU机械编排、松耦合及伪距级紧耦合框架,提供统一XML配置入口和真实数据样例。松耦合链路稳定输出合理结果,紧耦合需继续完善钟差建模与异常处理,旨在构建可复现的工程基线版本。

文章目录

1. 为什么做 CompassFusion

在 GNSS/INS 组合导航的日常研究中,同行们常常面临这样的问题:算法、数据、配置文件和测试脚本散落在不同目录。单独看每个模块似乎都能独立运行,但一旦需要复现完整的实验流程,就不得不四处寻找 RINEX 文件、星历、IMU 数据、真值轨迹,还要逐一匹配配置文件和各种对比脚本——整个过程相当繁琐。

CompassFusion 的目标非常明确:将这些内容整合成一个结构清晰、可独立运行的软件包。具体来说:

  • 保留 GNSS 基础处理能力:SPP、PPP、PPK。
  • 集成 INS 机械编排模块。
  • 搭建 GNSS/INS 松耦合与伪距级紧耦合实验框架。
  • 提供统一的 XML 配置入口,告别零散的参数管理。
  • 附带一套真实的 GREAT/MSF 数据样例,开箱即用。
  • 配有测试脚本、结果图和数据说明,方便快速复现与验证。

项目地址:

  • GitHub:
  • Gitee:

2. 软件整体结构

CompassFusion 的核心骨架如下:

 复制代码CompassFusion
├── src/
│   ├── run_compass_fusion.py       # 统一 XML 入口
│   ├── run_spp.py                  # SPP 入口
│   ├── run_ppp.py                  # PPP 入口
│   ├── run_ppk.py                  # PPK 入口
│   └── compass/
│       ├── core/                   # 坐标、常量、基础类型
│       ├── gnss/                   # SPP/PPP/PPK/精密产品/偏差模型
│       ├── ins/                    # 机械编排、松耦合、紧耦合
│       └── io/                     # RINEX 与输入解析
├── configs/                        # XML 配置
├── data_examples/                  # 随包真实数据样例
├── scripts/                        # 批处理、导出、诊断脚本
├── tests/                          # 回归测试
└── docs/                           # 文档与博客素材

如果以模块图呈现,整体脉络会更加清晰:

3. 随包数据:不只是代码,而是可直接运行的导航输入

本次整理的关键思路是,不仅仅提供结果文件。我们放置了一套真实的导航输入数据,位于:

 复制代码data_examples/great_msf_20211013/

具体包含的内容如下表所示:

类型文件或目录作用
流动站观测GNSS/SEPT2860.21O动态站 RINEX 观测
基站观测GNSS/R2932860.21oRTK/PPK 差分参考站
广播星历GNSS/brdm2860.21pSPP、PPK、伪距紧耦合输入生成
IMU 原始数据IMU/smallimu_out_2.txtINS 机械编排与组合导航
GNSS 真值groundtruth/groundtruth_211013_GNSS.txtGNSS 轨迹对比
GNSS/INS 真值groundtruth/groundtruth_211013_ADIS.txt组合导航位置、速度、姿态参考
精密轨道products/sp3/*.SP3PPP 精密轨道
精密钟差products/clk/*.CLKPPP 精密钟差
OSB/OBXproducts/bia/*偏差与姿态辅助产品
ERP/DCBproducts/erp/, products/dcb/地球自转与码偏差产品
模型文件model/ATX、EOP、海潮、JPL 星历等

换句话说,获取仓库后无需立刻寻找外部数据,直接使用这套真实数据即可运行完整演示——这种体验对于工程复现而言非常宝贵。

4. 当前支持的处理链路

CompassFusion 目前定位为“工程可运行版”,并非所有高精度模型都已完全成熟的最终科研软件。当前相对稳定的处理链路如下:

可以放心展示的能力包括:

  • GNSS SPP / PPP / PPK 基础处理。
  • IMU 机械编排。
  • GNSS/INS 松耦合。
  • SPP-INS 伪距级紧耦合实验。
  • XML 配置化运行。
  • 真实 GREAT/MSF 数据测试。
  • 测试脚本与结果对比。

仍属于后续增强方向的能力:

  • PPP/RTK 载波相位紧耦合。
  • 紧耦合中的模糊度参数估计与固定。
  • android.os包
  • 长时间 GNSS 中断下的惯导误差/li>
caption>

5. ; { public: // 其他已有代码

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章