trajets pour les robot 1 à 3 + détection de l'adversaire plus souple
This commit is contained in:
parent
d68fa90724
commit
15c58d0db4
@ -3,7 +3,7 @@
|
||||
#include "math.h"
|
||||
|
||||
#define GAIN_P_POSITION 15
|
||||
#define GAIN_P_ORIENTATION 2
|
||||
#define GAIN_P_ORIENTATION 10
|
||||
|
||||
struct position_t position_maintien;
|
||||
|
||||
|
6
Trajet.c
6
Trajet.c
@ -141,16 +141,16 @@ float Trajet_calcul_vitesse(float pas_de_temps_s){
|
||||
vitesse_max_contrainte = 0;
|
||||
}
|
||||
|
||||
/*distance_contrainte_obstacle = Trajet_get_obstacle_mm();
|
||||
distance_contrainte_obstacle = Trajet_get_obstacle_mm();
|
||||
if(distance_contrainte_obstacle != DISTANCE_INVALIDE){
|
||||
vitesse_max_contrainte_obstacle = sqrtf(2 * acceleration_mm_ss_obstacle * distance_contrainte_obstacle);
|
||||
if(vitesse_max_contrainte_obstacle < vitesse_max_contrainte){
|
||||
vitesse_max_contrainte = vitesse_max_contrainte_obstacle;
|
||||
}
|
||||
}*/
|
||||
}/*
|
||||
if((Trajet_get_obstacle_mm() != DISTANCE_INVALIDE) && (Trajet_get_obstacle_mm() < 50)){
|
||||
vitesse = 0;
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
// Selection de la vitesse la plus faible
|
||||
|
@ -14,6 +14,8 @@ int masque[64]={
|
||||
195,200,202,206,213,200,200,202
|
||||
};
|
||||
|
||||
float old_min_distance;
|
||||
|
||||
void VL53L8_init(VL53L8CX_Configuration * Dev){
|
||||
uint8_t status, isAlive, isReady, i;
|
||||
|
||||
@ -162,7 +164,12 @@ int VL53L8_min_distance(VL53L8CX_ResultsData Results, float *distance){
|
||||
if(min_distance-50 > 0){
|
||||
*distance = min_distance-50;
|
||||
}
|
||||
old_min_distance = *distance;
|
||||
|
||||
|
||||
}
|
||||
|
||||
float VL53L8_get_old_min_distance(){
|
||||
return old_min_distance;
|
||||
}
|
||||
|
||||
|
36
main.c
36
main.c
@ -82,7 +82,7 @@ void main(void)
|
||||
|
||||
//multicore_launch_core1(gestion_affichage);
|
||||
multicore_launch_core1(gestion_VL53L8CX);
|
||||
sleep_ms(3000);
|
||||
sleep_ms(5000);
|
||||
printf("Demarrage...\n");
|
||||
|
||||
|
||||
@ -113,16 +113,13 @@ void main(void)
|
||||
if(temps_ms % step_ms == 0){
|
||||
QEI_update();
|
||||
Localisation_gestion();
|
||||
if(Trajet_get_obstacle_mm() < 50){
|
||||
Moteur_Stop();
|
||||
|
||||
if(etat_trajet != TRAJET_TERMINE){
|
||||
etat_trajet = Trajet_avance((float)step_ms/1000.);
|
||||
}else{
|
||||
if(etat_trajet != TRAJET_TERMINE){
|
||||
etat_trajet = Trajet_avance((float)step_ms/1000.);
|
||||
}else{
|
||||
Asser_Position_maintien();
|
||||
}
|
||||
AsserMoteur_Gestion(step_ms);
|
||||
Asser_Position_maintien();
|
||||
}
|
||||
AsserMoteur_Gestion(step_ms);
|
||||
}
|
||||
}
|
||||
|
||||
@ -239,16 +236,19 @@ void configure_trajet(int identifiant, int couleur){
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
Localisation_set(1465, 2000-63, M_PI);
|
||||
Trajectoire_bezier(&trajectoire, 3000-1465, 2000-63, 3000-1260, 2000-63,
|
||||
3000-600, 1400, 3000-0, 2000, M_PI, M_PI);
|
||||
Localisation_set(3000-1249, 2000-63, 0);
|
||||
Trajectoire_bezier(&trajectoire, 3000-1250, 2000-63, 3000-1050, 2000-63,
|
||||
3000-750, 1400, 3000-750, 2100, 0, 0);
|
||||
break;
|
||||
case 2:
|
||||
Localisation_set(3000-1117, 2000-63, 0);
|
||||
Trajectoire_bezier(&trajectoire, 3000-1116, 2000-63, 3000-975, 2000-63,
|
||||
3000-540, 1400, 3000+60, 1400, -M_PI, -M_PI);
|
||||
break;
|
||||
case 3:
|
||||
Localisation_set(3000 - 1130, 2000-63, 0);
|
||||
Localisation_set(1121-1130, 2000-63, 0);
|
||||
Trajectoire_bezier(&trajectoire, 3000-1122, 2000-63, 3000-905, 2000-63,
|
||||
3000-606, 2000-590, 3000-225, 2000-225, 0, 0);
|
||||
3000-606, 2000-590, 3000-225, 2000-225, -M_PI, -M_PI);
|
||||
break;
|
||||
case 4:
|
||||
break;
|
||||
@ -270,9 +270,9 @@ void configure_trajet(int identifiant, int couleur){
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
Localisation_set(1465, 2000-63, M_PI);
|
||||
Trajectoire_bezier(&trajectoire, 1465, 2000-63, 1260, 2000-63,
|
||||
600, 1400, 0, 2000, M_PI, M_PI);
|
||||
Localisation_set(1249, 2000-63, M_PI);
|
||||
Trajectoire_bezier(&trajectoire, 1250, 2000-63, 1050, 2000-63,
|
||||
750, 1400, 750, 2100, M_PI, M_PI);
|
||||
break;
|
||||
case 2:
|
||||
Localisation_set(1117, 2000-63, M_PI);
|
||||
@ -280,7 +280,7 @@ void configure_trajet(int identifiant, int couleur){
|
||||
540, 1400, -60, 1400, M_PI, M_PI);
|
||||
break;
|
||||
case 3:
|
||||
Localisation_set(1130, 2000-63, M_PI);
|
||||
Localisation_set(1121, 2000-63, M_PI);
|
||||
Trajectoire_bezier(&trajectoire, 1122, 2000-63, 905, 2000-63,
|
||||
606, 2000-590, 225, 2000-225, M_PI, M_PI);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user