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

Public Types

enum  { Options = _Options }
 
typedef std::map< std::string, ConfigVectorTypeConfigVectorMap
 Map between a string (key) and a configuration vector.
 
typedef VectorXs ConfigVectorType
 Dense vectorized version of a joint configuration vector.
 
typedef DataTpl< Scalar, Options, JointCollectionTpl > Data
 
typedef ForceTpl< Scalar, Options > Force
 
typedef FrameTpl< Scalar, Options > Frame
 
typedef pinocchio::FrameIndex FrameIndex
 
typedef pinocchio::GeomIndex GeomIndex
 
typedef pinocchio::Index Index
 
typedef std::vector< Index > IndexVector
 
typedef InertiaTpl< Scalar, Options > Inertia
 
typedef JointCollectionTpl< Scalar, Options > JointCollection
 
typedef JointDataTpl< Scalar, Options, JointCollectionTpl > JointData
 
typedef pinocchio::JointIndex JointIndex
 
typedef JointModelTpl< Scalar, Options, JointCollectionTpl > JointModel
 
typedef MotionTpl< Scalar, Options > Motion
 
typedef _Scalar Scalar
 
typedef SE3Tpl< Scalar, Options > SE3
 
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).
 
typedef Eigen::Matrix< Scalar, 3, 1, Options > Vector3
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > VectorXs
 
- Public Types inherited from NumericalBase< ModelTpl< _Scalar, _Options, JointCollectionTpl > >
typedef traits< ModelTpl< _Scalar, _Options, JointCollectionTpl > >::Scalar Scalar
 

Public Member Functions

 ModelTpl ()
 Default constructor. Builds an empty model with no joints.
 
template<typename S2 , int O2>
 ModelTpl (const ModelTpl< S2, O2 > &other)
 Copy constructor by casting.
 
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.
 
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).
 
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.
 
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.
 
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.
 
template<typename NewScalar >
CastType< NewScalar, ModelTpl >::type cast () const
 
bool check () const
 Run check(fusion::list) with DEFAULT_CHECKERS as argument.
 
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.
 
bool check (const Data &data) const
 Run checkData on data and current model.
 
bool existBodyName (const std::string &name) const
 Check if a body given by its name exists.
 
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.
 
bool existJointName (const std::string &name) const
 Check if a joint given by its name exists.
 
FrameIndex getBodyId (const std::string &name) const
 Return the index of a body given by its name.
 
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.
 
JointIndex getJointId (const std::string &name) const
 Return the index of a joint given by its name.
 
std::vector< boolhasConfigurationLimit ()
 Check if joints have configuration limits.
 
std::vector< boolhasConfigurationLimitInTangent ()
 Check if joints have configuration limits.
 
bool operator!= (const ModelTpl &other) const
 
bool operator== (const ModelTpl &other) const
 Equality comparison operator.
 
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 Member Functions inherited from Serializable< ModelTpl< _Scalar, _Options, JointCollectionTpl > >
void loadFromBinary (boost::asio::streambuf &container)
 Loads a Derived object from a binary container.
 
void loadFromBinary (const std::string &filename)
 Loads a Derived object from an binary file.
 
void loadFromBinary (StaticBuffer &container)
 Loads a Derived object from a static binary container.
 
void loadFromString (const std::string &str)
 Loads a Derived object from a string.
 
void loadFromStringStream (std::istringstream &is)
 Loads a Derived object from a stream string.
 
void loadFromText (const std::string &filename)
 Loads a Derived object from a text file.
 
void loadFromXML (const std::string &filename, const std::string &tag_name)
 Loads a Derived object from an XML file.
 
void saveToBinary (boost::asio::streambuf &container) const
 Saves a Derived object as a binary container.
 
void saveToBinary (const std::string &filename) const
 Saves a Derived object as an binary file.
 
void saveToBinary (StaticBuffer &container) const
 Saves a Derived object as a static binary container.
 
std::string saveToString () const
 Saves a Derived object to a string.
 
void saveToStringStream (std::stringstream &ss) const
 Saves a Derived object to a string stream.
 
void saveToText (const std::string &filename) const
 Saves a Derived object as a text file.
 
void saveToXML (const std::string &filename, const std::string &tag_name) const
 Saves a Derived object as an XML file.
 

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.
 
std::vector< IndexVector > 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)).
 
TangentVectorType damping
 Vector of joint damping parameters.
 
TangentVectorType effortLimit
 Vector of maximal joint torques.
 
FrameVector frames
 Vector of operational frames registered on the model.
 
TangentVectorType friction
 Vector of joint friction parameters.
 
Motion gravity
 Spatial gravity of the model.
 
