From 24912e2bdabc2ec0ff3038bce273ec130c91bbdc Mon Sep 17 00:00:00 2001 From: Samuel Date: Mon, 8 May 2023 09:21:05 +0200 Subject: [PATCH] Modification fin trajet + correction bug dans la fin de la strategie --- Monitoring.c | 4 +++- Strategie.c | 5 +++-- Trajet.c | 4 +++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Monitoring.c b/Monitoring.c index 162d1c8..3a3f82b 100644 --- a/Monitoring.c +++ b/Monitoring.c @@ -31,7 +31,9 @@ void temps_cycle_reset(){ } void Monitoring_display(){ - temps_cycle_display(); + while(1){ + temps_cycle_display(); + } } void temps_cycle_display(){ diff --git a/Strategie.c b/Strategie.c index be39260..c74f7ff 100644 --- a/Strategie.c +++ b/Strategie.c @@ -116,7 +116,7 @@ void Strategie(enum couleur_t couleur, uint32_t step_ms){ case LANCER_PANIER: if(lance_balles_dans_panier(couleur, step_ms)== ACTION_TERMINEE){ - etat_homologation = STRATEGIE_FIN; + etat_strategie = STRATEGIE_FIN; } break; @@ -277,7 +277,8 @@ enum etat_action_t lance_balles_dans_panier(enum couleur_t couleur, uint32_t ste case LANCE_DANS_PANIER: Asser_Position_maintien(); if(lance_balles(step_ms) == ACTION_TERMINEE){ - etat_action=ACTION_TERMINEE; + etat_action = ACTION_TERMINEE; + etat_lance_balles_dans_panier = CALAGE_PANIER_1; } break; } diff --git a/Trajet.c b/Trajet.c index e4dca74..1dd7e71 100644 --- a/Trajet.c +++ b/Trajet.c @@ -18,6 +18,7 @@ struct trajectoire_t trajet_trajectoire; struct position_t position_consigne; float distance_obstacle_mm; +float distance_fin_trajectoire_mm; const float distance_pas_obstacle = 2000; /// @brief Initialise le module Trajet. A appeler en phase d'initilisation @@ -96,7 +97,7 @@ int Trajet_terminee(float abscisse){ }*/ if(trajet_trajectoire.type != TRAJECTOIRE_BEZIER){ - if(abscisse >= 1 ){ + if(abscisse >= 1 || distance_fin_trajectoire_mm < 0.1){ return 1; } }else{ @@ -126,6 +127,7 @@ float Trajet_calcul_vitesse(float pas_de_temps_s){ // Calcul de la vitesse maximale due à la contrainte en fin de trajectoire (0 mm/s) // https://poivron-robotique.fr/Consigne-de-vitesse.html distance_contrainte = Trajectoire_get_longueur_mm(&trajet_trajectoire) - position_mm; + distance_fin_trajectoire_mm=distance_contrainte; // En cas de dépassement, on veut garder la contrainte, pour l'instant if(distance_contrainte > 0){ vitesse_max_contrainte = sqrtf(2 * acceleration_mm_ss * distance_contrainte);