数学建模 飞行器空间坐标修正.docx
- 文档编号:26982724
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:21
- 大小:236KB
数学建模 飞行器空间坐标修正.docx
《数学建模 飞行器空间坐标修正.docx》由会员分享,可在线阅读,更多相关《数学建模 飞行器空间坐标修正.docx(21页珍藏版)》请在冰豆网上搜索。
数学建模飞行器空间坐标修正
六校数学建模联赛
题目:
飞行器空间的坐标修正
【摘 要】
随着我国在航天事业上的不断发展,飞行器的惯性导航系统的运用起着越来越重要的作用。
但由于惯性导航系统仪器的精度因素影响,会对飞行器的空间坐标确定产生影响,且随着时间的积累这种影
响产生的误差会逐渐增大,严重影响导航系统的精度,因此,对器的误差修正非常必要。
本文在分析了各物理量的关系的基础上,经过严密地推导,得出各个轴方向上的位移与其对应速度的修正之后的函数关系,据此建立了相关的数学模型并通过评价说明了模型的合理性和科学性
对于问题一:
我们采用数据分析中的卡尔曼滤波法、迭代处理和线性拟合对误差经行剔除。
对于问题二:
我们用问题一修正过后的数据去修正飞行器飞行速度所得的坐标,避免了惯性导航系统中误差随着时间的推移而增大的效应。
对于问题三:
对于大型客机,飞行速度稳定高度基本不变,适合前面的处理方式。
关键词:
卡耳曼滤波法迭代法线性拟合相互支持度加权融合
一、问题重述
1.1问题背景
飞行器的导航精度问题一直是航空航天领域研究的重要课题,惯性导航系统是一种不依赖于任何外部信息的自主式导航系统,在航空航天领域起着越来越重要的作用。
由于其系统结构误差、惯性测量部件误差、标度系数误差等因素的影响,惯性导航系统的积累误差随着时间的推移而逐渐增大,这一问题严重影响到航空航天技术的发展。
目前关于定位精度的研究成果主要是从物理技术(例如红外测距)方面来提高定位的精度,近年来,围绕定位坐标精度问题的相关研究也渐渐展开。
因此进一步研究飞行器空间坐标修正方法有重要的理论意义和应用价值。
本题的目标是利用数学的方法对飞行器的误差进行修正,并利用结果进行飞行器的仿真。
1.2问题提出
某一观测站测得飞行器空间位置(假设观测站为坐标原点)X(x、y、z),飞行器的飞行速度V(x轴、y轴、z轴),飞行器与观测站之间的偏向角,俯仰角以及观测数据的时间间隔t。
所给的各项数据均含有一定的误差,其中观测站的坐标 (0,0,0)不含误差,飞行器的坐标(观测值)可能含有较大误差。
请根据所给数据进行如下工作:
问题一:
飞行器坐标的数据为观测值,由于电子仪器的精度和噪声干扰等,含有一定的误差波动,建立数学模型对飞行器坐标观测值的随机波动误差进行修正。
问题二:
由于观测数据的仪器误差,飞行器坐标在长时间的飞行中,坐标数据的观测值由于误差的累积发生漂移,建立数学模型,对飞行器的坐标的这种误差进行修正。
(提示:
在短时间内,可以视为飞行器坐标含有一定的常量误差,或者飞行器的这种误差是线性变化的)。
问题三:
结合具体的飞行器给出误差修正方案。
二、模型假设
假设一:
.观测站的坐标与机体的的坐标系不存在有相对运动不考虑地球的曲率半径的影响,不考虑地球公转自转。
假设二:
速度的测量值比坐标的测量值精确度更高,对极其符合线性关系的数据,认为线性拟合之后误差已经修正的很好了。
假设三:
假设噪声的干扰造成的误差可以通过卡尔曼滤波器[1]或者迭代法消除。
假设四:
在使用速度拟合位移曲线的时候假设中间时间间隔做匀速运动。
三、符号说明与解释
X1,Y1,H1 由观测站所得的飞行器空间位置坐标
X2,Y2,H2由速度计算所得的坐标
vx,vy,vh 行器沿各个轴方向上的速度
t 观测数据的时间间隔
alpha 飞行器与观测站之间的偏向角 .
theta 飞行器与观测站之间的俯仰角
h2h3h4迭代一次迭代二次迭代三次后h坐标
i,j,k 机体采用的坐标系的三个基向量
I’,j’,k’ 观测站采用的坐标系的三个基向量
4、问题分析
问题一:
惯性导航系统是自主式导航系统,飞行器的飞行速度VxVyVz及飞行器与观测站之间的仰角(theta)偏向角(alpha)可以由系统提供。
为此,我们假设他符合迭代和卡尔曼滤波两种模型。
电子仪器精确度和噪音干扰:
H1-t原始数据图象
我们发现在H坐标上,数据存在很大波动,可以肯定噪声干扰较大。
所以要对H坐标数据滤去噪声带来的数值。
X1-t原始数据图象
Y1-t函数图象
根据上图知道,飞行器坐标的观测值的随机波动误差的来源主要是h方向的误差,xy方向如图是线性关系,对飞行的空间坐标影响不大,可以不用分析。
根据图知道,h方向的波动函数随时间的增大图象上下波动,影响较大,需要修正。
对问题二的分析:
短时间内,飞行器含有一定的常量误差,若飞行器k+1的时刻位置为X2(k+1),k时刻的位置为X2(k),k时刻的速度为V(k),则有:
X2(k+1)=V(k)t+X2(k)+C(k)(C(k)为常量误差)
有上式知:
X2(k+1)=V(k)t+C(k)
由上面知,因常量误差的积累会使误差很大,即会使坐标数据发生漂移,所以不能用这种方法计算。
因此我们用问题一修正后的数据对飞行器速度所得的坐标经行修正,即:
X2'(k+1)=V(k)t+X1'(k)(X1'(k)为问题一修正后的坐标位置),
这样就避免了因常量误差的积累而使误差很大影响数据的情况。
然后在对X1'(k+1)和X2'(k+1)两个数据进行融合,融合后的数据可以根据
X=('^2)X(k+1)/('^2+"^2)+('^2)X'(k+1)/('^2+"
('和"为X(k+1)和X'(k+1)的方差)
得出来的数据就很好的对误差进行了修正。
此处定义一个距离相互支持度[2]:
K1=[10-(X2'-X1')]/10(对于距离坐标K表示在10m的精度内,两数据相似程度,)
K2=[π-(θ1-θ2)]/π(对于角度坐标在π的精度内,两角度数据相似程度)。
可以由相互支持度判断修正后数据有效性,一定程度上也决定加权数据融合的权因子。
五、模型的建立与求解
5.1针对问题一:
5.1.1模型一、采用迭代原理。
上面已经说到导航系统观测到的xy方向位置对飞行器的空间实际位置的影响不大,不需要修正,现在对h方向经行修正,对数据迭代三次后所得的图象为:
迭代后的数值见附录二。
5.1.2模型二、用卡尔曼模型,处理后的图为
图二为卡尔曼滤波后的效应放大图。
由上面可以知道,采用迭代处理后的数据得到了很好的误差修正,根据迭代三次的数据图象来看,每一次的迭代都对数据经行了一次修正,使数据趋于更加的稳定,因此,迭代原理很好的的解决了原始数据误差较大的情况,对误差进行了很好的修正。
另外,卡尔曼滤波修正,由图象可以知道,对数据也经行了修正,只是,因为数据的少,没有很好显示在图片上,因此在这种情况下,我们一般采用迭代处理。
5.2针对问题二:
5.2.1问题一修正后的数据图象:
H1-t修正图
X1-t修正图函数关系为x=-65t+1360.2
5
Y1—t修正图,其函数关系为y=-70t+1309.5
5.2.2、由飞行器速度所计算的所得的坐标修正图:
Y2-t速度坐标修正后数值图象
X2-t速度坐标修正后的数值图象
紫色图线为修正值,红色部分为x2'与x1'的差值。
H2-t速度坐标修正图
三个坐标方向数据融合后的图象:
由上图可以知道,xyh方向通过导航系统直接得到的数据经过线性拟合后的修正图象和由飞行器的速度计算所得的函数图象十分相识,误差很小。
说明X'(k+1)=V(k)t+X'(k)此函数关系成立,对常量误差的积累起到很好的修正。
由融合后的数据图象显示知,呈现出很好的线性关系,说明融合后的数据对误差其到很好的修正。
5.3针对问题三
我们通过仿真数据结合问题一和问题二的方法对数据进行修正。
X1坐标与x2速度坐标修正图:
Y1坐标与y2速度坐标修正图
H1坐标与h2速度坐标修正图
由上面三个图象可以知,仿真数据的坐标修正和速度坐标修正的图象基本一致,说明误差很小,即误差被修正的很好。
因为两个数据的相互支持度很高,所以数据的融合可以算他们的平均值,融合后的数据图像为:
X数据融合图:
Y数据融合后的图象
h数据融合后的图形
由仿真数据融合后的图形可知,通过导航系统直接给出的空间位置数据与飞行器速度积分演算出来的空间位置数据项融合后,可以很好的对误差进行修正,这一方案在融合图象上很好验证了可行性,且误差修正的精确度高!
六、模型评价
对于问题一的修正,我们假设了两种模型,分别采用了均值迭代法和卡尔曼滤波法来处理电子仪器的精度和噪声干扰,由数据函数图象知,迭代后的数值随时间的增加波动明显减小,而且迭代的次数越多,波动越小,即修正的效果越好,在很大的程度上消除了噪声的干扰。
另外,为了更进一步的对误差修正,我们还应用了卡尔曼滤波法,由图显示,卡尔曼滤波虽然也显示出误差修正的效果,但应为数据的少,在很短的时间内对误差修正,由卡尔曼放大图上可知,这一波动修正也有一定的效应。
对于问题二,我们通过上面修正后的数据与通过速度坐标修正后的数据进行融合,应为两个的数据的相互支持度很高,所以融合是采用取两数据的平均值,观测图知,这种融合很巧妙的将飞行器的空间坐标误差进行修正,而且效果非常的好,很好的避开了因常量误差的积累导致飞行器坐标数据发生漂移的现象。
对于问题三,因前面我们通过数据融合后的数据有很好的修正误差的效果,所以对于具体的飞行器,我们依然采用的是数据融合来修正误差!
数据融合及卡耳曼可以很好的对电子仪器中的噪声干扰进行修正,但对于电子仪器的精度干扰不能很好的修正
七模型改进。
本个模型对误差的修正并没有达到真正最优的效果,因为数据的组数较少,加之我们对一些程序设计没有很好的掌握,未能在卡尔曼滤波器及均值迭代法消除噪声的数值中做太多分析,所以卡尔曼的最优滤波迭代处理的效果未能很好展现出来,如果能在问题一采用的卡尔曼滤波和均值迭代处理中通过程序设计消除噪声影响,加上后面的数据融合进行修正效果会更好些。
参考文献
1.胡旅满,刘先省。
一种实用的数据融合算法2004.12[2]
2.赵希人.卡尔曼滤波器在船用惯性导航系统中的应用.1985.7[1]
3.高等数学.江西出版社.2011.8
附录一
均值迭代处理的matlab代码:
function [ h2] = nihe( h )
%UNTITLED4 Summary of this function goes here % Detailed explanation goes here
N=41;
temp=(h-mean(h))./abs(h-mean(h));
aver=(sum(abs(h-mean(h))))/N;
h2=h-temp.*aver;
End
卡尔曼滤波matlab代码:
clear
clc;
N=101;%采样点的个数
CON=[602.737800000000610.741200000000618.744600000000626.748000000000634.751400000000642.754800000000650.758200000000658.761600000000666.765000000000674.768400000000682.771800000000690.775200000000698.778600000000706.782000000000714.785400000000722.788800000000730.792200000000738.795600000000746.799000000000754.802400000000762.805800000000770.809200000000778.812600000000786.816000000000794.819400000000802.822800000000810.826200000000818.829600000000826.833000000000834.836400000000842.839800000000850.843200000000858.846600000000866.850000000000.853*********882.856800000000890.860200000000898.863600000000906.867000000000914.870400000000922.873800000000930.877200000000938.880600000000946.884000000000954.887400000000962.890800000000970.894200000000978.897600000000986.901000000000994.9044000000001002.907800000001010.911200000001018.914600000001026.918000000001034.921400000001042.924800000001050.928200000001058.931600000001066.935000000001074.938400000001082.941800000001090.945200000001098.948600000001106.952000000001114.955400000001122.958800000001130.962200000001138.965600000001146.969000000001154.972400000001162.975800000001170.979200000001178.982600000001186.986000000001194.989400000001202.992800000001210.996200000001218.999600000001227.003000000001235.006400000001243.009800000001251.013200000001259.01660000000.020********.023********1283.026800000001291.030200000001299.03360000000.0370*******1315.04040000000.0438*******.0472*******1339.050600000001347.05400000000.0574*******1363.060800000001371.064200000001379.06760000000.0710*******.0744*******.0778*******
];%飞行器坐标的理论值
x=zeros(1,N);%用来记录坐标的最优化估算值
y=[
599.8058765
607.7992796
613.8542847
623.2107999
633.2484116
638.9026154
648.8974241
656.1049206
665.4691306
670.0803864
679.7515546
686.768601
698.9148593
704.8106257
713.3940629
718.9618163
727.4848863
735.7186891
744.9918199
751.7793962
760.6700869
765.8879912
775.6334528
783.1049811
790.4219001
800.4799414
808.390873
816.0904032
822.5414777
833.1495586
840.2802725
847.6881812
856.03111
863.7753913
870.2361353
879.793164
887.1445866
895.0371693
902.8768351
911.4707023
918.0414119
928.9803901
936.4808528
943.8897035
952.0581586
959.1716099
969.0238533
975.8949409
983.2911497
993.3061495
999.7518432
1007.404726
1015.780194
1023.109033
1030.919105
1042.541431
1049.643805
1056.254687
1062.728675
1071.130197
1079.749996
1088.801025
1094.626881
1101.665421
1110.567713
1120.288278
1128.376941
1136.469183
1143.777922
1152.235488
1159.64507
1168.909992
1174.622517
1184.476461
1191.099491
1199.759006
1208.599819
1217.078458
1222.838568
1233.276656
1240.632228
1247.916563
1255.776278
1263.731107
1271.651455
1280.012551
1287.966347
1296.856443
1305.521087
1312.501872
1319.803769
1328.649905
1336.109071
1342.919219
1352.926872
1360.312545
1368.191612
1376.500748
1384.324484
1391.082285
1399.896368]
;%坐标的观测值,其中叠加了噪声
x
(1)=599.8058765;%为x(k)赋初值
p
(1)=1;%x
(1)对应的协方差
Q=cov(randn(1,N));%过程噪声的协方差
R=cov(randn(1,N));%测量噪声的协方差
fork=2:
N%循环里面是卡尔曼滤波的具体过程
x(k)=x(k-1);
p(k)=p(k-1)+Q;
Kg(k)=p(k)/(p(k)+R);%Kg为KalmanGain,卡尔曼增益
x(k)=x(k)+Kg(k)*(y(k)-x(k))
p(k)=(1-Kg(k))*p(k)
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%这个模块起到平滑滤波作用
Filter_Width=1;%滤波器带宽
Smooth_Result=zeros(1,N);%用来存放滤波后的各个采样点的值
fori=Filter_Width+1:
N
Temp_Sum=0;
forj=i-Filter_Width:
(i-1)
Temp_Sum=x(j)+Temp_Sum;
end
Smooth_Result(i)=Temp_Sum/Filter_Width;%每一个点的采样值等于这个点之前的filter_width长度的采样点的平均值
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t=1:
N;
figure('Name','KalmanFilterSimulation','NumberTitle','off');
expected_Value=zeros(1,N);
fori=1:
N
expected_Value(i)=CON;
end
plot(t,expected_Value,'-b',t,y,'-g',t,x,'-k',t,Smooth_Result,'-m');%依次输出理论值,叠加测量噪声的坐标测量值,
legend('expected','measure','estimate','smoothresult');%经过kalman滤波后的最优化估算值,平滑滤波后的输出值
xlabel('sampletime');
ylabel('temperature');
title('KalmanFilterSimulation');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学建模 飞行器空间坐标修正 数学 建模 飞行器 空间 坐标 修正