Aller au contenu


Photo
- - - - -

Robot aspirateur : Problème de programmation


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

#1 Zehams

Zehams

    Nouveau membre

  • Membres
  • 7 messages

Posté 31 octobre 2014 - 07:32

Bonjour,

Je suis étudiant en 1er Université, et mon travail avec mon equipe et de faire un aspirateur :)

 

Au niveau de la mecanique tout est prêt, le probleme survient au niveau de la programmation.

Comme tout aspirateur il doit esquiver les obstacles tout en asprirant dans les coins.

L'ecole nous a fournis un kit Multiplo dans lequel on a different capteurs.

La programmation doit se faire grace au programme MiniBloq.

 

L'aspirateur devra nettoyer une surface de 2m x 2m, délimitée par des murs blancs, solides et rectilignes. Sur le sol au pied de ces murs, une bande noire de 5cm de large fera le tour de la zone. Le sol de la zone sera clair.

A ce niveau la aucun probleme sauf que l'obstacle se trouvera dans la zone et aura une forme pleine (parallélépipède rectangle ou cylindre), une couleur claire et sera délimité par une bande noire.

 

Et c'est là ou je suis bloqué, je ne sais pas comment faire pour que le robot traverse toute la zone sans rien oublier.

Je pensais a faire un mouvement rectiligne mais je suis bloqué...

J'ai besoin d'aide s'il vous plaît :)

 

Merci Beaucoup.

 

Voici la liste des capteurs mis a ma disposition :

 



#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 084 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 01 novembre 2014 - 05:17

 

L'aspirateur devra nettoyer une surface de 2m x 2m, délimitée par des murs blancs, solides et rectilignes. Sur le sol au pied de ces murs, une bande noire de 5cm de large fera le tour de la zone. Le sol de la zone sera clair.

A ce niveau la aucun probleme sauf que l'obstacle se trouvera dans la zone et aura une forme pleine (parallélépipède rectangle ou cylindre), une couleur claire et sera délimité par une bande noire.

 

Et c'est là ou je suis bloqué, je ne sais pas comment faire pour que le robot traverse toute la zone sans rien oublier.

 

 

commence par te renseigner sur comment font les systèmes actuels ;) 
Ensuite sinon renseigne toi sur des problématiques proche par exemple comment une fraise d'une CNC parcourt une surface à fraiser ;) 

Bref : cherche au lieu de poser la question pour qu'on fasse le boulot à ta place car ce qui est attendu par les personnes qui vont t'évaluer c'est voir ta capacité de réflexion fasse au sujet pas la notre.

En revanche, si tu propose une façon pour que le robot traverse toute la zone nous pourrons éventuellement te donner nos avis et te faire réfléchir sur certains points pour améliorer tes propositions par exemple ;)

 

Bref bonne continuation et à bientôt !  


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#3 Zehams

Zehams

    Nouveau membre

  • Membres
  • 7 messages

Posté 01 novembre 2014 - 08:41

 

commence par te renseigner sur comment font les systèmes actuels ;) 
Ensuite sinon renseigne toi sur des problématiques proche par exemple comment une fraise d'une CNC parcourt une surface à fraiser ;) 

Bref : cherche au lieu de poser la question pour qu'on fasse le boulot à ta place car ce qui est attendu par les personnes qui vont t'évaluer c'est voir ta capacité de réflexion fasse au sujet pas la notre.

En revanche, si tu propose une façon pour que le robot traverse toute la zone nous pourrons éventuellement te donner nos avis et te faire réfléchir sur certains points pour améliorer tes propositions par exemple ;)

 

Bref bonne continuation et à bientôt !  

J'ai deja reflechi au probleme, je vais vous faire un fichier paint pour vous expliquez ou j'en suis :)

----------------

Voila j'espere que vous pouvez voir quelque chose sur le dessin, Fichier joint  Mouvement Cylindre.png   266,88 Ko   8 téléchargement(s).

J'avais pensé a mettre une fonction du genre, quand le robot fait un ligne droite entiere, il calcule le temps qu'il fait et s'il y a une grande difference entre deux trajets, c'est parce qu'il se retrouve face a un obstacle et non un mur. (Sur la zone de test, il n'y aura qu'un seule obstacle, soit cylindrique soit parallélépipédique) Mais je sais pas quoi faire par la suite :(

Désolé pour les fautes d'orthographes :s

 



#4 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 01 novembre 2014 - 12:35

