pinocchio  2.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > Struct Template Reference

Public Types

typedef JointModelBase< JointModelCompositeTplBase
 
typedef InertiaTpl< Scalar, Options > Inertia
 
typedef JointCollectionTpl< Scalar, Options > JointCollection
 
typedef JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
 
typedef JointModelTpl< Scalar, Options, JointCollectionTpl > JointModel
 
typedef JointModel JointModelVariant
 
typedef MotionTpl< Scalar, Options > Motion
 
typedef SE3Tpl< Scalar, Options > SE3
 

Public Member Functions

 JointModelCompositeTpl ()
 Default contructor.
 
template<typename JointModel >
 JointModelCompositeTpl (const JointModelBase< JointModel > &jmodel, const SE3 &placement=SE3::Identity())
 Constructor with one joint. More...
 
 JointModelCompositeTpl (const JointModelCompositeTpl &other)
 Copy constructor. More...
 
 JointModelCompositeTpl (const size_t size)
 Default contructor with a defined size.
 
template<typename JointModel >
JointModelDerived & addJoint (const JointModelBase< JointModel > &jmodel, const SE3 &placement=SE3::Identity())
 Add a joint to the vector of joints. More...
 
template<typename ConfigVectorType >
void calc (JointDataDerived &data, const Eigen::MatrixBase< ConfigVectorType > &qs) const
 
template<typename ConfigVectorType , typename TangentVectorType >
void calc (JointDataDerived &data, const Eigen::MatrixBase< ConfigVectorType > &qs, const Eigen::MatrixBase< TangentVectorType > &vs) const
 
template<typename Matrix6Like >
void calc_aba (JointDataDerived &data, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
 
template<typename NewScalar >
JointModelCompositeTpl< NewScalar, Options, JointCollectionTpl > cast () const
 
JointDataDerived createData () const
 
const std::vector< bool > hasConfigurationLimit () const
 
const std::vector< bool > hasConfigurationLimitInTangent () const
 
JointIndex id () const
 
int idx_q () const
 
int idx_v () const
 
bool isEqual (const JointModelBase< Derived > &other) const
 
template<class OtherDerived >
bool isEqual (const JointModelBase< OtherDerived > &) const
 
bool isEqual (const JointModelCompositeTpl &other) const
 
template<typename D >
SizeDepType< NV >::template ColsReturn< D >::ConstType jointCols (const Eigen::MatrixBase< D > &A) const
 
template<typename D >
SizeDepType< NV >::template ColsReturn< D >::Type jointCols (Eigen::MatrixBase< D > &A) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template ColsReturn< D >::ConstType jointCols_impl (const Eigen::MatrixBase< D > &A) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template ColsReturn< D >::Type jointCols_impl (Eigen::MatrixBase< D > &A) const
 
template<typename D >
SizeDepType< NQ >::template SegmentReturn< D >::ConstType jointConfigSelector (const Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< NQ >::template SegmentReturn< D >::Type jointConfigSelector (Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::ConstType jointConfigSelector_impl (const Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::Type jointConfigSelector_impl (Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< NV >::template SegmentReturn< D >::ConstType jointVelocitySelector (const Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< NV >::template SegmentReturn< D >::Type jointVelocitySelector (Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::ConstType jointVelocitySelector_impl (const Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::Type jointVelocitySelector_impl (Eigen::MatrixBase< D > &a) const
 
int nq () const
 
int nq_impl () const
 
int nv () const
 
int nv_impl () const
 
JointModelCompositeTploperator= (const JointModelCompositeTpl &other)
 
typedef PINOCCHIO_ALIGNED_STD_VECTOR (JointModel) JointModelVector
 
 PINOCCHIO_ALIGNED_STD_VECTOR (SE3) jointPlacements
 Vector of joint placements. Those placements correspond to the origin of the joint relatively to their parent.
 
 PINOCCHIO_JOINT_TYPEDEF_TEMPLATE (JointDerived)
 
void setIndexes (JointIndex id, int q, int v)
 
void setIndexes_impl (JointIndex id, int q, int v)
 Update the indexes of subjoints in the stack.
 
std::string shortname () const
 

Static Public Member Functions

static std::string classname ()
 

Public Attributes

JointModelVector joints
 Vector of joints contained in the joint composite.
 
int njoints
 Number of joints contained in the JointModelComposite.
 

Protected Member Functions

void updateJointIndexes ()
 Update the indexes of the joints contained in the composition according to the position of the joint composite.
 

Protected Attributes

std::vector< int > m_idx_q
 Keep information of both the dimension and the position of the joints in the composition. More...
 
std::vector< int > m_idx_v
 Index in the tangent vector.
 
int m_nq
 Dimensions of the config and tangent space of the composite joint.
 
std::vector< int > m_nqs
 Dimension of the segment in the config vector.
 
int m_nv
 
std::vector< int > m_nvs
 Dimension of the segment in the tangent vector.
 

Friends

template<typename , int , template< typename S, int O > class, typename , typename >
struct JointCompositeCalcFirstOrderStep
 
template<typename , int , template< typename S, int O > class, typename >
struct JointCompositeCalcZeroOrderStep
 
struct Serialize< JointModelCompositeTpl >
 

Detailed Description

template<typename _Scalar, int _Options, template< typename S, int O > class JointCollectionTpl>
struct pinocchio::JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >

Definition at line 85 of file fwd.hpp.

Constructor & Destructor Documentation

◆ JointModelCompositeTpl() [1/2]

JointModelCompositeTpl ( const JointModelBase< JointModel > &  jmodel,
const SE3 placement = SE3::Identity() 
)
inline

Constructor with one joint.

Parameters
jmodelModel of the first joint.
placementPlacement of the first joint w.r.t. the joint origin.

Definition at line 204 of file joint-composite.hpp.

◆ JointModelCompositeTpl() [2/2]

JointModelCompositeTpl ( const JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > &  other)
inline

Copy constructor.

Parameters
otherJointModel to copy.

Definition at line 220 of file joint-composite.hpp.

Member Function Documentation

◆ addJoint()

JointModelDerived& addJoint ( const JointModelBase< JointModel > &  jmodel,
const SE3 placement = SE3::Identity() 
)
inline

Add a joint to the vector of joints.

Parameters
jmodelModel of the joint to add.
placementPlacement of the joint relatively to its predecessor.
Returns
A reference to *this

Definition at line 241 of file joint-composite.hpp.

◆ cast()

JointModelCompositeTpl<NewScalar,Options,JointCollectionTpl> cast ( ) const
inline
Returns
An expression of *this with the Scalar type casted to NewScalar.

Definition at line 369 of file joint-composite.hpp.

Member Data Documentation

◆ m_idx_q

std::vector<int> m_idx_q
protected

Keep information of both the dimension and the position of the joints in the composition.

Index in the config vector

Definition at line 478 of file joint-composite.hpp.


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