jnz/INSLIB
Open Source Inertial Navigation Library
解决的问题
INSLIB 提供了一种便携式、高精度的 3D 导航状态估计解决方案。它通过融合来自多种传感器(如 IMU、GNSS/GPS、气压计、磁力计)的数据,解决了准确追踪车辆位置、姿态和速度的问题,同时应对现实世界中的挑战,如传感器延迟、噪声和 GNSS 中断。
工作原理
该库使用一组卡尔曼滤波器(特别是鲁棒的 UDU/Bierman-Thornton 平方根滤波)来融合来自不同来源的测量值。它使用纯 C11 编写,以在嵌入式微控制器上实现最大可移植性和效率,避免堆分配和操作系统依赖。为确保精度,它包含传感器校准(偏置、比例和错位)工具,以及通过交叉相关垂直速度数据来估计 GNSS 延迟的方法。
适用人群
- 机器人和无人机开发者:构建无人机、自动驾驶车辆或航空航天系统,需要精确实时追踪的开发者。
- 嵌入式系统工程师:需要为裸机目标开发轻量级、WCET 友好型导航库的开发者。
- 数据分析师:对记录的飞行或驾驶数据进行后处理,以分析导航性能的研究人员。
主要亮点
- 航空航天级可靠性:测试覆盖率超过 90%,采用 MC/DC 测试并具备严格的可追溯性要求。
- 嵌入式优化:无堆或操作系统依赖,使用 32 位浮点数,避免对 64 位双精度硬件的需求。
- 鲁棒的传感器融合:支持多种输入,包括 Galileo HAS、RTK GNSS、磁力计以及零速度/零旋转更新。
- 全面的工具链:包含基于 Python 的 GUI,支持后处理、实时数据可视化和传感器校准。
相关
- 项目
- 项目
- 项目
- 项目