Template Struct SE2Base¶
Defined in File SE2_base.h
Inheritance Relationships¶
Base Type¶
public manif::LieGroupBase< _Derived >
(Template Struct LieGroupBase)
Struct Documentation¶
-
template<typename _Derived>
struct SE2Base : public manif::LieGroupBase<_Derived>¶ The base class of the SE2 group.
Note
See Appendix C of the paper.
Public Types
-
using Isometry = Eigen::Transform<Scalar, 2, Eigen::Isometry>¶
Public Functions
-
template<typename _EigenDerived>
Eigen::Matrix<typename SE2Base<_Derived>::Scalar, 2, 1> act(const Eigen::MatrixBase<_EigenDerived> &v, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 2, 3>>> J_vout_m, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 2, 2>>> 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(SE2Base) public Tangent log (OptJacobianRef J_t_m={}) const
Get the inverse of this.
Get the SE2 corresponding Lie algebra element in vector form.
See also
Note
See Eqs. (154, 160).
Note
This is the log() map in vector form.
Note
See Eqs. (157, 158).
- 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 SE2 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 SE2 element.
Note
See Eq. (155) & Eqs. (161,162).
- Parameters:
m – [in] Another SE2 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, 2, 1> act(const Eigen::MatrixBase<_EigenDerived> &v, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 2, 3>>> J_vout_m = {}, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 2, 2>>> J_vout_v = {}) const¶ Rigid motion action on a 2D point.
Note
See Eq. (165) & Eqs. (166,167).
- Parameters:
v – A 2D 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.
- Returns:
The transformed 2D point.
-
Transformation transform() const¶
Get the transformation matrix (2D isometry).
Note
T = | R t | | 0 1 |
-
Translation translation() const¶
Get the translational part of this as a vector.
-
Scalar real() const¶
Get the real part of the underlying complex number representing the rotational part.
-
Scalar imag() const¶
Get the imaginary part of the underlying complex number representing the rotational part.
-
Scalar angle() const¶
Get the angle (rad.) of the rotational part.
-
Scalar x() const¶
Get the x component of the translational part.
-
Scalar y() const¶
Get the y component of the translational part.
-
void normalize()¶
Normalize the underlying complex number.
-
using Isometry = Eigen::Transform<Scalar, 2, Eigen::Isometry>¶