J'avais pensé a mettre une fonction du genre, quand le robot fait un ligne droite entiere, il calcule le temps qu'il fait et s'il y a une grande difference entre deux trajets, c'est parce qu'il se retrouve face a un obstacle et non un mur. (Sur la zone de test, il n'y aura qu'un seule obstacle, soit cylindrique soit parallélépipédique) Mais je sais pas quoi faire par la suite :(
Désolé pour les fautes d'orthographes :s


L'erreur classique, c'est de se placer du point de vue de l'humain qui a une vue sur la zone, le robot et l'obstacle et qui sait différencier un mur d'un obstacle. Imagine au contraire que tu es le robot, dans l'arène. Sans capteur, tu es aveugle, sourd, sans toucher, sans odorat et sans goût. Tu n'es pas capable de savoir où sont tes membres les uns par rapport aux autres, ni l'effet de bouger la jambe. C'est le cas de ton robot. Maintenant, tu peux mentalement rajouter les différents sens dont tu disposes et regarder à quoi ils te servent : la vue, l'ouïe, le toucher (le goût n'est pas très utile pour se déplacer). Et tu peux faire pareil au niveau du robot : de quoi a-t-il besoin pour répondre à la tâche que tu veux résoudre. Quel capteur te donne l'information que tu veux ?

Une fois ce travail de réflexion fait, tu pourras réfléchir à la partie programmation (sans oublier, comme l'a dit Mike, de regarder de comment ça se fait classiquement en robotique et dans les aspirateurs robot).

N'hésite pas à nous exposer le résultat de votre réflexion ! :)
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#5 Zehams

Zehams

    Nouveau membre

  • Membres
  • 7 messages

Posté 01 novembre 2014 - 02:17

Je n'ai pas trop compris la maniere dont vous voulez que je reflechisse :(  Par contre pour les trajectoires, j'avais deja fait une recherche et j'avais trouvé que souvent les robots avaient des trajectoires aleatoires sauf ceux doté d'une camera. Connaissant les dimensions de la pieces et ce qu'il s'y trouve, je ne devrais pas faire de trajectoire aleatoire. Et en plus de cela je ne dispose que de 5 min pour netoyer l'entierete de la zone :)



#6 Zehams

Zehams

    Nouveau membre

  • Membres
  • 7 messages

Posté 02 novembre 2014 - 07:13

Donc apres reflexion je dirais que j'ai besoin du capteur Ultrason pour voir la distance qui me separe d'un possible mur, du capteur de choc et du capteur de couleur. Ces trois capteurs me pemettront de me deplacer de maniere autonome dans la piece. Est ce que je suis dans le bon ?



#7 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 084 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 02 novembre 2014 - 07:14

J'ai deja reflechi au probleme, je vais vous faire un fichier paint pour vous expliquez ou j'en suis :)

----------------

Voila j'espere que vous pouvez voir quelque chose sur le dessin, attachicon.gifMouvement Cylindre.png.

J'avais pensé a mettre une fonction du genre, quand le robot fait un ligne droite entiere, il calcule le temps qu'il fait et s'il y a une grande difference entre deux trajets, c'est parce qu'il se retrouve face a un obstacle et non un mur. (Sur la zone de test, il n'y aura qu'un seule obstacle, soit cylindrique soit parallélépipédique) Mais je sais pas quoi faire par la suite :(

 

 

 

Déjà tu as une bonne approche, tu as présenté une façon d'explorer la zone et tu as mis en évidence un problème : une zone non nettoyée, maintenant que tu as identifié le problème tu dois essayer de trouver une solution, personnellement "quand je suis dans une ville et que je veux me balader un peu partout, je ne fais pas qu'un seul tour et je ne fais jamais le même chemin par contre ça m'arrive de repasser plusieur fois au même endroit ... " 

 

Bonne continuation !


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#8 Zehams

Zehams

    Nouveau membre

  • Membres
  • 7 messages

Posté 02 novembre 2014 - 07:23

Hahaha vous allez me rendre fou sur ce forum :D Mais je pense avoir compris l'astuce, au lieu de ne faire que des aller-retour horizontale, je lui demanderai d'en faire aussi de maniere verticale et normalement il sera passé sur toute la zone :P

Merci beaucoup, je vais voir ce que je peux faire.



#9 ChristianR

ChristianR

    Habitué

  • Membres
  • PipPip
  • 474 messages
  • Gender:Male
  • Location:Isère (38)
  • Interests:Arduino, programmation, électronique...

Posté 02 novembre 2014 - 09:22

Les robots aspirateurs font des spirales , et de temps en temps un coup de ligne droite aléatoire pour changer complètement de coin.
Ils repassent forcément aux mêmes endroits, mais l'essentiel est de finir par passer partout.

 

Regarde du côté de la spirale d'Archimède http://fr.wikipedia.org/wiki/Spirale_d'Archim%C3%A8de


Christian

#10 Taupiot_Jr

Taupiot_Jr

    Membre occasionnel

  • Membres
  • Pip
  • 232 messages
  • Gender:Male

Posté 02 novembre 2014 - 09:27

Je ne suis pas tout à fait d'accord avec ChristianR, le fonctionnement dépend des modèles.

Il y en a qui, en effet, se déplacent en spirales, d'autres qui vont aléatoirement mais aussi des systèmes qui cartographient les pièces pour les nettoyer (comme l'a mentionné Zehams plus haut).



