30 de septiembre de 2007

Exhibiciones de robots de Ro-botica Global

Los días 27, 28 y 29 de Septiembre, Ro-botica Global ha realizado las demostraciones y exhibiciones de robots de última generación en el marco de la II Jornadas de Robótica en el nuevo Parque de Investigación Biomédica de Barcelona organizadas por el Ayuntamiento de Barcelona, la Universidad Pompeu Fabra y la Generalitat de Catalunya, donde se ha presentado a escala europea la nueva versión del robot ASIMO de Honda.



Para el evento RO-BOTICA ha montado una tarima y un espacio para mostrar al público visitante los kits de robots educativos y de entretenimiento de última generación, como el encantador robot patinador PLEN que por sus estilizados movimientos recuerda el robot ASIMO, el robot Robovie, el kit Bioloid con el que se han realizado demostraciones del perro-robot Puppy, y el androide caminador, los nuevos mini-robots Moway con capacidades colaborativas entre los de su especie, el robot Robonova, el robot educativo Ma-vin, los robots caminadores CAM-10, y el kit Lego Mindstorms NXT.

En el siguiente vídeo podeis ver al equipo de las demostraciones de Ro-botica Global en acción:



Gabrielet haciendo demostraciones durante la "Nit de la Recerca" y captando la atención de TV3, la noche del viernes 28



El equipo de las exhibiciones de Ro-botica


Gracias a Matt Fisher de Kumotek, LLC por su inestimable ayuda en estas jornadas robóticas.

19 de septiembre de 2007

Keepon, el pollo robot bailarín


Este pollito amarillo se trata de Keepon,, una creación de Hideki Kozima, del Instituto Nacional de Tecnología de la Información y las Comunicaciones de Japón, aunque aún no está todavía a la venta. La investigación trata de explorar diversas interacciones en niños afectados por el Síndrome de Down a través de dos cámaras (ojos) y un micrófono (la nariz) que determinan los movimientos de sus cuatro motores, los que expresan atención, curiosidad y alegría. En concreto, en robot, que parece más un pollo que una máquina, baila al ritmo de la música y te mira si te acercas. La investigación la ha llevado a cabo con Marek Michalowski, de la Universidad Carnegie Mellon, pero lo mejor será que lo veáis vosotros mismos en este vídeo:

14 de septiembre de 2007

II Jornadas de robótica. Barcelona, septiembre 2007 - robot ASIMO


PRESENTACIÓN

Ver díptico oficial

El objectivo que ha llevado a organizar esta segunda edición de las Jornadas de Robótica, es impulsar la robótica como sector estratégico en Barcelona, haciendo un trabajo divulgativo en el ámbito científico, comercial y educativo.

Las conferencias van dirigidas tanto a un público profesional como a estudiantes. Paralelamente funcionará un espacio interactivo con Lego Mindstorms, en el cual principalmente acudirán grupos escolares. La empresa Ro-botica Global realizará demostraciones y exhibiciones de sus robots humanoides japoneses de hobby y educativos de última generación.

Pero sin duda, el elemento estrella de les Jornadas es la presentación en primícia a escala europea del Nuevo Robot ASIMO de Honda, el robot humanoide mas avanzado del mundo.

Veremos diversas sesiones de demostración del robot y las explicacions técnicas para un público experto.


PROGRAMA HORARIO

Jueves 27 de septiembre

  • 11.00h Inauguración II JORNADES DE ROBÒTICA
  • 15.00h Taller Lego 1
  • 16.15h Conferencia 1: EL QUÈ I EL PERQUÈ DELS ROBOTS HUMANOIDES
    Josep Amat
  • Demostración Nuevo Robot ASIMO
  • 17.00h Taller Lego 2
  • 18.15h Conferencia 2: ROBÒTICA I FICCIÓ
    Miquel Barceló
  • Demostración: Nuevo Robot ASIMO
Viernes 28 de septiembre
  • 09.30h Taller Lego 3
  • 10.45h Conferencia 3: CAPACITAT, POSSIBILITATS I APLICACIONS
    Josep Amat
  • Demostración Nuevo Robot ASIMO
  • 11.30h Taller Lego 4
  • 12.45h Conferencia 4: ROBÒTICA ASSISTENCIAL I PERSONAL
    Alícia Casals
  • Demostración Nuevo Robot ASIMO
  • 18.00h NIT DE LA RECERCA
    (ver programa en http://www.gencat.cat/agaur/nitdelarecerca2007)
Sábado 29 de septiembre

  • 10.00h Taller Lego 5
  • 11.15h Conferència 5: ROBÓTICA INTELIGENTE
    Carme Torres
  • Demostración Nuevo Robot ASIMO
  • 12.00h Taller Lego 6
  • 13.15h Conferencia 6: PER QUÈ ELS ROBOTS A L’ESPAI?
    Joan de Dalmau
  • Demostración Nuevo Robot ASIMO
  • 15.00h Taller Lego 7
  • 16.15h Demostración Nuevo Robot ASIMO
  • 17.00h Taller Lego 8
  • 18.15h Demostración Nuevo Robot ASIMO
  • 19.15h Fin


Lugar y Fecha:
Parc de Recerca Biomèdica de Barcelona
Dr. Aiguader 88
08005 Barcelona
Jueves 27, viernes 28 y sábado 29 de septiembre de 2007

INFORMACIÓN Y INSCRIPCIONES
La inscripción es gratuita. Para formalitzar-la es imprescindible confirmar la assistencia a la Secretaria Tècnica por correo electrónico a robotica@suportserveis.com o bién al telefono 93 201 75 71.

También os podeis inscribir en línea mediante la pàgina web: www.suportserveis.com
Plazas limitadas.

SECRETARÍA TÉCNICA
SuportServeis
Calvet 30 – 08021 Barcelona
Tel. 93 201 75 71
Fax. 93 201 97 89
e-mail: robotica@suportserveis.com
www.suportserveis.com

11 de septiembre de 2007

Robots Robonova jugando a futbol

Con el kit de robótica Robonova se pueden construir y programar increibles robots humanoides para realizar distintas aplicaciones y juegos hasta ahora reservados solo para los humanos, como se puede ver en este vídeo donde los robots Robonova están enfrascados en un partido de futbol.

(Con Música de Carmina Burana acompasada con los movimientos de los robots)



El robot puede ser controlado con un mando a distancia con el que se ejecutan a conveniencia distintos programas precargados en el robot (con 16 servomotores).

El kit Robonova se puede comprar a excelente precio en RO-BOTICA.

Espectaculares robots japoneses

En este vídeo (con comentarios en japonés) podeis ver distintos y espectaculares modelos de robots japoneses no humanoides, como robots articulados (serpientes), robots oruga, robots tetrápodos, patinadores, apagaincendios, etc. ¡Vale la pena verlo! Nos puede dar ideas para construir nuestros propios proyectos robóticos:



(Gracias Jose)

4 de septiembre de 2007

Como construir un brazo-robot de LEGO

Os presento mi brazo articulado robot industrial del Lego Technic que construí hace 15 años, con fotografias recientes después de repararlo y limpiarlo:




Mecánica:

La arquitectura del robot depende del robot que queremos crear. Por ejemplo, si pretendemos reproducir a escala un robot industrial (brazo articulado) hemos de fijar los grados de libertad (número de ejes de movimiento independiente). En general, tres grados de libertad son suficientes para posicionar la herramienta terminal del robot - generalmente una pinza - en cualquier punto de la zona de trabajo tridimensional. Lo óptimo es disponer de tres grados de libertad adicionales - 6 en total - para poder acceder al punto de trabajo desde cualquier orientación espacial, pero cinco grados de libertad suelen ser suficientes (muchos robots industriales de verdad tienen 5 grados de libertad).



Para agilizar la dinámica y cinemática del robot es fundamental diseñar una arquitectura geométrica óptima del brazo robótico en la que los elementos pesados del robot (los motores) se hallen lo mas cerca de la base del brazo posible, evitando tener que acelerar estos pesados elementos en la medida de lo posible.



El movimiento giratorio de los motores se transmite mediante cadenas, varas o ejes a los distintos elementos móviles del robot.



El movimiento se transmite al brazo y al antebrazo mediante dos baras con piezas dentadas a modo de cremallera, y esto le confiere una sólida robustez al transmitir el movimiento con suficiente palanca, una fuerte reducción y por tanto aumento de la fuerza de los motores y unas propiedades mecánicas muy interesantes al conservar el robot el paralelismo de los brazos superiores al que se está moviendo, ya que es conveniente que el movimiento de un brazo cercano a la base no modifique la orientación de los brazos superiores. (para que se entienda, como una lámpara de arquitecto).




El movimiento de la muñeca tiene dos grados de libertad: rotatorio y vertical, y se transmite el movimiento de los dos motores desde la base mediante cadenas y ejes de Lego. En la muñeca está ubicado un elemento diferencial. La solución del diferencial adoptada por los robots industriales de verdad le confiere a la muñeca la propiedad de que sea muy compacta y ligera en el mínimo espacio posible, de manera que los dos movimientos pueden efectuarse combinando el movimiento relativo de los dos motores: cuando los dos motores giran en el mismo sentido, se produce el movimiento vertical de la muñeca, y cuando giran en sentido contrario, se produce el movimiento giratorio de la misma.




Los kits pneumáticos de Lego son adecuados son adecuados para implementar la pinza o grapa terminal del robot a causa de su reducido peso y la facilidad de transmitir el aire a los los pistones de la pinza por tubos de goma flexibles, y también por el grado de flexibilidad que proporciona un sistema pneumático a los dedos de la pinza. El sistema compresor de aire de nivel de presión autoregulada puede situarse externamente al robot para reducir su peso y dimensiones.

Ejemplo de uns sistema autocompresor con LEGO neumática similar al que utilicé en mi brazo robot apara abrir y cerrar la pinza neumática del robot:


En mi caso el control manual de la palanquita controladora lo sustituí por una electroválvula activada por un motor de LEGO de CC que movía la palanquita para realizar los movimientos de abrir y cerrar la pinza de forma programada desde el ordenador.



Interfase con el ordenador

Tarjeta de entradas y salidas: Se conectan al bus de expansión del PC (EISA) , y se pueden comprar en distribuidores de componentes electrónicos o nos la podemos fabricar nosotros mismos. En mi robot me fabriqué una placa de interfase muy sencilla y barata con solo dos circuitos integrados, que permitía disponer hasta 24 entradas salidas o entradas digitales. El corazón del diseño estaba basado en el PPI (Programmable Peripheral Interface) 8255 A, y tiene la ventaja de poder programar distintos subgrupos de los 24 bits como puertos de entrada o de salida. Como decodificador de direcciones utilicé el chip 74LS138.

Etapa de potencia y motores

Las salidas del chip 8255A y del puerto paralelo son compatibles TTL, y esto significa que no tienen una gran capacidad de corriente suficiente para activar los motores. El chip ULN 2001 es adecuado para excitar bobinas de relés y de motores de corriente continua o de motores paso a paso.

A diferencia de los motores de corriente continua en los que el eje sencillamente gira de forma continua, un motor paso a paso gira a pasos discretos muy precisos a la frecuencia dictada por el ordenador. En muchos aspectos es el sueño del ingeniero de robots hecho realidad, ya que nos descarga de la tarea de leer la posición del eje mediante un sensor o lector de posición de giro (normalmente óptico o resistivo), ya que una simple contabilización de los impulsos aplicados al motor paso a paso a través del software de control nos determina el ángulo girado por el eje. Por lo tanto se trata de un sistema en lazo abierto. El inconeveniente es que la alimentación de los motores no es tan simple como conectar los terminales a una batería: se necesitan circuitos electrónicos que vayan excitando las bobinas de los motores paso a paso con la intensidad de corriente requerida y en la secuencia adecuada.

Para esta tarea en mi robot utilicé el chip SAA 1027, el cual conecté directamente a dos líneas de un puerto de salida del ordenador. La frecuencia del tren de impulsos aplicado por el software a la línea T determina la velocidad de los pasos del motor y por tanto la velocidad de giro. Por la líea R del chip SAA 1027 se indica el sentido de rotación del eje del motor. Cada etapa del salida del chip SAA 1027 es capaz de conmutar una corriente de hasta 350 mA, y por tanto es apto para alimentar las bobinas de la mayoría de motores paso a paso unipolares, como los que se encuentran en muchas impresoras. A título de referencia, los motores paso a paso que utilicé en mi robot-brazo de Lego son 5 motores AIRPAX 9904 112 35014.

Software de Control

El programa que controle nuestro robot lo podemos hacer en cualquier lenguaje de programación que conozcamos: Pascal, Visual Basic, C, C++, etc. Primero realicé las subrutinas de bajo nivel: aquellas que trabajan a nivel de bits, para generar las señales que enviaremos a cada chip SAA1027 controlador del motor paso a paso, pero es importante que el sistema inhabilite la capacidad de de sobrepasar los lómites físicos del movimiento de cada brazo (final de carrera). Esto lo podemos conseguir mediante microruptores situados en los finales de carrera, y conectados a un puerto de entrada del ordenador para que el software de control lea su valor.
<><><><><><>




La operatividad de nuetro robot, al igual que un robot industrial de verdad, requiere que el programa de control sea capaz de ejecutar tres tareas bien diferenciadas: una primera fase de inicialización, una fase de aprendizaje o programación, y una fase de reproducción o ejecución del programa memortizado.

1- Fase de inicialización
En un sistema de lazo abierto, como en este robot con motores paso a paso, tenemos dos inconvenientes: por un lado necesitamos conocer una posición inicial de referencia a partir del cual llevar la contabilización de los pulsos aplicados a los motores, y por tanto conocer su posición. Por otro lado, si aplicamos un par de carga demasiado elevado al eje del motor es posible que este se mueva un número desconocido de pasos (pérdida de pasos), y no tendremos mas remedio que reinicializar el robot para encontrar de nuevo la posición inicial de referencia. Esto se consigue en este robot gracias a los microruptores que detectan los finales de carrera de los movimientos de cada brazo o de la base, y entonces el programa de inicialización se limita a hacer girar todos los motores y pararlos cuando se detecta el final de carrera correpondiente a cada motor.

Esta tarea de inicialización es la que hará el robot cuando lo conectemos por primera vez, o cada vez que sospechemos que la posición real del robot no se corresponde con la que presupone el software de control.



2- Fase de aprendizaje o programación

En este modo el robot se mueve obedeciendo a un panel de control (generalmente un joystic o el mismo teclado del ordenador), mientras por softwre llevamos un seguimiento de la posición actual del robot. Podemos optar por dos etrategias: o bien guardamos en memoria la secuencia de impulsos de control que estamos enviando a cada motor (la trayectoria), o bien unicamente memorizamos la posición actual del robot en los puntos de paso que nos interese (registramos el número neto de pasos que ha girado cada motor). Este segundo caso recibe el nombre de programación punto a punto, y tiene la ventaja que ahorra mucha memoria.

3- Fase de ejecución
El brazo robótico , en este modo, tiene que ser capaz de repetir los movimientos aprendidos durante la fase de aprendizaje del punto anterior. En el caso de programación punto a punto es suficiente enviar tantos impulsos al motor como número de pasos haviamos memorizado para alcanzar cada punto. El problema es que no podemos conocer a priori como será la trayectoria entre un punto y el siguiente de la herramienta terminal cuando intervienen varios motores simultaneamente. Para resolver este problema y conseguir trayectorias rectilineas entre los puntos memorizados en mi robot de Lego el software de control calculaba puntos intermedios mediante interpolación de un número suficientemente elevado de puntos intermedios entre el punto inicial y el siguiente punto memorizado destino, y esto requirió un tratamiento matemático mas elevado, ya que para cada punto que se interpola se necesitan realizar conversiones de coordenadas cartesianas y coordenadas angulares. El uso de rampas de aceleración y desaceleración en cada motor mejora ostensiblemente el correcto funcionamiento y la velocidad máxima de cada brazo durante el modo de reproducción, y sobretodo disminuye el riesgo de perder el conocimiento de la posición real del robot (pérdida de pasos), fenómeno que he comentado con anterioridad.



Consideraciones finales

Construir tu propio robot como hobby aporta conocimientos prácticos y espíritu de investigación que no se enseña en las escuelas de ingeniería, a menudo con unos planes de estudio demasiado teóricos. El Lego Technic, conjugado con motores paso a paso o de corriente continua, y con una interface con el ordenador personal, es la mejor plataforma de desarrollo para aprender mecánica, programación, electrónica de forma muy amena y planterarse construir tu propio robot modo de reto.