Je reviens à EE après un certain temps, alors veuillez excuser mon ignorance. Je cherche un moyen de détecter un emplacement précis à l'extérieur pour naviguer dans un robot pour un projet avec mes fils.
Existe-t-il un moyen peu coûteux de trianguler ou d'utiliser le GPS? Je recherche la précision en pouces. Je me fiche également de savoir si je dois placer certains émetteurs à différents endroits pour donner à l'appareil une référence.
C'est pour un robot de tonte. J'ai une cour de 2 acres et ma maison est près du milieu avec plusieurs arbres comme obstacles.
Deux de mes trois garçons (14 ans, 11 ans, 5 ans) ont soulevé l'idée, donc le véritable objectif de ce projet est de passer du temps avec eux et de piquer leur intérêt pour l'EE & CE.
Cela dit, le coût est un facteur, mais je m'en fiche que nous y travaillions pendant les 2 prochaines années et que nous passions un peu de temps en temps.
Voici mes plans actuels
- Inclure un PC Windows à bord afin que je puisse coder contre les capteurs.
- Microsoft Connect à bord pour aider à la détection d'obstacles (raison pour Windows PC)
- Inclure un GPS USB pour la localisation générale
- Inclure la caméra juste pour le plaisir
Dans 2 ans, si j'ai un peu d'argent, ça va, mais je ne veux pas commencer avec un GPS cher et fou.
Merci à tous ceux qui m'ont aidé !!!!
Réponses:
Vous devriez envisager de retourner le système. Il n'est pas nécessaire que le robot lui-même détermine l'emplacement. Il lui suffit de savoir quoi faire. Celui-ci peut lui être communiqué depuis un PC fixe via une liaison WiFi. Avec un tel lien, peu importe que le robot détermine l'emplacement ou que cela se fasse dans l'installation fixe, puis le résultat transmis au robot. Si le robot perd la connexion WiFi, il pourrait simplement s'arrêter. Cela l'empêche de se mettre hors de portée et donc de ne pas obtenir les informations qu'il devrait faire demi-tour, tout en tondant tous les jardins fleuris du quartier. Je pense que c'est aussi une bonne idée de garder le robot aussi simple que possible et de mettre autant de fardeau sur l'installation fixe où il est plus facile de surveiller, de réparer et de travailler.
Je ne l'ai pas fait, mais voici quelque chose que j'ai trouvé en réfléchissant à votre problème. Avoir un émetteur IR rotatif sur le robot. Cela peut tourner une fois par seconde environ. Il émet une fente verticale assez étroite d'IR modulé. Ensuite, vous placez des capteurs infrarouges fixes autour de l'endroit, principalement la périphérie. Ceux-ci indiquent quand ils détectent le faisceau du robot, qui ne sera que pour une petite fraction de l'intervalle de répétition. En comparant le timing des signaux des différents capteurs et en connaissant leur emplacement, vous devriez pouvoir calculer la position du robot. Le décalage temporel de deux capteurs quelconques divisé par la période de la balise vous indique les angles relatifs de ces deux capteurs vus du robot. Avec suffisamment de capteurs et un tas de mathématiques (facilement réalisable sur n'importe quel PC moderne en une fraction de seconde), vous pouvez résoudre la position absolue du robot. Le PC envoie ensuite les commandes appropriées au robot via une connexion TCP via la liaison WiFi.
Le robot n'a pas réellement besoin des informations de position. Toute la "réflexion" se fait sur le PC fixe. Tout ce dont le robot a besoin, c'est d'un petit système embarqué avec un module WiFI et une pile TCP / IP. Vous pouvez envoyer des commandes de base au robot, comme la direction relative, la vitesse, etc.
Les données de deux capteurs quelconques placent le robot sur un arc qui inclut également les deux capteurs. L'arc exact dépend du décalage angulaire des deux capteurs. En théorie, vous n'avez besoin que de trois arcs, ce qui signifie trois capteurs. J'en utiliserais plusieurs autres pour que les capteurs individuels puissent tomber temporairement pour diverses raisons. Cela surchargera le problème, mais avec le bon algorithme, vous pouvez utiliser toutes ces données et trouver l'emplacement le plus probable du robot.
Comme je l'ai dit, je n'ai pas essayé cela, mais je pense que vous devriez pouvoir obtenir une précision suffisamment bonne pour contrôler une tondeuse à gazon. Au moins, ce schéma ne repose sur rien de particulièrement coûteux, difficile à obtenir ou quoi que ce soit poussant ce que vous pouvez mesurer raisonnablement dans votre propre arrière-cour (pas de synchronisation en nanosecondes, par exemple).
la source
Les réponses précédentes abordent le problème du point de vue de la manière dont la tondeuse à gazon peut détecter sa position. Cependant, le ou les capteurs peuvent être externes, c'est-à-dire sur la maison. Placez des caméras afin qu'elles puissent voir la tondeuse à gazon n'importe où sur votre terrain. Mettez un symbole ou un drapeau ou quelque chose de coloré sur la tondeuse à gazon et certains points de référence (ou utilisez des réflecteurs infrarouges ou des leds, de cette façon, vous pouvez installer des lentilles de filtre coupe-bande sur les caméras et ne laisser entrer que, banalisant le code de suivi). Étant donné que les caméras sont fixes, l'emplacement des points de référence et de la tondeuse à gazon dans les images vidéo doit fournir des données de localisation sans ambiguïté. La précision dépendra de la résolution de la caméra. De cette façon, vous n'avez pas à dépenser autant pour l'électronique embarquée et votre code de traitement d'image peut fonctionner `` à la maison ''.
la source
Je peux penser à quelques façons dont cela pourrait être réalisé en fonction de la plage dans laquelle vous souhaitez que le robot se déplace (mètres ou 100s de mètres?)
Cependant, le GPS ne vous donnera certainement pas le niveau de précision en pouces avec du matériel facilement disponible. Pour atteindre cette précision, vous devrez effectuer une correction différentielle de phase de porteuse. Bien que ce ne soit pas trop délicat, ce n'est pas aussi simple que de brancher un module. Vous pouvez regarder ce projet pour voir une implémentation de celui-ci.
Une approche plus simple peut être d'utiliser des balises infrarouges ou ultrasoniques et d'utiliser des capteurs sur le robot pour déterminer la distance relative entre celui-ci et les différentes balises. Un récepteur asservi peut isoler l'angle par rapport à l'émetteur et la force relative du signal. Malheureusement, il est peu probable que vous obteniez le niveau de précision en pouces de cette façon.
la source
Une autre option consiste à utiliser une webcam et certaines formes / couleurs bien connues, et à exécuter une reconnaissance d'image simple. Utilisez la triangulation (peut-être en faisant tourner la webcam avec un moteur pas à pas) pour savoir où vous en êtes. Cela est possible si vous avez un important processeur à bord (par exemple, un BeagleBone ou un netbook) plutôt que quelque chose de petit comme un Arduino.
la source
Je chercherais une voie différente de toutes ces autres réponses. Enterrez un fil dans votre cour autour du périmètre. Pilotez-le avec un petit circuit qui émet un signal de 100 kHz (ou quelque chose). Ce serait très facile à détecter avec une plateforme mobile. C'est exactement la même technique utilisée par ces systèmes sans clôture utilisés pour garder les chiens dans la cour. Enfer, vous pourriez probablement saisir l'une des unités à utiliser comme capteur.
Cela vous donnerait le contrôle du périmètre. Si vous sentez le signal à 100 kHz, vous êtes au bord. Bien sûr, testez cela sans tondeuse en premier (peut-être que votre première conception devrait être une voiture R / C modifiée pour ce faire. J'abandonnerais également le PC Windows et saisirais un système Arduino. Ils sont bon marché et pour un investissement initial d'un quelques centaines de dollars et une voiture R / C, vous avez votre prototype.
En tant que parent, je suis sûr que vous voulez que cela soit aussi sûr que possible. Cela signifierait de ne PAS attacher un tas d'électronique à votre fidèle deux temps. Voyez si vous pouvez trouver un ancien exemplaire du magazine Radio-Electronics des années 80. Ils avaient une conception de tondeuse robotisée appelée Lawn Ranger. Bien sûr, vous ne recréeriez pas leur conception d'origine, mais ils avaient plusieurs innovations innovantes, y compris un capteur facile à construire pour détecter l'herbe coupée (évitement d'obstacles, détection de périmètre et navigation) et, plus important encore, ils avaient une conception unique pour le des lames de coupe qui étaient significativement plus sûres qu'une livre d'acier affûté et trempé pivotant. Leur système de coupe était essentiellement une paire de disques oscillants avec des lames x-acto fixées sur eux. Les disques pivotaient, ce qui signifiait si un rocher (ou un pied!) Se mettait en travers de la façon dont il donnerait, résultant en une blessure moins désastreuse. Je recommande fortement de consulter cette série d'articles et d'appliquer certains principes à votre design moderne. Vous pourrez peut-être les obtenir de votre bibliothèque publique; Je sais que le mien en avait.
Bonne chance, cela ressemble à un grand projet qui gardera les jeunes intéressés et réfléchis.
la source
Je me demande s'il serait possible d'utiliser le GPS avec des gyroscopes pour un suivi de position stable. On pourrait appliquer des méthodes d'apprentissage de logique floue si l'on savait comment et avait des signaux d'erreur de position stable (PES) des deux sources. GPS pour détection de position à grande échelle +/- 10 m et gyroscopes ou autres moyens pour le suivi de position à courte portée +/- 0,1 m
Plan 1) Mesurez les données de suivi du chemin GPS pour chaque enfant tondant la pelouse à l'aide d'une radio Zigbee ou d'un système de collecte de données embarqué. Analyser plus tard la stabilité, le modèle, la vitesse, l'efficacité sur un programme d'analyse de chemin qui agrège la distance, analyse la gigue de pente, le chevauchement ou le nombre effectif de pistes X & Y.
2) Ensuite, choisissez le chemin optimal et mémorisez-le. (miette de cookie) pour enregistrer les différents chemins utilisés par chaque enfant et évaluer le chemin enregistré pour les performances et la sécurité du chemin.
3) Mesurer divers PES de trajectoire en tondant en utilisant des vecteurs orthogonaux, des vecteurs obliques, des pistes circulaires et déterminer l'erreur de suivi efficace pour chaque méthode de guidage du véhicule et commenter les variations esthétiques de la pelouse coupée produite.
Il suffit d'utiliser les signaux de position enregistrés accumulés pour l'analyse, puis de tenter plus tard un suivi robotique avec un système contrôlé par servocommande à 4 canaux. (Gaz, direction, frein et autres.)
La plus grande leçon est d'apprendre à communiquer (avec les enfants, les clients et les ingénieurs) APPRENDRE à écrire une spécification avant de la concevoir, est la plus grande leçon. Quelles entrées, processus et sorties, entrées environnementales et paramètres testables / mesurables avec critères d'acceptation et de rejet. Il devrait également y avoir des récompenses appropriées pour chaque étape et les conséquences de l'échec.
Il s'agit d'une miniature du plan de projet, des spécifications de conception et du plan DVT. (Test de validation de conception)
Votre succès en dépend. Bonne chance et amusez-vous bien.
la source
Bien que ce ne soit qu'un point de départ, je vous recommande fortement de consulter ce PDF expliquant la théorie derrière le localisateur audio de John Swindle . Si je me souviens bien, elle explique différentes méthodes de localisation et explique la méthode de John, qui est précise à un demi-pouce près! (La configuration n'est pas triviale et le code n'est pas fourni, mais il est utilisé à bon escient pour l'événement RoboColumbus du DPRG (Dallas Personal Robotics Group)).
la source
/electronics//a/23506/5439
Voir ma réponse à une autre question sur LPS. La réponse courte est que c'est un problème assez difficile et que les systèmes existants sont assez chers (à partir de plusieurs milliers de dollars). La suggestion d'utiliser des capteurs à ultrasons est bonne, si vous Google, vous pouvez trouver l'art antérieur sur l'utilisation des ultrasons et même du son audible pour cela.
la source
Actuellement, udacity propose un cours en ligne gratuit de programmation d'une voiture robotique qui vous apprend comment Google le fait pour ses voitures autonomes. Fondamentalement, ils utilisent le GPS pour un positionnement brut avec des cartes stockées et une détection de vision pour la localisation avec un haut degré de précision. Le logiciel utilise des filtres à particules.
Vous pourriez le faire avec le GPS seul si vous utilisiez l'équipement GPS différentiel très coûteux utilisé par les géomètres, mais ce ne serait guère rentable. Comme vous le suggérez, si vous utilisez quelques émetteurs-récepteurs à faible coût (Xbee peut-être?), Vous pouvez facilement mesurer la distance avec un degré de précision extrêmement élevé en transmettant une impulsion et en mesurant le temps nécessaire pour se rendre de l'émetteur du robot au répéteur et dos à distance. C'est comme RADAR, sauf qu'au lieu de faire rebondir le signal sur une surface passive, il est renvoyé par vos transpondeurs stationnaires.
EDIT: Depuis que j'ai été appelé par Kevin sur celui-ci, je ferais peut-être mieux d'expliquer ;-) (Tout en s'amusant, j'ai le plus grand respect pour Kevin et il est tout à fait correct que je n'ai pas fourni suffisamment de détails pour montrer comment mettre en œuvre).
Pour mesurer avec précision le retard de propagation entre deux points, il faut principalement deux choses: 1) Un chemin de signal en ligne droite car les réflexions créeront des distorsions. 2) Certains composants électroniques aux deux extrémités utilisant des horloges synchronisées et la capacité de mesurer les intervalles de temps avec la précision requise.
Les horloges synchronisées sont relativement faciles car la station réceptrice peut dériver son horloge du signal transmis par l'autre station. Il s'agit d'une transmission de données synchrone standard avec récupération d'horloge.
Voici un document intitulé Mesurer le retard de propagation sur une liaison de données bidirectionnelle à 1,25 Gbit / s, où ils obtiennent facilement ce type de précision sur un morceau de fibre optique de 10 km de long. Ils déclarent: "Il devrait être capable de synchroniser ~ 1000 nœuds avec une précision sous-nanoseconde sur des longueurs allant jusqu'à 10 km."
aussi
ÉQUIPEMENT UTILISÉ:
Maintenant, clairement, cette configuration particulière est exagérée pour la plupart des projets de robotique de loisir, mais elle pourrait facilement être reproduite à la maison car elle utilise des cartes de développement standard et ne nécessite aucun talent spécial pour fonctionner. Dans le cas du robot, la liaison serait la radio plutôt qu'un câble à fibre optique. Peut-être qu'il pourrait même s'agir d'une liaison infrarouge comme une télécommande de télévision, même si je soupçonne que l'extérieur en plein soleil pourrait être problématique. La nuit, cela pourrait très bien fonctionner!
la source
Comme d'autres l'ont dit, la localisation est un problème difficile et une résolution d'un pouce à un coût raisonnable est très difficile. Vous pourriez être intéressé de savoir qu'il existe un concours de niveau collégial impliquant des tondeuses à gazon robotiques: le Concours de tondeuse à gazon ION . Je faisais partie d'une équipe préparant ION; à la fin, nous n'avons pas concouru, mais nous avons certainement passé beaucoup de temps à réfléchir au problème, qui est certainement plus difficile qu'il n'y paraît. Notez que plupart des concurrentslors du dernier concours ION a tondu moins de 50% du champ dans le temps imparti, avec des plateformes coûtant des dizaines de milliers de dollars! Vous avez cependant un avantage, car ION interdit les aides à la navigation externes, telles que les balises, qui facilitent la résolution du problème. (Et vous n'avez pas de limite de temps.) La consultation des rapports de projet des équipes serait une bonne source d'idées.
Si je me lancais dans un projet de tondeuse à gazon robotique comme le vôtre, j'utiliserais probablement une combinaison de GPS bon marché (pour un emplacement approximatif), de balises IR / ultrasoniques / multicolores (emplacement fin (r)), d'encodeurs (estimation de position) et de vision par ordinateur (divers). Je ne conseillerais pas de dépenser des milliers de dollars en systèmes GPS et IMU sophistiqués. Le Kinect est une bonne idée et est certainement beaucoup moins cher que le Lidar; vous aurez certainement beaucoup à mâcher entre la carte de profondeur et la caméra.
Je recommande également le cours Udacity sur la programmation des voitures autonomes pour une introduction aux concepts impliqués.
la source
Maintenant que vous avez modifié la question pour supprimer l'exigence d'une résolution d'un pouce et nous avez dit que vous auriez un PC Windows et un Microsoft Connect à bord, je pense que vous pourriez faire un très bon emplacement avec juste ce matériel sur le robot.
Avez-vous vu certaines des lunettes de golf bon marché que les gens utilisent pour trouver la distance jusqu'au tee?
La façon dont ils fonctionnent consiste à mesurer la hauteur perçue du drapeau sur le green (qui est une hauteur fixe) et à montrer la distance jusqu'au tee. Il s'agit d'un simple triangle rectangle où, si vous connaissez l'angle et la hauteur du côté éloigné, vous pouvez calculer la longueur de la base. C'est exactement le genre de choses que vos fils apprendront en géométrie et plus tard en trigonométrie.
Puisque votre maison semble être visible de toutes les parties de votre terrain, il serait peut-être facile de voir les 2 coins et de calculer la distance?
la source
Utilisez l'énergie sonore de la tondeuse elle-même. C'est son propre doigt. Ou peut-être que son bruit peut être utilisé pour masquer principalement un son de pépiement audio ajouté à la tondeuse, peut-être synchronisé avec le vilebrequin ou la lame. Mettez un micro sur la tondeuse et à quelques endroits autour de la cour. Obtenez une estimation approximative de l'emplacement en fonction de l'intensité sonore. Les micros les plus proches n'auront pas autant de problèmes de trajets multiples. Ensuite, corrélez l'audio des micros les plus proches pour estimer le retard sonore du temps de vol. Filtre moyen ou Kalman pour éliminer le bruit dans les estimations de retard et appliquer le trig. Si vous pouvez cacher (aux humains) et détecter (par corrélation croisée) un gazouillis ou une vibration du moteur sur la tondeuse, vous pourrez peut-être obtenir des centimètres de précision.
la source
Consultez http://porcupineelectronics.com/uploads/LR3_Data_Sheet.pdf Ce petit adaptateur LR3 (il est obsolète mais un meilleur est en route) vous permet d'interfacer un PC ou un SBC à un télémètre Fluke 411D, précision à +/- 3 mm jusqu'à 30 M si je me souviens bien. La nouvelle unité qui sort (LR4) fonctionne avec les nouveaux compteurs Fluke. Combiné avec une caméra sur une plate-forme panoramique / inclinaison afin que vous puissiez la pointer vers des cibles connues et un encodeur haute résolution sur le servo panoramique pour des mesures d'angle de haute précision, vous devriez pouvoir trianguler la position de votre robot par rapport à une carte de votre cour avec le précision dont vous avez besoin. Vous aurez besoin d'une trigonométrie dans le code (au-dessus de mes mathématiques au lycée). J'ai trouvé l'équation requise sur Internet (Wikipedia). Je l'inclurais ici, mais je suis loin de mon ordinateur personnel où les informations sont stockées. Le système peut également faciliter la génération de la carte. Vous pourriez avoir besoin d'une plate-forme gyrostabilisée avec isolation passive des vibrations (les tondeuses à gazon ont beaucoup de vibrations). Pour les mesures à la volée, vous devrez peut-être également utiliser un logiciel de suivi pour garder le laser sur la cible. Une odométrie précise vous donnera plus de temps entre les «corrections» si votre puissance de calcul est modeste.
la source