Table des matières:

Tondeuse à commande GPS RTK : 16 étapes
Tondeuse à commande GPS RTK : 16 étapes

Vidéo: Tondeuse à commande GPS RTK : 16 étapes

Vidéo: Tondeuse à commande GPS RTK : 16 étapes
Vidéo: Coupure tronçon Ag Open GPS - #1 Présentation 2024, Juillet
Anonim
Image
Image

Cette tondeuse robot est capable de tondre l'herbe de manière entièrement automatique sur un parcours prédéterminé. Grâce au guidage GPS RTK le parcours est reproduit à chaque tonte avec une précision meilleure que 10 centimètres.

Étape 1: PRÉSENTATION

Nous allons décrire ici un robot tondeuse capable de couper l'herbe de manière totalement automatique sur un parcours déterminé à l'avance. Grâce au guidage GPS RTK le parcours est reproduit à chaque tonte avec une précision meilleure que 10 centimètres (mon expérience). Le contrôle est basé sur une carte Aduino Mega, complétée par quelques boucliers de contrôle moteur, accéléromètres et boussole ainsi qu'une carte mémoire.

C'est une réalisation non professionnelle, mais elle m'a permis de prendre conscience des problèmes rencontrés en robotique agricole. Cette toute jeune discipline se développe rapidement, stimulée par une nouvelle législation sur la réduction des mauvaises herbes et des pesticides. Par exemple, voici un lien vers le dernier salon de la robotique agricole à Toulouse (https://www.fira-agtech.com/). Certaines entreprises comme Naio Technologies fabriquent déjà des robots opérationnels (https://www.naio-technologies.com/).

En comparaison, ma réalisation est très modeste mais elle permet néanmoins d'appréhender l'intérêt et les enjeux de manière ludique. …. Et puis ça marche vraiment ! … et peut donc être utilisé pour tondre l'herbe autour de sa maison, tout en préservant son temps libre…

Même si je ne décris pas la réalisation dans les derniers détails, les indications que je donne sont précieuses pour celui qui voudrait se lancer. N'hésitez pas à poser des questions ou à faire des suggestions, ce qui me permettra de compléter ma présentation pour le bénéfice de tous.

Je serais vraiment heureux si ce type de projet pouvait donner le goût de l'ingénierie à des personnes beaucoup plus jeunes…. afin d'être prêts pour la grande robolution qui nous attend….

De plus, ce type de projet conviendrait parfaitement à un groupe de jeunes motivés dans un club ou un fablab, pour s'exercer à travailler en groupe projet, avec des architectes mécaniques, électriques, logiciels dirigés par un ingénieur système, comme dans l'industrie.

Étape 2: SPÉCIFICATIONS PRINCIPALES

L'objectif est de réaliser un prototype de tondeuse opérationnel capable de tondre l'herbe de manière autonome sur des terrains pouvant présenter des irrégularités importantes (prairies plutôt que pelouses).

Le confinement du champ ne peut pas être basé sur une barrière physique ou une limitation de fil guide enterré comme pour les robots de tonte de pelouse. Les champs à tondre sont en effet variables et de grande surface.

Pour la barre de coupe, l'objectif est de maintenir la pousse de l'herbe à une certaine hauteur après une première tonte ou un premier brossage obtenu par un autre moyen.

Etape 3: PRESENTATION GENERALE

PRESENTATION GENERALE
PRESENTATION GENERALE
PRESENTATION GENERALE
PRESENTATION GENERALE

Le système se compose d'un robot mobile et d'une base fixe.

Sur le robot mobile on retrouve:

- Le tableau de bord

- Le boitier de contrôle général comprenant une carte mémoire.

- le joystick manuel

- Le GPS configuré en "rover" et le récepteur RTK

- 3 roues motorisées

- Moteurs à rouleaux de roues

- la barre de coupe constituée de 4 disques rotatifs portant chacun 3 lames de coupe en périphérie (largeur de coupe de 1 mètre)

- le boitier de gestion de la barre de coupe

- les piles

Dans la base fixe on retrouve le GPS configuré comme "base" ainsi que l'émetteur des corrections RTK. On note que l'antenne est placée en hauteur de manière à rayonner sur quelques centaines de mètres autour de la maison.

De plus, l'antenne GPS est en vue de tout le ciel sans aucune occultation par les bâtiments ou la végétation.

Les modes Rover et la base GPS seront décrits et expliqués dans la section GPS.

Étape 4: MODE D'EMPLOI (1/4)

MODE D'EMPLOI (1/4)
MODE D'EMPLOI (1/4)
MODE D'EMPLOI (1/4)
MODE D'EMPLOI (1/4)

Je propose de faire connaissance avec le robot à travers son manuel qui fait bien apparaître toutes ses fonctionnalités.

Description du tableau de bord:

- Un interrupteur général

- Un premier sélecteur à 3 positions permet de sélectionner les modes de fonctionnement: mode de déplacement manuel, mode d'enregistrement de trace, mode de tonte

- Un bouton poussoir sert de repère. Nous verrons ses utilisations.

- Deux autres sélecteurs à 3 positions permettent de sélectionner un numéro de dossier parmi 9. Nous avons donc 9 dossiers de tonte ou fiches de parcours pour 9 champs différents.

- Un sélecteur 3 positions est dédié au contrôle de la barre de coupe. Position OFF, position ON, position de commande programmée.

- Affichage à deux lignes

- un sélecteur 3 positions pour définir 3 affichages différents

- une LED qui indique l'état du GPS. Leds éteintes, pas de GPS. Leds clignotant lentement, GPS sans corrections RTK. LED clignotant rapidement, corrections RTK reçues. Leds allumées, verrouillage GPS sur la plus haute précision.

Enfin, le joystick dispose de deux sélecteurs à 3 positions. Le gauche contrôle la roue gauche, le droit contrôle la roue droite.

Étape 5: MODE D'EMPLOI (2/4)

Mode de fonctionnement manuel (GPS non requis)

Après avoir allumé et sélectionné ce mode avec le sélecteur de mode, la machine est commandée avec le joystick.

Les deux sélecteurs 3 positions ont un ressort de rappel qui les ramène toujours en position médiane, correspondant à l'arrêt des roues.

Lorsque les leviers gauche et droit sont poussés vers l'avant, les deux roues arrière tournent et la machine va tout droit.

Lorsque vous tirez les deux leviers vers l'arrière, la machine recule directement.

Lorsqu'un levier est poussé vers l'avant, la machine tourne autour de la roue fixe.

Lorsqu'un levier est poussé vers l'avant et l'autre vers l'arrière, la machine tourne sur elle-même en un point au milieu de l'essieu joignant les roues arrière.

La motorisation de la roue avant s'ajuste automatiquement en fonction des deux commandes placées sur les deux roues arrière.

Enfin, en mode manuel, il est également possible de tondre l'herbe. Pour cela, après avoir vérifié que personne ne se trouve à proximité des disques de coupe, nous mettons sur ON le boîtier de gestion de la barre de coupe (interrupteur "hard" pour la sécurité). Le sélecteur de coupe du tableau de bord est alors placé sur ON. A ce moment les 4 disques de la barre de coupe tournent..

Étape 6: MODE D'EMPLOI (3/4)

MODE D'EMPLOI (3/4)
MODE D'EMPLOI (3/4)

Mode d'enregistrement de piste (GPS requis)

- Avant de commencer à enregistrer une course, un point de référence arbitraire pour le terrain est défini et marqué avec un petit piquet. Ce point sera l'origine des coordonnées dans le cadre géographique (photo)

- On sélectionne ensuite le numéro de dossier dans lequel le trajet sera enregistré, grâce aux deux sélecteurs sur le tableau de bord.

- La base ON est réglée

- Vérifiez que la LED d'état du GPS se met à clignoter rapidement.

- Sortir du mode manuel en plaçant le sélecteur de mode du combiné en position d'enregistrement.

- La machine est ensuite déplacée manuellement jusqu'à la position du point de référence. C'est justement l'antenne GPS qui doit être au dessus de ce repère. Cette antenne GPS est située au dessus du point centré entre les deux roues arrière et qui est le point de rotation de la machine sur elle-même.

- Attendez que la LED d'état GPS s'allume sans clignoter. Cela indique que le GPS est à sa précision maximale (GPS "Fix").

- La position d'origine 0.0 est marquée en appuyant sur le marqueur du tableau de bord.

- Nous passons ensuite au point suivant que nous voulons cartographier. Dès qu'il est atteint, nous le signalons à l'aide du marqueur.

- Afin de terminer l'enregistrement, nous repassons en mode manuel.

Étape 7: MODE D'EMPLOI (4/4)

MODE D'EMPLOI (4/4)
MODE D'EMPLOI (4/4)

Mode de tonte (GPS requis)

Tout d'abord, vous devez préparer le fichier de points que la machine doit parcourir afin de tondre tout le champ sans laisser de surface non coupée. Pour ce faire on récupère le fichier enregistré dans la carte mémoire et à partir de ces coordonnées, en utilisant par exemple Excel, on génère une liste de points comme sur la photo. Pour chacun des points à atteindre, nous indiquons si la barre de coupe est ON ou OFF. Comme c'est la barre de coupe qui consomme le plus d'énergie (de 50 à 100 Watts selon l'herbe), il faut faire attention à mettre la barre de coupe sur OFF lors de la traversée d'un champ déjà tondu par exemple.

Au fur et à mesure de la génération de la planche de tonte, la carte mémoire est remise sur son cache dans le tiroir de commande.

Il ne reste alors plus qu'à poser SUR la base et à se rendre sur le champ de tonte, juste au dessus du repère de référence. Le sélecteur de mode est alors placé sur « Tondre ».

À ce stade, la machine attend d'elle-même que le verrouillage GPS RTK dans "Fix" remet à zéro les coordonnées et commence à tondre.

Lorsque la tonte sera terminée, elle reviendra seule au point de départ, avec une précision d'une dizaine de centimètres.

Lors de la tonte, la machine se déplace en ligne droite entre deux points consécutifs de la file de points. La largeur de coupe est de 1,1 mètre Etant donné que la machine a une largeur entre roues de 1 mètre et peut tourner autour d'une roue (voir vidéo), il est possible de réaliser des bandes de tonte adjacentes. C'est très efficace !

Étape 8: PIÈCE MÉCANIQUE

PARTIE MECANIQUE
PARTIE MECANIQUE
PARTIE MECANIQUE
PARTIE MECANIQUE
PARTIE MECANIQUE
PARTIE MECANIQUE
PARTIE MECANIQUE
PARTIE MECANIQUE

La structure du robot

Le robot est construit autour d'une structure en treillis de tubes en aluminium, ce qui lui confère une bonne rigidité. Ses dimensions sont d'environ 1,20 mètre de long, 1 mètre de large et 80 cm de haut.

Les roues

Il peut se déplacer grâce à 3 roues de vélo enfant en diamètre 20 pouces: Deux roues arrière et une roue avant similaire à la roue des chariots de supermarché (photos 1 et 2). Le mouvement relatif des deux roues arrière assure son orientation

Les moteurs à rouleaux

Du fait des irrégularités du terrain, il est nécessaire d'avoir des rapports de couple importants et donc un rapport de réduction important. Pour cela j'ai utilisé le principe du rouleau pressant sur la roue, comme sur un solex (photos 3 et 4). La forte réduction permet de maintenir la machine stable dans une pente, même lorsque la puissance du moteur est coupée. En retour, la machine avance lentement (3 mètres/minute)…mais l'herbe pousse aussi lentement….

Pour la conception mécanique j'ai utilisé le logiciel de dessin Openscad (logiciel de script très efficace). En parallèle pour les plans de détail j'ai utilisé Drawing from Openoffice.

Étape 9: RTK GPS (1/3)

GPS RTK (1/3)
GPS RTK (1/3)
GPS RTK (1/3)
GPS RTK (1/3)

GPS simple

Le simple GPS (photo 1), celui de notre voiture n'a qu'une précision de quelques mètres. Si on enregistre la position indiquée par un tel GPS maintenu fixe pendant une heure par exemple, on observera des fluctuations de plusieurs mètres. Ces fluctuations sont dues à des perturbations dans l'atmosphère et l'ionosphère, mais aussi à des erreurs dans les horloges des satellites et des erreurs dans le GPS lui-même. Il n'est donc pas adapté à notre application.

GPS RTK

Pour améliorer cette précision, deux Gps sont utilisés à une distance inférieure à 10 km (photo 2). Dans ces conditions, on peut considérer que les perturbations de l'atmosphère et de l'ionosphère sont identiques sur chaque GPS. Ainsi la différence de position entre les deux GPS n'est plus perturbée (différentiel). Si nous attachons maintenant l'un des GPS (la base) et plaçons l'autre sur un véhicule (le rover), nous obtiendrons précisément le mouvement du véhicule depuis la base sans perturbations. De plus, ces GPS effectuent une mesure du temps de vol beaucoup plus précise que le simple GPS (mesures de phase sur le porteur).

Grâce à ces améliorations, nous obtiendrons une précision de mesure centimétrique pour le mouvement du rover par rapport à la base.

C'est ce système RTK (Real Time Kinematic) que nous avons choisi d'utiliser.

Étape 10: RTK GPS (2/3)

GPS RTK (2/3)
GPS RTK (2/3)

J'ai acheté 2 circuits GPS RTK (photo 1) à la société Navspark.

Ces circuits sont montés sur un petit PCB équipé de broches au pas de 2,54 mm, qui se monte donc directement sur les plaques de test.

Le projet étant situé dans le sud-ouest de la France, j'ai choisi des circuits fonctionnant avec les constellations de satellites GPS américains ainsi que la constellation russe Glonass.

Il est important d'avoir le maximum de satellites afin de bénéficier de la meilleure précision. Dans mon cas, j'ai actuellement entre 10 et 16 satellites.

Nous devons aussi acheter

- 2 adaptateurs USB, nécessaires pour connecter le circuit GPS à un PC (tests et configuration)

- 2 antennes GPS + 2 câbles adaptateurs

- une paire d'émetteurs-récepteurs 3DR pour que la base puisse émettre ses corrections au rover et que le rover les reçoive.

Étape 11: RTK GPS (3/3)

La notice GPS présente sur le site Navspark permet de mettre en place les circuits progressivement.

navspark.mybigcommerce.com/content/NS-HP-GL-User-Guide.pdf

Sur le site de Navspark, nous trouverons également

- le logiciel à installer sur son PC Windows pour visualiser les sorties GPS et programmer les circuits en base et rover.

- Une description du format des données GPS (phrases NMEA)

Tous ces documents sont en anglais mais sont relativement faciles à comprendre. Dans un premier temps, la mise en œuvre se fait sans le moindre circuit électronique grâce aux adaptateurs USB qui assurent également toutes les alimentations électriques.

La progression est la suivante:

- Tester des circuits individuels qui fonctionnent comme un simple GPS. La vue nuageuse des ponts montre une stabilité de quelques mètres.

- Programmation d'un circuit en ROVER et l'autre en BASE

- Construire un système RTK en connectant les deux modules avec un seul fil. La vue nuageuse des ponts montre une relative stabilité ROVER/BASE de quelques centimètres !

- Remplacement du fil de liaison BASE et ROVER par les transceivers 3DR. Là encore le fonctionnement en RTK permet une stabilité de quelques centimètres. Mais cette fois BASE et ROVER ne sont plus reliés par un lien physique…..

- Remplacement de la visualisation PC par une carte Arduino programmée pour recevoir des données GPS sur une entrée série… (voir ci-dessous)

Etape 12: PARTIE ELECTRIQUE (1/2)

PARTIE ELECTRIQUE (1/2)
PARTIE ELECTRIQUE (1/2)
PARTIE ELECTRIQUE (1/2)
PARTIE ELECTRIQUE (1/2)
PARTIE ELECTRIQUE (1/2)
PARTIE ELECTRIQUE (1/2)

Le boîtier de commande électrique

La photo 1 montre les principales cartes du boîtier de commande qui seront détaillées ci-dessous.

Câblage du GPS

Le câblage GPS de la base et de la tondeuse est illustré à la Figure 2.

Ce câblage s'effectue naturellement en suivant la progression des instructions GPS (voir rubrique GPS). Dans tous les cas, il existe un adaptateur USB qui permet de programmer les circuits soit en base soit en rover grâce au logiciel PC fourni par Navspark. Grâce à ce programme, nous avons aussi toutes les informations de position, nombre de satellites, etc…

Dans la section tondeuse, la broche Tx1 du GPS est connectée à l'entrée série 19 (Rx1) de la carte ARDUINO MEGA pour recevoir les phrases NMEA.

Dans la base la broche Tx1 du GPS est envoyée à la broche Rx de la radio 3DR pour l'envoi des corrections. Dans la tondeuse les corrections reçues par la radio 3DR sont envoyées à la broche Rx2 du circuit GPS.

Il est à noter que ces corrections et leur gestion sont entièrement assurées par les circuits GPS RTK. Ainsi, la carte Aduino MEGA ne reçoit que les valeurs de position corrigées.

Etape 13: PARTIE ELECTRIQUE (2/2)

PARTIE ELECTRIQUE (2/2)
PARTIE ELECTRIQUE (2/2)
PARTIE ELECTRIQUE (2/2)
PARTIE ELECTRIQUE (2/2)
PARTIE ELECTRIQUE (2/2)
PARTIE ELECTRIQUE (2/2)

La carte Arduino MEGA et ses shields

- Carte MEGA arduino

- Blindage des moteurs de roue arrière

- Blindage moteur roue avant

- Bouclier arte SD

Sur la figure 1, on note que des connecteurs enfichables ont été placés entre les cartes afin que la chaleur dissipée dans les cartes moteur puisse s'évacuer. De plus, ces inserts permettent de couper les liens indésirables entre les cartes, sans avoir à les modifier.

Les figures 2 et 3 montrent comment les positions des inverseurs du tableau de bord et du joystick sont lues.

Étape 14: LE PROGRAMME DE CONDUITE ARDUINO

La carte microcontrôleur est une Arduino MEGA (UNO n'ayant pas assez de mémoire). Le programme de conduite est très simple et classique. J'ai développé une fonction pour chaque opération de base à effectuer (lecture du tableau de bord, acquisition de données GPS, affichage LCD, contrôle d'avance ou de rotation de la machine, etc…). Ces fonctions sont ensuite facilement utilisables dans le programme principal. La vitesse lente de la machine (3 mètres/minute) facilite grandement les choses.

Cependant, la barre de coupe n'est pas gérée par ce programme mais par le programme de la carte UNO qui se trouve dans le boîtier spécifique.

Dans la partie SETUP du programme, nous trouvons

- Initialisations des broches utiles de la carte MEGA en entrées ou sorties;

- Initialisation de l'écran LCD

- Initialisation de la carte mémoire SD

- Initialisation de la vitesse de transfert de l'interface série matérielle vers le GPS;

- Initialisation de la vitesse de transfert de l'interface série vers l'IDE;

- Arrêt des moteurs et barre de coupe

Dans la partie LOOP du programme on trouve au début

- Tableau de bord et joystick, relevés GPS, boussole et accéléromètre;

- un sélecteur à 3 fils, selon l'état du sélecteur de mode au tableau de bord (manuel, enregistrement, tonte)

La boucle LOOP est rythmée par la lecture asynchrone du GPS qui est l'étape la plus lente. On revient donc au début de la boucle environ toutes les 3 secondes.

En mode bypass normal, la fonction de mouvement est commandée selon le joystick et l'affichage est mis à jour environ toutes les 3 secondes (position, état GPS, direction de la boussole, inclinaison…). Un appui sur le marqueur BP met à zéro les coordonnées de position qui seront exprimées en mètres dans le repère géographique.

En mode sauvegarde shunt, toutes les positions mesurées pendant le déplacement sont enregistrées sur la carte SD (durée d'environ 3 secondes). Lorsqu'un point d'intérêt est atteint, l'appui sur le marqueur est enregistré. dans la carte SD. La position de la machine est affichée toutes les 3 secondes, en mètres dans le repère géographique centré sur le point d'origine.

En mode de tonte shunt: La machine a été précédemment déplacée au-dessus du point de référence. Lors du passage du sélecteur de mode sur « tonte », le programme observe les sorties GPS et notamment la valeur du drapeau d'état. Lorsque l'indicateur d'état passe à "Fix", le programme effectue la position zéro. Le premier point à atteindre est alors lu dans le fichier de tonte de la mémoire SD. Lorsque ce point est atteint, le tour de la machine s'effectue comme indiqué dans le dossier de tonte, soit autour d'une roue, soit autour du centre des deux roues.

Le processus se répète jusqu'à ce que le dernier point soit atteint (généralement le point de départ). À ce stade, le programme arrête la machine et la barre de coupe.

Etape 15: LA BARRE DE COUPE ET SA GESTION

LA BARRE DE COUPE ET SA GESTION
LA BARRE DE COUPE ET SA GESTION
LA BARRE DE COUPE ET SA GESTION
LA BARRE DE COUPE ET SA GESTION

La barre de coupe se compose de 4 disques tournant à la vitesse de 1200 tr/min. Chaque disque est équipé de 3 lames de coupe. Ces disques sont disposés de manière à former une bande de coupe continue de 1,2 mètre de large.

Les moteurs doivent être contrôlés pour limiter le courant

- au démarrage, du fait de l'inertie des disques

- lors de la coupe, à cause des blocages causés par trop d'herbe

A cet effet, le courant dans le circuit de chaque moteur est mesuré par des résistances bobinées de faible valeur. La carte UNO est câblée et programmée pour mesurer ces courants et envoyer une commande PWM adaptée aux moteurs.

Ainsi, au démarrage, la vitesse augmente progressivement jusqu'à sa valeur maximale en 10 secondes. En cas de blocage par de l'herbe, le moteur s'arrête pendant 10 secondes et réessaye pendant 2 secondes. Si le problème persiste, le cycle de repos de 10 secondes et de redémarrage de 2 secondes recommence. Dans ces conditions, l'échauffement du moteur reste limité, même en cas de blocage permanent.

Les moteurs démarrent ou s'arrêtent lorsque la carte UNO reçoit le signal du programme pilote. Cependant, un commutateur dur permet de couper l'alimentation de manière fiable pour sécuriser les opérations de service

Étape 16: QUE FAIRE ? QUELLES AMÉLIORATIONS ?

QU'EST-CE QUI DEVRAIT ÊTRE FAIT ? QUELLES AMÉLIORATIONS ?
QU'EST-CE QUI DEVRAIT ÊTRE FAIT ? QUELLES AMÉLIORATIONS ?
QU'EST-CE QUI DEVRAIT ÊTRE FAIT ? QUELLES AMÉLIORATIONS ?
QU'EST-CE QUI DEVRAIT ÊTRE FAIT ? QUELLES AMÉLIORATIONS ?

Au niveau GPS

La végétation (arbres) peut limiter le nombre de satellites en vue du véhicule et réduire la précision ou empêcher le verrouillage RTK. Il est donc dans notre intérêt d'utiliser le plus de satellites possible en même temps. Il serait donc intéressant de compléter les constellations GPS et Glonass par la constellation Galileo.

Il devrait être possible de bénéficier de plus de 20 satellites au lieu de 15 maximum, ce qui permet de s'affranchir de l'écrémage par la végétation.

Des shields Arduino RTK commencent à exister fonctionnant simultanément avec ces 3 constellations:

De plus, ces shields sont très compacts (photo 1) car ils intègrent à la fois le circuit GPS et le transceiver sur le même support.

…. Mais le prix est bien plus élevé que celui des circuits que nous utilisions

Utiliser un LIDAR pour compléter le GPS

Malheureusement, en arboriculture il arrive que le couvert végétal soit très important (champ de noisetier par exemple). Dans ce cas, même avec les 3 constellations, le verrouillage RTK peut ne pas être possible.

Il est donc nécessaire d'introduire un capteur qui permettrait de maintenir la position même en l'absence momentanée de GPS.

Il me semble (je n'en ai pas eu l'expérience) que l'utilisation d'un LIDAR pourrait remplir cette fonction. Les troncs des arbres sont très faciles à repérer dans ce cas et peuvent être utilisés pour observer la progression du robot. Le GPS reprendrait sa fonction en bout de rang, à la sortie du couvert végétal.

Un exemple de type approprié de LIDAR est le suivant (Photo2):

www.robotshop.com/eu/fr/scanner-laser-360-…

Conseillé: