|
SaDVIO
|
Abstract class for 3D Landmarks. More...
#include <ALandmark.h>


Public Member Functions | |
| ALandmark () | |
| ALandmark (Eigen::Affine3d T_w_l, std::vector< std::shared_ptr< isae::AFeature >> features) | |
| ~ALandmark () | |
| virtual void | init (Eigen::Affine3d T_w_l, std::vector< std::shared_ptr< isae::AFeature >> features) |
| Virtual Function to properly initialize a landmark. More... | |
| void | addFeature (std::shared_ptr< AFeature > feature) |
| std::vector< std::weak_ptr< AFeature > > | getFeatures () |
| void | removeExpiredFeatures () |
| Remove features that are not linked to anything. More... | |
| void | removeFeature (std::shared_ptr< AFeature > f) |
| bool | fuseWithLandmark (std::shared_ptr< ALandmark > landmark) |
| Fuse this landmark with another one, the feature sets are merged. More... | |
| void | setPose (Eigen::Affine3d T_w_l) |
| void | setPosition (Eigen::Vector3d t_w_l) |
| Set only the translation of the landmark pose. More... | |
| Eigen::Affine3d | getPose () const |
| std::vector< Eigen::Vector3d > | getModelPoints () |
| std::shared_ptr< AModel3d > | getModel () const |
| cv::Mat | getDescriptor () const |
| void | setDescriptor (cv::Mat descriptor) |
| bool | isInitialized () const |
| void | setUninitialized () |
| void | setInMap () |
| bool | isInMap () |
| bool | sanityCheck () |
| Check if the landmark is valid in terms of reprojection error and number of features. More... | |
| virtual double | chi2err (std::shared_ptr< AFeature > f) |
| Compute the chi2 error for a given feature. More... | |
| double | avgChi2err () |
| Compute the average chi2 error for all features associated to the landmark. More... | |
| bool | isOutlier () const |
| void | setOutlier () |
| void | setInlier () |
| bool | isResurected () const |
| void | setResurected () |
| bool | hasPrior () const |
| void | setPrior () |
| bool | isMarg () const |
| void | setMarg () |
Public Attributes | |
| int | _id |
| Unique id for the landmark, used for bookeeping. More... | |
| std::string | _label |
| Label for the landmark. More... | |
Static Public Attributes | |
| static int | _landmark_count = 0 |
| Static counter for landmarks, used for unique id generation. More... | |
Protected Attributes | |
| bool | _initialized = false |
| Flag to check if the landmark is initialized. More... | |
| bool | _in_map = false |
| Flag to check if the landmark is in the map. More... | |
| bool | _outlier = false |
| Flag to check if the landmark is an outlier. More... | |
| bool | _is_resurected = false |
| Flag to check if the landmark has been resurected. More... | |
| bool | _has_prior = false |
| Flag to check if the landmark has a prior. More... | |
| bool | _is_marg = false |
| Flag to check if the landmark is marginalised. More... | |
| Eigen::Affine3d | _T_w_l |
| Landmark pose in world frame. More... | |
| cv::Mat | _descriptor |
| Descriptor of the landmark, used for matching. More... | |
| std::shared_ptr< AModel3d > | _model |
| 3D model of the landmark More... | |
| std::vector< std::weak_ptr< AFeature > > | _features |
| Features associated to the landmark. More... | |
| std::mutex | _lmk_mtx |
Abstract class for 3D Landmarks.
It contains a 6DoF pose and a 3D model for a general formulation. It also contains a set of features that are associated to the landmark.
|
inline |
| isae::ALandmark::ALandmark | ( | Eigen::Affine3d | T_w_l, |
| std::vector< std::shared_ptr< isae::AFeature >> | features | ||
| ) |
|
inline |
| void isae::ALandmark::addFeature | ( | std::shared_ptr< AFeature > | feature | ) |
| double isae::ALandmark::avgChi2err | ( | ) |
Compute the average chi2 error for all features associated to the landmark.
|
virtual |
Compute the chi2 error for a given feature.
Reimplemented in isae::Line3D.
| bool isae::ALandmark::fuseWithLandmark | ( | std::shared_ptr< ALandmark > | landmark | ) |
Fuse this landmark with another one, the feature sets are merged.
If there is a wrong behavior in the association, it returns false
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Virtual Function to properly initialize a landmark.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void isae::ALandmark::removeExpiredFeatures | ( | ) |
Remove features that are not linked to anything.
| void isae::ALandmark::removeFeature | ( | std::shared_ptr< AFeature > | f | ) |
| bool isae::ALandmark::sanityCheck | ( | ) |
Check if the landmark is valid in terms of reprojection error and number of features.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Set only the translation of the landmark pose.
|
inline |
|
inline |
|
inline |
|
protected |
Descriptor of the landmark, used for matching.
|
protected |
Features associated to the landmark.
|
protected |
Flag to check if the landmark has a prior.
| int isae::ALandmark::_id |
Unique id for the landmark, used for bookeeping.
|
protected |
Flag to check if the landmark is in the map.
|
protected |
Flag to check if the landmark is initialized.
|
protected |
Flag to check if the landmark is marginalised.
|
protected |
Flag to check if the landmark has been resurected.
| std::string isae::ALandmark::_label |
Label for the landmark.
|
static |
Static counter for landmarks, used for unique id generation.
|
mutableprotected |
|
protected |
3D model of the landmark
|
protected |
Flag to check if the landmark is an outlier.
|
protected |
Landmark pose in world frame.
1.8.17