mars_lib  0.1.0.3dc76ee85e09
Modular and Robust Sensor-Fusion
Public Member Functions | Public Attributes | List of all members
mars::BindSensorData< T > Class Template Reference

The BaseSensorData class binds the sensor state and covariance matrix. More...

#include </home/runner/work/mars_lib/mars_lib/source/mars/include/mars/sensors/bind_sensor_data.h>

+ Collaboration diagram for mars::BindSensorData< T >:

Public Member Functions

 BindSensorData ()
 
void set_cov (const Eigen::MatrixXd &cov)
 set_cov Takes a full covariance and separates sensor covariance and sensor-core cross-correlation More...
 
Eigen::MatrixXd get_full_cov () const
 get_full_cov builds the full covariance matrix More...
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW T state_
 
int full_cov_size_
 size of the full covariance More...
 
Eigen::MatrixXd sensor_cov_
 covariance of the sensor states More...
 
Eigen::MatrixXd core_sensor_cross_cov_
 cross-correlation between sensor states and the core More...
 

Detailed Description

template<typename T>
class mars::BindSensorData< T >

The BaseSensorData class binds the sensor state and covariance matrix.

The state is instanciated with the passed template (sensor state type) The sensor state class needs to define the error state. The BaseSensorData class initializes the covariance matrix based on this value.

Constructor & Destructor Documentation

◆ BindSensorData()

template<typename T >
mars::BindSensorData< T >::BindSensorData ( )
inline
41  {
42  core_sensor_cross_cov_ = Eigen::MatrixXd::Zero(CoreStateType::size_error_, state_.cov_size_);
43  sensor_cov_ = Eigen::MatrixXd::Zero(state_.cov_size_, state_.cov_size_);
45  }
EIGEN_MAKE_ALIGNED_OPERATOR_NEW T state_
Definition: bind_sensor_data.h:30
int full_cov_size_
size of the full covariance
Definition: bind_sensor_data.h:36
Eigen::MatrixXd core_sensor_cross_cov_
cross-correlation between sensor states and the core
Definition: bind_sensor_data.h:38
Eigen::MatrixXd sensor_cov_
covariance of the sensor states
Definition: bind_sensor_data.h:37
static constexpr int size_error_
Definition: core_state_type.h:38

Member Function Documentation

◆ set_cov()

template<typename T >
void mars::BindSensorData< T >::set_cov ( const Eigen::MatrixXd &  cov)
inline

set_cov Takes a full covariance and separates sensor covariance and sensor-core cross-correlation

Parameters
cov
52  {
53  // TODO(chb) allow this with changing sensor state sizes
56  }

◆ get_full_cov()

template<typename T >
Eigen::MatrixXd mars::BindSensorData< T >::get_full_cov ( ) const
inline

get_full_cov builds the full covariance matrix

Returns
sensor covariance and cross covariance, Core entrys are zero.
64  {
65  // TODO(chb) allow this with changing sensor state sizes
66  Eigen::MatrixXd full_cov;
67  full_cov.resize(full_cov_size_, full_cov_size_);
68 
69  // Set core elements to zero
72 
73  // Fill sensor covariance
74  full_cov.block(CoreStateType::size_error_, CoreStateType::size_error_, state_.cov_size_, state_.cov_size_) =
76 
77  // Fill cross covariance
78  full_cov.block(0, CoreStateType::size_error_, CoreStateType::size_error_, state_.cov_size_) =
80  full_cov.block(CoreStateType::size_error_, 0, state_.cov_size_, CoreStateType::size_error_) =
81  core_sensor_cross_cov_.transpose();
82 
83  return full_cov;
84  }
+ Here is the caller graph for this function:

Member Data Documentation

◆ state_

template<typename T >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW T mars::BindSensorData< T >::state_

◆ full_cov_size_

template<typename T >
int mars::BindSensorData< T >::full_cov_size_

size of the full covariance

◆ sensor_cov_

template<typename T >
Eigen::MatrixXd mars::BindSensorData< T >::sensor_cov_

covariance of the sensor states

◆ core_sensor_cross_cov_

template<typename T >
Eigen::MatrixXd mars::BindSensorData< T >::core_sensor_cross_cov_

cross-correlation between sensor states and the core


The documentation for this class was generated from the following file: