Projet Terminal - triangulation

Bonjour,
je suis en terminal S, et pour mon projet de l'année j'ai besoin de connaitre la position en temps réel de mon robot qui se déplace sur un demi terrai de tennis (envion 11*12m)
je pensais placer 3 emetteurs sur les cotes du terrain et utiliser la vitesse de l'onde et le temps que celle-ci met à faire la distance emetteur-recpeteur pour connaitre la distance à laquelle mon robot se trouve, ce processus sur 3 axes pour avoir la position exact de mon robot...
or je ne trouve pas de solution technique pour réaliser la triangulaion... Je dois utiliser des emetteurs-recepteurs radio ? Ou ultrason ? Mais si ultrason comment viser le recepteur ?
Merci de votre aide.
Alex. :slight_smile:

bonjour,
pourquoi se compliquer la vie, surtout s'il n'y a pas de mur pour réfléchir les US?
ton robot part d'un point 0-0 sur le terrain, un angle par exemple.
suivant le nombre de tour de roue, tu peux en déduire sa position, sauf si patinage.

Après, il manque pas mal de variables dans ton cahier des charges.
affichage de la position faite comment?
trajectoire aléatoire ou ciblée?
etc...

Bonjour,

pour la radio, on en avait trop brièvement discuté pour trouver une solution.
il faut que les 3 récepteurs puissent mesurer la puissance de réception pour déterminer la distance qui les séparent de l’émetteur

mesurer un temps de propagation me parait difficile car il faudrait connaître le moment exact du départ de l’onde …

Bonjour,

La meilleure solution dépend beaucoup de la précision souhaitée. Quelle est-elle ?

Bonjour,

Une solution que j'envisagerais:

Un émetteur US (ultra-son) monté sur le robot et qui émet un train d'impulsons à une cadence fixe.
Trois ou mieux, quatre récepteurs US placés au quatre coin du terrain et reliés à l'Arduino qui effectuera les calculs de trajectographie.

En mesurant l'écart temporel des signaux reçus on peu déterminer la position du mobile.

ex: un écart nul (ou très faible) montrera que le mobile est à égale distance des récepteurs, donc au centre du rectangle.

Je crains qu'il faille amplifier les signaux reçus.

As tu les moyens de faire un test avec des transducteurs US ?
Un géné BF pour l'émetteur et un oscillo pour le récepteur et relever le niveau en fonction de la distance.
Les deux très proches donnera la valeur du signal à l'émission puis mètre par mètre.
Avec ce relevé tu pourra voir s'il faut amplifier les signaux en sortie du récepteur.
Fais attention le couplage entre les transducteurs est le meilleur quand ils sont à quelques cm ou dizaine de cm l'un de l'autre. Micro et récepteur touche touche n'est pas la meilleure position.

N'oublie pas de répondre à la question : qu'elle est la précision demandée : 1m ou 5cm n'utiliseront pas la même solution.
J'ajoute faut-il déterminer la position du robot immobile ou du robot roulant?

Il y a aussi la solution de monter l'émetteur sur une tourelle qui tournerait en permanence.

Bonjour tout le monde !
d'abord merci pour vos réponse ca me fait vraiment très plaisir...

Pour préciser mon cahier des charges :
Mon robot doit aplanir un demi terrain de tennis donc son itineraire n'est pas aléatoire mais sera programmé par mon collègue chargé de la programmation. La position de mon robot doit etre determiner lorsque celui-ci se déplace
La précison optimal serait à +/- 5cm...

Je suis en S-SI donc j'ai accès à pas mal de matériel type oscillo, voltmètre...pour faire pas mal de modélisation et même des logiciel type isis ou matlab pour des simulation sur logiciel.

La solution de bilbo83 me semble pertinente, mais comment la mettre en oeuvre ? comment relié les recpeteurs entre eux et à la carte centrale ? comment effectuer les calculs de trajectographie ?

Merci de vos réponses vous m'êtes d'une grande utilité! je suis vraiment pas calé dans ce domaine !

Alex. :slight_smile:

Quelque soit la solution que tu envisages avec des ultra-sons :

  • émetteur ou émetteur/récepteur sur le robot,
  • émetteurs/récepteurs sur le terrain,
  • émetteur sur le terrain et récepteur sur le robot,
  • ...
    tu seras confronté au problème de directivité de ces engins (± 15 °) : tu auras des zones mortes. A moins qu'il existe de tels engins relativement omnidirectionnels ou que tu aies une tête rotative sur le robot. Sinon, tu peux toujours couvrir le terrain de capteurs, mais alors là, bonjour la triangulation.

Cordialement.

Pierre

68tjs:
As tu les moyens de faire un test avec des transducteurs US ?
Un géné BF pour l'émetteur et un oscillo pour le récepteur et relever le niveau en fonction de la distance.
Les deux très proches donnera la valeur du signal à l'émission puis mètre par mètre.
Avec ce relevé tu pourra voir s'il faut amplifier les signaux en sortie du récepteur.
Fais attention le couplage entre les transducteurs est le meilleur quand ils sont à quelques cm ou dizaine de cm l'un de l'autre. Micro et récepteur touche touche n'est pas la meilleure position.

Je pense comprendre le test que tu veux que je fasse mais j'ai peur de pas tout a voir saisi... Peut tu détailler la demarche à suivre stp !
merciiiiiiii

Est-ce qu'il y a des codeurs sur les moteurs de ton robot ? Si oui, tu devrais sérieusement envisager la solution odométrique évoquée par infobarquée.

Est-ce que ton robot peut communiquer à distance ? Si ce n'est pas le cas, la solution de triangulation avec capteurs au bord du terrain qui font le calcul de la position du robot avant de l'envoyer au robot lui-même ne risque pas de fonctionner.

Blondinho:
je pensais placer 3 emetteurs sur les cotes du terrain et utiliser la vitesse de l’onde et le temps que celle-ci met à faire la distance emetteur-recpeteur pour connaitre la distance à laquelle mon robot se trouve, ce processus sur 3 axes pour avoir la position exact de mon robot…

Tu as fait quelques calculs pour déterminer la précision nécessaire au calcul de la distance à partir de la vitesse d’une onde ainsi que la précision de l’horloge qu’il faudra pour synchroniser les émetteurs?
Cela me parait un rien tiré par les cheveux.
Si la géométrie du terrain est connue, la position des balises connue, Il suffit que ton mobile détermine l’azimuth des émetteurs pour calculer sa position (c’est de la trigo basique). Comme ton mobile connait approximativement sa position je pense même que 2 balises devraient être suffisantes si elles sont bien placées.
De plus les caractéristiques du terrain étant connues, tu peux faire en sorte que ton mobile ne patine pas ou très peu en choisissant correctement tes pneumatiques par exemple. Il peut donc connaitre à chaque instant sa position simplement par la mesure du chemin parcouru et se recaler périodiquement sur le marquage au sol du terrain de tennis.
La triangulation c’est bien mais c’est compliqué et si tu peux trouver une solution simple adaptée à ton besoin ponctuel tu t’éviteras bien des soucis.

Avant qu'on ne te propose des solutions que tu n'auras pas le droit d'utiliser dis nous quels sont les impératifs que ton prof a fixés.
Solutions obligatoires
Matériels obligatoires
etc

Cela évitera de partir sur des mauvaises pistes.

Moi j'utiliserai les lignes blanches du terrain de tennis pour détecter les bords et tourner quand il faut, avec un magnétomètre pour l'orientation - faudra bien le placer au départ au coin des lignes blanches par exemple

La triangulation radio c'est sympa mais approximatif avec la qualité des composants que vous aurez sans doute et ça vous rajoute des contraintes non réalistes d'aller installer des trucs en plus sur le terrain

Autre option puisque vous avez une zone rectangulaire déjà très plane - utiliser un GPS sur le robot, ayez une procédure d'initialisation où vous le placez à 3 (ou 4 pour plus de sûreté) angles de la zone couvrir. Il enregistre ces points et ensuite vous pouvez le poser n'importe ou dans le rectangle et il pourra calculer un itinéraire de balayage du terrain (si ce n'est pas dans un gymnase of course faut recevoir le signal GPS clairement :slight_smile: ) - Combiné avec le détecteur de lignes ça peut être suffisamment précis, le magnétomètre pour garder un cap dans une boucle auto-compensatrice peut aider aussi.

bonsoir,

Je n'ai aucun matériel ni solution obligatoire... Et un coup d'environ 100€ max.

Ma partie du projet et de determiner la position la plus précise possible de mon robot en marche (+/-5cm c'est tout a fait convenable) avec n'importe quelle solution du moment qu'elle fonctionne et est réalisable par un élève de terminale (moi :wink: )
Je n'ai pas de grande connaissance dans le domaine et vos aides me sont très précieuse.
j'ai accès donc a un grand nombre de matos niveau electronique et aussi sur logiciel (type matlab) comme explicité dans un post précédent.
Je n'ai encore fait aucun calcul ni simulation je suis encore à l'étape de la recherche de solution.
J'aimerai si possible eviter la solution qui consiste à suivre les lignes car faire que de la programmation en utilisant qq capteurs ne convient pas à mon professeur. Mais combiner une solution AVEC detecteur de ligne peut etre envisageable.
Merci 1000 fois pour votre aide, et merci de bien vulgariser vos aides car je ne suis pas du tout calé dans le language de ce type.

Bien cordialement;
Alex. :smiley:

je pense avoir trouvé ma solution techniquue :
placer 4 emetteurs sur les coins du terrain et jouer avec l'intensité sonore pour determiner la position de mon robot.
Le cout est très faible et la solution réalisable et validée par mes professeurs.
Les emetteurs devront être de fréquence différentes et et 4 recepteurs correspondant à leurs emetteurs respectif.
Voilà si vous avez des amélioration à apporter, des problèmes que ce système peut engendrer je suis en attente de vos réactions !
Alex.

L'idéal est de tester en condition réelle avec le bruit de votre moteur et les perturbations du monde réel.

Votre haut parleur n'émet pas de manière directionnelle, il y aura des reflexions et les sons seront bien sûr mélangés au niveau du capteur de réception. Soit vous avez sur le récepteur 4 filtres, chacun calé sur la fréquence d'emission d'une des bornes et vous pouvez lire ainsi simplement les 4 sources, soit vous écoutez avec un micro et vous allez capter l'ensemble du bruit ambiant et il faudra faire une FFT, FHT, DFT, DHT pour extraire les fréquences.

(PS faudra bien sûr éviter que votre robot fasse basculer les émetteurs quand il s'en approche).

Blondinho:
je pense avoir trouvé ma solution techniquue :
placer 4 emetteurs sur les coins du terrain et jouer avec l'intensité sonore pour determiner la position de mon robot.

Tu veux dire que plus le robot est loin, plus l'intensité sonore mesurée sera faible ?
Tu as une idée des émetteurs / récepteurs que tu vas utiliser ?
Personnellement j'ai de gros doutes sur cette solution dans la pratique (parce que bien sûr, en théorie dans un monde idéal ça marcherait) mais si tu peux me donner tort, n'hésite pas !

Bonjour,
une fois encore changement de solution : 4 emetteurs de 4 couleurs différentes donc de longueur d'onde différentes avec 1 ou 4 recepteurs et capteur d'intensité lumineuse. Je pense utiliser une barrette CCD pour avoir l'intensité de chaque longueur d'onde souhaité et ainsi determiner la distance entre l'emetteur et le recpeteur. Qu'en pensez vous ?
La solution avec les ultrasons risque de ne pas fonctionner à cause des perturbations car les terrains sont en extérieur...
Merci pour tout !
alex

Blondinho:
Qu'en pensez vous ?

Toujours la même chose:

  • tu as une idée des capteurs que tu vas utiliser ?
  • de la résolution en distance que ça peut donner ?
  • des perturbations que vont apporter le soleil ?

Mon opinion personnelle est que pour l'instant, c'est toujours la solution d'infobarquée qui a le plus de sens, à condition bien sûr qu'il y ait des codeurs sur tes moteurs (ce qu'on ne sait toujours pas d'ailleurs).

Bonjour,
on parle toujours de triangulation ?

  • 3 stabiles suffisent
  • c'est généralement le mobile qui émet et les stabiles qui mesurent, ce qui résout les problèmes de directivité