humoto
Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Static Private Attributes | List of all members
humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA > Class Template Reference

Detailed Description

template<>
class humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA >

Specific model description (relocated root)

Definition at line 620 of file model_description.h.

#include <model_description.h>

Inheritance diagram for humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA >:
Inheritance graph

Public Types

enum  JointsDoFIds {
  KneePitch = 0, HipPitch = 1, HipRoll = 2, HeadYaw = 3,
  HeadPitch = 4, LShoulderPitch = 5, LShoulderRoll = 6, LElbowYaw = 7,
  LElbowRoll = 8, LWristYaw = 9, RShoulderPitch = 10, RShoulderRoll = 11,
  RElbowYaw = 12, RElbowRoll = 13, RWristYaw = 14, JOINTS_DOF_NUMBER = 15,
  DOF_NUMBER = ROOT_DOF_NUMBER + JOINTS_DOF_NUMBER
}
 Ids of joints DoF. More...
 
enum  RootDoFIds {
  ROOT_TRANSLATION_X = 0, ROOT_TRANSLATION_Y = 1, ROOT_TRANSLATION_Z = 2, ROOT_ORIENTATION_ROLL = 3,
  ROOT_ORIENTATION_PITCH = 4, ROOT_ORIENTATION_YAW = 5, ROOT_DOF_NUMBER = 6
}
 Ids of root DoF. More...
 
enum  WheelIds { WHEEL_FRONT_LEFT = 0, WHEEL_FRONT_RIGHT = 1, WHEEL_BACK = 2 }
 

Public Member Functions

typedef EIGENTOOLS_CONSTANT_SIZE_VECTOR (JOINTS_DOF_NUMBER) JointAnglesVector
 

Static Public Member Functions

static void getBaseLinksStringIds (std::vector< std::string > &ids)
 Get string ids of the bodies comprising the base. More...
 
static void getBaseOrientationLinkStringId (std::string &id)
 Get id of the body which is used to control orientation of the base. More...
 
static void getBasePositionLinkStringId (std::string &id)
 Get id of the body which is used to control position of the base. More...
 
static void getBodyLinksStringIds (std::vector< std::string > &ids)
 Get string ids of the links comprising the upper body. More...
 
static void getDefaultGeneralizedCoordinates (JointAnglesVector &joint_angles, etools::Vector6 &root_pose)
 Get default generalized coordinates. More...
 
static void getDefaultJointAngles (JointAnglesVector &joint_angles)
 Get default joint angles (with zero offset) More...
 
static void getJointPositionBounds (JointAnglesVector &min_bounds, JointAnglesVector &max_bounds)
 Returns joint position bounds. More...
 
static void getJointVelocityBounds (JointAnglesVector &joint_vel_bounds)
 Returns bounds on joint velocities. More...
 
static void getMaxWheelVelocities (etools::Vector3 &max_velocities)
 Returns maximal velocites, which can be executed by the wheels. More...
 
static etools::Matrix3 getRootMotionToWheelsTransform ()
 Returns matrix which maps velocities of the wheels to translational and rotational motion of the base. More...
 
static void getRootOrientation (etools::Vector3 &rpy, const etools::Vector6 &root_pose)
 Get root orientation given RPY Euler angles. More...
 
static void getRootPosition (etools::Vector3 &position, const etools::Vector6 &root_pose)
 Get root position. More...
 
static void getTorsoRootLocation (std::string &parent_link_string_id, etools::Vector3 &position)
 Location of the torso root. More...
 
template<int t_features_out, int t_features_in>
static void reorderJointsColumns (Eigen::MatrixXd &matrix)
 Use joint order to reorder columns of the given matrix. More...
 
static void setRootOrientation (etools::Vector6 &root_pose, const etools::Vector3 &rpy)
 Set root orientation given RPY Euler angles. More...
 
static void setRootPosition (etools::Vector6 &root_pose, const etools::Vector3 &position)
 Set root position to the position given vector. More...
 

Static Protected Member Functions

template<int t_features>
static void getDefaultJointAngles (EIGENTOOLS_CONSTANT_SIZE_VECTOR(ModelDescription< t_features >::JOINTS_DOF_NUMBER) &joint_angles)
 Sets joint angles in the given vector to their default values. More...
 
template<int t_features>
static void getJointPositionBounds (EIGENTOOLS_CONSTANT_SIZE_VECTOR(ModelDescription< t_features >::JOINTS_DOF_NUMBER) &min_bounds, EIGENTOOLS_CONSTANT_SIZE_VECTOR(ModelDescription< t_features >::JOINTS_DOF_NUMBER) &max_bounds)
 Returns joint position bounds. More...
 
template<int t_features>
static void getJointVelocityBounds (EIGENTOOLS_CONSTANT_SIZE_VECTOR(ModelDescription< t_features >::JOINTS_DOF_NUMBER) &joint_vel_bounds)
 Returns bounds on joint velocities. More...
 

Static Private Attributes

static const int features_ = ModelFeatures::FIXED_WHEELS | ModelFeatures::ROOT_TIBIA
 

Member Enumeration Documentation

◆ JointsDoFIds

Ids of joints DoF.

Enumerator
KneePitch 
HipPitch 
HipRoll 
HeadYaw 
HeadPitch 
LShoulderPitch 
LShoulderRoll 
LElbowYaw 
LElbowRoll 
LWristYaw 
RShoulderPitch 
RShoulderRoll 
RElbowYaw 
RElbowRoll 
RWristYaw 
JOINTS_DOF_NUMBER 
DOF_NUMBER 

Definition at line 647 of file model_description.h.

◆ RootDoFIds

Ids of root DoF.

Enumerator
ROOT_TRANSLATION_X 
ROOT_TRANSLATION_Y 
ROOT_TRANSLATION_Z 
ROOT_ORIENTATION_ROLL 
ROOT_ORIENTATION_PITCH 
ROOT_ORIENTATION_YAW 
ROOT_DOF_NUMBER 

Definition at line 630 of file model_description.h.

◆ WheelIds

Enumerator
WHEEL_FRONT_LEFT 
WHEEL_FRONT_RIGHT 
WHEEL_BACK 

Definition at line 70 of file model_description.h.

Member Function Documentation

◆ EIGENTOOLS_CONSTANT_SIZE_VECTOR()

◆ getBaseLinksStringIds()

static void humoto::pepper_ik::ModelDescriptionBase< ModelFeatures::FIXED_WHEELS >::getBaseLinksStringIds ( std::vector< std::string > &  ids)
inlinestaticinherited

Get string ids of the bodies comprising the base.

Parameters
[out]idsids

Definition at line 83 of file model_description.h.

◆ getBaseOrientationLinkStringId()

static void humoto::pepper_ik::ModelDescriptionBase< ModelFeatures::FIXED_WHEELS >::getBaseOrientationLinkStringId ( std::string &  id)
inlinestaticinherited

Get id of the body which is used to control orientation of the base.

Parameters
[out]idid

Definition at line 165 of file model_description.h.

◆ getBasePositionLinkStringId()

static void humoto::pepper_ik::ModelDescriptionBase< ModelFeatures::FIXED_WHEELS >::getBasePositionLinkStringId ( std::string &  id)
inlinestaticinherited

Get id of the body which is used to control position of the base.

Parameters
[out]idid

Definition at line 176 of file model_description.h.

◆ getBodyLinksStringIds()

static void humoto::pepper_ik::ModelDescriptionBase< ModelFeatures::FIXED_WHEELS >::getBodyLinksStringIds ( std::vector< std::string > &  ids)
inlinestaticinherited

Get string ids of the links comprising the upper body.

Parameters
[out]idsids

Definition at line 100 of file model_description.h.

◆ getDefaultGeneralizedCoordinates()

static void humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA >::getDefaultGeneralizedCoordinates ( JointAnglesVector &  joint_angles,
etools::Vector6 &  root_pose 
)
inlinestatic

Get default generalized coordinates.

Parameters
[out]joint_angles
[out]root_pose

Definition at line 683 of file model_description.h.

◆ getDefaultJointAngles() [1/2]

template<int t_features>
static void humoto::pepper_ik::ModelDescriptionBase< ModelFeatures::FIXED_WHEELS >::getDefaultJointAngles ( EIGENTOOLS_CONSTANT_SIZE_VECTOR(ModelDescription< t_features >::JOINTS_DOF_NUMBER) &  joint_angles)
inlinestaticprotectedinherited

Sets joint angles in the given vector to their default values.

Template Parameters
t_featuresthese features identify model description
Parameters
[out]joint_anglesvector, where the joint angles are set

Definition at line 384 of file model_description.h.

◆ getDefaultJointAngles() [2/2]

static void humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA >::getDefaultJointAngles ( JointAnglesVector &  joint_angles)
inlinestatic

Get default joint angles (with zero offset)

Parameters
[out]joint_angles

Definition at line 720 of file model_description.h.

◆ getJointPositionBounds() [1/2]

template<int t_features>
static void humoto::pepper_ik::ModelDescriptionBase< ModelFeatures::FIXED_WHEELS >::getJointPositionBounds ( EIGENTOOLS_CONSTANT_SIZE_VECTOR(ModelDescription< t_features >::JOINTS_DOF_NUMBER) &  min_bounds,
EIGENTOOLS_CONSTANT_SIZE_VECTOR(ModelDescription< t_features >::JOINTS_DOF_NUMBER) &  max_bounds 
)
inlinestaticprotectedinherited

