From 795c3c5adc590b3b50bca3b30ab1fedf6fe96e93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Vallv=C3=A9=20Navarro?= <jvallve@iri.upc.edu> Date: Tue, 2 Nov 2021 13:40:17 +0100 Subject: [PATCH] new sensor for motion models --- CMakeLists.txt | 2 ++ include/core/sensor/sensor_model.h | 38 ++++++++++++++++++++++++++++++ src/sensor/sensor_model.cpp | 24 +++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 include/core/sensor/sensor_model.h create mode 100644 src/sensor/sensor_model.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index e01bf02de..94c02b1fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -265,6 +265,7 @@ SET(HDRS_SENSOR include/core/sensor/sensor_base.h include/core/sensor/sensor_diff_drive.h include/core/sensor/factory_sensor.h + include/core/sensor/sensor_model.h include/core/sensor/sensor_odom_2d.h include/core/sensor/sensor_odom_3d.h include/core/sensor/sensor_pose.h @@ -362,6 +363,7 @@ SET(SRCS_PROCESSOR SET(SRCS_SENSOR src/sensor/sensor_base.cpp src/sensor/sensor_diff_drive.cpp + src/sensor/sensor_model.cpp src/sensor/sensor_odom_2d.cpp src/sensor/sensor_odom_3d.cpp src/sensor/sensor_pose.cpp diff --git a/include/core/sensor/sensor_model.h b/include/core/sensor/sensor_model.h new file mode 100644 index 000000000..5e2a37df7 --- /dev/null +++ b/include/core/sensor/sensor_model.h @@ -0,0 +1,38 @@ +#ifndef SRC_SENSOR_MODEL_H_ +#define SRC_SENSOR_MODEL_H_ + +//wolf includes +#include "core/sensor/sensor_base.h" + +namespace wolf { + +WOLF_PTR_TYPEDEFS(SensorModel); + +class SensorModel : public SensorBase +{ + public: + SensorModel(); + ~SensorModel() override; + + static SensorBasePtr create(const std::string& _unique_name, + const ParamsServer& _server) + { + auto sensor = std::make_shared<SensorModel>(); + sensor ->setName(_unique_name); + return sensor; + } + + static SensorBasePtr create(const std::string& _unique_name, + const Eigen::VectorXd& _extrinsics, + const ParamsSensorBasePtr _intrinsics) + { + auto sensor = std::make_shared<SensorModel>(); + sensor ->setName(_unique_name); + return sensor; + } +}; + + +} /* namespace wolf */ + +#endif /* SRC_SENSOR_POSE_H_ */ diff --git a/src/sensor/sensor_model.cpp b/src/sensor/sensor_model.cpp new file mode 100644 index 000000000..6eb00f021 --- /dev/null +++ b/src/sensor/sensor_model.cpp @@ -0,0 +1,24 @@ +#include "core/sensor/sensor_model.h" + +namespace wolf { + + +SensorModel::SensorModel() : + SensorBase("SensorModel", nullptr, nullptr, nullptr, 6) +{ + // +} + +SensorModel::~SensorModel() +{ + // +} + +} // namespace wolf + +// Register in the FactorySensor +#include "core/sensor/factory_sensor.h" +namespace wolf { +WOLF_REGISTER_SENSOR(SensorModel); +WOLF_REGISTER_SENSOR_AUTO(SensorModel); +} -- GitLab