Robot Humanoide para el concurso CEABOT

  

PRESUPUESTO:

 

CANTIDAD

CONCEPTO

PRECIO

A CARGO DE

1

Gumstix

189$ (149 ?)

Ram?n

1

Robostix

49$ (38,5 ?)

Ram?n

1

NetCF

65$ (51 ?)

Ram?n

1

KHR-1

120000 yen (804 ?)

Ram?n

1

2-DOF

26000 yen (173 ?)

Ram?n

1

Gastos env?o del robot  y el grado de libertad desde Jap?n.

10300 yen (69 ?)

Ram?n

1

CMUCam2

145,40 ?

Miguel

1

Br?jula

39,90 ?

Miguel

1

Aceler?metro 3D

42,20 ?

Miguel

2

Sensores tilt

7,40 ?

Miguel

1

Gastos de env?o de los sensores desde Italia

25,05 ?

Miguel

2

Pack de pilas recargables

30 ?

Nera

                                              

                                                           TOTAL:         1574,45 ?

 

DESCRIPCI?N HARDWARE:

Descripci?n

Robot b?pedo tipo robo one para el concurso CEABOT. (ver bases del concurso). Las pruebas a realizar son:

   - Andar hacia delante y hacia atr?s un tramo de 1,5m

   - Andar evitando obst?culos

   - Prueba libre

 

Plataforma

Robot humanoide Kondo KHR-1. El b?pedo comercial se modific? con la ampliaci?n de 2 grados de libertad que corresponden a la cadera.

 

Tarjetas de control

Gumstix: Xscale PXA255 400Mhz con 16 Mbyte de memoria flash y 64 Mbytes de memoria RAM. Ejecuci?n de los algoritmos de control. Comunicaci?n y control de la c?mara CMUCAM2.

Robostix: placa accesoria de Gumstix con microcontrolador de 8 bit ATmega128. Capataci?n de las se?ales de la br?jula y el aceler?metro. Env?o de las se?ales de control a los servomotores del b?pedo.

NetCF: placa accesoria de Gumstix con Ethernet y Compact Flash. Se utiliz? la red Ethernet para la programaci?n y supervisi?n del microprocesador Gumstix y y del microcopntrolador.

 

 Se le a?adieron la tarjeta de control GUMSTIX, ROBOSTIX y , donde se alojaban los programas de control y desde donde se actuaba sobre los servomotores del b?pedo y se captaban las se?ales de los sensores.


Sensores

    C?mara:CMUCAM2

    Br?jula (CMPS03)

    Aceler?metro 3D

 

La arquitectura de control implementada se representa en el siguiente diagrama:

 

 

3 ANALOG 

RS-232 

RS-232 

GUMSTIX y NETCF

ROBOSTIX

CONTROLADORA DE SERVOS

ACELEROMETRO

BRUJULA

CMUCAM

 

RS-232 

1 PWM 

  

 

 

 

 

 

 

 

 

 


DESCRIPCI?N SOFTWARE:

Diagrama de comunicaciones.

 


 

Microcontrolador. Robostix.

El microcontrolador lee los sensores y escribe los servomotores.

Por el puerto uart0 lee la cadena env?ada desde el Gumstix, que indica la posici?n deseada de los servomotores. Despu?s se env?a la telemetr?a al Gumstix (sensores y posici?n de los servos), para poder hacer la toama de decisiones.

Por el puerto uart1 env?a el valor leido de los servomotores a la placa rcb1 del robot (incluida en el kit khr1), encargada de llevar los servomotores a la posici?n indicada.

Los aceler?metros son leidos como tres se?ales anal?gicas (ejes x, y, z).

Los dos interruptores son leidos como tres se?ales digitales.

La br?jula se lee desde el pwm del Robostix.

 

Diagrama de flujo del programa Robostix

 

M?quina de estados para la lectura del estado de los servomotores.


 


 

 

Microprocesador: Gumstix.