Returns joint position bounds.

Template Parameters
t_featuresthese features identify model description
Parameters
[out]min_bounds
[out]max_bounds
Todo:
RBDL must load this from an URDF file!

Definition at line 309 of file model_description.h.

◆ getJointPositionBounds() [2/2]

static void humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA >::getJointPositionBounds ( JointAnglesVector &  min_bounds,
JointAnglesVector &  max_bounds 
)
inlinestatic

Returns joint position bounds.

Parameters
[out]min_bounds
[out]max_bounds

Definition at line 697 of file model_description.h.

◆ getJointVelocityBounds() [1/2]

template<int t_features>
static void humoto::pepper_ik::ModelDescriptionBase< ModelFeatures::FIXED_WHEELS >::getJointVelocityBounds ( EIGENTOOLS_CONSTANT_SIZE_VECTOR(ModelDescription< t_features >::JOINTS_DOF_NUMBER) &  joint_vel_bounds)
inlinestaticprotectedinherited

Returns bounds on joint velocities.

Template Parameters
t_featuresthese features identify model description
Parameters
[out]joint_vel_bounds
Todo:
RBDL must load this from an URDF file!

Definition at line 356 of file model_description.h.

◆ getJointVelocityBounds() [2/2]

static void humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA >::getJointVelocityBounds ( JointAnglesVector &  joint_vel_bounds)
inlinestatic

Returns bounds on joint velocities.

Parameters
[out]joint_vel_bounds

Definition at line 709 of file model_description.h.

◆ getMaxWheelVelocities()

static void humoto::pepper_ik::ModelDescriptionBase< ModelFeatures::FIXED_WHEELS >::getMaxWheelVelocities ( etools::Vector3 &  max_velocities)
inlinestaticinherited

Returns maximal velocites, which can be executed by the wheels.

Parameters
[out]max_velocities
Todo:
RBDL must load this from an URDF file!

Definition at line 290 of file model_description.h.

◆ getRootMotionToWheelsTransform()

static etools::Matrix3 humoto::pepper_ik::ModelDescriptionBase< ModelFeatures::FIXED_WHEELS >::getRootMotionToWheelsTransform ( )
inlinestaticinherited

Returns matrix which maps velocities of the wheels to translational and rotational motion of the base.

Returns
3x3 matrix
Todo:
This code is based on the URDF file – may be there is a way to avoid hardcoding it.

Definition at line 188 of file model_description.h.

◆ getRootOrientation()

static void humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA >::getRootOrientation ( etools::Vector3 &  rpy,
const etools::Vector6 &  root_pose 
)
inlinestatic

Get root orientation given RPY Euler angles.

Parameters
[out]rpy
[in]root_pose

Definition at line 788 of file model_description.h.

◆ getRootPosition()

static void humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA >::getRootPosition ( etools::Vector3 &  position,
const etools::Vector6 &  root_pose 
)
inlinestatic

Get root position.

Parameters
[out]position
[in]root_pose

Definition at line 761 of file model_description.h.

◆ getTorsoRootLocation()

static void humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA >::getTorsoRootLocation ( std::string &  parent_link_string_id,
etools::Vector3 &  position 
)
inlinestatic

Location of the torso root.

Parameters
[in]parent_link_string_id
[in]position

Definition at line 774 of file model_description.h.

◆ reorderJointsColumns()

template<int t_features_out, int t_features_in>
static void humoto::pepper_ik::ModelDescriptionBase< ModelFeatures::FIXED_WHEELS >::reorderJointsColumns ( Eigen::MatrixXd &  matrix)
inlinestaticinherited

Use joint order to reorder columns of the given matrix.

Template Parameters
t_features_outfeatures of the model corresponding to output
t_features_infeatures of the model corresponding to input
Parameters
[in,out]matrix

Definition at line 253 of file model_description.h.

◆ setRootOrientation()

static void humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA >::setRootOrientation ( etools::Vector6 &  root_pose,
const etools::Vector3 &  rpy 
)
inlinestatic

Set root orientation given RPY Euler angles.

Parameters
[out]root_pose
[in]rpy

Definition at line 745 of file model_description.h.

◆ setRootPosition()

static void humoto::pepper_ik::ModelDescription< ModelFeatures::FIXED_WHEELS|ModelFeatures::ROOT_TIBIA >::setRootPosition ( etools::Vector6 &  root_pose,
const etools::Vector3 &  position 
)
inlinestatic

Set root position to the position given vector.

Parameters
[out]root_pose
[in]position

Definition at line 732 of file model_description.h.

Member Data Documentation

◆ features_

Definition at line 624 of file model_description.h.


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