lunes, abril 16, 2012

3m/s (IV): Resolución en el eje Y

Retorno con el velocista después de mucho tiempo...

Como vimos en la primera entrada de la serie el tiempo que tarda en tomar (y procesar) dos medidas de los sensores es muy importante, ya que determinará la resolución máxima que podemos tener a una velocidad determinada. Existe un límite que nos pone una cota máxima al tiempo que podemos tardar entre dos medidas: el teorema de Nyquist (en la wikipedia inglesa está algo más explicado), resumiéndolo un poco nos dice que para poder reconstruir el camino sin errores debemos tomar los datos a una velocidad mayor que el doble de la velocidad a la que cambia la curva.

Vamos a intentar explicar esto (teorema de Nyquist aplicado a un velocista):
Supongamos que no somos un observador externo sino que vamos montados en el propio velocista mirando al suelo. Sin ninguna referencia más podríamos pensar que estamos quietos y lo que se desplaza es el suelo, esto es, una línea negra en un fondo blanco; imaginemos, además, que sólo vemos esa línea a través de una redija muy pequeña sin que podamos ver más allá para prevenir una curva, esto es nuestra señal de entrada.

Si tuvieramos eso sería un sistema analógico normal y corriente; pero nuestro sistema (al ser microprocesado y no construido con filtros analógicos) tiene una particularidad: es discreto en el tiempo, es decir, no estamos viendo la línea continuamente sino que sólo podemos tomar fotografías en instantes concretos de tiempo, o lo que es lo mismo, es como si estuvieramos viendo la línea únicamente iluminada a través de una luz estroboscópica (flashes que saltan cada cierto tiempo).

Si el tiempo entre fotografías (o flashes) es demasiado alto seguramente no podríamos seguir la línea, no podríamos corregir la dirección y acabaríamos estrellando el velocista.

Es difícil determinar el tiempo mínimo que cumple el teorema, sin embargo, es más visual ver la resolución en metros (centímetros o milímetros), es decir la distancia que recorrerá el robot entre dos medidas a la velocidad a la que vayamos. Para tener una referencia contaremos que el eje de giro será t=0, lo que recorra el robot será el eje positivo y lo que ya halla recorrido el eje negativo.

Evidentemente si bajamos la velocidad del velocista la distancia que recorremos entre flashes será menor y si la subimos mayor. Si optimizamos el tiempo de proceso o cogemos un micro más rápido (los flases más seguidos) la distancia recorrida disminuirá y si escogemos un micro más lento la distancia augmentará.

Sin embargo, lo bueno de todo es que, siempre que cumplamos el tiempo mínimo que dice el teorema, dará igual a qué velocidad vayamos que siempre podremos procesar correctamente la señal.


S2

Ranganok Schahzaman

miércoles, abril 11, 2012

Proyecto: Tricorder (II)

He empezado ha hacer mis pinitos con el MIT Android App Inventor que es relamente sencillo de utilizar. Siguiendo con el Proyecto Tricorder, he creado una pequeña aplicación que lee los datos del accelerómetro, la brújula y la posición (a partir de la red GSM), y los actualiza cada segundo.

La aplicación puede bajarse del siguiente código QR (puedes pulsar sobre él):


El próximo paso podría ser utilizar el Bluetooth para comunicar con un dispositivo externo.

S2

Ranganok Schahzaman

PD: Si alguien quiere el "código" (en realidad es un diagrama de flujo), que lo pida y se lo paso.

martes, abril 03, 2012

Proyecto: Tricorder


Hace tiempo que vengo observando las aplicaciones que se realizan para móviles y que convierten estos en un completo laboratorio en el bolsillo (II y III), viendo esto me estaba acordando de la serie Star Trek, y de cómo con un pequeño aparato realizaban todas las lecturas de una zona planetaria, o de una especie nueva (generalmente una hembra con ganas de liarse con el capitán).

Por otro lado, hace unos pocos días ví como querían crear uno de estos Tricoders... Pero, ¿por qué reinventar la rueda cuando ya la tenemos?

Cojamos un móvil (smartphone) que ya lleva varios de los sensores que necesitamos y pongámosle el resto en un aparato externo.

Por ejemplo, un Xperia Neo V lleva:
- Accelerómetro
- Sensor de luz ambiente
- Magnetómetro
- Sensor de proximidad (?)
- GPS & GLONASS
- Touch screen: Capacitiva (multi-touch)
- TFT: 16.777.216 colores, 854x480 pixels, 3.7"
- Cámara: 5 megapixel, Zoom 16x Digital, Vídeo HD 720p
- Cámara frontal: VGA
- LED flash
- Bluetooth™
- Wi-Fi® (IEEE 802.11b/g/n)
- Micrófono
- Altavoz

Es decir, tenemos varios sensores, un procesador muy decente (1GHz), una pantalla para visualizar los resultados y por si fuera poco comunicaciones suficientes para conectarnos con otros sensores u otros equipos. ¿Por qué no usarlo?

S2

Ranganok Schahzaman

PD: Buscando información por la red he encontrado que ya existe una App para Android que lo convierte en un Tricorder, sin embargo creo que se le puede sacar más partido a la cosa, utilizando de otra forma los sensores o añadiéndoles más.