18 #ifndef _GAZEBO_PID_HH_    19 #define _GAZEBO_PID_HH_    36     class GZ_COMMON_VISIBLE 
PID    51       public: 
PID(
double _p = 0.0, 
double _i = 0.0, 
double _d = 0.0,
    52                   double _imax = 0.0, 
double _imin = 0.0,
    53                   double _cmdMax = -1.0, 
double _cmdMin = 0.0);
    56       public: 
virtual ~
PID();
    71       public: 
void Init(
double _p = 0.0, 
double _i = 0.0, 
double _d = 0.0,
    72                         double _imax = 0.0, 
double _imin = 0.0,
    73                         double _cmdMax = -1.0, 
double _cmdMin = 0.0);
    77       public: 
void SetPGain(
double _p);
    81       public: 
void SetIGain(
double _i);
    85       public: 
void SetDGain(
double _d);
    89       public: 
void SetIMax(
double _i);
    93       public: 
void SetIMin(
double _i);
    97       public: 
void SetCmdMax(
double _c);
   101       public: 
void SetCmdMin(
double _c);
   105       public: 
double GetPGain() 
const;
   109       public: 
double GetIGain() 
const;
   113       public: 
double GetDGain() 
const;
   117       public: 
double GetIMax() 
const;
   121       public: 
double GetIMin() 
const;
   125       public: 
double GetCmdMax() 
const;
   129       public: 
double GetCmdMin() 
const;
   142       public: 
void SetCmd(
double _cmd);
   146       public: 
double GetCmd();
   152       public: 
void GetErrors(
double &_pe, 
double &_ie, 
double &_de);
   162                 this->pGain = _p.pGain;
   163                 this->iGain = _p.iGain;
   164                 this->dGain = _p.dGain;
   165                 this->iMax = _p.iMax;
   166                 this->iMin = _p.iMin;
   167                 this->cmdMax = _p.cmdMax;
   168                 this->cmdMin = _p.cmdMin;
   169                 this->pErrLast = _p.pErrLast;
   170                 this->pErr = _p.pErr;
   171                 this->iErr = _p.iErr;
   172                 this->dErr = _p.dErr;
   180       public: 
void Reset();
   183       private: 
double pErrLast;
   186       private: 
double pErr;
   189       private: 
double iErr;
   192       private: 
double dErr;
   195       private: 
double pGain;
   198       private: 
double iGain;
   201       private: 
double dGain;
   204       private: 
double iMax;
   207       private: 
double iMin;
   213       private: 
double cmdMax = -1.0;
   216       private: 
double cmdMin = 0.0;
 Forward declarations for the common classes. 
Definition: Animation.hh:33
 
PID & operator=(const PID &_p)
Assignment operator. 
Definition: PID.hh:157
 
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message. 
 
Generic PID controller class. 
Definition: PID.hh:36
 
A Time class, can be used to hold wall- or sim-time. 
Definition: Time.hh:44