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

Remove Intrinsics constructors. Add virtual destructors.

parent e1c9f020
No related branches found
No related tags found
1 merge request!187Sensors api
...@@ -20,6 +20,7 @@ namespace wolf { ...@@ -20,6 +20,7 @@ namespace wolf {
struct IntrinsicsGPS : public IntrinsicsBase struct IntrinsicsGPS : public IntrinsicsBase
{ {
// add GPS parameters here // add GPS parameters here
virtual ~IntrinsicsGPS() = default;
}; };
WOLF_PTR_TYPEDEFS(SensorGPS); WOLF_PTR_TYPEDEFS(SensorGPS);
......
...@@ -15,6 +15,7 @@ namespace wolf { ...@@ -15,6 +15,7 @@ namespace wolf {
struct IntrinsicsGPSFix : public IntrinsicsBase struct IntrinsicsGPSFix : public IntrinsicsBase
{ {
// Empty -- it acts only as a typedef for IntrinsicsBase, but allows future extension with parameters // Empty -- it acts only as a typedef for IntrinsicsBase, but allows future extension with parameters
virtual ~IntrinsicsGPSFix() = default;
}; };
WOLF_PTR_TYPEDEFS(SensorGPSFix); WOLF_PTR_TYPEDEFS(SensorGPSFix);
......
...@@ -15,25 +15,18 @@ WOLF_STRUCT_PTR_TYPEDEFS(IntrinsicsIMU); ...@@ -15,25 +15,18 @@ WOLF_STRUCT_PTR_TYPEDEFS(IntrinsicsIMU);
struct IntrinsicsIMU : public IntrinsicsBase struct IntrinsicsIMU : public IntrinsicsBase
{ {
//noise std dev //noise std dev
wolf::Scalar w_noise; //standard deviation of Gyroscope noise (same for all the axis) in rad/sec/ sqrt(s) wolf::Scalar w_noise = 0.001; //standard deviation of Gyroscope noise (same for all the axis) in rad/sec/ sqrt(s)
wolf::Scalar a_noise; //standard deviation of Acceleration noise (same for all the axis) in m/s2/sqrt(s) wolf::Scalar a_noise = 0.04; //standard deviation of Acceleration noise (same for all the axis) in m/s2/sqrt(s)
//Initial biases std dev //Initial biases std dev
wolf::Scalar ab_initial_stdev; //accelerometer micro_g/sec wolf::Scalar ab_initial_stdev = 0.01; //accelerometer micro_g/sec
wolf::Scalar wb_initial_stdev; //gyroscope rad/sec wolf::Scalar wb_initial_stdev = 0.01; //gyroscope rad/sec
// bias rate of change std dev // bias rate of change std dev
Scalar ab_rate_stdev; Scalar ab_rate_stdev = 0.00001;
Scalar wb_rate_stdev; Scalar wb_rate_stdev = 0.00001;
IntrinsicsIMU() : virtual ~IntrinsicsIMU() = default;
w_noise(0.001),
a_noise(0.04),
ab_initial_stdev(0.00001),
wb_initial_stdev(0.00001),
ab_rate_stdev(0.00001),
wb_rate_stdev(0.00001)
{}
}; };
WOLF_PTR_TYPEDEFS(SensorIMU); WOLF_PTR_TYPEDEFS(SensorIMU);
......
...@@ -24,11 +24,10 @@ namespace wolf { ...@@ -24,11 +24,10 @@ namespace wolf {
*/ */
struct IntrinsicsBase struct IntrinsicsBase
{ {
IntrinsicsBase() = default; virtual ~IntrinsicsBase() = default;
virtual ~IntrinsicsBase() = default;
std::string type; std::string type;
std::string name; std::string name;
}; };
class SensorBase : public NodeBase, public std::enable_shared_from_this<SensorBase> class SensorBase : public NodeBase, public std::enable_shared_from_this<SensorBase>
......
...@@ -15,6 +15,8 @@ struct IntrinsicsCamera : public IntrinsicsBase ...@@ -15,6 +15,8 @@ struct IntrinsicsCamera : public IntrinsicsBase
unsigned int height; ///< Image height in pixels unsigned int height; ///< Image height in pixels
Eigen::Vector4s pinhole_model; ///< k = [u_0, v_0, alpha_u, alpha_v] vector of pinhole intrinsic parameters Eigen::Vector4s pinhole_model; ///< k = [u_0, v_0, alpha_u, alpha_v] vector of pinhole intrinsic parameters
Eigen::VectorXs distortion; ///< d = [d_1, d_2, d_3, ...] radial distortion coefficients Eigen::VectorXs distortion; ///< d = [d_1, d_2, d_3, ...] radial distortion coefficients
virtual ~IntrinsicsCamera() = default;
}; };
WOLF_PTR_TYPEDEFS(SensorCamera); WOLF_PTR_TYPEDEFS(SensorCamera);
......
...@@ -17,6 +17,8 @@ WOLF_STRUCT_PTR_TYPEDEFS(IntrinsicsLaser2D); ...@@ -17,6 +17,8 @@ WOLF_STRUCT_PTR_TYPEDEFS(IntrinsicsLaser2D);
struct IntrinsicsLaser2D : public IntrinsicsBase struct IntrinsicsLaser2D : public IntrinsicsBase
{ {
virtual ~IntrinsicsLaser2D() = default;
laserscanutils::LaserScanParams scan_params; laserscanutils::LaserScanParams scan_params;
}; };
......
...@@ -7,10 +7,12 @@ ...@@ -7,10 +7,12 @@
namespace wolf { namespace wolf {
WOLF_STRUCT_PTR_TYPEDEFS(IntrinsicsOdom2D) WOLF_STRUCT_PTR_TYPEDEFS(IntrinsicsOdom2D);
struct IntrinsicsOdom2D : public IntrinsicsBase struct IntrinsicsOdom2D : public IntrinsicsBase
{ {
virtual ~IntrinsicsOdom2D() = default;
Scalar k_disp_to_disp; ///< ratio of displacement variance to displacement, for odometry noise calculation Scalar k_disp_to_disp; ///< ratio of displacement variance to displacement, for odometry noise calculation
Scalar k_rot_to_rot; ///< ratio of rotation variance to rotation, for odometry noise calculation Scalar k_rot_to_rot; ///< ratio of rotation variance to rotation, for odometry noise calculation
}; };
......
...@@ -23,13 +23,8 @@ struct IntrinsicsOdom3D : public IntrinsicsBase ...@@ -23,13 +23,8 @@ struct IntrinsicsOdom3D : public IntrinsicsBase
Scalar min_disp_var; Scalar min_disp_var;
Scalar min_rot_var; Scalar min_rot_var;
IntrinsicsOdom3D() : virtual ~IntrinsicsOdom3D() = default;
k_disp_to_disp(0),
k_disp_to_rot(0),
k_rot_to_rot(0),
min_disp_var(0),
min_rot_var(0)
{}
}; };
WOLF_PTR_TYPEDEFS(SensorOdom3D); WOLF_PTR_TYPEDEFS(SensorOdom3D);
......
...@@ -16,30 +16,6 @@ namespace wolf { ...@@ -16,30 +16,6 @@ namespace wolf {
struct IntrinsicsDiffDrive : public IntrinsicsBase struct IntrinsicsDiffDrive : public IntrinsicsBase
{ {
IntrinsicsDiffDrive() = default;
IntrinsicsDiffDrive(const Scalar _left_radius,
const Scalar _right_radius,
const Scalar _separation,
const DiffDriveModel _model,
const Eigen::VectorXs& _factors,
const Scalar _left_resolution,
const Scalar _right_resolution,
const Scalar _left_gain,
const Scalar _right_gain) :
left_radius_(_left_radius),
right_radius_(_right_radius),
separation_(_separation),
model_(_model),
factors_(_factors),
left_resolution_(_left_resolution),
right_resolution_(_right_resolution),
left_gain_(_left_gain),
right_gain_(_right_gain)
{
//
}
Scalar left_radius_; Scalar left_radius_;
Scalar right_radius_; Scalar right_radius_;
Scalar separation_; Scalar separation_;
...@@ -53,6 +29,8 @@ struct IntrinsicsDiffDrive : public IntrinsicsBase ...@@ -53,6 +29,8 @@ struct IntrinsicsDiffDrive : public IntrinsicsBase
Scalar left_gain_ = 0.01; Scalar left_gain_ = 0.01;
Scalar right_gain_ = 0.01; Scalar right_gain_ = 0.01;
virtual ~IntrinsicsDiffDrive() = default;
}; };
typedef std::shared_ptr<IntrinsicsDiffDrive> IntrinsicsDiffDrivePtr; typedef std::shared_ptr<IntrinsicsDiffDrive> IntrinsicsDiffDrivePtr;
......
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