SINS-GPS组合导航系统连续导航算法:原理、实现与优化_第1页
SINS-GPS组合导航系统连续导航算法:原理、实现与优化_第2页
SINS-GPS组合导航系统连续导航算法:原理、实现与优化_第3页
SINS-GPS组合导航系统连续导航算法:原理、实现与优化_第4页
SINS-GPS组合导航系统连续导航算法:原理、实现与优化_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SINS/GPS组合导航系统连续导航算法:原理、实现与优化一、引言1.1研究背景与意义在现代导航领域,随着各类载体如飞行器、船舶、车辆等在复杂环境下运行需求的不断增加,对导航系统的精度、可靠性和连续性提出了极高的要求。单一的导航系统往往难以满足这些严苛的要求,因此组合导航系统应运而生,其中SINS/GPS组合导航系统凭借其独特优势,成为了现代导航技术发展的关键方向。SINS(捷联式惯性导航系统)作为一种自主式导航系统,主要基于惯性测量单元(IMU),通过测量载体在三维空间中的加速度和角速度,运用积分运算来精确推算载体的姿态、速度以及位置信息。它具有高度的自主性,不受外界信号干扰的影响,能够在诸如卫星信号遮挡、电子干扰等恶劣环境下持续工作,为载体提供导航信息。然而,SINS存在一个显著的局限性,即惯性传感器的误差会随着时间的推移而不断积累,导致导航精度逐渐下降。例如,在长时间的飞行过程中,由于加速度计和陀螺仪的零偏、刻度因数误差等,SINS的定位误差可能会达到数千米甚至更大,这极大地限制了其单独使用时的导航精度和可靠性。GPS(全球定位系统)则是基于卫星信号的全球定位系统,通过接收来自多个卫星的信号,利用三角测量原理精确确定载体的位置和速度信息。它具有全球覆盖、高精度、全天候等优点,能够为用户提供实时、准确的导航数据。在开阔的天空下,GPS的定位精度可以达到米级甚至更高,为各类导航应用提供了重要的支持。然而,GPS也存在一些固有的缺陷,其信号容易受到遮挡和干扰。在城市峡谷、隧道、室内等环境中,卫星信号可能会被建筑物、山体等阻挡而减弱或中断,导致定位精度急剧下降甚至无法定位。此外,GPS还容易受到电磁干扰、多径效应等因素的影响,进一步降低了其可靠性。为了克服SINS和GPS各自的缺点,充分发挥它们的优势,SINS/GPS组合导航系统应运而生。该系统通过数据融合技术,将SINS的短期高精度和GPS的长期稳定性相结合,实现了优势互补,从而提高了导航系统的精度和可靠性。在GPS信号正常时,利用GPS的高精度定位信息对SINS的误差进行校正,有效抑制SINS误差的积累;而在GPS信号受阻或丢失时,SINS则能够继续提供导航信息,保证导航的连续性。例如,在飞行器的导航中,当飞行器穿越山区或城市上空时,GPS信号可能会受到遮挡,但SINS可以在这段时间内维持导航,一旦GPS信号恢复,又可以及时对SINS进行校正,确保飞行器始终保持准确的导航。在SINS/GPS组合导航系统中,连续导航算法起着核心关键作用。连续导航算法的主要目标是在各种复杂环境和工况下,确保组合导航系统能够不间断地提供高精度的导航信息。它不仅需要实时处理SINS和GPS的测量数据,还要对两种数据进行有效的融合,以实现最优的导航估计。通过连续导航算法,可以充分利用SINS和GPS的互补特性,在GPS信号正常时,利用其高精度定位信息快速修正SINS的累积误差,提高导航精度;在GPS信号丢失期间,依靠SINS的自主导航能力,根据之前的导航信息和惯性测量数据,准确推算出载体的位置、速度和姿态,保证导航的连续性。同时,连续导航算法还需要具备良好的抗干扰能力和鲁棒性,能够在各种噪声和干扰环境下稳定工作,确保导航系统的可靠性。研究SINS/GPS组合导航系统连续导航算法具有重要的现实意义和应用价值。在军事领域,精确可靠的导航系统是武器装备发挥效能的关键。无论是导弹的精确制导、飞机的远程作战,还是舰艇的远洋航行,都离不开高精度的导航支持。SINS/GPS组合导航系统连续导航算法能够为这些军事应用提供稳定、准确的导航信息,提高武器装备的作战性能和生存能力。在民用领域,随着智能交通、无人机物流、自动驾驶等技术的快速发展,对导航系统的精度和可靠性要求也越来越高。例如,在自动驾驶汽车中,连续导航算法能够确保车辆在各种路况下都能准确感知自身位置,实现安全、高效的行驶;在无人机物流配送中,可靠的导航算法可以保证无人机准确地将货物送达目的地,提高物流效率。此外,在航空航天、海洋探测、地质勘探等领域,SINS/GPS组合导航系统连续导航算法也都发挥着不可或缺的作用,为这些领域的发展提供了重要的技术支撑。1.2国内外研究现状在SINS/GPS组合导航系统连续导航算法的研究领域,国内外学者都投入了大量的精力,并取得了一系列具有重要价值的成果。国外方面,早在20世纪80年代,随着GPS技术的逐渐成熟,其与SINS的组合导航研究就已展开。美国在这一领域处于领先地位,众多科研机构和高校,如麻省理工学院(MIT)、斯坦福大学等,对SINS/GPS组合导航算法进行了深入研究。早期的研究主要集中在卡尔曼滤波算法在组合导航中的应用,通过将SINS和GPS的测量数据进行融合,有效提高了导航精度。例如,经典的扩展卡尔曼滤波(EKF)算法,在处理非线性系统时,通过对系统状态进行线性化近似,能够实时估计系统状态,在SINS/GPS组合导航中得到了广泛应用。然而,EKF算法存在对模型线性化误差敏感的问题,在处理高度非线性的SINS/GPS系统时,可能会导致滤波精度下降甚至滤波发散。为了解决EKF的不足,unscented卡尔曼滤波(UKF)算法被提出。UKF算法基于UT变换,通过对一组采样点进行变换来近似系统的均值和协方差,避免了复杂的线性化过程,在处理非线性问题上具有更高的精度和稳定性。如德国的一些研究团队将UKF应用于SINS/GPS组合导航系统,实验结果表明,UKF在高动态环境下能够更准确地估计载体的状态,有效提高了导航系统的性能。随着人工智能技术的快速发展,机器学习和深度学习算法也逐渐被引入到SINS/GPS组合导航领域。例如,美国的一些研究人员提出了基于神经网络的组合导航算法,通过训练神经网络来学习SINS和GPS数据之间的复杂关系,实现了对导航信息的更准确预测。其中,长短期记忆网络(LSTM)由于其对时间序列数据的良好处理能力,在SINS/GPS组合导航中展现出了独特的优势。它能够有效地捕捉导航数据中的长期依赖关系,对SINS的误差积累进行更准确的补偿,从而提高导航的精度和连续性。国内在SINS/GPS组合导航系统连续导航算法的研究起步相对较晚,但发展迅速。近年来,众多高校和科研院所,如哈尔滨工业大学、北京航空航天大学、中国航天科技集团等,在这一领域取得了丰硕的成果。早期国内的研究主要是对国外先进算法的学习和借鉴,通过改进和优化,使其更适合国内的应用需求。例如,对卡尔曼滤波算法进行改进,提出了自适应卡尔曼滤波算法,根据系统的实际运行情况实时调整滤波参数,提高了滤波的适应性和精度。在一些实际应用中,如无人机导航、车载导航等,自适应卡尔曼滤波算法取得了良好的效果,有效提高了导航系统在复杂环境下的性能。随着国内科研实力的不断提升,自主创新的算法不断涌现。一些研究团队提出了基于粒子滤波的SINS/GPS组合导航算法,粒子滤波通过大量的粒子来近似系统的后验概率分布,能够处理高度非线性和非高斯的系统。在实际应用中,粒子滤波算法在解决GPS信号遮挡或干扰时的导航问题上表现出色,能够利用SINS的信息维持导航的连续性,并在GPS信号恢复后迅速实现准确的定位。此外,国内在多传感器融合技术与SINS/GPS组合导航的结合方面也取得了重要进展。通过融合其他传感器如气压计、磁力计等的信息,进一步提高了导航系统的精度和可靠性。例如,在室内或城市峡谷等GPS信号受限的环境中,利用气压计提供的高度信息和磁力计提供的方向信息,与SINS和GPS数据进行融合,能够实现更准确的定位和导航。尽管国内外在SINS/GPS组合导航系统连续导航算法方面取得了显著的进展,但仍然存在一些不足和待解决的问题。在复杂环境下,如强电磁干扰、多径效应严重等情况下,现有算法的鲁棒性和适应性仍有待提高。部分算法在处理大规模数据和高动态场景时,计算效率较低,难以满足实时性要求。此外,对于不同类型的SINS和GPS传感器,如何优化算法以充分发挥其性能优势,也是需要进一步研究的方向。1.3研究内容与方法本研究围绕SINS/GPS组合导航系统连续导航算法展开,涵盖多个关键方面,采用多种研究方法,旨在全面深入地探究该算法,为实际应用提供坚实的理论基础和技术支持。在研究内容上,首先是算法原理的深入剖析。对SINS和GPS的基本原理进行细致研究,包括SINS如何基于惯性测量单元(IMU)测量加速度和角速度来推算载体的姿态、速度和位置信息,以及GPS通过接收卫星信号确定载体位置和速度的原理。同时,深入分析SINS和GPS各自的误差特性,如SINS中惯性传感器的零偏、刻度因数误差等导致的误差随时间积累问题,以及GPS信号受遮挡、干扰产生的误差。在此基础上,着重研究连续导航算法中常用的融合算法,如卡尔曼滤波及其衍生算法、粒子滤波算法、基于神经网络的融合算法等的原理,明确其在处理SINS和GPS数据融合时的工作机制,以及如何通过这些算法实现对载体状态的精确估计,从而保证导航的连续性和高精度。实现步骤的探讨也是重要内容。在数据采集与预处理环节,研究如何从SINS和GPS传感器中准确采集数据,并采用合适的滤波方法去除噪声干扰,对数据进行校准和同步处理,确保后续融合算法的输入数据质量。在算法实现阶段,详细阐述各种融合算法在软件或硬件平台上的具体实现过程,包括算法的编程实现细节、参数设置与调整方法,以及如何根据实际应用需求选择合适的计算资源和平台,以满足实时性和精度要求。在系统集成与测试方面,研究如何将实现的连续导航算法集成到SINS/GPS组合导航系统中,进行系统级的功能测试和性能评估,包括在不同环境和工况下对导航精度、连续性、可靠性等指标的测试方法和评价标准。性能优化策略研究同样不可或缺。针对算法的实时性优化,分析算法在不同计算平台上的运行效率,采用并行计算、优化算法结构、减少计算复杂度等技术,提高算法的处理速度,使其能够满足实时导航的需求。在精度提升方面,研究如何通过改进融合算法、优化传感器误差补偿模型、引入更多辅助信息等方法,进一步提高导航精度,减小误差。对于算法的鲁棒性增强,探索在复杂环境下,如强电磁干扰、多径效应、GPS信号中断等情况下,算法如何保持稳定工作,通过采用自适应滤波、抗干扰技术、数据重构等方法,提高算法的抗干扰能力和容错性,确保导航系统在各种恶劣条件下都能可靠运行。在研究方法上,采用了文献研究法。广泛搜集国内外关于SINS/GPS组合导航系统连续导航算法的相关文献,包括学术期刊论文、学位论文、研究报告、专利等,全面了解该领域的研究现状、发展趋势、已取得的成果以及存在的问题。对经典的算法原理、实验方法和应用案例进行深入分析和总结,为后续的研究提供理论基础和研究思路。实验研究法也是重要手段。搭建SINS/GPS组合导航实验平台,包括选择合适的SINS和GPS传感器、数据采集设备、计算设备等硬件,以及开发相应的数据采集、处理和算法实现软件。在实验平台上进行大量的实验,模拟不同的应用场景,如飞行器的飞行、车辆的行驶、船舶的航行等,获取实际的导航数据。通过对实验数据的分析,验证算法的可行性和有效性,评估算法的性能指标,对比不同算法和优化策略的效果,为算法的改进和优化提供依据。数值仿真法同样发挥着关键作用。利用Matlab、Simulink等仿真软件,建立SINS/GPS组合导航系统的数学模型,包括SINS和GPS的误差模型、融合算法模型等。通过设置不同的仿真参数,模拟各种复杂的环境和工况,如不同的噪声水平、GPS信号中断时间和次数、载体的动态特性等,对连续导航算法进行仿真分析。仿真结果可以直观地展示算法在不同条件下的性能表现,帮助研究人员深入理解算法的工作机制,快速评估算法的改进方案,节省实验成本和时间,为算法的优化和实际应用提供有力支持。二、SINS/GPS组合导航系统基础2.1SINS系统原理与特点2.1.1SINS系统构成SINS系统的核心部件是惯性测量单元(IMU),它主要由加速度计和陀螺仪组成,是实现自主导航的关键。加速度计作为IMU的重要组成部分,其主要功能是测量载体在三个正交方向上的加速度。常见的加速度计工作原理基于牛顿第二定律,通过检测质量块在加速度作用下产生的力来计算加速度值。例如,石英挠性加速度计利用石英材料的弹性特性,当载体加速时,质量块产生位移,通过检测位移变化来测量加速度;而微机电系统(MEMS)加速度计则是基于微机电技术,通过检测微结构在加速度作用下的电容变化来实现加速度测量。加速度计在SINS系统中的作用至关重要,其测量的加速度信息是后续解算载体速度和位置的基础。陀螺仪同样是IMU不可或缺的部分,用于测量载体绕三个正交轴的角速度。陀螺仪的工作原理多种多样,其中激光陀螺仪利用光的Sagnac效应,通过检测两束相向传播的激光在旋转时产生的相位差来测量角速度;光纤陀螺仪则是基于光纤中的Sagnac效应,通过检测光纤环中传播光的相位差来确定角速度。陀螺仪的测量结果对于确定载体的姿态变化至关重要,它为姿态解算提供了关键的输入信息。除了加速度计和陀螺仪,IMU还可能包含温度传感器等辅助元件。温度传感器用于监测IMU的工作温度,因为加速度计和陀螺仪的性能会受到温度变化的影响。通过实时监测温度,并结合预先校准的温度补偿模型,可以对加速度计和陀螺仪的测量数据进行温度补偿,提高测量精度。例如,在一些高精度的IMU中,温度传感器会将温度信息实时反馈给系统,系统根据温度补偿算法对测量数据进行修正,以确保在不同温度环境下IMU都能提供准确的测量结果。这些惯性传感器直接固连在载体上,构成了SINS系统的硬件基础。它们能够实时感知载体在三维空间中的运动状态,为后续的导航解算提供原始数据。在飞行器的飞行过程中,IMU可以实时测量飞行器在X、Y、Z三个方向上的加速度和角速度,这些数据将被传输到导航计算机中进行进一步处理。2.1.2导航解算原理SINS系统的导航解算过程基于牛顿力学定律,通过对加速度计和陀螺仪测量数据的积分运算,推算出载体的姿态、速度和位置信息。在姿态解算方面,陀螺仪测量的角速度是载体绕自身坐标轴的旋转速率。为了得到载体在导航坐标系中的姿态,需要将这些角速度信息进行积分和坐标变换。常见的姿态解算方法包括欧拉角法、方向余弦矩阵法和四元数法。欧拉角法通过定义三个角度(俯仰角、滚转角和偏航角)来描述载体的姿态,其优点是直观易懂,但存在万向节死锁问题,即在某些特殊姿态下无法准确描述载体的姿态。方向余弦矩阵法则是通过一个3×3的矩阵来表示载体坐标系与导航坐标系之间的转换关系,能够精确描述姿态变化,但计算过程较为复杂,涉及大量的三角函数运算。四元数法是一种基于复数的姿态表示方法,它通过四个参数来描述载体的姿态,具有计算效率高、避免万向节死锁等优点,在实际应用中得到了广泛的应用。以四元数法为例,其姿态更新过程是根据陀螺仪测量的角速度,通过四元数微分方程进行积分运算,从而得到更新后的四元数,再根据四元数与姿态角的转换关系,计算出载体的姿态角。速度解算是基于加速度计测量的加速度信息。首先,需要将加速度计测量的沿载体坐标系的加速度分量转换到导航坐标系中,这可以通过姿态解算得到的坐标转换矩阵来实现。然后,对转换后的加速度进行积分,得到载体在导航坐标系中的速度。由于加速度计存在测量误差,如零偏误差、刻度因数误差等,这些误差会随着积分过程逐渐积累,导致速度误差不断增大。为了减小误差,通常会采用一些补偿算法,如在积分过程中引入重力补偿项,以消除重力对加速度测量的影响;同时,还会根据传感器的误差模型,对加速度测量值进行误差补偿,提高速度解算的精度。位置解算是在速度解算的基础上进行的。将速度在时间上进行积分,即可得到载体的位置信息。在实际应用中,位置解算通常采用大地坐标系,如WGS-84坐标系。由于地球是一个近似椭球体,在进行位置解算时,需要考虑地球的曲率和重力场的变化。例如,在计算纬度方向的位置变化时,需要根据地球的椭球参数对积分结果进行修正;在计算经度方向的位置变化时,需要考虑地球的自转和载体的运动方向。此外,由于速度误差的积累,位置误差也会随着时间不断增大,因此需要通过其他手段,如与GPS等外部导航系统进行组合,对位置误差进行校正,以提高位置解算的精度。2.1.3误差分析SINS系统的误差来源较为复杂,主要包括传感器误差和积分误差,这些误差会对导航精度产生显著影响。传感器误差是SINS系统误差的重要来源之一。加速度计和陀螺仪都存在零偏误差,即当载体处于静止状态时,传感器输出的非零信号。加速度计的零偏误差会导致测量的加速度存在恒定偏差,在速度解算过程中,这个偏差会随着时间的积分不断积累,使得速度误差随时间线性增长。例如,若加速度计的零偏误差为0.01m/s²,经过100秒的积分,速度误差将达到1m/s。陀螺仪的零偏误差则会导致姿态解算出现偏差,随着时间的推移,姿态误差会不断增大,进而影响速度和位置的解算精度。例如,在飞行器的飞行过程中,若陀螺仪的零偏误差导致姿态角出现1°的偏差,经过一段时间后,飞行器的航向可能会偏离预定航线,影响飞行任务的完成。刻度因数误差也是传感器常见的误差之一。加速度计和陀螺仪的刻度因数表示传感器输出与实际物理量之间的比例关系,若刻度因数存在误差,会导致测量的加速度和角速度不准确。例如,加速度计的实际刻度因数为1.01,而系统设定为1,那么测量的加速度值将比实际值偏小,在速度和位置解算中会引入误差,且这个误差会随着积分过程逐渐放大。此外,传感器还存在随机噪声误差,这是由于传感器内部的电子元件和物理过程产生的随机干扰,会使测量数据产生波动,影响测量的准确性。通过滤波算法可以在一定程度上减小随机噪声的影响,但无法完全消除。积分误差是SINS系统误差的另一个重要来源。由于加速度计和陀螺仪的输出是离散的,在进行积分运算时,通常采用数值积分方法,如欧拉积分法、龙格-库塔积分法等。这些数值积分方法本身存在截断误差,随着积分步数的增加,截断误差会逐渐积累,导致导航解算误差增大。例如,在长时间的导航过程中,采用欧拉积分法进行速度和位置解算时,由于其积分精度相对较低,截断误差会不断积累,使得最终的位置误差可能达到数米甚至更大。此外,载体的振动和角运动也会对积分误差产生影响。当载体存在振动时,加速度计和陀螺仪测量的信号会包含高频振动分量,这些分量在积分过程中会产生额外的误差,进一步降低导航精度。2.2GPS系统原理与特点2.2.1GPS系统工作机制GPS系统作为全球定位系统,其工作机制基于卫星信号传播时间测量,通过多颗卫星与接收机之间的距离测量,实现精确的定位功能。GPS系统的空间部分由多颗卫星组成,这些卫星分布在不同的轨道平面上,确保在地球上的任何地点、任何时刻,用户至少能观测到四颗卫星。卫星不断地向地面发射包含自身位置信息、时间信息以及其他导航数据的信号。以GPS卫星发射的L1频段信号为例,它携带了C/A码(粗捕获码)和P码(精码),其中C/A码用于民用领域的快速信号捕获和初步定位,P码则主要用于军事和高精度定位领域。卫星通过精确的原子钟来确保时间的准确性,原子钟的精度可达纳秒级,这为信号传播时间的精确测量提供了基础。用户接收机在接收到卫星信号后,通过测量信号从卫星传播到接收机的时间,结合光速不变原理,计算出接收机与卫星之间的距离。由于卫星信号在传播过程中会受到各种因素的影响,如大气层延迟、多径效应等,导致测量的距离并非真实的几何距离,而是伪距。为了消除这些误差的影响,通常采用差分定位等技术。在差分定位中,设立一个已知精确位置的基准站,基准站与用户接收机同时接收卫星信号,基准站根据自身已知位置计算出卫星信号的误差,并将这些误差信息发送给用户接收机,用户接收机利用这些误差信息对自身测量的伪距进行修正,从而提高定位精度。在得到接收机与多颗卫星之间的伪距后,通过三角测量原理进行定位解算。假设已知三颗卫星的位置分别为S_1(x_1,y_1,z_1)、S_2(x_2,y_2,z_2)、S_3(x_3,y_3,z_3),接收机与这三颗卫星的伪距分别为\rho_1、\rho_2、\rho_3,根据距离公式\rho_i=\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2}(i=1,2,3),可以列出三个方程,联立求解这三个方程,即可得到接收机在空间中的位置(x,y,z)。实际应用中,为了提高定位的可靠性和精度,通常会使用四颗或更多卫星的信号进行定位解算。例如,在车辆导航中,车载GPS接收机通过接收四颗以上卫星的信号,能够实时准确地计算出车辆的位置,为驾驶员提供导航指引。2.2.2定位精度影响因素尽管GPS系统在全球范围内得到了广泛应用,但其定位精度会受到多种因素的影响,这些因素主要包括卫星信号遮挡、多路径效应、电离层和对流层延迟等。卫星信号遮挡是影响GPS定位精度的常见因素之一。在城市峡谷、山区、室内等环境中,高大的建筑物、山体等会阻挡卫星信号的传播,导致接收机无法接收到足够数量的卫星信号,或者接收到的信号强度减弱。在城市高楼林立的区域,部分卫星信号可能被建筑物遮挡,使得接收机只能接收到少数几颗卫星的信号,根据三角测量原理,参与定位解算的卫星数量减少会导致定位精度下降。一些实验数据表明,在卫星信号遮挡严重的环境下,GPS定位误差可能会达到数十米甚至上百米,严重影响定位的准确性。多路径效应也是降低GPS定位精度的重要因素。当卫星信号在传播过程中遇到建筑物、水面、地面等反射物时,信号会发生反射,接收机可能会同时接收到直接来自卫星的直射信号和经过反射的反射信号。由于反射信号的传播路径比直射信号长,两者到达接收机的时间存在差异,这就会导致接收机在测量伪距时产生误差。在靠近水面的区域,卫星信号在水面上发生反射,反射信号与直射信号相互干扰,使得接收机测量的伪距产生偏差,进而影响定位精度。据研究,多路径效应引起的定位误差在某些情况下可达数米甚至更大,严重影响了GPS在一些对精度要求较高的应用场景中的使用。电离层和对流层延迟对GPS信号传播也有显著影响。电离层是地球大气层的一部分,其中存在大量的自由电子和离子,当GPS信号穿过电离层时,会受到这些带电粒子的影响,导致信号传播速度发生变化,从而产生延迟。对流层则是地球大气层的较低部分,其中的水汽、温度和气压等因素会对GPS信号传播产生折射作用,导致信号传播路径发生弯曲,产生延迟。这些延迟会使得接收机测量的伪距出现误差,进而影响定位精度。为了补偿电离层和对流层延迟的影响,通常采用模型修正的方法,如Klobuchar模型用于补偿电离层延迟,Saastamoinen模型用于补偿对流层延迟。然而,这些模型存在一定的局限性,在复杂的天气条件下,如暴雨、强对流天气等,模型的补偿效果会受到影响,导致定位精度下降。2.3SINS/GPS组合导航原理2.3.1组合模式分类SINS/GPS组合导航系统存在多种组合模式,常见的包括位置组合、速度组合以及位置/速度组合,每种模式都有其独特的工作方式和特点。位置组合模式是较为基础的一种组合方式。在这种模式下,GPS接收机直接输出的位置信息与SINS解算得到的位置信息进行融合处理。例如,在车辆导航应用中,当车辆行驶在开阔道路上,GPS能够实时提供高精度的位置坐标,而SINS通过自身的惯性测量单元测量车辆的加速度和角速度,推算出车辆的位置。通过将这两者的位置信息进行对比和融合,如采用加权平均的方法,根据GPS和SINS位置信息的精度为其分配不同的权重,精度高的信息赋予较大权重,从而得到更准确的位置估计。位置组合模式的优点是实现相对简单,不需要对GPS和SINS的内部结构进行深度耦合,易于工程实现。然而,它的缺点也较为明显,由于仅对位置信息进行融合,无法充分利用SINS和GPS在速度、姿态等方面的信息互补优势,在一些对速度和姿态精度要求较高的应用场景中,可能无法满足需求。速度组合模式则侧重于对速度信息的融合。GPS接收机输出的速度信息与SINS解算得到的速度信息被整合在一起。在飞行器的导航中,SINS通过对加速度计测量的加速度进行积分得到速度,而GPS则根据卫星信号的多普勒频移测量飞行器的速度。将这两个速度信息输入到卡尔曼滤波器等数据融合算法中,卡尔曼滤波器能够根据系统的状态方程和测量方程,对速度信息进行最优估计,从而得到更准确的速度值。速度组合模式能够有效提高速度测量的精度,对于一些对速度精度要求严格的应用,如飞行器的空中加油、精确编队飞行等,具有重要意义。但该模式同样存在局限性,它主要关注速度信息,对于位置和姿态的融合效果相对较弱,在单独使用时,可能无法全面提升导航系统的性能。位置/速度组合模式综合了位置组合和速度组合的优点,将GPS输出的位置和速度信息与SINS解算得到的位置和速度信息同时进行融合。以船舶导航为例,在远洋航行中,GPS提供的位置和速度信息可以为船舶的导航提供宏观的定位和速度参考,而SINS则在船舶受到海浪、海风等干扰导致GPS信号不稳定时,依靠自身的惯性测量保持导航的连续性。通过位置/速度组合模式,利用扩展卡尔曼滤波等算法,对位置和速度信息进行联合估计,能够更全面地提高导航系统的精度和可靠性。这种模式充分发挥了SINS和GPS在不同方面的优势,在各种复杂的应用场景中都能表现出较好的性能,是目前应用较为广泛的一种组合模式。然而,由于需要同时处理位置和速度信息,其计算复杂度相对较高,对计算资源的要求也更高,在一些计算能力有限的设备上应用时,可能需要进行优化和简化。2.3.2数据融合意义在SINS/GPS组合导航系统中,数据融合技术起着至关重要的作用,通过将SINS和GPS的数据进行整合,能够有效弥补各自的缺点,显著提高导航精度和可靠性。SINS和GPS作为两种不同原理的导航系统,各自存在明显的局限性。SINS虽然具有自主性强、短期精度高的优点,但其误差会随着时间的推移而不断积累。以高精度的激光陀螺SINS为例,在初始阶段,其定位误差可能在数米以内,但经过数小时的运行后,由于加速度计和陀螺仪的零偏、刻度因数误差等,定位误差可能会扩大到数十米甚至上百米。而GPS虽然能够提供高精度的位置和速度信息,且误差不会随时间积累,但它的信号容易受到遮挡和干扰。在城市高楼林立的区域,GPS信号可能会受到建筑物的遮挡,导致定位精度急剧下降,甚至出现定位失败的情况;在受到电磁干扰时,GPS信号的准确性也会受到严重影响。数据融合技术的引入,为解决这些问题提供了有效的途径。通过数据融合,可以将SINS和GPS的优势充分结合起来。在GPS信号正常的情况下,利用GPS的高精度定位和速度信息对SINS的误差进行校正。将GPS测量的位置信息与SINS推算的位置进行对比,计算出两者的差值,然后根据这个差值对SINS的状态进行更新,从而抑制SINS误差的积累。研究表明,在GPS信号稳定时,经过数据融合校正后,SINS的定位误差可以降低80%以上,大大提高了导航系统的精度。当GPS信号受阻或丢失时,SINS则可以发挥其自主导航的优势,根据之前的导航信息和惯性测量数据,继续推算载体的位置、速度和姿态,保证导航的连续性。在这期间,虽然SINS的误差会逐渐增大,但通过数据融合技术,可以利用之前GPS信号正常时建立的误差模型,对SINS的误差进行一定程度的预测和补偿,从而延长SINS能够可靠工作的时间。例如,在飞行器穿越山区导致GPS信号中断的情况下,SINS能够在数分钟内维持相对准确的导航,为飞行器的安全飞行提供保障,一旦GPS信号恢复,又可以及时对SINS进行重新校正,确保导航的准确性。数据融合技术还可以提高导航系统的可靠性。通过对SINS和GPS数据的相互验证和补充,当其中一个系统出现故障或异常时,另一个系统可以提供备用信息,从而增强整个导航系统的容错能力。如果GPS接收机出现故障,无法正常提供位置和速度信息,SINS可以暂时替代GPS,继续为载体提供导航服务,避免因单一系统故障而导致导航失效,提高了导航系统在复杂环境下的生存能力和可靠性。三、连续导航算法原理剖析3.1常用连续导航算法概述在SINS/GPS组合导航系统中,连续导航算法是实现高精度、连续可靠导航的关键,其中卡尔曼滤波算法、粒子滤波算法等是常用的重要算法,它们在不同的应用场景中发挥着独特的作用。卡尔曼滤波算法由RudolfE.Kalman于1960年提出,是一种基于线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的递归滤波器。其基本原理基于线性动态模型和高斯分布噪声假设。在SINS/GPS组合导航中,系统状态方程可表示为x_{k}=F_{k}x_{k-1}+B_{k}u_{k}+w_{k},其中x_{k}是在时间k的状态向量,包含载体的位置、速度、姿态等信息;F_{k}为状态转移矩阵,描述系统状态随时间的变化关系;B_{k}是控制输入模型;u_{k}为控制输入;w_{k}是过程噪声,假设服从高斯分布w_{k}\simN(0,Q_{k}),Q_{k}为过程噪声协方差矩阵。观测方程表示为z_{k}=H_{k}x_{k}+v_{k},z_{k}是在时间k的观测向量,由GPS等传感器提供的测量值组成;H_{k}是观测矩阵,用于将系统状态映射到观测空间;v_{k}是观测噪声,同样假设为高斯分布v_{k}\simN(0,R_{k}),R_{k}为观测噪声协方差矩阵。卡尔曼滤波算法主要包括预测和更新两个步骤。在预测步骤中,根据上一时刻的状态估计和系统模型预测当前时刻的状态,公式为\hat{x}_{k|k-1}=F_{k}\hat{x}_{k-1|k-1}+B_{k}u_{k},同时预测状态估计误差协方差P_{k|k-1}=F_{k}P_{k-1|k-1}F_{k}^{T}+Q_{k}。在更新步骤中,结合新的观测值对预测状态进行校正,首先计算卡尔曼增益K_{k}=P_{k|k-1}H_{k}^{T}(H_{k}P_{k|k-1}H_{k}^{T}+R_{k})^{-1},然后更新状态估计\hat{x}_{k|k}=\hat{x}_{k|k-1}+K_{k}(z_{k}-H_{k}\hat{x}_{k|k-1}),并更新误差协方差P_{k|k}=(I-K_{k}H_{k})P_{k|k-1},其中I为单位矩阵。卡尔曼滤波算法在处理线性系统和高斯噪声时具有较高的计算效率和准确性,能够有效地融合SINS和GPS的数据,抑制噪声干扰,提高导航精度。在飞行器的巡航阶段,飞行状态相对平稳,系统近似线性,卡尔曼滤波算法能够很好地处理SINS和GPS的数据融合,实时准确地估计飞行器的位置、速度和姿态,为飞行控制提供可靠的导航信息。粒子滤波算法,也称为序贯蒙特卡洛方法,是一种基于蒙特卡洛模拟的非线性滤波技术。它适用于处理高度非线性和非高斯噪声的系统状态估计问题,其基本思想是通过一组随机样本(粒子)来表示系统状态的后验概率分布,并通过重要性采样和重采样技术,不断更新粒子的权重,以逼近系统的真实状态分布。在SINS/GPS组合导航的非线性场景中,例如飞行器在进行复杂机动飞行时,其运动模型呈现高度非线性,粒子滤波算法能够更好地适应这种情况。粒子滤波算法的主要步骤包括初始化、预测、更新和重采样。在初始化阶段,根据先验分布在状态空间中随机生成一组初始粒子,并为每个粒子分配初始权重。预测阶段,根据系统模型为每个粒子生成一组候选粒子,考虑到SINS的运动模型,粒子会根据加速度计和陀螺仪测量的信息进行状态转移预测。更新阶段,根据观测数据(如GPS测量值)计算每个粒子的权重,权重反映了粒子与观测数据的匹配程度。例如,通过计算粒子的预测状态与GPS观测值之间的似然函数来确定权重,似然函数值越大,说明粒子与观测数据越匹配,权重越高。重采样阶段,根据粒子权重进行重采样,保留权重较大的粒子,舍弃权重较小的粒子,生成新的粒子集合,以提高粒子对真实状态的代表性。通过不断迭代这些步骤,粒子滤波算法能够逐渐逼近系统的真实状态,为SINS/GPS组合导航提供准确的状态估计。在城市环境中,GPS信号受到建筑物遮挡和多径效应的影响,呈现出非高斯特性,粒子滤波算法能够利用SINS的惯性测量信息和GPS的间歇性观测数据,有效地处理这种复杂情况,实现连续、准确的导航定位。3.2卡尔曼滤波算法原理3.2.1算法数学模型卡尔曼滤波算法基于线性系统状态方程和观测方程构建其数学模型,以此来描述系统状态的转移和观测过程。系统状态方程用于描述系统状态随时间的变化,其一般形式为x_{k}=F_{k}x_{k-1}+B_{k}u_{k}+w_{k}。其中,x_{k}是在时间k的状态向量,它包含了载体的位置、速度、姿态等重要信息,全面地描述了系统在该时刻的状态。例如,在飞行器导航中,x_{k}可能包含飞行器在三维空间中的位置坐标(x,y,z)、速度分量(v_x,v_y,v_z)以及姿态角(俯仰角、滚转角、偏航角)等元素。F_{k}为状态转移矩阵,它定义了系统状态从时刻k-1到时刻k的转移关系,反映了系统的动态特性。在匀速直线运动的简单模型中,若只考虑位置和速度,状态转移矩阵F_{k}可能为\begin{bmatrix}1&\Deltat&0&0\\0&1&0&0\\0&0&1&\Deltat\\0&0&0&1\end{bmatrix},其中\Deltat为时间间隔,该矩阵表示位置会随着速度和时间的变化而更新,速度则保持不变(假设无加速度)。B_{k}是控制输入模型,u_{k}为控制输入,它们描述了外部控制对系统状态的影响。在飞行器中,控制输入可能是发动机的推力、舵面的偏转指令等,这些控制信号通过B_{k}作用于系统状态,改变飞行器的运动状态。w_{k}是过程噪声,它表示系统中不可预测的干扰因素,假设服从高斯分布w_{k}\simN(0,Q_{k}),其中Q_{k}为过程噪声协方差矩阵,用于衡量过程噪声的强度和相关性。例如,飞行器在飞行过程中受到的气流扰动、发动机的不稳定等因素都可以用过程噪声来表示,Q_{k}的元素值越大,说明过程噪声的影响越大。观测方程用于描述从系统状态到观测值的映射关系,其表达式为z_{k}=H_{k}x_{k}+v_{k}。z_{k}是在时间k的观测向量,由GPS等传感器提供的测量值组成。在SINS/GPS组合导航中,z_{k}可能包含GPS测量的载体位置坐标和速度信息。H_{k}是观测矩阵,它将系统状态向量x_{k}映射到观测空间,确定了系统状态与观测值之间的线性关系。例如,若观测向量仅包含GPS测量的位置信息(x_{GPS},y_{GPS},z_{GPS}),而状态向量x_{k}包含位置、速度和姿态信息,那么观测矩阵H_{k}可能是一个只在对应位置元素为1,其他与速度和姿态相关元素为0的矩阵,如\begin{bmatrix}1&0&0&0&0&0&0&0&0\\0&1&0&0&0&0&0&0&0\\0&0&1&0&0&0&0&0&0\end{bmatrix},表示只观测位置信息。v_{k}是观测噪声,同样假设为高斯分布v_{k}\simN(0,R_{k}),R_{k}为观测噪声协方差矩阵,用于描述观测噪声的特性。GPS测量过程中受到的多径效应、信号干扰等会导致观测噪声的产生,R_{k}反映了这些噪声对观测值的影响程度,其值越大,观测值的不确定性越高。3.2.2滤波流程卡尔曼滤波算法的核心流程主要包括预测和更新两个关键步骤,通过这两个步骤的不断迭代,实现对系统状态的最优估计。预测步骤是基于上一时刻的状态估计和系统模型,对当前时刻的状态进行预测。首先进行状态预测,公式为\hat{x}_{k|k-1}=F_{k}\hat{x}_{k-1|k-1}+B_{k}u_{k}。其中,\hat{x}_{k|k-1}表示在时刻k,基于时刻k-1的信息对状态的预测值;\hat{x}_{k-1|k-1}是在时刻k-1的状态估计值,它是经过上一次更新步骤得到的最优估计;F_{k}和B_{k}、u_{k}如前所述,分别为状态转移矩阵、控制输入模型和控制输入。在车辆导航中,已知上一时刻车辆的位置和速度估计值,根据车辆的运动模型(由状态转移矩阵描述)以及当前的控制输入(如油门、刹车信号转化为的加速度指令),可以预测当前时刻车辆的位置和速度。同时,需要预测状态估计误差协方差,公式为P_{k|k-1}=F_{k}P_{k-1|k-1}F_{k}^{T}+Q_{k}。这里的P_{k|k-1}是在时刻k的预测状态估计误差协方差,P_{k-1|k-1}是在时刻k-1的状态估计误差协方差,Q_{k}为过程噪声协方差矩阵。状态估计误差协方差反映了状态估计的不确定性,随着时间的推移和过程噪声的影响,预测状态估计误差协方差会逐渐增大,表明预测状态的不确定性增加。更新步骤是在获得新的观测值z_{k}后,结合预测状态对其进行校正,以得到更准确的状态估计。首先计算卡尔曼增益K_{k}=P_{k|k-1}H_{k}^{T}(H_{k}P_{k|k-1}H_{k}^{T}+R_{k})^{-1}。卡尔曼增益K_{k}是一个权重矩阵,它平衡了预测值和观测值对状态估计的贡献。当观测噪声较小时,R_{k}较小,卡尔曼增益K_{k}会增大,说明观测值对状态估计的影响更大,更依赖观测值来更新状态;反之,当预测误差较小时,P_{k|k-1}较小,卡尔曼增益K_{k}会减小,预测值在状态更新中起主要作用。然后更新状态估计,公式为\hat{x}_{k|k}=\hat{x}_{k|k-1}+K_{k}(z_{k}-H_{k}\hat{x}_{k|k-1})。通过将预测状态\hat{x}_{k|k-1}与观测值和预测值之间的差值(即观测残差z_{k}-H_{k}\hat{x}_{k|k-1})乘以卡尔曼增益K_{k}相加,得到更新后的状态估计\hat{x}_{k|k},从而使状态估计更接近真实值。最后更新误差协方差,公式为P_{k|k}=(I-K_{k}H_{k})P_{k|k-1},其中I为单位矩阵。更新后的误差协方差P_{k|k}表示新的状态估计的不确定性,它考虑了观测值的影响,通过这种方式,卡尔曼滤波能够不断地根据新的观测数据调整状态估计和误差协方差,实现对系统状态的最优估计。3.2.3在SINS/GPS组合导航中的应用在SINS/GPS组合导航系统中,卡尔曼滤波算法起着核心的数据融合作用,通过巧妙地融合SINS和GPS数据,实现对载体状态的最优估计。SINS和GPS作为两种不同原理的导航系统,各自提供了关于载体状态的信息,但都存在一定的局限性。SINS通过惯性测量单元测量载体的加速度和角速度,能够实时推算载体的姿态、速度和位置信息,具有自主性强、短期精度高的优点。然而,由于惯性传感器的误差会随着时间不断积累,导致导航精度逐渐下降。例如,在长时间的飞行过程中,加速度计的零偏误差会使得速度和位置的计算出现偏差,且这种偏差会随时间的积分而不断增大。GPS则通过接收卫星信号来确定载体的位置和速度,具有高精度、全球覆盖等优点,且误差不会随时间积累。但其信号容易受到遮挡和干扰,在城市峡谷、山区等环境中,卫星信号可能会中断或受到多径效应的影响,导致定位精度下降甚至无法定位。卡尔曼滤波算法能够有效地融合SINS和GPS的数据,克服它们各自的缺点。在GPS信号正常时,将GPS的观测数据作为观测值z_{k},SINS推算的状态作为系统状态x_{k}的初始估计。通过卡尔曼滤波的预测步骤,利用SINS的运动模型(由状态转移矩阵F_{k}描述)预测下一时刻的载体状态;在更新步骤中,根据GPS的观测值对预测状态进行校正。由于GPS测量的位置和速度信息精度较高,通过卡尔曼增益的调节,将GPS观测值与SINS预测值进行融合,能够有效抑制SINS误差的积累,提高导航精度。例如,在车辆行驶过程中,当GPS信号稳定时,卡尔曼滤波可以利用GPS测量的准确位置信息,对SINS推算的位置进行修正,使组合导航系统输出的位置估计更准确。当GPS信号受阻或丢失时,SINS继续提供导航信息。此时,虽然没有GPS的观测值来更新状态,但卡尔曼滤波仍能根据之前的状态估计和SINS的测量数据进行预测,维持导航的连续性。由于SINS误差会逐渐增大,预测状态估计误差协方差P_{k|k-1}会相应增大,这表示状态估计的不确定性增加。一旦GPS信号恢复,卡尔曼滤波能够迅速利用新的GPS观测值对SINS的误差进行校正,重新实现准确的导航。例如,在飞行器穿越山区导致GPS信号中断的情况下,SINS能够在一段时间内维持导航,当飞行器飞出山区GPS信号恢复后,卡尔曼滤波可以快速将GPS观测值融入,对SINS积累的误差进行修正,确保飞行器的导航精度。通过卡尔曼滤波算法的有效融合,SINS/GPS组合导航系统能够在各种复杂环境下,充分发挥SINS和GPS的优势,实现对载体状态的连续、准确估计,为各类应用提供可靠的导航服务。3.3粒子滤波算法原理3.3.1基本思想粒子滤波算法是一种基于蒙特卡罗方法的非线性滤波技术,其基本思想是通过一组随机样本(粒子)来近似表示系统状态的概率分布,并利用这些粒子对系统状态进行估计。在SINS/GPS组合导航系统中,由于系统状态的变化以及测量过程中存在的噪声,系统状态的真实分布往往难以用简单的数学模型精确描述,粒子滤波算法能够有效地处理这种复杂情况。蒙特卡罗方法的核心是利用随机抽样来求解数学问题。在粒子滤波中,将系统状态空间看作一个概率分布空间,通过在这个空间中随机生成大量的粒子,每个粒子都代表了系统状态的一种可能取值,这些粒子的集合就近似表示了系统状态的概率分布。在对飞行器的姿态估计中,粒子可以表示飞行器可能的姿态角(俯仰角、滚转角、偏航角)组合,通过大量粒子的分布来反映姿态角的概率分布情况。在实际应用中,粒子的权重是一个关键因素。粒子的权重反映了该粒子所代表的系统状态与观测数据的匹配程度。在SINS/GPS组合导航中,观测数据通常来自GPS的测量值。根据GPS测量的位置和速度信息,计算每个粒子与这些观测数据的似然函数,似然函数值越大,说明该粒子所代表的系统状态与观测数据越接近,其权重也就越高。通过不断更新粒子的权重,并根据权重对粒子进行筛选和重采样,使得粒子集合能够更好地逼近系统状态的真实分布,从而实现对系统状态的准确估计。3.3.2算法步骤粒子滤波算法主要包括初始化、重要性采样、重采样等关键步骤,通过这些步骤的迭代执行,实现对系统状态的有效估计。初始化是粒子滤波算法的起始步骤。在这个阶段,根据先验分布在系统状态空间中随机生成一组初始粒子\{x_0^i\}_{i=1}^N,其中N为粒子的数量。在SINS/GPS组合导航中,若要估计载体的位置和速度,可根据之前对载体运动的大致了解,如在一定区域内运动、速度在某个范围内等先验信息,在相应的位置和速度空间中随机生成初始粒子。同时,为每个粒子分配初始权重w_0^i,通常在初始阶段,所有粒子的权重相等,即w_0^i=\frac{1}{N},这表示在没有任何观测数据之前,每个粒子所代表的系统状态被认为是等可能的。重要性采样是粒子滤波算法的核心步骤之一。在每个时间步,根据系统模型p(x_k|x_{k-1}),为每个粒子生成一组候选粒子\{x_k^{i*}\}。在SINS系统中,系统模型描述了载体状态随时间的变化关系,例如根据加速度计和陀螺仪测量的信息,可以预测下一时刻载体的位置和姿态变化,从而得到候选粒子的状态。然后,根据观测数据z_k和观测模型p(z_k|x_k),计算每个候选粒子的重要性权重w_k^i。观测模型描述了观测数据与系统状态之间的关系,在GPS测量中,通过计算候选粒子的预测位置与GPS实际测量位置之间的差异,利用似然函数p(z_k|x_k)来确定重要性权重。重要性权重越大,说明该候选粒子与观测数据越匹配。例如,如果某个候选粒子的预测位置与GPS测量位置非常接近,那么它的重要性权重就会较高。重采样步骤是为了避免粒子退化问题,即随着迭代的进行,大部分粒子的权重变得非常小,只有少数粒子对估计结果起作用。根据粒子的权重w_k^i,采用一定的重采样方法,如多项式重采样、残差重采样等,对粒子进行重新采样。在多项式重采样中,根据每个粒子的权重计算其被选中的概率,权重越大的粒子被选中的概率越高。通过重采样,舍弃权重较小的粒子,保留权重较大的粒子,并复制权重较大的粒子,生成新的粒子集合\{x_k^i\}_{i=1}^N。这样,新的粒子集合能够更好地代表系统状态的真实分布,提高了状态估计的准确性。在经过重采样后,新的粒子集合中权重较大的粒子数量增多,它们所代表的系统状态更接近真实状态,从而使得粒子滤波算法能够更准确地估计系统状态。3.3.3与卡尔曼滤波对比粒子滤波算法和卡尔曼滤波算法作为两种重要的滤波算法,在适用场景、计算复杂度、对非线性和非高斯系统的处理能力等方面存在明显的差异。在适用场景方面,卡尔曼滤波算法主要适用于线性系统,并且要求系统噪声和观测噪声服从高斯分布。在一些简单的运动模型中,如匀速直线运动的车辆导航,系统状态方程和观测方程可以近似为线性关系,噪声也近似高斯分布,卡尔曼滤波能够发挥其优势,准确地估计系统状态。然而,在实际的SINS/GPS组合导航中,系统往往呈现出非线性特性,例如飞行器在进行复杂机动飞行时,其运动模型是非线性的,且测量噪声也不一定服从高斯分布。此时,粒子滤波算法则更具优势,它不需要对系统进行线性化假设,能够处理任意分布的状态变量和观测变量,适用于高度非线性和非高斯噪声的系统,在复杂的导航场景中能够提供更准确的状态估计。计算复杂度是两者的另一个重要区别。卡尔曼滤波算法的计算复杂度相对较低,它主要通过矩阵运算来实现预测和更新步骤,只需要计算系统的协方差矩阵和卡尔曼增益。在处理线性系统时,卡尔曼滤波的计算效率较高,能够满足实时性要求。例如,在一些对计算资源要求不高的导航应用中,如普通车载导航系统,卡尔曼滤波可以快速地处理数据,实时输出导航信息。而粒子滤波算法的计算复杂度与粒子数目成正比,随着粒子数目的增加,计算量也会显著增加。在高维状态空间和大样本量的情况下,粒子滤波可能会面临计算困难,需要消耗大量的计算资源和时间。在对飞行器进行高精度的三维姿态和位置估计时,由于状态空间维度较高,需要大量的粒子来准确表示系统状态的概率分布,这会导致粒子滤波算法的计算量大幅增加,对计算设备的性能要求也更高。在对非线性和非高斯系统的处理能力上,卡尔曼滤波在处理非线性系统时,通常需要进行线性化处理,如扩展卡尔曼滤波(EKF)通过对非线性函数进行一阶泰勒展开来近似线性化。然而,这种线性化过程会引入误差,当系统非线性较强时,线性化误差可能会导致滤波精度下降甚至滤波发散。而粒子滤波算法不依赖于系统模型的线性假设,能够直接处理非线性和非高斯系统。它通过大量粒子的采样和权重更新来逼近系统状态的真实分布,能够更好地适应复杂的系统特性,在处理非线性和非高斯噪声方面具有明显的优势。在城市环境中,GPS信号受到建筑物遮挡和多径效应的影响,呈现出非高斯特性,粒子滤波算法能够利用SINS的惯性测量信息和GPS的间歇性观测数据,有效地处理这种复杂情况,实现连续、准确的导航定位。四、连续导航算法实现步骤4.1数据采集与预处理4.1.1SINS数据采集与处理SINS数据采集主要源于惯性测量单元(IMU),其内部的加速度计和陀螺仪是获取关键信息的核心部件。加速度计能够精确测量载体在三个正交方向上的加速度,以常见的MEMS加速度计为例,其利用微机电结构的电容变化来感应加速度,当载体加速时,微机电结构会产生位移,从而改变电容值,通过检测电容变化即可计算出加速度。陀螺仪则用于测量载体绕三个正交轴的角速度,激光陀螺仪依据Sagnac效应,通过检测两束相向传播激光的相位差来确定角速度。在实际应用中,如飞行器飞行时,IMU会实时采集飞行器在X、Y、Z方向的加速度和角速度数据,这些数据为后续的导航解算提供了原始依据。由于传感器本身特性以及外界环境干扰,采集到的数据往往存在噪声和零偏误差等问题,因此需要进行预处理。去噪处理是数据预处理的关键环节,常见的去噪方法有低通滤波、小波滤波等。低通滤波通过设置合适的截止频率,能够有效去除高频噪声,保留信号的低频成分,例如对于加速度计采集的信号,若高频噪声主要集中在100Hz以上,设置截止频率为50Hz的低通滤波器,可显著减少高频噪声干扰。小波滤波则利用小波变换将信号分解为不同频率的子带,通过对各子带系数的处理来去除噪声,其在处理非平稳信号时具有独特优势,能够更好地保留信号的细节特征。零偏校正也是不可或缺的步骤。加速度计和陀螺仪的零偏会导致测量数据出现偏差,影响导航精度。对于加速度计零偏校正,通常采用在载体静止状态下多次测量取平均值的方法,假设在静止状态下进行100次测量,将这些测量值的平均值作为零偏估计值,然后在后续测量中减去该零偏值,即可得到校正后的加速度数据。陀螺仪零偏校正则较为复杂,一般需要建立温度补偿模型,因为陀螺仪零偏会随温度变化而改变,通过实验获取不同温度下的零偏数据,建立零偏与温度的函数关系,在实际测量时,根据当前温度对陀螺仪测量值进行零偏校正,从而提高测量精度。4.1.2GPS数据采集与处理GPS数据采集依赖于GPS接收机接收卫星信号。GPS卫星不断向地面发射包含自身位置、时间等信息的信号,接收机通过天线捕获这些信号。以常见的车载GPS接收机为例,其天线接收来自多颗卫星的L1频段信号,该信号包含C/A码等信息,接收机通过对C/A码的解调和处理,能够获取卫星的伪距、载波相位等数据,进而计算出载体的位置、速度和时间信息。在数据采集过程中,由于信号传播环境复杂,如大气层延迟、多径效应等,以及接收机自身的测量误差,采集到的数据可能存在错误或格式不统一等问题,因此需要进行数据校验和格式转换等预处理操作。数据校验是确保数据准确性的重要手段,常用的校验方法有奇偶校验、CRC校验等。奇偶校验通过在数据中添加一位奇偶校验位,使数据中1的个数为奇数或偶数,在接收端通过检查奇偶性来判断数据是否正确,虽然该方法简单,但只能检测出一位错误。CRC校验则通过生成一个循环冗余校验码,将其附加在数据后面,接收端通过计算CRC码与接收到的CRC码进行比较,若两者一致,则数据正确,否则数据可能出现错误,CRC校验能够检测出多位错误,具有较高的可靠性。格式转换是为了使GPS数据符合后续处理的要求。不同型号的GPS接收机输出的数据格式可能不同,如NMEA-0183格式、RINEX格式等,需要将其转换为统一的标准格式。以将NMEA-0183格式转换为自定义的标准格式为例,首先需要解析NMEA-0183格式数据中的各个字段,如纬度、经度、速度等,然后按照自定义标准格式的要求重新组织这些数据,将其存储为便于后续处理的格式,如XML或JSON格式,以便于数据的读取和处理。4.1.3数据同步与对齐SINS和GPS由于测量原理和硬件特性的差异,数据采集频率和时间基准往往不同。SINS通常具有较高的采样频率,如100Hz甚至更高,能够快速响应载体的动态变化;而GPS的采样频率相对较低,一般为1Hz-5Hz,这是因为GPS信号的处理和定位解算过程较为复杂,限制了其采样速度。同时,SINS和GPS的时间基准也可能存在偏差,SINS的时间通常基于自身的时钟,而GPS的时间与卫星的原子钟同步,由于时钟的精度和稳定性差异,两者之间可能存在数毫秒甚至更大的时间差。为了确保数据融合的准确性,需要进行数据同步和对齐。常用的数据同步方法有时间戳法和插值法。时间戳法是在数据采集时,为每个数据点标记一个时间戳,记录数据采集的时刻。在数据融合时,根据时间戳将SINS和GPS数据进行匹配,找到同一时刻的SINS和GPS数据进行融合处理。例如,SINS数据点A的时间戳为t1,GPS数据点B的时间戳也为t1,则将A和B进行融合计算。插值法是当无法找到完全同一时刻的数据时,通过对相邻数据点进行插值运算,估算出同一时刻的数据。若SINS在t1时刻有数据,而GPS在t1时刻无数据,但在t0和t2时刻有数据(t0<t1<t2),则可以采用线性插值法,根据t0和t2时刻的GPS数据估算出t1时刻的GPS数据,公式为x_{t1}=x_{t0}+\frac{t1-t0}{t2-t0}(x_{t2}-x_{t0}),其中x_{t1}为估算的t1时刻GPS数据,x_{t0}和x_{t2}分别为t0和t2时刻的GPS数据,从而实现数据的同步和对齐,为后续的数据融合提供准确的数据基础。4.2算法设计与编程实现4.2.1基于Matlab的算法设计以Matlab为平台进行连续导航算法设计,对于实现SINS/GPS组合导航系统的高效运行至关重要。Matlab作为一款强大的数学计算和编程软件,具备丰富的工具箱和函数库,为算法设计提供了便捷的工具和高效的实现方式。在Matlab环境下,首先需要明确算法设计的整体框架。以卡尔曼滤波算法为例,其核心在于构建系统状态方程和观测方程,并通过预测和更新步骤实现对系统状态的最优估计。在变量定义方面,需要根据系统的实际需求和算法原理,准确地定义各种变量。定义状态向量x,它包含了载体的位置、速度和姿态等关键信息,在三维空间导航中,状态向量x可以表示为x=[x_position;y_position;z_position;x_velocity;y_velocity;z_velocity;roll;pitch;yaw],分别对应载体在X、Y、Z方向的位置、速度以及滚转角、俯仰角和偏航角。状态转移矩阵F则描述了系统状态随时间的变化关系,根据载体的运动模型进行定义。对于匀速直线运动的载体,状态转移矩阵F可以表示为:F=\begin{bmatrix}1&0&0&\Deltat&0&0&0&0&0\\0&1&0&0&\Deltat&0&0&0&0\\0&0&1&0&0&\Deltat&0&0&0\\0&0&0&1&0&0&0&0&0\\0&0&0&0&1&0&0&0&0\\0&0&0&0&0&1&0&0&0\\0&0&0&0&0&0&1&0&0\\0&0&0&0&0&0&0&1&0\\0&0&0&0&0&0&0&0&1\end{bmatrix}其中,\Deltat为时间间隔。观测矩阵H用于将系统状态映射到观测空间,根据观测变量进行定义。若观测变量仅包含GPS测量的位置信息,则观测矩阵H可以表示为:H=\begin{bmatrix}1&0&0&0&0&0&0&0&0\\0&1&0&0&0&0&0&0&0\\0&0&1&0&0&0&0&0&0\end{bmatrix}过程噪声协方差矩阵Q和观测噪声协方差矩阵R分别描述了系统过程噪声和观测噪声的特性,根据噪声的统计特性进行初始化。若过程噪声在各个方向上的强度相同,且假设为高斯白噪声,过程噪声协方差矩阵Q可以表示为:Q=\begin{bmatrix}q_{11}&0&0&0&0&0&0&0&0\\0&q_{22}&0&0&0&0&0&0&0\\0&0&q_{33}&0&0&0&0&0&0\\0&0&0&q_{44}&0&0&0&0&0\\0&0&0&0&q_{55}&0&0&0&0\\0&0&0&0&0&q_{66}&0&0&0\\0&0&0&0&0&0&q_{77}&0&0\\0&0&0&0&0&0&0&q_{88}&0\\0&0&0&0&0&0&0&0&q_{99}\end{bmatrix}其中,q_{ii}为对应状态变量的噪声强度。观测噪声协方差矩阵R也类似地根据GPS观测噪声的特性进行定义。在函数编写方面,根据卡尔曼滤波算法的流程,编写相应的函数实现预测和更新步骤。预测函数predict根据上一时刻的状态估计和系统模型,预测当前时刻的状态和状态估计误差协方差。在Matlab中,预测函数的代码实现可以如下:function[x_hat_k_k1,P_k_k1]=predict(x_hat_k1_k1,P_k1_k1,F,Q)%状态预测x_hat_k_k1=F*x_hat_k1_k1;%状态估计误差协方差预测P_k_k1=F*P_k1_k1*F'+Q;end%状态预测x_hat_k_k1=F*x_hat_k1_k1;%状态估计误差协方差预测P_k_k1=F*P_k1_k1*F'+Q;endx_hat_k_k1=F*x_hat_k1_k1;%状态估计误差协方差预测P_k_k1=F*P_k1_k1*F'+Q;end%状态估计误差协方差预测P_k_k1=F*P_k1_k1*F'+Q;endP_k_k1=F*P_k1_k1*F'+Q;endend其中,x_hat_k_k1为预测的当前时刻状态,P_k_k1为预测的当前时刻状态估计误差协方差,x_hat_k1_k1为上一时刻的状态估计,P_k1_k1为上一时刻的状态估计误差协方差,F为状态转移矩阵,Q为过程噪声协方差矩阵。更新函数update结合新的观测值对预测状态进行校正,计算卡尔曼增益并更新状态估计和误差协方差。Matlab中的更新函数实现如下:function[x_hat_k_k,P_k_k]=update(x_hat_k_k1,P_k_k1,H,R,z_k)%计算卡尔曼增益K_k=P_k_k1*H'*inv(H*P_k_k1*H'+R);%状态更新x_hat_k_k=x_hat_k_k1+K_k*(z_k-H*x_hat_k_k1);%误差协方差更新P_k_k=(eye(size(P_k_k1))-K_k*H)*P_k_k1;end%计算卡尔曼增益K_k=P_k_k1*H'*inv(H*P_k_k1*H'+R);%状态更新x_hat_k_k=x_hat_k_k1+K_k*(z_k-H*x_hat_k_k1);%误差协方差更新P_k_k=(eye(size(P_k_k1))-K_k*H)*P_k_k1;endK_k=P_k_k1*H'*inv(H*P_k_k1*H'+R);%状态更新x_hat_k_k=x_hat_k_k1+K_k*(z_k-H*x_hat_k_k1);%误差协方差更新P_k_k=(eye(size(P_k_k1))-K_k*H)*P_k_k1;end%状态更新x_hat_k_k=x_hat_k_k1+K_k*(z_k-H*x_hat_k_k1);%误差协方差更新P_k_k=(eye(size(P_k_k1))-K_k*H)*P_k_k1;endx_hat_k_k=x_hat_k_k1+K_k*(z_k-H*x_hat_k_k1);%误差协方差更新P_k_k=(eye(size(P_k_k1))-K_k*H)*P_k_k1;end%误差协方差更新P_k_k=(eye(size(P_k_k1))-K_k*H)*P_k_k1;endP_k_k=(eye(size(P_k_k1))-K_k*H)*P_k_k1;endend其中,x_hat_k_k为更新后的当前时刻状态估计,P_k_k为更新后的当前时刻状态估计误差协方差,H为观测矩阵,R为观测噪声协方差矩阵,z_k为当前时刻的观测值。通过以上变量定义和函数编写,在Matlab平台上构建了基于卡尔曼滤波的连续导航算法框架,为后续的算法实现和性能优化奠定了基础。在实际应用中,还可以根据具体需求对算法进行进一步的优化和扩展,如采用自适应卡尔曼滤波算法,根据系统的实时运行情况动态调整噪声协方差矩阵,以提高算法的适应性和精度。4.2.2关键代码实现以下展示实现连续导航算法(以卡尔曼滤波为例)的关键代码片段,并对代码进行详细注释和解释,以帮助理解算法的具体实现过程。首先是初始化部分,这是算法运行的起始步骤,用于设置初始状态、误差协方差以及其他关键参数。%初始化状态向量x,包含位置、速度和姿态信息x=[0;0;0;0;0;0;0;0;0];%初始位置、速度和姿态设为0%初始化状态估计误差协方差矩阵PP=eye(9);%9x9的单位矩阵,假设初始误差协方差为1%初始化过程噪声协方差矩阵QQ=diag([0.01,0.01,0.01,0.001,0.001,0.001,0.0001,0.0001,0.0001]);%初始化观测噪声协方差矩阵RR=diag([1,1,1]);%假设GPS位置观测噪声协方差为1%初始化状态转移矩阵F,假设时间间隔为1秒F=[1,0,0,1,0,0,0,0,0;0,1,0,0,1,0,0,0,0;0,0,1,0,0,1,0,0,0;0,0,0,1,0,0,0,0,0;0,0,0,0,1,0,0,0,0;0,0,0,0,0,1,0,0,0;0,0,0,0,0,0,1,0,0;0,0,0,0,0,0,0,1,0;0,0,0,0,0,0,0,0,1];%初始化观测矩阵H,假设只观测位置信息H=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论