Réalisation d'un aspirateur avec un Raspberry Pi

Piloter un aspirateur autonome ou une tondeuse baladeuse... Pourquoi pas avec un Raspberry Pi ?

Modérateur : Francois

Répondre
Q-rpi
Messages : 6
Enregistré le : ven. 11 févr. 2022 15:32

Réalisation d'un aspirateur avec un Raspberry Pi

Message par Q-rpi » lun. 14 févr. 2022 13:44

Salut à tous !

Je voudrais réaliser un projet d'aspirateur robotisé. Qui remplirait les fonctionnalités d'un ROOMBA par exemple :D . J'ai de bonnes bases en python et sur le R-Pi. Mais coté électronique.... :oops: Je pense un peu savoir quoi acheter mais comment assemblé et tout cela... Je ne sais pas quoi faire...

Merci d'avance

piper
Raspinaute
Messages : 641
Enregistré le : sam. 5 juin 2021 18:57

Re: Réalisation d'un aspirateur avec un Raspberry Pi

Message par piper » jeu. 17 févr. 2022 00:35

Bonjour,
Pour moi, le plus dur dans ton projet serait le choix du moteur d'aspirateur, et le design du boitier qui engloberait tout ça avec les conduits d'évacuation et de stockage.
Pour le reste, tu as besoin de créer un robot autonome.

Pour cela, il existe des sondes de mesures de distances (ultra-son) à toi de faire l'algorithme qui va bien (quand décider de changer de direction, essayer de contourner un obstacle par la gauche en priorité ? ou par la droite ? et le cheminement pour faire toute la pièce.)
Le changement de direction peut-être par exemple par inversion du sens de rotation d'un moteur d'un côté (comme un char d'assaut) .

Les périphériques qu'on utilise sur Raspberry ont énormément de point commun avec celles du monde arduino, ce sont très souvent les mêmes (sauf cas de limitation de tension des entrées/sorties)
Hors il existe des kits de voitures robots sur Arduino. Parmi eux, certains kits sont fournis avec un certains nombres de sondes, un tutoriel et les codes sources pour réaliser chaque expérience. Ces kits sont destinés aux adolescents et aux adultes, ils permettent, par l'expérience d'apprendre beaucoup de chose sur les modèles réduits autonomes (j'en un tel kit et je ne suis plus du tout un adolescent !!). Même si le langage est différent (ce ne sera pas du python) les sondes sont les mêmes ainsi que la logique algorithmique.
Je commencerai par m'en acheter un, et apprendre en réalisant chaque expérience. En plus, on apprend en s'amusant.

Une fois fait, tu sauras quelles sondes utiliser , quand et comment faire tourner ton robot, construire ton algorithme. L'idéal serait de trouver un kit basé sur un Raspberry Zero codé en python mais je ne sais pas s'ils existent.
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Q-rpi
Messages : 6
Enregistré le : ven. 11 févr. 2022 15:32

Re: Réalisation d'un aspirateur avec un Raspberry Pi

Message par Q-rpi » mar. 22 févr. 2022 09:30

Salut,
Merci beaucoup pour tout cela. Je patiente jusqu'à l'arrivé de ma Framboise et je commencerait tout cela. :)

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Réalisation d'un aspirateur avec un Raspberry Pi

Message par Artemus24 » dim. 27 févr. 2022 03:38

Salut à tous.

A l'inverse de Piper, pour moi, le plus compliqué est de trouver l'algorithme qui va analyser le terrain et d'optimiser par apprentissage le chemin à suivre.
Ce n'est pas une marche aléatoire, car ton "aspi-bot" (je viens de l'inventer) doit être capable de revenir à son point de départ.
Il doit balayer (si je peux m'exprimer ainsi) tout le terrain en faisant en sorte de passer partout et de mémoriser les obstacles.

Il y a fort longtemps, avec les livres de Rodnay Zack, entre autre l'apprentissage du langage pascal, il y avait la fameux "TURTLE".
Celle-ci se déplaçait dans un cadrillage (un tableau à deux dimensions) et conservait la trace de son passage.
Pour le changement de direction, cela se faisait en fonction des obstacles, mais aussi en adoptant un sens de circulation.

Par exemple pour sortir d'un labyrinthe, il n'est pas suffisant de suivre le mur par la droite ou par la gauche.
Par ce procédé, on peut tout simplement tourner en rond.

L'idée serait d'aller toujours tout droit jusqu'à un obstacle, puis de changer de direction sans revenir sur le trajet déjà effectué.
Ne jamais repasser deux fois au même endroit, mais optimiser le chemin à suivre.

Comment contourner l'obstacle ?
On peut tourner autour de l'obstacle afin d'identifier ses limites. Par exemple un pied de chaise. Ou encore un mur.
Mais que se passe-t-il si tu dois rebrousser chemin ? Autrement dit revenir sur tes pas.
Cela se nomme une impasse et devient un chemin interdit que l'on doit mémoriser.

Autre problème, est le nombre de passage que tu dois faire ?

Cordialement.
Artemus24.
@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

piper
Raspinaute
Messages : 641
Enregistré le : sam. 5 juin 2021 18:57

Re: Réalisation d'un aspirateur avec un Raspberry Pi

Message par piper » mar. 24 mai 2022 01:12

Il va y avoir des situations où tu devras repasser 2 fois au même endroit.
L'idée est de minimiser ces cas.

Pour cela, tu peux commencer par imaginer la surface à couvrir comme étant un grand échiquier.
Un GPS ne serait pas assez précis et en intérieur, il ne servirait pas à grand chose.
Alors tu peux voir les choses ainsi : on passe d'une case à une autre en se déplaçant de xx cm que soit tu mesures, soit, tu compte le temps de roulement dans une même direction (si les roues ne patinent pas et qu'un obstacle ne nous bloque pas).

Ensuite, ne reste plus qu'un algo pour parcourir toutes les cases sachant que certaines sont inaccessibles à cause de la présence d'obstacles et que tu découvre au fur et à mesure les plus grandes distances à parcourir
Le problème devient comme celui du jardinier qui passe la tondeuse à gazon sans connaitre à l'avance la superficie totale de son jardin.

Pour le résoudre : dessine un quadrillage tout blanc 8x8, demande toi comme à la main passer sur toutes les cases. Puis ajoute une case noir et adapte ton idée pour que ça fonctionne, puis une autre case et revérifies jusqu'à ce que tous les cas possibles soient couverts. Là, il ne restera plus qu'à trouver comment identifier une case
Ex : si mes détecteurs ultra-soniques disent que je n'ai aucun obstacle sur les 10 prochains centimètres, c'est que j'ai une case vide devant moi et j'avance en comptant le temps (donc la distance) que je parcours.
Tu peux aussi utiliser un gyroscope : ça mettra un peu de sciences physiques et de maths dans le schmilblick (principe fondamentale de la dynamique et une équation différentielle du second ordre basique) car si tu connais ta position initiale et le vecteur accélération à chaque instant depuis ton début de ton déplacement alors tu connais ta nouvelle position. Ca tombe, il existe des algos publiés pour ça.
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Répondre

Retourner vers « Robots and Co »