Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl > Struct Template Reference

#include <generic.hpp>

Public Types

enum  { Options = _Options }
 
typedef std::map< std::string, ConfigVectorTypeConfigVectorMap
 Map between a string (key) and a configuration vector. More...
 
typedef VectorXs ConfigVectorType
 Dense vectorized version of a joint configuration vector. More...
 
typedef DataTpl< Scalar, Options, JointCollectionTpl > Data
 
typedef ForceTpl< Scalar, OptionsForce
 
typedef FrameTpl< Scalar, OptionsFrame
 
typedef pinocchio::FrameIndex FrameIndex
 
typedef pinocchio::GeomIndex GeomIndex
 
typedef pinocchio::Index Index
 
typedef std::vector< IndexIndexVector
 
typedef InertiaTpl< Scalar, OptionsInertia
 
typedef JointCollectionTpl< Scalar, OptionsJointCollection
 
typedef JointDataTpl< Scalar, Options, JointCollectionTpl > JointData
 
typedef pinocchio::JointIndex JointIndex
 
typedef JointModelTpl< Scalar, Options, JointCollectionTpl > JointModel
 
typedef MotionTpl< Scalar, OptionsMotion
 
typedef SE3Tpl< Scalar, OptionsSE3
 
typedef VectorXs TangentVectorType
 Dense vectorized version of a joint tangent vector (e.g. velocity, acceleration, etc). It also handles the notion of co-tangent vector (e.g. torque, etc). More...
 
typedef Eigen::Matrix< Scalar, 3, 1, OptionsVector3
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1, OptionsVectorXs
 

Public Member Functions

FrameIndex addBodyFrame (const std::string &body_name, const JointIndex &parentJoint, const SE3 &body_placement=SE3::Identity(), int parentFrame=-1)
 Add a body to the frame tree. More...
 
FrameIndex addFrame (const Frame &frame, const bool append_inertia=true)
 Adds a frame to the kinematic tree. The inertia stored within the frame will be happened to the inertia supported by the joint (frame.parentJoint). More...
 
JointIndex addJoint (const JointIndex parent, const JointModel &joint_model, const SE3 &joint_placement, const std::string &joint_name)
 Add a joint to the kinematic tree with infinite bounds. More...
 
JointIndex addJoint (const JointIndex parent, const JointModel &joint_model, const SE3 &joint_placement, const std::string &joint_name, const VectorXs &max_effort, const VectorXs &max_velocity, const VectorXs &min_config, const VectorXs &max_config)
 
JointIndex addJoint (const JointIndex parent, const JointModel &joint_model, const SE3 &joint_placement, const std::string &joint_name, const VectorXs &max_effort, const VectorXs &max_velocity, const VectorXs &min_config, const VectorXs &max_config, const VectorXs &friction, const VectorXs &damping)
 
FrameIndex addJointFrame (const JointIndex &joint_index, int previous_frame_index=-1)
 Add a joint to the frame tree. More...
 
void appendBodyToJoint (const JointIndex joint_index, const Inertia &Y, const SE3 &body_placement=SE3::Identity())
 Append a body to a given joint of the kinematic tree. More...
 
template<typename NewScalar >
CastType< NewScalar, ModelTpl >::type cast () const
 
bool check () const
 Run check(fusion::list) with DEFAULT_CHECKERS as argument. More...
 
template<typename D >
bool check (const AlgorithmCheckerBase< D > &checker=AlgorithmCheckerBase< D >()) const
 Check the validity of the attributes of Model with respect to the specification of some algorithms. More...
 
bool check (const Data &data) const
 Run checkData on data and current model. More...
 
bool existBodyName (const std::string &name) const
 Check if a body given by its name exists. More...
 
bool existFrame (const std::string &name, const FrameType &type=(FrameType)(JOINT|FIXED_JOINT|BODY|OP_FRAME|SENSOR)) const
 Checks if a frame given by its name exists. More...
 
bool existJointName (const std::string &name) const
 Check if a joint given by its name exists. More...
 
FrameIndex getBodyId (const std::string &name) const
 Return the index of a body given by its name. More...
 
FrameIndex getFrameId (const std::string &name, const FrameType &type=(FrameType)(JOINT|FIXED_JOINT|BODY|OP_FRAME|SENSOR)) const
 Returns the index of a frame given by its name. More...
 
JointIndex getJointId (const std::string &name) const
 Return the index of a joint given by its name. More...
 
std::vector< bool > hasConfigurationLimit ()
 Check if joints have configuration limits. More...
 
std::vector< bool > hasConfigurationLimitInTangent ()
 Check if joints have configuration limits. More...
 
 ModelTpl ()
 Default constructor. Builds an empty model with no joints. More...
 
template<typename S2 , int O2>
 ModelTpl (const ModelTpl< S2, O2 > &other)
 Copy constructor by casting. More...
 
bool operator!= (const ModelTpl &other) const
 
bool operator== (const ModelTpl &other) const
 Equality comparison operator. More...
 
typedef PINOCCHIO_ALIGNED_STD_VECTOR (Frame) FrameVector
 
typedef PINOCCHIO_ALIGNED_STD_VECTOR (Inertia) InertiaVector
 
typedef PINOCCHIO_ALIGNED_STD_VECTOR (JointData) JointDataVector
 
typedef PINOCCHIO_ALIGNED_STD_VECTOR (JointModel) JointModelVector
 
typedef PINOCCHIO_ALIGNED_STD_VECTOR (SE3) SE3Vector
 

Public Attributes

VectorXs armature
 Vector of armature values expressed at the joint level This vector may contain the contribution of rotor inertia effects for instance. More...
 
std::vector< IndexVectorchildren
 Vector of children index. Chidren of the i*th joint, denoted *mu(i) corresponds to the set (i==parents[k] for k in mu(i)). More...
 
TangentVectorType damping
 Vector of joint damping parameters. More...
 
TangentVectorType effortLimit
 Vector of maximal joint torques. More...
 
FrameVector frames
 Vector of operational frames registered on the model. More...
 
TangentVectorType friction
 Vector of joint friction parameters. More...
 
Motion gravity
 Spatial gravity of the model. More...
 
std::vector< int > idx_qs
 Vector of starting index of the *i*th joint in the configuration space. More...
 
std::vector< int > idx_vs
 Starting index of the *i*th joint in the tangent configuration space. More...
 
InertiaVector inertias
 Vector of spatial inertias supported by each joint. More...
 
SE3Vector jointPlacements
 Vector of joint placements: placement of a joint i wrt its parent joint frame. More...
 
JointModelVector joints
 Vector of joint models. More...
 
ConfigVectorType lowerPositionLimit
 Lower joint configuration limit. More...
 
std::string name
 Model name. More...
 
std::vector< std::string > names
 Name of the joints. More...
 
int nbodies
 Number of bodies. More...
 
int nframes
 Number of operational frames. More...
 
int njoints
 Number of joints. More...
 
int nq
 Dimension of the configuration vector representation. More...
 
std::vector< int > nqs
 Vector of dimension of the joint configuration subspace. More...
 
int nv
 Dimension of the velocity vector space. More...
 
std::vector< int > nvs
 Dimension of the *i*th joint tangent subspace. More...
 
std::vector< JointIndexparents
 Vector of parent joint indexes. The parent of joint i, denoted li, corresponds to li==parents[i]. More...
 
ConfigVectorMap referenceConfigurations
 Map of reference configurations, indexed by user given names. More...
 
TangentVectorType rotorGearRatio
 Vector of rotor gear ratio parameters. More...
 
TangentVectorType rotorInertia
 Vector of rotor inertia parameters. More...
 
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 
std::vector< IndexVectorsubtrees
 Vector of joint subtrees. subtree[j] corresponds to the subtree supported by the joint j. The first element of subtree[j] is the index of the joint j itself. More...
 
std::vector< IndexVectorsupports
 Vector of joint supports. supports[j] corresponds to the vector of indices of the joints located on the path between joint j and "universe". The first element of supports[j] is "universe", the last one is the index of joint j itself. More...
 
ConfigVectorType upperPositionLimit
 Upper joint configuration limit. More...
 
TangentVectorType velocityLimit
 Vector of maximal joint velocities. More...
 

Static Public Attributes

static const Vector3 gravity981
 Default 3D gravity vector (=(0,0,-9.81)). More...
 

Protected Member Functions

void addJointIndexToParentSubtrees (const JointIndex joint_id)
 Add the joint_id to its parent subtrees. More...
 

Detailed Description

template<typename _Scalar, int _Options, template< typename, int > class JointCollectionTpl>
struct pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >

