diff --git a/src/sensor_GPS.h b/src/sensor_GPS.h index b36d09ae0055c177d42f05b6d3fb7517a4e9fd0a..c43cd13cb8a766fd6cfea67000d16d4262ee5f2a 100644 --- a/src/sensor_GPS.h +++ b/src/sensor_GPS.h @@ -20,6 +20,7 @@ namespace wolf { struct IntrinsicsGPS : public IntrinsicsBase { // add GPS parameters here + virtual ~IntrinsicsGPS() = default; }; WOLF_PTR_TYPEDEFS(SensorGPS); diff --git a/src/sensor_GPS_fix.h b/src/sensor_GPS_fix.h index 9cb5583a025eaab3264faa8943aaafbb4c720fd6..b2423e71ac6760716a2d311316d4b8583ee5d413 100644 --- a/src/sensor_GPS_fix.h +++ b/src/sensor_GPS_fix.h @@ -15,6 +15,7 @@ namespace wolf { struct IntrinsicsGPSFix : public IntrinsicsBase { // Empty -- it acts only as a typedef for IntrinsicsBase, but allows future extension with parameters + virtual ~IntrinsicsGPSFix() = default; }; WOLF_PTR_TYPEDEFS(SensorGPSFix); diff --git a/src/sensor_IMU.h b/src/sensor_IMU.h index 823c18507efe6976f002d310f6edf9c89de2b4da..a9509188fc2f091f4c31fc26576a6087eed38b02 100644 --- a/src/sensor_IMU.h +++ b/src/sensor_IMU.h @@ -15,25 +15,18 @@ WOLF_STRUCT_PTR_TYPEDEFS(IntrinsicsIMU); struct IntrinsicsIMU : public IntrinsicsBase { //noise std dev - wolf::Scalar w_noise; //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 w_noise = 0.001; //standard deviation of Gyroscope noise (same for all the axis) in rad/sec/ 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 - wolf::Scalar ab_initial_stdev; //accelerometer micro_g/sec - wolf::Scalar wb_initial_stdev; //gyroscope rad/sec + wolf::Scalar ab_initial_stdev = 0.01; //accelerometer micro_g/sec + wolf::Scalar wb_initial_stdev = 0.01; //gyroscope rad/sec // bias rate of change std dev - Scalar ab_rate_stdev; - Scalar wb_rate_stdev; - - IntrinsicsIMU() : - 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) - {} + Scalar ab_rate_stdev = 0.00001; + Scalar wb_rate_stdev = 0.00001; + + virtual ~IntrinsicsIMU() = default; }; WOLF_PTR_TYPEDEFS(SensorIMU); diff --git a/src/sensor_base.h b/src/sensor_base.h index 3a2de9957d572026fb637f0b1d19932974171686..a1befcf792bcb81cca58d972ff1ea33bf4e2b9df 100644 --- a/src/sensor_base.h +++ b/src/sensor_base.h @@ -24,11 +24,10 @@ namespace wolf { */ struct IntrinsicsBase { - IntrinsicsBase() = default; - virtual ~IntrinsicsBase() = default; + virtual ~IntrinsicsBase() = default; - std::string type; - std::string name; + std::string type; + std::string name; }; class SensorBase : public NodeBase, public std::enable_shared_from_this<SensorBase> diff --git a/src/sensor_camera.h b/src/sensor_camera.h index 7c61c98e2a04f5bd437820b6e3f5d17b79f3b8cb..4b3d565da7d8c0095d18cefe3b97789f195190e8 100644 --- a/src/sensor_camera.h +++ b/src/sensor_camera.h @@ -15,6 +15,8 @@ struct IntrinsicsCamera : public IntrinsicsBase 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::VectorXs distortion; ///< d = [d_1, d_2, d_3, ...] radial distortion coefficients + + virtual ~IntrinsicsCamera() = default; }; WOLF_PTR_TYPEDEFS(SensorCamera); diff --git a/src/sensor_laser_2D.h b/src/sensor_laser_2D.h index b1e3e9b2af5ed8fbe33a354264e018493178cddb..8c2aa85762d14ac5c50dbccee840de46a1418531 100644 --- a/src/sensor_laser_2D.h +++ b/src/sensor_laser_2D.h @@ -17,6 +17,8 @@ WOLF_STRUCT_PTR_TYPEDEFS(IntrinsicsLaser2D); struct IntrinsicsLaser2D : public IntrinsicsBase { + virtual ~IntrinsicsLaser2D() = default; + laserscanutils::LaserScanParams scan_params; }; diff --git a/src/sensor_odom_2D.h b/src/sensor_odom_2D.h index ad3b02ae557b023be9c4b279d106ce650d299a2f..b906bce9b5d4e72749c3d318aed2ee2d21aa1b89 100644 --- a/src/sensor_odom_2D.h +++ b/src/sensor_odom_2D.h @@ -7,10 +7,12 @@ namespace wolf { -WOLF_STRUCT_PTR_TYPEDEFS(IntrinsicsOdom2D) +WOLF_STRUCT_PTR_TYPEDEFS(IntrinsicsOdom2D); struct IntrinsicsOdom2D : public IntrinsicsBase { + virtual ~IntrinsicsOdom2D() = default; + 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 }; diff --git a/src/sensor_odom_3D.h b/src/sensor_odom_3D.h index c676edc95a66756a7d28b68299127dbd09a60d30..9ffef8d23eae9cfaa4fdf3d439636985350ab0f6 100644 --- a/src/sensor_odom_3D.h +++ b/src/sensor_odom_3D.h @@ -23,13 +23,8 @@ struct IntrinsicsOdom3D : public IntrinsicsBase Scalar min_disp_var; Scalar min_rot_var; - IntrinsicsOdom3D() : - k_disp_to_disp(0), - k_disp_to_rot(0), - k_rot_to_rot(0), - min_disp_var(0), - min_rot_var(0) - {} + virtual ~IntrinsicsOdom3D() = default; + }; WOLF_PTR_TYPEDEFS(SensorOdom3D); diff --git a/src/sensors/sensor_diff_drive.h b/src/sensors/sensor_diff_drive.h index 334fea3895676f923f84625997caf79b4637bafc..f4556a84a16c7a347f27a6f7f51ce913c02dc477 100644 --- a/src/sensors/sensor_diff_drive.h +++ b/src/sensors/sensor_diff_drive.h @@ -16,30 +16,6 @@ namespace wolf { 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 right_radius_; Scalar separation_; @@ -53,6 +29,8 @@ struct IntrinsicsDiffDrive : public IntrinsicsBase Scalar left_gain_ = 0.01; Scalar right_gain_ = 0.01; + + virtual ~IntrinsicsDiffDrive() = default; }; typedef std::shared_ptr<IntrinsicsDiffDrive> IntrinsicsDiffDrivePtr;