Hekateros  3.4.3
RoadNarrows Robotics Robot Arm Project
hekateros::HekRobotJoint Class Reference

Operational robotic joint description class. More...

#include <hekJoint.h>

Public Member Functions

 HekRobotJoint ()
 Default constructor.
 
 HekRobotJoint (const HekRobotJoint &src)
 Copy constructor.
 
 ~HekRobotJoint ()
 Destructor.
 
HekRobotJoint operator= (const HekRobotJoint &rhs)
 Assignment operator. More...
 
std::string getJointName () const
 Get joint name. More...
 
int getMasterServoId () const
 Get master servo id. More...
 
void setStopAtLimitsState (bool bStopAtLimits)
 Set auto-stop at joint electronic limits state. More...
 
bool doStopAtLimits () const
 Get auto-stop at joint electronic limits state. More...
 

Protected Attributes

std::string m_strName
 joint name
 
int m_nMasterServoId
 master servo id
 
int m_nSlaveServoId
 linked slave servo id (if any)
 
bool m_bIsServoContinuous
 servo should [not] be continuous mode
 
int m_nMasterServoDir
 master servo normalized direction
 
int m_eJointType
 joint type
 
double m_fGearRatio
 joint gear ratio
 
double m_fTicksPerServoRad
 encoder/odom. ticks per servo radian
 
double m_fTicksPerJointRad
 encoder/odom. ticks per joint radian
 
double m_fMaxServoRadsPerSec
 maximum servo radians per second
 
double m_fMaxJointRadsPerSec
 maximum joint radians per second
 
double m_fMinPhyLimitRads
 joint min physical limit (radians)
 
double m_fMaxPhyLimitRads
 joint max physical limit (radians)
 
int m_nMinPhyLimitOd
 joint min phys limit (odometer ticks)
 
int m_nMaxPhyLimitOd
 joint max phys limit (odometer ticks)
 
double m_fMinSoftLimitRads
 joint min soft limit (radians)
 
double m_fMaxSoftLimitRads
 joint max soft limit (radians)
 
int m_nMinSoftLimitOd
 joint min soft limit (odometer ticks)
 
int m_nMaxSoftLimitOd
 joint max soft limit (odometer ticks)
 
double m_fCalibPosRads
 joint calibrated position (radians)
 
double m_fBalPosRads
 joint balanced position (radians)
 
double m_fParkPosRads
 joint parked position (radians)
 
int m_eLimitTypes
 joint limit types
 
double m_fOverTorqueThDft
 joint over torque th default (norm).
 
byte_t m_byOptLimitMask [HekOptLimitMaxPerJoint]
 optical limit mask array
 
HekOpState m_eOpState
 current operational state
 
bool m_bStopAtOptLimits
 do [not] stop at optical limits
 

Friends

class HekRobot
 
class HekKinJoint
 
class HekKinJointWristRot
 
class HekMonitor
 
class HekCalibStretch
 
class HekXmlTune
 

Detailed Description

Operational robotic joint description class.

This class contains all of the data necessary to control the operation of an Hekateros robotic joint.

Definition at line 80 of file hekJoint.h.

Member Function Documentation

bool hekateros::HekRobotJoint::doStopAtLimits ( ) const
inline

Get auto-stop at joint electronic limits state.

Returns
Returns true or false.

Definition at line 142 of file hekJoint.h.

References m_bStopAtOptLimits.

Referenced by hekateros::HekMonitor::monJointLimits().

143  {
144  return m_bStopAtOptLimits;
145  }
bool m_bStopAtOptLimits
do [not] stop at optical limits
Definition: hekJoint.h:180
std::string hekateros::HekRobotJoint::getJointName ( ) const
inline

Get joint name.

Returns
String.

Definition at line 112 of file hekJoint.h.

References m_strName.

Referenced by hekateros::HekKinematics::HekKinematics().

113  {
114  return m_strName;
115  }
std::string m_strName
joint name
Definition: hekJoint.h:149
int hekateros::HekRobotJoint::getMasterServoId ( ) const
inline

Get master servo id.

Returns
Returns servo id.

Definition at line 122 of file hekJoint.h.

References m_nMasterServoId.

Referenced by hekateros::HekKinematics::HekKinematics().

123  {
124  return m_nMasterServoId;
125  }
int m_nMasterServoId
master servo id
Definition: hekJoint.h:150
HekRobotJoint HekRobotJoint::operator= ( const HekRobotJoint rhs)

Assignment operator.

Parameters
rhsRight hand side object.
Returns
Returns copy of this.

