基于零速修正卡尔曼滤波器的个人室内惯性导航系统
项目介绍
本项目实现了一套完整的个人室内惯性导航系统,核心算法是结合零速检测的卡尔曼滤波器。系统通过处理IMU(惯性测量单元)传感器数据,能够在GPS信号缺失的室内环境中实现连续的轨迹跟踪。零速修正技术有效抑制了惯性导航固有的累积误差,显著提高了位置估计的精度。
功能特性
- 完整卡尔曼滤波框架:实现了包含预测和更新两个核心环节的卡尔曼滤波算法。
- 智能零速检测:基于设定的加速度和角速度阈值,自动判断用户是否处于静止状态。
- 零速修正:在检测到静止状态时进行测量更新,有效校正位置和速度漂移。
- 连续轨迹跟踪:实时输出高精度的位置、速度和姿态(欧拉角/四元数)估计。
- 数据可视化:提供图形化界面,实时展示导航轨迹和传感器数据变化曲线。
使用方法
- 准备输入数据:确保拥有格式正确的IMU数据文件,包含三轴加速度计和三轴陀螺仪数据。
- 配置参数:设置传感器采样频率、零速检测阈值(加速度阈值、角速度阈值)以及卡尔曼滤波器参数(过程噪声协方差矩阵、测量噪声协方差矩阵)。
- 设置初始状态:指定系统的初始位置、初始速度和初始姿态角。
- 运行系统:执行主程序,系统将自动处理数据并完成导航解算。
- 查看结果:程序运行后将输出导航结果文件,并自动生成轨迹可视化图形和误差统计信息。
系统要求
- 操作系统:Windows / Linux / macOS
- 软件环境:MATLAB R2018b 或更高版本
- 硬件要求:无特殊要求,标准配置即可流畅运行
文件说明
主程序文件承载了系统的核心调度功能,它负责整合并调用各个算法模块。其主要能力包括:初始化整个导航系统的参数与状态;按顺序读取传感器数据并驱动数据流处理;执行卡尔曼滤波的主循环,协调预测与更新步骤;调用零速检测模块并据此触发零速修正;实时解算并记录位置、速度与姿态信息;最终生成导航结果输出并调用可视化函数完成轨迹绘图与误差分析。