2-3 PID 循線車
常數 SPEED = 60;
void loop() {
float error = get_value();
float turn = PID運算(error);
設定馬達轉速(SPEED+turn, SPEED-turn);
}(ㄧ)P 比例運算
(二)積分運算
(三)D 微分運算
Last updated
Was this helpful?
常數 SPEED = 60;
void loop() {
float error = get_value();
float turn = PID運算(error);
設定馬達轉速(SPEED+turn, SPEED-turn);
}Last updated
Was this helpful?
Was this helpful?
常數 Kp = 0.4;
float P運算 (float error) {
return error * Kp;
}全域變數 Integral;
常數 Ki = 0.5;
float I運算 (float error) {
Integral *= 3 / 4;
Integral += error;
return Integral * Ki;
}全域變數 last_error;
常數 Kd = 40;
float D運算 (float error) {
float 差 = error - last_error;
last_error = error;
return 差 * Kd;
}