严恭敏老师PSINS工具箱学习笔记-6

psins用于捷联惯导系统的数据处理和算法验证开发,包括惯性传感器数据分析、惯组标定、初始对准、惯导avp更新解算、组合导航卡尔曼滤波。

算法经过了验证测试,实用性强稳定可靠。我们需要:主程序的框架+设置参数(专业,对惯导的原理比较熟)。

test_SINS_trj.m

涉及的结构体:glv, trj, seg

 test_SINS.m

纯惯导解算,bhsimu气压测高计仿真高度(左为高度补偿后的,右无高度补偿)

 涉及的中间结构体ins,相关函数inspure,insupdate

 test_SINS_DR.m

组合导航:使用卡尔曼滤波将惯导解算的结果与DR测量值融合,改善惯性导航结果。

里程仪相关参数:inst(安装角),kod(刻度系数),qe(暂为默认值),dT(时间延迟)

glvs
psinstypedef('test_SINS_DR_def');
trj = trjfile('trj10ms_3.mat');
[nn, ts, nts] = nnts(2, trj.ts);
inst = [3;60;6]*glv.min;  kod = 1;  qe = 0; dT = 0.01; % od parameters
trjod = odsimu(trj, inst, kod, qe, dT, 0); % od simulation
imuerr = imuerrset(0.01, 50, 0.001, 5);
imu = imuadderr(trjod.imu, imuerr);
davp = avperrset([30;30;10], 0, 10);
ins = insinit(avpadderr(trjod.avp0,davp), ts); % SINS init
dinst = [15;0;10]*glv.min; dkod = 0.01;
dr = drinit(avpadderr(trjod.avp0,davp), d2r((inst+dinst)/60), kod*(1+dkod), ts); % DR init
kf = kfinit(nts, davp, imuerr, dinst, dkod, dT); % kf init
len = length(imu); 
[dravp, insavp, xkpk] = prealloc(fix(len/nn), 10, 10, 2*kf.n+1);
ki = timebar(nn, len, 'SINS/DR simulation.');
for k=1:nn:len-nn+1
    k1 = k+nn-1;
    wvm = imu(k:k1,1:6);  dS = sum(trjod.od(k:k1,1)); t = imu(k1,end);
    ins = insupdate(ins, wvm);
    dr.qnb = ins.qnb;   % DR quaternion setting !
    dr = drupdate(dr, wvm(:,1:3), dS);
    kf.Phikk_1 = kffk(ins);
    kf = kfupdate(kf);
    if mod(k1,10)==0
        kf.Hk(:,22) = -ins.Mpvvn;
        kf = kfupdate(kf, ins.pos-dr.pos);
        [kf, ins] = kffeedback(kf, ins, 1, 'v');
    end
    insavp(ki,:) = [ins.avp; t]';
    dravp(ki,:) = [dr.avp; t]';
    xkpk(ki,:) = [kf.xk; diag(kf.Pxk); t]';
    ki = timebar;
end
dr.distance,
close all
% insplot(dravp, 'DR', insavp);
kfplot(xkpk, trjod.avp, insavp, dravp, imuerr, dinst, dkod, dT);

误差设置相关函数:

imuerr = imuerrset(0.01, 50, 0.001, 5);
imuadderr(trjod.imu, imuerr);
davp = avperrset([30;30;10], 0, 10);
avpadderr(trjod.avp0,davp)

 涉及的中间结构体ins dr kf

绘图函数

以test_SINS_GPS_153为例:

imuplot(trj.imu);对惯导输出数据进行绘图

insplot(avp);对姿态速度位置增量等解算出来的信息,以及轨迹进行绘图

avperr = avpcmpplot(trj.avp, avp);计算解算信息误差以及误差绘图

kfplot(xkpk, avperr, imuerr);绘图估计的xk与真实的xk对比图以及pk(是否收敛并趋于零),

align/aligncmps.m , 2830 align/alignfn.m , 2902 align/aligni0.m , 3339 align/alignsb.m , 1091 align/alignvn.m , 3267 align/alignWahba.m , 1575 base0/a2caw.m , 638 base0/a2cwa.m , 614 base0/a2mat.m , 704 base0/a2qua.m , 1039 base0/a2qua1.m , 782 base0/aa2mu.m , 1548 base0/aa2phi.m , 1546 base0/aaddmu.m , 1299 base0/askew.m , 577 base0/blh2xyz.m , 999 base0/cros.m , 861 base0/d2r.m , 393 base0/datt2mu.m , 606 base0/dm2r.m , 954 base0/dms2r.m , 1107 base0/dv2atti.m , 1170 base0/iaskew.m , 604 base0/lq2m.m , 577 base0/m2att.m , 551 base0/m2qua.m , 1203 base0/m2rv.m , 1320 base0/m2rv1.m , 1433 base0/m2rv2.m , 956 base0/mnormlz.m , 630 base0/mupdt.m , 1047 base0/p2cne.m , 675 base0/q2att.m , 916 base0/q2att1.m , 1119 base0/q2mat.m , 843 base0/q2rv.m , 643 base0/qaddafa.m , 715 base0/qaddphi.m , 754 base0/qconj.m , 417 base0/qdelafa.m , 671 base0/qdelphi.m , 754 base0/qmul.m , 692 base0/qmulv.m , 1760 base0/qnormlz.m , 416 base0/qq2afa.m , 693 base0/qq2phi.m , 782 base0/qupdt.m , 1119 base0/qupdt2.m , 2337 base0/r2d.m , 393 base0/r2dm.m , 885 base0/r2dms.m , 983 base0/rotv.m , 1198 base0/rq2m.m , 577 base0/rv2m.m , 1139 base0/rv2q.m , 824 base0/sv2atti.m , 1114 base0/vnormlz.m , 404 base0/xyz2blh.m , 1053 base1/altfilt.m , 1554 base1/attsyn.m , 1729 base1/bhsimu.m , 1299 base1/cnscl.m , 2895 base1/cnscl0.m , 2040 base1/conecoef.m , 1373 base1/conedrift.m , 1399 base1/conepolyn.m , 1116 base1/conesimu.m , 1442 base1/conetwospeed.m , 1200 base1/drinit.m , 1063 base1/drupdate.m , 1074 base1/dsins.m , 1185 base1/earth.m , 1484 base1/ethinit.m , 803 base1/ethupdate.m , 2104 base1/fusion.m , 971 base1/gcctrl.m , 1053 base1/gpssimu.m , 2747 base1/imulever.m , 646 base1/imurfu.m , 1998 base1/imurot.m , 621 base1/insextrap.m , 599 base1/insinit.m , 2232 base1/inslever.m , 969 base1/insupdate.m , 2257 base1/invbc.m , 577 base1/la2dpos.m , 901 base1/odsimu.m , 2475 base1/olsins.m , 798 base1/pp2vn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值