📌 项目日期:2026年9月 | 数据来源:GitHub官方仓库 | 星数:333+
INSLIB 是一个便携的 3D 导航状态估计纯 C 库(C11)。核心是一组卡尔曼滤波器,把惯性测量单元(IMU)与 GNSS/GPS、气压计、磁力计、本地位置参考、绝对偏航参考、标量地速、零速/零旋转信息融合成稳定的导航状态。库无外部依赖、针对嵌入式微控制器优化,附带实用的 Python 辅助程序和 GUI 应用。演示视频用一颗 TDK ICM-45686 低成本 IMU 就完成了纯惯性航位推算——GNSS 丢星时依旧能输出位置。
| 特性 | 说明 |
|---|---|
| 90%+ 测试覆盖率 | 含 MC/DC 测试(DO-178 DAL-A / ISO26262 ASIL-D 同款标准) |
| 需求可追溯 | 代码逻辑关联机器检查的需求库(make reqs),航空航天风格 |
| 时延补偿 | GNSS 接收机 100-200ms 处理时延的估计与补偿 |
| GNSS 中断生存 | 并行 baro_alt 垂直通道持续输出气压融合高度与完整姿态 |
| 无磁力计模式 | AHRS_MODE_ARS:5 状态自由积分偏航,仅靠 IMU 跑 roll/pitch |
| 数值稳健 | UDU/Bierman-Thornton 平方根滤波,提升协方差有效精度 |
| 实时友好 | 无未定界循环、无递归,WCET 可预测,适合实时控制回路 |
| 静态分析 | UBSan / ASan 强测试,真实数据与边界用例实战检验 |
git clone https://github.com/jnz/INSLIB.git
cd INSLIB
make
# 运行测试
make test
# 生成需求追溯报告
make reqs
# Python 工具与 GUI 在仓库 tools/ 目录
baro_alt 垂直通道,GNSS 失锁时不至于盲飞嵌入式 AI 推理同样讲究"本地闭环",可搭配 Edge0 MoE 本地推理框架教程阅读。
一个便携的 3D 导航状态估计纯 C 库(C11)。核心是一组卡尔曼滤波器,把 IMU 与 GNSS/GPS、气压计、磁力计、本地位置参考、零速/零旋转等信息融合成稳定的导航状态;无外部依赖、针对嵌入式微控制器优化。
90%+ 测试覆盖率且含 MC/DC 测试(DO-178 DAL-A / ISO26262 ASIL-D 同款标准),代码逻辑关联机器检查的需求库(make reqs),UDU/Bierman-Thornton 平方根滤波提升协方差有效精度,无未定界循环、无递归,WCET 可预测。
能。开启 baro_alt 垂直通道后,气压融合高度持续输出、完整姿态不丢;惯性航位推算在 GNSS 中断期间继续输出位置——官方演示用一颗 TDK ICM-45686 低成本 IMU 就完成了纯惯性航位推算。无磁力计时还可切 AHRS_MODE_ARS 模式(5 状态自由积分偏航)。