Portátil Asus EEE y Robótica


asus_eee3.jpg

Este fin de semana Andrés y yo nos hemos comprado un Portátil Asus EEE modelo 701 con Linux para utilizarlo como cerebro en el Robot FlatBot.

La verdad es que estamos emocionados 🙂 Este portátil es perfecto para la robótica: consume poco, tiene una webcam integrada, Wifi, todos los periféricos que hemos probado funcionan muy bien: conversores USB-serie, cámaras de vídeo, ipod, conversores USB-serie… Pero lo mejor de todo son sus dimensiones: 225 × 165 × 21mm


asus_eee2.jpg

En este vídeo se puede ver el robot en acción. Andrés lo está telecontrolando desde otro Portátil por ssh.

[youtube]http://www.youtube.com/watch?v=mYO-tqRL7pY[/youtube]

La configuración es muy sencilla. El Asus está sobre el FlatBot. A través de un puerto USB (y usando un conversor USB-serie) está conectado a la tarjeta Skypic que tiene grabado este firmware hecho en C. En el Asus se abre un terminal de comunicaciones (minicom). La Skypic activa los motores del robot cuando recibe los caracteres ‘o’ (izquierda), ‘p’ (derecha), ‘q’ (adelante), ‘a’ (atrás) y espacio (parar) por el puerto serie.
Para telecontrolar el robot sólo hay que abrir una sesión ssh por wifi, entrar en el Asus, ejecutar el minicom y usar las teclas anteriores para moverlo.

Hitec y Obijuan

Frikeando con FlatBot :-)


flatbot-epi1.jpg

El robot FlatBot ofrece muchas posibilidades para el frikeo. La aplicación para la que fué concebido es convertir tu portátil en un robot, pero es una perfecta base móvil ;-). Ayer vino Andrés a mi casa y se trajo a FlatBot. Hicimos algunos experimentos muy interesantes:

[youtube]http://www.youtube.com/watch?v=tHx8VzlFlrQ[/youtube]

También realizamos algunas pruebas de transporte del Robosapiens V2, que pesa 4.3Kg:

[youtube]http://www.youtube.com/watch?v=lojJpX5g2EA[/youtube]

[youtube]http://www.youtube.com/watch?v=4y61ehRpMdE[/youtube]

Las posibilidades son infinitas. Colocando una papelera encima podemos tener una canasta móvil 😉


flatbot-papelera.jpg

En todas las pruebas estamos controlando el robot desde un portátil mediante un cable serie. Pero esto se puede hacer de manera inalámbrica por Bluetooth.

La campus está cerca… y nuestro frikismo va en aumento!!!! 😀

Obijuan

Dibujando con Inkscape


cuadrupedo.jpg

El programa que estoy usando para hacer los dibujos de mi tesis es el Inkscape. Es un programa de dibujo en 2D, libre y multiplataforma (Linux, Mac, Windows). Lo mejor es que los ficheros se graban en el formato vectorial SVG, que es abierto y basado en XML.
Yo descubrí este programa el año pasado, cuando acudí a la iParty9 en Castellón de la Plana. Desde entonces lo estoy usando.

Nunca he sido un buen dibujante, pero con el inkscape puedo hacer muy fácilmente dibujos como este robot cuadrúpedo modular que he dibujado hoy. La técnica es muy sencilla. A partir de una foto o pantallazo lo único que tienes que hacer es importarla en inkscape y “calcarlo”, igual que hacíamos en prescolar 😉

El cuadrúpedo lo he “calcado” de esta imagen que he geneado con el MRSuite.


pucho-sim.jpg

Obijuan

Experimentando con FlatBot

Aprovechando el mal tiempo que acompaña estos días, pero que nos viene de maravilla, he construído el FlatBot. Se trata de una especie de Skybot (lleva las misma electrónica), pero con una base plana y grande para poder poner un portátil encima.

Vista inferior con la electrónica y motores

El portátil se comunica con la Skypic para controlar los motores, y nosotros a su vez, podemos conectarnos el portátil mediante Bluetooth o WiFi. De esa forma tenemos una plataforma móvil controlada por nuestro PC y siendo muy fácil la programación de algoritmos complejos.

Foto del FlatBot con un PC y el mando de la Wii

Otra aplicación de moda e interesante es controlar el robot con el mando de la Wii como se ve en este video. El cámara es tan friki que lo ha grabado girado, mañana os subo uno mejor.

Andrés

Configuraciones mínimas (III): Minicube-3


minicube-3.jpg

Minicube-3 es la configuración mínima con topología de 2 dimensiones. Se puede desplazar en tres direcciones diferentes y rotar en sentido horario y antihorario.

Aquí se puever el robot movíendose hacia adelante y atrás:

[youtube]http://www.youtube.com/watch?v=-J9Q5GOh5lQ[/youtube]

Y aquí está rotando en sentido horario y antihorario:

[youtube]http://www.youtube.com/watch?v=JJXtEeyaelw[/youtube]

Obijuan

Configuraciones mínimas (II): Minicube-2


minicube-2.jpg

Minicube-2 es la configuración mínima de tipo “gusano” (topología 1D) que se puede desplazar en un plano. Está formada sólo por 3 módulos Y1, pero al menos puede realizar cinco tipos de movimientos:
* Desplazamiento en línea recta
* En arco
* Desplazamiento lateral
* Rotaciones paralelas al suelo
* Rodar

Lo mejor es ver el robot en acción:

[youtube]http://www.youtube.com/watch?v=SpLH-hHXigg[/youtube]

Y claro, no podía faltar la versión FRIKI 🙂

[youtube]http://www.youtube.com/watch?v=v_iHzKmxNjw[/youtube]

Obijuan

Configuraciones mínimas (I): Minicube-1


minicube-1.jpg

Un problema muy interesante es el de las configuraciones mínimas. ¿Cuál es el mínimo número de módulos necesarios para realizar la locomoción de un robot modular en 1 y 2 dimensiones?. Así fue como nació Minicube.

En entradas previas he hablado sobre los robots Cube Revolutions e Hypercube ambos de 8 módulos que pueden moverse en 1 y 2 dimensiones respectivamente. Si nos centramos en la locomoción en una dimensión, ¿Cuántos módulos necesitamos para que el robot se pueda desplazar? ¿8?, ¿7?, ¿3?, ¿1?…¿? La respuesta es 2.

En este vídeo se puede ver la locomoción de Minicube, compuesto únicamente por dos módulos Y1 que se mueven perpendicularmente al suelo.

[youtube]http://www.youtube.com/watch?v=EK6Pqhsq7kY[/youtube]

Y muchos diréis, “Vale, mola, es muy chulo… pero ¿Para qué vale?” 🙂 Yo he estudiado este problema con estos objetivos en la cabeza:

  • Estudio de la coordinación en 1D.
  • Aprender un poco más sobre coordinación para conseguir locomoción. La manera en que se coordinan los servos para producir este moviento se puede aplicar a configuraciones mayores. Digamos que Minicube-1 contiene la “esencia del movimiento” 😉

  • Maximizar el número de partes en que se puede dividir un robot modular auto-configurable. Un robot modular de M módulos, podrá dividirse como máximo en M/2 mini-robots de 2 módulos cada uno. Cada uno de estos mini-robots podrá desplazarse en línea recta.
  • El segundo punto es muy interesante. Imaginemos que hay una tubería recta (sin curvas) situada horizontalmente. Esta tubería por ejemplo puede estar conduciendo gas o puede ser un conducto de ventilación. Se ha producido un escape o ha aparecido algún tipo de microorganismo que queremos detectar. Una solución es introducir un robot modular de tipo gusano que recorra el tubo en busca del problema (el escape de gas o la bacteria).

    Solución “centralizada”: Que el robot recorra el tubo desde un extremo al otro.

    Otra solución: En vez de que el gusano analice el tubo secuencialmente, se podría dividir en M/2 minirobots, cada uno de ellos explorará una zona. Ahora el problema se está resolviendo de una forma “distribuida”. Una vez finalizada la tarea, los M/2 robots se podrán volver a juntar en un único robot.

    Si el robot tiene 12 módulos, ¿Cuántos mini-robots como máximo se podrían tener? Como sabemos que la configuración mínima es de 2 módulos, la solución es fácil: 6 mini-robots. Luego el diseñador de la aplicación puede decidir si utilizar estos 6 mini-robots o un número menor: 4 de tres módulos, 2 de 6, etc… Pero nunca más de 6, o de lo contrario no se podrán desplazar.

    Obijuan