jueves, 17 de abril de 2008

Una de vídeos tontos

Hace tiempo que no pongo ningún vídeo curioso de robots, espero que no lo hayáis echado en falta.

El primero de ellos es un robot que escucha los toques del tambor e intenta imitarlos, es increíble de lo que es capaz el ser humano cuando se aburre...



¿Recordáis el vídeo del cuadrúpedo que os puse hace un tiempo?, pues os dejo otro vídeo de este impresionante modelo.



Repito, es increíble lo que llega a realizar el humano cuando se aburre... realmente increíble...

Y por último un vídeo que poco o nada tiene que ver con el mundo de los robots y con el TFC, pero a fin de cuentas esta entrada está un poco fuera de lugar, así que tampoco desentonará mucho. Va dedicado a toda esa estupenda gente que ha pasado casi media vida delante de una preciosa consola negra y ha programado en vi ;) (y que seguro siguen haciéndolo)


Aceleraciones y ajustes

Llevo ya muchos días enfrascado trabajando con el acelerómetro del mando de la wii, este dispone de un acelerómetro ADXL330 para medir la fuerza que actúa sobre el mando en los tres ejes. De momento sólo trabajo con la información del eje Y, ya que el mando estará colocado de forma horizontal con los mandos hacia arriba y la cámara de infrarrojos hacia delante.

Con esta información no pretendo determinar la velocidad a la cual se desplaza el robot, sino la distancia que avanza. Si recordamos un poco de la física que estudiamos en el instituto (ha llovido mucho desde entonces...) derivando la distancia recorrido respecto del tiempo obtenemos la velocidad, y derivando de nuevo esta llegamos a la aceleración. Deshaciendo este camino llegamos de nuevo a la distancia.

Las pruebas realizadas no me han dejado muy contento, los datos obtenidos de la realidad distan bastante de los valores esperados, por lo que Javi me sugirió que utilizase el filtro de Kalman para suavizar el impacto de estos. Este filtro utiliza la información de la medición para intentar 'adivinar' con la mayor probabilidad posible el valor que debería tener el siguiente dato (en relación al que ha tenido). Si queréis ahondar un poco más, os dejo el enlace de la socorrida wikipedia.

Una vez implementado este filtro en python he pasado a realizar nuevas mediciones y he podido ver como los datos filtrados se ajustan más a la realidad que los propios datos leídos del mundo real.

Ahora sólo queda saber si con la aceleración filtrada puedo obtener una medida del espacio coherente, que será a lo que dedique los próximos experimentos.

Os dejo un gráfico que representa la aceleración del mando en su eje Y en un tiempo de aproximadamente dos segundos.


sábado, 5 de abril de 2008

Consejos para Lego Digital Design

Después de jugar un buen rato con este software, he recopilado una serie de consejos que de haberlos sabido me habrían ahorrado tiempo y algún que otro quebradero de cabeza, así que los publico por si en el futuro pueden venirle bien a alguna persona (incluido yo mismo, que tengo una memoria...)

  • Siempre que tengas una construcción que te gustaría conservar en LDD dedica unos minutos a comprobar que no tienes piezas forzadas

  • Utiliza todos los recursos que te provee el software, por ejemplo, para piezas que tienes montadas de forma simétrica es más sencillo clonar la que ya tienes puesta que coger una nueva y girarla

  • Las piezas pueden girarse con total libertad, pero requiere un poco de astucia. Si deseas colocar una pieza con una inclinación de 45º, coloca un conector y utiliza la herramienta de giro (Hinge Tool) para hacerla rotar sobre este conector. Necesitarás un poco de pulso para obtener la inclinación deseada, ya que el programa no te da información sobre la nueva posición

  • No te desesperes si una pieza no quiere encajar en su lugar correspondiente, prueba a girar la cámara para encontrar un mejor ángulo de trabajo

  • La mejor forma para trabajar que he encontrado es manejar la cámara (giros y zoom) con el ratón y los giros de pieza y atajos de teclado con la otra mano

  • Es posible que utilices piezas que no vienen en el inventario, en ese caso tendrás que echarle imaginación para procurar encontrar un sustituto a ese elemento. Lamentablemente la mayoría de las piezas Technic no vienen incluidas, esperemos que en el futuro esto cambie

  • No olvides colocar los cables si trabajas con el set de Mindstorm, no es vital, pero así tu modelo estará completo

