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

Use a const ref to PrcParamsOdom2D in constructor

parent b5bd6dbb
No related branches found
No related tags found
1 merge request!170Processors api
This commit is part of merge request !170. Comments created here will be created in the context of that merge request.
...@@ -2,18 +2,14 @@ ...@@ -2,18 +2,14 @@
namespace wolf namespace wolf
{ {
ProcessorOdom2D::ProcessorOdom2D(const Scalar& _dist_traveled_th, ProcessorOdom2D::ProcessorOdom2D(const ProcessorParamsOdom2D& _params) :
const Scalar& _theta_traveled_th, ProcessorMotion("ODOM 2D", 3, 3, 3, 2),
const Scalar& _cov_det_th, dist_traveled_th_(_params.dist_traveled_th_),
const Scalar& _elapsed_time_th, theta_traveled_th_(_params.theta_traveled_th_),
const Scalar& _unmeasured_perturbation_std) : cov_det_th_(_params.cov_det_th_),
ProcessorMotion("ODOM 2D", 3, 3, 3, 2), elapsed_time_th_(_params.elapsed_time_th_)
dist_traveled_th_(_dist_traveled_th),
theta_traveled_th_(_theta_traveled_th),
cov_det_th_(_cov_det_th),
elapsed_time_th_(_elapsed_time_th)
{ {
unmeasured_perturbation_cov_ = _unmeasured_perturbation_std * _unmeasured_perturbation_std * Matrix3s::Identity(); unmeasured_perturbation_cov_ = _params.unmeasured_perturbation_std_ * _params.unmeasured_perturbation_std_ * Matrix3s::Identity();
} }
ProcessorOdom2D::~ProcessorOdom2D() ProcessorOdom2D::~ProcessorOdom2D()
...@@ -180,11 +176,7 @@ ProcessorBasePtr ProcessorOdom2D::create(const std::string& _unique_name, const ...@@ -180,11 +176,7 @@ ProcessorBasePtr ProcessorOdom2D::create(const std::string& _unique_name, const
{ {
std::shared_ptr<ProcessorParamsOdom2D> params = std::static_pointer_cast<ProcessorParamsOdom2D>(_params); std::shared_ptr<ProcessorParamsOdom2D> params = std::static_pointer_cast<ProcessorParamsOdom2D>(_params);
prc_ptr = std::make_shared<ProcessorOdom2D>(params->dist_traveled_th_, prc_ptr = std::make_shared<ProcessorOdom2D>(*params);
params->theta_traveled_th_,
params->cov_det_th_,
params->elapsed_time_th_,
params->unmeasured_perturbation_std_);
} }
else else
{ {
......
...@@ -21,22 +21,19 @@ WOLF_STRUCT_PTR_TYPEDEFS(ProcessorParamsOdom2D); ...@@ -21,22 +21,19 @@ WOLF_STRUCT_PTR_TYPEDEFS(ProcessorParamsOdom2D);
struct ProcessorParamsOdom2D : public ProcessorParamsBase struct ProcessorParamsOdom2D : public ProcessorParamsBase
{ {
Scalar dist_traveled_th_ = 1.0; Scalar dist_traveled_th_ = 1.0; // 1m
Scalar theta_traveled_th_ = 0.17; Scalar theta_traveled_th_ = 0.17; // 90 degrees
Scalar cov_det_th_ = 1.0; Scalar cov_det_th_ = 1.0; // 1 rad^2
Scalar elapsed_time_th_ = 1.0; Scalar elapsed_time_th_ = 1.0; // 1s
Scalar unmeasured_perturbation_std_ = 0.001; Scalar unmeasured_perturbation_std_ = 0.001; // no particular dimension: the same for displacement and angle
}; };
class ProcessorOdom2D : public ProcessorMotion class ProcessorOdom2D : public ProcessorMotion
{ {
public: public:
ProcessorOdom2D(const Scalar& _traveled_dist_th = 1.0, ProcessorOdom2D(const ProcessorParamsOdom2D& _params = ProcessorParamsOdom2D());
const Scalar& _theta_traveled_th = 0.17,
const Scalar& _cov_det_th = 1.0,
const Scalar& _elapsed_time_th = 1.0,
const Scalar& _unmeasured_perturbation_std = 0.001);
virtual ~ProcessorOdom2D(); virtual ~ProcessorOdom2D();
virtual bool voteForKeyFrame() override; virtual bool voteForKeyFrame() override;
protected: protected:
......
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