Skip to content
Snippets Groups Projects
Commit 4de5f70d authored by Joan Vallvé Navarro's avatar Joan Vallvé Navarro
Browse files

remove outliers pseudoranges with fix/state optional

parent a8c9d3c7
No related branches found
No related tags found
2 merge requests!28release after RAL,!27After 2nd RAL submission
...@@ -17,7 +17,7 @@ struct ParamsProcessorTrackerGnss : public ParamsProcessorTrackerFeature ...@@ -17,7 +17,7 @@ struct ParamsProcessorTrackerGnss : public ParamsProcessorTrackerFeature
GnssUtils::Options gnss_opt; GnssUtils::Options gnss_opt;
GnssUtils::Options fix_opt{GnssUtils::default_options}; GnssUtils::Options fix_opt{GnssUtils::default_options};
double max_time_span; double max_time_span;
bool remove_outliers, remove_outliers_tdcp; bool remove_outliers, remove_outliers_tdcp, remove_outliers_with_fix;
double outlier_residual_th; double outlier_residual_th;
bool init_frames; bool init_frames;
...@@ -25,10 +25,11 @@ struct ParamsProcessorTrackerGnss : public ParamsProcessorTrackerFeature ...@@ -25,10 +25,11 @@ struct ParamsProcessorTrackerGnss : public ParamsProcessorTrackerFeature
ParamsProcessorTrackerGnss(std::string _unique_name, const ParamsServer& _server): ParamsProcessorTrackerGnss(std::string _unique_name, const ParamsServer& _server):
ParamsProcessorTrackerFeature(_unique_name, _server) ParamsProcessorTrackerFeature(_unique_name, _server)
{ {
remove_outliers = _server.getParam<bool> (prefix + _unique_name + "/remove_outliers"); remove_outliers = _server.getParam<bool> (prefix + _unique_name + "/remove_outliers");
outlier_residual_th = _server.getParam<double> (prefix + _unique_name + "/outlier_residual_th"); remove_outliers_with_fix = _server.getParam<bool> (prefix + _unique_name + "/remove_outliers_with_fix");
init_frames = _server.getParam<bool> (prefix + _unique_name + "/init_frames"); outlier_residual_th = _server.getParam<double> (prefix + _unique_name + "/outlier_residual_th");
max_time_span = _server.getParam<double> (prefix + _unique_name + "/keyframe_vote/max_time_span"); init_frames = _server.getParam<bool> (prefix + _unique_name + "/init_frames");
max_time_span = _server.getParam<double> (prefix + _unique_name + "/keyframe_vote/max_time_span");
// GNSS OPTIONS (see rtklib.h) // GNSS OPTIONS (see rtklib.h)
gnss_opt.sateph = _server.getParam<int> (prefix + _unique_name + "/gnss/sateph"); // satellite ephemeris/clock (0:broadcast ephemeris,1:precise ephemeris,2:broadcast + SBAS,3:ephemeris option: broadcast + SSR_APC,4:broadcast + SSR_COM,5: QZSS LEX ephemeris gnss_opt.sateph = _server.getParam<int> (prefix + _unique_name + "/gnss/sateph"); // satellite ephemeris/clock (0:broadcast ephemeris,1:precise ephemeris,2:broadcast + SBAS,3:ephemeris option: broadcast + SSR_APC,4:broadcast + SSR_COM,5: QZSS LEX ephemeris
......
...@@ -338,7 +338,7 @@ void ProcessorTrackerGnss::removeOutliers(FactorBasePtrList fac_list, CaptureBas ...@@ -338,7 +338,7 @@ void ProcessorTrackerGnss::removeOutliers(FactorBasePtrList fac_list, CaptureBas
// state for pseudoranges is fix solution if OK // state for pseudoranges is fix solution if OK
if (cap == last_ptr_ and fix_last_.stat != 0) if (cap == last_ptr_ and fix_last_.stat != 0 and params_tracker_gnss_->remove_outliers_with_fix)
{ {
WOLF_DEBUG("OUTLIERS COMPUTED USING fix_last"); WOLF_DEBUG("OUTLIERS COMPUTED USING fix_last");
x = sensor_gnss_->getREnuMap().transpose() * (sensor_gnss_->getREnuEcef() * fix_last_.pos + sensor_gnss_->gettEnuEcef() - sensor_gnss_->gettEnuMap()); x = sensor_gnss_->getREnuMap().transpose() * (sensor_gnss_->getREnuEcef() * fix_last_.pos + sensor_gnss_->gettEnuEcef() - sensor_gnss_->gettEnuMap());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment