From 349241951e26f3015a802e81c4d8e654a0a3f1ef Mon Sep 17 00:00:00 2001 From: Samuel Date: Mon, 20 Jan 2025 21:38:25 +0100 Subject: [PATCH] =?UTF-8?q?Trajectoire=20fonctionnelle=20pour=20la=20comp?= =?UTF-8?q?=C3=A9tition=20de=202025?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Asser_Position.c | 2 +- Strategie.c | 13 ++++++------- main.c | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Asser_Position.c b/Asser_Position.c index 74870ff..7aa2c5b 100644 --- a/Asser_Position.c +++ b/Asser_Position.c @@ -48,7 +48,7 @@ void Asser_Position(struct position_t position_consigne){ rotation_radian_s = delta_orientation_radian * GAIN_P_ORIENTATION; if(delta_avance_mm < 10){ - rotation_radian_s=0; + rotation_radian_s=delta_avance_mm/10 * rotation_radian_s; } // Commande en vitesse diff --git a/Strategie.c b/Strategie.c index b419e22..94437c8 100644 --- a/Strategie.c +++ b/Strategie.c @@ -11,7 +11,7 @@ enum etat_action_t Strategie_super_star(uint32_t step_ms){ SSS_TOURNE, SSS_AVANCE_2, SSS_DANCE - } etat_sss = SSS_TEST_TOURNE; + } etat_sss = SSS_INIT; struct trajectoire_t trajectoire; switch(etat_sss){ @@ -28,23 +28,22 @@ enum etat_action_t Strategie_super_star(uint32_t step_ms){ Trajet_config(TRAJECT_CONFIG_STD); Trajectoire_droite(&trajectoire, 45, 1895, 1135, 1895, 0, 0); if(Strategie_parcourir_trajet(trajectoire, step_ms, EVITEMENT_SANS_EVITEMENT) == ACTION_TERMINEE){ - //etat_sss = SSS_TOURNE; - etat_sss = SSS_DANCE; + etat_sss = SSS_TOURNE; } break; case SSS_TOURNE: - Trajet_config(100, 100); + //Trajet_config(100, 100); + Trajet_config(TRAJECT_CONFIG_STD); Trajectoire_circulaire(&trajectoire, 1135, 1645, M_PI/2, 0, 250, 0, -M_PI/2); if(Strategie_parcourir_trajet(trajectoire, step_ms, EVITEMENT_SANS_EVITEMENT) == ACTION_TERMINEE){ - //etat_sss = SSS_AVANCE_2; - etat_sss = SSS_DANCE; + etat_sss = SSS_AVANCE_2; } break; case SSS_AVANCE_2: Trajet_config(TRAJECT_CONFIG_STD); - Trajectoire_droite(&trajectoire, 1385, 1645, 1385, 1600, 0, 0); + Trajectoire_droite(&trajectoire, 1385, 1645, 1385, 1580, 0, 0); if(Strategie_parcourir_trajet(trajectoire, step_ms, EVITEMENT_SANS_EVITEMENT) == ACTION_TERMINEE){ etat_sss = SSS_DANCE; } diff --git a/main.c b/main.c index 60d51ec..1f1404f 100644 --- a/main.c +++ b/main.c @@ -105,7 +105,7 @@ void main(void) while(1){ // Fin du match - if((Temps_get_temps_ms() -temps_depart_ms) >10000 || (fin_match == 1)){ + if((Temps_get_temps_ms() -temps_depart_ms) >15000 || (fin_match == 1)){ Moteur_Stop(); while(1); }