mirror of
https://github.com/modelec/MarcelMoteurSTM32.git
synced 2026-01-18 16:47:23 +01:00
ajout de la fonction pour tester le pid position et déterminer les coefs
This commit is contained in:
@@ -52,5 +52,31 @@ void determinationCoefVitesse(float objectifVitesse){
|
||||
motorG.setTargetSpeed(ordrePWM); //nouvel ordre aux moteurs gauches et droits de vitesse
|
||||
}
|
||||
|
||||
void determinationCoefPosition(Point objectifPoint, Point pointActuel){
|
||||
Motor motorG(TIM3);
|
||||
Motor motorD(TIM3);
|
||||
|
||||
PidPosition pid(0,0,0,0,0,0,objectifPoint);
|
||||
|
||||
std::array<double, 2> vitesse = pid.updateNouvelOrdreVitesse(pointActuel);
|
||||
PidVitesse pidG(0, 0, 0, vitesse[0]);
|
||||
PidVitesse pidD(0, 0, 0, vitesse[1]);
|
||||
|
||||
pidG.updateNouvelleVitesse(motorG.getCurrentSpeed());
|
||||
pidD.updateNouvelleVitesse(motorD.getCurrentSpeed());
|
||||
|
||||
float nouvelOrdreG = pidG.getNouvelleConsigneVitesse();
|
||||
float nouvelOrdreD = pidD.getNouvelleConsigneVitesse();
|
||||
|
||||
int ordrePWMG = pidG.getPWMCommand(nouvelOrdreG);
|
||||
int ordrePWMD = pidD.getPWMCommand(nouvelOrdreD);
|
||||
|
||||
|
||||
motorG.setTargetSpeed(ordrePWMG);
|
||||
motorD.setTargetSpeed(ordrePWMD);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* SRC_FUNCTIONS_C_ */
|
||||
|
||||
Reference in New Issue
Block a user