CompassFusion:从GNSS到GNSS/INS组合导航独立工程包
作者:技术拾光时间:2026-06-27 07:57:13浏览:550
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.21o | RTK/PPK 差分参考站 |
| 广播星历 | GNSS/brdm2860.21p | SPP、PPK、伪距紧耦合输入生成 |
| IMU 原始数据 | IMU/smallimu_out_2.txt | INS 机械编排与组合导航 |
| GNSS 真值 | groundtruth/groundtruth_211013_GNSS.txt | GNSS 轨迹对比 |
| GNSS/INS 真值 | groundtruth/groundtruth_211013_ADIS.txt | 组合导航位置、速度、姿态参考 |
| 精密轨道 | products/sp3/*.SP3 | PPP 精密轨道 |
| 精密钟差 | products/clk/*.CLK | PPP 精密钟差 |
| OSB/OBX | products/bia/* | 偏差与姿态辅助产品 |
| ERP/DCB | products/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>
