Comment faire en sorte que deux pistes continues (marches de réservoir) se déplacent au même rythme?


12

J'ai quelques moteurs Vex 269 connectés à un Arduino Duemilanove . Ces moteurs exécutent quelques marches de réservoir Vex . Les deux moteurs sont exécutés en tant que servos sur l'Arduino à l'aide de la bibliothèque de servos. Le problème que j'ai, c'est que les deux pistes ne tournent pas à la même vitesse lorsqu'elles sont envoyées avec le même angle d'asservissement. Cela est clairement dû au fait que les pistes continues ont tellement de pièces mobiles qu'il est difficile d'obtenir des forces de friction identiques sur chaque piste.

Comment les faire bouger à la même vitesse? Devraient-ils se déplacer à la même vitesse étant donné le même angle de servo indépendamment du frottement et les moteurs Vex 269 ne sont tout simplement pas assez forts (ce qui signifie que je devrais utiliser le Vex 369 ou un autre moteur plus puissant)? Est-il préférable de faire des essais et des erreurs suffisamment longtemps pour déterminer quel angle d'asservissement entraîne des vitesses égales sur chacun? Dois-je bricoler les pistes jusqu'à ce qu'elles aient des frictions presque identiques? Merci beaucoup!

Réponses:


12

La réponse courte est que vous avez besoin d'un meilleur contrôle (rétroaction) pour le faire. En pratique, vous ne pourrez jamais calibrer le système avec suffisamment de précision pour aller droit sur plus de quelques dizaines de longueurs de corps de robot. Une fois que vous le composez parfaitement pour un ensemble de conditions, l'environnement ou les conditions d'usure changeront et vous devrez le régler à nouveau.

Les conditions de surface, la traction, l'attitude, l'isolement du moteur (la distribution de l'énergie électrique à chaque moteur à partir d'une source d'alimentation commune) et de nombreux autres facteurs opérationnels en temps réel affectent la vitesse vers l'avant de chaque côté du robot.

En fonction de vos exigences de précision, quelque chose d'aussi simple qu'une boussole magnétique (position aussi loin en avant que possible sur le robot pour maximiser sa réactivité) pourrait vous aider à maintenir un cap pendant le mouvement vers l'avant.

Souvent, il n'est pas extrêmement important de savoir précisément dans quelle direction se déplace votre robot; il doit simplement progresser sur une tâche (suivre le leader, rechercher une cible, etc.).

Si vous postez plus de détails sur votre robot et ses objectifs de conception, je pourrais vous aider davantage.

Une note sur le placement du capteur magnétique

Mais pourquoi devrais-je "positionner [le transducteur magnétique] aussi loin que possible"? N'est-il pas vrai que l'angle est le même? Ouaip. C'est vrai, mais la magnitude du champ magnétique terrestre ne l'est pas. Vous vous tenez à un endroit différent sur Terre .

Imaginez que votre robot soit aussi gros qu'une voiture. Si vous vous asseyez au centre géométrique de la voiture et que la voiture pivote autour de vous, vos coordonnées sur la Terre n'ont pas changé; seule votre attitude a. Maintenant , si vous êtes assis sur le capot de la voiture et la voiture répète le mouvement précédent de lui, à la fois votre attitude et vos coordonnées ont changé. Changer les coordonnées produit une plus grande différence d'amplitude du champ terrestre que la rotation seule.

Au cours des dernières années, j'ai travaillé au sein d'une équipe avec le Dr Dwight Veihland de Virginia Tech, sans doute le plus grand expert mondial des capteurs magnétiques à très haute sensibilité. Si je devais cristalliser le corps de son travail ( comme dans cet exemple ), je dirais qu'il est toujours à la recherche de rapports signal / bruit plus élevés pour détecter des amplitudes toujours plus minces.

Toute augmentation de la différence d'amplitude que vous pouvez générer facilite la vie de votre capteur ... et dans ce cas, vous l'obtenez gratuitement. Un certain nombre de robots DARPA Grand Challenge ont placé le capteur GPS en avant pour cette même raison.


1
Pour développer l'excellente réponse de DrFriedParts, consultez «Contrôle PID» pour en savoir plus sur un type de contrôle de rétroaction couramment utilisé. Question pour DrFriedParts: comment le positionnement de la boussole le plus en avant possible maximise-t-il la réactivité? L'angle sera le même, même si je peux voir que l'éloigner des pièces métalliques et des moteurs peut être utile.
ViennaMike

@ViennaMike - Merci! =) J'ai développé ma réponse pour couvrir votre question plus en détail que je ne pourrais le faire dans un commentaire.
DrFriedParts

Est-ce que quelqu'un connaît un article publié avec des expériences montrant que l'emplacement du capteur magnétique sur le robot améliore la précision de l'orientation en raison de sa position dans le champ magnétique terrestre? Cela semble plausible, mais je ne suis pas convaincu que l'effet serait perceptible. Je soupçonne que le simple fait d'éloigner le capteur des autres appareils électroniques du robot aurait un effet plus important. Je serais intéressé de voir les résultats de toute expérience à ce sujet!
golmschenk

@ViennaMike - Le contrôle PID des moteurs ne peut pas être utilisé ici pour résoudre le problème. Vous n'avez aucun retour de position / vitesse / courant, il n'y a donc rien à entrer dans la boucle de contrôle PID. Le PID fournit un moyen d'approcher en douceur une valeur cible, mais vous n'avez pas de valeur cible sans rétroaction supplémentaire sur la position du robot / vitesse de rotation différentielle des deux pistes (par exemple, vous avez besoin de plus d'informations que le robot / scénario de l'OP ne peut fournir).
DrFriedParts

@golmschenk - Regardez le premier grand défi de la DARPA et les articles publiés par les différentes équipes universitaires sur le placement de l'antenne GPS sur les véhicules (même concept) ... ou regardez les articles pertinents de Veihland. L'effet est sensiblement perceptible à des vitesses de voiture ou avec des capteurs magnétiques à l'échelle des minutes. Il est visible à presque n'importe quelle échelle robotique pratique avec GPS.
DrFriedParts
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.