32template <
typename floatT>
36 ObsT observation = state.
pose.log().coeffs();
40template <
typename floatT>
52template <
typename floatT>
57 sigma = state2.
pose.lminus(state1.
pose).coeffs();
61template <
typename floatT>
66 manif::SE3Tangent<FloatT> tan;
67 tan.coeffs() << sigmaPoints;
69 new_state.
pose = state.
pose.lplus(tan);
76template <
typename floatT>
80 ObsT observation = state.
pose.log().coeffs();
84template <
typename floatT>
106template <
typename floatT>
112 manif::SE3Tangent<FloatT> tan;
113 tan.coeffs() << sigmaPoints.template segment<6>(0);
114 new_state.
pose = state.
pose.lplus(tan);
115 tan.coeffs() << sigmaPoints.template segment<6>(6);
121template <
typename floatT>
127 sigma.template segment<6>(0) = state2.
pose.lminus(state1.
pose).coeffs();
130 sigma.template segment<6>(6) = (state2.
velocity - state1.
velocity).coeffs();
137template <
typename floatT>
142 observation.template segment<3>(0) = state.
position;
143 observation.template segment<3>(3) = state.
orientation.log().coeffs();
147template <
typename floatT>
160template <
typename floatT>
166 manif::SO3Tangent<FloatT> tan;
167 tan.coeffs() << sigmaPoints.template segment<3>(3);
174template <
typename floatT>
This file is part of ArmarX.
manif::SE3< floatT > pose
manif::SE3< floatT >::Tangent velocity
manif::SE3< floatT > pose
manif::SO3< floatT > orientation
Eigen::Matrix< floatT, 3, 1 > position
ControlSE3< FloatT > ControlT
StateSE3< FloatT > StateT
static ObsT observationFunction(const StateT &state)
static StateT retraction(const StateT &state, const SigmaPointsT &sigmaPoints)
Eigen::Matrix< FloatT, dim::state, 1 > SigmaPointsT
Eigen::Matrix< FloatT, dim::control, 1 > ControlNoiseT
static StateT propagationFunction(const StateT &state, const ControlT &control, const ControlNoiseT &noise, FloatT dt)
Eigen::Matrix< FloatT, dim::obs, 1 > ObsT
static SigmaPointsT inverseRetraction(const StateT &state1, const StateT &state2)
ControlSE3xV< FloatT > ControlT
static SigmaPointsT inverseRetraction(const StateT &state1, const StateT &state2)
static ObsT observationFunction(const StateT &state)
Eigen::Matrix< FloatT, dim::state, 1 > SigmaPointsT
Eigen::Matrix< FloatT, dim::control, 1 > ControlNoiseT
StateSE3xV< FloatT > StateT
Eigen::Matrix< FloatT, dim::obs, 1 > ObsT
static StateT retraction(const StateT &state, const SigmaPointsT &sigmaPoints)
static StateT propagationFunction(const StateT &state, const ControlT &control, const ControlNoiseT &noise, FloatT dt)
static ObsT observationFunction(const StateT &state)
static StateT retraction(const StateT &state, const SigmaPointsT &sigmaPoints)
StateSO3xR3< FloatT > StateT
static StateT propagationFunction(const StateT &state, const ControlT &control, const ControlNoiseT &noise, FloatT dt)
ControlSO3xR3< FloatT > ControlT
Eigen::Matrix< FloatT, dim::state, 1 > SigmaPointsT
Eigen::Matrix< FloatT, dim::control, 1 > ControlNoiseT
Eigen::Matrix< FloatT, dim::obs, 1 > ObsT
static SigmaPointsT inverseRetraction(const StateT &state1, const StateT &state2)