タイヤ直径が直打ちされている上に古い
korosuke613 opened this issue · comments
バグを記述する
SpeedControlクラスにおいて、タイヤ直径が直打ちされている上に古い。
予想される行動
スピード計算が不正確になる。
スクリーンショット
/* 距離更新(4ms間の移動距離を毎回加算している) */
std::int8_t SpeedControl::calcDistance4ms(std::int32_t curAngleL, std::int32_t curAngleR)
{
float distance4msFloat = 0.0; // 4msの距離
// 4ms間の走行距離 = ((円周率 * タイヤの直径) / 360) * (モータ角度過去値 - モータ角度現在値)
float distance4msL
= ((2 * 3.14 * 81) / 360.0) * (float)(curAngleL - preAngleL); // 4ms間の左モータ距離
float distance4msR
= ((2 * 3.14 * 81) / 360.0) * (float)(curAngleR - preAngleR); // 4ms間の右モータ距離
distance4msFloat = (distance4msL + distance4msR) / 2.0; //左右タイヤの走行距離を足して割る
//モータの回転角度の過去値を更新
preAngleL = curAngleL;
preAngleR = curAngleR;
distance4ms = (int)distance4msFloat;
// 単位はmm
return distance4ms;
}
なんか直ってました