Echec de la semaine: Comment ne pas construire votre propre station de base DGPS – Achat robot tondeuse

Le GPS est la réponse moderne à l’ancienne question sur la place qu’on occupe dans le monde, mais il a ses limites. Cela dépend du temps de vol des signaux radio émis par les satellites vingt mille kilomètres au-dessus de vous. Comme tout système impliquant de grandes distances et de grandes vitesses, ceci pose certains problèmes pour des mesures précises qui limitent la précision possible. En d'autres termes: le fait que les positions GPS ont tendance à être éloignées de quelques mètres est enraciné dans le principe de fonctionnement sous-jacent.

Le niveau de précision d’aujourd’hui était pratiquement inatteignable il ya quelques décennies à peine et nous l’atteignons avec un appareil de poche en quelques secondes à peine. Incroyable! Pourtant, les poteaux d’objectif continuent de bouger et les gens s’efforcent de supprimer l’erreur restante. La solution s'appelle GPS différentiel ou «DGPS» et son concept est étonnamment simple.

Ce qui est fascinant, c’est que vous pouvez utiliser un GPS pour mesurer avec précision l’erreur d’un autre GPS. Cela est dû au fait que l'erreur inhérente à un repère GPS est connue pour être constante localement. Deux récepteurs juxtaposés captent les signaux qui ont été affectés de la même manière et doivent donc calculer des positions erronées identiques. Cela est vrai pour des distances allant jusqu'à plusieurs kilomètres entre récepteurs individuels. Donc, pour éliminer cette erreur, vous avez simplement besoin d’un récepteur GPS situé dans un emplacement connu, afin de mesurer la déviation actuelle et de transmettre les informations de correction à d’autres unités. Le DGPS ne fait que cela, en utilisant soit la radio terrestre dans certaines régions, soit les satellites dans d’autres. Les solutions mobiles existent également.

Ainsi, un Raspi avec un dongle GPS USB dans un emplacement connu devrait pouvoir servir de station de base DGPS sur IP, n'est-ce pas? En théorie, oui. En pratique… échoue.

Configuration de la station de base

Voici à quoi ressemble une station DGPS homebrew

Le matériel pour un système DGPS complet est plutôt minimal et abordable. Beaucoup des articles nécessaires que vous avez probablement déjà sous la main.

Une station de base n’est rien d’autre qu’un ordinateur connecté à Internet et un module GPS. Dans ce cas, j'utilise un Raspberry Pi de la corbeille à pièces. J'ai connecté un dongle de récepteur GPS USB à l'aide d'une extension USB de cinq mètres. L’important est de l’installer dans un emplacement connu, une tâche que vous pouvez louer, mais c’est plus amusant de rouler vous-même et j’y viendrai dans une minute.

Pour le matériel de réception, j'avais pour objectif de fournir un positionnement initial précis pour les téléphones intelligents dans le cadre d'un projet de réalité augmentée. Comme je n'y suis pas tout à fait parvenu, j'ai remplacé l'application Android par un netbook et un GPS de poche.

Les premières étapes consistaient à trouver un emplacement approprié pour la station de réception et à tout protéger des intempéries. La cabane de barbecue dans ma cour a fourni un abri pour le raspi et même de l'électricité. Le dongle GPS a été zippé sur une longueur de bambou et couvert dans un sac en plastique. Le câble trop long avait beaucoup de mou, donc la pluie coulait le long de la surface avant d’atteindre l’ordinateur.

Le logiciel

L'installation et la lecture de la sortie du dongle se font sans effort avec charme sous Linux. L'interface est série sur USB et le protocole est un texte standard NMEA 0183. Pour que cela fonctionne, il ne m'a fallu que de désactiver l'écho pour le port concerné, puis de lire tout ce qui sortait du dongle. NMEA 0183 est une norme bien documentée et suffisamment lisible par l'homme. Pour rendre les choses encore plus faciles, les bibliothèques Python permettant de traiter les données NMEA et géospatiales existent et fonctionnent très bien.

Comme mentionné, connaître l'emplacement exact de votre station de base est essentiel pour ce projet. Il y a plusieurs façons de l'obtenir. Vous pouvez engager un géomètre pour mesurer avec précision l'emplacement de votre antenne ou pour obtenir une carte suffisamment précise de votre site. Vous pouvez également recourir à la force brutale: en supposant que l’erreur GPS soit uniformément répartie dans le temps, il suffit de consigner un nombre suffisant de positions et de faire la moyenne de celles-ci pour obtenir le bon emplacement. J'ai donc commencé à écrire les corrections GPS dans un fichier et à laisser l'installation reposer pendant quatre jours. Cela m'a fourni plus de 70 000 correctifs qui ont été intégrés à un script Python pour le nettoyage et la moyenne. Les recoupements avec OpenStreetMap ont mis le résultat dans mon arrière-cour et au-dessus du niveau de la mer, donc j'étais confiant.

Il ne restait plus qu'à créer un script qui écoutait en permanence le GPS et soustrayait la position connue pour obtenir l'erreur actuelle et un second pour transmettre les informations au Web. Encore une fois, Python rend cela facile et maintenant j'ai ce que vous pourriez appeler une balise d'erreur.

Matériel et logiciel client

Les deux récepteurs GPS utilisés. Notez le câble USB fait maison pour la main. Ignorer les taches sur la table.

La plateforme cible initialement destinée au client était Android. C’est un environnement que je ne connais pas bien. Après avoir lu la documentation sur les services de localisation Android, j’ai reporté l’application et décidé de commencer par construire un banc d’essai. J'ai utilisé un netbook et un GPS de poche pour lequel j'avais branché un câble USB il y a bien longtemps.

Le logiciel n'a rien fait de plus que d'extraire la correction calculée par la station de base via HTTP, puis de la soustraire aux correctifs fournis par le GPS. Pour évaluer les performances de cette solution, l'ordinateur client a été placé dans mon arrière-cour et configuré pour enregistrer les correctifs corrigés pendant un certain temps. Si ma mise en œuvre a fonctionné, les positions enregistrées doivent être fixes et indiquer précisément l'emplacement de ma chaise de jardin.

Pourquoi cela a-t-il échoué?

Détail du connecteur que j'ai fabriqué pour Garmin dans les temps d'impression 3D. Non illustré: Les tonnes de colle chaude qui maintiennent le câble et les broches en place.

C’est un «échec de la semaine», alors je suis sûr que vous avez déjà deviné que les données de localisation de ce test n’étaient absolument pas fiables. Les positions présentaient la même quantité d’écart que les données brutes que j’avais utilisées précédemment pour localiser la station de base!

Quelque chose ne fonctionnait clairement pas comme prévu. J'ai vérifié mon code pour les erreurs, puis essayé quelques modifications aléatoires, espérant infuser la correction par accident et enfin pris une pause pour faire ce qui aurait dû être la première étape de ce projet: tester mes hypothèses sur le principe de fonctionnement du DGPS.

Pour ce faire, une heure de position a été mesurée à la fois par le dongle GPS et par le portatif, les deux récepteurs étant placés l'un à côté de l'autre. NMEA fournit un horodatage pour chaque correctif. Il était donc facile de corréler les mesures des deux appareils. Et il s’est avéré que même si l’erreur GPS est localement constante, la manière dont elle affecte les récepteurs individuels peut être différente.

Quel est le chemin du succès?

Les positions enregistrées par les deux appareils au cours d’une heure. La ligne relie deux mesures simultanées, le nombre indique la distance en mètres.

On pourrait dire que vous devriez toujours tester vos hypothèses de base. "Ne jamais supposer quoi que ce soit" est un mantra souvent répété dans toutes les saveurs du développement. Mais parfois, cela n’est pas faisable et souvent, les hypothèses ne sont pas discernables du bon sens.

Par exemple, lors de la construction d'un robot sous-marin autonome, souhaitez-vous vraiment tester l'humidité de l'eau, la flottabilité du plomb et les effets de l'humidité sur les composants électroniques avant de commencer? L’allemand utilise le terme «gefühltes Wissen» – connaissance perçue – pour désigner de telles situations. Les connaissances perçues sont parfois dangereuses mais souvent difficiles à éviter et toujours difficiles à identifier.

Jusqu'à présent, ce projet m'a permis de me familiariser avec les subtilités du GPS, de brosser sérieusement les bases de mon bash-fu et enfin de construire ma première connexion Internet. Cela ne fonctionne pas comme prévu et c’est là que je veux puiser dans le pouvoir de la section commentaires de Hackaday. Pensez-vous que les bases de ce système DGPS sont en place? Comment un système simple et peu coûteux comme celui-ci peut-il être remis sur les rails et atteindre une précision supérieure à celle d'un seul récepteur GPS disponible dans le commerce?

J'espère qu'ensemble, nous pourrons transformer cet article sur l'apprentissage de l'échec en un article intitulé "Comment construire votre propre station de base DGPS".

Notes complémentaires:

  • Une équipe de chercheurs italiens a réussi à réaliser le DGPS sur IP afin de positionner des robots autonomes avec une précision décimétrique en terrain montagneux. Je n’ai pas copié leur approche parce que je ne trouve pas leur papier.
  • Le DGPS local est utilisé dans l’agriculture et je soupçonne fortement que ces appareils utilisent le WiFi ou le Bluetooth comme couche de communication, car il est facile à utiliser et vous évite bien des maux de tête concernant les aspects juridiques de la radio.
  • Désinfecter votre position exacte à l'aide d'un logiciel conçu pour fournir cela est un travail majeur. De plus, mes scripts n’ont pas été écrits pour résister à un examen public, donc je les garderai pour moi pour le moment.

Fatigué de passer vos week-ends à tondre au lieu de profiter paisiblement de votre jardin ? Les tondeuses bots peuvent être une solution pour accomplir cette tâche à votre place mais aussi en votre absence ! Les bots tondeuses sont des tondeuses autonomes et programmables qui fonctionnent sur batterie. Elles tondent selon le principe du « mulching », c’est-à-dire que l’herbe coupée est finement hachée et les restes sont laissés au sol pour servir de fertilisant. Il n’y a donc pas de déchets à libérer, et la pelouse est régulièrement nourrie. Mais aussi utiles soient-ils, ces bots ont un prix, minimum 1 000 euros ! nos conseils avant de franchir le pas. nUne pelouse impeccable et bien tondue, le rêve de beaucoup de jardiniers. Avec les robots-tondeuses, finie la corvée de tonte, la transpiration, la saleté ou le bruit leger ; le gazon est entretenu souvent, même en votre absence. Reste qu’à plusieurs centaines d’euros l’engin, mieux vaut ne pas faire d’erreur… nEncore hors de prix il y a quelques années, les robots-tondeuses sont à commercialisés à des prix équivalents à ceux des tondeuses autotractées, voire même autoportées. De quoi terriblement se installer la question de l’achat d’un tel appareil pour en finaliser avec la tâche bien ennuyante de tonte et bénéficier d’une pelouse toujours impeccable. nTout le monde n’a pas besoin d’un modèle à 2 000 € ; tout dépend de la superficie à tondre et de sa complexité. Si il est possible de se contenter d’un robot préférentiellement de gamme pour une petite pelouse simple et peu encombrée — ne pas négliger les types moins bien notés ( 3 étoiles… ) dans ce cas —, il faut se diriger vers un modèle plus évolué si l’on possède un vaste jardin avec plusieurs zones à tondre. nIl vous permettra de tondre efficacement 1000 metre carre de pelouse après un temps de réalimentation d’une heure sur sa base. La qualité de tonte est assuré et vous aurez un gazon impeccable en très peu de temps. Ce robot est aussi muni d’une fonction « mulching«. Ceci veut dire que l’herbe coupée est hachée par l’appareil et est étalée sur le gazon. Ceci offre un réel intérêt. Cela intervient en fait, comme un paillage qui et enrichit aussi votre pelouse. Elle n’en aura que plus de santé et une teinte éclatante au fil des tontes. nCoté ergonomie, comme beaucoup de robot tondeuse autoportée, le Gardena Sileno se programme grâce à un menu utilisable par tous de cdi et vous pourrez dépenser des cycles de tonte adaptés à votre jardin et votre boulot du temps. nBien songé côté sécurité, il vous permet d’être l’esprit tranquille. A la moindre intervention des humains, celui s’arrête et la coupe est interrompue. Pour le relancer il faut se retrouver dans un code pin qui évite les prestations malencontreuses et les vols. nL’installation est-elle difficile à tester ? nMa pelouse est inégale, cela pose t-il problème au robot ? nMon terrain est constitué de pentes, le robot de tonte pourra t-il se déplacer techniquement ? nLe robot peut-il passer dans des passages étroits ? nLes bots tondeuses peuvent-ils localiser les objets restés sur le sol ? nLes branches, fruits tombés ou pommes de pain sont-ils un risque pour le robot ? nEst-ce que je peux m’équiper d’un robot tondeuse si j’ai une piscine intérieure ? n

Echec de la semaine: Comment ne pas construire votre propre station de base DGPS – Achat robot tondeuse
4.9 (98%) 32 votes
 

Laisser un commentaire