la position d'un servomoteur

f.heckel

Member
bonjour,

est-il possible de connaitre la position d'un servomoteur ?
J'ai monté un capteur à ultrasons au-dessus d'un servomoteur. Je souhaite que ce capteur à ultrasons balaie l'avant du robot comme un radar, et que le robot se déplace du coté où le radar à vu quelque chose. Est-il possible au picaxe de connaître la position du servo, ou faut-il faire un test tous les quelques degrés de rotation ?

merci

François HECKEL
 

PieM

Senior Member
Bonjour,

Est-il possible au picaxe de connaître la position du servo, ou faut-il faire un test tous les quelques degrés de rotation ?
Par défintion un servo se positionne en fonction d'une consigne qu'on lui donne.
Dans le cas de servo type modélisme, il n'y a pas d'info de feed-back , donc à priori, le servo se trouve dans la position qu'on lui a demandé.
Pour connaitre sa position, il faut lier à l'organe commandé, soit un potentiomètre, soit un codeur absolu.

Une remarque cependant:
si le principe est d'actionner le servo en balayage sur 180 degrés par exemple, il faur tenir compte des temps de mesure du capteur. Si la vitesse servo est trop importante le résultat ne sera pas conforme.
Donc la méthode la plus sûre est de commander le servo par paliers.

D'autre part, un capteur à US (lequel ?) est caractérisé un certain diagramme. a titre indicatif , celui du SRF05 est celui-ci: beam.jpg

Donc on voit très bien que le capteur, a une certaine distance, pourrait détecter un objet de 25 mm situé dans un champ de +60, -60degrés, donc 120 degres de détection ! difficile donc de dire où se trouve la cible !!

une solution consiste à utiliser deux capteurs, avec un recouvrement de diagramme. Un objet détecté par les deux capteurs à la même distance, a donc de fortes chances d'être au milieu des deux faisceaux d'US (mais ce n'est pas une certitude !)

Sinon, aussi paradoxal que cela puisse paraître, la position de la cible est donnée par le complément des positions où il n'y a rien ! mais ça demande un peu de programme...
 

nick12ab

Senior Member
Si vous n'avez pas besoin de détecter si le servo est coincé dans une mauvaise position alors vous pouvez stocker la valeur utilisée avec la commande servopos dans une variable et l'utiliser.

Si vous le faites, alors vous pouvez utiliser le potentiomètre à l'intérieur du servo pour détecter sa position physique, tout comme le circuit intégré dans le contrôleur fait. Utiliser la commande readadc de lire la position du potentiomètre à travers un axe relié à la curseur du potentiomètre.
 

f.heckel

Member
Si vous n'avez pas besoin de détecter si le servo est coincé dans une mauvaise position alors vous pouvez stocker la valeur utilisée avec la commande servopos dans une variable et l'utiliser.

Si vous le faites, alors vous pouvez utiliser le potentiomètre à l'intérieur du servo pour détecter sa position physique, tout comme le circuit intégré dans le contrôleur fait. Utiliser la commande readadc de lire la position du potentiomètre à travers un axe relié à la curseur du potentiomètre.
merci pour toutes vos précisions, je crois que le plus simple est de faire tourner le robot sur lui même !
sur le diagramme du SFR05, à quoi correspondent les graduations -3, -6, -9 ..... ?
bonne soirée

François HECKEL
 

PieM

Senior Member
bonjour,

Si cela économise un servo, oui, mais le fait de faire tourner le robot sur lui même ne va pas changer l'angle de détection de l'objet.
Une rotation de +/- 60 degrés à une certaine distance va toujours voir le même objet.

sur le diagramme du SFR05, à quoi correspondent les graduations -3, -6, -9 ..... ?
Il ne s'agit pas de signe moins, mais de graduations sur l'axe ...
A priori, ces indications représentent le gain en dB du signal reçu. (à confirmer ) Dans le cas présent ce qui importe, c'est que le capteur reçoit un écho valide à l'intérieur du lobe. Le 0 correspondant à la distance maxi de détection du capteur. (4m pour un SRF05, 6m pour un SRF08).

En complément, il semble que les indication 6 , 12, .. correspondent à une échelle dB distance: tous les 6 dB la distance est réduite de moitié. Ce serait donc bien un signe moins: -12 dB correspond donc pour un SRF05 4m /4 soit 1m.
 
Last edited:

PapyJP

Senior Member
PieM
je vous propose la lecture ci-dessous des valeurs données en ordonnée sur le diagramme de rayonnement du SRF05.
Je suppose que ces valeurs sont notées en dbm.
Elles représenteraient donc, en fonction de la distance à l' émetteur, la puissance des US reçus sur une cible.
Cependant il y a un " hic " !
Au point zéro, il y a 36 dbm soit 4 Watt.
Bien que l' émission ne dure que 10 us à 20 Hz, pensez-vous que ce soit possible ?

Par ailleurs, compte tenu de l' angle d' émission du SRF05, il me semble interressant d' expérimenter le diagramme d' émission d' un tel émetteur éclairant un écran muni de fentes d' Young dans le sens vertical.
Le phénomène d' interférence produit par un tel montage favorise sensiblement la puissance émise dans l' axe de l' émetteur au détriment des lobes secondaires.
Quelques relations calculées ' à la va vite ' me montrent " que ça marche " à 40 kHz.
Il faut encore affiner la distance émetteur-écran, la largeur des fentes et la distance qui les séparent.
Trois variables , je ne suis pas sorti de l' auberge !
Ce dispositif ne donne aucune indication dans le sens vertical, ce qui n' est pas important pour un robot.
Reste à connaitre la perte de puissance ... problème capital qui peut envoyer cette idée aux oubliettes !

A vous lire
 
Last edited:

PieM

Senior Member
Bonjour,

Je suppose que ces valeurs sont notées en dbm.
Ce n'est en effet qu'une supposition. Je lis sur les diagrammes de ce type une échelle en dB et non en dBm, donc à priori une mesure relative et non absolue référencée à des watts.
Je pense qu'il s'agit plutôt d'une échelle en pression acoustique relative, ou bien d'une échelle comme je le disais en décibel distance qui exprime en dB le rapport entre des distances. (20 log d2/d1); mais j'en suis de moins en moins sûr dans le cas présent.

il me semble interressant d' expérimenter le diagramme d' émission d' un tel émetteur éclairant un écran muni de fentes d' Young dans le sens vertical.
Ce qui est vrai pour la lumière peut difficilement l'être pour des ondes sonores; un écran muni de fentes va désespérément renvoyer un écho à la distance à laquelle il se trouve.

Ce dispositif ne donne aucune indication dans le sens vertical, ce qui n' est pas important pour un robot.
En fait, si c'est important! il faut imaginer le diagramme en volume ce qui impose lors de l'utilisation de le mettre à une hauteur mini de 30 cm par rapport au sol (ou bien un peu dirigé vers le haut) si on ne veut pas détecter les aspérités du sol.
C'est pour cela que toute tentative de "cornet" pour réduire extérieurement l'angle d'émission est voué à l'échec. A ma connaissance, la seule possibilité est d'aplatir le faisceau par un réflecteur parabolique, mais avec beaucoup de pertes...

Bien que l' émission ne dure que 10 us à 20 Hz, pensez-vous que ce soit possible ?
Ce diagramme concerne le transducteur US lui même et non l'ensemble SRF05. Le transducteur peut émettre en continu à sa fréquence de 40 kHz.
 

BESQUEUT

Senior Member
un écran muni de fentes va désespérément renvoyer un écho à la distance à laquelle il se trouve.
A ma connaissance, la seule possibilité est d'aplatir le faisceau par un réflecteur parabolique, mais avec beaucoup de pertes...
Le transducteur peut émettre en continu à sa fréquence de 40 kHz.
Il me semble qu'il y a également la technique du micro "canon", à savoir : un tube percé de petits trous ou de petites fentes.
C'est moyennement efficace pour la voix, mais de plus en plus efficace quand on va vers les aigus, ce qui me semble être le cas.
Ca doit nécessiter pas mal de mise au point, mais c'est moins encombrant qu'une parabole.
http://fr.wikipedia.org/wiki/Microphone
http://puffskydd.free.fr/stereo/31mic.html paragraphe 3.1.3.5.1
 

PapyJP

Senior Member
Ok sur tout sauf :
Ce qui est vrai pour la lumière peut difficilement l'être pour des ondes sonores
Le phénomène d' interférence se produit à toutes les fréquences, pour une ou plusieurs sources si elles sont synchrones : Inversez le sens de branchement d' une enceinte de votre chaîne stéréo, écoutez de la musique enregistrée en mode mono et promenez-vous dans la pièce, vous serez surpris !
Sans parler de fréquences encore plus basses : Les ronds dans l' eau.

Ceci dit il doit bien y avoir un moyen d' obtenir un faisceau focalisé. Je pense aux échographies médicales ( dans ce cas la fréquence est de l' ordre du MHz mais le milieu à sonder est aqueux )
 

BESQUEUT

Senior Member
il doit bien y avoir un moyen d' obtenir un faisceau focalisé.
Depuis le temps que les ingénieurs du son rêvent d'un tel système, s'il y avait une solution, ça se saurait...
Je pense que la différence essentielle entre la lumière et le son est que la longueur des ondes sonores est proche de la taille des objets qui nous entourent (entre 1 cm pour les ultrasons et quelques dm pour la parole) et en conséquence, que les objets réfèchissent les sons de façon assez différente de ce qui se passe avec la lumière.
http://www.chimix.com/an10/bac10/ant02.html
Dans le cas du son, l'onde rebondit un peu partout. C'est pour ça que les micros "canon" et autres paraboles ne sont quasiment utilisables qu'en extérieur,
et qu'un bête tube, même revêtu d'un matériaux amortissant ne suffit pas à faire un micro directionnel, alors que le même tube peint en noir mat (à l'intérieur dedans hein...)focalise déjà pas mal la lumière.
Quand aux lentilles acoustiques, à ma connaissance, ça n'existe que pour le milieu liquide.
Il y a aussi des solutions "électroniques" (on y revient...) basées sur 2 microphones. Un traitement des deux signaux reçus permet d'éliminer tout ce qui ne vient pas dans l'axe. C'est du domaine des DSP ou d'une cervelle de chauve souris, donc hors de portée d'un PIC et encore plus d'un Picaxe.
 
Last edited:

PieM

Senior Member
Le phénomène d' interférence se produit à toutes les fréquences, pour une ou plusieurs sources si elles sont synchrones
On parle ici de l'émission d'un signal sonore et de la mesure de son écho sur une cible. Je ne vois pas ce que le phénomène d'interférence apporte.
Mettez un bafle avec des fentes devant un haut parleur, et vous constaterez que l'essentiel du signal est absorbé ou réfléchi par votre dispositif.

Il y a aussi des solutions "électroniques" (on y revient...) basées sur 2 microphones.
Sans faire appel à un DSP, ni à la cervelle de la chauve souris, dans le cadre du sujet, cette technique est utilisée par l'emploi de deux systèmes US avec chevauchement des lobes de détection. Deux mesures identiques permettent de soupçonner une présence à l'intersection des deux lobes US, sans en avoir hélas la certitude.
 

PapyJP

Senior Member
Depuis le temps que les ingénieurs du son rêvent d'un tel système, s'il y avait une solution, ça se saurait...
Vous avez bien sûr raison dans ce cas, mais par contre :
Focaliser une onde sonore pure de fréquence f est tout à fait possible en disposant ( astucieusement ! ) plusieurs émetteurs.
Mais ça ne fonctionne que pour la fréquence f ce qui est le cas des ( bons ) transducteurs us.
Voir à ce sujet les ultrasons focalisés utilisés en médecine ( HIFU )
Le pb des ingénieurs du son est qu' il y a une infinité de fréquences f ( de 20 Hertz à 20 kHz ) accompagnées de leurs harmoniques ( qui diffèrent suivant l' instrument qui produit la fréquence f ). Et dans ce cas il n' y a pas, en effet, de solution !
" s'il n'y a pas de solution, c' est qu' il n'y a pas de problème, PieM "
 
Last edited:

f.heckel

Member
Vous avez bien sûr raison dans ce cas, mais par contre :
Focaliser une onde sonore pure de fréquence f est tout à fait possible en disposant ( astucieusement ! ) plusieurs émetteurs.
Mais ça ne fonctionne que pour la fréquence f ce qui est le cas des ( bons ) transducteurs us.
Voir à ce sujet les ultrasons focalisés utilisés en médecine ( HIFU )
Le pb des ingénieurs du son est qu' il y a une infinité de fréquences f ( de 20 Hertz à 20 kHz ) accompagnées de leurs harmoniques ( qui diffèrent suivant l' instrument qui produit la fréquence f ). Et dans ce cas il n' y a pas, en effet, de solution !
" s'il n'y a pas de solution, c' est qu' il n'y a pas de problème, PieM "
le topic est parti vers une discussion très pointue que j'ai bien du mal à suivre. Quelques remarques qui me viennent à l'esprit :
- il y a déjà un petit "grillage" devant chaque élément du capteur. Est-il orienté de manière spécifique ? Sur les 2 éléments, elle est différente
- l'angle de vision horizontale de ce capteur a été évoqué à mainte fois, mais dans le plan vertical, cet angle a l'air très faible. Je me sers de ce capteur pour un robot sumo. Placé à 7 cm du sol, il me détecte sans problème un adversaire à 120 cm sans que le sol ne gène !

merci à tous de participer de manière aussi précise est pointue à ce sujet

François HECKEL
 

PieM

Senior Member
l
- il y a déjà un petit "grillage" devant chaque élément du capteur. Est-il orienté de manière spécifique ? Sur les 2 éléments, elle est différente
- l'angle de vision horizontale de ce capteur a été évoqué à mainte fois, mais dans le plan vertical, cet angle a l'air très faible. Je me sers de ce capteur pour un robot sumo. Placé à 7 cm du sol, il me détecte sans problème un adversaire à 120 cm sans que le sol ne gène !
Non l'orientation du petit grillage de protection n'a aucune importance. Certains transducteurs sont d"ailleurs à la fois émetteurs et récepteurs.
L'angle de vision vertical horizontal ne doit pas être différent du vertical. La seule chose est que si le sol est sans aucune aspérité les ondes acoustiques de faible incidence sont réfléchies vers l'avant, donc non perçues par le capteur.
Par contre la limite d'une moquette ou d'un tapis par exemple, seront vus par le récepteur.
Le problème serait identique si le robot longeait un mur ou une porte: il ne les verrait pas.

Vous pourriez d'ailleurs vous amuser à rendre votre robot "furtif" : entourez le d"un bouclier à facettes type étoile à branches multiples et pointues, ou bien adoptez une forme soucoupe volante bien effilée et aplatie.
Et recouvrez les face de velours ou de peluche. Succès assuré du sumo poilu. :rolleyes:
 
Last edited:

PieM

Senior Member
balaie l'avant du robot comme un radar
J'ai adopté ce principe sur un petit robot solaire qui passe son temps (enfin, je l'appelle Wall-E et fait tout de même autre chose :)) à éviter des obstacles, et de rechercher une zone fortement éclairée afin de recharger sa batterie.
Le principe est un peu plus complexe, car il s'agit d'une tourelle actionnée par un moteur pas à pas, cette tourelle contenant un système de mesure de lumière sur un champ réduit, un sonar, un compas électronique et d'autres bricoles.
Le balayage permet donc de connaître l'azimut de ce qui est recherché ou à éviter et après le retour à zéro de la tourelle, le robot peut suivre un cap défini en fonctions des éléments mesurés et de ce qu'il a à faire.

Avec beaucoup moins de précision, ce principe peut être utilisé avec un servo fonctionnant par paliers; à chaque palier correspond un angle avec une mesure associée. Ensuite il faut corriger la trajectoire en fonction de l'angle retenu par action différentielle sur les roues.

Avec balayage, si un objet unique est vu à la même distance jusqu'à deux angles extrêmes de -X et de +y c'est qu'il se trouve à (-x+y)/2.
 

f.heckel

Member
blackbull.JPGj'avais déjà pensé un peu à le rendre furtif, voir la photo ci-jointe.
Je ne comprends pas trop " entourez le d"un bouclier à facettes type étoile à branches multiples et pointues" , pourriez vous me proposer une illustration ?
Le concept de la tourelle de PieM me parait séduisant, cependant, après quelques essais sur un autre robot se déplaçant avec des roues, je crois que c'est plus simple pour moi de faire pivoter le robot plutôt que le sonar seulement. Outre la rapidité, cela me permet aussi de présenter le "bon" coté de mon robot à l'adversaire. Par ailleurs, j'utilise déjà la seule interruption possible dans mon programme pour surveiller les limites du dojo et j'ai peur de faire un programme trop long et lent à exécuter.
Pour changer de sujet et vous distraire, voici un lien pointant sur une caméra embarquée dans une épreuve se suivi de ligne que j'ai organisé dans mon collège : http://www3.ac-nancy-metz.fr/techno-truffaut-hettange/joomla15/images/stories/3eme/ci5/suivi_de_ligne_dans_bidule.avi
au plaisir de vous lire

François HECKEL
 

PieM

Senior Member
Je pense que la furtivité ne devait pas être optimum ! de fait, le bouclier avant reste un superbe réflecteur pour les US, et la mousse ne doit pas être trop absorbante.
Il faut plutôt compter sur le phénomène de diffusion acoustique qui serait obtenue par une surface en dent de scie formée de triangles de 9mm environ de coté.

L'autre approche serait de neutraliser toute réflexion par l'emploi de dièdres (les branches de mon étoile) offrant au son des surfaces ne permettant pas la réflexion vers la source. Voir par exemple des images sur Google concernant les chambres sourdes.

Une autre méthode de défense (active) contre l'adversaire est d'émettre en permanence des US par un autre transducteur émetteur, sauf pendant le temps ou vous même faite la mesure.

Enfin, si votre robot est furtif, vous pouvez utiliser un leurre, simple morceau d'alu de qq cm2 au bout d'une tige pour qu'il soit à distance du robot sur le coté.

Enfin tout ça si le règlement du concours l'autorise ! :rolleyes:
 

jojojo

Senior Member
Une autre méthode de défense (active) contre l'adversaire est d'émettre en permanence des US par un autre transducteur émetteur

Ho ! ... Triche, là ! :)
 

BESQUEUT

Senior Member
si un objet unique est vu à la même distance jusqu'à deux angles extrêmes de -X et de +y c'est qu'il se trouve à (-x+y)/2.
Oui si X et Y ne dépassent pas 90 °... La moyenne de 2 angles peut poser quelques difficultés...
Exemple : pour -170° et + 170° La moyenne semble être zéro, mais la cible est plus probablement à 180°...
 

PieM

Senior Member
Oui si X et Y ne dépassent pas 90 °... La moyenne de 2 angles peut poser quelques difficultés...
Exemple : pour -170° et + 170° La moyenne semble être zéro, mais la cible est plus probablement à 180°...
Oui, mais dans le cas présent la différence d'angle est obligatoirement inférieure à l'angle d'émission du transducteur, par principe.
Si un transducteur de 60° est utilisé il ne peut y avoir recouvrement que pour un ange de +/- 30 ° maximum par rapport à la cible.
De plus dans le cas d'un servo, l'angle correspond à une valeur consigne comprise entre 75 et 225 environ.

J'ajoute que dans le cas d'un compas associé, les angles sont donnés entre 0 et 359.9 degrés.
 

micro_33

New Member
Bonsoir à tous

Je reviens à la question initiale, position du servo, comme le dit PieM, le servo se trouve dans la position qu'on lui a demandé. si c'est un servo style modélisme et qu'il n'y a pas blocage de celui-ci, le déplacement est proportionnel à la largeur de l'impulsion envoyée au servo, il suffit, une fois pour toutes, de mesurer la proportionnalité entre largeur d'impulsion et l'angle de déplacement obtenu, et d'appliquer ce coef. à la largeur de l'impulsion pour connaitre où se trouve le servo, nul besoin de recopie. Attention, au repos, le servo reçoit une impulsion de 1.5ms et la direction peut être considérée comme étant le 180°.
 
Top