Premisse de la stratégie
This commit is contained in:
parent
f13a5ec458
commit
bce282cc61
@ -320,7 +320,7 @@ void gestion_match(){
|
||||
rotation_rad = 100;
|
||||
Triangulation_send_immobile(1);
|
||||
|
||||
//index_Maitre = DEPLACEMENT_RELATIF;
|
||||
index_Maitre = MATCH_EN_COURS;
|
||||
|
||||
}
|
||||
break;
|
||||
@ -345,6 +345,9 @@ void gestion_match(){
|
||||
break;
|
||||
|
||||
case MATCH_EN_COURS:
|
||||
if(Strategie() == ACTION_TERMINEE){
|
||||
index_Maitre = ATTENTE_ORDRE;
|
||||
}
|
||||
break;
|
||||
|
||||
case TEST_DEPLACEMENT_ABSOLU:
|
||||
@ -354,6 +357,46 @@ void gestion_match(){
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
enum etat_action_t Strategie(void){
|
||||
static enum {
|
||||
STRAT_RECULE_BANDEROLE, // Deplacement relatif
|
||||
STRAT_ALLER_GRADINS_1, // Déplacement absolu
|
||||
STRAT_ALLER_PREPA_BACKSTAGE, // Déplacement absolu
|
||||
STRAT_ALLER_BACKSTAGE // Déplacement relatif
|
||||
|
||||
}etat_strategie = STRAT_RECULE_BANDEROLE;
|
||||
enum etat_action_t etat_action;
|
||||
int translation_x_mm, translation_y_mm;
|
||||
float rotation_rad;
|
||||
|
||||
switch(etat_strategie){
|
||||
case STRAT_RECULE_BANDEROLE:
|
||||
// Déplacement en X
|
||||
translation_x_mm = -450;
|
||||
translation_y_mm = 0;
|
||||
rotation_rad = 0;
|
||||
etat_action = deplacement_relatif(translation_x_mm, translation_y_mm, rotation_rad, 0);
|
||||
if(etat_action == ACTION_TERMINEE){
|
||||
etat_strategie = STRAT_ALLER_GRADINS_1;
|
||||
}
|
||||
break;
|
||||
|
||||
case STRAT_ALLER_GRADINS_1:
|
||||
etat_action = deplacement_absolu(730, 550, M_PI/2., 0);
|
||||
if(etat_action == ACTION_TERMINEE){
|
||||
etat_strategie = STRAT_RECULE_BANDEROLE;
|
||||
return ACTION_TERMINEE;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return ACTION_EN_COURS;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// @brief : compare la position actuelle et la position lue par la balise
|
||||
/// Note : Pour l'instant, on ne déclenche un mouvment qu'en cas d'ecart sur la distance, pas sur l'orientation.
|
||||
void compar_cinematique(int consigne_x_mm, int consigne_y_mm, float consigne_orientation_rad,
|
||||
|
Loading…
Reference in New Issue
Block a user