CrawlLibrary  v2.0.2
Omnimentの教育用ロボットCrawlのライブラリ
 全て クラス 関数
公開メンバ関数 | 全メンバ一覧
Integral クラス

制限付き積分要素クラス [詳解]

#include <crawl.h>

公開メンバ関数

 Integral ()
 コンストラクタ [詳解]
 
void setDt (float dt)
 サンプリングタイムを設定する [詳解]
 
void setOutput (float y)
 出力される積分値を設定する [詳解]
 
void setLimit (float limit_low, float limit_high)
 積分の制限値を設定する [詳解]
 
void calculate (float x)
 入力から出力を計算する [詳解]
 
float getOutput ()
 制限付き積分した値を取得する [詳解]
 

詳解

制限付き積分要素クラス

制限値を設定できる積分要素クラスです.積分値が制限値よりも大きく(または小さく) なる場合制限値の範囲に修正され収められます. 制限値は任意で設定できます.設定しない場合,下限値としてfloatの負の最大値, 上限値として,floatの正の最大値が設定されます. このクラスはサンプリング時間[s]を指定する必要があります.ループ内で使用する場合, 一般的に一回のループ時間を指定ください.

構築子と解体子

Integral::Integral ( )

コンストラクタ

制限付き積分要素クラスのコンストラクタ.出力初期値は0,時定数は1秒,サンプリングタイムは1ミリ秒で初期化されます. 制限値は下限値としてfloatの負の最大値,上限値として,floatの正の最大値が設定されます.

戻り値
なし

関数詳解

void Integral::calculate ( float  x)

入力から出力を計算する

制限付き積分を計算します.

引数
x入力値
戻り値
なし
注意
ループ中では一回だけ呼び出すようにしてください.
float Integral::getOutput ( )

制限付き積分した値を取得する

制限付き積分した値を取得します.

戻り値
制限付き積分した値
void Integral::setDt ( float  dt)

サンプリングタイムを設定する

引数
dtループ間隔 単位:秒
戻り値
なし
void Integral::setLimit ( float  limit_low,
float  limit_high 
)

積分の制限値を設定する

積分値が大きく(または小さく)なりすぎることを制限することができます. 下限値と上限値を指定することができ,この範囲を積分値が超える場合 その範囲に収まるように修正されます.

引数
limit_low下限値
limit_high上限値
戻り値
なし
void Integral::setOutput ( float  y)

出力される積分値を設定する

積分値をリセットしたい場合, 任意の値を予め与えておきたい場合に使用してください

引数
y設定したい値
戻り値
なし

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