Auteur Sujet: éjecter des plots d'un plateau sans tomber (détection ligne noire)  (Lu 212 fois)

sulloa

  • Newbie
  • *
  • Messages: 1
    • Voir le profil
bonjour
 Je participe à un concours robotique.
le but du jeu est le suivant :
le plateau de jeux est une planche de 1m sur 1 m blanche. en bordure intérieure, à 3 cm, une bande de scotch noir de cm de large
il y a aussi 2 triangles (scotch noir) et un carré de tracé sur la planche (voir fichier joint)
8 plots sont à éjecter sans tomber de la planche (7 plots avec position connue et 1 aléatoire)
départ du robot dans un angle, capteur ultrason à l'aplomb de la bande noire. Départ au drapeau


je n'arrive pas à :
                    1- rédiger mon algorithme correctement

voici ce que j'ai fait pour l'instant :

Attendre que le drapeau soit levé (petit programme ultrason)
reculer, tourner

Répéter jusqu'à ce que tous les plots aient été éjectés :
    Si capteur ultrasonique détecte un plot :
        Mesurer la distance au plot
        Si la distance est sûre (par exemple > 8 cm) :
            Avancer vers le plot
            Éjecter le plot
        Sinon :
            Ignorer le plot et continuer
    Sinon si capteur suiveur de ligne détecte la ligne noire :
        S'arrêter
    Sinon :
        Avancer


           2- traduire en programme mblock. je ne maîtrise pas les variables,  j'ai cherché... je ne sais pas par quel bout prendre...
je pêche vraiment coté variable, y at-il un lien, un cours qui puisse m'expliquer ?

comment guider les élèves correctement car moi je tatonne....

 merci

je parviens à faire les programme détection de ligne/ultrason mais les 2 combiné je vois pas, help....

Sandrine

nag

  • Administrator
  • Newbie
  • *****
  • Messages: 31
    • Voir le profil
Re : éjecter des plots d'un plateau sans tomber (détection ligne noire)
« Réponse #1 le: mars 26, 2024, 11:27:50 pm »
Bonjour ou bonsoir Sulloa, bienvenue à toi !
Si tu veux prendre quelques instants pour venir te présenter sur le forum, c'est par ici : ici ;-)

Tout d'abord, il nous manque une info importante... il est pour quand ton concours ? :-D

Il y a pas mal de notions à voir, tout d'abord, comme guide, tu peux utiliser le programme fourni d'origine avec le Mbot (tu as quelle version de robot ?), c'est un programme suiveur de ligne noire... tu veux l'inverse, il te suffit de retourner l'action pour qu'il évite les lignes noires.
Par contre, quand il rencontre une ligne noire, il ne faut pas qu'il s'arrête, il faut que tu lui fasses faire un demi ou un quart de tour et reprendre sa route.

En ce qui concerne l'organisation du programme, je te conseille de regarder vers Scratch, puisque Mblock est basé dessus.
Tu verras comment organiser ton programme.

Je pense que le problème le plus important est (comme toujours en fait) la logique que tu vas utiliser pour ton programme.

Comme il y a 7 positions connues ET 1 inconnue, j'imagine qu'il y a un chrono qui tourne et qu'il faut faire preuve d'efficacité.
Tu peux nous en dire plus sur les régles ? Par exemple, la position des triangles et carré est-elle connue ?
Est-ce que tu dois absolument utiliser le capteur pour la detection des plots ?

Si position des obstacles intérieur connue, tu te traces le chemin le plus court en évitant les obstacles, tu fais faire à ton robot le chemin pour aller les ejecter les plot connus, simplement avec les commandes de déplacement basiques.
Pour le 8ème, tu peux utiliser un programme du type "robot aspirateur ou tondeuse", tu fais des bandes, arrivé au bout (detection de ligne), un quart de tour, un pas... un quart de tour dans le même sens et tu repart (histoire de pas faire un "mapping" de toute le plateau :-D).

Tu pourrais faire un mix des deux programmes MAIS, il y a une bonne probabilité que ton robot shoote le plot 8 en allant ejecter les autres... qui compte les plots tombés ? Un juge ?

Bonnes recherches à toi et n'hésites pas à revenir vite vers ici quand tu auras d'autres interrogations... la programmation, quand on débute (et même plus tard) c'est souvent résoudre un problème pour en trouver trois nouveaux derrière, jusqu'à la lumière ! :-D
« Modifié: mars 27, 2024, 12:13:57 am par nag »