El microprocesador Gumstix aloja el programa de control del b?pedo y la lectura de la c?mara v?a serie (CMUCAM2). Para la inicializaci?n, env?o y rcepci?n de informaci?n de la c?mara se ha utilizado la librer?a de control gratuita cmucamlibc. Este programa se compone de dos hilos, uno de lectura de los sensores y otro de escritura en los servomotores.

    - Hilo de lectura de sensores:

      - Incializaci?n: se inicializa la c?mara.

      - Bucle:

          Recepci?n de la cadena de lectura de los sensores enviada desde el microcontrolador a trav?s del puerto serie. Incluye:

                Medida de los servomotores digitales (enviada por la rcb1): 18 bytes.

                Medida de los aceler?metros: 3 bytes.

                Medida de la br?jula: 2bytes.

                Medida de los 2 interruptores para el cambio de programa: 2 bytes.

 

          Env?o de la petici?n track color a la c?mara. Los par?metros de esta petici?n los valores especificados del color que se desea seguir, teniendo en cuenta un umbral para cada componente de color: Rmin, Gmin, Bmin, Rmax, Gmax, Bmax.

 

          Recepci?n de la lectura de la c?mara. Incluye:

                Coordenadas x,y del centro de gravedad del ?rea de color que se desea seguir.

                Coordenadas x,y de la esquina superior izquierda del rectangulo que contiene el color que se desea seguir.

                Coordenadas x,y de la esquina inferior derecha del rectangulo que contiene el color que se desea seguir.

                N?mero de p?xeles del color que se desea seguir.

                Incertidumbre de la medida.

 

    - Hilo de escritura en los servomotores:

          Algoritmo de toma de decisiones:

             Lectura de los interruptores:

                El interruptor 1 marca si el robot debe andar hacia delante o hacia atr?s.

                El interruptor 2 marca si el robot debe estar parado o en movimiento.

 

             Interpretaci?n de la lectura de la c?mara: el algoritmo para detectar obst?culos se basa en la identificaci?n de un punto rojo de un puntero l?ser reflejado en los obst?sculos. Midiendo el valor de la coordenada y del centro de masas, se identifica si hay un obst?culo y a qu? distancia est? el obst?culo. Esta soluci?n se adopt? por ser m?s independiente de la luz ambiente que localizar el obst?culo por su color (la luz del puntero l?ser es un rojo muy puro) y porque permite identificar a qu? distancia est? el obst?culo. En caso de que el obst?culo est? suficientemente cerca, el robot debe girar para evitarlo teniendo en cuenta la informaci?n de la br?jula.

 

             Interpretaci?n de la lectura de la br?jula: el valor de lectura de la br?jula se calcula con un filtro de la mediana que toma los ?ltimos 50 valores. Este valor se convierte en un entero entre -180? y +180?. Cuando el robot est? parado (estado dado por el interruptor 2), se toma el valor de referencia de la br?jula, es decir, se le indica al robot que la direcci?n en la que se le ha colocado es la que se desea que siga. Cuando el robot est? en movimiento, se le dice que gire en caso de que se haya desviado en un margen determinado y que avance o retroceda en caso de estar dentro de los m?rgenes (estrategia v?lida para las distintas pruebas del concurso).

 

             Decisi?n de andar: con la informaci?n anterior, se decide el tipo de paso (hacia deante, hacia atras, giro horario, giro antihorario) y se calcula la cinem?tica inversa para andar.

 

 Diagrama de flujo del programa del Gumstix

 


 


 


Cinem?tica inversa


Para la cinem?tica inversa del robot, se consideran movimientos simples y se calcula la cinem?tica inversa. Se han desacoplado la cinem?tica inversa del movimiento que se realiza en el plano xz (avance) y en el plano yz (inclinaci?n sobre una pierna para el cambio de pesos).


 

Algoritmo de un paso



FUTUROS DESARROLLOS:

 

-         Demostrador para la prueba de toreros como publicidad.