¡Suerte!

viernes, 4 de abril de 2008

Lego Digital Design

Hace tiempo descargué esta aplicación de Lego y hasta hoy no he recordado su existencia. Como se intuye por su nombre, nos permite desarrollar un diseño digital de nuestras construcciones, funciona a modo de CAD y es muy útil para gente tan despistada como yo que nunca sabe como reconstruir los modelos.

Los usuarios de MAC tienen su propia versión, y para los rebeldes insurrectos que nos negamos a utilizar sistemas propietarios, pues siempre nos quedará nuestro querido wine :D


jueves, 3 de abril de 2008

Buscando en youtube

Casi sin quererlo he encontrado estos dos vídeos en Youtube. Al primero de ellos he llegado a través de la web de "robótica recreativa y educativa" y es un ejemplo del uso del sensor gyro en el NXT. Creo que este vídeo le puede venir bien a cualquier persona que quiera construir un péndulo invertido, pues si no me equivoco la construcción de un artilugio así debe basarse en el mismo principio que utiliza este otro péndulo para detectar la velocidad y posición. Por cierto, el robot lo ha desarrollado hitechnic



El otro vídeo es de un robot "busca-caminos", "evita objetos" o como queramos llamarlo, me ha llamado la atención las ruedas que utiliza (por llamarlo de alguna forma), si no me equivoco están tomadas de la serie Exoforce de Lego. El robot es de grandes dimensiones, y gira sobre su propio eje gracias al enorme tamaño de las ruedas, ya que cada par de ruedas puede ser controladas por un motor sin utilizar un número excesivo de ruedas dentadas. ¿Y para que sirve esto?, por ejemplo, para construir un robot grande capaz de incorporar muchos sensores o material vario. Si queremos dotarle de dirección al vehículo esta puede resultar poco útil en terreno adverso y lo mas eficiente son los giros sobre el propio eje, vamos, lo que hacen los tanques


miércoles, 2 de abril de 2008

El robot que era tímido

Para que el wiimote y el NXT empiecen a trabajar juntos, he construido un robot muy sencillo que acopla el mando de la wii. El algoritmo de trabajo es muy sencillo a falta de unas cuantas pruebas mas, al recibir una señal de infrarrojos el robot gira 180 grados para "huir" de la señal.

En las pruebas se han producido giros superiores a 180 grados, esto ocurre por que se detectan varios mensajes que indican la presencia de una fuente emisora, por lo que son varios semi-giros los que se producen.

Como viene siendo normal, he utilizado python junto con nxt-python y cwiid, todo servido en una bonita máquina derivada del modelo básico que viene con la caja de lego.


Los ojos de Benito


Estoy haciendo pruebas con la cámara de infrarrojos que incorpora el wiimote, esta cámara nos proporciona una resolución de 1024x768 con una profundidad de color de 1 bit y es capaz de ver hasta cuatro puntos de forma simultánea.

Con la librería pygame de python he escrito un pequeño programa para "ver" tal y como lo hará el robot con la cámara del mando, y este es el resultado


La prueba ha sido hecha con el mando de la minicadena, emitiendo de forma continua (atendiendo a la repetición de la tecla back-track) en línea horizontal con el mando. La verdad, ahora mismo no se como interpretarlo, debo darle aún un par de vueltas para saber como ver con estos ojos nuevos, seguiré informando ;)

martes, 1 de abril de 2008

Johnny5

Ayer recordé una web que encontré al poco de tener el NXT, y es que cualquiera que haya visto el sensor de ultrasonidos lo habrá asociado inmediatamente con la película "cortocircuito". Pues bien, os paso una página en la que muestran al robot construido (no he encontrado las instrucciones) y un bonito vídeo del Johnny5 en acción



que conste que con esto no quiero influir en las votaciones de la encuesta, que ya sabéis todos que para mi el mejor siempre será Mazinger Z (y no me refiero al Papa)