Definition at line 20 of file context/generic.hpp.

Member Typedef Documentation

◆ ConfigVectorMap

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef std::map<std::string, ConfigVectorType> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::ConfigVectorMap

Map between a string (key) and a configuration vector.

Definition at line 91 of file multibody/model.hpp.

◆ ConfigVectorType

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef VectorXs pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::ConfigVectorType

Dense vectorized version of a joint configuration vector.

Definition at line 88 of file multibody/model.hpp.

◆ Data

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef DataTpl<Scalar, Options, JointCollectionTpl> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::Data

Definition at line 59 of file multibody/model.hpp.

◆ Force

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef ForceTpl<Scalar, Options> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::Force

Definition at line 63 of file multibody/model.hpp.

◆ Frame

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef FrameTpl<Scalar, Options> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::Frame

Definition at line 65 of file multibody/model.hpp.

◆ FrameIndex

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef pinocchio::FrameIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::FrameIndex

Definition at line 70 of file multibody/model.hpp.

◆ GeomIndex

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef pinocchio::GeomIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::GeomIndex

Definition at line 69 of file multibody/model.hpp.

◆ Index

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef pinocchio::Index pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::Index

Definition at line 67 of file multibody/model.hpp.

◆ IndexVector

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef std::vector<Index> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::IndexVector

Definition at line 71 of file multibody/model.hpp.

◆ Inertia

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef InertiaTpl<Scalar, Options> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::Inertia

Definition at line 64 of file multibody/model.hpp.

◆ JointCollection

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef JointCollectionTpl<Scalar, Options> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::JointCollection

Definition at line 58 of file multibody/model.hpp.

◆ JointData

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef JointDataTpl<Scalar, Options, JointCollectionTpl> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::JointData

Definition at line 74 of file multibody/model.hpp.

◆ JointIndex

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef pinocchio::JointIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::JointIndex

Definition at line 68 of file multibody/model.hpp.

◆ JointModel

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef JointModelTpl<Scalar, Options, JointCollectionTpl> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::JointModel

Definition at line 73 of file multibody/model.hpp.

◆ Motion

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef MotionTpl<Scalar, Options> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::Motion

Definition at line 62 of file multibody/model.hpp.

◆ SE3

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef SE3Tpl<Scalar, Options> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::SE3

Definition at line 61 of file multibody/model.hpp.

◆ TangentVectorType

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef VectorXs pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::TangentVectorType

Dense vectorized version of a joint tangent vector (e.g. velocity, acceleration, etc). It also handles the notion of co-tangent vector (e.g. torque, etc).

Definition at line 96 of file multibody/model.hpp.

◆ Vector3

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef Eigen::Matrix<Scalar, 3, 1, Options> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::Vector3

Definition at line 82 of file multibody/model.hpp.

◆ VectorXs

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, Options> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::VectorXs

Definition at line 81 of file multibody/model.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
anonymous enum
Enumerator
Options 

Definition at line 53 of file multibody/model.hpp.

Constructor & Destructor Documentation

◆ ModelTpl() [1/2]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::ModelTpl ( )
inline

Default constructor. Builds an empty model with no joints.

Definition at line 201 of file multibody/model.hpp.

◆ ModelTpl() [2/2]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
template<typename S2 , int O2>
pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::ModelTpl ( const ModelTpl< S2, O2 > &  other)
inlineexplicit

Copy constructor by casting.

Parameters
[in]othermodel to copy to *this

Definition at line 234 of file multibody/model.hpp.

Member Function Documentation

◆ addBodyFrame()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI FrameIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::addBodyFrame ( const std::string &  body_name,
const JointIndex parentJoint,
const SE3 body_placement = SE3::Identity(),
int  parentFrame = -1 
)

Add a body to the frame tree.

Parameters
[in]body_nameName of the body.
[in]parentJointIndex of the parent joint.
[in]body_placementThe relative placement of the body regarding to the parent joint. Set default to the Identity placement.
[in]parentFrameIndex of the parent frame. If negative, the parent frame is the frame of the parent joint.
Returns
The index of the new frame

◆ addFrame()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI FrameIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::addFrame ( const Frame frame,
const bool  append_inertia = true 
)

Adds a frame to the kinematic tree. The inertia stored within the frame will be happened to the inertia supported by the joint (frame.parentJoint).

