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_localisation(void); | ||||
| int test_avance(void); | ||||
| int test_cde_vitesse(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_cercle(void); | ||||
| int test_asser_position_avance(void); | ||||
| @ -61,16 +62,13 @@ int mode_test(){ | ||||
|     printf("B - pour avance (asser_moteur)\n"); | ||||
|     printf("C - pour les codeurs\n"); | ||||
|     printf("D - pour les codeurs (somme en mm)\n"); | ||||
|     printf("E - Commande en vitesse - rotation pure\n"); | ||||
|     printf("F - Commande en vitesse - carré\n"); | ||||
|     printf("G - Commande en vitesse - cercle\n"); | ||||
|     printf("E - Commande en vitesse...\n"); | ||||
|     printf("H - Asser Position - avance\n"); | ||||
|     printf("I - Asser Position - avance et tourne (gyro)\n"); | ||||
|     printf("J - Asser Position - avance et tourne (sans gyro)\n"); | ||||
|     printf("K - Trajets aller retour avec Gyro\n"); | ||||
|     printf("L - pour la localisation\n"); | ||||
|     printf("M - pour les moteurs\n"); | ||||
|     printf("N - Rotation dans le référentiel du robot\n"); | ||||
|     printf("T - Trajectoire\n"); | ||||
|     printf("U - Scan du bus i2c\n"); | ||||
|     printf("V - APDS_9960\n"); | ||||
| @ -103,17 +101,7 @@ int mode_test(){ | ||||
| 
 | ||||
|     case 'E': | ||||
|     case 'e': | ||||
|         while(test_cde_vitesse_rotation()); | ||||
|         break; | ||||
| 
 | ||||
|     case 'F': | ||||
|     case 'f': | ||||
|         while(test_cde_vitesse_rectangle()); | ||||
|         break; | ||||
| 
 | ||||
|     case 'G': | ||||
|     case 'g': | ||||
|         while(test_cde_vitesse_cercle()); | ||||
|         while(test_cde_vitesse()); | ||||
|         break; | ||||
| 
 | ||||
|     case 'H': | ||||
| @ -146,11 +134,6 @@ int mode_test(){ | ||||
|         while(test_moteurs()); | ||||
|         break; | ||||
| 
 | ||||
|     case 'N': | ||||
|     case 'n': | ||||
|         while(test_cde_rotation_ref_robot()); | ||||
|         break; | ||||
| 
 | ||||
|     case 'T': | ||||
|     case 't': | ||||
|         while(test_trajectoire()); | ||||
| @ -794,6 +777,48 @@ int test_asser_position_avance(){ | ||||
|     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 lettre, _step_ms = 1; | ||||
|     double vitesse =90.0/2 * 3.14159 /180.0; | ||||
| @ -806,23 +831,25 @@ int test_cde_vitesse_rotation(){ | ||||
|         sleep_ms(_step_ms); | ||||
|         lettre = getchar_timeout_us(0); | ||||
|     }while(lettre == PICO_ERROR_TIMEOUT); | ||||
|     Moteur_Stop(); | ||||
| 
 | ||||
|     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; | ||||
|     double vitesse =90.0/2 * 3.14159 /180.0; | ||||
|     printf("Rotation du robot sur lui-même en 8 secondes\nVitesse : %f rad/s\n", vitesse); | ||||
|     double vitesse =90.0/4 * 3.14159 /180.0; | ||||
|     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{ | ||||
|         QEI_update(); | ||||
|         AsserMoteur_Gestion(_step_ms); | ||||
|         sleep_ms(_step_ms); | ||||
|         lettre = getchar_timeout_us(0); | ||||
|     }while(lettre == PICO_ERROR_TIMEOUT); | ||||
|     Moteur_Stop(); | ||||
| 
 | ||||
|     return 0; | ||||
| } | ||||
| @ -851,6 +878,7 @@ int test_cde_vitesse_rectangle(){ | ||||
|         temps_ms += _step_ms; | ||||
|         lettre = getchar_timeout_us(0); | ||||
|     }while(lettre == PICO_ERROR_TIMEOUT); | ||||
|     Moteur_Stop(); | ||||
| 
 | ||||
|     return 0; | ||||
| } | ||||
| @ -869,6 +897,7 @@ int test_cde_vitesse_cercle(){ | ||||
| 
 | ||||
|         lettre = getchar_timeout_us(0); | ||||
|     }while(lettre == PICO_ERROR_TIMEOUT); | ||||
|     Moteur_Stop(); | ||||
| 
 | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user