Skip to content

Commit 463d836

Browse files
committed
INS Simulation: Updates to allow setting separate pos and vel variance
1 parent aaddc68 commit 463d836

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

matlab/ins/insgps.c

+5-5
Original file line numberDiff line numberDiff line change
@@ -136,14 +136,14 @@ void INSPosVelReset(float pos[3], float vel[3])
136136
X[5] = vel[2];
137137
}
138138

139-
void INSSetPosVelVar(float PosVar)
139+
void INSSetPosVelVar(float PosVar, float VelVar)
140140
{
141141
R[0] = PosVar;
142142
R[1] = PosVar;
143143
R[2] = PosVar;
144-
R[3] = PosVar;
145-
R[4] = PosVar;
146-
// R[5] = PosVar; // Don't change vertical velocity, not measured
144+
R[3] = VelVar;
145+
R[4] = VelVar;
146+
R[5] = VelVar; // Don't change vertical velocity, not measured
147147
}
148148

149149
void INSSetGyroBias(float gyro_bias[3])
@@ -238,7 +238,7 @@ void BaroCorrection(float baro)
238238
void GpsCorrection(float Pos[3], float Vel[3])
239239
{
240240
INSCorrection(zeros, Pos, Vel, zeros[0],
241-
POS_SENSORS); // | HORIZ_SENSORS | VERT_SENSORS);
241+
47);
242242
}
243243

244244

matlab/ins/insgps.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void INSGPSInit();
5353
void INSStatePrediction(float gyro_data[3], float accel_data[3], float dT);
5454
void INSCovariancePrediction(float dT);
5555

56-
void INSSetPosVelVar(float PosVar);
56+
void INSSetPosVelVar(float PosVar, float VelVar);
5757
void INSSetGyroBias(float gyro_bias[3]);
5858
void INSSetAccelVar(float accel_var[3]);
5959
void INSSetGyroVar(float gyro_var[3]);

matlab/ins/insgps_ml.c

+4-2
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,13 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
137137
VelBaroCorrection(vel_data, baro_data);
138138
} else if (mlStringCompare(prhs[0], "INSSetPosVelVar")) {
139139
float pos_var;
140-
if((nrhs != 2) || !mlGetFloatArray(prhs[1], &pos_var, 1)) {
140+
float vel_var;
141+
if((nrhs != 3) || !mlGetFloatArray(prhs[1], &pos_var, 1) ||
142+
!mlGetFloatArray(prhs[2], &vel_var, 1)) {
141143
mexErrMsgTxt("Error with input parameters\n");
142144
return;
143145
}
144-
INSSetPosVelVar(pos_var);
146+
INSSetPosVelVar(pos_var, vel_var);
145147
} else if (mlStringCompare(prhs[0], "INSSetGyroBias")) {
146148
float gyro_bias[3];
147149
if((nrhs != 2) || !mlGetFloatArray(prhs[1], gyro_bias, 3)) {

0 commit comments

Comments
 (0)