Parameters
[in]frameThe frame to add to the kinematic tree.
[in]append_inertiaAppend the inertia contained in the Frame to the inertia supported by the joint.
Returns
Returns the index of the frame if it has been successfully added or if it already exists in the kinematic tree.

◆ addJoint() [1/3]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI JointIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::addJoint ( const JointIndex  parent,
const JointModel joint_model,
const SE3 joint_placement,
const std::string &  joint_name 
)

Add a joint to the kinematic tree with infinite bounds.

Remarks
This method does not add a Frame of same name to the vector of frames. Use Model::addJointFrame.
The inertia supported by the joint is set to Zero.
Joints need to be added to the tree in a depth-first order.
Template Parameters
JointModelDerivedThe type of the joint model.
Parameters
[in]parentIndex of the parent joint.
[in]joint_modelThe joint model.
[in]joint_placementPlacement of the joint inside its parent joint.
[in]joint_nameName of the joint. If empty, the name is random.
Returns
The index of the new joint.
See also
Model::appendBodyToJoint

◆ addJoint() [2/3]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI JointIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::addJoint ( const JointIndex  parent,
const JointModel joint_model,
const SE3 joint_placement,
const std::string &  joint_name,
const VectorXs max_effort,
const VectorXs max_velocity,
const VectorXs min_config,
const VectorXs max_config 
)

Parameters
[in]max_effortMaximal joint torque.
[in]max_velocityMaximal joint velocity.
[in]min_configLower joint configuration.
[in]max_configUpper joint configuration.

◆ addJoint() [3/3]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI JointIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::addJoint ( const JointIndex  parent,
const JointModel joint_model,
const SE3 joint_placement,
const std::string &  joint_name,
const VectorXs max_effort,
const VectorXs max_velocity,
const VectorXs min_config,
const VectorXs max_config,
const VectorXs friction,
const VectorXs damping 
)

Parameters
[in]frictionJoint friction parameters.
[in]dampingJoint damping parameters.

◆ addJointFrame()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI FrameIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::addJointFrame ( const JointIndex joint_index,
int  previous_frame_index = -1 
)

Add a joint to the frame tree.

Parameters
[in]jointIndexIndex of the joint.
[in]frameIndexIndex of the parent frame. If negative, the parent frame is the frame of the parent joint.
Returns
The index of the new frame

◆ addJointIndexToParentSubtrees()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
void pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::addJointIndexToParentSubtrees ( const JointIndex  joint_id)
protected

Add the joint_id to its parent subtrees.

Parameters
[in]joint_idThe id of the joint to add to the subtrees

◆ appendBodyToJoint()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::appendBodyToJoint ( const JointIndex  joint_index,
const Inertia Y,
const SE3 body_placement = SE3::Identity() 
)

Append a body to a given joint of the kinematic tree.

Parameters
[in]joint_indexIndex of the supporting joint.
[in]YSpatial inertia of the body.
[in]body_placementThe relative placement of the body regarding to the parent joint. Set default to the Identity placement.
See also
Model::addJoint

◆ cast()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
template<typename NewScalar >
CastType<NewScalar, ModelTpl>::type pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::cast ( ) const
Returns
A new copy of *this with the Scalar type casted to NewScalar.

◆ check() [1/3]

template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl>
bool pinocchio::ModelTpl< Scalar, Options, JointCollectionTpl >::check
inline

Run check(fusion::list) with DEFAULT_CHECKERS as argument.

Definition at line 23 of file default-check.hpp.

◆ check() [2/3]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
template<typename D >
bool pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::check ( const AlgorithmCheckerBase< D > &  checker = AlgorithmCheckerBase<D>()) const
inline

Check the validity of the attributes of Model with respect to the specification of some algorithms.

The method is a template so that the checkers can be defined in each algorithms.

Parameters
[in]checkera class, typically defined in the algorithm module, that validates the attributes of model.
Returns
true if the Model is valid, false otherwise.

Definition at line 462 of file multibody/model.hpp.

◆ check() [3/3]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
bool pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::check ( const Data data) const

Run checkData on data and current model.

Parameters
[in]datato be checked wrt *this.
Returns
true if the data is valid, false otherwise.

◆ existBodyName()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
bool pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::existBodyName ( const std::string &  name) const

Check if a body given by its name exists.

Parameters
[in]nameName of the body.
Returns
True if the body exists in the kinematic tree.

