Aller au contenu


Photo
- - - - -

Robot labyrinthe


  • Veuillez vous connecter pour répondre
8 réponses à ce sujet

#1 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 30 octobre 2015 - 08:19

Bonsoir,

j'aimerai faire un robot labyrinthe et j'aimerai savoir quel algo est le plus rapide et adapté ?

J'ai pensé aux réseau de neurones puis ensuite aux algo génétique et enfin aux algo de recherche de chemins mais je ne sais pas vraiment lequel est le plus adapté.

Merci d'avance.


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#2 Gyro49

Gyro49

    Habitué

  • Membres
  • PipPip
  • 246 messages
  • Gender:Male
  • Location:Angers, France

Posté 01 novembre 2015 - 08:14

Bonsoir

 

Personnellement j'ai trouvé deux solutions

-algorithme Dijkstra

-algorithme A* ou star

 

Cordialement



#3 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 02 novembre 2015 - 06:26

Merci beaucoup de la réponse. Est-ce que vous préféré un par apport à l'autre si oui pourquoi ? (En sachant que je dois pouvoir apprendre et retenir le plus rapidement possible)


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#4 Gyro49

Gyro49

    Habitué

  • Membres
  • PipPip
  • 246 messages
  • Gender:Male
  • Location:Angers, France

Posté 02 novembre 2015 - 07:31

Je n'ai toujours pas mis en pratique.

J'avais fait cette recherche pour un robot aspirateur qui est resté à l'idée de projet.

 

J'avais dans l'idée d'utiliser l'algorithme star au sein d'une pièce et ce lui de Dijkstra pour le déplacement entre les pièces.

Je n'avais pas de délais dans la déplacement, sauf le niveau de la batterie pour retourner à la base de recharge

 

Maintenant est-ce une course en labyrinthe ou simplement un projet personnel ?

Si c'est une course, il faudra deux parcours, le premier pour construire la carte et le deuxième le parcours le plus rapide.

Personnellement je prendrais l’algorithme Dijkstra qui semble être plus rapide dans le calcul.

 

Dans google rechercher "Dijkstra vs star" et les avis sont partagé



#5 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 02 novembre 2015 - 07:50

oui c'est un concours de labyrinthe mais une arduino est suffisante non pour un algo comme ça non ? Quand tu dis de parcours tu veux dire qu'il devra faire deux fois le parcours c'est ça ?

C'est le règlement.

http://www.robot-sumo.fr/wp-content/uploads/2015/10/R%C3%A8glement-Labyrinthe-Ligne.pdf


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#6 Gyro49

Gyro49

    Habitué

  • Membres
  • PipPip
  • 246 messages
  • Gender:Male
  • Location:Angers, France

Posté 02 novembre 2015 - 08:05

Il me semble que oui, mais il faut se demander comment l'arduino va créer sa carte de noeuds. Certainement un tableau.

#7 cocothebo

cocothebo

    Membre passionné

  • Membres
  • PipPipPip
  • 341 messages
  • Gender:Male

Posté 02 novembre 2015 - 08:09

Salut,

 

Il faudrait mieux préciser ton concours...

Si c'est un labyrinthe fixé d'avance, effectivement un A* (ou dijkstra qui reste le cas générale de A*) fonctionne très bien, mais faut connaitre le point de départ, le point d'arrivée et toutes les contraintes entre ces deux points. En gros ce sont des algos qui te permettent de trouver une solution presque optimale pour aller d'un point A à B sur un terrain avec contraintes (mur infranchissable etc.), par exemple le déplacement dans un jeu.

 

Par contre, si c'est un vrai labyrinthe, on ne connait pas tout au départ, et la ya pas énormément d'algorithme, regarde du côté de l'algo de pledge qui permet de sortir à coup sur si une sortie existe mais qui bien sur ne peux optimiser le chemin à l'avance puisque rien ne doit être connu à l'avance pour le faire fonctionner.

 

Bref, si A* et consort fonctionne, c'est plus un calcul de trajectoire que la résolution d'un labyrinthe.

 

Tout ou presque fonctionnera sur arduino, les limitations seront l'espace mémoire (donc le nombre de noeuds dans A*) et la vitesse ne sera pas comparable à ce que fera une raspberry par exemple.

 

 

Après, si c'est en mode "deux" passages, il te faudra faire en premier une sorte d'algorithme de slam qui parcourt tout le labyrinthe (pour le cartographier) puis un A* une fois le labyrinthe connu.



#8 Gyro49

Gyro49

    Habitué

  • Membres
  • PipPip
  • 246 messages
  • Gender:Male
  • Location:Angers, France

Posté 02 novembre 2015 - 08:12

Il existe certainement plusieurs types de concours
-est-ce que la carte est connue ?
-est-ce qu'il y a un temps ou un objectif à atteindre?

#9 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 02 novembre 2015 - 08:13

Il y à des exemples mais je ne sais pas si c'est ceux du concours.

 

Je dois faire le plus petit temps possible et normalement on a le droit de faire des essai sur les laby avant.

On peux mettre les deux pour être sûr et en fonction de ce qu'on veut on choisis non ?


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles





1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users