pinocchio  3.3.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
pinocchio::buildModels Namespace Reference

Build simple models. More...

Functions

template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl>
void humanoid (ModelTpl< Scalar, Options, JointCollectionTpl > &model, bool usingFF=true)
 Create a 28-DOF kinematic chain of a floating humanoid robot. More...
 
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl>
void humanoidGeometries (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, GeometryModel &geom)
 Create the geometries on top of the kinematic model created by humanoid function. More...
 
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl>
void humanoidRandom (ModelTpl< Scalar, Options, JointCollectionTpl > &model, bool usingFF=true)
 Create a humanoid kinematic tree with 6-DOF limbs and random joint placements. More...
 
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl>
void manipulator (ModelTpl< Scalar, Options, JointCollectionTpl > &model)
 Create a 6-DOF kinematic chain shoulder-elbow-wrist. More...
 
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl>
void manipulatorGeometries (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, GeometryModel &geom)
 Create the geometries on top of the kinematic model created by manipulator function. More...
 

Detailed Description

Build simple models.

Function Documentation

◆ humanoid()

void pinocchio::buildModels::humanoid ( ModelTpl< Scalar, Options, JointCollectionTpl > &  model,
bool  usingFF = true 
)

Create a 28-DOF kinematic chain of a floating humanoid robot.

The kinematic chain has four 6-DOF limbs shoulder-elbow-wrist, one 2-DOF torso, one 2-DOF neck. The float joint is either a JointModelFreeFloating (with nq=7 and nv=6), or a composite joint with a JointModelTranslation and a roll-pitch-yaw joint JointModelSphericalZYX (with total nq=nv=6). Using a free-floating or a composite joint is decided by the boolean usingFF.

Parameters
modelmodel, typically given empty, where the kinematic chain is added.
usingFFif True, implement the chain with a plain JointModelFreeFloating; if False, uses a composite joint. This changes the size of the configuration space (35 vs 34).

◆ humanoidGeometries()

void pinocchio::buildModels::humanoidGeometries ( const ModelTpl< Scalar, Options, JointCollectionTpl > &  model,
GeometryModel geom 
)

Create the geometries on top of the kinematic model created by humanoid function.

Parameters
model,const,kinematicchain typically produced by the function humanoid(model).
Warning
this method is expecting specific namings of the kinematic chain, use it with care not using after humanoid(model).

◆ humanoidRandom()

void pinocchio::buildModels::humanoidRandom ( ModelTpl< Scalar, Options, JointCollectionTpl > &  model,
bool  usingFF = true 
)

Create a humanoid kinematic tree with 6-DOF limbs and random joint placements.

This method is only meant to be used in unittest. Due to random placement and masses, the resulting model is likely to not correspond to any physically-plausible model. You may want to consider pinocchio::humanoid and pinocchio::humanoidGeometries functions that rather define a plain and non-random model.

Parameters
modelmodel, typically given empty, where the kinematic chain is added.
usingFFif True, implement the chain with a plain JointModelFreeFloating; if False, uses a composite joint translation + roll-pitch-yaw. This changes the size of the configuration space (33 vs 32).

◆ manipulator()

void pinocchio::buildModels::manipulator ( ModelTpl< Scalar, Options, JointCollectionTpl > &  model)

Create a 6-DOF kinematic chain shoulder-elbow-wrist.

Parameters
modelmodel, typically given empty, where the kinematic chain is added.

◆ manipulatorGeometries()

void pinocchio::buildModels::manipulatorGeometries ( const ModelTpl< Scalar, Options, JointCollectionTpl > &  model,
GeometryModel geom 
)

Create the geometries on top of the kinematic model created by manipulator function.

Parameters
model,const,kinematicchain typically produced by the function manipulator(model).
Warning
this method is expecting specific namings of the kinematic chain, use it with care not using after manipulator(model).