0

式を使用して PID 関数を実装しました。

correction = Kp * error + Kd * (error - prevError) + kI * (sum of errors)

出力を特定の範囲内に保つにはどうすればよいですか? 0-255 と言います。0 から 255 以外の値を無視すると、揺れる動作が発生しますか?

4

1 に答える 1

0
correction = ...

correction2 = correction;
if(correction < least) {correction2 = least;}
if(correction > most) {correction2 = most;}

次に、必要に応じて、出力として修正と修正 2 を使用します。

修正 2 に基づいて修正しないでください。最小 <-> 最大の端に到達したときに、なぜ奇妙な動作をするのか疑問に思います。

于 2011-03-20T22:47:29.927 に答える