RML  1.0
Robotics Mathematical Library
Loading...
Searching...
No Matches
rml::RobotLink Class Reference

Basic element of an ArmModel. More...

#include <RobotLink.h>

Public Member Functions

 RobotLink ()
 
 RobotLink (const JointType type, const Eigen::Vector3d &axis, const Eigen::TransformationMatrix &baseTransf, double jointLimMin, double jointLimMax)
 
virtual ~RobotLink ()
 
void SetKinematicProperties (const JointType type, const Eigen::Vector3d &axis, const Eigen::TransformationMatrix &baseTransf, double jointLimMin, double jointLimMax)
 Sets the kinematic properties of the link.
 
void SetDynamicProperties (double mass, const Eigen::Vector3d &sizes, const Eigen::Vector3d &CoM, const Eigen::Matrix3d &Inertia)
 Sets the dynamic properties of the link.
 
JointType Type () const
 
const Eigen::Vector3d & Axis () const
 
const Eigen::TransformationMatrixBaseTransf () const
 
double JointLimitMax () const
 
double JointLimitMin () const
 
double Mass () const
 
const Eigen::Vector3d & Sizes () const
 
const Eigen::Vector3d & CoM () const
 
const Eigen::Matrix3d & Inertia () const
 

Detailed Description

Basic element of an ArmModel.

RobotLink collects all the properties for the single links that compose a kinematic chain. It is the input for the ArmModel::AddLink() function. If you use the empty constructor you must then call the function SetKinematicProperties() to get meaningful results since by default everything is set to zero. Otherwise you can use the full constructor where you have to specify all the necessary variables. In both cases you need to provide the following parameters (in this order):

  1. The JointType
  2. Its rotation/translation axis
  3. The transformation matrix from the previous link
  4. The minimum value for the joint excursion
  5. The maximum value for the joint excursion

If you want to use the RobotModel for dynamic purposes (such as pass it to the NewtonEuler class) you need also to call the function SetDynamicProperties() where you need to provide the link's:

  1. Mass
  2. The x-y-z sizes
  3. The link center of mass
  4. The link inertia matrix

Constructor & Destructor Documentation

◆ RobotLink() [1/2]

rml::RobotLink::RobotLink ( )

◆ RobotLink() [2/2]

rml::RobotLink::RobotLink ( const JointType  type,
const Eigen::Vector3d &  axis,
const Eigen::TransformationMatrix baseTransf,
double  jointLimMin,
double  jointLimMax 
)

◆ ~RobotLink()

virtual rml::RobotLink::~RobotLink ( )
virtual

Member Function Documentation

◆ Axis()

const Eigen::Vector3d & rml::RobotLink::Axis ( ) const
inline

◆ BaseTransf()

const Eigen::TransformationMatrix & rml::RobotLink::BaseTransf ( ) const
inline

◆ CoM()

const Eigen::Vector3d & rml::RobotLink::CoM ( ) const
inline

◆ Inertia()

const Eigen::Matrix3d & rml::RobotLink::Inertia ( ) const
inline

◆ JointLimitMax()

double rml::RobotLink::JointLimitMax ( ) const
inline

◆ JointLimitMin()

double rml::RobotLink::JointLimitMin ( ) const
inline

◆ Mass()

double rml::RobotLink::Mass ( ) const
inline

◆ SetDynamicProperties()

void rml::RobotLink::SetDynamicProperties ( double  mass,
const Eigen::Vector3d &  sizes,
const Eigen::Vector3d &  CoM,
const Eigen::Matrix3d &  Inertia 
)

Sets the dynamic properties of the link.

Parameters
[in]mass
[in]sizes
[in]CoM
[in]Inertia

◆ SetKinematicProperties()

void rml::RobotLink::SetKinematicProperties ( const JointType  type,
const Eigen::Vector3d &  axis,
const Eigen::TransformationMatrix baseTransf,
double  jointLimMin,
double  jointLimMax 
)

Sets the kinematic properties of the link.

Parameters
[in]type
[in]axis
[in]baseTransf
[in]jointLimMin
[in]jointLimMax

◆ Sizes()

const Eigen::Vector3d & rml::RobotLink::Sizes ( ) const
inline

◆ Type()

JointType rml::RobotLink::Type ( ) const
inline

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