Skip to content
Snippets Groups Projects

Resolve "Implement use of ParamsSensorBase in class SensorBase"

Files
7
@@ -95,6 +95,14 @@ SensorBasePtr create(const std::string& _unique_name, const Eigen::VectorXd& _ex
@@ -95,6 +95,14 @@ SensorBasePtr create(const std::string& _unique_name, const Eigen::VectorXd& _ex
struct ParamsSensorBase: public ParamsBase
struct ParamsSensorBase: public ParamsBase
{
{
std::string prefix = "sensor/";
std::string prefix = "sensor/";
 
Eigen::VectorXd noise_std; // std of sensor noise
 
Eigen::MatrixXd noise_cov; // cov matrix of noise
 
ParamsSensorBase(std::string _unique_name, const ParamsServer& _server):
 
ParamsBase(_unique_name, _server)
 
{
 
noise_std = _server.getParam<Eigen::VectorXd>(prefix + _unique_name + "/noise_std");
 
noise_cov = noise_std.array().square().matrix().asDiagonal();
 
}
~ParamsSensorBase() override = default;
~ParamsSensorBase() override = default;
using ParamsBase::ParamsBase;
using ParamsBase::ParamsBase;
std::string print() const override
std::string print() const override
@@ -121,8 +129,7 @@ class SensorBase : public NodeBase, public HasStateBlocks, public std::enable_sh
@@ -121,8 +129,7 @@ class SensorBase : public NodeBase, public HasStateBlocks, public std::enable_sh
std::map<char, FeatureBasePtr> params_prior_map_; // Priors (value and covariance) of extrinsic & intrinsic state blocks (by key in state_block_map_)
std::map<char, FeatureBasePtr> params_prior_map_; // Priors (value and covariance) of extrinsic & intrinsic state blocks (by key in state_block_map_)
protected:
protected:
Eigen::VectorXd noise_std_; // std of sensor noise
ParamsSensorBase params_;
Eigen::MatrixXd noise_cov_; // cov matrix of noise
CaptureBasePtr last_capture_; // last capture of the sensor (in the WOLF tree)
CaptureBasePtr last_capture_; // last capture of the sensor (in the WOLF tree)
@@ -336,12 +343,12 @@ inline bool SensorBase::isStateBlockDynamic(const char& _key) const
@@ -336,12 +343,12 @@ inline bool SensorBase::isStateBlockDynamic(const char& _key) const
inline Eigen::VectorXd SensorBase::getNoiseStd() const
inline Eigen::VectorXd SensorBase::getNoiseStd() const
{
{
return noise_std_;
return params_.noise_std;
}
}
inline Eigen::MatrixXd SensorBase::getNoiseCov() const
inline Eigen::MatrixXd SensorBase::getNoiseCov() const
{
{
return noise_cov_;
return params_.noise_cov;
}
}
inline HardwareBasePtr SensorBase::getHardware() const
inline HardwareBasePtr SensorBase::getHardware() const
Loading