飞机惯性导航解算系统
项目介绍
本项目是一个基于惯性测量单元(IMU)数据的飞机导航解算系统。系统通过处理陀螺仪和加速度计的原始测量数据,运用惯性导航核心算法,实时计算并输出飞机在飞行过程中的三维位置、速度及姿态角信息。该系统不依赖于外部信号(如GPS),可实现短时高精度的自主导航定位,适用于航空导航算法研究、仿真测试等场景。
功能特性
- 自主导航解算:仅依赖机载IMU传感器数据,实现不依赖外部参考源的自主定位与定姿。
- 全状态输出:同步解算并输出飞机的经度、纬度、高度、东北天速度以及俯仰、滚转、偏航角。
- 核心算法完备:实现了标准的惯性导航机械编排算法,采用四元数进行姿态更新以规避欧拉角的奇点问题,并包含数值积分与必要的误差补偿技术。
- 灵活的数据接口:支持指定格式的数组作为输入,方便与仿真数据或实测数据进行对接。
使用方法
- 准备输入数据:确保已准备好符合格式要求的输入数据。
*
陀螺仪数据:一个3行N列的数组,每一行分别代表X、Y、Z轴(通常为机体坐标系)的角速度,单位为弧度/秒。
*
加速度计数据:一个3行N列的数组,每一行分别代表X、Y、Z轴(通常为机体坐标系)的线性加速度,单位为米/秒²。
*
初始条件:提供解算起始时刻的初始位置(经纬度、高度)、初始速度(东北天坐标系)和初始姿态角(俯仰、滚转、偏航)。
- 配置参数:根据实际传感器特性和应用场景,在代码中设置或调整相关参数,如采样频率、传感器误差初值等。
- 执行解算:运行主程序。程序将依次读取输入数据,执行惯性导航解算循环。
- 获取输出:程序执行完毕后,将生成对应的解算结果。
*
位置:3行N列数组,输出经纬度(度)和高度(米)。
*
速度:3行N列数组,输出东北天坐标系下的三轴速度(米/秒)。
*
姿态角:3行N列数组,输出俯仰角、滚转角、偏航角(单位可配置为弧度或度)。
系统要求
- 软件环境:MATLAB(推荐R2016b或更高版本)。
- 知识基础:使用者需具备惯性导航基础知识和MATLAB编程能力,以便理解算法流程并根据需要调整参数。
文件说明
主程序文件承载了本系统的核心解算流程,其主要功能包括:初始化导航参数与坐标系,读取并预处理传感器输入数据;通过循环迭代,依次执行基于四元数的姿态更新算法,完成载体坐标系至导航坐标系的转换;接着进行速度更新,并采用数值积分方法解算载体位置;最终对解算结果进行格式化输出。该文件集成了从原始数据到导航结果的完整解算链路。