56 #include "rnr/rnrconfig.h" 72 #if 0 // RDK move to DynaServo 76 m_nSpeedMax = (int)m_pServo->GetSpecification().m_uRawSpeedMax;
85 m_nSpeedMin = -m_nSpeedMax;
88 m_nOdModulo = m_pServo->GetOdometerModulo();
106 nDp = nCurPos - nPrevPos;
115 nDp = m_nOdModulo + nDp;
119 nDp = nDp - m_nOdModulo;
125 fDpDt = ((double)(nDp))/dt;
137 if( m_fCV < (
double)m_nSpeedMin )
139 return (
double)m_nSpeedMin;
141 else if( m_fCV > (
double)m_nSpeedMax )
143 return (
double)m_nSpeedMax;
virtual double toOutput()
Convert control variable to raw servo speed.
#define DYNA_SPEED_MIN_CTL
mininum raw speed with control
#define DYNA_MODE_SERVO
servo mode with limited rotation
static const double SpeedPidKdDft
default Kd constant
virtual void SpecifySetPoint(double fSP, bool bUnwind=false)
Specify the setpoint.
The Dynamixel Speed PID Class.
INLINE_IN_H int iabs(int a)
Return absolute value of a.
Miscellaneous collection of useful utilities.
static const double SpeedPidKpDft
default Kp constant
static const double SpeedPidKiDft
default Ki constant
The Dynamixel PID Base Class.
#define DYNA_MODE_CONTINUOUS
continuous mode with/without position
virtual double CalcDpDt(uint_t uCurPos, uint_t uPrevPos, double dt)
Convert the current and previous positions measured over delta time to dp/dt.
virtual void SpecifySetPoint(double fDpDt, bool bUnwind=false)
Specify the setpoint.
RoadNarrows Dynamixel Top-Level Package Header File.