-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathProcessConfig1.m
93 lines (73 loc) · 3.01 KB
/
ProcessConfig1.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
% -------------------------------------------------------------------------
% KF-GINS-Matlab: An EKF-based GNSS/INS Integrated Navigation System in Matlab
%
% Copyright (C) 2024, i2Nav Group, Wuhan University
%
% Author : Liqiang Wang
% Contact : [email protected]
% Date : 2023.3.3
% -------------------------------------------------------------------------
function cfg = ProcessConfig()
param = Param();
%% filepath
cfg.imufilepath = 'dataset1/Leador-A15.txt';
cfg.gnssfilepath = 'dataset1/GNSS-RTK.txt';
cfg.odofilepath = '';
cfg.outputfolder = 'dataset1';
%% configure
cfg.usegnssvel = false;
cfg.useodonhc = false;
cfg.odoupdaterate = 1; % [Hz]
%% initial information
cfg.starttime = 456300;
cfg.endtime = inf;
cfg.initpos = [30.4447873701; 114.4718632047; 20.899]; % [deg, deg, m]
cfg.initvel = [0; 0; 0]; % [m/s]
cfg.initatt = [0.854; -2.034; 185.702]; % [deg]
cfg.initposstd = [0.005; 0.004; 0.008]; %[m]
cfg.initvelstd = [0.003; 0.004; 0.004]; %[m/s]
cfg.initattstd = [0.003; 0.003; 0.023]; %[deg]
cfg.initgyrbias = [0; 0; 0]; % [deg/h]
cfg.initaccbias = [0; 0; 0]; % [mGal]
cfg.initgyrscale = [0; 0; 0]; % [ppm]
cfg.initaccscale = [0; 0; 0]; % [ppm]
cfg.initgyrbiasstd = [0.027; 0.027; 0.027]; % [deg/h]
cfg.initaccbiasstd = [15; 15; 15]; % [mGal]
cfg.initgyrscalestd = [300; 300; 300]; % [deg/h]
cfg.initaccscalestd = [300; 300; 300]; % [deg/h]
cfg.gyrarw = 0.003; % [deg/s/sqrt(h)]
cfg.accvrw = 0.03; % [m/s/sqrt(h)]
cfg.gyrbiasstd = 0.027; % [deg/h]
cfg.accbiasstd = 15; % [mGal]
cfg.gyrscalestd = 300; % [ppm]
cfg.accscalestd = 300; % [ppm]
cfg.corrtime = 4; % [h]
%% install parameters 安装参数
cfg.antlever = [0.136; -0.301; -0.184]; % [m]
cfg.odolever = [0; 0; 0]; %[m]
cfg.installangle = [0; 0; 0]; %[deg]
%% ODO/NHC measurement noise 观测噪声
cfg.odonhc_measnoise = [0.1; 0.1; 0.1]; % [m/s]
%% convert unit to standard unit (单位转换)
cfg.initpos(1) = cfg.initpos(1) * param.D2R;
cfg.initpos(2) = cfg.initpos(2) * param.D2R;
cfg.initatt = cfg.initatt * param.D2R;
cfg.initattstd = cfg.initattstd * param.D2R;
cfg.initgyrbias = cfg.initgyrbias * param.D2R / 3600;
cfg.initaccbias = cfg.initaccbias * 1e-5;
cfg.initgyrscale = cfg.initgyrscale * 1e-6;
cfg.initaccscale = cfg.initaccscale * 1e-6;
cfg.initgyrbiasstd = cfg.initgyrbiasstd * param.D2R / 3600;
cfg.initaccbiasstd = cfg.initaccbiasstd * 1e-5;
cfg.initgyrscalestd = cfg.initgyrscalestd * 1e-6;
cfg.initaccscalestd = cfg.initaccscalestd * 1e-6;
cfg.gyrarw = cfg.gyrarw * param.D2R / 60;
cfg.accvrw = cfg.accvrw / 60;
cfg.gyrbiasstd = cfg.gyrbiasstd * param.D2R / 3600;
cfg.accbiasstd = cfg.accbiasstd * 1e-5;
cfg.gyrscalestd = cfg.gyrscalestd * 1e-6;
cfg.accscalestd = cfg.accscalestd * 1e-6;
cfg.corrtime = cfg.corrtime * 3600;
cfg.installangle = cfg.installangle * param.D2R;
cfg.cbv = euler2dcm(cfg.installangle);
end