std::vector< intidx_qs
 Vector of starting index of the *i*th joint in the configuration space.
 
std::vector< intidx_vExtendeds
 Starting index of the *i*th joint in the jacobian space.
 
std::vector< intidx_vs
 Starting index of the *i*th joint in the tangent configuration space.
 
InertiaVector inertias
 Vector of spatial inertias supported by each joint.
 
SE3Vector jointPlacements
 Vector of joint placements: placement of a joint i wrt its parent joint frame.
 
JointModelVector joints
 Vector of joint models.
 
ConfigVectorType lowerPositionLimit
 Lower joint configuration limit.
 
std::vector< IndexVector > mimic_joint_supports
 Vector of mimic supports joints. mimic_joint_supports[j] corresponds to the vector of mimic joints indices located on the path between joint j and "universe". The first element of mimic_joint_supports[j] is "universe". If j is a mimic, the last element is the index of joint j itself.
 
std::vector< JointIndex > mimicked_joints
 Vector of mimicked joints in the tree (can be any joint type) The i-th element of this vector correspond to the mimicked joint of the i-th mimicking vector in mimicking_joints.
 
std::vector< JointIndex > mimicking_joints
 Vector of mimicking joints in the tree (with type MimicTpl)
 
std::string name
 Model name.
 
std::vector< std::string > names
 Name of the joints.
 
int nbodies
 Number of bodies.
 
int nframes
 Number of operational frames.
 
int njoints
 Number of joints.
 
int nq
 Dimension of the configuration vector representation.
 
std::vector< intnqs
 Vector of dimension of the joint configuration subspace.
 
int nv
 Dimension of the velocity vector space.
 
int nvExtended
 Dimension of the jacobian space.
 
std::vector< intnvExtendeds
 Dimension of the *i*th joint jacobian subspace.
 
std::vector< intnvs
 Dimension of the *i*th joint tangent subspace.
 
std::vector< JointIndex > parents
 Vector of parent joint indexes. The parent of joint i, denoted li, corresponds to li==parents[i].
 
ConfigVectorMap referenceConfigurations
 Map of reference configurations, indexed by user given names.
 
TangentVectorType rotorGearRatio
 Vector of rotor gear ratio parameters.
 
TangentVectorType rotorInertia
 Vector of rotor inertia parameters.
 
std::vector< IndexVector > 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.
 
std::vector< IndexVector > 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.
 
ConfigVectorType upperPositionLimit
 Upper joint configuration limit.
 
TangentVectorType velocityLimit
 Vector of maximal joint velocities.
 

Static Public Attributes

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

Protected Member Functions

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

Detailed Description

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

Definition at line 45 of file model.hpp.

Member Typedef Documentation

◆ ConfigVectorMap

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

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

Definition at line 90 of file model.hpp.

◆ ConfigVectorType

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

Dense vectorized version of a joint configuration vector.

Definition at line 87 of file model.hpp.

◆ Data

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

Definition at line 58 of file model.hpp.

◆ Force

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

Definition at line 62 of file model.hpp.

◆ Frame

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

Definition at line 64 of file model.hpp.

◆ FrameIndex

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

Definition at line 69 of file model.hpp.

◆ GeomIndex

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

Definition at line 68 of file model.hpp.

◆ Index

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

Definition at line 66 of file model.hpp.

◆ IndexVector

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

Definition at line 70 of file model.hpp.

◆ Inertia

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

Definition at line 63 of file model.hpp.

◆ JointCollection

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

Definition at line 57 of file model.hpp.

◆ JointData

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

Definition at line 73 of file model.hpp.

◆ JointIndex

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

Definition at line 67 of file model.hpp.

◆ JointModel

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

Definition at line 72 of file model.hpp.

◆ Motion

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

Definition at line 61 of file model.hpp.

◆ Scalar

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
typedef _Scalar Scalar

Definition at line 51 of file model.hpp.

◆ SE3

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

Definition at line 60 of file model.hpp.

◆ TangentVectorType

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
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).

Definition at line 95 of file model.hpp.

◆ Vector3

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

Definition at line 81 of file model.hpp.

◆ VectorXs

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

Definition at line 80 of file model.hpp.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 52 of file model.hpp.

Constructor & Destructor Documentation

◆ ModelTpl() [1/2]

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

Default constructor. Builds an empty model with no joints.

Definition at line 223 of file model.hpp.

◆ ModelTpl() [2/2]

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

Copy constructor by casting.

Parameters
[in]othermodel to copy to *this

Definition at line 260 of file model.hpp.

Member Function Documentation

