File tree Expand file tree Collapse file tree 2 files changed +5
-2
lines changed Expand file tree Collapse file tree 2 files changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -276,6 +276,9 @@ struct parameters {
276
276
float mag_yaw_rate_gate{0 .25f }; // /< yaw rate threshold used by mode select logic (rad/sec)
277
277
const float quat_max_variance{0 .0001f }; // /< zero innovation yaw measurements will not be fused when the sum of quaternion variance is less than this
278
278
279
+ // GNSS heading fusion
280
+ float gps_heading_noise{0 .1f }; // /< measurement noise standard deviation used for GNSS heading fusion (rad)
281
+
279
282
// airspeed fusion
280
283
float tas_innov_gate{5 .0f }; // /< True Airspeed innovation consistency gate size (STD)
281
284
float eas_noise{1 .4f }; // /< EAS measurement noise standard deviation used for airspeed fusion (m/s)
Original file line number Diff line number Diff line change @@ -70,7 +70,7 @@ void Ekf::fuseGpsYaw()
70
70
71
71
// using magnetic heading process noise
72
72
// TODO extend interface to use yaw uncertainty provided by GPS if available
73
- const float R_YAW = sq (fmaxf (_params.mag_heading_noise , 1 .0e-2f ));
73
+ const float R_YAW = sq (fmaxf (_params.gps_heading_noise , 1 .0e-2f ));
74
74
75
75
// calculate intermediate variables
76
76
const float HK0 = sinf (_gps_yaw_offset);
@@ -209,7 +209,7 @@ bool Ekf::resetYawToGps()
209
209
// GPS yaw measurement is alreday compensated for antenna offset in the driver
210
210
const float measured_yaw = _gps_sample_delayed.yaw ;
211
211
212
- const float yaw_variance = sq (fmaxf (_params.mag_heading_noise , 1 .0e-2f ));
212
+ const float yaw_variance = sq (fmaxf (_params.gps_heading_noise , 1 .0e-2f ));
213
213
resetQuatStateYaw (measured_yaw, yaw_variance, true );
214
214
215
215
_time_last_gps_yaw_fuse = _time_last_imu;
You can’t perform that action at this time.
0 commit comments