11 : controller(controller_),
12 targetBrightness(targetBrightness_),
13 isLeftCourse(isLeftCourse_),
15 speedControl(controller, 0.0, 0.0, 0.0, 0.0),
16 turnControl(targetBrightness_, 0.0, 0.0, 0.0)
28 int currentDistance = initialDistance;
36 while(currentDistance - initialDistance < settings.
targetDistance) {
49 leftPWM = speedValue - turnValue;
50 rightPWM = speedValue + turnValue;
53 leftPWM = speedValue + turnValue;
54 rightPWM = speedValue - turnValue;
71 targetBrightness = targetBrightness_;
double calculateSpeed(int targetSpeed, double Kp, double Ki, double Kd)
double calculateTurn(int forward, int currentBrightness, int targetBrightness, double Kp, double Ki, double Kd)
旋回値を計算する関数
void run(NormalCourseProperty &settings)
走行距離や目標スピード、スピード制御PID、回転制御PIDを NormalCourseProperty 構造体を使用し渡す。 ...
ユーザーが与えたデータをcsv形式で記録するクラス 記録するためには、「write」または「<<演算子」機能...
void setLeftMotorPwm(const int pwm)
void setRightMotorPwm(const int pwm)
static void tslpTsk(int time)
double getDistance(int leftAngle, int rightAngle)
左右の平均走行距離を計算して戻り値として返す
LineTracer(Controller &controller_, int targetBrightness_, bool isLeftCourse_)
void setTargetBrightness(int targetBrightness_)
カラーセンサーの目標値を再設定する