Will compute the system for our sparse SLAM features and update the filter.
This class is responsible for performing delayed feature initialization, SLAM update, and SLAM anchor change for anchored feature representations.
- void update(State* state, std::vector<Feature*>& feature_vec)
- Given tracked SLAM features, this will try to use them to update the state.
- void delayed_init(State* state, std::vector<Feature*>& feature_vec)
- Given max track features, this will try to use them to initialize them in the state.
- void change_anchors(State* state)
- Will change SLAM feature anchors if it will be marginalized.
- UpdaterOptions _options_slam
- Options used during update for slam features.
- UpdaterOptions _options_aruco
- Options used during update for aruco features.
- FeatureInitializer* initializer_feat
- Feature initializer class object.
- std::map<int, double> chi_squared_table
- Chi squared 95th percentile table (lookup would be size of residual)
UpdaterSLAM:: UpdaterSLAM(UpdaterOptions& options_slam,
Default constructor for our SLAM updater.
|options_slam||Updater options (include measurement noise value) for SLAM features|
|options_aruco||Updater options (include measurement noise value) for ARUCO features|
|feat_init_options||Feature initializer options|
Our updater has a feature initializer which we use to initialize features as needed. Also the options allow for one to tune the different parameters for update.
UpdaterSLAM:: change_anchors(State* state)
Will change SLAM feature anchors if it will be marginalized.
|state||State of the filter|
Makes sure that if any clone is about to be marginalized, it changes anchor representation. By default, this will shift the anchor into the newest IMU clone and keep the camera calibration anchor the same.
UpdaterSLAM:: perform_anchor_change(State* state,
size_t new_cam_id) protected
Shifts landmark anchor to new clone.
|state||State of filter|
|landmark||landmark whose anchor is being shifter|
|new_anchor_timestamp||Clone timestamp we want to move to|
|new_cam_id||Which camera frame we want to move to|