NXT siguiendo lineas

Agosto 17, 2007 on 11:21 pm | In Gadgets, Robotica |

Ya tenemos los primeros resultados del mindstorm NXT. He construido un robot muy simple que jugando con la programación consigue seguir una línea negra sobre fondo blanco.

En la primera aproximación partimos de que el robot se encuentra sobre la línea negra y le ponemos a andar, pero generando cierta deriva a la derecha para que intente salirse de la línea siempre por la derecha, y tan pronto detecte que se ha salido, corrige bruscamente a la izquierda. Con esto ya tenemos un robot sigue-líneas pero que solo es capaz de girar en una dirección.

En una segunda aproximación y para que pueda girar en ambas direcciones, le hacemos andar mas despacito con las siguientes premisas, si ve blanco gira a la izquierda, si ve negro a la derecha. Con esto conseguimos girar en ambos sentidos, pero a una velocidad bastante lenta.

En la tercera aproximación volvemos al primer algoritmo con deriva, pero en caso de que al girar para corregir la deriva no encuentre la línea, supone que se ha confundido y gira hacia el otro sentido. No es ninguna maravilla, pero va más rápido que el segundo.

¿A alguien se le ocurre un algoritmo mejor con un sólo sensor de luz?

Usando dos sensores de luz, ya se puede tener una mejor referencia de donde está el robot y se consiguen mejores resultados. En este programa controlo si la línea negra está a la izquierda o derecha del centro del robot según se ve por uno u otro sensor. El robot puede ir bastante más rápido sin perder el control.

4 comentarios »

Suscripción RSS a los comentarios de la entrada. URI para TrackBack.

  1. Muy interesante tu aproximación al problema del seguimiento de la línea, pensaré sobre si es posible mejorar el caso con un solo sensor, aunque no parece fácil. Yo soy novato con esto, y hasta ahora programo con el lenguaje visual incluido en mi pack, aunque me gustaría pasar a un lenguaje más estándar, tipo C, sé que se puede pero no tengo programas para ello, ¿serías tan amable de darme alguna dirección que me oriente? Muchas gracias

    Comentario por Juanelo — Lunes 20 Agosto, 2007 #

  2. Yo uso NXC para programar en C, que se integra perfectamente con el NXT. Puedes ver información aquí: http://bricxcc.sourceforge.net/nbc/

    En concreto yo uso el entorno BRICX que inlcuye un entorno de comunicación con el NXT además de los compiladores necesarios para escribir y ejecutar los programas en NXC: http://bricxcc.sourceforge.net/

    Salu2.

    Comentario por Davidin — Lunes 20 Agosto, 2007 #

  3. Tas colgado mamon pero mola mucho…

    Comentario por ivancio — Martes 11 Septiembre, 2007 #

  4. Hola amigo….muy interesantes tus propuestas para el seguidor de linea…yo estoy empezando con esto del nxt de lego y quisiera saber si podrías pasarme tus programas del seguidor de linea. Yo estoy usando el programa que vino con el kit

    Comentario por Novato — Viernes 23 Mayo, 2008 #

Deje un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds. Valid XHTML and CSS. ^Top^