Template Struct SE_2_3Base¶
- Defined in File SE_2_3_base.h 
Inheritance Relationships¶
Base Type¶
- public manif::LieGroupBase< _Derived >(Template Struct LieGroupBase)
Struct Documentation¶
- 
template<typename _Derived>
 struct SE_2_3Base : public manif::LieGroupBase<_Derived>¶
- The base class of the SE_2_3 group. - Note - See Appendix A2 in the paper “The Invariant Extended Kalman filter as a stable - observer”. However, note that the serialization used in that paper is different from that defined below The paper uses a SE_2_3 definition as, X = |R v p| | 1 | | 1| with a vector space serialization as (w, a, v) Instead, here we define the SE_2_3 to be, X = |R p v| | 1 | | 1| with a vector space serialization as (v, w, a)- Public Types - 
using Transformation = Eigen::Matrix<Scalar, 5, 5>¶
 - 
using Isometry = Eigen::Matrix<Scalar, 5, 5>¶
- Double direct spatial isometry 
 - 
using QuaternionDataType = Eigen::Quaternion<Scalar>¶
 - Public Functions - 
template<typename _EigenDerived>
 Eigen::Matrix<typename SE_2_3Base<_Derived>::Scalar, 3, 1> act(const Eigen::MatrixBase<_EigenDerived> &v, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 3, 9>>> J_vout_m, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 3, 3>>> J_vout_v) const¶
 - 
DataType &coeffs()¶
- Access the underlying data by const reference. 
 - 
const DataType &coeffs() const¶
- Access the underlying data by const reference. 
 - Protected Functions - MANIF_DEFAULT_CONSTRUCTOR(SE_2_3Base) public Tangent log (OptJacobianRef J_t_m={}) const
- Get the inverse. - Get the SE_2_3 corresponding Lie algebra element in vector form. - See also - Note - This is the log() map in vector form. - Parameters:
- -optional- – [out] J_minv_m Jacobian of the inverse wrt this. 
- -optional- – [out] J_t_m Jacobian of the tangent wrt to this. 
 
- Returns:
- The SE_2_3 tangent of this. 
 
 - MANIF_DEPRECATED Tangent lift (OptJacobianRef J_t_m={}) const
- This function is deprecated. Please considere using log instead. 
 - 
template<typename _DerivedOther>
 LieGroup compose(const LieGroupBase<_DerivedOther> &m, OptJacobianRef J_mc_ma = {}, OptJacobianRef J_mc_mb = {}) const¶
- Composition of this and another SE_2_3 element. - Parameters:
- m – [in] Another SE_2_3 element. 
- -optional- – [out] J_mc_ma Jacobian of the composition wrt this. 
- -optional- – [out] J_mc_mb Jacobian of the composition wrt m. 
 
- Returns:
- The composition of ‘this . m’. 
 
 - 
template<typename _EigenDerived>
 Eigen::Matrix<Scalar, 3, 1> act(const Eigen::MatrixBase<_EigenDerived> &v, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 3, 9>>> J_vout_m = {}, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 3, 3>>> J_vout_v = {}) const¶
- Get the action of the underlying SE(3) element on a 3d point. - Note - this method by default returns a rigid motion action on 3d points and does not take into account the embedded linear velocity of total SE_2(3) element - Parameters:
- v – [in] A 3D point. 
- -optional- – [out] J_vout_m The Jacobian of the new object wrt this. 
- -optional- – [out] J_vout_v The Jacobian of the new object wrt input object. 
 
 
 - 
Transformation transform() const¶
- Get the isometry object (double direct isometry). - Note - T = | R t v| | 1 | | 1| 
 - 
Isometry isometry() const¶
- Get the isometry object (double direct isometry). - Note - T = | R t v| | 1 | | 1| 
 - 
QuaternionDataType quat() const¶
- Get the rotational part of this as a quaternion. 
 - 
Translation translation() const¶
- Get the translational part in vector form. 
 - 
Scalar x() const¶
- Get the x component of the translational part. 
 - 
Scalar y() const¶
- Get the y component of translational part. 
 - 
Scalar z() const¶
- Get the z component of translational part. 
 - 
LinearVelocity linearVelocity() const¶
- Get the linear velocity part in vector form. 
 - 
Scalar vx() const¶
- Get the x component of the linear velocity part. 
 - 
Scalar vy() const¶
- Get the y component of linear velocity part. 
 - 
Scalar vz() const¶
- Get the z component of linear velocity part. 
 - 
void normalize()¶
- Normalize the underlying quaternion. 
 
- 
using Transformation = Eigen::Matrix<Scalar, 5, 5>¶
