Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

ROBOOP::Link Class Reference

#include <robot.h>

List of all members.


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 136 of file 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)
 Constructor.
 Link (const Link &x)
 Copy constructor.
 ~Link ()
 Destructor.
Linkoperator= (const Link &x)
 Overload = operator.
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).
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.
void set_r (const ColumnVector &r_)
 Set r.
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.
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

Constructor & Destructor Documentation

ROBOOP::Link::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 
)

Constructor.

Definition at line 129 of file robot.cpp.

ROBOOP::Link::Link ( const Link x  ) 

Copy constructor.

Definition at line 227 of file robot.cpp.

ROBOOP::Link::~Link (  )  [inline]

Destructor.

Definition at line 153 of file robot.h.


Member Function Documentation

Link & ROBOOP::Link::operator= ( const Link x  ) 

Overload = operator.

Definition at line 256 of file robot.cpp.

void ROBOOP::Link::transform ( const Real  q  ) 

Set the rotation matrix R and the vector p.

Definition at line 285 of file robot.cpp.

Referenced by ROBOOP::Robot_basic::set_q().

bool ROBOOP::Link::get_DH ( void   )  const [inline]

Return DH value.

Definition at line 156 of file robot.h.

int ROBOOP::Link::get_joint_type ( void   )  const [inline]

Real ROBOOP::Link::get_theta ( void   )  const [inline]

Real ROBOOP::Link::get_a ( void   )  const [inline]

Real ROBOOP::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 346 of file robot.cpp.

Referenced by ROBOOP::Robot::computeFirstERSLink(), ROBOOP::Robot::computeSecondERSLink(), ROBOOP::Robot::computeThirdERSLink(), ROBOOP::Robot_basic::get_available_q(), and ROBOOP::Robot_basic::get_q().

Real ROBOOP::Link::get_theta_min ( void   )  const [inline]

Return theta_min.

Definition at line 163 of file robot.h.

Referenced by ROBOOP::Robot::inv_kin_pan_tilt().

Real ROBOOP::Link::get_theta_max ( void   )  const [inline]

Return theta_max.

Definition at line 164 of file robot.h.

Referenced by ROBOOP::Robot::inv_kin_pan_tilt().

Real ROBOOP::Link::get_joint_offset ( void   )  const [inline]

ReturnMatrix ROBOOP::Link::get_mc ( void   )  [inline]

Return mc.

Definition at line 166 of file robot.h.

ReturnMatrix ROBOOP::Link::get_r ( void   )  [inline]

Return r.

Definition at line 167 of file robot.h.

ReturnMatrix ROBOOP::Link::get_p ( void   )  const [inline]

Return p.

Definition at line 168 of file robot.h.

Real ROBOOP::Link::get_m ( void   )  const [inline]

Return m.

Definition at line 169 of file robot.h.

Referenced by ROBOOP::perturb_robot().

Real ROBOOP::Link::get_Im ( void   )  const [inline]

Return Im.

Definition at line 170 of file robot.h.

Referenced by ROBOOP::perturb_robot().

Real ROBOOP::Link::get_Gr ( void   )  const [inline]

Return Gr.

Definition at line 171 of file robot.h.

Real ROBOOP::Link::get_B ( void   )  const [inline]

Return B.

Definition at line 172 of file robot.h.

Referenced by ROBOOP::perturb_robot().

Real ROBOOP::Link::get_Cf ( void   )  const [inline]

Return Cf.

Definition at line 173 of file robot.h.

Referenced by ROBOOP::perturb_robot().

ReturnMatrix ROBOOP::Link::get_I ( void   )  const [inline]

Return I.

Definition at line 174 of file robot.h.

Referenced by ROBOOP::perturb_robot().

bool ROBOOP::Link::get_immobile ( void   )  const [inline]

Return immobile.

Definition at line 175 of file robot.h.

Referenced by ROBOOP::Crab_Arm_DH(), ROBOOP::Goose_Neck_DH(), and ROBOOP::PanTilt_DH().

void ROBOOP::Link::set_m ( const Real  m_  )  [inline]

Set m.

Definition at line 176 of file robot.h.

Referenced by ROBOOP::perturb_robot().

void ROBOOP::Link::set_mc ( const ColumnVector mc_  ) 

Set mc.

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

Definition at line 369 of file robot.cpp.

void ROBOOP::Link::set_r ( const ColumnVector r_  ) 

Set r.

Set the center of gravity position.

Definition at line 360 of file robot.cpp.

void ROBOOP::Link::set_Im ( const Real  Im_  )  [inline]

Set Im.

Definition at line 179 of file robot.h.

Referenced by ROBOOP::perturb_robot().

void ROBOOP::Link::set_B ( const Real  B_  )  [inline]

Set B.

Definition at line 180 of file robot.h.

Referenced by ROBOOP::perturb_robot().

void ROBOOP::Link::set_Cf ( const Real  Cf_  )  [inline]

Set Cf.

Definition at line 181 of file robot.h.

Referenced by ROBOOP::perturb_robot().

void ROBOOP::Link::set_I ( const Matrix I  ) 

Set I.

Set the inertia matrix.

Definition at line 382 of file robot.cpp.

Referenced by ROBOOP::perturb_robot().

void ROBOOP::Link::set_immobile ( bool  im  )  [inline]

Set immobile.

Definition at line 183 of file robot.h.

Referenced by ROBOOP::Robot_basic::Robot_basic().


Friends And Related Function Documentation

friend class Robot_basic [friend]

Definition at line 138 of file robot.h.

friend class Robot [friend]

Definition at line 139 of file robot.h.

friend class mRobot [friend]

Definition at line 140 of file robot.h.

friend class mRobot_min_para [friend]

Definition at line 141 of file robot.h.


Member Data Documentation

Joint acceleration.

Definition at line 186 of file robot.h.

Referenced by ROBOOP::Robot_basic::get_available_qpp(), ROBOOP::Robot_basic::get_qpp(), Link(), and operator=().

int ROBOOP::Link::joint_type [private]

Joint type.

Definition at line 190 of file robot.h.

Referenced by get_joint_type(), get_q(), Link(), operator=(), and transform().

theta DH parameter.

Definition at line 191 of file robot.h.

Referenced by get_q(), get_theta(), Link(), operator=(), and transform().

alpha DH parameter.

Definition at line 191 of file robot.h.

Referenced by get_alpha(), Link(), and operator=().

Min joint angle.

Definition at line 191 of file robot.h.

Referenced by get_theta_min(), and operator=().

Max joint angle.

Definition at line 191 of file robot.h.

Referenced by get_theta_max(), and operator=().

Offset in joint angle (rotoide and prismatic).

Definition at line 191 of file robot.h.

Referenced by get_joint_offset(), get_q(), Link(), operator=(), and transform().

bool ROBOOP::Link::DH [private]

DH notation(true) or DH modified notation.

Definition at line 198 of file robot.h.

Referenced by ROBOOP::Robot_basic::get_DH(), get_DH(), Link(), operator=(), and transform().

bool ROBOOP::Link::min_para [private]

Minimum inertial parameter.

Definition at line 198 of file robot.h.

Referenced by Link(), and operator=().

Position of center of mass w.r.t. link coordinate system (min_para=F).

Definition at line 200 of file robot.h.

Referenced by get_r(), Link(), operator=(), and set_r().

Mass $\times$ center of gravity (used if min_para = true).

Definition at line 207 of file robot.h.

Referenced by get_mc(), Link(), operator=(), and set_mc().

bool ROBOOP::Link::immobile [private]

true if the joint is to be considered locked - ignored for inverse kinematics, but can still be reassigned through transform

Definition at line 209 of file robot.h.

Referenced by get_immobile(), operator=(), and set_immobile().


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

ROBOOP v1.21a
Generated Thu Nov 22 00:51:35 2007 by Doxygen 1.5.4