Modification d'un robot de piscine?

Bonjour a tous,
J’ai une petite question légèrement en dehors du spectre home assistant.
On trouve en cherchant un peu des modifications de tondeuses autonomes et d’aspirateurs Roomba qui rendent pilotables ou intelligents ces appareils pas prévus pour a la base.
Je me posais la question de savoir si ça avait également été réalisé pour les robots aspirateurs de piscine (type dolphin) ?

Pour alimenter le sujet, sur le forum Arduino quelqu’un s’est déjà penché sur la question, et a implémenté un esp sur la carte électronique pour piloter les roues selon une tempo prédéterminée, mais sans aucune intelligence.
La manip a l’air de fonctionner pour tous les robots a 3 moteurs :

Le top serait de raccorder ça a HA pour faire varier les tempo de trajectoire selon des cycles particuliers avec pourquoi pas une cartographie sommaire du bassin a entrer au préalable, faire du on/off selon un planning… Il faudrait pour cela soit sortir le robot du bassin pour qu’il prenne sa consigne, soit qu’il dispose d’un module flottant communicant avec HA ou sur le bord du bassin.

Pour la part électronique hors HA, les autres idées qui me semblent accessibles seraient d’ajouter un petit module de pilotage sans fil pour télécommander au fond du bassin (RF avec antenne flottante ou non ?), et summum de l’upgrade : une petite batterie flottante pour se séparer du chariot et du long fil.

Il y a des motivés pour se lancer ?

J’aurais bien franchi le pas mais j’ai pas encore basculer sur l’achat d’un robot :frowning:

Mon sujet n’a pas l’air de motiver les foules :laughing:
Le pilotage des moteurs via Arduino, couplé a un gyro et un accelero doit permettre de faire une carto élémentaire.
Les robots modernes sont pilotables via le chariot avec le smartphone en filaire quand ils sont sous l’eau (compliqué pour nous), ou sinon chargent le programme de nettoyage de l’utilisateur quand ils sont en dehors de l’eau.
Cette deuxième solution est accessible pour nous, quand l’arduino communique par wifi avant d’entrer dans le bassin, via un booléen sous HA qui charge un programme déjà présent sur l’arduino, entré précédemment (une tempo d’instruction sur les moteurs des roues).

Moi, je trouve que ton sujet est intéressant :+1:, même si, comme tu le dis, ça s’éloigne un peu (un peu, seulement !) du H-A.
Etant l’heureux proprio (:roll_eyes::cry:) d’une piscine de 9x4, non couverte, avec liner, et de 2 robots successifs qui n’ont pas beaucoup accepté de survivre à mon eau salée (oui, j’ai un chlorinateur et, de ce fait, je nage en « eau de mer »), ça fait un moment que j’ai jeté quelques idées sur des modifs à créer pour passer par une « intelligence type Arduino ou ESP32 »:
- fonctionnement avec apprentissage de la géométrie du bassin
- intégration d’accéléromètre XYZ pour évaluer la position du mobile
- transmission avec la base (si base il y a, ou avec H-A) quand le robot est hors de l’eau , quand il grimpe aux murs.
- récupération par H-A de la carto (comme pour les aspirobots « de salon »)
----> avec, éventuellement, optimisation du circuit pour optimiser le travail du robot (?).

Voilà, en vrac et sans ordre, le « jus de méninges » que je te livre.
Il faudrait que je retrouve le lien d’un site d’amateurs de piscine où un gars avait essayé de remplacer le bloc « standard » (et américain…) qui équipe la majorité des robots « type Dolfin »; il avait commencé à partager son schéma et ses dev’(s) Arduino mais n’a jamais répondu à mes demandes de partages d’infos :cry:

PS: l’idée d’une batterie flottante me plait bien, car ça permet d’aller « repêcher » la bête au crochet quand elle à fini le nettoyage…ou qu’elle n’a plus de jus

PS2: Je pratique, depuis un bon moment l’impression 3D (10 ans) et la CAO (30 ans…!), et la réalisation de pièces spéciales ou modifiées ne m’effraie pas.

A suivre

@Aldous_Hx
Je relance le débat en ajoutant quelques liens (non sponsorisés !) vers des vidéos d’un bricoleur ayant re-vampé son robot à base de microproc’ Arduino à 15€ (ou ESP à 5€) pour pas cher:

→ un certain Allpassion (en 4 episodes)
https://www.youtube.com/watch?v=3k-sj8bUuJc
https://www.youtube.com/watch?v=l4xH4gVKW_s
https://www.youtube.com/watch?v=LxC9Q8qsbZs
https://www.youtube.com/watch?v=Pf8lTnT95iU

1ere étape : faire aussi bien que lui… pour 60€ !
2e étape : voir à envoyer des logs à H-A par wifi (avec un ESP si y’a pas trop d’E/S)… pour quoi faire ? sauf à te sortir de ta sieste quand il a fini :joy:
Je te laisse en apprendre autant que moi sur l’Arduino et ses mystères.
En attendant, je continue mon apprentissage (laborieux) de H-A.

…et on pourra rediscuter de l’intérêt d’une cartographie de piscine…:thinking:

La cartographie permettrait plusieurs choses :

  • Ralentir avant de taper les murs, pour préserver un peu le liner

  • Cibler une zone précise a nettoyer et y aller directement

  • Optimiser le trajet du robot avec un schéma de parcours pour raccourcir le cycle

  • Localiser les parois si par exemple on veut réaliser un nettoyage des lignes d’eau ou a l’inverse ne pas le faire du tout

Au global, ça permet au robot de ne pas rouler comme un poulet sans tête au gré des collisions en fond de bassin…

Pour le wifi sous l’eau ça n’est pas possible, ça ne passe pas, mais par contre, avec une carto élémentaire tu peux lui demander de se positionner a l’endroit qui t’arrange pour le sortir, et tu peux lui dire de monter au niveau de la ligne d’eau quand il a fini son cycle pour capter le wifi et te prévenir avant de redescendre au fond pour t’attendre !

@Aldous_Hx, j’aime bien tes ambitions sur le sujet, mais tous ces sujets super-intéressants, il va falloir les traduire en fonctionnalités « physiques » pour réaliser ça pour l’intégrer dans le prog’ de pilotage Arduino.

1: ralentir avant le mur (?) → comment ? détecteur ? sinon en ayant, au préalable, défini la « carto »… donc c’est pas le robot qui découvre son environnement mais c’est toi qui lui injecte un « plan » du bassin (avec quoi et comment ?) et lui créer un « point 0 » d’où il démarre car il ne reconnait pas lui-même ou il est, si tu le jettes n’importe où dans le bassin.

2: cibler une zone: quel est l’intérêt ? faire des économies sur le temps de cycle… il me semble que la nettoyage ne doit pas dépenser plus d’un KW à 20 cts, mais je me trompe peut-être: je n’ai jamais mis de prise connectée sur mon robot (qui ne marche plus depuis 2 ans…)

3: même remarque que ci dessus: quel est l’intérêt, autre que ta satisfaction intellectuelle ?

4: les robots « classiques » montent tous au mur et nettoient la ligne selon une tempo déclenchée par un contact à bille qui switche dès que le robot est vertical; lui faire faire un cycle « sans mur » pourra se décider à partir du panneau de commande (ou de H-A si on arrive à communiquer avec la carte de pilotage); dès qu’il est vertical, avec la tempo mise à 0, il repart dans l’autre sens et c’est réglé.

Je ne sais pas d’où te vient ton inquiétude au sujet de la fragilité du liner, mais, pour ma part, je ne m’obligerais pas à gérer 2 vitesses de déplacement pour ça… sur un robot, ce sont les roues caoutchouc qui touchent le mur en premier et ce n’est, normalement, pas un danger pour le liner.

En ce qui concerne ta remarque sur le « wifi sous-marin » :wink:, je sais bien, après quelques essais, que ça ne marche pas; c’est pour cette raison que tous les échanges avec H-A ou avec la centrale de commande (flottante ou pas) se ferait quand le robot est sur la ligne d’eau, avant de redescendre, pour envoyer les éléments du trajet enregistrés pendant la « plongée ».

Pour ma part, je me lance dans la restauration (entre beaucoup d’autres projets en cours…) de mon robot en suivant le vidéos que je t’ai partagées. j’y ajoute toutefois une puce « accéléromètre » pour détecter la position verticale et le Wifi (intégré déjà sur certains ESP) qui serviront lors des futures évolutions.

A) fonctionnement minimum avec cycle global de 3h et tempo marche AV/AR (réglable avec potar).
- avec essai pour fonctionnement sur batterie(s) flottante(s) si la puissance demandée le permet.
B) évolution avec accéléromètre.
a) - détection de position verticale pour inversion sens de marche et/ou nettoyage ligne d’eau.
b) - qui peut déboucher vers une cartographie avec enregistrement/transmission/mémorisation des déplacements
C) échange avec « base » ou H-A pour pilotage « fin »

Je ne connais pas ton niveau en développements Arduino, pour moi, ça se limite à quelques modification de programme avec mes amis des Fablabs dans lesquels je bricole (en vrac). Dis moi où tu en es et quelles priorités, dans l’ordre, tu comptes suivre.

Désolé pour le délai de réponse, j’étais pas mal occupé ces derniers temps !

1 ) je pensais à une carto rentrée au préalable, avec un point d’introduction prédeterminé du robot dans le bassin qui ne varie pas. Le robot pourrait faire un premier trajet selon x puis y pour se recaler (pour la majorité des piscines qui sont rectangulaires), avec un ralentissement bien avant la position theorique des murs (approximative car imprecision du point d’introduction) et détection de l’impact avec 2 accéléro horizontaux pour recaler sa position dans le bassin avant d’enclencher sa consigne de nettoyage.

2 et 3) Pour le ciblage et le cycle optimisé, ce n’est pas vraiment pour une question d’économie. Mon robot consomme 150 à 200W, ce n’est pas énorme, mais on ne se baigne pas quand le robot est branché dans le bassin, le nettoyage complet peut être plutôt long, et quand il y a par exemple une zone de bassin sous un arbre ça permet de déterminer la zone unique a nettoyer pour permettre de retourner rapidement à la baignade après. Ça permet également de nettoyer uniquement des zones sans circulation, proche des volets ou sous les buses par exemple, où il y a des dépôts ou facilement de la prolifération d’algues : le reste du bassin ne nécessite pas de nettoyage et laisser le robot errer jusqu’à nettoyer la petite zone peut prendre du temps.
Ça permettrait également de faire un mur virtuel par exemple pour les bassins avec plage, pour éviter que le robot ne soit plus immergé.

4 ) Je ne savais pas, c’est intéressant !

Pour l’impact sur le liner je n’ai pas d’avis pour sa solidité, mais le robot ne doit pas être trop friand des chocs à pleine vitesse, même si elle n’est pas folle.

Pour la communication de robot, la carto a également un intérêt pour cette raison, il peut trouver le morceau de mur en haut duquel il sait que le récepteur le verra quand il enverra son message. Il pourra également si son filtre est trop rempli pour monter a la paroi se positionner à un endroit du bassin prédeterminé pour être facilement remontable.

Pour mon experience en arduino c’est proche du néant, je ne fais que singer des montages déjà existants par manque de temps pour m’y investir plus…