◆ existFrame()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
bool pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::existFrame ( const std::string &  name,
const FrameType type = (FrameType)(JOINT|FIXED_JOINT|BODY|OP_FRAME|SENSOR) 
) const

Checks if a frame given by its name exists.

Parameters
[in]nameName of the frame.
[in]typeType of the frame.
Returns
Returns true if the frame exists.

◆ existJointName()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
bool pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::existJointName ( const std::string &  name) const

Check if a joint given by its name exists.

Parameters
[in]nameName of the joint.
Returns
True if the joint exists in the kinematic tree.

◆ getBodyId()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
FrameIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::getBodyId ( const std::string &  name) const

Return the index of a body given by its name.

Warning
If no body is found, return the number of elements at time T. This can lead to errors if the model is expanded after this method is called (for example to get the id of a parent body)
Parameters
[in]nameName of the body.
Returns
Index of the body.

◆ getFrameId()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
FrameIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::getFrameId ( const std::string &  name,
const FrameType type = (FrameType)(JOINT|FIXED_JOINT|BODY|OP_FRAME|SENSOR) 
) const

Returns the index of a frame given by its name.

See also
Model::existFrame to check if the frame exists or not.
Warning
If no frame is found, returns the size of the vector of Model::frames. This can lead to errors if the model is expanded after this method is called (for example to get the id of a parent frame).
Parameters
[in]nameName of the frame.
[in]typeType of the frame.
Returns
Index of the frame.

◆ getJointId()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
JointIndex pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::getJointId ( const std::string &  name) const

Return the index of a joint given by its name.

Warning
If no joint is found, return the number of elements at time T. This can lead to errors if the model is expanded after this method is called (for example to get the id of a parent joint)
Parameters
[in]nameName of the joint.
Returns
Index of the joint.

◆ hasConfigurationLimit()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<bool> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::hasConfigurationLimit ( )

Check if joints have configuration limits.

Returns
Returns list of boolean of size model.nq.

◆ hasConfigurationLimitInTangent()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<bool> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::hasConfigurationLimitInTangent ( )

Check if joints have configuration limits.

Returns
Returns list of boolean of size model.nq.

◆ operator!=()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
bool pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::operator!= ( const ModelTpl< _Scalar, _Options, JointCollectionTpl > &  other) const
inline
Returns
true if *this is NOT equal to other.

Definition at line 253 of file multibody/model.hpp.

◆ operator==()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
bool pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::operator== ( const ModelTpl< _Scalar, _Options, JointCollectionTpl > &  other) const

Equality comparison operator.

Returns
true if *this is equal to other.

◆ PINOCCHIO_ALIGNED_STD_VECTOR() [1/5]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::PINOCCHIO_ALIGNED_STD_VECTOR ( Frame  )

◆ PINOCCHIO_ALIGNED_STD_VECTOR() [2/5]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::PINOCCHIO_ALIGNED_STD_VECTOR ( Inertia  )

◆ PINOCCHIO_ALIGNED_STD_VECTOR() [3/5]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::PINOCCHIO_ALIGNED_STD_VECTOR ( JointData  )

◆ PINOCCHIO_ALIGNED_STD_VECTOR() [4/5]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::PINOCCHIO_ALIGNED_STD_VECTOR ( JointModel  )

◆ PINOCCHIO_ALIGNED_STD_VECTOR() [5/5]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::PINOCCHIO_ALIGNED_STD_VECTOR ( SE3  )

Member Data Documentation

◆ armature

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
VectorXs pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::armature

Vector of armature values expressed at the joint level This vector may contain the contribution of rotor inertia effects for instance.

Definition at line 150 of file multibody/model.hpp.

◆ children

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<IndexVector> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::children

Vector of children index. Chidren of the i*th joint, denoted *mu(i) corresponds to the set (i==parents[k] for k in mu(i)).

Definition at line 140 of file multibody/model.hpp.

◆ damping

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
TangentVectorType pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::damping

Vector of joint damping parameters.

Definition at line 162 of file multibody/model.hpp.

◆ effortLimit

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
TangentVectorType pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::effortLimit

Vector of maximal joint torques.

Definition at line 165 of file multibody/model.hpp.

◆ frames

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
FrameVector pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::frames

Vector of operational frames registered on the model.

Definition at line 177 of file multibody/model.hpp.

◆ friction

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
TangentVectorType pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::friction

Vector of joint friction parameters.

Definition at line 159 of file multibody/model.hpp.

◆ gravity

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
Motion pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::gravity

Spatial gravity of the model.

Definition at line 192 of file multibody/model.hpp.

◆ gravity981

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
const Vector3 pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::gravity981
static

Default 3D gravity vector (=(0,0,-9.81)).

Definition at line 195 of file multibody/model.hpp.

◆ idx_qs

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<int> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::idx_qs

Vector of starting index of the *i*th joint in the configuration space.

Definition at line 123 of file multibody/model.hpp.

◆ idx_vs

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<int> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::idx_vs

Starting index of the *i*th joint in the tangent configuration space.

Definition at line 129 of file multibody/model.hpp.

◆ inertias

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
InertiaVector pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::inertias

Vector of spatial inertias supported by each joint.

Definition at line 114 of file multibody/model.hpp.

◆ jointPlacements

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
SE3Vector pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::jointPlacements

Vector of joint placements: placement of a joint i wrt its parent joint frame.

Definition at line 117 of file multibody/model.hpp.

◆ joints

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
JointModelVector pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::joints

Vector of joint models.

Definition at line 120 of file multibody/model.hpp.

◆ lowerPositionLimit

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
ConfigVectorType pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::lowerPositionLimit

Lower joint configuration limit.

Definition at line 171 of file multibody/model.hpp.

◆ name

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::string pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::name

Model name.

Definition at line 198 of file multibody/model.hpp.

◆ names

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<std::string> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::names

Name of the joints.

Definition at line 143 of file multibody/model.hpp.

◆ nbodies

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
int pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::nbodies

Number of bodies.

Definition at line 108 of file multibody/model.hpp.

◆ nframes

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
int pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::nframes

Number of operational frames.

Definition at line 111 of file multibody/model.hpp.

◆ njoints

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
int pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::njoints

Number of joints.

Definition at line 105 of file multibody/model.hpp.

◆ nq

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
int pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::nq

Dimension of the configuration vector representation.

Definition at line 99 of file multibody/model.hpp.

◆ nqs

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<int> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::nqs

Vector of dimension of the joint configuration subspace.

Definition at line 126 of file multibody/model.hpp.

◆ nv

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
int pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::nv

Dimension of the velocity vector space.

Definition at line 102 of file multibody/model.hpp.

◆ nvs

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<int> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::nvs

Dimension of the *i*th joint tangent subspace.

Definition at line 132 of file multibody/model.hpp.

◆ parents

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<JointIndex> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::parents

Vector of parent joint indexes. The parent of joint i, denoted li, corresponds to li==parents[i].

Definition at line 136 of file multibody/model.hpp.

◆ referenceConfigurations

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
ConfigVectorMap pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::referenceConfigurations

Map of reference configurations, indexed by user given names.

Definition at line 146 of file multibody/model.hpp.

◆ rotorGearRatio

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
TangentVectorType pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::rotorGearRatio

Vector of rotor gear ratio parameters.

Definition at line 156 of file multibody/model.hpp.

◆ rotorInertia

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
TangentVectorType pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::rotorInertia

Vector of rotor inertia parameters.

Definition at line 153 of file multibody/model.hpp.

◆ Scalar

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::Scalar

Definition at line 52 of file multibody/model.hpp.

◆ subtrees

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<IndexVector> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::subtrees

Vector of joint subtrees. subtree[j] corresponds to the subtree supported by the joint j. The first element of subtree[j] is the index of the joint j itself.

Definition at line 189 of file multibody/model.hpp.

◆ supports

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<IndexVector> pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::supports

Vector of joint supports. supports[j] corresponds to the vector of indices of the joints located on the path between joint j and "universe". The first element of supports[j] is "universe", the last one is the index of joint j itself.

Definition at line 184 of file multibody/model.hpp.

◆ upperPositionLimit

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
ConfigVectorType pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::upperPositionLimit

Upper joint configuration limit.

Definition at line 174 of file multibody/model.hpp.

◆ velocityLimit

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
TangentVectorType pinocchio::ModelTpl< _Scalar, _Options, JointCollectionTpl >::velocityLimit

Vector of maximal joint velocities.

Definition at line 168 of file multibody/model.hpp.


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


pinocchio
Author(s):
autogenerated on Sat Jun 1 2024 02:40:41