梁 娜,丁 丹
(航天工程大学电子与光学工程系,北京101416)
每一种导航系统均存在优势和弊端,很难使得每项性能指标都符合预期要求,然而若综合各个独立系统的优缺点进行优劣互补,并将现代信息融合方法加以改进和应用,则会组合成为更高精度、更高可靠性的组合导航系统。本文研究的SINS/GPS组合导航系统正是在此背景下提出的,其中捷联惯性导航系统(SINS)的高自主性能够弥补全球定位系统(Global Positioning System,GPS)无法工作时的导航任务[1],从而实现连续导航,而 GPS的高精度性可以有效修正SINS输出数据,从而避免误差积累问题。目前,航天3所、航天12所、航天13所、航空618所、北京航空航天大学、南京航空航天大学、哈尔滨工业大学和西北工业大学等多家科研院所、高等院校均开展了SINS/GPS组合导航理论算法研究和实体系统样机研制等工作,相关学者就组合导航的硬件设计、误差估计技术、系统建模、数据融合算法等多方面内容做了大量深入的研究,通过分析,惯性传感器精度和误差补偿技术会直接影响组合导航系统的定位精度。本文的创新之处在于:使用MEMS(Micro-Electro-Mechanical System,微电子机械系统)惯性元器件设计SINS子系统,使用高度计修正GPS高度数据,使用FFPGA完成惯性元器件和高度计采集数据的降噪预处理,使用DSP对接收到的FPGA数据做野点剔除、温度补偿处理,然后依次完成SINS解算、GPS报文解析和Kalman滤波解算。
测量载体线运动和角运动参数后解算得到速度、位置以及姿态的一种导航方法。主要元器件是陀螺仪和加速度计,两类传感器均与载体固连,输入轴严格正交并与机体坐标系严格一致。给定初始化位置、速度和姿态角后便能循环迭代进行导航解算:姿态信息解算方法包括欧拉角法、方向余弦法和四元数法[2];速度信息由求解比力方程获得;速度积分后得到位置信息。
发射台放在卫星上的一种无线电导航方法。发射信号可以概括为“我是哪颗卫星,我现在的位置在哪,我发出信号时的准确时刻是什么”[3],根据电磁波速度乘以接收信号和发射信号的时间差,就得到接收机到卫星的距离。考虑到接收机石英钟相对卫星原子钟的误差,所以计算得到的距离并不是真实距离,是包含有光速乘以接收机钟差的伪距。伪距定位方程如下
其中(x,y,z)为待确定的用户位置,(xi,yi,zi)为星历确定的卫星的位置,i=1,2,3,4,c为光速,ti为已知的卫星时钟,t0为待确定的用户时钟,ρi为伪距。
4.1.1 重调法
重调法有两种工作方式:一是在GPS工作期间信任GPS的输出信息,即用GPS的输出数据作为SINS此刻的输出,而在GPS不能正常工作时,SINS的输出是在上一时刻GPS数据的基础上进行的,这是一种最简单的组合方式,在低动态运动情形下SINS的输出实际上是由GPS确定的;二是对SINS和GPS解算的数据做加权平均,根据惯导器件的精度和解算算法的精度分别给GPS和SINS数据赋以适当的加权系数[4],如图1所示。这两种方式均未对SINS的误差展开及时的修正工作,因此随着SINS惯导误差的积累,系统工作效果不佳。
图1 加权平均
4.1.2 松组合
组合导航系统的融合技术主要采用的是卡尔曼滤波技术,其原理框图如图2所示。松组合模式的状态值为SINS导航参数的误差量,量测值为GPS和SINS输出的速度、位置数据对应的差值[5],通过组合导航滤波器估计得到SINS的姿态误差、速度误差、位置误差及惯性元器件误差,用这些误差对SINS展开校正,最后输出的是误差被修正后的SINS导航参数。松组合模式的最大优势是在能保证一定的精度时工程性较强[6]。
4.1.3 紧组合
紧组合模式是一种稍微复杂的组合方式,相较松组合中的GPS与SINS是彼此独立的,紧组合中两者均不能进行单独的解算工作,常采用伪距、伪距率的组合形式,其原理框图如图3所示。状态值除了SINS导航参数的误差量外,还有GPS接收机时钟误差,量测值为GPS和SINS输出的伪距、伪距率数据对应的差值[7],其中SINS的伪距和伪距率由GPS给出的星历数据结合SINS的位置速度数据计算得到,通过组合导航滤波器估计得到SINS的导航参数误差、惯性元器件误差和GPS接收机钟差,最后输出的是误差被修正后的SINS导航参数。紧组合模式优势是利用卫星的数目可以少于四颗,抗干扰能力强,缺点是计算量随着卡尔曼滤波状态量维数的增加而迅速增加[8]。
图3 伪距、伪距率组合
4.2.1 系统硬件设计
本文研制的GPS/SINS组合导航系统硬件方案如图4所示。主要包括的子模块有:集成电源模块、9自由度MEMS惯性传感器模块、FPGA模块、DSP模块、高度计模块、GPS模块、与上位机通信模块等[9]。9自由度MEMS惯性传感器模块包括三轴加速度计、三轴陀螺仪、三轴磁阻传感器,其中FPGA模块通过SPI总线接收加速度计和陀螺仪的数据[10],通过I2C总线接收磁阻传感器的数据;另外FPGA通过I2C总线采集高度计信息;FPGA将所有传感器数据存入移位寄存器,通过SPI方式传给DSP。GPS通过串口把GPS定位数据发送给DSP,所有传感器信息汇集在DSP中后完成姿态解算、数据融合等算法。DSP可以选择RJ45网口或者RS232串口的方式将导航数据传给上位机。
图4 系统硬件方案
SINS-GNSS组合导航系统硬件实物如图5所示,系统分为两层,主要包括底板、DSP核心板、FPGA系统板和传感器系统板四部分,底板包括电源电路、网口通信电路、串口通信电路、GPS导航模块;DSP核心板包含DSP处理器、外部RAM和FLASH等[11];FPGA系统板包括FPGA处理器、FPGA程序下载电路;传感器系统板主要是9自由度MEMS惯性传感器MPU9250电路、高度计电路、9自由度MEMS惯性传感器ADIS16405预留接口电路。FFPGA完成对传感器信号采集、均值降噪预处理;DSP完成与上位机的网口和串口通信、陀螺信号降噪、陀螺零位温漂补偿、磁阻电子罗盘测量及最佳椭圆误差校正、惯导数据解算以及惯导数据和GPS导航数据的Kalman滤波融合等。
图5 原型样机装配后实物图
在设计系统底板时,考虑到各模块要单独调试,增加了GPS连接跳线和串口连接跳线,可以使GPS信号直接传到上位机,对GPS信号接收和解读调试[12]。底板供电设计了两个供电接口,可以用5V的DC电源供电,也可以通过USB接口供电,并且增加了两个电源插针,可以通过杜邦线为其它设备提供5V电源。DSP和上位机通信方式,主要以网口RJ45通信为主,并以串口RS232作为备用通信方式,均完成了通信调试。提供多种DSP与FPGA通信方式,主要以SPI方式为主,并留有双端口RAM接口[13]。具体的底板接口功能如图6所示。
图6 系统底板实物图
FPGA最小系统板的供电方式与底板相同,即5V的DC直插电源和USB接口供电任选其一。FPGA主要通过SPI接口与DSP通信,但留有双端口RAM接口,如需采用双端口RAM方式与DSP通信,只需在FPGA中编程实现即可[14]。具体功能如图7所示。
图7 FPGA最小系统模块电路板实物图
本文设计的组合导航系统传感器模块兼容9自由度MEMS惯性传感器MPU9250和ADIS16405两种传感器,MPU9250价格便宜,接口简单易操作,本文设计的组合导航系统样机在算法验证阶段采用该传感器。ADIS16405精度较高,但价格昂贵,在原理样机所有功能实现且工作稳定后,可以直接换成该传感器,只要更改相应的数据接收程序即可,可再次提高系统的精度。高度计增加了线路选择跳线[15],方便数据传输调试。如图8所示,传感器与FPGA通信接口1传输的为MPU9250和高度计数据,传感器与FPGA通信接口2传输的为ADIS16405和高度计数据。
图8 传感器模块电路板实物图
4.2.2 系统软件设计
FPGA软件设计的主要任务是实现SPI总线和I2C总线功能,其中SPI总线接收加速度计、陀螺仪数据,而I2C总线接收磁阻传感器、高度计数据;DSP作为系统的核心单元,其软件流程为:首先需要编写系统初始化指令,然后利用SPI接收FPGA传来的数据,其中FPGA作为从控制器听从于DSP的时钟指令,接着对接收到的数据做进一步的野点剔除、温度补偿处理[16],进而进行SINS初始对准解算、SINS姿态解算、GPS报文解析、Kalman滤波解算,最后完成对W5100的配置、与上位机的网口进行通信。整体方案流程如图9所示,其中Kalman滤波解算在GPS与SINS的松组合模式下进行。
图9 系统软件流程图
组合导航系统性能指标见表1。
表1 系统整体性能参数图
本文研究的SINS/GPS组合导航系统是在欧美等西方国家限制向我国出售高精度SINS和我国北斗卫星导航系统较快发展的背景下提出的,一方面弥补SINS技术中的不足,另一方面为以后北斗与SINS的结合奠定基础。本文研制的小型SINS/GPS组合导航系统,实现了10米定位精度、80Hz带宽、2°姿态角精度。