◆ addBodyFrame()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
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.

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>
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).

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>
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.

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>
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 
)

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>
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 
)

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

◆ addJointFrame()

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
FrameIndex 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 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>
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.

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 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 check ( ) const
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 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 488 of file model.hpp.

◆ check() [3/3]

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
bool 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 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 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 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 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 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 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 > 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 > 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 operator!= ( const ModelTpl< _Scalar, _Options, JointCollectionTpl > &  other) const
inline
Returns
true if *this is NOT equal to other.

Definition at line 279 of file model.hpp.

◆ operator==()

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

Equality comparison operator.

Returns
true if *this is equal to other.

Member Data Documentation

◆ armature

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
VectorXs 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 166 of file model.hpp.

◆ children

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<IndexVector> 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 148 of file model.hpp.

◆ damping

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

Vector of joint damping parameters.

Definition at line 178 of file model.hpp.

◆ effortLimit

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

Vector of maximal joint torques.

Definition at line 181 of file model.hpp.

◆ frames

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

Vector of operational frames registered on the model.

Definition at line 193 of file model.hpp.

◆ friction

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

Vector of joint friction parameters.

Definition at line 175 of file model.hpp.

◆ gravity

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

Spatial gravity of the model.

Definition at line 214 of file model.hpp.

◆ gravity981

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

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

Definition at line 217 of file model.hpp.

◆ idx_qs

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

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

Definition at line 125 of file model.hpp.

◆ idx_vExtendeds

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<int> idx_vExtendeds

Starting index of the *i*th joint in the jacobian space.

Definition at line 137 of file model.hpp.

◆ idx_vs

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

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

Definition at line 131 of file model.hpp.

◆ inertias

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

Vector of spatial inertias supported by each joint.

Definition at line 116 of file model.hpp.

◆ jointPlacements

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

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

Definition at line 119 of file model.hpp.

◆ joints

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

Vector of joint models.

Definition at line 122 of file model.hpp.

◆ lowerPositionLimit

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

Lower joint configuration limit.

Definition at line 187 of file model.hpp.

◆ mimic_joint_supports

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<IndexVector> mimic_joint_supports

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

Definition at line 206 of file model.hpp.

◆ mimicked_joints

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<JointIndex> mimicked_joints

Vector of mimicked joints in the tree (can be any joint type) The i-th element of this vector correspond to the mimicked joint of the i-th mimicking vector in mimicking_joints.

Definition at line 156 of file model.hpp.

◆ mimicking_joints

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<JointIndex> mimicking_joints

Vector of mimicking joints in the tree (with type MimicTpl)

Definition at line 151 of file model.hpp.

◆ name

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

Model name.

Definition at line 220 of file model.hpp.

◆ names

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

Name of the joints.

Definition at line 159 of file model.hpp.

◆ nbodies

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
int nbodies

Number of bodies.

Definition at line 110 of file model.hpp.

◆ nframes

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
int nframes

Number of operational frames.

Definition at line 113 of file model.hpp.

◆ njoints

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
int njoints

Number of joints.

Definition at line 107 of file model.hpp.

◆ nq

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
int nq

Dimension of the configuration vector representation.

Definition at line 98 of file model.hpp.

◆ nqs

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

Vector of dimension of the joint configuration subspace.

Definition at line 128 of file model.hpp.

◆ nv

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
int nv

Dimension of the velocity vector space.

Definition at line 101 of file model.hpp.

◆ nvExtended

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
int nvExtended

Dimension of the jacobian space.

Definition at line 104 of file model.hpp.

◆ nvExtendeds

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<int> nvExtendeds

Dimension of the *i*th joint jacobian subspace.

Definition at line 140 of file model.hpp.

◆ nvs

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

Dimension of the *i*th joint tangent subspace.

Definition at line 134 of file model.hpp.

◆ parents

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

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

Definition at line 144 of file model.hpp.

◆ referenceConfigurations

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

Map of reference configurations, indexed by user given names.

Definition at line 162 of file model.hpp.

◆ rotorGearRatio

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

Vector of rotor gear ratio parameters.

Definition at line 172 of file model.hpp.

◆ rotorInertia

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

Vector of rotor inertia parameters.

Definition at line 169 of file model.hpp.

◆ subtrees

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<IndexVector> 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 211 of file model.hpp.

◆ supports

template<typename _Scalar , int _Options, template< typename, int > class JointCollectionTpl>
std::vector<IndexVector> 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 200 of file model.hpp.

◆ upperPositionLimit

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

Upper joint configuration limit.

Definition at line 190 of file model.hpp.

◆ velocityLimit

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

Vector of maximal joint velocities.

Definition at line 184 of file model.hpp.


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