[ Projet ] tondeuse RTK DIY

@Fmaestre69 bonsoir, pourrais tu me faire un petit retour sur les AprilTags, ça m’a l’air vraiment super comme truc, et surtout un système complémentaire voir qui remplacer le gps RTK. Pour le moment mon rpi4 que j’ai dédier à la tondeuse est sur le système ROS2, mais un peu trop complexe pour moi je cherche donc encore quel système y installer et j’ai des vue sur un proxy MAVlink pour faire le lien avec la station au sol, penses tu que ce soi réalisable?

Je cherche aussi à voir si on peu récupérer la télémétrie de MAVLink et la balancer en MQTT ou même envoyer des donnée/ordres via ce même protocole.

J’avais zapper mais voici ce que j’ai trouver qui ressemble fortement aux apriltags: idem AprilTag avec système ROS

1 « J'aime »

Aller encore une petite journée bien remplie avec le câblage d’une grosse partie de l’électronique, je peux vous assurer que ce n’est vraiment évident surtout les toutes petites prises de la carte de contrôle!! J’ai cru m’arracher les cheveux tellement c’est microscopique et c’est sûrement ce qui m’a pris le plus de temps!!!

Je commence par le plus simple: l’alimentation

  • J’ai du dessouder la prise mâle XT60 pour souder directement les fils en 6mm2 sur le l’ESC 4en1
  • cette prise je l’ai réutilisé pour la souder au bout de l’accu.
  • Sur la sortie du contrôleur de batterie j’en ai profiter pour y souder une alimentation BEC de 7A ( il se chargera d’alimenter le rpi4 ainsi que le rail des servos ).

Ensuite les moteurs la il faut avoir un bon gros fer à souder genre 80W minimum!! Par ce que les Pads sont vraiment énorme, et puis pareil l’alim sur l’ESC demande une bonne puissance.
Pour les moteurs j’ai utilisé du bon 3G 2,5 souple, mais pour le moteur de coupe il faudra sûrement prévoir du 6mm2

Ensuite pour l’électronique j’ai opter pour fixer la carte et un maximum de composant sur le couvercle de la boîte de dérivation car en cas de besoin il n’y a que quelques cable à débrancher pour travailler tranquillement dessus ou même ne serait ce que pour la programmer. J’ai passer un maximum de petits fils sous le support de la carte sinon ça ferais un gros sac de noeud. Et puis au moins ça sépare la puissance de la commande.

c’est vraiment ultra petit et TRÈS fragile!! et là un simple 30 voir 15w est suffisant.

Il me reste encore à câbler le lidar 360, le rpi qui va me prendre la place aussi. Le lidar je doit modifier la micro prise.

Une petite vue d’ensemble une fois fermé:

Je passe en programmation ce soir si je peu j’espère que ce ne serra qu’une simple formalité mais j’ai des doutes :sweat_smile:

3 « J'aime »

Hello
Super Boulot :+1::+1:

Bon hier j’ai commencer a programmer la bête, pas evident du tout car il y a vraiment beaucoup de chose a voir. Et les premiers tour de roues ne seront pas fait de suite…

pour programmer vous aurez besoin de 2 logiciels car l’un est plus facile pour ce qui est de la programmation de la carte de controle et le second aura plus de parametres pour affiner, il faudra donc gongler entre les 2.

*1 le firmware: choisir Rover:
le logiciel que je recommande pour installer le bon firmware est Mission Planner ( ne fonctionne que sous windows/android/Ios) , ce serra aussi celui qui permettra d’établir votre plan de route, mais pour ce qui est des paramètres il est moins userfriendly.

*2 la calibration: Pour la calibration des compas, accéléromètre et Télécommande je conseille Qgroundcontrol dispo sur tous les OS.
!!! ATTENTION !!! je vous conseille de faire tout ca la carte demontée du rover car plus simple

*3 les ports série: Alors ils sont aux nombre de 5 sur les pixhawks, il faudra leur dédié une fonction ainsi que les débits de transmition:
- uart 0port USB: on touche a rien il est dédié a la console
- uart1 Télem1: MAVLink2/baud 115200 => raccorder le lidar360 ou un dongle bluetooth/wifi ( il peu fournir 1A)
- uart2 Télem2: MAVLink2/baud 921600 => raccorder le rpi4 ( mais surtout pas l’alimenter )
- uart3 GPS: GPS/baud 115200 => raccorder le GPS
- uart4 : MAVLink2/baud 921600 => raccorder le dongle WIFI
- uart5 : Télémetrie ESC/baud 115200 => raccorder la sortié TLM des ESC
!!!ATTENTION!!! si vous avez plusieurs ESCs avec sortie TLM vous devrez raccordez TOUS les cables ensemble sur le pin RX et ajouter une option HALFDUPLEX pour le moment j’ai des soucis de communications avec l’esc donc je travaille dessus

** 4 les sorties servos:*
Alors la attention, beaucoup de fonctions disponible, je travaille aussi dessus car pour les ESC qui possèdes le firmware BLHELI32 ( ne prenez que ceux qui sont compatible!!! ), il est possible en plus de la télémétrie de récupérer quelques infos supplémentaire pour chaque moteurs, et pour ce faire il faudra activer le mode DSHOT et autorisé le passtrough sur ces sorties de servos.
Les seuls ports compatibles ( pour les anciens pixhawk ) sont les ports AUX 2 à AUX6 ( qui correspondent au sorties 10/11/12/13/14 ) vous pourrez aussi y ajouter un capteur de tour de roue ( a effet hall ) a ce moment la ces sorties ( AUX UNIQUEMENT ) devront être configuré en GPIO donc si on compte bien nous pouvons avoir au moins 2 capteur si 4 moteurs. sur les nouveaux pixhawk il me semble que tous les port servos sont compatible en GPIO mais a confirmer. cependant il est surement possible de pouvoir ajouter un esp ou un arduino voir peut être le rpi pour récupérer ses infos. donc a voir…
je mettrais plus de détails sur tous ça car je n’ai pas encore tous les paramètres.
J’ai aussi prévu d’y ajouter des leds pour les phares/vision nocturne/gyrophare etc… pareil il existe une fonction NEOPIXEL donc ça présage pas mal de fantaisies.

pour le moment je termine de taffer sur ces sorties et la communication avec l’esc.

Pour la planification de la route Mission Planner est vraiment très simple d’utilisation, lorsque vous êtes sur plan:
clic droit sur la carte, choisir Draw polygone et tracez votre aire de tonte
clic droit sur la carte, choisir AUTO WP, et sélectionnez simple grid. une autre fenêtre apparait donnez lui vos dimensions et espaces entre chaque bande et altitude (0)
voici ce que cela donne en 5minutes!!:

donc ca présage une fois de plus un truc nikel sans se prendre trop la tête!!

allez je continue j’ai encore le lidar câbler, le rpi a câbler avec sa webcam, terminer la programmation et trouver un moyen de fixer correctement le moteur de lame; et ce serra fin prêt pour un premier test.

j’attend aussi un petit retour et voir comment intégrer les AprilTag car je suis sur que cela peu ajouter une fonction pour éviter certaines zone ou meme faire des « patern ». ou meme des dessins ^_^!! mouahahahah

PS: prévoir un câble USB connecter a la carte lorsque vous aurez fermé votre boite qui contient tout ça, cela évitera de devoir tout démonter le temps de programmer.

Bonjour tout le monde, bon j’ai rencontré un petit soucis avec la carte de vol qui a fumée ( j’ai coincer 2 fils en refermant la boîte ).
Bon heureusement rien d’autre mais ça retarde de quelques jours/semaine les premiers essais concret. J’ai réussi à trouver un autre pixhawk mais je doit refaire les connections car les prises sont dans un format différent ( jst gh).
En attendant j’ai chercher comment je pouvais optimiser un peu tout ça car mine de rien ça fait pas mal d’électronique à embarquer dans la machine, et il se trouve que j’ai peut être trouver un moyen d’utiliser un vieux téléphone android comme compagnon à la carte de vol.

Il y aurais de nombreux avantage à utiliser un smartphone:

  • plus puissant qu’un rpi
  • plus compact
  • streaming de la vidéo/données de navigations
  • possibilité d’augmenter le rayon d’action via la 4G
  • réception directe des donnees NTRIP ( via centipede ) et donc permettrai de ne pas avoir besoin d’installer une antenne RTK.

Donc pour pouvoir faire tout ça, vous aurez besoin d’installer l’application Andruav
Plus de détail d’ici quelques jours le temp que je trouve comment le faire fonctionner mais déjà c’est assez prometteur.

Tutoriel de mise en place de arduav ici:
https://cloud.ardupilot.org/andruav-index.html

2 « J'aime »

Hello,