#11 Ludovic_76

Ludovic_76

    Nouveau membre

  • Membres
  • 48 messages
  • Gender:Male
  • Location:Normandie
  • Interests:Tout

Posté 02 novembre 2014 - 11:10

Bonjour Zehams,

 

tu as le droit aussi de réfléchir autrement que ce qui existe déjà ! C'est peut être comme ça que tu peux marquer des points...

 

Par exemple,tu peux surveiller les zones parcourues par une webcam. Il est ensuite assez simple d'enregistrer les zones aspirées.

Le plus simple est de faire appel à Javascript (cf. mon post sur le sujet).

 

@++ ludovic


Cordialement,
Ludovic

http://luxcn.overblog.com

#12 Zehams

Zehams

    Nouveau membre

  • Membres
  • 7 messages

Posté 05 novembre 2014 - 03:37

Bonjour Zehams,

 

tu as le droit aussi de réfléchir autrement que ce qui existe déjà ! C'est peut être comme ça que tu peux marquer des points...

 

Par exemple,tu peux surveiller les zones parcourues par une webcam. Il est ensuite assez simple d'enregistrer les zones aspirées.

Le plus simple est de faire appel à Javascript (cf. mon post sur le sujet).

 

@++ ludovic

J'avais pensé a cela, mais je ne peux pas parce que je suis limité a un certain bugdet (25€), et donc tous ce que je rajoute au kit de base doit être comptabilisé, sachant que je dois acheter le système d'aspiration et tout, je ne peux pas me permettre de rajouter une camera..



#13 Ludovic_76

Ludovic_76

    Nouveau membre

  • Membres
  • 48 messages
  • Gender:Male
  • Location:Normandie
  • Interests:Tout

Posté 05 novembre 2014 - 04:48

J'avais pensé a cela, mais je ne peux pas parce que je suis limité a un certain bugdet (25€), et donc tous ce que je rajoute au kit de base doit être comptabilisé, sachant que je dois acheter le système d'aspiration et tout, je ne peux pas me permettre de rajouter une camera..

25€ !?! il manque pas un zero :)

la caméra ne nécessite pas d'achat, soit tu diffuses l'image avec ton smartphone qui renvoie par IP (socket) l'image au terminal soit tu en achètes une à 3€ (j'en ai acheté une à ce prix qui fonctionne très bien, on parle bien de webcam...).

Je n'ai pas précisé, mais dans l'idée, la caméra est statique (fixé sur un trépied photo par exemple) et 'regarde' la pièce à aspirer donc voit où le robot est passé.


Cordialement,
Ludovic

http://luxcn.overblog.com

#14 Zehams

Zehams

    Nouveau membre

  • Membres
  • 7 messages

Posté 06 novembre 2014 - 09:48

25€ !?! il manque pas un zero :)

la caméra ne nécessite pas d'achat, soit tu diffuses l'image avec ton smartphone qui renvoie par IP (socket) l'image au terminal soit tu en achètes une à 3€ (j'en ai acheté une à ce prix qui fonctionne très bien, on parle bien de webcam...).

Je n'ai pas précisé, mais dans l'idée, la caméra est statique (fixé sur un trépied photo par exemple) et 'regarde' la pièce à aspirer donc voit où le robot est passé.

Non non c'est bien 25€, je trouve cette méthode trop compliqué pour moi, je n'ai aucune base en programmation, c'est pour cela qu'il nous donne le programme Minibloq pour programmer.






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

0 members, 1 guests, 0 anonymous users