Skip to content
Snippets Groups Projects
Commit 5f02ff6b authored by Joan Solà Ortega's avatar Joan Solà Ortega
Browse files

FeatureBase constructor accepts InfoMatrix as uncertainty spec

parent 31a6525d
No related branches found
No related tags found
1 merge request!233WIP: Apriltag
Pipeline #2424 passed
......@@ -6,7 +6,7 @@ namespace wolf {
unsigned int FeatureBase::feature_id_count_ = 0;
FeatureBase::FeatureBase(const std::string& _type, const Eigen::VectorXs& _measurement, const Eigen::MatrixXs& _meas_covariance) :
FeatureBase::FeatureBase(const std::string& _type, const Eigen::VectorXs& _measurement, const Eigen::MatrixXs& _meas_uncertainty, UncertaintyType _uncertainty_is_info) :
NodeBase("FEATURE", _type),
capture_ptr_(),
is_removing_(false),
......@@ -15,8 +15,21 @@ FeatureBase::FeatureBase(const std::string& _type, const Eigen::VectorXs& _measu
landmark_id_(0),
measurement_(_measurement)
{
setMeasurementCovariance(_meas_covariance);
// std::cout << "constructed +f" << id() << std::endl;
switch (_uncertainty_is_info )
{
case UNCERTAINTY_IS_INFO :
setMeasurementInformation(_meas_uncertainty);
break;
case UNCERTAINTY_IS_COVARIANCE :
setMeasurementCovariance(_meas_uncertainty);
break;
case UNCERTAINTY_IS_STDDEV :
WOLF_ERROR("STDEV case Not implemented yet");
break;
default :
break;
}
// std::cout << "constructed +f" << id() << std::endl;
}
FeatureBase::~FeatureBase()
......
......@@ -38,12 +38,19 @@ class FeatureBase : public NodeBase, public std::enable_shared_from_this<Feature
public:
typedef enum
{
UNCERTAINTY_IS_COVARIANCE,
UNCERTAINTY_IS_INFO,
UNCERTAINTY_IS_STDDEV
} UncertaintyType;
/** \brief Constructor from capture pointer and measure
* \param _tp type of feature -- see wolf.h
* \param _measurement the measurement
* \param _meas_covariance the noise of the measurement
*/
FeatureBase(const std::string& _type, const Eigen::VectorXs& _measurement, const Eigen::MatrixXs& _meas_covariance);
FeatureBase(const std::string& _type, const Eigen::VectorXs& _measurement, const Eigen::MatrixXs& _meas_uncertainty, UncertaintyType _uncertainty_is_info = UNCERTAINTY_IS_COVARIANCE);
virtual ~FeatureBase();
void remove();
......
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