-         Prueba libre para que concursantes puedan descargar secuencias simuladas.

-         Ganadores de alguna prueba para que vayan al CEABOT.

-         Mejoras de integraci?n mec?nica y de sistemas embarcados.

-         Trabajo o PFC sobre la cinem?tica y din?mica del b?pedo.

-         Trabajo o PFC sobre control.

 

 

MATERIAL NECESARIO:

 

-         Bater?as de litio.

-         Servo motores de repuesto.

-         Puntero l?ser.

 

CONCLUSIONES:

 

-         Calentamiento de servomotores, haciendo que falle la sujeci?n.

-         Holguras mec?nicas entre los servos y la estructura.

-         Vibraci?n en brazos por posibles resonancias.

-         Es un concurso en el que la est?tica del robot es primordial.

-         Ruido en la medida de los aceler?metros. Se debe intentar filtrar la se?al.

-         Problemas con la alimentaci?n de los sensores: br?jula y comp?s.

-         Reducir el peso y levantar m?s el pie para ir m?s r?pidos.

-         Dificultad de la calibraci?n de la c?mara y de la sujeci?n del l?ser, que no es fija.

-    Problemas al usar la medida de los aceler?metros


Cuaderno de bit?cora

23-8-2006: el ni?o anda

24-8-2006: se rompe un servo de la rodilla, se sustituye por el de la cabeza.

26-8-2006: Los aceler?metros dan una medida con mucho ruido. Se prueban los filtros de la media y se hace la dft, pero la medida no mejora.  

27-8-2006: Tenemos problemas para recibir la se?al de la br?jula. Hay mucho ruido de los motores. Problemas para conseguir la cinem?tica inversa del giro.

28-8-2006: La c?mara funciona, se incorporan las rutinas de la c?mara al programa (seriegum). Se ponen dos conensadores en la alimentaci?n del gumstix y de la br?jula para eliminar el ruido. Se consigue leer la br?jula, pero hay que hacer un filtro para evitar algunos picos. Se monta el gumstix sobre el robt, esto tambi?n ayuda a eliminar los reset espont?neos del gumstix.

29-8-2006: An?lisis del movimiento de andar. Se modifica el paso para que se levanten 5 mm del suelo. Se toman diferentes velocidades de los servos, siendo la m?s estable la de 4 (en una escala 0-7). Se observa que la realimentaci?n de los servos no es posible, porque no da la medida real, si no el valor que la placa RCB1 env?a a los servos. 

30-8-2006: Se prueba mdificacion del paso para que el robot se levante 7mm, con resultado de un paso mucho m?s inestables. Se intenta andar hacia atr?s, pero parece que va a ser necesario dos movimientos diferentes.

31-8-2006: Se intenta una nueva modificaci?n del paso tratando de suavizar los movimientos pero comete alg?n error y el robot gira en vez de andar (pendiente de analizar)


 

Mejoras

Despu?s de concursar y quedar terceros muy a nuetro pesar, se plantean las siguientes mejoras

 - Est?tica. los robots que ganaron no tenian ni un cable fuera, no importan pies grandes. La c?mara habr?a que subirla para conseguir esta mejora.

 - Reducci?n de peso, a lo mejor cambiando las baterias. Hay que tener m?s juegos de baterias, al menos 3.

 - Si la prueba de los obst?culos sigue siendo igual, valdr?a con detectar un color. La idea del laser es sencilla y muy buena, pero el laser tiene que ser de mejor calidad y los obst?culos eran demasiado brillantes.

 - Ram?n ha dicho que hay que torear, con tiempo se puede plantear

 - Se puede evitar el ruido de los aceler?metros con un condensador en la alimentaci?n? 

 - Mejor? el funcionamiento de la br?jula al no alimentarla desde el gumstix.

 - Levantar el pie mucho m?s, e ir m?s r?pidos. Hay que ser valientes.

 - Llevar el robosapiens al concurso.