P-Controller Concept

This commit is contained in:
Tim Zeuner 2023-01-31 22:03:25 +01:00
parent 2af8bfa536
commit 0f5c2e3f42

View File

@ -49,7 +49,19 @@ void ControlModule::moveSide(int imageColumsMiddle, int contourColumsMiddle){
} }
void ControlModule::rotate(double angle){ void ControlModule::rotate(double angle){
double speed = rotateSpeed * (angle + 90.0)/90.0; double minAngularSpeed = -1.0;
double maxAngularSpeed = 1.0;
double speedRange = maxAngularSpeed - minAngularSpeed;
double minAngle = -90.0;
double maxAngle = 90.0;
double angularRange = maxAngle - minAngle;
double progress = angle - minAngle;
double progressPercent = progress/angularRange;
double speed = minAngularSpeed + progressPercent*speedRange;
motors[0] += speed; motors[0] += speed;
motors[1] -= speed; motors[1] -= speed;
motors[2] += speed; motors[2] += speed;