code avec la sortie d'évitement en plus géré par un ticker, ce code et le code "avec_modifs" buggent en match avec seulement la stratégie agressive.

Dependencies:   mbed SerialHalfDuplex SDFileSystem liaison_Bluetooth ident_crac DISCO-F469NI_portrait

Committer:
goldmas
Date:
Sat Jul 17 11:07:17 2021 +0000
Revision:
37:9d6a3ccc0582
Dernier code de la coupe de fracne 2021

Who changed what in which revision?

UserRevisionLine numberNew contents of line
goldmas 37:9d6a3ccc0582 1 #include "global.h"
goldmas 37:9d6a3ccc0582 2
goldmas 37:9d6a3ccc0582 3 // {X,Y,T,Sens}
goldmas 37:9d6a3ccc0582 4 int Nord_haut[4]={175,500,-90,1};
goldmas 37:9d6a3ccc0582 5 int Sud_haut[4]={1500,500,-90,1};
goldmas 37:9d6a3ccc0582 6
goldmas 37:9d6a3ccc0582 7 int Nord_bas[4]={175,500,-90,1};
goldmas 37:9d6a3ccc0582 8 int Sud_bas[4]={1500,500,-90,1};
goldmas 37:9d6a3ccc0582 9
goldmas 37:9d6a3ccc0582 10 int X_rob;
goldmas 37:9d6a3ccc0582 11 int Y_rob;
goldmas 37:9d6a3ccc0582 12 int T_rob;
goldmas 37:9d6a3ccc0582 13 int Sens;
goldmas 37:9d6a3ccc0582 14
goldmas 37:9d6a3ccc0582 15 int tourner;
goldmas 37:9d6a3ccc0582 16
goldmas 37:9d6a3ccc0582 17
goldmas 37:9d6a3ccc0582 18 void arriver_bon_port(void)
goldmas 37:9d6a3ccc0582 19 {
goldmas 37:9d6a3ccc0582 20 }
goldmas 37:9d6a3ccc0582 21 /*
goldmas 37:9d6a3ccc0582 22 //Variable de comptage des points
goldmas 37:9d6a3ccc0582 23 port_lu = val_girou + 1;
goldmas 37:9d6a3ccc0582 24
goldmas 37:9d6a3ccc0582 25 ////////////////////////////////Girouette Sud////////////////////////////////
goldmas 37:9d6a3ccc0582 26 if(val_girou == 0) //Sud
goldmas 37:9d6a3ccc0582 27 {
goldmas 37:9d6a3ccc0582 28 if(Hauteur == 0) //Bas
goldmas 37:9d6a3ccc0582 29 {
goldmas 37:9d6a3ccc0582 30 if(InversStrat == 1)
goldmas 37:9d6a3ccc0582 31 {
goldmas 37:9d6a3ccc0582 32 X_rob = Sud_bas[0];
goldmas 37:9d6a3ccc0582 33 Y_rob = 3000 - Sud_bas[1];//Inversion du Y
goldmas 37:9d6a3ccc0582 34 T_rob = -Sud_bas[2];
goldmas 37:9d6a3ccc0582 35 Sens = Sud_bas[3];
goldmas 37:9d6a3ccc0582 36 }
goldmas 37:9d6a3ccc0582 37 else
goldmas 37:9d6a3ccc0582 38 {
goldmas 37:9d6a3ccc0582 39 X_rob = Sud_bas[0];
goldmas 37:9d6a3ccc0582 40 Y_rob = Sud_bas[1];
goldmas 37:9d6a3ccc0582 41 T_rob = Sud_bas[2];
goldmas 37:9d6a3ccc0582 42 Sens = Sud_bas[3];
goldmas 37:9d6a3ccc0582 43 }
goldmas 37:9d6a3ccc0582 44 }
goldmas 37:9d6a3ccc0582 45 else if(Hauteur == 1) //Haut
goldmas 37:9d6a3ccc0582 46 {
goldmas 37:9d6a3ccc0582 47 if(InversStrat == 1)
goldmas 37:9d6a3ccc0582 48 {
goldmas 37:9d6a3ccc0582 49 X_rob = Sud_haut[0];
goldmas 37:9d6a3ccc0582 50 Y_rob = 3000 - Sud_haut[1];//Inversion du Y
goldmas 37:9d6a3ccc0582 51 T_rob = -Sud_haut[2];
goldmas 37:9d6a3ccc0582 52 Sens = Sud_haut[3];
goldmas 37:9d6a3ccc0582 53 }
goldmas 37:9d6a3ccc0582 54 else
goldmas 37:9d6a3ccc0582 55 {
goldmas 37:9d6a3ccc0582 56 X_rob = Sud_haut[0];
goldmas 37:9d6a3ccc0582 57 Y_rob = Sud_haut[1];
goldmas 37:9d6a3ccc0582 58 T_rob = Sud_haut[2];
goldmas 37:9d6a3ccc0582 59 Sens = Sud_haut[3];
goldmas 37:9d6a3ccc0582 60 }
goldmas 37:9d6a3ccc0582 61 }
goldmas 37:9d6a3ccc0582 62
goldmas 37:9d6a3ccc0582 63 GoToPosition(X_rob, Y_rob, T_rob, Sens);
goldmas 37:9d6a3ccc0582 64 waitingAckID = ASSERVISSEMENT_XYT;
goldmas 37:9d6a3ccc0582 65 waitingAckFrom = ACKNOWLEDGE_MOTEUR;
goldmas 37:9d6a3ccc0582 66
goldmas 37:9d6a3ccc0582 67 //target_x_robot = X_rob;
goldmas 37:9d6a3ccc0582 68 //target_y_robot = Y_rob;
goldmas 37:9d6a3ccc0582 69 //target_theta_robot = T_rob;
goldmas 37:9d6a3ccc0582 70
goldmas 37:9d6a3ccc0582 71 //GoStraight(Sens*350,0,0,0);
goldmas 37:9d6a3ccc0582 72 }
goldmas 37:9d6a3ccc0582 73
goldmas 37:9d6a3ccc0582 74 ////////////////////////////////Girouette Nord////////////////////////////////
goldmas 37:9d6a3ccc0582 75 else if(val_girou == 1) //Nord
goldmas 37:9d6a3ccc0582 76 {
goldmas 37:9d6a3ccc0582 77 if(Hauteur == 0) //Bas
goldmas 37:9d6a3ccc0582 78 {
goldmas 37:9d6a3ccc0582 79 if(InversStrat == 1)
goldmas 37:9d6a3ccc0582 80 {
goldmas 37:9d6a3ccc0582 81 X_rob = Nord_bas[0];
goldmas 37:9d6a3ccc0582 82 Y_rob = 3000 - Nord_bas[1];//Inversion du Y
goldmas 37:9d6a3ccc0582 83 T_rob = -Nord_bas[2];
goldmas 37:9d6a3ccc0582 84 Sens = Nord_bas[3];
goldmas 37:9d6a3ccc0582 85 }
goldmas 37:9d6a3ccc0582 86 else
goldmas 37:9d6a3ccc0582 87 {
goldmas 37:9d6a3ccc0582 88 X_rob = Nord_bas[0];
goldmas 37:9d6a3ccc0582 89 Y_rob = Nord_bas[1];
goldmas 37:9d6a3ccc0582 90 T_rob = Nord_bas[2];
goldmas 37:9d6a3ccc0582 91 Sens = Nord_bas[3];
goldmas 37:9d6a3ccc0582 92 }
goldmas 37:9d6a3ccc0582 93 }
goldmas 37:9d6a3ccc0582 94 else if(Hauteur == 1) //Haut
goldmas 37:9d6a3ccc0582 95 {
goldmas 37:9d6a3ccc0582 96 if(InversStrat == 1)
goldmas 37:9d6a3ccc0582 97 {
goldmas 37:9d6a3ccc0582 98 X_rob = Nord_haut[0];
goldmas 37:9d6a3ccc0582 99 Y_rob = 3000 - Nord_haut[1];//Inversion du Y
goldmas 37:9d6a3ccc0582 100 T_rob = -Nord_haut[2];
goldmas 37:9d6a3ccc0582 101 Sens = Nord_haut[3];
goldmas 37:9d6a3ccc0582 102 }
goldmas 37:9d6a3ccc0582 103 else
goldmas 37:9d6a3ccc0582 104 {
goldmas 37:9d6a3ccc0582 105 X_rob = Nord_haut[0];
goldmas 37:9d6a3ccc0582 106 Y_rob = Nord_haut[1];
goldmas 37:9d6a3ccc0582 107 T_rob = Nord_haut[2];
goldmas 37:9d6a3ccc0582 108 Sens = Nord_haut[3];
goldmas 37:9d6a3ccc0582 109 }
goldmas 37:9d6a3ccc0582 110 }
goldmas 37:9d6a3ccc0582 111 GoToPosition(X_rob, Y_rob, T_rob, Sens);
goldmas 37:9d6a3ccc0582 112 waitingAckID = ASSERVISSEMENT_XYT;
goldmas 37:9d6a3ccc0582 113 waitingAckFrom = ACKNOWLEDGE_MOTEUR;
goldmas 37:9d6a3ccc0582 114
goldmas 37:9d6a3ccc0582 115 //target_x_robot = X_rob;
goldmas 37:9d6a3ccc0582 116 //target_y_robot = Y_rob;
goldmas 37:9d6a3ccc0582 117 //target_theta_robot = T_rob;
goldmas 37:9d6a3ccc0582 118
goldmas 37:9d6a3ccc0582 119 //GoStraight(Sens*350,0,0,0);
goldmas 37:9d6a3ccc0582 120 }
goldmas 37:9d6a3ccc0582 121
goldmas 37:9d6a3ccc0582 122 ////////////////////////////////Girouette Inconnu////////////////////////////////
goldmas 37:9d6a3ccc0582 123 else if(val_girou == 2) //Jsp
goldmas 37:9d6a3ccc0582 124 {
goldmas 37:9d6a3ccc0582 125 tourner = 3600;
goldmas 37:9d6a3ccc0582 126
goldmas 37:9d6a3ccc0582 127 if(InversStrat == 1)
goldmas 37:9d6a3ccc0582 128 {
goldmas 37:9d6a3ccc0582 129 tourner = -tourner;
goldmas 37:9d6a3ccc0582 130 }
goldmas 37:9d6a3ccc0582 131
goldmas 37:9d6a3ccc0582 132 waitingAckID = ASSERVISSEMENT_ROTATION;
goldmas 37:9d6a3ccc0582 133 waitingAckFrom = ACKNOWLEDGE_MOTEUR;
goldmas 37:9d6a3ccc0582 134 Rotate(tourner);
goldmas 37:9d6a3ccc0582 135 }
goldmas 37:9d6a3ccc0582 136 }
goldmas 37:9d6a3ccc0582 137 */