pinocchio  3.9.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Loading...
Searching...
No Matches
SE3Tpl< _Scalar, _Options > Struct Template Reference
Inheritance diagram for SE3Tpl< _Scalar, _Options >:
Collaboration diagram for SE3Tpl< _Scalar, _Options >:

Public Types

typedef SE3Base< SE3Tpl< _Scalar, _Options > > Base
typedef traits< SE3Tpl >::Matrix3 Matrix3
typedef traits< SE3Tpl >::Matrix4 Matrix4
typedef traits< SE3Tpl >::Matrix6 Matrix6
typedef Eigen::Quaternion< Scalar, Options > Quaternion
typedef traits< SE3Tpl >::Vector3 Vector3
typedef traits< SE3Tpl >::Vector4 Vector4
Public Types inherited from NumericalBase< Derived >
typedef traits< Derived >::Scalar Scalar

Public Member Functions

template<typename Matrix3Like, typename Vector3Like>
 SE3Tpl (const Eigen::MatrixBase< Matrix3Like > &R, const Eigen::MatrixBase< Vector3Like > &trans)
template<typename Matrix4Like>
 SE3Tpl (const Eigen::MatrixBase< Matrix4Like > &m)
template<typename QuaternionLike, typename Vector3Like>
 SE3Tpl (const Eigen::QuaternionBase< QuaternionLike > &quat, const Eigen::MatrixBase< Vector3Like > &trans)
 SE3Tpl (const SE3Tpl &other)
template<typename S2, int O2>
 SE3Tpl (const SE3Tpl< S2, O2 > &other)
template<int O2>
 SE3Tpl (const SE3Tpl< Scalar, O2 > &clone)
 SE3Tpl (int)
template<int O2>
SE3Tpl __mult__ (const SE3Tpl< Scalar, O2 > &m2) const
template<typename D>
SE3GroupAction< D >::ReturnType act_impl (const D &d) const
 — GROUP ACTIONS ON M6, F6 and I6 —
template<int O2>
SE3Tpl act_impl (const SE3Tpl< Scalar, O2 > &m2) const
Vector3 act_impl (const Vector3 &p) const
template<typename D>
SE3GroupAction< D >::ReturnType actInv_impl (const D &d) const
 by = aXb.actInv(ay)
template<int O2>
SE3Tpl actInv_impl (const SE3Tpl< Scalar, O2 > &m2) const
Vector3 actInv_impl (const Vector3 &p) const
template<typename MapDerived>
Vector3 actInvOnEigenObject (const Eigen::MapBase< MapDerived > &p) const
template<typename EigenDerived>
EigenDerived::PlainObject actInvOnEigenObject (const Eigen::MatrixBase< EigenDerived > &p) const
template<typename MapDerived>
Vector3 actOnEigenObject (const Eigen::MapBase< MapDerived > &p) const
template<typename EigenDerived>
EigenDerived::PlainObject actOnEigenObject (const Eigen::MatrixBase< EigenDerived > &p) const
template<typename NewScalar>
SE3Tpl< NewScalar, Options > cast () const
void disp_impl (std::ostream &os) const
template<typename OtherScalar>
SE3Tpl< Scalar, Options > Interpolate (const SE3Tpl &A, const SE3Tpl &B, const OtherScalar &alpha)
SE3Tpl inverse () const
 aXb = bXa.inverse()
