Robot de rastreo de línea cuando los sensores están detrás del robot

2

Estoy intentando diseñar un robot, un trazador de líneas básicamente, pero el problema es que, en lugar de colocar los sensores en la parte delantera, se colocarán en la parte posterior.
Así que estoy tratando de desarrollar un algoritmo, pero hasta ahora no he tenido ningún éxito. Lo mejor que se me ocurre es que cuando aparece una curva y los sensores la detectan, entonces el robot retrocederá y dará la vuelta.
Eso es lo que puedo pensar.
Intenté buscarlo en Google, pero parece que nadie ha pensado en esto antes. Entonces, ¿puedo obtener un algoritmo eficiente? Yo uso un microcontrolador ATmega 128.

    
pregunta Rohit Shinde

3 respuestas

2

Ciertamente es posible hacerlo, pero como señaló David Kessner, es muy difícil hacerlo con un robot tradicional de dos ruedas.

Imagina lo que sucede cuando el sensor se da cuenta de que la línea está ligeramente a un lado. ¿En qué dirección debe girar el robot? Gire en una dirección, y el sensor ahora está por encima de la línea, ¡pero el robot en realidad se está alejando de la línea! Gire hacia el otro lado y el robot se dirige hacia la línea, pero el sensor está más alejado de la línea. Hagas lo que hagas, pierdes.

Sin embargo, si está construyendo este robot desde cero, entonces hay una solución. ¡Usa ruedas omnidireccionales!

Conestasruedasyalgunasmatemáticasinteligentes,puedeshacerqueturobotconduzcacomosi¡todoelrobotestuvieradetrásdelsensor!Tendráquepasaruntiempoestudiandoelcomportamientodelasruedasyresolviendolasmatemáticas,yaqueestoesdemasiadoparaexplicaraquí.

Paracomenzar,aquíhayunbuenvideodelas ruedas en acción :

    
respondido por el Rocketmagnet
3

¡No has visto un algoritmo para esto antes porque es una tontería! :) ¡Es por eso que los perros tienen su paquete de sensores al frente!

El problema es que, en el momento en que detectó salir de la línea, ya es demasiado tarde para corregirla. Además, si su robot es similar a otros robots de seguimiento de línea, cuando gira para volver al rumbo, los sensores realmente se moverán en la dirección equivocada, lo que causará más confusión y problemas de detección.

Su método de "copia de seguridad e intentarlo de nuevo" va por el buen camino, pero no es perfecto. Déjame sugerir un par de cosas. Tenga en cuenta que lo que sigue es pura especulación. Si bien he escrito un software autónomo de navegación para vehículos, esto podría no ser correcto al 100%, o incluso ser posible con su hardware.

Lo que tu robot necesita es un mapa. Básicamente, un modelo interno del campo de juego (a.k.a. el piso con una línea). También necesita una precisión de cálculo suficiente para poder crear este mapa y navegar dentro de él.

Inicialmente, el mapa está vacío y, a medida que el robot se mueve, rellena el mapa donde encuentra la línea y donde no. Si el robot sale de la línea, tendrá que retroceder para volver a él. Esta maniobra puede ser un poco más que un simple retroceso. Podría incluir algunos giros o lo que sea para ayudar a reubicar la línea más fácilmente y completar más el mapa.

En algún punto, el mapa está lo suficientemente completo como para contener la línea completa. Supongo que la línea es un bucle gigante. El robot puede cambiar los modos en los que intenta navegar alrededor del curso basándose principalmente en el mapa. Utiliza los sensores para determinar cuándo se desvía de lo que se esperaba y luego se corrige. De esta manera, puede compensar algún deslizamiento de las ruedas o la inexactitud en su cálculo de cuentas.

Este tipo de software no es trivial, pero no imposible. Necesitará una buena cantidad de RAM para almacenar el mapa, y sus motores / ruedas necesitarán algunos codificadores giratorios en ellos. ¡Pero puede ser un proyecto divertido y gratificante!

    
respondido por el user3624
1

Otra forma de abordar este problema es hacer que el sensor se mueva.

Como mencioné anteriormente, si el robot gira en la dirección correcta, el sensor obviamente se moverá fuera de la línea. De acuerdo, ¿por qué no monta el sensor en una cola móvil y lo mueve hacia la línea?

En realidad, la mejor manera de hacerlo es concentrarse en la cola. Servo la cola para que el sensor siempre se mantenga por encima de la línea.

Ahora junta la dirección y la cola juntas. A medida que la cola se mueve, también lo hacen los volantes. El robot se moverá en la dirección correcta y el robot no perderá la línea.

    
respondido por el Rocketmagnet

Lea otras preguntas en las etiquetas