pinocchio  3.7.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_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_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

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>
static 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 >
static 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>
static SE3Tpl Random ( )
inlinestatic

Definition at line 154 of file se3-tpl.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_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: