55 #include "rnr/rnrconfig.h" 58 #include "Dynamixel/Dynamixel.h" 74 HekRobotJoint::HekRobotJoint()
79 m_nMasterServoId = DYNA_ID_NONE;
80 m_nSlaveServoId = DYNA_ID_NONE;
81 m_bIsServoContinuous =
false;
82 m_nMasterServoDir = DYNA_DIR_NONE;
83 m_eJointType = HekJointTypeUnknown;
85 m_fTicksPerServoRad = 0.0;
86 m_fTicksPerJointRad = 0.0;
89 m_fMaxServoRadsPerSec = 0.0;
90 m_fMaxJointRadsPerSec = 0.0;
92 m_fMinPhyLimitRads = 0.0;
93 m_fMaxPhyLimitRads = 0.0;
97 m_fMinSoftLimitRads = 0.0;
98 m_fMaxSoftLimitRads = 0.0;
99 m_nMinSoftLimitOd = 0;
100 m_nMaxSoftLimitOd = 0;
102 m_fCalibPosRads = 0.0;
104 m_fParkPosRads = 0.0;
106 m_eLimitTypes = HekLimitTypeUnknown;
107 m_fOverTorqueThDft = HekTuneOverTorqueThDft;
109 for(i=0; i<HekOptLimitMaxPerJoint; ++i)
111 m_byOptLimitMask[i] = 0x00;
115 m_eOpState = HekOpStateUncalibrated;
116 m_bStopAtOptLimits =
true;
155 for(i=0; i<HekOptLimitMaxPerJoint; ++i)
165 HekRobotJoint::~HekRobotJoint()
205 for(i=0; i<HekOptLimitMaxPerJoint; ++i)
222 HekJointState::HekJointState()
224 m_eOpState = HekOpStateUncalibrated;
225 m_nMasterServoId = DYNA_ID_NONE;
226 m_nSlaveServoId = DYNA_ID_NONE;
234 for(
int i=0; i<HekOptLimitMaxPerJoint; ++i)
236 m_eOptSwitch[i] = HekTriStateUnknown;
253 for(
int i=0; i<HekOptLimitMaxPerJoint; ++i)
272 for(
int i=0; i<HekOptLimitMaxPerJoint; ++i)
287 bool HekJointStatePoint::hasJoint(
const string &strJointName)
289 vector<HekJointState>::iterator iter;
291 for(iter = m_jointState.begin(); iter != m_jointState.end(); ++iter)
293 if( iter->m_strName == strJointName )
301 HekJointState &HekJointStatePoint::operator[](
const string &strJointName)
303 vector<HekJointState>::iterator iter;
305 for(iter = m_jointState.begin(); iter != m_jointState.end(); ++iter)
307 if( iter->m_strName == strJointName )
int m_nSlaveServoId
linked slave servo id (if any)
int m_nMaxSoftLimitOd
joint max soft limit (odometer ticks)
HekOpState m_eOpState
current operational state
double m_fMinSoftLimitRads
joint min soft limit (radians)
int m_nOdPos
current master servo odometer pos (ticks)
int m_eLimitTypes
joint limit types
Operational robotic joint description class.
int m_nSpeed
current master servo raw speed (unitless)
double m_fTicksPerJointRad
encoder/odom. ticks per joint radian
double m_fTicksPerServoRad
encoder/odom. ticks per servo radian
double m_fMaxServoRadsPerSec
maximum servo radians per second
int m_eJointType
joint type
double m_fMaxJointRadsPerSec
maximum joint radians per second
double m_fPosition
current joint position (radians)
double m_fVelocity
current joint velocity (% of max)
int m_nMinPhyLimitOd
joint min phys limit (odometer ticks)
int m_nMasterServoId
master servo id
HekOpState m_eOpState
joint operational state
double m_fParkPosRads
joint parked position (radians)
int m_nMasterServoId
master servo id
double m_fCalibPosRads
joint calibrated position (radians)
double m_fMinPhyLimitRads
joint min physical limit (radians)
bool m_bIsServoContinuous
servo should [not] be continuous mode
int m_nMinSoftLimitOd
joint min soft limit (odometer ticks)
Hekateros joint classes interfaces.
int m_nMaxPhyLimitOd
joint max phys limit (odometer ticks)
byte_t m_byOptLimitMask[HekOptLimitMaxPerJoint]
optical limit mask array
bool m_bStopAtOptLimits
do [not] stop at optical limits
std::string m_strName
joint name
std::string m_strName
joint name
Top-level package include file.
double m_fMaxSoftLimitRads
joint max soft limit (radians)
double m_fBalPosRads
joint balanced position (radians)
int m_nSlaveServoId
linked slave servo id (if any)
int m_nMasterServoDir
master servo normalized direction
double m_fGearRatio
joint gear ratio
<b><i>Hekateros</i></b> product specification base classes.
Hekateros common utilities.
double m_fEffort
current joint effort (servo load)
double m_fMaxPhyLimitRads
joint max physical limit (radians)
int m_nEncPos
current master servo encoder pos (ticks)
HekTriState m_eOptSwitch[HekOptLimitMaxPerJoint]
current state of optical switch(es)
The <b><i>Hekateros</i></b> namespace encapsulates all <b><i>Hekateros</i></b> related constructs...
double m_fOverTorqueThDft
joint over torque th default (norm).