Programme d'évitement d'obstacle pour robot
Répondre à la discussion
Affichage des résultats 1 à 1 sur 1

Programme d'évitement d'obstacle pour robot



  1. #1
    inviteafe3eeac

    Programme d'évitement d'obstacle pour robot


    ------

    Salut à tous,

    J'ai un projet à rendre pour quelques semaines et j'aurais besoin de vos conseils sur la mise en place d'un code C pour faire une séquence d'évitement d'un obstacle par un robot.

    Le robot possède un capteur à ultrason sur lui. La fréquence est réglable, enfin là n'est pas le problème.
    J'ai déjà mis en place un petit schéma avec les séquences que le robot doit faire.

    #########################
    Image hébergée sur serveur externe supprimée
    Merci de suivre ces consignes



    Le chemin que prendra le robot est en orange, et les petits triangles gris sont les endroits où il devra "regarder" s'il y a un obstacle.
    Il est également nécessaire de savoir la longueur de l'objet car le robot fera des rondes pré-définies (si il ne recalcule pas la trajectoire sa ronde sera décalée).

    Donc voilà une partie du code que j'ai fais pour la première partie, mais qui ne fonctionne pas.
    Nota : Radar() permet d'activer la recherche d'obstacles.
    MOT_ROT : la rotation du robot avec les paramètres entres parenthèses
    MOT_STR : fais avancer le robot avec les paramètres.
    et enfin while (!MOT_END) permet de faire 2 actions moteurs l'une après l'autre.



    Code:
    	
    
    MOT_STR (100, FWD, TIME, 0); 
    	while ( radar() <= 10 ) { 			// Quand le radar détecte un obstacle
    	do {
    		MOT_ROT (10, FWD, CENTER, RIGHT, ANGLE, 25);		// Rotation de 90° à droite.
    		while (!MOT_END);	
    		MOT_STR (10, FWD, DISTANCE, 100);		// Le moway avance de 10 centimètres. 
    		while (!MOT_END);
    		MOT_ROT (10, FWD, CENTER, LEFT, ANGLE, 25);		// Retourne vers l'objet et vérifie si il y a obstacle. 
    		while (!MOT_END);			
    		nombre_largeur++;						// On compte le nombre de check du robot. 
    			if (radar() >= 10) {				// Si l'obstacle est encore à 10 centimètres du robot. 
    				checkUP == 1; 
    			}
    			if (radar() <= 10) {
    				checkUP == 0; 
    			}
    	}while (checkUP ==0);				// Après ceci on dois connaitre la largeur de l'obstacle.
    Si vous avez des suggestions je suis preneur !

    Merci d'avance,

    -----
    Dernière modification par Jack ; 04/05/2012 à 23h10. Motif: Quel succès ce thème de bac. On s'ennuirait sans.

Discussions similaires

  1. Vérification Circuit Pour Robot éviteur de ligne et d'obstacle
    Par invite11fdcbbe dans le forum Électronique
    Réponses: 14
    Dernier message: 28/03/2010, 19h12
  2. Robot detecteur d'obstacle
    Par invitee0c7191d dans le forum Électronique
    Réponses: 1
    Dernier message: 23/03/2009, 18h38
  3. robot détécter d'obstacle
    Par invite4b10c8b2 dans le forum Électronique
    Réponses: 0
    Dernier message: 22/12/2008, 11h12
  4. conception d'un robot franchisseur d'obstacle
    Par invitee6a6ba10 dans le forum TPE / TIPE et autres travaux
    Réponses: 2
    Dernier message: 31/10/2007, 16h02
  5. TPE : robot éviteur d'obstacle
    Par invite56dfcaf2 dans le forum TPE / TIPE et autres travaux
    Réponses: 4
    Dernier message: 20/01/2007, 21h25