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

Public Member Functions

 VectorSpaceOperationTpl (const VectorSpaceOperationTpl &other)
 VectorSpaceOperationTpl (int size=boost::static_signed_max< 0, Dim >::value)
template<ArgumentPosition arg, class ConfigL_t, class ConfigR_t, class JacobianOut_t>
void dDifference_impl (const Eigen::MatrixBase< ConfigL_t > &, const Eigen::MatrixBase< ConfigR_t > &, const Eigen::MatrixBase< JacobianOut_t > &J) const
bool isEqual_impl (const VectorSpaceOperationTpl &other) const
std::string name () const
ConfigVector_t neutral () const
Index nq () const
Index nv () const
VectorSpaceOperationTploperator= (const VectorSpaceOperationTpl &other)
 PINOCCHIO_LIE_GROUP_TPL_PUBLIC_INTERFACE (VectorSpaceOperationTpl)
template<class ConfigL_t, class ConfigR_t, class ConfigOut_t>
void randomConfiguration_impl (const Eigen::MatrixBase< ConfigL_t > &lower_pos_limit, const Eigen::MatrixBase< ConfigR_t > &upper_pos_limit, const Eigen::MatrixBase< ConfigOut_t > &qout) const
Public Member Functions inherited from LieGroupBase< VectorSpaceOperationTpl< Dim, _Scalar, _Options > >
void integrate (const Eigen::MatrixBase< ConfigIn_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< ConfigOut_t > &qout) const
 Integrate a joint's configuration with a tangent vector during one unit time duration.
void integrateCoeffWiseJacobian (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Jacobian_t > &J) const
 Computes the Jacobian of the integrate operator around zero.
void dIntegrate (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianOut_t > &J, AssignmentOperatorType op=SETTO) const
 Computes the Jacobian of a small variation of the configuration vector or the tangent vector into tangent space at identity.
void dIntegrate_dq (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianOut_t > &J, const AssignmentOperatorType op=SETTO) const
 Computes the Jacobian of a small variation of the configuration vector into tangent space at identity.
void dIntegrate_dv (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianOut_t > &J, const AssignmentOperatorType op=SETTO) const
 Computes the Jacobian of a small variation of the tangent vector into tangent space at identity.
void dIntegrateTransport (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianIn_t > &Jin, const Eigen::MatrixBase< JacobianOut_t > &Jout, const ArgumentPosition arg) const
 Transport a matrix from the terminal to the initial tangent space of the integrate operation, with respect to the configuration or the velocity arguments.
void dIntegrateTransport_dq (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianIn_t > &Jin, const Eigen::MatrixBase< JacobianOut_t > &Jout) const
 Transport a matrix from the terminal to the initial tangent space of the integrate operation, with respect to the configuration argument.
void dIntegrateTransport_dv (const Eigen::MatrixBase< Config_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< JacobianIn_t > &Jin, const Eigen::MatrixBase< JacobianOut_t > &Jout) const
 Transport a matrix from the terminal to the initial tangent space of the integrate operation, with respect to the velocity argument.
void interpolate (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Scalar &u, const Eigen::MatrixBase< ConfigOut_t > &qout) const
 Interpolation between two joint's configurations.
void normalize (const Eigen::MatrixBase< Config_t > &qout) const
 Normalize the joint configuration given as input. For instance, the quaternion must be unitary.
bool isNormalized (const Eigen::MatrixBase< Config_t > &qin, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 Check whether the input joint configuration is normalized. For instance, the quaternion must be unitary.
void random (const Eigen::MatrixBase< Config_t > &qout) const
 Generate a random joint configuration, normalizing quaternions when necessary.
void randomConfiguration (const Eigen::MatrixBase< ConfigL_t > &lower_pos_limit, const Eigen::MatrixBase< ConfigR_t > &upper_pos_limit, const Eigen::MatrixBase< ConfigOut_t > &qout) const
 Generate a configuration vector uniformly sampled among provided limits.
void difference (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Eigen::MatrixBase< Tangent_t > &v) const
 Computes the tangent vector that must be integrated during one unit time to go from q0 to q1.
void dDifference (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Eigen::MatrixBase< JacobianOut_t > &J) const
 Computes the Jacobian of the difference operation with respect to q0 or q1.
Scalar squaredDistance (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1) const
 Squared distance between two joint configurations.
Scalar distance (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1) const
 Distance between two configurations of the joint.
bool isSameConfiguration (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 Check if two configurations are equivalent within the given precision.
bool operator== (const LieGroupBase &other) const
bool operator!= (const LieGroupBase &other) const
void dIntegrate_product_impl (const Config_t &q, const Tangent_t &v, const JacobianIn_t &Jin, JacobianOut_t &Jout, bool dIntegrateOnTheLeft, const ArgumentPosition arg, const AssignmentOperatorType op) const
void dDifference_product_impl (const ConfigL_t &q0, const ConfigR_t &q1, const JacobianIn_t &Jin, JacobianOut_t &Jout, bool dDifferenceOnTheLeft, const AssignmentOperatorType op) const
void interpolate_impl (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Scalar &u, const Eigen::MatrixBase< ConfigOut_t > &qout) const
void normalize_impl (const Eigen::MatrixBase< Config_t > &qout) const
bool isNormalized_impl (const Eigen::MatrixBase< Config_t > &qin, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
Scalar squaredDistance_impl (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1) const
bool isSameConfiguration_impl (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Scalar &prec) const
bool isEqual_impl (const LieGroupBase &) const
 Default equality check. By default, two LieGroupBase of same type are considered equal.
bool isDifferent_impl (const LieGroupBase &other) const
Index nq () const
Index nv () const
 Get dimension of Lie Group tangent space.
ConfigVector_t neutral () const
 Get neutral element as a vector.
std::string name () const
 Get name of instance.
VectorSpaceOperationTpl< Dim, _Scalar, _Options > & derived ()

Static Public Member Functions

template<ArgumentPosition arg, class ConfigL_t, class ConfigR_t, class JacobianIn_t, class JacobianOut_t>
static void dDifference_product_impl (const ConfigL_t &, const ConfigR_t &, const JacobianIn_t &Jin, JacobianOut_t &Jout, bool, const AssignmentOperatorType op)
template<class ConfigL_t, class ConfigR_t, class Tangent_t>
static void difference_impl (const Eigen::MatrixBase< ConfigL_t > &q0, const Eigen::MatrixBase< ConfigR_t > &q1, const Eigen::MatrixBase< Tangent_t > &d)
template<class Config_t, class Tangent_t, class JacobianOut_t>
static void dIntegrate_dq_impl (const Eigen::MatrixBase< Config_t > &, const Eigen::MatrixBase< Tangent_t > &, const Eigen::MatrixBase< JacobianOut_t > &J, const AssignmentOperatorType op=SETTO)
template<class Config_t, class Tangent_t, class JacobianOut_t>
static void dIntegrate_dv_impl (const Eigen::MatrixBase< Config_t > &, const Eigen::MatrixBase< Tangent_t > &, const Eigen::MatrixBase< JacobianOut_t > &J, const AssignmentOperatorType op=SETTO)
template<class Config_t, class Tangent_t, class JacobianIn_t, class JacobianOut_t>
static void dIntegrate_product_impl (const Config_t &, const Tangent_t &, const JacobianIn_t &Jin, JacobianOut_t &Jout, bool, const ArgumentPosition, const AssignmentOperatorType op)
template<class Config_t, class Tangent_t, class Jacobian_t>
static void dIntegrateTransport_dq_impl (const Eigen::MatrixBase< Config_t > &, const Eigen::MatrixBase< Tangent_t > &, const Eigen::MatrixBase< Jacobian_t > &)
template<class Config_t, class Tangent_t, class JacobianIn_t, class JacobianOut_t>
static void dIntegrateTransport_dq_impl (const Eigen::MatrixBase< Config_t > &, const Eigen::MatrixBase< Tangent_t > &, const Eigen::MatrixBase< JacobianIn_t > &Jin, const Eigen::MatrixBase< JacobianOut_t > &Jout)
template<class Config_t, class Tangent_t, class Jacobian_t>
static void dIntegrateTransport_dv_impl (const Eigen::MatrixBase< Config_t > &, const Eigen::MatrixBase< Tangent_t > &, const Eigen::MatrixBase< Jacobian_t > &)
template<class Config_t, class Tangent_t, class JacobianIn_t, class JacobianOut_t>
static void dIntegrateTransport_dv_impl (const Eigen::MatrixBase< Config_t > &, const Eigen::MatrixBase< Tangent_t > &, const Eigen::MatrixBase< JacobianIn_t > &Jin, const Eigen::MatrixBase< JacobianOut_t > &Jout)
template<class ConfigIn_t, class Velocity_t, class ConfigOut_t>
static void integrate_impl (const Eigen::MatrixBase< ConfigIn_t > &q, const Eigen::MatrixBase< Velocity_t > &v, const Eigen::MatrixBase< ConfigOut_t > &qout)
template<class Config_t, class Jacobian_t>
static void integrateCoeffWiseJacobian_impl (const Eigen::MatrixBase< Config_t > &, const Eigen::MatrixBase< Jacobian_t > &J)
template<class Config_t>
static bool isNormalized_impl (const Eigen::MatrixBase< Config_t > &, const Scalar &)
template<class Config_t>
static void normalize_impl (const Eigen::MatrixBase< Config_t > &)
template<class Config_t>
static void random_impl (const Eigen::MatrixBase< Config_t > &qout)

Additional Inherited Members

Public Types inherited from LieGroupBase< VectorSpaceOperationTpl< Dim, _Scalar, _Options > >
enum  
typedef Eigen::Matrix< Scalar, NQ, 1, Options > ConfigVector_t
typedef int Index
typedef Eigen::Matrix< Scalar, NV, NV, Options > JacobianMatrix_t
typedef VectorSpaceOperationTpl< Dim, _Scalar, _Options > LieGroupDerived
typedef traits< LieGroupDerived >::Scalar Scalar
typedef Eigen::Matrix< Scalar, NV, 1, Options > TangentVector_t
Protected Member Functions inherited from LieGroupBase< VectorSpaceOperationTpl< Dim, _Scalar, _Options > >
 LieGroupBase ()
LieGroupBaseoperator= (const LieGroupBase &)

Detailed Description

template<int Dim, typename _Scalar, int _Options>
struct pinocchio::VectorSpaceOperationTpl< Dim, _Scalar, _Options >

Definition at line 31 of file vector-space.hpp.

Constructor & Destructor Documentation

◆ VectorSpaceOperationTpl() [1/2]

template<int Dim, typename _Scalar, int _Options>
VectorSpaceOperationTpl(intsize = boost::static_signed_max<0, Dim>::value)
inline

Constructor

Parameters
sizesize of the vector space: should be the equal to template argument for static sized vector-spaces.

Definition at line 39 of file vector-space.hpp.

◆ VectorSpaceOperationTpl() [2/2]

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

Constructor

Parameters
otherother VectorSpaceOperationTpl from which to retrieve size

Definition at line 47 of file vector-space.hpp.

Member Function Documentation

◆ dDifference_impl()

template<int Dim, typename _Scalar, int _Options>
template<ArgumentPosition arg, class ConfigL_t, class ConfigR_t, class JacobianOut_t>
void dDifference_impl(const Eigen::MatrixBase< ConfigL_t > &,
const Eigen::MatrixBase< ConfigR_t > &,
const Eigen::MatrixBase< JacobianOut_t > &J ) const
inline

Definition at line 92 of file vector-space.hpp.

◆ dDifference_product_impl()

template<int Dim, typename _Scalar, int _Options>
template<ArgumentPosition arg, class ConfigL_t, class ConfigR_t, class JacobianIn_t, class JacobianOut_t>
void dDifference_product_impl(const ConfigL_t &,
const ConfigR_t &,
const JacobianIn_t &Jin,
JacobianOut_t &Jout,
bool,
const AssignmentOperatorTypeop )
inlinestatic

Definition at line 110 of file vector-space.hpp.

◆ difference_impl()

template<int Dim, typename _Scalar, int _Options>
template<class ConfigL_t, class ConfigR_t, class Tangent_t>
void difference_impl(const Eigen::MatrixBase< ConfigL_t > &q0,
const Eigen::MatrixBase< ConfigR_t > &q1,
const Eigen::MatrixBase< Tangent_t > &d )
inlinestatic

Definition at line 83 of file vector-space.hpp.

◆ dIntegrate_dq_impl()

template<int Dim, typename _Scalar, int _Options>
template<class Config_t, class Tangent_t, class JacobianOut_t>
void dIntegrate_dq_impl(const Eigen::MatrixBase< Config_t > &,
const Eigen::MatrixBase< Tangent_t > &,
const Eigen::MatrixBase< JacobianOut_t > &J,
const AssignmentOperatorTypeop = SETTO )
inlinestatic

Definition at line 158 of file vector-space.hpp.

◆ dIntegrate_dv_impl()

template<int Dim, typename _Scalar, int _Options>
template<class Config_t, class Tangent_t, class JacobianOut_t>
void dIntegrate_dv_impl(const Eigen::MatrixBase< Config_t > &,
const Eigen::MatrixBase< Tangent_t > &,
const Eigen::MatrixBase< JacobianOut_t > &J,
const AssignmentOperatorTypeop = SETTO )
inlinestatic

Definition at line 183 of file vector-space.hpp.

◆ dIntegrate_product_impl()

template<int Dim, typename _Scalar, int _Options>
template<class Config_t, class Tangent_t, class JacobianIn_t, class JacobianOut_t>
void dIntegrate_product_impl(const Config_t &,
const Tangent_t &,
const JacobianIn_t &Jin,
JacobianOut_t &Jout,
bool,
const ArgumentPosition,
const AssignmentOperatorTypeop )
inlinestatic

Definition at line 208 of file vector-space.hpp.

◆ dIntegrateTransport_dq_impl() [1/2]

template<int Dim, typename _Scalar, int _Options>
template<class Config_t, class Tangent_t, class Jacobian_t>
void dIntegrateTransport_dq_impl(const Eigen::MatrixBase< Config_t > &,
const Eigen::MatrixBase< Tangent_t > &,
const Eigen::MatrixBase< Jacobian_t > & )
inlinestatic

Definition at line 255 of file vector-space.hpp.

◆ dIntegrateTransport_dq_impl() [2/2]

template<int Dim, typename _Scalar, int _Options>
template<class Config_t, class Tangent_t, class JacobianIn_t, class JacobianOut_t>
void dIntegrateTransport_dq_impl(const Eigen::MatrixBase< Config_t > &,
const Eigen::MatrixBase< Tangent_t > &,
const Eigen::MatrixBase< JacobianIn_t > &Jin,
const Eigen::MatrixBase< JacobianOut_t > &Jout )
inlinestatic

Definition at line 235 of file vector-space.hpp.

◆ dIntegrateTransport_dv_impl() [1/2]

template<int Dim, typename _Scalar, int _Options>
template<class Config_t, class Tangent_t, class Jacobian_t>
void dIntegrateTransport_dv_impl(const Eigen::MatrixBase< Config_t > &,
const Eigen::MatrixBase< Tangent_t > &,
const Eigen::MatrixBase< Jacobian_t > & )
inlinestatic

Definition at line 263 of file vector-space.hpp.

◆ dIntegrateTransport_dv_impl() [2/2]

template<int Dim, typename _Scalar, int _Options>
template<class Config_t, class Tangent_t, class JacobianIn_t, class JacobianOut_t>
void dIntegrateTransport_dv_impl(const Eigen::MatrixBase< Config_t > &,
const Eigen::MatrixBase< Tangent_t > &,
const Eigen::MatrixBase< JacobianIn_t > &Jin,
const Eigen::MatrixBase< JacobianOut_t > &Jout )
inlinestatic

Definition at line 245 of file vector-space.hpp.

◆ integrate_impl()

template<int Dim, typename _Scalar, int _Options>
template<class ConfigIn_t, class Velocity_t, class ConfigOut_t>
void integrate_impl(const Eigen::MatrixBase< ConfigIn_t > &q,
const Eigen::MatrixBase< Velocity_t > &v,
const Eigen::MatrixBase< ConfigOut_t > &qout )
inlinestatic

Definition at line 142 of file vector-space.hpp.

◆ integrateCoeffWiseJacobian_impl()

template<int Dim, typename _Scalar, int _Options>
template<class Config_t, class Jacobian_t>
void integrateCoeffWiseJacobian_impl(const Eigen::MatrixBase< Config_t > &,
const Eigen::MatrixBase< Jacobian_t > &J )
inlinestatic

Definition at line 151 of file vector-space.hpp.

◆ isEqual_impl()

template<int Dim, typename _Scalar, int _Options>
bool isEqual_impl(const VectorSpaceOperationTpl< Dim, _Scalar, _Options > &other)const
inline

Definition at line 314 of file vector-space.hpp.

◆ isNormalized_impl()

template<int Dim, typename _Scalar, int _Options>
template<class Config_t>
bool isNormalized_impl(const Eigen::MatrixBase< Config_t > &,
const Scalar & )
inlinestatic

Definition at line 281 of file vector-space.hpp.

◆ name()

template<int Dim, typename _Scalar, int _Options>
std::string name()const
inline

Definition at line 75 of file vector-space.hpp.

◆ neutral()

template<int Dim, typename _Scalar, int _Options>
ConfigVector_t neutral()const
inline

Definition at line 70 of file vector-space.hpp.

◆ normalize_impl()

template<int Dim, typename _Scalar, int _Options>
template<class Config_t>
void normalize_impl(const Eigen::MatrixBase< Config_t > &)
inlinestatic

Definition at line 275 of file vector-space.hpp.

◆ nq()

template<int Dim, typename _Scalar, int _Options>
Index nq()const
inline

Definition at line 61 of file vector-space.hpp.

◆ nv()

template<int Dim, typename _Scalar, int _Options>
Index nv()const
inline

Definition at line 65 of file vector-space.hpp.

◆ operator=()

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

Definition at line 54 of file vector-space.hpp.

◆ random_impl()

template<int Dim, typename _Scalar, int _Options>
template<class Config_t>
void random_impl(const Eigen::MatrixBase< Config_t > &qout)
inlinestatic

Definition at line 287 of file vector-space.hpp.

◆ randomConfiguration_impl()

template<int Dim, typename _Scalar, int _Options>
template<class ConfigL_t, class ConfigR_t, class ConfigOut_t>
void randomConfiguration_impl(const Eigen::MatrixBase< ConfigL_t > &lower_pos_limit,
const Eigen::MatrixBase< ConfigR_t > &upper_pos_limit,
const Eigen::MatrixBase< ConfigOut_t > &qout ) const
inline

Definition at line 293 of file vector-space.hpp.


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