Skip to content

Commit a326230

Browse files
committed
cleanup
1 parent 33e6bf7 commit a326230

File tree

1 file changed

+21
-33
lines changed

1 file changed

+21
-33
lines changed

src/Arduino_AlvikCarrier.cpp

Lines changed: 21 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -669,12 +669,27 @@ void Arduino_AlvikCarrier::errorLed(const int error_code){
669669
/* Kinematics */
670670
/******************************************************************************************************/
671671

672-
673-
674-
675-
676-
677-
672+
void Arduino_AlvikCarrier::updateKinematics(){
673+
kinematics->inverse(motor_control_left->getRPM(), motor_control_right->getRPM());
674+
kinematics->updatePose();
675+
if (kinematics_movement!=MOVEMENT_DISABLED){
676+
if (kinematics_movement==MOVEMENT_ROTATE){
677+
rotate_pid->update(kinematics->getTheta());
678+
drive(0, round(rotate_pid->getControlOutput()/10.0)*10);
679+
if (abs(rotate_pid->getError())<ROTATE_THREASHOLD){
680+
kinematics_achieved=true;
681+
}
682+
}
683+
if (kinematics_movement==MOVEMENT_MOVE){
684+
move_pid->update((kinematics->getTravel()-previous_travel)*move_direction);
685+
drive(round(move_pid->getControlOutput()/10.0)*10, 0);
686+
if (abs(move_pid->getError())<MOVE_THREADSHOLD){
687+
kinematics_achieved=true;
688+
}
689+
690+
}
691+
}
692+
}
678693

679694
void Arduino_AlvikCarrier::drive(const float linear, const float angular){
680695
kinematics->forward(linear, angular);
@@ -689,7 +704,6 @@ float Arduino_AlvikCarrier::getAngularVelocity(){
689704
return kinematics->getAngularVelocity();
690705
}
691706

692-
693707
void Arduino_AlvikCarrier::lockingRotate(const float angle){
694708
float initial_angle = kinematics->getTheta();
695709
float final_angle = angle+initial_angle;
@@ -715,16 +729,13 @@ void Arduino_AlvikCarrier::lockingRotate(const float angle){
715729
motor_control_right->brake();
716730
}
717731

718-
719732
void Arduino_AlvikCarrier::rotate(const float angle){
720733
rotate_pid->reset();
721734
rotate_pid->setReference(kinematics->getTheta()+angle);
722735
kinematics_movement=MOVEMENT_ROTATE;
723736
kinematics_achieved=false;
724737
}
725738

726-
727-
728739
void Arduino_AlvikCarrier::lockingMove(const float distance){
729740
float initial_travel = kinematics->getTravel();
730741
float final_travel = abs(distance)+initial_travel;
@@ -751,7 +762,6 @@ void Arduino_AlvikCarrier::lockingMove(const float distance){
751762
motor_control_right->brake();
752763
}
753764

754-
755765
void Arduino_AlvikCarrier::move(const float distance){
756766
move_pid->reset();
757767
previous_travel=kinematics->getTravel();
@@ -767,28 +777,6 @@ void Arduino_AlvikCarrier::move(const float distance){
767777
kinematics_achieved=false;
768778
}
769779

770-
void Arduino_AlvikCarrier::updateKinematics(){
771-
kinematics->inverse(motor_control_left->getRPM(), motor_control_right->getRPM());
772-
kinematics->updatePose();
773-
if (kinematics_movement!=MOVEMENT_DISABLED){
774-
if (kinematics_movement==MOVEMENT_ROTATE){
775-
rotate_pid->update(kinematics->getTheta());
776-
drive(0, round(rotate_pid->getControlOutput()/10.0)*10);
777-
if (abs(rotate_pid->getError())<ROTATE_THREASHOLD){
778-
kinematics_achieved=true;
779-
}
780-
}
781-
if (kinematics_movement==MOVEMENT_MOVE){
782-
move_pid->update((kinematics->getTravel()-previous_travel)*move_direction);
783-
drive(round(move_pid->getControlOutput()/10.0)*10, 0);
784-
if (abs(move_pid->getError())<MOVE_THREADSHOLD){
785-
kinematics_achieved=true;
786-
}
787-
788-
}
789-
}
790-
}
791-
792780
void Arduino_AlvikCarrier::disableKinematicsMovement(){
793781
kinematics_movement=MOVEMENT_DISABLED;
794782
}

0 commit comments

Comments
 (0)