viernes, 19 de marzo de 2010

Máquinas de Turing (II): Leyendo una cinta

Voy a empezar a construir un robot que sea capaz de leer una cinta.

La cinta, serán tiras de papel de distinta longitud, puestas en línea recta por el suelo.



Y el robot encargado de leerlas, será este. Es un poco cutrecillo, porque está hecho a lo deprisa y corriendo, pero cumple su función con creces.







No voy a añadir un LDD en este momento, pero si un par de fotos para que veaís como se ha construido.

Y ahora vamos a ponerlo en marcha. Aquí tenéis el video, el cable que cuelga es el del usb, porque hoy no funcionaba la conexión bluetooth, yo creo que es porque llueve.




He registrado con matlab los valores que lee el sensor de luz y este es el resultado



Se pueden ver claramente que hay cuatro tramos de color blanco detectado, uno mediano, dos pequeños consecutivos y por último uno largo final. Que se corresponden con las tiras que había en el suelo.


Y con esto y un bizcocho, he hecho una primera aproximación a leer una cinta de una máquina de turing, no sé si el modelo final será así, pero para empezar me vale.

Máquinas de Turing (I): Primera toma de contacto

Navegando por internet me encontré con algo que resultó muy interesante: máquinas de turing construidas con legos.

Este es el primer blog de máquinas de turing hechas con el nxt que encontré. El video, aparte de divertido, es bastante espectacular.

Utilizan el sensor de contacto para leer los valores de la cinta, montada sobre unos railes de lego. Y para escribir utilizan un motor que hace girar los cuadrados de lego.

La segunda referencia sobre legos y máquinas de turing la encuentro en el capítulo 3 del libro Lego Mindstorms Masterpieces.

En la previsualización del libro, en el índice, se puede ver una foto del resultado. No la pongo porque vete tú a saber que pasaría ... igual es ilegal y todo.

Aquí la cinta es una serie de "interruptores" fabricados con vigas de tres y un dispositivo motor que las gira de un lado al otro, posición borrar y escribir. Es un resultado un poco menos vistoso que el anterior.

Em ambos casos la cinta está limitada, podría ser interesante construir una máquina que tuviera cinta ilimitada.

Una vez que he visto todo esto y se me han puesto los dientes largos ... voy a ver como construyo mi propia máquina de turing.

Para empezar me hace falta un poco más de teoría sobre las máquinas de turing, para ver exactamente qué puedo construir.

Creo recordar así del tirón que había casos en los que no hacía falta escribir, sólo leer. En este caso por ejemplo con el sensor de luz podría leer líneas dibujadas en el suelo de algún color para distinguir

#ROJA# #VERDE## #VERDE# #ROJA# #VERDE#

Luego en matlab ver una gráfica del tipo ___---____----___ e interpretarla como 0 ó 1.

Mientras refresco todos mis conocimientos de máquinas de turing, voy a intentar construir un primer prototipo de este modelo.

Bueno, ya hemos empezado otra aventurita con el lego :D