clean main.cpp, clean moveControl.cpp
added classdiagramm and ManualControl
This commit is contained in:
+2
-126
@@ -64,99 +64,7 @@ void MoveControl::regulateMotors() {
|
||||
this->right_motor->setTargetPower(0);
|
||||
break;
|
||||
|
||||
case DrivingStatus::straightForward :
|
||||
// Left motor
|
||||
// Too slow
|
||||
if (this->left_speedometer->getSpeed() < this->wheelspeed_left_target
|
||||
&& this->left_speedometer->getSpeed() <= this->right_speedometer->getSpeed()) {
|
||||
|
||||
this->left_motor->setTargetPower(this->left_motor->getTargetPower() + ACCELERATE_STEPS);
|
||||
|
||||
// Too fast
|
||||
} else if (this->left_speedometer->getSpeed() > this->wheelspeed_left_target
|
||||
&& this->left_speedometer->getSpeed() >= this->right_speedometer->getSpeed()) {
|
||||
|
||||
this->left_motor->setTargetPower(this->left_motor->getTargetPower() - ACCELERATE_STEPS);
|
||||
}
|
||||
|
||||
// Right motor
|
||||
// Too slow
|
||||
if (this->right_speedometer->getSpeed() < this->wheelspeed_right_target
|
||||
&& this->right_speedometer->getSpeed() <= this->left_speedometer->getSpeed()) {
|
||||
|
||||
this->right_motor->setTargetPower(this->right_motor->getTargetPower() + ACCELERATE_STEPS);
|
||||
|
||||
// Too fast
|
||||
} else if (this->right_speedometer->getSpeed() > this->wheelspeed_right_target
|
||||
&& this->right_speedometer->getSpeed() >= this->left_speedometer->getSpeed()) {
|
||||
|
||||
this->right_motor->setTargetPower(this->right_motor->getTargetPower() - ACCELERATE_STEPS);
|
||||
}
|
||||
break;
|
||||
|
||||
case DrivingStatus::straightBackward :
|
||||
// Left motor
|
||||
// Too slow
|
||||
if (this->left_speedometer->getSpeed() > this->wheelspeed_left_target
|
||||
&& this->left_speedometer->getSpeed() >= this->right_speedometer->getSpeed()) {
|
||||
|
||||
this->left_motor->setTargetPower(this->left_motor->getTargetPower() - ACCELERATE_STEPS);
|
||||
|
||||
// Too fast
|
||||
} else if (this->left_speedometer->getSpeed() < this->wheelspeed_left_target
|
||||
&& this->left_speedometer->getSpeed() <= this->right_speedometer->getSpeed()) {
|
||||
|
||||
this->left_motor->setTargetPower(this->left_motor->getTargetPower() + ACCELERATE_STEPS);
|
||||
}
|
||||
|
||||
// Right motor
|
||||
// Too slow
|
||||
if (this->right_speedometer->getSpeed() > this->wheelspeed_right_target
|
||||
&& this->right_speedometer->getSpeed() >= this->left_speedometer->getSpeed()) {
|
||||
|
||||
this->right_motor->setTargetPower(this->right_motor->getTargetPower() - ACCELERATE_STEPS);
|
||||
|
||||
// Too fast
|
||||
} else if (this->right_speedometer->getSpeed() < this->wheelspeed_right_target
|
||||
&& this->right_speedometer->getSpeed() <= this->left_speedometer->getSpeed()) {
|
||||
|
||||
this->right_motor->setTargetPower(this->right_motor->getTargetPower() + ACCELERATE_STEPS);
|
||||
}
|
||||
break;
|
||||
|
||||
case DrivingStatus::arcForwardLeft : // Identical with arcForwardRight
|
||||
ratio = this->wheelspeed_left_target / this->wheelspeed_right_target;
|
||||
|
||||
// Left motor
|
||||
// Too slow
|
||||
if (this->left_speedometer->getSpeed() < this->wheelspeed_left_target
|
||||
&& this->left_speedometer->getSpeed() <= (this->right_speedometer->getSpeed()) * ratio) {
|
||||
|
||||
this->left_motor->setTargetPower(this->left_motor->getTargetPower() + ACCELERATE_STEPS);
|
||||
|
||||
// Too fast
|
||||
} else if (this->left_speedometer->getSpeed() > this->wheelspeed_left_target
|
||||
&& this->left_speedometer->getSpeed() >= (this->right_speedometer->getSpeed()) * ratio) {
|
||||
|
||||
this->left_motor->setTargetPower(this->left_motor->getTargetPower() - ACCELERATE_STEPS);
|
||||
}
|
||||
|
||||
// Right motor
|
||||
// Too slow
|
||||
if (this->right_speedometer->getSpeed() < this->wheelspeed_right_target
|
||||
&& (this->right_speedometer->getSpeed() * ratio) <= this->left_speedometer->getSpeed()) {
|
||||
|
||||
this->right_motor->setTargetPower(this->right_motor->getTargetPower() + ACCELERATE_STEPS);
|
||||
|
||||
// Too fast
|
||||
} else if (this->right_speedometer->getSpeed() > this->wheelspeed_right_target
|
||||
&& (this->right_speedometer->getSpeed() * ratio) >= this->left_speedometer->getSpeed()) {
|
||||
|
||||
this->right_motor->setTargetPower(this->right_motor->getTargetPower() - ACCELERATE_STEPS);
|
||||
}
|
||||
break;
|
||||
|
||||
case DrivingStatus::arcForwardRight : // Identical with arcForwardLeft
|
||||
case DrivingStatus::forward :
|
||||
ratio = this->wheelspeed_left_target / this->wheelspeed_right_target;
|
||||
|
||||
// Left motor
|
||||
@@ -188,39 +96,7 @@ void MoveControl::regulateMotors() {
|
||||
}
|
||||
break;
|
||||
|
||||
case DrivingStatus::arcBackwardLeft : // Identical with arcBackwardRight
|
||||
ratio = this->wheelspeed_left_target / this->wheelspeed_right_target;
|
||||
|
||||
// Left motor
|
||||
// Too slow
|
||||
if (this->left_speedometer->getSpeed() > this->wheelspeed_left_target
|
||||
&& this->left_speedometer->getSpeed() >= (this->right_speedometer->getSpeed() * ratio)) {
|
||||
|
||||
this->left_motor->setTargetPower(this->left_motor->getTargetPower() - ACCELERATE_STEPS);
|
||||
|
||||
// Too fast
|
||||
} else if (this->left_speedometer->getSpeed() < this->wheelspeed_left_target
|
||||
&& this->left_speedometer->getSpeed() <= (this->right_speedometer->getSpeed() * ratio)) {
|
||||
|
||||
this->left_motor->setTargetPower(this->left_motor->getTargetPower() + ACCELERATE_STEPS);
|
||||
}
|
||||
|
||||
// Right motor
|
||||
// Too slow
|
||||
if (this->right_speedometer->getSpeed() > this->wheelspeed_right_target
|
||||
&& (this->right_speedometer->getSpeed() * ratio) >= this->left_speedometer->getSpeed()) {
|
||||
|
||||
this->right_motor->setTargetPower(this->right_motor->getTargetPower() - ACCELERATE_STEPS);
|
||||
|
||||
// Too fast
|
||||
} else if (this->right_speedometer->getSpeed() < this->wheelspeed_right_target
|
||||
&& (this->right_speedometer->getSpeed() * ratio) <= this->left_speedometer->getSpeed()) {
|
||||
|
||||
this->right_motor->setTargetPower(this->right_motor->getTargetPower() + ACCELERATE_STEPS);
|
||||
}
|
||||
break;
|
||||
|
||||
case DrivingStatus::arcBackwardRight : // Identical with arcBackwardLeft
|
||||
case DrivingStatus::backward :
|
||||
ratio = this->wheelspeed_left_target / this->wheelspeed_right_target;
|
||||
|
||||
// Left motor
|
||||
|
||||
Reference in New Issue
Block a user