PID制御器  
 [詳解]
#include <Udon/Algorithm/PidController.hpp>
 | 
|   | PidController (double kPro, double kInt, double kDif, unsigned long callInterval_us, double maxIntPower=1023.0) noexcept | 
|   | コンストラクタ  
  | 
|   | 
| void  | update (double controlValue, double targetValue) noexcept | 
|   | データ更新  
  | 
|   | 
| double  | getPower () const noexcept | 
|   | 操作量の取得 (操作量の範囲制限なし)  
  | 
|   | 
| double  | getPower (double min, double max) const noexcept | 
|   | 操作量の取得  
  | 
|   | 
| double  | getPower (const Udon::Range< double > &range) const noexcept | 
|   | 操作量の取得  
  | 
|   | 
| double  | operator() (double controlValue, double targetValue) noexcept | 
|   | 更新、操作量の取得 (操作量の範囲制限なし)  
  | 
|   | 
| double  | operator() (double controlValue, double targetValue, double min, double max) noexcept | 
|   | 更新、操作量の取得  
  | 
|   | 
| double  | operator() (double controlValue, double targetValue, const Udon::Range< double > &range) noexcept | 
|   | 更新、操作量の取得  
  | 
|   | 
| void  | clearPower () noexcept | 
|   | 操作量のクリア  
  | 
|   | 
| void  | clearIntegral () noexcept | 
|   | 
| void  | requestParamPro (double value) noexcept | 
|   | 一周期のみ適用する比例係数の設定  
  | 
|   | 
| void  | requestParamInt (double value) noexcept | 
|   | 一周期のみ適用する積分係数の設定  
  | 
|   | 
| void  | requestParamDif (double value) noexcept | 
|   | 一周期のみ適用する微分係数の設定  
  | 
|   | 
| void  | requestParam (const Parameter &value) noexcept | 
|   | 一周期のみ適用する係数の設定  
  | 
|   | 
| void  | setParamPro (double value) noexcept | 
|   | 比例係数の設定  
  | 
|   | 
| void  | setParamInt (double value) noexcept | 
|   | 積分係数の設定  
  | 
|   | 
| void  | setParamDif (double value) noexcept | 
|   | 微分係数の設定  
  | 
|   | 
| void  | setParam (const Parameter &value) noexcept | 
|   | 係数の設定  
  | 
|   | 
| double  | getParamPro () const noexcept | 
|   | 比例係数の取得  
  | 
|   | 
| double  | getParamInt () const noexcept | 
|   | 積分係数の取得  
  | 
|   | 
| double  | getParamDif () const noexcept | 
|   | 微分係数の取得  
  | 
|   | 
| const Parameter &  | getParam () const noexcept | 
|   | 係数の取得  
  | 
|   | 
| double  | getPowerPro () const noexcept | 
|   | 比例量の取得  
  | 
|   | 
| double  | getPowerInt () const noexcept | 
|   | 積分量の取得  
  | 
|   | 
| double  | getPowerDif () const noexcept | 
|   | 微分量の取得  
  | 
|   | 
◆ PidController()
  
  
      
        
          | Udon::PidController::PidController  | 
          ( | 
          double |           kPro,  | 
         
        
           | 
           | 
          double |           kInt,  | 
         
        
           | 
           | 
          double |           kDif,  | 
         
        
           | 
           | 
          unsigned long |           callInterval_us,  | 
         
        
           | 
           | 
          double |           maxIntPower = 1023.0 ) | 
         
       
   | 
  
inlinenoexcept   | 
  
 
コンストラクタ 
- 引数
 - 
  
    | kPro | 比例係数  | 
    | kInt | 積分係数  | 
    | kDif | 微分係数  | 
    | callInterval_us | update()の呼び出し周期  | 
    | maxIntPower | 積分量の最大値  | 
  
   
 
 
◆ clearIntegral()
  
  
      
        
          | void Udon::PidController::clearIntegral  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ clearPower()
  
  
      
        
          | void Udon::PidController::clearPower  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinenoexcept   | 
  
 
操作量のクリア 
- 覚え書き
 - 内部の量をすべて0にする。 
 
 
 
◆ getParam()
  
  
      
        
          | const Parameter & Udon::PidController::getParam  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ getParamDif()
  
  
      
        
          | double Udon::PidController::getParamDif  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ getParamInt()
  
  
      
        
          | double Udon::PidController::getParamInt  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ getParamPro()
  
  
      
        
          | double Udon::PidController::getParamPro  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ getPower() [1/3]
  
  
      
        
          | double Udon::PidController::getPower  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlinenoexcept   | 
  
 
操作量の取得 (操作量の範囲制限なし) 
- 戻り値
 - 操作量 
 
 
 
◆ getPower() [2/3]
  
  
      
        
          | double Udon::PidController::getPower  | 
          ( | 
          const Udon::Range< double > & |           range | ) | 
           const | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ getPower() [3/3]
  
  
      
        
          | double Udon::PidController::getPower  | 
          ( | 
          double |           min,  | 
         
        
           | 
           | 
          double |           max ) const | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ getPowerDif()
  
  
      
        
          | double Udon::PidController::getPowerDif  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ getPowerInt()
  
  
      
        
          | double Udon::PidController::getPowerInt  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ getPowerPro()
  
  
      
        
          | double Udon::PidController::getPowerPro  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ operator()() [1/3]
  
  
      
        
          | double Udon::PidController::operator()  | 
          ( | 
          double |           controlValue,  | 
         
        
           | 
           | 
          double |           targetValue ) | 
         
       
   | 
  
inlinenoexcept   | 
  
 
更新、操作量の取得 (操作量の範囲制限なし) 
- 引数
 - 
  
    | controlValue | 制御量  | 
    | targetValue | 目標値  | 
  
   
- 戻り値
 - 操作量 
 
 
 
◆ operator()() [2/3]
  
  
      
        
          | double Udon::PidController::operator()  | 
          ( | 
          double |           controlValue,  | 
         
        
           | 
           | 
          double |           targetValue,  | 
         
        
           | 
           | 
          const Udon::Range< double > & |           range ) | 
         
       
   | 
  
inlinenoexcept   | 
  
 
更新、操作量の取得 
- 引数
 - 
  
    | controlValue | 制御量  | 
    | targetValue | 目標値  | 
    | range | 操作量の範囲  | 
  
   
- 戻り値
 - 操作量 
 
 
 
◆ operator()() [3/3]
  
  
      
        
          | double Udon::PidController::operator()  | 
          ( | 
          double |           controlValue,  | 
         
        
           | 
           | 
          double |           targetValue,  | 
         
        
           | 
           | 
          double |           min,  | 
         
        
           | 
           | 
          double |           max ) | 
         
       
   | 
  
inlinenoexcept   | 
  
 
更新、操作量の取得 
- 引数
 - 
  
    | controlValue | 制御量  | 
    | targetValue | 目標値  | 
    | min | 操作量の最小値  | 
    | max | 操作量の最大値  | 
  
   
- 戻り値
 - 操作量 
 
 
 
◆ requestParam()
  
  
      
        
          | void Udon::PidController::requestParam  | 
          ( | 
          const Parameter & |           value | ) | 
           | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ requestParamDif()
  
  
      
        
          | void Udon::PidController::requestParamDif  | 
          ( | 
          double |           value | ) | 
           | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ requestParamInt()
  
  
      
        
          | void Udon::PidController::requestParamInt  | 
          ( | 
          double |           value | ) | 
           | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ requestParamPro()
  
  
      
        
          | void Udon::PidController::requestParamPro  | 
          ( | 
          double |           value | ) | 
           | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ setParam()
  
  
      
        
          | void Udon::PidController::setParam  | 
          ( | 
          const Parameter & |           value | ) | 
           | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ setParamDif()
  
  
      
        
          | void Udon::PidController::setParamDif  | 
          ( | 
          double |           value | ) | 
           | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ setParamInt()
  
  
      
        
          | void Udon::PidController::setParamInt  | 
          ( | 
          double |           value | ) | 
           | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ setParamPro()
  
  
      
        
          | void Udon::PidController::setParamPro  | 
          ( | 
          double |           value | ) | 
           | 
         
       
   | 
  
inlinenoexcept   | 
  
 
 
◆ update()
  
  
      
        
          | void Udon::PidController::update  | 
          ( | 
          double |           controlValue,  | 
         
        
           | 
           | 
          double |           targetValue ) | 
         
       
   | 
  
inlinenoexcept   | 
  
 
データ更新 
- 引数
 - 
  
    | controlValue | 制御量  | 
    | targetValue | 目標値  | 
  
   
- 戻り値
 - 操作量 
 
 
 
このクラス詳解は次のファイルから抽出されました: