mars_lib 0.1.0.2abe2576fe7f
Modular and Robust Sensor-Fusion
Loading...
Searching...
No Matches
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
 
Eigen::MatrixXd get_full_cov () const
 get_full_cov builds the full covariance matrix
 

Public Attributes

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

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:35
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: