Guidage a l'aide d'arduino

L'odométrie marche bien sur sol non glissant.
Un moteur sans codeur se transforme avec une roue codeuses à encoches et une petite fourche optique, on peut éventuellement utiliser aussi des moteurs pas à pas.
Si besoin, il peut y a voir un point de repère (un angle par ex.) sur lequel le robot vient se recaler périodiquement.

Bonjour,

Merci de vos réponses, le problème c'est que l'odomètrie le robot ne connaît pas sa position initiale il croit la connaître
On travail déjà sur l'odometrie :wink:
Moi j'aimerais faire une méthode qui permettrait de connaître la véritable position actuelle a tout moment. Donc je connais l'environnement et je peux placé des balises sur les coins. Le déplacement se fait dans un rectangle d'environ 3m sur 5m.
Pour le GPS on pourrait pas placé nos bases gps dans les quatres coins de la salle ?
J'ajoute que le budget n'est pas vraiment limité

Merci encore

Je doute qu'avec du GPS tu puisses avoir une précision au centimètre. Normalement c'est au mètre, dans le meilleur des cas.
Mais bon, je n'ai jamais fait de test, si quelqu'un a des billes pour me contredire, je suis preneur.

A part ça, dans le principe, tu pourrais encadrer ton rectangle par des "murs" et mettre 4 capteurs ultrasons (ou autre technologie qui mesure la distance) à 90° les uns des autres sur le robot. Ca devrait te permettre une première localisation du robot, mais tu auras alors 4 possibilités. Pour ne retenir que la bonne, tu peux rajouter une boussole.

Avec tout ça (odométrie, capteurs US et boussole), c'est pas mal blindé !
Tu dis déjà travailler sur l'odométrie: ça ne fonctionne pas ?

Bonjour

  • Comme balise un niveau laser genre BOSCH PLL360 on a ainsi un rayon laser qui balaie un plan horizontal.
  • Sur le robot un détecteur (phototransistor) monté sur un axe vertical pouvant tourner sur +- 360°.
    Il y a une phase d'apprentissage : le robot détecte le rayon laser, il connaît l'angle par rapport à son axe avant-arrière, il tourne sur lui-même pour que cet axe soit perpendiculaire au rayon (pas obligatoire mais ça aide). Il avance d'une certaine distance précise (1 m par ex. Il mesure l'angle de nouveau. Connaissant les deux angles et la distance parcourue, il peut calculer la position de la balise et sa propre position.
    A+

L'odomètrie fonctionne mais si le robot est mal placé au début, il fera le trajet mais décalé... Du coup en connaissant les vrais coordonnée il pourrait faire le bon trajet.
Je vais réfléchir a vos solutions le ultrason semble plus simple a mettre en place, il suffit de mettre 4 émetteurs et 4 récepteurs c'est ça ? Merci

En général, c'est un groupement emetteur/récepteur qui est vendu.
Pense aussi à la boussole, sinon tu ne connaîtra pas son orientation.

Bonjour

  • Utiliser deux balises, commandées par le robot par radio, il allume la première balise, calcule sa position par rapport à elle, l'éteint, allume la seconde, calcule sa position par rapport à cette balise. en connaissant la position des deux balises, il peut calculer sa position réelle. Il me semble que le laser est plus précis que les ultrasons.
    A+

Bonjour,
Peut être une proposition "idiote" mais à défaut cela fera avancer le "chim....".
Je me rappelle des chasses aux trésors à la gonio.
Mettre en place 2 ou 3 émetteurs HF et un récepteur sur le mobile. le récepteur cherche les différents max de signal avec repérage d'angles.
Si l'on connaît l'implantation des émetteurs le tout se réduit à de la trigonométrie.
Pas sur la tête.
@+

Je suis pas sur qu'il faille une boussole, si on a 3 émetteurs/récepteurs, et a quel distance vient le signal, il connait sa position exact non ?
iCare ton système est le même que le notre avec des HF nan :stuck_out_tongue: ?

Re,
3 émetteurs donc 3 angles alors une position unique (pas besoin d'autres dispositif de positionnement).
A partir de plusieurs positions, on a la direction du déplacement, l'angle de déplacement et même la vitesse de déplacement.
@+
[edit] On ressort les cours sur les coordonnées polaires au minimum.

Bonjour
Deux émetteurs suffisent si on connaît la distance entre eux deux et même sans la connaître.
A+
A+

Minicarpet:
...Le déplacement se fait dans un rectangle d'environ 3m sur 5m.

Merci encore

bonsoir
là deplacement sur une surface delimitée par 3/5m c'est déjà AMHA plus realisable "facilement" que dans un topic recent.

Perso et pour une premiere reflexion, je partirais sur une option inverse
je mettrais sur le robot un niveau laser avec une optique ligne verticale (il en existe des petits pas cher avec une portée acceptable là) en rotation continue, avec un encodeur de position (quadrature + top zero)
et je mettrais aux angles de la zone 4 balises recepteurs optiques (avec un champ pas trop fermé, genre BPW34)
les balises renvoyant vers le robot l'info de stimuli (balise 1.2.3.4 touchée) .
Comme d'hab, meme si c'est simple sur le papier, la realité sera peut etre moins "droles" 8)

Bonsoir
Tout dépend également de la puissance de calcul du pc à bord du robot (Arduino ?), mais en utilisant le principe dans ma réponse #5 sur deux balises comme en #8, le robot peut naviguer facilement dans un rectangle de 3 x 5 m. mais il faudrait également savoir comment est délimitée cette surface, est-ce que le robot connaît les dimensions de cette surface, est-ce qu'il peut en détecter les limites pare choc ou ligne colorée sur le sol auquel cas une fois qu'il connaît la position des balises et une ou deux limites de la surface, il peut en calculer la totalité. le mieux étant de placer les balises dans deux coins contigus de la surface.
A+

Re !
iCare, pas de soucis pour les coordonnées polaire ou cartésiennes ou autres, non plus niveau dérivation intégrale (pour la vitesse et accélération), t'en fais pas pour ça :stuck_out_tongue:

Ivel23 : Deux suffisent Mais 3 semble plus précis ? Ce sera se de l'arduino, (la DUE suffit pas ? au pire i2c peut un peu soulager ?). De plus le robot coonait tout, la dimension exact de la pièce tout ce qui s'y trouve dedans (sauf un truc qui bougera en même temps mais ça n'est pas un problèmes), il y a des lignes possibilités de mettre ligne au sol ainsi que capteurs (genre contact si il touche un mur) les positions balises pourront être donnée en coordonnée dans le programme aucun soucis. Je cherche pas à faire un truc in faisable ^^

Artouste : J'ai un peu regardé, mais le laser peu être coupé du a un obstacle non ?

Minicarpet:
...

Artouste : J'ai un peu regardé, mais le laser peu être coupé du a un obstacle non ?

Oui evidemment, je n'ai pas pris en compte l'occultation par obstacle, si sur la zone il y a plusieurs mobiles (robot battle)
mon idée n'est absolument pas viable.
tant pis j'aurais essayé :grin:

C'est toujours une idée :wink:
Ouais c'est un peu un robot battle mais un seul robot bouge donc la vision revient après, mais si il y a des obstacles genre... un cailloux, il peut plus détecter sa position le problème est plus là :stuck_out_tongue:
euuuuuh c'est pareil pour l'ultrason en fait --'

Minicarpet:
C'est toujours une idée :wink:
Ouais c'est un peu un robot battle mais un seul robot bouge donc la vision revient après, mais si il y a des obstacles genre... un cailloux, il peut plus détecter sa position le problème est plus là :stuck_out_tongue:
euuuuuh c'est pareil pour l'ultrason en fait --'

Donc retour aux fondamentaux :grin:

On peut lire le reglement/(cahiers des charges) ?

Et par caméra ? ou thermique ?
Sinon c'est pas compliqué : Coupe de France de robotique 2014 :stuck_out_tongue:

Minicarpet:
Et par caméra ? ou thermique ?
Sinon c'est pas compliqué : Coupe de France de robotique 2014 :stuck_out_tongue:
http://www.planete-sciences.org/robot/data/file/coupe/2014/Rules2014%20-%20Version%20finale%20-%20Eurobot.pdf

ok
je lirais ça tranquillement 8)

Bonsoir,

lve123:
Bonjour
Deux émetteurs suffisent si on connaît la distance entre eux deux et même sans la connaître.
A+
A+

Sur le principe oui mais dans le cas de 2 émetteurs la solution est double, il faut une donnée sup. pour trouver la position.
Avec 3 émetteurs le système d'équations n'a qu'une solution.
@+