Robot Avec Détection Des Bords - fischertechnik Mobile Robots II Manual De Instrucciones

Ocultar thumbs Ver también para Mobile Robots II:
Tabla de contenido

Publicidad

Idiomas disponibles

Idiomas disponibles

Problème 1 :
Programme l'interface de telle façon que la maquette avance tout
droit pendant 40 impulsions. Pour mesurer le nombre des
impulsions, utilise le contacteur de comptage E1, et comme
interrupteur de remise à zéro le contacteur
se trouvant en E8. Modifie ensuite le
programme de telle façon que la maquette
parcoure des trajets de différentes longueurs,
p. ex. 80 cm. Quelle est alors la précision à
la répétition pour de tels trajets ?
Problème 2 :
La maquette doit tourner de 180° après le tra-
jet rectiligne de 80 impulsions. Tiens compte des
différents sens de rotation des moteurs d'en-
traînement lors du déplacement rectiligne et de
la rotation.
Solution :
En moyenne, la maquette parcourt 1 cm par im-
pulsion comptée. La reproductibilité est du
même ordre de grandeur, environ 1 cm pour 80
impulsions. Elle fluctue cependant en fonction
du support sur lequel le robot se déplace. Les
revêtements de sol textiles épais ou moelleux
sont particulièrement défavorables.
Avant de nous tourner vers ce problème, nous allons éclaircir deux choses.
D'une part, nous avons utilisé dans notre programme un nouveau module
fonctionnel appelé POSITION. Il s'agit là d'un module qui reste actif jusqu'à
ce que le nombre d'impulsions réglé soit détecté à l'entrée spécifiée (ici E1).
Dans l'optique du programme, ceci signifie que nous utilisons ici une
condition d'attente définie. Lors du premier essai, nous avons utilisé cette
fonction comme mesure du trajet pour l'avance rectiligne.
Si le robot doit tourner, l'approche est pratiquement la même, nous devons
simplement modifier le sens de rotation des moteurs. À présent, nous
n'avons plus qu'à entrer le nombre des impulsions et notre robot tournera
sur place.
Venons-en au deuxième point. Nous n'allons pas simplement faire des
essais jusqu'à ce que le robot tourne de 180° ; nous allons auparavant
calculer cette valeur.
Les moteurs d'entraînement ont une configuration de differential drive,
c'est-à-dire que les roues du robot se déplacent, lors de la rotation, sur la
circonférence d'un cercle dont le diamètre est déterminé par l'écartement des
roues. Pour une rotation de 180° chaque roue devra donc parcourir
exactement la moitié de cette circonférence.
Calculons tout d'abord la circonférence u :
u = S • d = 630 mm
d = diamètre (écartement des roues env. 200 mm)
Précédemment, nous avons déterminé un trajet d'env. 1 cm/impulsion, nous
avons donc besoin de 30,5 impulsions pour le trajet de 314 mm (demi-
circonférence). Comme nous ne pouvons calculer que des valeurs entières,
nous devons nous décider pour 30 ou 31 impulsions. Nous testons quelle
valeur réelle fournit la plus grande précision.
Conclusion :
Après les mesures effectuées avec la roue d'impulsion, nous constatons que
la précision que nous pouvons atteindre dans nos mesures n'est pas très
élevée. En particulier lorsque le robot parcourt plusieurs trajets les uns
derrière les autres ou de façon répétée, l'erreur absolue de la mesure
s'accumule. C'est tout aussi problématique avec l'erreur qui apparaît en
raison de cycles qui n'ont pas encore été entièrement saisis.
Les possibilités de minimiser ces erreurs sont limitées. On peut d'une part
augmenter le nombre d'impulsions de déplacement par unité de longueur.
L'idéal serait de monter le compteur directement sur l'arbre du moteur. En
plus du fait que nous n'avons pas accès à cet arbre, il apparaît ici le
problème de la vitesse de détection limitée de l'interface. S'il lui parvient
trop d'impulsions par unité de temps, il se peut que l'interface en « oublie »
quelques-unes. Un calcul précis du trajet devient alors illusoire.
Il existe d'autres erreurs que nous ne pouvons pas du tout chiffrer, comme
p. ex. le glissement des roues sur différents supports ou les variations dans
le diamètre des roues. Nous nous consolons à la pensée que ces
problèmes ne sont parfois qu'insuffisamment résolus même par des
systèmes commerciaux beaucoup plus complexes et beaucoup plus chers.
4.2 Robot avec détection des bords
Maintenant que nous avons examiné en détail notre maquette de base,
nous allons essayer de faire apprendre au robot la « peur » des précipices.
Jusqu'à présent, le robot s'est agité sur le dessus de table sous notre
surveillance attentive pour qu'il ne tombe pas de la table. En vérité, ce n'est
pas un comportement particulièrement intelligent. Nous allons donc changer
cet état de choses.
Pour détecter un bord, le robot a besoin d'un détecteur de bords. Un
procédé à la fois simple et praticable utilise deux roues auxiliaires. Comme
c'est le cas pour une antenne d'insecte, celles-ci sont placées dans le sens
du déplacement devant le robot, et équipées d'un interrupteur. Ces roues
sont construites de façon à pouvoir se déplacer verticalement. Un bord fait
tomber la roue auxiliaire vers le bas et déclenche ainsi le capteur.
Problème 3 :
Construis la maquette « Robots avec détection des bords
» conformément à la notice de montage (démultiplication 50 : 1).
La maquette doit avancer tout droit. Aussitôt qu'elle arrive à un
précipice se trouvant à gauche, elle devra l'éviter vers la droite, s'il
se trouve un précipice à droite, elle devra l'éviter vers la gauche.
Pour obtenir une meilleure vue d'ensemble, on utilisera certains
déplacements sous forme de sous-programmes (En avant, À gauche
et À droite). Le nombre de pas sera détecté par des contacteurs de
comptage.Il sera fixé dans une variable appelée VAR10. Cette donnée
sera différente pour les sous-programmes À gauche et À droite.
F
35

Publicidad

Capítulos

Tabla de contenido
loading

Tabla de contenido