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 | 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 |
| 微分量の取得 | |
PID制御器
|
inlinenoexcept |
コンストラクタ
| kPro | 比例係数 |
| kInt | 積分係数 |
| kDif | 微分係数 |
| callInterval_us | update()の呼び出し周期 |
| maxIntPower | 積分量の最大値 |
|
inlinenoexcept |
|
inlinenoexcept |
操作量のクリア
|
inlinenoexcept |
係数の取得
|
inlinenoexcept |
微分係数の取得
|
inlinenoexcept |
積分係数の取得
|
inlinenoexcept |
比例係数の取得
|
inlinenoexcept |
操作量の取得 (操作量の範囲制限なし)
|
inlinenoexcept |
操作量の取得
| range | 操作量の範囲 |
|
inlinenoexcept |
操作量の取得
| min | 操作量の最小値 |
| max | 操作量の最大値 |
|
inlinenoexcept |
微分量の取得
|
inlinenoexcept |
積分量の取得
|
inlinenoexcept |
比例量の取得
|
inlinenoexcept |
更新、操作量の取得 (操作量の範囲制限なし)
| controlValue | 制御量 |
| targetValue | 目標値 |
|
inlinenoexcept |
更新、操作量の取得
| controlValue | 制御量 |
| targetValue | 目標値 |
| range | 操作量の範囲 |
|
inlinenoexcept |
更新、操作量の取得
| controlValue | 制御量 |
| targetValue | 目標値 |
| min | 操作量の最小値 |
| max | 操作量の最大値 |
|
inlinenoexcept |
一周期のみ適用する係数の設定
| value | 係数 |
|
inlinenoexcept |
一周期のみ適用する微分係数の設定
| value | 係数 |
|
inlinenoexcept |
一周期のみ適用する積分係数の設定
| value | 係数 |
|
inlinenoexcept |
一周期のみ適用する比例係数の設定
| value | 係数 |
|
inlinenoexcept |
係数の設定
| value | 係数 |
|
inlinenoexcept |
微分係数の設定
| value | 微分係数 |
|
inlinenoexcept |
積分係数の設定
| value | 積分係数 |
|
inlinenoexcept |
比例係数の設定
| value | 比例係数 |
|
inlinenoexcept |
データ更新
| controlValue | 制御量 |
| targetValue | 目標値 |