¿Cómo hacer que dos pistas continuas (huellas de tanques) se muevan a la misma velocidad?

12

Tengo un par de Vex 269 Motors conectados a un Arduino Duemilanove . Estos motores funcionan con unas bandas de rodadura Vex Tank . Los dos motores se ejecutan como servos en el Arduino utilizando la biblioteca de servos. El problema que tengo es que las dos pistas no giran a la misma velocidad cuando se envía el mismo ángulo de servo. Esto se debe claramente al hecho de que las pistas continuas tienen tantas partes móviles que es difícil obtener fuerzas de fricción idénticas en cada pista.

¿Cómo consigo que se muevan a la misma velocidad? ¿Deberían estar moviéndose a la misma velocidad dado el mismo ángulo de servo independientemente de la fricción y los motores Vex 269 simplemente no son lo suficientemente fuertes (lo que significa que debería usar el Vex 369 o algún otro motor más potente)? ¿Es mejor simplemente hacer prueba y error el tiempo suficiente para determinar qué ángulo del servo resulta en velocidades iguales en cada uno? ¿Debo jugar con las pistas hasta que tengan fricciones casi idénticas? Muchas gracias

Golmschenk
fuente

Respuestas:

12

La respuesta corta es que necesita un mejor control (retroalimentación) para hacerlo. Prácticamente, nunca podrá calibrar el sistema con la precisión suficiente para ir directamente a más de unas pocas decenas de longitudes de cuerpo de robot. Una vez que lo marque perfectamente para un conjunto de condiciones, el entorno o las condiciones de uso cambiarán y tendrá que afinarlo nuevamente.

Las condiciones de la superficie, la tracción, la actitud, el aislamiento del motor (la distribución de energía eléctrica a cada motor desde una fuente de energía común) y muchos otros factores operativos en tiempo real afectan la velocidad de avance para cada lado del bot.

Dependiendo de sus requisitos de precisión, algo tan simple como una brújula magnética (posicionarse lo más adelante posible en el robot para maximizar su capacidad de respuesta) podría ayudarlo a mantener un rumbo durante el movimiento hacia adelante.

A menudo no es críticamente importante precisamente en qué dirección se está moviendo su 'bot; más bien, simplemente necesita avanzar en alguna tarea (seguir al líder, buscar un objetivo, etc.).

Si publicas más detalles sobre tu robot y sus objetivos de diseño, podría ayudarte más.

Una nota sobre la colocación del sensor magnético

Pero, ¿por qué debería "colocar [el transductor magnético] lo más adelante posible"? ¿No es cierto que el ángulo es el mismo? Sip. Eso es cierto, pero la magnitud del campo magnético de la Tierra no lo es. Estás parado en un lugar diferente en la Tierra .

Imagina que tu robot es tan grande como un automóvil. Si se sienta en el centro geométrico del automóvil y el automóvil gira alrededor de usted, sus coordenadas en la Tierra no han cambiado; solo tu actitud lo ha hecho. Ahora, si está sentado en el capó del automóvil y el automóvil repite su movimiento anterior, tanto su actitud como sus coordenadas han cambiado. Cambiar las coordenadas produce una mayor diferencia en la magnitud del campo de la Tierra que la rotación sola.

En los últimos años trabajé en un equipo con el Dr. Dwight Veihland de Virginia Tech, posiblemente el principal experto mundial en sensores magnéticos de súper alta sensibilidad. Si tuviera que cristalizar el cuerpo de su trabajo ( como en este ejemplo ), diría que siempre está buscando mayores relaciones de señal a ruido en la detección de magnitudes cada vez más pequeñas.

Cualquier aumento en la diferencia de magnitud que pueda generar facilita la vida de su sensor ... y en este caso, lo obtiene de forma gratuita. Varios robots DARPA de gran desafío colocaron el sensor GPS hacia adelante por esta misma razón.

DrFriedParts
fuente
1
Para ampliar la excelente respuesta de DrFriedParts, consulte "Control PID" para obtener más información sobre un tipo de control de retroalimentación comúnmente utilizado. Pregunta para DrFriedParts: ¿cómo posicionar la brújula lo más adelante posible maximiza la capacidad de respuesta? El ángulo será el mismo independientemente, aunque puedo ver que alejarlo de las piezas de metal y los motores es útil.
ViennaMike
@ViennaMike - ¡Gracias! =) Expandí mi respuesta para cubrir su pregunta con más detalle del que podría incluir en un comentario.
DrFriedParts
¿Alguien sabe de un artículo publicado con experimentos que muestren que la ubicación del sensor magnético en el robot mejora la precisión de orientación debido a la posición en el campo magnético de la Tierra? Suena plausible, pero no estoy convencido de que el efecto sea notable. Sospecharía que alejar el sensor de otros dispositivos electrónicos en el robot tendría un efecto mayor. ¡Me interesaría ver los resultados de cualquier experimento sobre esto!
golmschenk
@ViennaMike: el control PID de los motores no se puede utilizar aquí para resolver el problema. No tiene ningún comentario de posición / velocidad / corriente, por lo que no hay nada que ingresar al bucle de control PID. PID proporciona un medio para aproximarse sin problemas a un valor objetivo, pero no tiene un valor objetivo sin retroalimentación adicional sobre la posición del robot / velocidad de rotación diferencial de las dos pistas (por ejemplo, necesita más información que el robot / escenario del OP) proporcionar).
DrFriedParts
@golmschenk - Mira el primer gran desafío de DARPA y los documentos publicados por los diversos equipos universitarios sobre la colocación de la antena GPS en los vehículos (mismo concepto) ... o mira los documentos relevantes de Veihland. El efecto es notablemente notable a velocidades de automóvil o con sensores magnéticos a escala de minutos. Es notable en casi cualquier escala robótica práctica con GPS.
DrFriedParts