Forum des NXTiens

   Le 19/04/15 à 16h07 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 19/04/15
Messages: 12
Bonjour la communauté, :)

Actuellement en terminale S spécialité informatique, avec l'aide de mes camarades je dois faire un labyrinthe et le résoudre à l'aide du robot lego ev3.

Nous avons à notre disposition le robot avec la boule derrière et deux roues motrices. Nous l'avons équipé de deux capteurs de couleurs. Notre labyrinthe est constitué d'une nappe blanche sur laquelle est fixé du ruban noir permettant ainsi de former le labyrinthe. Le robot avance jusqu'à heurter un mur (détecter la couleur noir). Dans ce cas il vérifie premièrement à droite (90 degrés) si il peut avancer, si oui il avance, sinon il se tourne à 180 degrés. De même si il est bloqué il se retourne de 90 degrés vers la gauche.

Nous avons ébauché un premier programme, Cependant après chaque virage la boucle ne se relance pas et nous aimerions que la boucle se relance à chaque fois.



Voici notre programme


Si je n'ai pas été clair sur certains points, n'hésitez pas à m'en faire part.

Merci par avance ! :)



Edité par inconnito2 Le 19/04/15 à 16h12

pm    
   Le 19/04/15 à 20h28 Citer      

Booster Bazooka

Groupe: Membre

Sexe:
Inscrit le: 03/06/13
Messages: 125
Bonjour,

Quand tu dis que la boucle ne se relance pas, ça signifie que le programme s'arrête ou qu'il continue mais que le robot ne fait plus rien ? :heink
En tout cas, je ne vois pas pourquoi une boucle infinie ne fonctionnerait pas. Du coup:
- si le programme s'arrête, tu peux vérifier les fils de liaison et replacer les blocs sans les utiliser... ils ne me donnent pas confiance...
- si il continue mais que le robot ne fait plus rien, ce doit être dans un bloc personnalisé... et je ne peux pas faire grand chose...
Et si le problème n'est pas là, comme je te l'ai dit, ce ne peux pas être à cause de la boucle infinie elle-même. :s

Bonne continuation

Fou_de_lego
____________________
Bienvenue dans le monde du lego ! :d______Vous pouvez aller voir mon propre site pour voir mes constructions: https://sites.google.com/site/legonxttutorielsetcreations/home

pm    
   Le 20/04/15 à 07h08 Citer      

Booster Fuzil

Groupe: Membre

Sexe:
Inscrit le: 07/11/13
Messages: 80
Lieu: Centre France
Bonjour,

Il serait préférable de joindre le programme afin de pouvoir le télécharger , il n'est pas complet avec ces copies d'écran et il manque les blocs.
Avec votre programme me serait possible de le tester : j'ai actuellement un montage sur lequel il me suffirait de brancher deux capteurs de couleur.
J'ai pour habitude de commenter mes programmes pour plus de compréhension : c'est vivement conseillé !

Claude

pm    
   Le 20/04/15 à 10h41 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 19/04/15
Messages: 12
Bonjour,

Très bien, je vous envoie ceci

Voici l'url des images complètes


http://img11.hostingpics.net/pics/412248imagegauche.png

http://img11.hostingpics.net/pics/735442imagedroite.png

Voici notre archive zip, le programme screenshoté se trouve dans VERSION FINALE AVANCER==>Semi abouti projet.

Robotique regroupement des dossiers importants.zip



Notre robot avance et par exemple lors de la rencontre d'un mur, il recule tourne à 90 degrés vers la droite puis avance si le chemin est libre. Cependant si il avance et qu'il rencontre de nouveau un mur, il ne va pas se tourner de 90 degrés vers la droite mais de 180 degrés. C'est-à-dire que la boucle de ne relance pas. Il reprends la boucle où il l'avait laissée et je ne vois pas comment modifier mon programme afin de résoudre ce problème.

Merci de votre aide :)



Edité par inconnito2 Le 20/04/15 à 10h43

pm    
   Le 20/04/15 à 13h03 Citer      

Booster Bazooka

Groupe: Membre

Sexe:
Inscrit le: 03/06/13
Messages: 125
J'avoue ne pas trop m'y retrouver dans tes projets... :heink

Tu devrais exécuter le programme avec la brique toujours connectée à l'ordi, ça te permettra de voir en temps réel les blocs exécutés (un des avantages du logiciel EV3 par rapport au logiciel NXT ;)). Tu pourras donc voir rapidement dans le programme si ça passe par où tu veux et où est-ce que ça pose problème.

Donne m'en des nouvelles :d

Fou_de_lego
____________________
Bienvenue dans le monde du lego ! :d______Vous pouvez aller voir mon propre site pour voir mes constructions: https://sites.google.com/site/legonxttutorielsetcreations/home

pm    
   Le 20/04/15 à 13h22 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 19/04/15
Messages: 12
Re-bonjour

Oui je l'ai déjà fait avec mon professeur, cependant mon problème est le fait qu'à chaque fois que le robot avance à l'aide du bloc avancer, j'aimerai que la boucle se relance depuis le départ. Sauriez-vous comment faire ceci?

Merci

pm    
   Le 20/04/15 à 13h44 Citer      

Booster Fuzil

Groupe: Membre

Sexe:
Inscrit le: 07/11/13
Messages: 80
Lieu: Centre France
Je viens de charger le programme VERSION FINALE AVANCER qui me parait bien compliqué pour le problème à résoudre.
Beaucoup de blocs personnels avec beaucoup de boucles : au cours d'une mise au point j'évite d'avoir recours à "mes blocs" car il est difficile de suivre le déroulement du programme (comme indiqué au dessus par "fou_de_lego")
Avec 5 boucles imbriquées et des sous programmes (mes blocs) difficile -même pour le concepteur- de s'y retrouver : 33 programmes avec VERSION FINALE AVANCER !!!
Je vois qu'un gyroscope est connecté : quelle est sa fonction ?
Je regarde ce soir pour connecter deux capteurs couleur sur mon petit robot similaire et voir ce qui se passe.
A votre place , je repartirais à 0 avec un objectif : faire simple sans blocs personnels. Si une routine revient plusieurs fois (pour reproduire des routines , j'utilise la fonction copier-coller) , il est facile de les remplacer par un bloc personnel lorsque le programme fonctionne.

Une photo de votre robot sue le labyrinthe serait utile.

Je regarde ce soir.

Claude

pm    
   Le 20/04/15 à 13h56 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 19/04/15
Messages: 12
Bonjour claude

Oui, nous avons testé plusieurs techniques. Le programme se situe dans VERSION FINALE AVANCER, et se nomme "Semi abouti projet".

Bonne journée

pm    
   Le 20/04/15 à 16h11 Citer      

Booster Bazooka

Groupe: Membre

Sexe:
Inscrit le: 03/06/13
Messages: 125
Pour répondre à la question "chaque fois que le robot avance à l'aide du bloc avancer, j'aimerai que la boucle se relance depuis le départ.", tu peux mettre la boucle infinie dans une autre boucle infinie que tu nommeras "02" et tu places lorsque tu le veux un bloc "Loop Interrupt" avec "01". Du coup, dès que ça rencontrera ce bloc, ça sortira de la boucle "01" et l'autre boucle ramènera vers le début en lançant le bloc "avancer" de départ.
Donc cette astuce devrait répondre à ta question :) mais je ne pense pas que ça règle le problème :( ...

Il y a certaines choses que je ne comprends pas:
- Pourquoi dans "reculerrectif" y a-t-il deux fois la même chaîne d'action -> tu peux en supprimer une.
- Dans le bloc (bleu) "avancer", à mon avis, les blocs font démarrer/arrêter/démarrer... un moteur lorsque la ligne est détectée -> met plutôt une condition: "tout droit" si aucune ligne n'est détectée; "vers la gauche" si une ligne est détectée par le capteur gauche; "vers la droite" si une ligne est détectée par le capteur droit.
- Lorsque le robot trouve le chemin de sortie, tu mets des blocs "avancer" complètement inutiles puisque le programme va tout de suite retomber sur le bloc "avancer" de départ. -> supprime les...

Bon.. ben voilà... essaie ça et donne moi toujours des nouvelles... :d



Edité par fou_de_lego Le 20/04/15 à 16h14
____________________
Bienvenue dans le monde du lego ! :d______Vous pouvez aller voir mon propre site pour voir mes constructions: https://sites.google.com/site/legonxttutorielsetcreations/home

pm    
   Le 20/04/15 à 17h29 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 19/04/15
Messages: 12
Re fou de lego

J'ai essayé de faire une interruption de boucle dans le selecteur, cependant le programme continue de s'effectuer après le selecteur.

Pour reculerectif, c'est bon.

J'ai supprimé les blocs avancer.

J'aime votre idée cependant cela modifie tout mon programme. Et si les deux capteurs du robot détectent la ligne. Comment va faire le robot? Mon labyrinthe est fait selon des axes perpendiculaires.

pm    
   Le 20/04/15 à 18h43 Citer      

Booster Bazooka

Groupe: Membre

Sexe:
Inscrit le: 03/06/13
Messages: 125
J'ai peur en fait de ne pas avoir compris ce que tu cherchais à faire dans le programme et l'utilité de chacun des blocs... :gne Peux-tu faire le ménage pour laisser uniquement choses utiles au fonctionnement du programme et rajouter des commentaires pour chacune des parties comme l'a demandé Claude41 ? :)
Et pour suivre la ligne, si les deux capteurs détectent une ligne, c'est forcément qu'il est à une intersection et doit donc lancer la procédure... ;)



Edité par fou_de_lego Le 20/04/15 à 22h03
____________________
Bienvenue dans le monde du lego ! :d______Vous pouvez aller voir mon propre site pour voir mes constructions: https://sites.google.com/site/legonxttutorielsetcreations/home

pm    
   Le 20/04/15 à 21h19 Citer      

Booster Fuzil

Groupe: Membre

Sexe:
Inscrit le: 07/11/13
Messages: 80
Lieu: Centre France
Je n'ai pas encore compris pourquoi il fallait deux capteurs de couleurs pour progresser dans un labyrinthe : c'est imposé dans le sujet.
A priori , un seul capteur suffit. La différence avec un capteur ultra son c'est que celui ci détecte avant d'atteindre l'obstacle ; avec un capteur de couleurs (ou plutôt de luminosité réfléchie) il faudrait reculer à la détection d'un "mur" puis aller 90 ° à droite par exemple.

Un photo du robot sur la nappe serait un plus.

Claude

pm    
   Le 20/04/15 à 22h04 Citer      

Booster Bazooka

Groupe: Membre

Sexe:
Inscrit le: 03/06/13
Messages: 125
Claude41, a moins d'avoir été complètement hors sujet avant, pour moi, les capteurs de couleurs sont placés vers le sol pour détecter les lignes formant le labyrinthe (il n'y a pas de mur, ou en tout cas pas d'utiles). Deux capteurs de couleurs facilitent donc fortement le projet, même s'il aurait été faisable avec un seul...
____________________
Bienvenue dans le monde du lego ! :d______Vous pouvez aller voir mon propre site pour voir mes constructions: https://sites.google.com/site/legonxttutorielsetcreations/home

pm    
   Le 21/04/15 à 07h11 Citer      

Booster Fuzil

Groupe: Membre

Sexe:
Inscrit le: 07/11/13
Messages: 80
Lieu: Centre France
Bonjour,

Je ne suis pas encore tout à fait idiot et j' avais bien compris que le capteur de couleurs était dirigé vers le sol pour détecter la ligne noire dessinée sur la nappe : j'ai d'ailleurs mis "mur" entre guillemets car le tracé noir permet de simuler un mur...
En latin, labyrinthus signifie « enclos de bâtiments dont il est difficile de trouver l’issue » (Wikipédia)
Je ne vois pas comment l'utilisation de deux capteurs facilite le projet , dans le cas d' inconnito2 c'est bigrement compliqué.
Dans un établissement scolaire chaque groupe ne détiens qu'une boite robotique ne contenant qu'un seul capteur de couleurs.
Je viens de greffer un capteur couleurs sur mon robot et commence la programmation.

A bientôt pour la suite

Claude

pm    
   Le 21/04/15 à 09h22 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 19/04/15
Messages: 12
Bonjour

Voici l'image de notre robot


Voici le screen de mon pro avec quelques annotations








Voici la moitié de notre labytinthe





Benoît



Edité par inconnito2 Le 21/04/15 à 09h50

pm    
1 Utilisateur en ligne :: 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne: Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie