Skip to content
Snippets Groups Projects
Commit 0bcb7940 authored by Mederic Fourmy's avatar Mederic Fourmy
Browse files

Merge branch 'Apriltag' of https://gitlab.iri.upc.edu/mobile_robotics/wolf into Apriltag

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