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); }