25 #ifndef INCLUDED_AngularVelocityMeasurement_h_GUID_73F00F72_643C_45BC_C0BC_291214F14CF3
26 #define INCLUDED_AngularVelocityMeasurement_h_GUID_73F00F72_643C_45BC_C0BC_291214F14CF3
43 class AngularVelocityBase {
45 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
47 using MeasurementVector = types::Vector<DIMENSION>;
48 using MeasurementDiagonalMatrix = types::DiagonalMatrix<DIMENSION>;
49 AngularVelocityBase(MeasurementVector
const &vel,
50 MeasurementVector
const &variance)
51 : m_measurement(vel), m_covariance(variance.asDiagonal()) {}
53 template <
typename State>
54 MeasurementDiagonalMatrix
const &getCovariance(State
const &) {
63 template <
typename State>
64 MeasurementVector getResidual(State
const &s)
const {
65 const MeasurementVector residual =
66 m_measurement - s.angularVelocity();
71 void setMeasurement(MeasurementVector
const &vel) {
76 MeasurementVector m_measurement;
77 MeasurementDiagonalMatrix m_covariance;
87 :
public AngularVelocityBase {
89 using State = pose_externalized_rotation::State;
90 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
93 using Base = AngularVelocityBase;
96 MeasurementVector
const &variance)
97 : Base(vel, variance) {}
100 getJacobian(State
const &)
const {
102 Jacobian ret = Jacobian::Zero();
113 :
public AngularVelocityBase {
115 using State = orient_externalized_rotation::State;
116 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
119 using Base = AngularVelocityBase;
122 MeasurementVector
const &variance)
123 : Base(vel, variance) {}
126 getJacobian(State
const &)
const {
128 Jacobian ret = Jacobian::Zero();
135 #endif // INCLUDED_AngularVelocityMeasurement_h_GUID_73F00F72_643C_45BC_C0BC_291214F14CF3
typename detail::Dimension_impl< T >::type Dimension
Eigen::Matrix< Scalar, n, n > SquareMatrix
A square matrix, n x n.
The main namespace for all C++ elements of the framework, internal and external.
Header wrapping include of and for warning quieting.
std::size_t DimensionType
Type for dimensions.
Eigen::Matrix< Scalar, m, n > Matrix
A matrix with rows = m, cols = n.