11 #ifndef SENSORINTERFACE_H
12 #define SENSORINTERFACE_H
17 #include <Eigen/Dense>
25 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
43 std::shared_ptr<CoreType> latest_core_data) = 0;
54 virtual bool CalcUpdate(
const Time& timestamp, std::shared_ptr<void> measurement,
55 const CoreStateType& prior_core_state_data, std::shared_ptr<void> latest_sensor_data,
56 const Eigen::MatrixXd& prior_cov,
BufferDataType* new_state_data) = 0;
64 virtual Eigen::MatrixXd
get_covariance(
const std::shared_ptr<void>& sensor_data) = 0;
The BufferDataType binds the core and sensor state in form of a shared void pointer.
Definition: buffer_data_type.h:36
Definition: core_state_type.h:21
Definition: sensor_interface.h:23
virtual BufferDataType Initialize(const Time ×tamp, std::shared_ptr< void > measurement, std::shared_ptr< CoreType > latest_core_data)=0
Initialize the state of an individual sensor.
virtual void set_initial_calib(std::shared_ptr< void > calibration)=0
set_initial_calib Sets the calibration of an individual sensor
virtual EIGEN_MAKE_ALIGNED_OPERATOR_NEW ~SensorInterface()=default
virtual bool CalcUpdate(const Time ×tamp, std::shared_ptr< void > measurement, const CoreStateType &prior_core_state_data, std::shared_ptr< void > latest_sensor_data, const Eigen::MatrixXd &prior_cov, BufferDataType *new_state_data)=0
CalcUpdate Calculates the update for an individual sensor definition.
virtual Eigen::MatrixXd get_covariance(const std::shared_ptr< void > &sensor_data)=0
get_covariance Resolves a void pointer to the covariance matrix of the corresponding sensor type Each...