ROBOOP, A Robotics Object Oriented Package in C++
Link Class Reference

Link definitions. More...

#include <robot.h>

Public Member Functions

 Link (const int jt=0, const Real it=0.0, const Real id=0.0, const Real ia=0.0, const Real ial=0.0, const Real theta_min=-M_PI/2, const Real theta_max=M_PI/2, const Real it_off=0.0, const Real mass=1.0, const Real cmx=0.0, const Real cmy=0.0, const Real cmz=0.0, const Real ixx=0.0, const Real ixy=0.0, const Real ixz=0.0, const Real iyy=0.0, const Real iyz=0.0, const Real izz=0.0, const Real iIm=0.0, const Real iGr=0.0, const Real iB=0.0, const Real iCf=0.0, const bool dh=true, const bool min_inertial_para=false, const bool immobile=false)
 Constructor.
 
 ~Link ()
 Destructor.
 
void transform (const Real q)
 Set the rotation matrix R and the vector p.
 
bool get_DH (void) const
 Return DH value.
 
int get_joint_type (void) const
 Return the joint type.
 
Real get_theta (void) const
 Return theta.
 
Real get_d (void) const
 Return d.
 
Real get_a (void) const
 Return a.
 
Real get_alpha (void) const
 Return alpha.
 
Real get_q (void) const
 Return joint position (theta if joint type is rotoide, d otherwise). More...
 
Real get_theta_min (void) const
 Return theta_min.
 
Real get_theta_max (void) const
 Return theta_max.
 
Real get_joint_offset (void) const
 Return joint_offset.
 
ReturnMatrix get_mc (void)
 Return mc.
 
ReturnMatrix get_r (void)
 Return r.
 
ReturnMatrix get_p (void) const
 Return p.
 
Real get_m (void) const
 Return m.
 
Real get_Im (void) const
 Return Im.
 
Real get_Gr (void) const
 Return Gr.
 
Real get_B (void) const
 Return B.
 
Real get_Cf (void) const
 Return Cf.
 
ReturnMatrix get_I (void) const
 Return I.
 
bool get_immobile (void) const
 Return immobile.
 
void set_m (const Real m_)
 Set m.
 
void set_mc (const ColumnVector &mc_)
 Set mc. More...
 
void set_r (const ColumnVector &r_)
 Set r. More...
 
void set_Im (const Real Im_)
 Set Im.
 
void set_B (const Real B_)
 Set B.
 
void set_Cf (const Real Cf_)
 Set Cf.
 
void set_I (const Matrix &I)
 Set I. More...
 
void set_immobile (bool im)
 Set immobile.
 

Public Attributes

Matrix R
 Orientation matrix of actual link w.r.t to previous link.
 
Real qp
 Joint velocity.
 
Real qpp
 Joint acceleration.
 

Private Attributes

int joint_type
 Joint type.
 
Real theta
 theta DH parameter.
 
Real d
 d DH parameter.
 
Real a
 a DH parameter.
 
Real alpha
 alpha DH parameter.
 
Real theta_min
 Min joint angle.
 
Real theta_max
 Max joint angle.
 
Real joint_offset
 Offset in joint angle (rotoide and prismatic).
 
bool DH
 DH notation(true) or DH modified notation.
 
bool min_para
 Minimum inertial parameter.
 
ColumnVector r
 Position of center of mass w.r.t. link coordinate system (min_para=F).
 
ColumnVector p
 Position vector of actual link w.r.t to previous link.
 
Real m
 Mass of the link.
 
Real Im
 Motor Inertia.
 
Real Gr
 Gear Ratio.
 
Real B
 Viscous coefficient.
 
Real Cf
 Coulomb fiction coefficient.
 
ColumnVector mc
 Mass $\times$ center of gravity (used if min_para = true).
 
Matrix I
 Inertia matrix w.r.t. center of mass and link coordinate system orientation.
 
bool immobile
 true if the joint is to be considered locked - ignored for inverse kinematics, but can still be reassigned through transform
 

Friends

class Robot_basic
 
class Robot
 
class mRobot
 
class mRobot_min_para
 

Detailed Description

Link definitions.

A n degree of freedom (dof) serial manipulator is composed of n links. This class describe the property of a link. A n dof robot has n instance of the class Link.

Definition at line 133 of file robot.h.

Member Function Documentation

Real Link::get_q ( void  ) const

Return joint position (theta if joint type is rotoide, d otherwise).

The joint offset is removed from the value.

Definition at line 295 of file robot.cpp.

References d, joint_offset, joint_type, and theta.

Referenced by Robot_basic::get_q().

void Link::set_I ( const Matrix &  I)

Set I.

Set the inertia matrix.

Definition at line 331 of file robot.cpp.

References I.

Referenced by perturb_robot().

void Link::set_mc ( const ColumnVector &  mc_)

Set mc.

Set the mass $\times$ center of gravity position.

Definition at line 318 of file robot.cpp.

References mc.

void Link::set_r ( const ColumnVector &  r_)

Set r.

Set the center of gravity position.

Definition at line 309 of file robot.cpp.

References r.