您的当前位置:首页正文

基于Simulink与M语言的捷联惯导系统仿真方法研究

2020-07-03 来源:步旅网
第10卷第16期2010年6月 科学技术与工程 Vo1.10 No.16 June 2010 1671-1815(2OLO)16—4032—05 Science Technology and Engineering @2010 Sci.Tech.Engng. 基于Simulink与M语言的捷联惯导系统 仿真方法研究 胡 鑫韩崇伟 王玮 马捷 (西北机电工程研究所,咸阳712099) 摘要在研究捷联惯导系统的导航解算算法时,经常需要对算法进行仿真以测试算法的性能。比较研究了在Matlab中实 现捷联惯导系统仿真的两种方法:一种是采用M语言编写各功能函数,通过函数调用的方式实现捷联惯导系统的仿真;另一 种是采用Simulink模型与M语言结合的方式实现捷联惯导系统的仿真。分别用这两种方法进行了1 h的导航解算仿真,仿真 结果表明,这两种仿真方法均具有很高的仿真速度和仿真精度,都能满足工程应用的需要,与第一种方法相比第二种仿真方 法可以方便地设定仿真时间、惯性测量组件的采样频率,也可以在仿真中暂停或停止仿真,具有更好的可操作性。 关键词Simulink M语言 捷联惯导系统 仿真 中图法分类号TP391.9; 文献标志码A 在研究捷联惯导系统的导航解算算法时,经常需 解算并且控制导航时间的长短。在主程序中首先 设定仿真参数,如地球参数、惯性测量组件的采样 周期以及导航时间等,然后依次调用轨迹产生程序 和导航解算程序进行导航解算。本文中设定惯性 测量组件的采样周期为0.01 S,导航时间为1 h。导 航主程序的流程图如图1所示。 要对算法进行仿真以验证算法的正确性。现提出在 Matlab环境下实现捷联惯导系统仿真的两种方法:一 种是采用M语言编写各功能函数,通过函数调用的 方式实现捷联惯导系统的仿真(简称方法1);另一种 是采用Simulink模型与M语言结合的方式实现捷联 惯导系统的仿真(简称方法2),并且研究了这两种方 法在仿真结果的精度和仿真速度方面的异同点,对捷 联质导系统的研究具有一定的参考价值。 塑 ! 设定仿真参数 1采用M语言的捷联惯导系统仿真方法 采用M语言的捷联惯导系统仿真方法,就是在 Matlab环境下用M语言编写捷联惯导系统的导航 二二]二 设定初始姿态、速 度和位置 调用轨迹产生程序 调用导航解算程序 存储导航结果 否 主程序和子程序,通过主程序调用子程序的方式实 现对捷联惯导系统的仿真。由于研究的重点是在 Matlab环境下实现捷联惯导系统仿真的两种方法以 及它们之间的异同点,而不是捷联惯导系统的算 法,所以在主程序中直接设定初始姿态角然后进行 导航解算,可省略初始对准的过程。 1.1导航主程序设计 < 墼 二=: +是 绘制导航过程曲线 结束 导航主程序的功能就是调用子程序进行导航 2010年3月9日收到 1导航主程序流程图 16期 胡鑫,等:基于Simulink与M语言的捷联惯导系统仿真方法4033 1.2子程序设计 1.2.1轨迹产生程序 航解算程序的流程图如图3所示。 轨迹产生程序的作用就是根据设定的姿态、方 位、位置变化规律产生陀螺仪和加速度计的输出数 据。轨迹产生程序的流程图如图2所示。具体的轨 姿态更新 迹生成算法参见文献[1]。 橄据拔体的姿态变化规律计算 我体当前的姿态伯和方位霸 悯 、 、 、 - 楸撅拔体的他 变化规件计锋 载体当漪灼经度、纬艘和 嫂 , 汁筇地球血角 怀系,。p载体位 霞的坐标值.并求赢角坐标的 阶导数和 阶导数 ◆ 利jH地球麻角 标系tlI钱体位 标的阶导数和c n计t算 利用 、蝶、 、 产 i陀螺仪的输f=lt= ;b 利删c 、O)i”e、 、c 以及藏体 鬣 坐标的 阶导数, 生加速艘计的输Ll 图2轨迹产生程序的流程图 设定在导航时间内,载体姿态、方位、位置的变 化规律为: 载体姿态变化:俯仰角 =5 ̄cos(,rrt/5);横滚角 y=5 ̄cos(eft/5)。载体方位变化:方位角lf,= 5 ̄COS( ̄rt/5)。载体位置变化:纬度 =31。+ 3 ̄cos(zrt/20ooo);经度A=103。十5。COS( /25 ooo); 高度h=390+10cos( ̄rt/5 ooo)。 1.2.2导航解算程序 导航解算程序主要进行姿态更新、速度更新、 位置更新以及地球参数更新。本文中设定姿态、速 度、位置以及地球参数的更新周期均为0.02 S。导 速度更新  I位置更新 【地球参数更新 ( 结束 ) 图3导航解算的程序流程图 姿态更新算法采用优化二子样旋转矢量算法。 令t 时刻的姿态四元数为Q(t ),t 时刻的姿态 四元数为Q( ),【t ,t川】时间段内的姿态变化四 元数为g( ),则有l2j Q(t )=Q(tk) 霉( ) 其中:Q(tk)与垡( )之间的乘法为四元数乘法; 口( )=c。s詈+ sin芋, 为载体坐标系从 时 刻至t 时刻的等效旋转矢量, =I J,根据优 化二子样旋转矢量算法有: :AO,+△ + 。△ 。起始时刻的姿态四元数Q(0)根据初 始姿态角与四元数之间的转换关系获得l3],求得 Q(t…)后根据姿态角和姿态四元数之间的关系可 以求出t 时刻的姿态角,从而完成姿态更新。 速度更新算法利用简化算法 ]: =l, +(c +[0 0 一 】 )t 。 其中:,, 为t 时刻载体速度在导航系中的投影; l, 一。为t 一。时刻载体速度在导航系中的投影; 为 姿态矩阵c:的转置矩阵; 为加速度计输出的比 力;t 为速度更新周期。 位置更新计算利用位置更新迭代计算式实现。 位置更新迭代式为 ]: = + i!关 。 科学技术与工程 10卷 z, (m一1)+ (m) 2(n』v( 一I)+h 一1) h =h +S -( m_1)+ ))t 。 其中: ,A ,h 分别为t 时刻的纬度、经度和高 度;L ,A ,h 分别为t 时刻的纬度、经度和 高度; ( ), Ⅳn( )分别为t 时刻和t 时刻的北向 速度; ( ), ㈤分别为t 时刻和t 时刻的东向 速度; nu( ), ( )分别为t 时刻和t 时刻的天向 速度;尺 ( ,R ( 分别为t 时刻的子午圈曲 率半径和卯酉圈曲率半径;t 为位置更新周期。 在位置更新之后,某些地球参数也随之发生了 变化,因此需要对地球参数进行更新,需要更新的 地球参数包括:载体所在地的子午圈曲率半径R 和卯酉圈曲率半径R 、当地重力加速度g等。具体 的更新计算公式为 Rflf R (I一2e+3esin L); R,v R (1+esin L); g=g0(1+0.005 270 , A 9sin L+ ’0.000 023 v , 271 8sio .- m n4 )一0.13130 003 086 h。 2 SimuUnk模型与M语言结合的捷联惯导 系统仿真方法 利用Simulink模型与M语言结合实现捷联惯 导系统的仿真时,首先利用Si一一mul一ink工具箱中的工 一一一一÷一具搭建捷联惯导系统的仿真模型框图,然后用M语 言编写相关的函数供模型中的Matlab函数调用_5]。 现设计的捷联惯导系统的模型框图如图4所示。 在图4中Digital Clock模块以0.01 S为采样周 期输出时间,data~generator模块根据Digital Clock 模块输出的时间产生陀螺仪和加速度计的输出数 据,数据生成算法与1.2.1节中的轨迹生成算法相 同。SINS—compute模块根据陀螺和加速度计的输 出数据进行导航解算并将解算出的姿态、速度和位 置数据送入Matlab工作空间的相关变量中存储,以 便最后输出导航过程曲线,导航解算程序与1.2.2 节中的导航解算程序完全相同。SINS—compute模 块中程序的流程图如图5所示。 V p—s V S position velocity 图4捷联惯导系统的仿真模型框图 接收导航时间以及陀螺仪 和加速度计的输出数据 l调用导航解算程序l J输出导航结果至工作空间 a ◆ ( 结束 ) 图5 SINS—compute模块中程序的流程图 3仿真分析 在Matlab中分别采用方法1和方法2对捷联 惯导系统的导航解算算法进行了1 h的仿真,得到 仿真结果如图6和图7所示,仿真所用时间如表1 所示。 表1 两种方法所用的仿真时间表 仿真方法 所用仿真时间/s 方法1 7l 方法2 83  一。 0 0 l6期 胡鑫,等:基于Simulink与M语言的捷联惯导系统仿真方法 4035  :鞔{ # l oo0 2 00o 3 Oo0 3 000 I 脯 瓤 荆 弩 端 _ 辩 ^。 1 000 2 000 3’000 3 Ooo 0.2 0 …~……, 卜s.吕 田 .g . 。0。20 l o00 2 000 3 000 ‘o g・3 0000 l O0o 2 0oo 3 ooo t/s t/s (a)姿态和方位误差 (b)速度误差估计曲线 l。^Z l。 ^ 咖 l 00O 2 Ooo 3 000 0.5 -0.0 0 1 000 2 000 ~ 3 000 。 : 1。。。 2 000 3 000 t/s (c)位置误差估计曲线 一。 。一/^ 一_s.吕 图66 0 方法1的仿真结果 0 1.0.1圳 ・- 3 000 o ~ * ∞~一 “ … ‘。-0.10 l oo0 2ooo 3 oo0 3 000 1 000 :,0…………~……一一…一 S一。・ o 1 000 2 000 3 o00 7.1 Ooo - 一t6目一3 ooo0 l 000 2 00 3 oo t/s (b)速度误差估计曲线 2 000 3 000 § 0 2 ooO 3 000 17 | .I I| || .(c)位置误差估计曲线 图7方法2的仿真结果 根据图6和图7得到方法1与方法2之间的导 航解算误差如图8所示。 从图8可以看出,两种仿真方法的姿态解算误 差小于2×10 度,速度解算误差小于1 x 10~m/s, 纬度解算误差小于5×10 度,经度解算误差小于 l 0o0 2Ooo 3 000 ~ 《琏l穗鞣 1 000 0 2 000 ∞ 3 Oo0 卜s.g -s.日 O l 000 2 000 3 0O0 一∞ Dt /s 一∞ 0 (a)姿态解算误差 2 2 —O ,0. ∞ ∞ : s O OOl 000 2 000 3 000 l 000 2 000 3 000 0 _s.舀R_0_【 一。 _【\79一 _0ltCo)速度解算误差  /s  ●.n-U,l 0 O 6 O 0 l 2 ooO I 3 000 咖 2 0oo 3 000 1 6 + 。 0 1 000 2 ooo 3 o0o t}s (c)位置解算误差 图8方法1与方法2解算的差别 1×10 度,高度解算误差小于1×10~m,都能满足 工程应用的需要,但是方法2可以方便地设定仿真 时间、惯性测量组件的采样频率,也可以在仿真中 暂停或停止仿真,具有更好的可操作性。 4结论 提出了在Matlab中实现捷联惯导系统仿真的 两种方法,分别采用这两种方法对捷联惯导系统的 导航解算进行了1 h的仿真,仿真结果表明,采用 Simulink模型与M语言结合的仿真方法与完全采用 M语言的仿真方法在仿真速度和仿真结果的精度 方面的性能相当,但是前者可以方便的设定仿真时 .—Ul4036 科学技术与工程 10卷 间、惯性测量组件的采样频率,也可以在仿真中暂 停或停止仿真,具有更好的可操作性。 参1赵鸿,赵ics,1998;21(1):19--28 秦永元.惯性导航.北京:科学出版社.2006 4 Savage P G.Strapdown ine ̄il naviagation integration lgoraithm design 考文献 part 2:velocity and position algorithms.Journal of Guidance,Control and Dynamics,1998;21(2):208--229 忠,龙国庆.捷联惯性导航系统飞行轨迹数据生成 齐鑫,秦永元,朱新颖,等.基于MATLAB/Simulink的捷联惯性 与惯性器件建模.系统仿真学报,2005;17(5):1026--1028 2 Savage P G.Strapdown ineaial navigation integration algorithm design part 1:attitude algorithms.Journal of Guidance,Control and Dynam- 导航系统仿真.计算机测量与控制,2008;16(8):116l一1163 Research on Simulation Method of SINS Based on Simulink and n Language HU Xin,HAN Chong—wet,WANG Wet,MA Jie (Northwest Institute of Electircal and Mechanical Engineering,Xianyang 712099,P.R.China) l Abstract] It is necessary to test the performance of the navigation algorithm through simulation when Ie.seaIcl. hing SINS.The two methods with which SINS simulation is implemented using Matlab software have been studied.. The first method implement SINS simulation through function callingand the function is programed with M 1an— guage.The second method uSe Simulink model with M language as the way to achieve the simulation 0f SINS1 h .navigation simulation has been implemented with the two methods respectivelyThe simulation results show that the .two simulation methods are of high simulation speed and simulation accuracyand could meet the needs of engi— ,neering applications.But compared with the first method,fhe second one could be easily to set up the simulation time and the sampling frequency of inertial measurement unit.And you could also pause or stop the simulati0n when simulating.So the second method is of a better operability. [Key words] simulink M language SINS simulation 

因篇幅问题不能全部显示,请点此查看更多更全内容