|
| | HekPid (double fKp=HekTunePidKpDft, double fKi=HekTunePidKiDft, double fKd=HekTunePidKdDft, double fWi=WI_DFT) |
| | Default constructor. More...
|
| |
|
| HekPid (const HekPid &src) |
| | Copy constructor.
|
| |
|
virtual | ~HekPid () |
| | Destructor.
|
| |
|
HekPid & | operator= (const HekPid &rhs) |
| | Assignment operator.
|
| |
| void | getKParams (double &fKp, double &fKi, double &fKd) const |
| | Get the position and velocity PID K parameters. More...
|
| |
| void | setKParams (const double fKp, const double fKi, const double fKd) |
| | Set the position and velocity PID K parameters. More...
|
| |
| double | getMaxDeltaVParam () const |
| | Get the maximum delta V (ramp) parameter (radians/second). More...
|
| |
| void | setMaxDeltaVParam (const double fMaxDeltaV) |
| | Set the maximum delta V (ramp) parameter (radians/second). More...
|
| |
| virtual void | specifySetPoint (double fJointGoalPos, double fJointGoalVel) |
| | Specify the PID set point. More...
|
| |
| virtual double | control (double fJointCurPos, double fJointCurVel, double fDt) |
| | Apply PID control. More...
|
| |
|
|
static const double | WI_DFT = 0.25 |
| | integral sum of errors weight const
|
| |
|
| virtual double | toOutput (double fJointTgtVel) |
| | Convert Control Variable to application-specific output value. More...
|
| |
Definition at line 69 of file hekPid.h.
Default constructor.
- Parameters
-
| fKp | PID proportional constant. |
| fKi | PID integral constant. |
| fKd | PID derivative constant. |
| fWi | PID integral sum of errors weight constant. |
Definition at line 85 of file hekPid.h.
References hekateros::HekTunePidDeltaVNoMax, m_fJointCurVel, m_fJointGoalPos, m_fJointGoalVel, and m_fMaxDeltaV.
89 DynaPid(fKp, fKi, fKd, fWi)
double m_fJointGoalPos
goal position (primary SP)
double m_fJointGoalVel
goal velocity (secondary SP)
static const double HekTunePidDeltaVNoMax
No maximum PID delta V output special value.
double m_fJointCurVel
current velocity (secondary PV)
double m_fMaxDeltaV
maximum allowd delta v output
| virtual double hekateros::HekPid::control |
( |
double |
fJointCurPos, |
|
|
double |
fJointCurVel, |
|
|
double |
fDt |
|
) |
| |
|
inlinevirtual |
| void hekateros::HekPid::getKParams |
( |
double & |
fKp, |
|
|
double & |
fKi, |
|
|
double & |
fKd |
|
) |
| const |
|
inline |
Get the position and velocity PID K parameters.
- Parameters
-
| [out] | fKp | Proportional gain parameter. |
| [out] | fKi | Integral gain parameter. |
| [out] | fKd | Derivative gain parameter. |
Definition at line 137 of file hekPid.h.
| double hekateros::HekPid::getMaxDeltaVParam |
( |
| ) |
const |
|
inline |
Get the maximum delta V (ramp) parameter (radians/second).
- Returns
- Maximum delta velocity.
Definition at line 165 of file hekPid.h.
References m_fMaxDeltaV.
double m_fMaxDeltaV
maximum allowd delta v output
| void hekateros::HekPid::setKParams |
( |
const double |
fKp, |
|
|
const double |
fKi, |
|
|
const double |
fKd |
|
) |
| |
|
inline |
Set the position and velocity PID K parameters.
- Parameters
-
| [in] | fKp | Proportional gain parameter. |
| [in] | fKi | Integral gain parameter. |
| [in] | fKd | Derivative gain parameter. |
- Returns
Definition at line 153 of file hekPid.h.
| void hekateros::HekPid::setMaxDeltaVParam |
( |
const double |
fMaxDeltaV | ) |
|
|
inline |
Set the maximum delta V (ramp) parameter (radians/second).
- Parameters
-
| [in] | fMaxDeltaV | Maximum delta velocity. |
Definition at line 175 of file hekPid.h.
References m_fMaxDeltaV, and specifySetPoint().
double m_fMaxDeltaV
maximum allowd delta v output
| void HekPid::specifySetPoint |
( |
double |
fJointGoalPos, |
|
|
double |
fJointGoalVel |
|
) |
| |
|
virtual |
Specify the PID set point.
The PID will control the primary postion Set Point SP through the velocity Control Variable CV. The PID will strive to reach the goal velocity (secondary SP) while achieving the primary SP.
- Parameters
-
| fJointGoalPos | New goal position set point (radians). |
| fJointGoalVel | New goal velocity set point (radians/second). |
Definition at line 71 of file hekPid.cxx.
Referenced by hekateros::HekKinJoint::nlspecifyMove(), and setMaxDeltaVParam().
73 DynaPid::SpecifySetPoint(fJointGoalPos,
true);
double m_fJointGoalPos
goal position (primary SP)
double m_fJointGoalVel
goal velocity (secondary SP)
| double HekPid::toOutput |
( |
double |
fJointTgtVel | ) |
|
|
protectedvirtual |
Convert Control Variable to application-specific output value.
- Parameters
-
| fJointTgtVel | Raw joint target velocity (radians/second). The Control Variable CV from PID. |
- Returns
- Target velocity.
Definition at line 79 of file hekPid.cxx.
References hekateros::fcap().
90 return fcap(fCVJointTgtVel, -fMax, fMax);
double m_fJointGoalVel
goal velocity (secondary SP)
static const double HekTunePidDeltaVNoMax
No maximum PID delta V output special value.
double fcap(double a, double min, double max)
Cap value within limits [min, max].
double m_fJointCurVel
current velocity (secondary PV)
double m_fMaxDeltaV
maximum allowd delta v output
The documentation for this class was generated from the following files: