UdonLibrary 1.0.0
機械システム研究部 C++ ライブラリ
読み取り中…
検索中…
一致する文字列を見つけられません
Udon::PidController クラス

PID制御器 [詳解]

#include <Udon/Algorithm/PidController.hpp>

クラス

struct  Parameter
 

公開メンバ関数

 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 operator() (double controlValue, double targetValue) noexcept
 更新、操作量の取得
 
double operator() (double controlValue, double targetValue, double min, double max) 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 ParametergetParam () const noexcept
 係数の取得
 
double getPowerPro () const noexcept
 比例量の取得
 
double getPowerInt () const noexcept
 積分量の取得
 
double getPowerDif () const noexcept
 微分量の取得
 

詳解

PID制御器

構築子と解体子

◆ PidController()

Udon::PidController::PidController ( double kPro,
double kInt,
double kDif,
unsigned long callInterval_us,
double maxIntPower = 1023.0 )
inlinenoexcept

コンストラクタ

引数
kPro比例係数
kInt積分係数
kDif微分係数
callInterval_usupdate()の呼び出し周期
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/2]

double Udon::PidController::getPower ( ) const
inlinenoexcept

操作量の取得

戻り値
操作量

◆ getPower() [2/2]

double Udon::PidController::getPower ( double min,
double max ) const
inlinenoexcept

操作量の取得

引数
min操作量の最小値
max操作量の最大値
戻り値
操作量

◆ getPowerDif()

double Udon::PidController::getPowerDif ( ) const
inlinenoexcept

微分量の取得

戻り値
微分量

◆ getPowerInt()

double Udon::PidController::getPowerInt ( ) const
inlinenoexcept

積分量の取得

戻り値
積分量

◆ getPowerPro()

double Udon::PidController::getPowerPro ( ) const
inlinenoexcept

比例量の取得

戻り値
比例量

◆ operator()() [1/2]

double Udon::PidController::operator() ( double controlValue,
double targetValue )
inlinenoexcept

更新、操作量の取得

引数
controlValue制御量
targetValue目標値
戻り値
操作量

◆ operator()() [2/2]

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

一周期のみ適用する係数の設定

引数
value係数

◆ requestParamDif()

void Udon::PidController::requestParamDif ( double value)
inlinenoexcept

一周期のみ適用する微分係数の設定

引数
value係数

◆ requestParamInt()

void Udon::PidController::requestParamInt ( double value)
inlinenoexcept

一周期のみ適用する積分係数の設定

引数
value係数

◆ requestParamPro()

void Udon::PidController::requestParamPro ( double value)
inlinenoexcept

一周期のみ適用する比例係数の設定

引数
value係数

◆ setParam()

void Udon::PidController::setParam ( const Parameter & value)
inlinenoexcept

係数の設定

引数
value係数

◆ setParamDif()

void Udon::PidController::setParamDif ( double value)
inlinenoexcept

微分係数の設定

引数
value微分係数

◆ setParamInt()

void Udon::PidController::setParamInt ( double value)
inlinenoexcept

積分係数の設定

引数
value積分係数

◆ setParamPro()

void Udon::PidController::setParamPro ( double value)
inlinenoexcept

比例係数の設定

引数
value比例係数

◆ update()

void Udon::PidController::update ( double controlValue,
double targetValue )
inlinenoexcept

データ更新

引数
controlValue制御量
targetValue目標値
戻り値
操作量

このクラス詳解は次のファイルから抽出されました: