Contribución a OpenRave: Odecontroller

blog-minicube-i-v0-3
La semana pasada implementé el controlador “odecontroller” para OpenRave, siguiendo las directrices que me había dado Rosen Diankov (el autor de Openrave). Lo envié a la lista de usuarios y tras las modificaciones añadidas por Rosen, el parche fue integrado en el svn (r1343).

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

En este vídeo se muestra un ejemplo de locomoción de Minicube-I, usando el odecontroller. Ahora ya no es necesario parchear el openrave para que funcione. Este ejemplo es la versión 0.3. Los ficheros de descarga y las instrucciones para probarlo están disponibles en esta página del wiki.

Odecontroller está dentro del plugin Oderave y permite a los usuarios acceder a “bajo nivel” a la física de ODE. De momento sólo está implementado el comando “setvelocity” para establecer la velocidad de las articulaciones.

Con este controlador, ya puedo empezar a portar mis simulaciones de los robots modulares a OpenRave. Para ello voy a hacer un plug-in para robots modulares.

Obijuan

Simulando robots modulares con OpenRave (II)

blog-minicube-i-open-rave-2

He realizado la simulación de la locomoción de Minicube-I con Openrave, pero usando un modelo real de módulos Y1, en vez del hexaédrico como en la simulación previa.

Las piezas de los módulos Y1 están hechas en Blender y de ahí se han exportado al formato Open Inventor (.iv) que puede importar OpenRave.

[youtube]http://www.youtube.com/watch?v=lsj7H2EGPqM[/youtube]
(Enlace directo al vídeo en Youtube)

Todavía tengo que afinar algunos parámetros de la física, pero está está funcionando bastante bien. Es la primera vez que simulo el modelo real 😉

Todos los ejemplos de prueba que estoy haciendo en c++ los estoy publicando en esta página del wiki: OpenRave y Robots modulares para que cualquiera los pueda probar

Obijuan

Publicada la documentación del montaje de UNIMOD A1

blog-unimod-a1-1-r2
Ya está terminada la documentación del montaje de UNIMOD A1. Unimod es el robot modular mínimo formado por un módulo + skycube + pilas. Tiene la propiedad de poder oscilar de manera autónoma.

A partir de un Unimod se pueden construir robots modulares más largos, tanto del grupo cabeceo-cabeceo como cabeceo-viraje, mediante la unión de más módulos o bien de otros Unimods.

Aquí se muestran las piezas necesarias para el montaje de Unimod A1:

blog-unimod-a1-inicio-r2

* Un módulo MY1
* Una tarjeta Skycube
* Un portapilas
* Una pieza D
* 4 separadores macho-hembra de 12mm y M3
* 4 separadores hembra-hembra de 10mm y M3
* 8 tornillos de M3, entre 5 y 8 mm de largo
* 2 tornillos M3 de cabeza plana
* 2 tuercas M3

Obijuan

Documentación del montaje de los módulos MY-1

blog-modulo-my1-1

Ya está terminada la primera versión de la documentación del montaje de los módulos MY1.

blog-montaje-my1-inicio-r1

Los módulos MY1 se montan muy fácilmente. Están formados por tres piezas (A,B C) de aluminio de 2mm de espesor, pintadas de negro. Para el montaje se necesita un servo 3003 o compatible, tornillos de métrica 3 con sus tuercas y dos de los tornillos que vienen con el servo.

Obijuan

Presentada la propuesta para el I Taller de Robots Ápodos Modulares en la Universidad Carlos III

blog-cube-trimod-r1
Hemos presentado una propuesta para impartir el I taller de Robots Ápodos Modulares en la Universidad Carlos III, en colaboración con la Asociación de Robótica de la Carlos III.

Es UNA PROPUESTA. Todavía NO nos la han concedido. Hasta dentro de un mes no sabremos nada.

Si fuera aceptada, los detalles del taller serían:

  • Limitado a un máximo de 10 grupos de 3 personas. Cada grupo dispondrá de tres módulos MY1, una Skycube, cable de descarga, tornillería y portapilas.
  • Fechas estimadas: Del 21 al 25 de Junio de 2010
  • Cuota de inscripción por persona: 80€ (Deben agruparse en grupos de 3)
  • El material pertenece a cada grupo, quedándoselo cuando finalice el taller
  • Lo más interesante sucederá el último día. Usando los módulos de cada grupo, se construirá de manera colaborativa un robot serpiente/gusano de 2.6 metros de longitud y 30 módulos. Se exhibirá en una demostración pública, para que todo el mundo la pueda ver, tocar y sacarse fotos.

    Para mí el gran reto es: ¿Se moverá esta serpiente? Las simulaciones dicen que sí, pero … ¿Qué ocurrirá en la realidad? Estoy deseando probarlo 🙂

    La propuesta la podéis ver aquí: (Propuesta en PDF) (Propuesta para Openoffice)

    Obijuan

    Lote número 1 de módulos MY1

    blog-lote1-modulos-my1-andres-juan
    Ya nos han llegado las piezas para el montaje de 50 módulos MY1!!! (Lote nº1). Han quedado muy bien. Son muy ligeras y las están pintadas de negro. El montaje de los módulos es rápido y sencillo, perfecto para usarse en los talleres.

    blog-lote1-modulos-my1-formacion1

    En la foto de arriba, se pueden ver las piezas en formación. En la de abajo, están dos módulos montados:

    blog-lote1-modulos-y1-2

    Este viernes, Andrés y yo estuvimos frikeando con los módulos y probamos algunas ideas muy interesantes. Construimos tres robots UNIMOD, formados por un módulo MY1 + Skycube + pilas. Los unimos para formar un gusano de 3 segmentos que se movía mediante oscilaciones independientes de cada uno de sus “unimods”.

    Hay más fotos en el álbum de los módulos MY1.

    Andrés
    Obijuan

    Modular Robotics and Locomotion: Application to Limbless robots

    blog-jgg-phd-thesis
    Finally, my PhD thesis is translated into English: “Modular Robotics and Locomotion: Application to Limbless robots”. Many thanks to Walter Routley who has made this dream come true.

    It has been published under a Creative Commons Atribution Share-Alike license. You can download the document in PDF and all the source files (Word processor: Lyx. Pictures: Inkscape)

    Also, it has been uploaded to Scribd, so that you can read it on-line:

    Modular Robotics and Locomotion: Application to Limbless robots

    Obijuan

    Micro-osciladores 0.3

    blog-micro-osciladores-logo1

    Hemos liberado la versión 0.3 de los micro-osciladores. Es el software que se ejecuta en un pic16f876a y que controla la oscilación de hasta 8 servos futaba 3003 o compatibles. Con estas oscilaciones se logra que los robots modulares con topología de una dimensión puedan desplazarse.

    Las mejoras con respecto a la versión anterior son:
    * Optimización del código
    * Periodo de muestreo fijado a 20ms, que es lo mínimo posible para servos Futaba
    * Mejorado el funcionamiento: las oscilaciones ya no dependen del número de servos funcionando
    * Adaptación a la tarjeta Skycube
    * Ejemplos de movimiento de los robots Cube Revolutions, Hypercube y Minicube-II.
    * Control de los osciladores desde el PC

    Los osciladores pueden funcionar de manera autónoma o bien controlados desde el PC. Esto es muy útil para aprender su funcionamiento y ver cómo afectan los diferentes parámetros a la locomoción de los robots (esto lo usaremos en los talleres de robots modulares).

    Hemos desarrollado un programa en python que se comunica con el servidor de oscilaciones. Es muy útil porque se puede usar el modo interactivo del interprete de python para hacer pruebas, como se muestra en el vídeo:

    [youtube]http://www.youtube.com/watch?v=PnMehYqtwTY[/youtube]
    (Enlace directo al vídeo)

    Este es el script python con los comandos usados en el vídeo:

    import libStargate.Oscillator
    o=libStargate.Oscillator.Open_session("/dev/ttyUSB0")

    #-- Activar los osciladores 1, 2 y 3
    o.on(1)
    o.on(2)
    o.on(3)

    #-- Parar oscilador 2
    o.off(2)

    #-- Llevar servo 2 a 45 grados
    o.pos(2,45)

    #-- Llevar servo 2 a -45 grados
    o.pos(2,-45)

    #-- Deshabilitar servo 2
    o.disable(2)

    #-- Deshabilitar resto de servos
    o.disable(1)
    o.disable(3)

    En las próximas versiones se completará la interfaz para establecer los parámetros de oscilación: velocidad, amplitud, fase y offset.

    Obijuan