template<int O2>
bool isApprox_impl (const SE3Tpl< Scalar, O2 > &m2, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
template<int O2>
bool isEqual (const SE3Tpl< Scalar, O2 > &m2) const
bool isIdentity (const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
bool isNormalized (const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
void normalize ()
PlainType normalized () const
SE3Tploperator= (const SE3Tpl &other)
 Copy assignment operator.
template<int O2>
SE3Tploperator= (const SE3Tpl< Scalar, O2 > &other)
 PINOCCHIO_SE3_TYPEDEF_TPL (SE3Tpl)
AngularRef rotation ()
ConstAngularRef rotation () const
void rotation (const AngularType &R)
AngularRef rotation_impl ()
ConstAngularRef rotation_impl () const
void rotation_impl (const AngularType &R)
SE3TplsetIdentity ()
SE3TplsetRandom ()
ActionMatrixType toActionMatrix_impl () const
template<typename Matrix6Like>
void toActionMatrix_impl (const Eigen::MatrixBase< Matrix6Like > &action_matrix) const
 Vb.toVector() = bXa.toMatrix() * Va.toVector()
ActionMatrixType toActionMatrixInverse_impl () const
template<typename Matrix6Like>
void toActionMatrixInverse_impl (const Eigen::MatrixBase< Matrix6Like > &action_matrix_inverse) const
ActionMatrixType toDualActionMatrix_impl () const
template<typename Matrix6Like>
void toDualActionMatrix_impl (const Eigen::MatrixBase< Matrix6Like > &dual_action_matrix) const
HomogeneousMatrixType toHomogeneousMatrix_impl () const
LinearRef translation ()
ConstLinearRef translation () const
void translation (const LinearType &t)
LinearRef translation_impl ()
ConstLinearRef translation_impl () const
void translation_impl (const LinearType &p)
Public Member Functions inherited from SE3Base< SE3Tpl< _Scalar, _Options > >
SE3GroupAction< D >::ReturnType act (const D &d) const
 ay = aXb.act(by)
SE3GroupAction< D >::ReturnType actInv (const D &d) const
 by = aXb.actInv(ay)
SE3Tpl< _Scalar, _Options > & const_cast_derived () const
SE3Tpl< _Scalar, _Options > & derived ()
const SE3Tpl< _Scalar, _Options > & derived () const
void disp (std::ostream &os) const
bool isApprox (const SE3Tpl< _Scalar, _Options > &other, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
bool isIdentity (const typename traits< SE3Tpl< _Scalar, _Options > >::Scalar &prec=Eigen::NumTraits< typename traits< SE3Tpl< _Scalar, _Options > >::Scalar >::dummy_precision()) const
bool isNormalized (const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
void normalize ()
 Normalize *this in such a way the rotation part of *this lies on SO(3).
PlainType normalized () const
 operator ActionMatrixType () const
 operator HomogeneousMatrixType () const
bool operator!= (const SE3Tpl< _Scalar, _Options > &other) const
SE3GroupAction< SE3Tpl< _Scalar, _Options > >::ReturnType operator* (const SE3Tpl< _Scalar, _Options > &m2) const
bool operator== (const SE3Tpl< _Scalar, _Options > &other) const
 PINOCCHIO_SE3_TYPEDEF_TPL (SE3Tpl< _Scalar, _Options >)
AngularRef rotation ()
ConstAngularRef rotation () const
void rotation (const AngularType &R)
ActionMatrixType toActionMatrix () const
 The action matrix $ {}^aX_b $ of $ {}^aM_b $.
void toActionMatrix (const Eigen::MatrixBase< Matrix6Like > &action_matrix) const
ActionMatrixType toActionMatrixInverse () const
 The action matrix $ {}^bX_a $ of $ {}^aM_b $.
void toActionMatrixInverse (const Eigen::MatrixBase< Matrix6Like > &action_matrix_inverse) const
ActionMatrixType toDualActionMatrix () const
void toDualActionMatrix (const Eigen::MatrixBase< Matrix6Like > &dual_action_matrix) const
HomogeneousMatrixType toHomogeneousMatrix () const
LinearRef translation ()
ConstLinearRef translation () const
void translation (const LinearType &t)

Static Public Member Functions

static SE3Tpl Identity ()
template<typename OtherScalar>
static SE3Tpl Interpolate (const SE3Tpl &A, const SE3Tpl &B, const OtherScalar &alpha)
 Linear interpolation on the SE3 manifold.
static SE3Tpl Random ()

Protected Attributes

AngularType rot
LinearType trans

Detailed Description

template<typename _Scalar, int _Options>
struct pinocchio::SE3Tpl< _Scalar, _Options >

Definition at line 48 of file se3-tpl.hpp.

Member Typedef Documentation

◆ Base

template<typename _Scalar, int _Options>
typedef SE3Base<SE3Tpl<_Scalar, _Options> > Base

Definition at line 53 of file se3-tpl.hpp.

◆ Matrix3

template<typename _Scalar, int _Options>
typedef traits<SE3Tpl>::Matrix3 Matrix3

Definition at line 56 of file se3-tpl.hpp.

◆ Matrix4

template<typename _Scalar, int _Options>
typedef traits<SE3Tpl>::Matrix4 Matrix4

Definition at line 57 of file se3-tpl.hpp.

◆ Matrix6

template<typename _Scalar, int _Options>
typedef traits<SE3Tpl>::Matrix6 Matrix6

Definition at line 59 of file se3-tpl.hpp.

◆ Quaternion

template<typename _Scalar, int _Options>
typedef Eigen::Quaternion<Scalar, Options> Quaternion

Definition at line 54 of file se3-tpl.hpp.

◆ Vector3

template<typename _Scalar, int _Options>
typedef traits<SE3Tpl>::Vector3 Vector3

Definition at line 55 of file se3-tpl.hpp.

◆ Vector4

template<typename _Scalar, int _Options>
typedef traits<SE3Tpl>::Vector4 Vector4

Definition at line 58 of file se3-tpl.hpp.

Constructor & Destructor Documentation

◆ SE3Tpl() [1/8]

template<typename _Scalar, int _Options>
SE3Tpl()
inline

Definition at line 64 of file se3-tpl.hpp.

◆ SE3Tpl() [2/8]

template<typename _Scalar, int _Options>
template<typename QuaternionLike, typename Vector3Like>
SE3Tpl(const Eigen::QuaternionBase< QuaternionLike > &quat,
const Eigen::MatrixBase< Vector3Like > &trans )
inline

Definition at line 69 of file se3-tpl.hpp.

◆ SE3Tpl() [3/8]

template<typename _Scalar, int _Options>
template<typename Matrix3Like, typename Vector3Like>
SE3Tpl(const Eigen::MatrixBase< Matrix3Like > &R,
const Eigen::MatrixBase< Vector3Like > &trans )
inline

Definition at line 79 of file se3-tpl.hpp.

◆ SE3Tpl() [4/8]

template<typename _Scalar, int _Options>
SE3Tpl(const SE3Tpl< _Scalar, _Options > &other)
inline

Definition at line 84 of file se3-tpl.hpp.

◆ SE3Tpl() [5/8]

template<typename _Scalar, int _Options>
template<typename S2, int O2>
SE3Tpl(const SE3Tpl< S2, O2 > &other)
inlineexplicit

Definition at line 90 of file se3-tpl.hpp.

◆ SE3Tpl() [6/8]

template<typename _Scalar, int _Options>
template<typename Matrix4Like>
SE3Tpl(const Eigen::MatrixBase< Matrix4Like > &m)
inlineexplicit

Definition at line 96 of file se3-tpl.hpp.

◆ SE3Tpl() [7/8]

template<typename _Scalar, int _Options>
SE3Tpl(int)
inlineexplicit

Definition at line 103 of file se3-tpl.hpp.

◆ SE3Tpl() [8/8]

template<typename _Scalar, int _Options>
template<int O2>
SE3Tpl(const SE3Tpl< Scalar, O2 > &clone)
inline

Definition at line 110 of file se3-tpl.hpp.

Member Function Documentation

◆ __mult__()

template<typename _Scalar, int _Options>
template<int O2>
SE3Tpl __mult__(const SE3Tpl< Scalar, O2 > &m2)const
inline

Definition at line 327 of file se3-tpl.hpp.

◆ act_impl() [1/3]

template<typename _Scalar, int _Options>
template<typename D>
SE3GroupAction< D >::ReturnType act_impl(const D &d)const
inline

— GROUP ACTIONS ON M6, F6 and I6 —

ay = aXb.act(by)

Definition at line 265 of file se3-tpl.hpp.

◆ act_impl() [2/3]

template<typename _Scalar, int _Options>
template<int O2>
SE3Tpl act_impl(const SE3Tpl< Scalar, O2 > &m2)const
inline

Definition at line 314 of file se3-tpl.hpp.

◆ act_impl() [3/3]

template<typename _Scalar, int _Options>
Vector3 act_impl(const Vector3 &p)const
inline

Definition at line 303 of file se3-tpl.hpp.

◆ actInv_impl() [1/3]

template<typename _Scalar, int _Options>
template<typename D>
SE3GroupAction< D >::ReturnType actInv_impl(const D &d)const
inline

by = aXb.actInv(ay)

Definition at line 272 of file se3-tpl.hpp.

◆ actInv_impl() [2/3]

template<typename _Scalar, int _Options>
template<int O2>
SE3Tpl actInv_impl(const SE3Tpl< Scalar, O2 > &m2)const
inline

Definition at line 320 of file se3-tpl.hpp.

◆ actInv_impl() [3/3]

template<typename _Scalar, int _Options>
Vector3 actInv_impl(const Vector3 &p)const
inline

Definition at line 308 of file se3-tpl.hpp.

◆ actInvOnEigenObject() [1/2]

template<typename _Scalar, int _Options>
template<typename MapDerived>
Vector3 actInvOnEigenObject(const Eigen::MapBase< MapDerived > &p)const
inline

Definition at line 298 of file se3-tpl.hpp.

◆ actInvOnEigenObject() [2/2]

template<typename _Scalar, int _Options>
template<typename EigenDerived>
EigenDerived::PlainObject actInvOnEigenObject(const Eigen::MatrixBase< EigenDerived > &p)const
inline

Definition at line 292 of file se3-tpl.hpp.

◆ actOnEigenObject() [1/2]

template<typename _Scalar, int _Options>
template<typename MapDerived>
Vector3 actOnEigenObject(const Eigen::MapBase< MapDerived > &p)const
inline

Definition at line 285 of file se3-tpl.hpp.

◆ actOnEigenObject() [2/2]

template<typename _Scalar, int _Options>
template<typename EigenDerived>
EigenDerived::PlainObject actOnEigenObject(const Eigen::MatrixBase< EigenDerived > &p)const
inline

Definition at line 279 of file se3-tpl.hpp.

◆ cast()

template<typename _Scalar, int _Options>
template<typename NewScalar>
SE3Tpl< NewScalar, Options > cast()const
inline
Returns
An expression of *this with the Scalar type casted to NewScalar.

Definition at line 379 of file se3-tpl.hpp.

◆ disp_impl()

template<typename _Scalar, int _Options>
void disp_impl(std::ostream &os)const
inline

Definition at line 256 of file se3-tpl.hpp.

◆ Identity()

template<typename _Scalar, int _Options>
SE3Tpl Identity()
inlinestatic

Definition at line 136 of file se3-tpl.hpp.

◆ Interpolate() [1/2]

template<typename _Scalar, int _Options>
template<typename OtherScalar>
SE3Tpl< Scalar, Options > Interpolate(const SE3Tpl< _Scalar, _Options > &A,
const SE3Tpl< _Scalar, _Options > &B,
const OtherScalar &alpha )

Definition at line 690 of file explog.hpp.

◆ Interpolate() [2/2]

template<typename _Scalar, int _Options>
template<typename OtherScalar>
SE3Tpl Interpolate(const SE3Tpl< _Scalar, _Options > &A,
const SE3Tpl< _Scalar, _Options > &B,
const OtherScalar &alpha )
static

Linear interpolation on the SE3 manifold.

Parameters
[in]AInitial transformation.
[in]BTarget transformation.
[in]alphaInterpolation factor in [0 ... 1].
Returns
An interpolated transformation between A and B.
Note
This is similar to the SLERP operation which acts initially for rotation but applied here to rigid transformation.

◆ inverse()

template<typename _Scalar, int _Options>
SE3Tpl inverse()const
inline

aXb = bXa.inverse()

Definition at line 149 of file se3-tpl.hpp.

◆ isApprox_impl()

template<typename _Scalar, int _Options>
template<int O2>
bool isApprox_impl(const SE3Tpl< Scalar, O2 > &m2,
const Scalar &prec = Eigen::NumTraits<Scalar>::dummy_precision() ) const
inline

Definition at line 339 of file se3-tpl.hpp.

◆ isEqual()

template<typename _Scalar, int _Options>
template<int O2>
bool isEqual(const SE3Tpl< Scalar, O2 > &m2)const
inline

Definition at line 333 of file se3-tpl.hpp.

◆ isIdentity()

template<typename _Scalar, int _Options>
bool isIdentity(const Scalar &prec = Eigen::NumTraits<Scalar>::dummy_precision())const
inline

Definition at line 347 of file se3-tpl.hpp.

◆ isNormalized()

template<typename _Scalar, int _Options>
bool isNormalized(const Scalar &prec = Eigen::NumTraits<Scalar>::dummy_precision())const
inline

Definition at line 390 of file se3-tpl.hpp.

◆ normalize()

template<typename _Scalar, int _Options>
void normalize()
inline

Definition at line 395 of file se3-tpl.hpp.

◆ normalized()

template<typename _Scalar, int _Options>
PlainType normalized()const
inline

Definition at line 400 of file se3-tpl.hpp.

◆ operator=() [1/2]

template<typename _Scalar, int _Options>
SE3Tpl & operator=(const SE3Tpl< _Scalar, _Options > &other)
inline

Copy assignment operator.

Parameters
[in]otherSE3 to copy

Definition at line 129 of file se3-tpl.hpp.

◆ operator=() [2/2]

template<typename _Scalar, int _Options>
template<int O2>
SE3Tpl & operator=(const SE3Tpl< Scalar, O2 > &other)
inline

Definition at line 117 of file se3-tpl.hpp.

◆ Random()

template<typename _Scalar, int _Options>
SE3Tpl Random()
inlinestatic

Definition at line 154 of file se3-tpl.hpp.

◆ rotation() [1/3]

template<typename _Scalar, int _Options>
AngularRef rotation()
inline

Definition at line 56 of file se3-base.hpp.

◆ rotation() [2/3]

template<typename _Scalar, int _Options>
ConstAngularRef rotation()const
inline

Definition at line 48 of file se3-base.hpp.

◆ rotation() [3/3]

template<typename _Scalar, int _Options>
void rotation(const AngularType &R)
inline

Definition at line 64 of file se3-base.hpp.

◆ rotation_impl() [1/3]

template<typename _Scalar, int _Options>
AngularRef rotation_impl()
inline

Definition at line 356 of file se3-tpl.hpp.

◆ rotation_impl() [2/3]

template<typename _Scalar, int _Options>
ConstAngularRef rotation_impl()const
inline

Definition at line 352 of file se3-tpl.hpp.

◆ rotation_impl() [3/3]

template<typename _Scalar, int _Options>
void rotation_impl(const AngularType &R)
inline

Definition at line 360 of file se3-tpl.hpp.

◆ setIdentity()

template<typename _Scalar, int _Options>
SE3Tpl & setIdentity()
inline

Definition at line 141 of file se3-tpl.hpp.

◆ setRandom()

template<typename _Scalar, int _Options>
SE3Tpl & setRandom()
inline

Definition at line 159 of file se3-tpl.hpp.

◆ toActionMatrix_impl() [1/2]

template<typename _Scalar, int _Options>
ActionMatrixType toActionMatrix_impl()const
inline

Definition at line 195 of file se3-tpl.hpp.

◆ toActionMatrix_impl() [2/2]

template<typename _Scalar, int _Options>
template<typename Matrix6Like>
void toActionMatrix_impl(const Eigen::MatrixBase< Matrix6Like > &action_matrix)const
inline

Vb.toVector() = bXa.toMatrix() * Va.toVector()

Definition at line 181 of file se3-tpl.hpp.

◆ toActionMatrixInverse_impl() [1/2]

template<typename _Scalar, int _Options>
ActionMatrixType toActionMatrixInverse_impl()const
inline

Definition at line 227 of file se3-tpl.hpp.

◆ toActionMatrixInverse_impl() [2/2]

template<typename _Scalar, int _Options>
template<typename Matrix6Like>
void toActionMatrixInverse_impl(const Eigen::MatrixBase< Matrix6Like > &action_matrix_inverse)const
inline

Definition at line 204 of file se3-tpl.hpp.

◆ toDualActionMatrix_impl() [1/2]

template<typename _Scalar, int _Options>
ActionMatrixType toDualActionMatrix_impl()const
inline

Definition at line 249 of file se3-tpl.hpp.

◆ toDualActionMatrix_impl() [2/2]

template<typename _Scalar, int _Options>
template<typename Matrix6Like>
void toDualActionMatrix_impl(const Eigen::MatrixBase< Matrix6Like > &dual_action_matrix)const
inline

Definition at line 235 of file se3-tpl.hpp.

◆ toHomogeneousMatrix_impl()

template<typename _Scalar, int _Options>
HomogeneousMatrixType toHomogeneousMatrix_impl()const
inline

Definition at line 169 of file se3-tpl.hpp.

◆ translation() [1/3]

template<typename _Scalar, int _Options>
LinearRef translation()
inline

Definition at line 60 of file se3-base.hpp.

◆ translation() [2/3]

template<typename _Scalar, int _Options>
ConstLinearRef translation()const
inline

Definition at line 52 of file se3-base.hpp.

◆ translation() [3/3]

template<typename _Scalar, int _Options>
void translation(const LinearType &t)
inline

Definition at line 68 of file se3-base.hpp.

◆ translation_impl() [1/3]

template<typename _Scalar, int _Options>
LinearRef translation_impl()
inline

Definition at line 368 of file se3-tpl.hpp.

◆ translation_impl() [2/3]

template<typename _Scalar, int _Options>
ConstLinearRef translation_impl()const
inline

Definition at line 364 of file se3-tpl.hpp.

◆ translation_impl() [3/3]

template<typename _Scalar, int _Options>
void translation_impl(const LinearType &p)
inline

Definition at line 372 of file se3-tpl.hpp.

Member Data Documentation

◆ rot

template<typename _Scalar, int _Options>
AngularType rot
protected

Definition at line 423 of file se3-tpl.hpp.

◆ trans

template<typename _Scalar, int _Options>
LinearType trans
protected

Definition at line 424 of file se3-tpl.hpp.


The documentation for this struct was generated from the following files: