Test rotation par rapport à un point : OK
This commit is contained in:
parent
2abcdf5d52
commit
f26e6a0c5d
79
Test.c
79
Test.c
@ -36,8 +36,9 @@ int test_vitesse_moteur(enum t_moteur moteur);
|
|||||||
int test_asser_moteur(void);
|
int test_asser_moteur(void);
|
||||||
int test_localisation(void);
|
int test_localisation(void);
|
||||||
int test_avance(void);
|
int test_avance(void);
|
||||||
|
int test_cde_vitesse(void);
|
||||||
int test_cde_vitesse_rotation(void);
|
int test_cde_vitesse_rotation(void);
|
||||||
int test_cde_rotation_ref_robot(void);
|
int test_cde_rotation_ref_robot(double centre_x_mm, double centre_y_mm);
|
||||||
int test_cde_vitesse_rectangle(void);
|
int test_cde_vitesse_rectangle(void);
|
||||||
int test_cde_vitesse_cercle(void);
|
int test_cde_vitesse_cercle(void);
|
||||||
int test_asser_position_avance(void);
|
int test_asser_position_avance(void);
|
||||||
@ -61,16 +62,13 @@ int mode_test(){
|
|||||||
printf("B - pour avance (asser_moteur)\n");
|
printf("B - pour avance (asser_moteur)\n");
|
||||||
printf("C - pour les codeurs\n");
|
printf("C - pour les codeurs\n");
|
||||||
printf("D - pour les codeurs (somme en mm)\n");
|
printf("D - pour les codeurs (somme en mm)\n");
|
||||||
printf("E - Commande en vitesse - rotation pure\n");
|
printf("E - Commande en vitesse...\n");
|
||||||
printf("F - Commande en vitesse - carré\n");
|
|
||||||
printf("G - Commande en vitesse - cercle\n");
|
|
||||||
printf("H - Asser Position - avance\n");
|
printf("H - Asser Position - avance\n");
|
||||||
printf("I - Asser Position - avance et tourne (gyro)\n");
|
printf("I - Asser Position - avance et tourne (gyro)\n");
|
||||||
printf("J - Asser Position - avance et tourne (sans gyro)\n");
|
printf("J - Asser Position - avance et tourne (sans gyro)\n");
|
||||||
printf("K - Trajets aller retour avec Gyro\n");
|
printf("K - Trajets aller retour avec Gyro\n");
|
||||||
printf("L - pour la localisation\n");
|
printf("L - pour la localisation\n");
|
||||||
printf("M - pour les moteurs\n");
|
printf("M - pour les moteurs\n");
|
||||||
printf("N - Rotation dans le référentiel du robot\n");
|
|
||||||
printf("T - Trajectoire\n");
|
printf("T - Trajectoire\n");
|
||||||
printf("U - Scan du bus i2c\n");
|
printf("U - Scan du bus i2c\n");
|
||||||
printf("V - APDS_9960\n");
|
printf("V - APDS_9960\n");
|
||||||
@ -103,17 +101,7 @@ int mode_test(){
|
|||||||
|
|
||||||
case 'E':
|
case 'E':
|
||||||
case 'e':
|
case 'e':
|
||||||
while(test_cde_vitesse_rotation());
|
while(test_cde_vitesse());
|
||||||
break;
|
|
||||||
|
|
||||||
case 'F':
|
|
||||||
case 'f':
|
|
||||||
while(test_cde_vitesse_rectangle());
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'G':
|
|
||||||
case 'g':
|
|
||||||
while(test_cde_vitesse_cercle());
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'H':
|
case 'H':
|
||||||
@ -146,11 +134,6 @@ int mode_test(){
|
|||||||
while(test_moteurs());
|
while(test_moteurs());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'N':
|
|
||||||
case 'n':
|
|
||||||
while(test_cde_rotation_ref_robot());
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'T':
|
case 'T':
|
||||||
case 't':
|
case 't':
|
||||||
while(test_trajectoire());
|
while(test_trajectoire());
|
||||||
@ -794,6 +777,48 @@ int test_asser_position_avance(){
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int test_cde_vitesse(){
|
||||||
|
printf("A - Commande en vitesse - rectangle\n");
|
||||||
|
printf("B - Commande en vitesse - cercle\n");
|
||||||
|
printf("C - Commande en vitesse - rotation pure\n");
|
||||||
|
printf("D - Commande en vitesse - rotation par rapport à un point (contacteur longer A)\n");
|
||||||
|
printf("E - Commande en vitesse - rotation par rapport à un point (contacteur longer C)\n");
|
||||||
|
|
||||||
|
int lettre;
|
||||||
|
do{
|
||||||
|
lettre = getchar_timeout_us(0);
|
||||||
|
stdio_flush();
|
||||||
|
|
||||||
|
}while(lettre == PICO_ERROR_TIMEOUT || lettre == '\0');
|
||||||
|
|
||||||
|
switch(lettre){
|
||||||
|
case 'a':
|
||||||
|
case 'A':
|
||||||
|
while(test_cde_vitesse_rectangle());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'b':
|
||||||
|
case 'B':
|
||||||
|
while(test_cde_vitesse_cercle());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'c':
|
||||||
|
case 'C':
|
||||||
|
while(test_cde_vitesse_rotation());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'd':
|
||||||
|
case 'D':
|
||||||
|
while(test_cde_rotation_ref_robot(RAYON_ROBOT, 0));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'e':
|
||||||
|
case 'E':
|
||||||
|
while(test_cde_rotation_ref_robot(RAYON_ROBOT/2, -RAYON_ROBOT* RACINE_DE_3/2));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int test_cde_vitesse_rotation(){
|
int test_cde_vitesse_rotation(){
|
||||||
int lettre, _step_ms = 1;
|
int lettre, _step_ms = 1;
|
||||||
double vitesse =90.0/2 * 3.14159 /180.0;
|
double vitesse =90.0/2 * 3.14159 /180.0;
|
||||||
@ -806,23 +831,25 @@ int test_cde_vitesse_rotation(){
|
|||||||
sleep_ms(_step_ms);
|
sleep_ms(_step_ms);
|
||||||
lettre = getchar_timeout_us(0);
|
lettre = getchar_timeout_us(0);
|
||||||
}while(lettre == PICO_ERROR_TIMEOUT);
|
}while(lettre == PICO_ERROR_TIMEOUT);
|
||||||
|
Moteur_Stop();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int test_cde_rotation_ref_robot(){
|
int test_cde_rotation_ref_robot(double centre_x_mm, double centre_y_mm){
|
||||||
int lettre, _step_ms = 1;
|
int lettre, _step_ms = 1;
|
||||||
double vitesse =90.0/2 * 3.14159 /180.0;
|
double vitesse =90.0/4 * 3.14159 /180.0;
|
||||||
printf("Rotation du robot sur lui-même en 8 secondes\nVitesse : %f rad/s\n", vitesse);
|
printf("Rotation du robot par rapport au point (Rayon, O)\nVitesse : %f rad/s\n", vitesse);
|
||||||
|
|
||||||
commande_rotation(vitesse, RAYON_ROBOT, 0);
|
commande_rotation(vitesse, centre_x_mm, centre_y_mm);
|
||||||
do{
|
do{
|
||||||
QEI_update();
|
QEI_update();
|
||||||
AsserMoteur_Gestion(_step_ms);
|
AsserMoteur_Gestion(_step_ms);
|
||||||
sleep_ms(_step_ms);
|
sleep_ms(_step_ms);
|
||||||
lettre = getchar_timeout_us(0);
|
lettre = getchar_timeout_us(0);
|
||||||
}while(lettre == PICO_ERROR_TIMEOUT);
|
}while(lettre == PICO_ERROR_TIMEOUT);
|
||||||
|
Moteur_Stop();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -851,6 +878,7 @@ int test_cde_vitesse_rectangle(){
|
|||||||
temps_ms += _step_ms;
|
temps_ms += _step_ms;
|
||||||
lettre = getchar_timeout_us(0);
|
lettre = getchar_timeout_us(0);
|
||||||
}while(lettre == PICO_ERROR_TIMEOUT);
|
}while(lettre == PICO_ERROR_TIMEOUT);
|
||||||
|
Moteur_Stop();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -869,6 +897,7 @@ int test_cde_vitesse_cercle(){
|
|||||||
|
|
||||||
lettre = getchar_timeout_us(0);
|
lettre = getchar_timeout_us(0);
|
||||||
}while(lettre == PICO_ERROR_TIMEOUT);
|
}while(lettre == PICO_ERROR_TIMEOUT);
|
||||||
|
Moteur_Stop();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user