@ -90,9 +90,9 @@ public:
@@ -90,9 +90,9 @@ public:
void getBaroHgtInnovVar ( float & baro_hgt_innov_var ) const { baro_hgt_innov_var = _aid_src_baro_hgt . innovation_variance ; }
void getBaroHgtInnovRatio ( float & baro_hgt_innov_ratio ) const { baro_hgt_innov_ratio = _aid_src_baro_hgt . test_ratio ; }
void getRngHgtInnov ( float & rng_hgt_innov ) const { rng_hgt_innov = _rng_hgt_innov ; }
void getRngHgtInnovVar ( float & rng_hgt_innov_var ) const { rng_hgt_innov_var = _rng_hgt_innov_var ; }
void getRngHgtInnovRatio ( float & rng_hgt_innov_ratio ) const { rng_hgt_innov_ratio = _rng_hgt_ test_ratio ; }
void getRngHgtInnov ( float & rng_hgt_innov ) const { rng_hgt_innov = _aid_src_rng_hgt . innovation ; }
void getRngHgtInnovVar ( float & rng_hgt_innov_var ) const { rng_hgt_innov_var = _aid_src_rng_hgt . innovation_variance ; }
void getRngHgtInnovRatio ( float & rng_hgt_innov_ratio ) const { rng_hgt_innov_ratio = _aid_src_rng_hgt . test_ratio ; }
void getAuxVelInnov ( float aux_vel_innov [ 2 ] ) const ;
void getAuxVelInnovVar ( float aux_vel_innov [ 2 ] ) const ;
@ -341,6 +341,7 @@ public:
@@ -341,6 +341,7 @@ public:
const BaroBiasEstimator : : status & getBaroBiasEstimatorStatus ( ) const { return _baro_b_est . getStatus ( ) ; }
const auto & aid_src_baro_hgt ( ) const { return _aid_src_baro_hgt ; }
const auto & aid_src_rng_hgt ( ) const { return _aid_src_rng_hgt ; }
const auto & aid_src_fake_pos ( ) const { return _aid_src_fake_pos ; }
@ -388,6 +389,7 @@ private:
@@ -388,6 +389,7 @@ private:
// booleans true when fresh sensor data is available at the fusion time horizon
bool _gps_data_ready { false } ; ///< true when new GPS data has fallen behind the fusion time horizon and is available to be fused
bool _baro_data_ready { false } ; ///< true when new baro height data has fallen behind the fusion time horizon and is available to be fused
bool _rng_data_ready { false } ;
bool _flow_data_ready { false } ; ///< true when the leading edge of the optical flow integration period has fallen behind the fusion time horizon
bool _ev_data_ready { false } ; ///< true when new external vision system data has fallen behind the fusion time horizon and is available to be fused
bool _tas_data_ready { false } ; ///< true when new true airspeed data has fallen behind the fusion time horizon and is available to be fused
@ -454,9 +456,6 @@ private:
@@ -454,9 +456,6 @@ private:
Vector3f _ev_pos_innov { } ; ///< external vision position innovations (m)
Vector3f _ev_pos_innov_var { } ; ///< external vision position innovation variances (m**2)
float _rng_hgt_innov { } ; ///< range hgt innovations (m)
float _rng_hgt_innov_var { } ; ///< range hgt innovation variances (m**2)
Vector3f _aux_vel_innov { } ; ///< horizontal auxiliary velocity innovations: (m/sec)
Vector3f _aux_vel_innov_var { } ; ///< horizontal auxiliary velocity innovation variances: ((m/sec)**2)
@ -493,6 +492,7 @@ private:
@@ -493,6 +492,7 @@ private:
Vector2f _flow_compensated_XY_rad { } ; ///< measured delta angle of the image about the X and Y body axes after removal of body rotation (rad), RH rotation is positive
estimator_aid_source_1d_s _aid_src_baro_hgt { } ;
estimator_aid_source_1d_s _aid_src_rng_hgt { } ;
estimator_aid_source_2d_s _aid_src_fake_pos { } ;
@ -646,11 +646,11 @@ private:
@@ -646,11 +646,11 @@ private:
void fuseDrag ( const dragSample & drag_sample ) ;
void fuseBaroHgt ( estimator_aid_source_1d_s & baro_hgt ) ;
void fuseRngHgt ( ) ;
void fuseRngHgt ( estimator_aid_source_1d_s & range_hgt ) ;
void fuseEvHgt ( ) ;
void updateBaroHgt ( const baroSample & baro_sample , estimator_aid_source_1d_s & baro_hgt ) ;
void updateRngHgt ( estimator_aid_source_1d_s & rng_hgt ) ;
// fuse single velocity and position measurement
bool fuseVelPosHeight ( const float innov , const float innov_var , const int obs_index ) ;