Definition at line 169 of file hekJoint.cxx.

References m_bIsServoContinuous, m_bStopAtOptLimits, m_byOptLimitMask, m_eJointType, m_eLimitTypes, m_eOpState, m_fBalPosRads, m_fCalibPosRads, m_fGearRatio, m_fMaxJointRadsPerSec, m_fMaxPhyLimitRads, m_fMaxServoRadsPerSec, m_fMaxSoftLimitRads, m_fMinPhyLimitRads, m_fMinSoftLimitRads, m_fOverTorqueThDft, m_fParkPosRads, m_fTicksPerJointRad, m_fTicksPerServoRad, m_nMasterServoDir, m_nMasterServoId, m_nMaxPhyLimitOd, m_nMaxSoftLimitOd, m_nMinPhyLimitOd, m_nMinSoftLimitOd, m_nSlaveServoId, and m_strName.

Referenced by hekateros::HekJointState::~HekJointState().

170 {
171  int i;
172 
173  // (derived) specification
174  m_strName = rhs.m_strName;
183 
184  // discovered limits and positions
187 
192 
197 
201 
204 
205  for(i=0; i<HekOptLimitMaxPerJoint; ++i)
206  {
208  }
209 
210  // state
211  m_eOpState = rhs.m_eOpState;
213 
214  return *this;
215 }
int m_nSlaveServoId
linked slave servo id (if any)
Definition: hekJoint.h:151
int m_nMaxSoftLimitOd
joint max soft limit (odometer ticks)
Definition: hekJoint.h:169
HekOpState m_eOpState
current operational state
Definition: hekJoint.h:179
double m_fMinSoftLimitRads
joint min soft limit (radians)
Definition: hekJoint.h:166
int m_eLimitTypes
joint limit types
Definition: hekJoint.h:173
double m_fTicksPerJointRad
encoder/odom. ticks per joint radian
Definition: hekJoint.h:157
double m_fTicksPerServoRad
encoder/odom. ticks per servo radian
Definition: hekJoint.h:156
double m_fMaxServoRadsPerSec
maximum servo radians per second
Definition: hekJoint.h:158
int m_eJointType
joint type
Definition: hekJoint.h:154
double m_fMaxJointRadsPerSec
maximum joint radians per second
Definition: hekJoint.h:159
int m_nMinPhyLimitOd
joint min phys limit (odometer ticks)
Definition: hekJoint.h:164
int m_nMasterServoId
master servo id
Definition: hekJoint.h:150
double m_fParkPosRads
joint parked position (radians)
Definition: hekJoint.h:172
double m_fCalibPosRads
joint calibrated position (radians)
Definition: hekJoint.h:170
double m_fMinPhyLimitRads
joint min physical limit (radians)
Definition: hekJoint.h:162
bool m_bIsServoContinuous
servo should [not] be continuous mode
Definition: hekJoint.h:152
int m_nMinSoftLimitOd
joint min soft limit (odometer ticks)
Definition: hekJoint.h:168
int m_nMaxPhyLimitOd
joint max phys limit (odometer ticks)
Definition: hekJoint.h:165
byte_t m_byOptLimitMask[HekOptLimitMaxPerJoint]
optical limit mask array
Definition: hekJoint.h:175
bool m_bStopAtOptLimits
do [not] stop at optical limits
Definition: hekJoint.h:180
std::string m_strName
joint name
Definition: hekJoint.h:149
static const int HekOptLimitMaxPerJoint
max limits/joint
Definition: hekOptical.h:120
double m_fMaxSoftLimitRads
joint max soft limit (radians)
Definition: hekJoint.h:167
double m_fBalPosRads
joint balanced position (radians)
Definition: hekJoint.h:171
int m_nMasterServoDir
master servo normalized direction
Definition: hekJoint.h:153
double m_fGearRatio
joint gear ratio
Definition: hekJoint.h:155
double m_fMaxPhyLimitRads
joint max physical limit (radians)
Definition: hekJoint.h:163
double m_fOverTorqueThDft
joint over torque th default (norm).
Definition: hekJoint.h:174
void hekateros::HekRobotJoint::setStopAtLimitsState ( bool  bStopAtLimits)
inline

Set auto-stop at joint electronic limits state.

Parameters
bStopAtLimitsDo [not] auto-stop at limits.

Definition at line 132 of file hekJoint.h.

References m_bStopAtOptLimits.

133  {
134  m_bStopAtOptLimits = bStopAtLimits;
135  }
bool m_bStopAtOptLimits
do [not] stop at optical limits
Definition: hekJoint.h:180

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