domingo, 26 de agosto de 2007

NXT siguiendo lineas

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.

7 comentarios:

Toni Ferraté dijo...

Excelente!

El otro dia un niño me preguntaba como hacer un seguidor de líneas con sólo el kit y le daré esta dirección...

Anónimo dijo...

Hola, pues queria saber que materiales se utilizaron y si se puede hacer desde el PIC 16F84A, y si tienen informacion se los agradeceria.

Att: Omar.

Anónimo dijo...

si puedes a partir de ese micro, hay un manual circulando por la red, pero por 250 euros mas o menos....nose....te lo compras no?=
se amortiza rapido si te gusta
yo estoi ahora haciendo el proyecto de la uni con un nxt, tiene que salir d un laberinto y me lo compre yo.tu mismo.

Gustavo Delgado dijo...

hola, excelente trabajo, y una consulta.... el algoritmo lo hiciste usando el software que trae Lego con las cajas graficas y eso, o con programacion usando C, java u otro???

la verdad necesito algun ejemplo de aquello usando el software con los botones y sensores, ya que en prohgramacion me manejo super pero con ese software :S me complico demasiado....

saludos y buen blog.

Davidin dijo...

Programo en NXC, que es muy similar a C. El entorno de cajitas tampoco me gusta nada de nada.

Saludos.

Anónimo dijo...

hermano podria subir la programacion del seguidor de lineas V4... porfa...

Anónimo dijo...

pero en NXT plis...