52 #include "rnr/rnrconfig.h" 65 HekTunesJoint::HekTunesJoint()
67 m_fTolPos =
degToRad(HekTuneTolPosDft);
68 m_fTolVel =
degToRad(HekTuneTolVelDft);
69 m_fPidKp = HekTunePidKpDft;
70 m_fPidKi = HekTunePidKiDft;
71 m_fPidKd = HekTunePidKdDft;
72 m_fPidMaxDeltaV =
degToRad(HekTunePidMaxDeltaVDft);
73 m_fOverTorqueTh = HekTuneOverTorqueThDft / 100.0;
94 m_fKinematicsHz = HekTuneKinHzDft;
95 m_fClearTorqueOffset = HekTuneClearTorqueOffsetDft / 100.0;
96 m_fVelDerate = HekTuneVelDerateDft / 100.0;
97 m_eTrajNorm = HekTuneTrajNormDft;
98 m_fTrajEpsilon =
degToRad(HekTuneTrajEpsilonDft);
101 void HekTunes::getToleranceParams(
const std::string &strJointName,
102 double &fTolPos,
double &fTolVel)
const 104 MapJointTunes::const_iterator pos;
106 if( (pos = m_mapJointTunes.find(strJointName)) != m_mapJointTunes.end() )
108 fTolPos = pos->second.m_fTolPos;
109 fTolVel = pos->second.m_fTolVel;
113 fTolPos =
degToRad(HekTuneTolPosDft);
114 fTolVel =
degToRad(HekTuneTolVelDft);
118 void HekTunes::getPidKParams(
const std::string &strJointName,
119 double &fKp,
double &fKi,
double &fKd)
const 121 MapJointTunes::const_iterator pos;
123 if( (pos = m_mapJointTunes.find(strJointName)) != m_mapJointTunes.end() )
125 fKp = pos->second.m_fPidKp;
126 fKi = pos->second.m_fPidKi;
127 fKd = pos->second.m_fPidKd;
131 fKp = HekTunePidKpDft;
132 fKi = HekTunePidKiDft;
133 fKd = HekTunePidKdDft;
137 double HekTunes::getPidMaxDeltaV(
const std::string &strJointName)
const 139 MapJointTunes::const_iterator pos;
141 if( (pos = m_mapJointTunes.find(strJointName)) != m_mapJointTunes.end() )
143 return pos->second.m_fPidMaxDeltaV;
147 return degToRad(HekTunePidMaxDeltaVDft);
151 void HekTunes::getTorqueParams(
const std::string &strJointName,
152 double &fOverTorqueTh,
153 double &fClearTorqueTh)
const 155 MapJointTunes::const_iterator pos;
157 if( (pos = m_mapJointTunes.find(strJointName)) != m_mapJointTunes.end() )
159 fOverTorqueTh = pos->second.m_fOverTorqueTh;
163 fOverTorqueTh = HekTuneOverTorqueThDft / 100.0;
165 fClearTorqueTh = fOverTorqueTh * m_fClearTorqueOffset;
double m_fPidKi
position and velocity PID integral constant
double m_fPidKp
position and velocity PID proportional const
double m_fTolVel
velocitiy tolerance (radians/second)
Hekateros tuning per joint data class.
double m_fOverTorqueTh
over torque conditon threshold (fraction)
double m_fPidKd
position and velocity PID derivative constant
double m_fPidMaxDeltaV
max output delta v (radians/second)
Top-level package include file.
double degToRad(double d)
Convert degrees to radians.
Hekateros common utilities.
The <b><i>Hekateros</i></b> namespace encapsulates all <b><i>Hekateros</i></b> related constructs...
double m_fTolPos
position tolerance (radians)