Joli projet !

Pour le RTK, j’ai fixé Mission Planner donc l’injection depuis Centipède fonctionne maintenant. Il y a toujours possibilité d’utiliser d’autres casters gratuit comme rtk2go.

Pour la calibration compass, il faut la faire dans le système monté ! SInon ça ne fonctionne pas !

Bonjour tout le monde, bon après pas mal de déboire avec la carte de vol, j’ai carrément pris une autre version car celle que j’avais était plus suivie par le fabriquant, impossible à mettre en bootloader pour remettre un firmware récent.
Bref j’ai trouver un pixhawk 5X pour que dalle, le système de brochage est toujours en JST GH donc fiable mais fait que je refasse tout le câblage.

L’autre soucis était la communication à distance pour le parametrage/mise à jour/lancer des missions en direct via wifi car sinon obliger à chaque fois de démonter le tout et raccorder à un PC…. j’ai donc installer BlueOS ce matin sur un rpi qui sert de compagnon et permet donc pas mal de chose, vous aurez même droit à un « cockpit » de pilotage. Pour peu que vous y installez une rpicam vous aurez droit a l’affichage de la télémétrie. Toujours est il que maintenant vous n’aurez besoin de mission planner ou QGroundControl juste le temp de programmer la mission ( mais je crois qu’une extension existe sur BlueOS pour éditer les missions en directe )

J’ai voulu tester avec un vieux téléphone android comme compagnon mais ça demande bien trop de bidouille pour être accessible à tout le monde.

Maintenant je doit refaire le coffret de toute l’électronique embarquée et le câblage pour pouvoir continuer.

Pour les infos sur BlueOS c’est ici que ça se passe:
Blueos

@khancyr oui le rtk c’est tiptop, perso je vais me faire ma propre base rtk, mais ce serra plus tard, du coup tu doit avoir une bonne précision sur les parcours.

2 « J'aime »

Bien joué !
Une petite video pour bientôt ?

A noter que BlueRobotics vend aussi la carte navigator qui est une extension pour la Raspberry Pi qui permet de faire tourner directement ArduPilot (ou autre chose) donc c’est un gain en intégration ! https://bluerobotics.com/store/comm-control-power/control/navigator/

Pour la partie mission, on a un travail en cours, très experimental pour l’instant, pour faire une nouvelle IHM dédiée aux tondeuses : gestion de zone, calcul du % de couverture, caclul du % coupé, etc . On devrait avoir un quelque chose fonctionnel d’ici début d’année prochaine je dirais

@khancyr cool pour l’IHM, ça me dirais bien de tester si t’as un lien du projet , sinon oui pour la carte bluerobotic mais vu le prix de la carte…… même une petite carte de vol compatible coûterais 4X moins cher. Les Holybrow kakute F7 et H7 ferais l’affaire, j’en ai vu sur des drone d’occasion sur LBC.

La vidéo heu……. Pas maintenant :sweat_smile: je dirais si tout se passe bien d’ici la fin des vacances car le plus long serra de souder ces tout petits fils…. Je mettrais ici de toute façon :slight_smile:

GitHub - yuri-rage/yard-pilot: Path planning companion for ArduPilot's Mission Planner mais comme dit, c’est trés expériemental pour l’instant.

N’hésite pas à faire des retours sur le discuss d’ArduPilot, il y a une bonne communauté pour les tondeuse à priori.

Autre chose sympa qui peux te servir : le mode docking pour garer ta tondeuse automatiquement ! (et faire une charge batterie si tu sais faire le bon setup) : Dock Mode — Rover documentation . Il devrait y a voir une version plus simple sans camera bientot.

Ah oui donc du coup presque le plus simple serait de faire carrément une extension pour blueos, car il s’y prête vraiment et on a accès à tous les paramètres essentiels, il ne manquerais que cette partie de missions mais pas pu tester encore tous ça.

Salut la Team,

Tjrs aussi intéressant ce topic, c’est techniquement cool à suivre !

Pour infos j’ai acheté un YardForce Classic 500B en promo à 237€ il y a environ 1 mois, je le ferai evoluer avec un GPS RTK cet hiver en me basant sur le projet OpenMower qui me semble avoir du potentiel pour la suite.

Il y a pas mal de discussion pour adapter ce projet aux autres robots mais rien d’abouti pour le moment. Ce projet me fait donc penser à une évolution un peu à la manière de Klipper pour les imprimantes 3D.

Oui le rtk est bien sauf que pour la base il vaut mieux avoir une bonne antenne multifrequence qui est bien plus efficace de ce type:

Et surtout ne pas être tenter de la fixer sur un mât d’antenne trop long mais plutôt sur un plot béton ou un truc ou l’ont est sur qu’il ne bouge/vibre pas.

1 « J'aime »

Franchement, pour un robot tondeuse de jardin un kit rtk de base est suffisant. Ou du Ntrip avec centipede ou rtk2go, ça le fait.

Il me semble que le dev principale d’OpenMonwer est français, je l’ai vu traîner sur Dealabs.

Sinon je suis en train de decoder le protocole de chez Hookii qui fonctionne bien mais dont l’UI est nul… Je ne tiens pas l’ouvrir mais je suis quasi sur qu’il tourne sous ROS1 et a au moins un port serie accessible donc ça peut faire une bonne base de départ pour un projet

le dev d’openmower n’est pas français par contre il y a une petite commu assez active.
Et pas mal de chose apportés par des dev français.

Pour la version la moins chère (mowgli) il y a un bon tuto de arminastv:

Je tourne avec depuis 2ans c’est top!

Oui mais dans ma zone je n’ai pas de rtk2go ou centipede. C’est pour ça que j’ai fait ma propre baseGNSS, je vais faire un caster sur les 2 comme ça je comblerai le trou de cette zone. J’ai implanté mon antenne sur tuile à douille, le chapeau est de travers mais l’antenne est de niveaux, je ne penses pas que ça bouge, j’ai prévus la « goutte d’eau » sur le cheminement du câble mais il faut que je fasse une étanchéité au niveau de la traversée de pare pluie.

@Neuvidor j’ai vu passer ce projet, et vu que mon avancée est très lente il est possible que je parte sur ce genre de modification à base de tondeuse hs.

J’ai tenter de faire une mise en route du rpi avec leur image mais ce fut un échec…. Je vais re essayer mais je crois bien qu’il faut avoir une carte flasher avec mowgly.

En revanche j’ai envoyer un mail au créateur du projet en expliquant que blueos est sûrement une solution beaucoups plus pratique car fonctionne avec un système d’extension ( ou plugins ).

Comme ils ont déjà fait le gros du taff ( firmware, slic3r dériver pour du guidage ), il ne suffirait « que » à créer des extensions pour être directement pris en charge par l’OS. Sachant que ce dernier comprend déjà une extension ROS noetic.

Il faudrait sûrement ferrailler l’extension cockpit pour être en accord avec les tondeuses.

Car il faut bien l’avouer Blueos est réellement bien foutu car on a accès à toutes les infos.

Et peut être faire une autre extension par rapport à home assistant afin d’avoir une petite remontée.

Je suis sur et certains que ça le ferais en liant les 2.

Bonjour, bon j’avance petit à petit, j’ai quasiment tout câbler, et je rencontrais un problème avec ma radio.

Du coup j’ai chercher à la remplacer par une manette de PS3 en Bluetooth, j’ai trouver quelques librairies pour interagir avec elle et pouvoir piloter la tondeuse, je me suis aider de « GPT » pour lier les 2 librairies.

Pour le moment ce n’est qu’un test car il faut attribuer chaque bouton/joystick à un canal ou une fonction sur gamepad lui même. Donc ce que j’ai réussi à faire:

  • appairer la sixaxis avec l’esp32
  • Sortir un signal ppm de 4 canaux ( limité à 8 il me semble avec cette bibliothèque )
  • Activer/desactiver une fonction débug sur l’esp pour diminuer la latence et être sûr que tout fonctionne
  • Interagir avec les leds de la manette pour indiquer dans quel mode de pilotage on se trouve ( manuel/auto/dock/etc…)

Il me reste à tester en réel donc câbler sur le pixhawk afin de voir si il me détecte les signaux correctement.

Sinon pour la tondeuse en elle même il y a encore une évolution car le ls firmwares BLHeli32 on tout simplement été supprimer du net car la société a mis la clef sous la porte suite à la guerre en Ukraine ……
Donc je reste avec ce que j’ai mais pour les suivant il faudra passer sur AM32 ( je modifierais le premier post que j’ai fait)

Bonjour tout le monde, bon j’ai craqué :sweat_smile:, trouver sur LBC une yardforce pour pièce vraiment pas chère, du coup je vais démonté toute l’électronique car apparement l’ancien propriétaire avais des soucis depuis le début mais yardforce n’a pas voulu faire marcher la garantie……

Bref je vais tout installer dedans car il me fallais vraiment de quoi tout fixer correctement car pas possible de calibrer les IMU du pixhawk et du gps.

Donc voilà ce que j’ai prévu pour le moment:

  • châssis yardforce 900eco
  • Rpi4 4Go avec blueOS installé
  • Carte de contrôle PIXHAWK 5X ( firmware ardurover )
  • Esc 4 en 1 holybro BLHeli32 ( passage en AM32 dès que possible )
  • GPS 1: HERE4 en CANbus
  • GPS 2: HERE3 en CANBus ( pour le baseline)
  • Lidar360: Rpilidar A1
  • Batterie visseuse en 18v 4Ah ( 5S ) en attendant de passer en lipo 6s avec BMS en CANbus

Alors par contre je vais tester un peu plus tard le Here4 en mode carte de vol ( oui oui vous avez bien lu ), car ce gps permettrai non seulement de faire gps rtk mais en plus de pouvoir faire office de contrôleur de vol et donc de minimiser les coût mais une simplification pure et simple de hardware nécessaire. Mais ça j’y viendrais plus tard.

La suite je l’espère d’ici quelques jours le temp de la réception du châssis.

2 « J'aime »

Comme le sujet m’intéresse mais que je ne connais pas grand chose de ces cartes, j’ai collé ta liste dans chatGPT pour voir, je suis intéressé par ton retour concernant la réponse de celui-ci :

Réponse de ChatGPT

Voici à quoi sert chaque élément dans ce montage DIY :

  1. Châssis Yardforce 900eco : C’est probablement le châssis d’une tondeuse robotique Yardforce 900eco. Ce châssis sert de base pour le montage et permet de déplacer le robot de manière autonome. Il inclut les roues et le cadre, supportant tous les autres composants.

  2. Raspberry Pi 4 (Rpi4) 4Go avec BlueOS : Le Raspberry Pi 4 est un micro-ordinateur qui sert de cerveau au robot. Avec BlueOS, un système d’exploitation optimisé pour les applications robotiques, il permet de contrôler l’ensemble du système et de gérer les communications entre les différents composants.

  3. Carte de contrôle PIXHAWK 5X (firmware Ardurover) : Cette carte de contrôle est utilisée pour la navigation autonome. Le firmware Ardurover est spécialisé dans la gestion des véhicules terrestres autonomes, permettant la stabilisation, la navigation et le contrôle des moteurs.

  4. ESC 4 en 1 Holybro BLHeli32 : Cet ESC (Electronic Speed Controller) régule la vitesse des moteurs. Avec le firmware BLHeli32, il offre un contrôle précis des moteurs, notamment pour les systèmes multicoptères ou, dans ce cas, pour une plateforme terrestre. Le passage en AM32 est prévu pour offrir une compatibilité améliorée avec certains moteurs et protocoles.

  5. GPS 1: HERE4 en CANBus et GPS 2: HERE3 en CANBus (pour le baseline) : Ces deux modules GPS fournissent des données de positionnement précises. Le HERE4 et le HERE3 sont des GPS avancés qui utilisent le CANBus pour des communications rapides et fiables. L’utilisation de deux GPS permet de créer une solution RTK (Real-Time Kinematic) pour une position extrêmement précise, avec le HERE3 servant de référence (baseline).

  6. Lidar360: RpiLidar A1 : Ce Lidar (Light Detection and Ranging) est utilisé pour la détection et la cartographie de l’environnement en 360 degrés. Il permet au robot de détecter des obstacles et d’éviter les collisions en scannant son environnement.

  7. Batterie visseuse en 18v 4Ah (5S) et passage prévu à une LiPo 6S avec BMS en CANbus : La batterie actuelle est celle d’une visseuse, utilisée pour alimenter le robot en électricité. Elle est en 18V, 4Ah (soit environ 5 cellules, ou 5S). Le passage à une batterie LiPo (Lithium Polymère) en 6S (22.2V) avec un BMS (Battery Management System) en CANBus est prévu pour offrir une meilleure autonomie, une gestion intelligente de la batterie et des communications optimisées via le CANBus.

Chaque élément est choisi pour fournir un contrôle, une autonomie et une précision de positionnement de haute qualité, permettant au robot de naviguer et de détecter son environnement de manière autonome.

1 « J'aime »