You are on page 1of 11

CAMINADO DE ROBOTS HUMANOIDES: PRIMEROS PASOS EN EL CAMINO HACIA ROBOCUP

Karen L. Flores Rodrguez Luis Samahi Garca Gonzlez Ingeniera Mecatrnica, Universidad Politcnica de Sinaloa, Mazatln, Sinaloa, Mxico.

RESUMEN
Recientemente el Doc. Jos Vctor Nez Nalda, profesor de tiempo completo de esta universidad, propuso la adquisicin de una serie de robots humanoides para la escuela con el propsito de investigar y realizar una interfaz de comunicacin robot-computadora para la planificacin de movimientos y poses enfocado a conseguir la resolucin de modelos matemticos con cinemtica inversa. Pensando tambin en la implementacin de visin artificial mediante procesamiento de imgenes, el objetivo es implementarles todos los elementos necesarios para darles autonoma y desarrollar un equipo de cinco robots-humanoides capaces de competir en la liga internacional ROBOCUP, enfocados en la categora Kidsize que en el 2012 ser celebrada en el World Trade Center en MEXICO. Antes de llegar al final del largo camino que se debe recorrer es necesario dar los primeros pasos. Estos se basaron en el conocimiento del equipo, interfaz del fabricante y todo lo relacionado a programacin del caminado de estos robots. La participacin en este evento ser algo muy importante para la universidad, la cual, contando con tan solo 6 aos en funcin, se encuentra figuradamente en paales.

important for the university that has been working for 6 years which means that it is still like a baby. Palabras claves: ROBOTS HUMANOIDES, CAMINADO, PASOS, POSES, AUTONOMO, POCESAMIENTO DE IMGENES.

ROBOTS HUMANOIDES Introduccin


Aunque muchos no lo crean, hoy en da, los robots se encuentran en cualquier sitio. Podemos encontrarlos en distintas reas desde la produccin masiva de cualquier producto, en la medicina en cirugas, en exploracin espacial hasta la industria blica. Robot puede ser cualquier maquina que cumpla con los requisitos de la definicin: Maquina programable [] virtual o electromecnico fsico [] muestran un comportamiento inteligente, ya sea el de imitar al de los seres humanos [] por su apariencia pudiera parecer que tienen un propsito propio [] podra considerarse que el robot es una computadora con la capacidad y el propsito de movimiento [] en general es capaz de desarrollar mltiples tareas de manera flexible segn su programacin[]1 El propsito por el que fueron inventados es el de facilitar multitud de trabajos para los seres humanos, riesgosos, pesados, mecanizados hasta repetitivos. De ah el significado de la palabra robot: Figuradamente es conocida como trabajo duro en checo [] fue utilizada por primera vez por Karel Capek a travs de su obra Rossums Universal Robots (ver figura 1) [] en esta obra se muestran diversos humanoides realizando trabajos que correspondan a los humanos2

ABSTRACT
Recently Dr. Jose Victor Nuez, full time professor of this university, proposed the purchase of a certain number of humanoid robots for the school with the purpose of investigate and perform a communication interface Robot-Computer for the motion planning and poses focused to get the solution of mathematical models with inverse kinematics. Also thinking in the implementation of artificial vision to provide them autonomy and develop a team of 5 humanoid robots that are able to compete in the international league ROBOCUP, focused on the Kid sizes category that in 2012 will be held in the World Trade Center in Mexico. Before getting to the end of the way is necessary to give some steps. This were based in the knowledge of the equipment, the interface of the manufacturer and all that is related to the programming the walking of this robots. The participation in this event will be something very

FIGURA 1. KAREL CAPEK Y UNA FOTOGRAFIA DE UNA DE LAS ESCENAS DE SU OBRA ROSSUMS UNIVERSAL ROBOTS.2 1http://www.thetech.org/robotics/universal/index.html 2 http://robotechno.us/karel-capek-meaningrobot.html/rossums-universal-robots-rur

La idea de maquinas autmatas ha estado presentes ya desde tiempos remotos. La imaginacin del ser humano no tiene fronteras, la ficcin que presenta en historias y pelculas se est presentando poco a poco en la vida real. Desde Leonardo Da vinci con sus bocetos sobre autmatas humanoides - robot de Leonardo 1495- [] En los siglos 16 y 17 los autmatas Ningyo Karakuri, un sistema mecanizado de tteres [] en 1928, el primer robot con capacidad de interactuar en Japn, Gakutensoku, diseado y construido por el bilogo Makoto Nishimura [] en 1930, Westinghouse Electric Corporation, cre un robot humanoide conocido como Elektro, capaz de interactuar y con fines de exposicin [...]3 Estos primeros autmatas tenan el nico propsito de entretener. El primer robot autnomo, digital y programable capaz de hacer una tarea funcional fue el UNIMATE (ver figura 2) Fue inventado en 1954 por George Devol [] este era un autmata que levantaba y apilaba piezas metlicas en una fundicin [...]4

FIGURA 4.- CATEGORIAS ROBOCUP.5 Robocup cuenta con 3 categoras principales (figura 4) [] RoboCupRescue se dedica a robots de bsqueda y rescate en caso de desastres mientras considera aplicaciones del mundo real y la interaccin hombremquina con robots autnomos [] RoboCupJunior tiene por objetivo la participacin de estudiantes de niveles primaria y secundaria e incluye retos enfocados en el aprendizaje de la robtica [] RoboCupSoccer es una competencia de futbol con robots autnomos [] en particular, la categora robocup soccer tiene como objetivo conseguir un equipo de jugadores de futbol robtico capaces de vencer en una copa del mundo a un equipo de jugadores humanos esto dentro de los siguientes 50 aos []5 El objetivo de la escuela es competir en este evento en la categora RoboCupSoccer ms especficamente en la categora Kidsize de esta misma. EQUIPO ADQUIRIDO

FIGURA 2.-GEORGE DEVOL, UNIMATE 1954.4

ROBOCUP
Los robots actuales siguen siendo limitados en distintas formas. Pero tambin sabemos que el ser humano no se detendr y seguir renovando lo que pueda, esto se ve reflejado en las investigaciones sobre este tema que estn avanzando a pasos agigantados. El torneo de Robocup (ver figura 3) es un claro ejemplo de cun importante es este tema. Este es un torneo internacional que se viene realizando ao con ao desde 1997 [] la motivacin de la Robocup es impulsar el desarrollo en inteligencia artificial y robtica [].5

La escuela adquiri para este propsito 5 kit Bioloid Premium (figura 5) el CM-510 tipo A de la compaa ROBOTIS. El nombre Bioloid viene de las palabras Bio + all + old dando a entender que cualquier ser vivo puede ser creado como robot. Este se considera como el kit de robtica mas avanzado de esta compaa, e integra muchas caractersticas adicionales tale como microprocesador potente, sensores y mecanismos verstiles.6 A este conjunto de robots humanoides se les pretende hacer todas las modificaciones necesarias para conseguir los objetivos planteados.

FIGURA 3.- SIMBOLO DEL TORNEO INTERNACIONAL ROBOCUP. 5 3 http://es.wikipedia.org/wiki/Robot (HISTORIA) 4 http://www.robothalloffame.org/unimate.html

FIGURA 5.ROBOTIS. 6

BIOLOID

PREMIUM

KIT

de

5 http://www.robocup.org 6 http://www.robotis.com (Bioloid Premium kit CM-510)

CM-510 El robot cuenta con un microcontrolador de la compaa ATMEL (ATmega2561) como cerebro del sistema (ver figura 6). Memoria flash de 256 KB, 64 pines de comunicacin, 16 MHz de frecuecia7 Este puede ser directamente programado con el software del fabricante AVR-STUDIO, [] Nuevo entorno de desarrollo integrado (IDE) para el desarrollo y la depuracin aplicaciones incrustadas Atmel AVR []7. Es de adquisicin gratuita, utilizado para trabajar con los diversos productos ATMEL.

TABLA 1.- PUERTOS DE COMUNICACION8

Cable serial: [] Se usa para conectar el CM510 a la PC por medio del cable serial. Tambin se utiliza para descargar el cdigo hacia el CM510. [...]8 Comunicacin con actuadores: [] Se utiliza para la comunicacin inalmbrica con el ZIG-110 que incluye el Bioloid. [...]8 Batera porttil: [] Se conecta a la batera del robot. [...]8 Alimentacin: [] Aqu se conecta la fuente de alimentacin del CM-510[...]8 LED de encendido: [] Indica si el mdulo se encuentra encendido o apagado. [...]8 Switch on-off: [] Se prender/apagar el robot. [...]8 utiliza para

FIGURA 6.- ATMEGA2561, MICROCONTROLADOR DEL ROBOT7 El lenguaje que soporta es lenguaje C y los cdigos son enviados con facilidad gracias a que el microcontrolador est adaptado a una serie de dispositivos, en el mismo robot CM-510 (ver figura 7), contando con puerto serial que facilitan la comunicacin ROBOT-PC.

Botn reinicializar (mode): [] Se utiliza para cambiar el modo de operacin del CM-510[...]8 Botn iniciar: [] Se utiliza para iniciar el modo elegido. [...]8 Botones U / L / D / R: [] Pueden programarse comandos a estos botones para que el robot reaccione al ser presionados. [...]8 Puertos AX-12+: [] Utilizado para conectar los motores AX12+ Dynamixel y otros actuadores. [...]8 LED de modo seleccionado: [] LED utilizado para desplegar cual es la operacin que est siendo realizada por el CM-510[]8 LED de estado: [] Controla los Leds de transmisin (TxD), recepcin (RxD) y auxiliar (AUX) [...]8 Dynamixel AX-12
Los servomotores que incluye el equipo son Dynamixel AX-12 (ver figura 8) de la misma compaa (ROBOTIS). Estos son actuadores inteligentes [] actuador modular que incorpora un reductor de engranajes, un motor DC de precisin y un circuito de control con funciones de red, todo en un solo paquete []9 9 http://www.trossenrobotics.com/dynamixel-ax-12-robotactuator.aspx

Puertos CM-510

FIGURA 7.- ATMEGA2561, MICROCONTROLADOR DEL ROBOT ADAPTADO PARA CM-5108

7http://www.atmel.com/dyn/resources/prod_documents/2549
S.pdf 8 http://www.robotis.com (user guide-product informationrobot parts-controller-cm-510)

[] El actuador servo AX-12A de Robotis [] tiene la capacidad de seguimiento de su velocidad, temperatura, posicin del eje, el voltaje y la carga. [] el algoritmo de control utilizado para mantener la posicin del eje del actuador ax-12 se pueden ajustar individualmente para cada servo, lo que le permite controlar la velocidad y la fuerza de la respuesta del motor. Todos los de la gestin de sensores y control de posicin son manejados por un microcontrolador integrado en el servo. Este enfoque distribuido sale de su controlador principal libre para realizar otras funciones. []10

ROBOPLUS MOTION La interfaz de ROBOPLUS MOTION (figura 10), la cual como se menciono anteriormente permite la realizacin de poses y movimientos, se utiliz para obtener la resolucin de modelos matemticos mediante cinemtica inversa de un caminado elemental para el robot bpedo. Esta interfaz y su pgina principal (figura 11) son muy amigables con el usuario.

FIGURA 10.-ICONO DE ROBOPLUS MOTION.11 FIGURA 8.- DYNAMIXEL AX-12 DE ROBOTIS9 ROBOTIS proporciona con sus equipos un software llamado ROBOPLUS, este sirve como herramienta para controlarlos. Permite conocer a grandes rasgos el funcionamiento del robot de una manera prctica, realizar poses, caminado, cdigo de manera eficaz, utilizar los sensores y administrar los dinamixeles de una manera muy grafica y sencilla, esto mediante la serie de programas incluidas en ROBOPLUS dependiendo el tipo de producto adquirido y el tipo de gestin a realizar. En el caso del CM-510, se pueden utilizar los siguientes (figura 9): ROBOPLUS TASK: [] Permite la realizacin de cdigo sencillo basado en lenguaje C []11 ROBOPLUS MOTION: [] Permite realizar poses y movimientos de manera sencilla y practica []11 ROBOPLUS TERMINAL: [] Permite la comunicacin ROBOT-PC, desde bootloader []11 ROBOPLUS MANAGER: [] Permite la administracin de los diferentes elementos del robot, en este los servomotores pueden ser configurados []11 ROBOPLUS WIZARD: [] Permite trabajar directamente con los servomotores []11 Un movimiento o mocin es un conjunto de posiciones de los actuadores y datos de velocidades necesarias para los movimientos del robot [] un archivo de movimientos son datos [] los datos de los movimientos del controlador pueden ser vistos y editados desde la ventana principal de este solo cuando est conectado al ordenador []11

FIGURA 11.- VENTANA PRINCIPAL ROBOPLUS MOTION.11 Las variables que se pueden editar con esta opcin son: POSE: (figura 12) Una pose es una posicin del robot en un punto en el tiempo [] coleccin de posiciones de los motores en una postura [] 11

FIGURA 9.- SOFTWARE DE ROBOTIS ROBOPLUS11 10http://robosavvy.com/RoboSavvyPages/Support/Bioloid/A X-12 (english).pdf

FIGURA 12.- POSE DE ROBOT CONTROLANDO CADA SERVOMOTOR11 11 http://www.robotis.com (user guide-product informationrobot parts-controller-cm-510)

PASO: (figura 13) Es un conjunto de poses consecutivas que tienen como fin producir un cambio de posicin del robot [] El caminado es un conjunto de pasos [] La rapidez de un caminado es determinada por el tiempo en el que cada paso est editado []11

I_0: Es el conjunto de poses que le permitir al robot iniciar el caminado con el pie izquierdo. (figura 15)

FIGURA 15.- CONJUNTO DE POSES I_0. LAS FIGURAS MUESTRAN EL CAMBIO DE POSICION QUE OCURRE PARA INICIAR EL CAMINADO. C_1: Conjunto que permitir el seguimiento del caminado con el pie derecho, de manera que no termine el caminado. (figura 16) FIGURA 13.- MUESTRA DE PASOS Y CAMINADO 11 PAGINAS: Es un concepto usado para distinguir entre los diferentes movimientos gravados en el controlador [] es posible realizar hasta 255 pginas de movimientos [] 11

FIGURA 16.- CONJUNTO DE POSES C_1. LAS FIGURAS MUESTRAN EL CAMBIO DE POSICION QUE OCURRE PARA CONTINUAR EL CAMINADO. C_2: Despus de haber avanzado con el pie derecho tendr la misma funcin que C_1 para llevar un caminado consecutivo creando un ciclo intercalando C_1 y C_2 (figura 17).

FIGURA 14. MUESTRA UNO DE LOS DIFERENTES CAMBIOS DE POSICION CON 14 VALORES DE TORQUE El valor del torque de cada servomotor para la edicin de poses va desde 0 a 1023 lo cual permite la limitacin de movilidad ya que no es posible girar cada servomotor completamente debido a la estructura del robot y los cables de comunicacin. Esta cantidad de valores de torque permiten realizar movimientos precisos, en este caso el caminado del robot bpedo. El caminado elemental que se obtuvo de ROBOPLUS MOTION consta de 5 diferentes cambios de posicin (figura 14), estos de 2 pginas cada uno con 7 pasos que van de 0 a 6, en total 14 valores de torque que le permitirn a cada servomotor cambiar de posicin. LOGICA DEL CAMINADO Tomar en cuenta por lo menos 5 diferentes cambios de posicin es indispensable para la lgica del caminado. A continuacin se muestran estos de manera ilustrativa los cuales se denominaron de diferente manera cada uno para poder identificarlos: 11 http://www.robotis.com (user guide-product informationrobot parts-controller-cm-510)

FIGURA 17.- CONJUNTO DE POSES C_1. LAS FIGURAS MUESTRAN EL CAMBIO DE POSICION QUE OCURRE PARA CONTINUAR EL CAMINADO. Y para detener el ciclo de caminado depender de en cul de las poses anteriores se le indico detenerse. FD_0: Finalizara el paso con pie derecho. (figura 18)

FIGURA 18.- CONJUNTO DE POSES FD_0. LAS FIGURAS MUESTRAN EL CAMBIO DE POSICION QUE OCURRE PARA FINALIZAR EL CAMINADO.

FI_0: Finaliza el paso con pie izquierdo. (figura 19)

CODIGO EN LENGUAJE C Para el cdigo en lenguaje C del caminado basta pasar de la lgica en el diagrama anterior a uno en escritura tomando en cuenta las diferentes libreras y palabras reservadas y los elementos que el KIT de ROBOTIS incluye como puertos, botones y Leds. Como se menciono anteriormente el microcontrolador puede ser programado con el software del fabricante AVR-STUDIO, el cual soporta lenguaje C. Como este software es utilizado para la programacin de los diversos productos ATMEL, este mismo proporciona ciertas libreras para lograr que el microcontrolador entienda las rdenes que deba realizar, y pasa a ser un lenguaje ensamblador.

FIGURA 19.- CONJUNTO DE POSES FI_0. LAS FIGURAS MUESTRAN EL CAMBIO DE POSICION QUE OCURRE PARA FINALIZAR EL CAMINADO. DIAGRAMA DE FLUJO DEL CAMINADO En el siguiente diagrama de flujo (figura 20) se muestra la lgica que deben y pueden seguir las diferentes poses del caminado para conseguir un ciclo de caminado continuo y decidir cundo se detendr o iniciara. Verificado continuamente el estado (valor) de una variable (R en este caso) se decide cundo se detendr o iniciara dicho ciclo. -Inicia y la variable R se comenzara a verificar constantemente permitiendo decidir si se iniciara el caminado. -Se decide iniciar el caminado y se procede a realizar el conjunto de poses I_0. -En cuanto inicia el caminado ya es posible decidir detenerlo verificando el estado de R. - Comenzara el ciclo con C_1 seguido de una verificacin de estado de R, despus C_2 verificando tambin el estado de R. -Mientras R no sea verdadera el ciclo de caminado continuara. FIGURA 20.- DIAGRAMA DE FLUJODEL CAMINADO. R= VARIABLE DE INICIO Y FIN DEL CAMINADO. I_0, C_1, C_2, FD_0, FI_0 CONJUNTOS DE POSES.

FIGURA 21.- LIBRERIAS UTILIZADAS PARA EL CODIGO DEL CAMINADO. Las libreras incluidas en el cdigo de caminado son las siguientes (figura 21): -avr/io.h: [] acceso de entradas y salidas para diversos micro-controladores AVR []12 -avr/interrupt.h: [] manipulacin global de la bandera de interrupcin []13 -stdio.h: [] archivo de cabecera que contiene las definiciones de macros, las constantes, las declaraciones de funciones y la definicin de tipos usados por varias operaciones estndar de entrada y salida []14 -math.h: [] declara un conjunto de funciones para calcular operaciones matemticas comunes y las transformaciones []15 -util/delay.h: [] permite utilizar retardos, donde los valores reales de tiempo puede ser especificado en lugar de un nmero de ciclos que esperar []16 Es esencial conocer la velocidad con la que se comunica el microcontrolador en este caso en la funcin delay.h se estableci lo siguiente #define F_CPU 16000000UL ya que el dispositivo logra un rendimiento de 16 MIPS a 16 MHz.

12

http://www.linuxfocus.org/common/src/article231/avrlibc-reference.html (i/o) 13http://www.nongnu.org/avr-libc/usermanual/group__avr__interrupts.html 14 http://es.wikipedia.org/wiki/Stdio.h 15 http://www.cplusplus.com/reference/clibrary/cmath/ 16http://www.nongnu.org/avr-libc/usermanual/group__util__delay.html

ROBOTIS proporciona las siguientes libreras: -Dynamixel.h: [] es una librera de programacin estndar para el control de los diferentes servomotores Dynamixel. []17 Esta misma librera presenta palabras reservadas para lograr comunicacin con los servomotores y el microcontrolador que los integra. -Serial.h: [] es una librera que le permite la comunicacin serial con PC para diversos fines []17 -Zigbee.h: [] es la librera que le permite la comunicacin del controlador y el control inalmbrico RC-100[]17 Las ltimas dos libreras solo se utilizan para comprobar el estado del robot y sus funciones ya que para el objetivo de un robot autnomo un control remoto o la comunicacin con PC por puerto serial estn de ms. Se deben declarar valores provenientes de la tabla de control (tabla 2) estos estn previamente establecidos por el fabricante. Esta tabla contiene informacin del estado y operacin de cada actuador. Lo que significa que los Dynamixel se operan modificando los valores de la tabla de control.

Se deben establecer cada uno de los valores de la tabla de contenido pero en el caso del caminado solo es necesario trabajar con los datos de posicin, velocidad, torque y movimiento (figura 22).

FIGURA 22.- DECLARACION DE VALORES DE TABLA DE CONTROL (DIRECCIONES DE DYNAMIXEL). Se establecen de igual manera los valores de leds y botones que el CM-510 le asigno a cada uno, esto para tener un acceso ms fcil y eficaz (figura 23).

FIGURA 23.- DECLARACION DE VALORES TANTO DE BOTONES Y LEDS QUE LOS REFERENCIA. Los valores obtenidos de ROBOPLUS MOTION para cada una de las poses del caminado son declaradas en arreglos de [numero de actuadores] por [poses segn el paso] (figura 24) incluidos en distintas subrutinas segn el paso, esto de igual manera para facilitar su utilizacin.

TABLA 2.- TABLA DE CONTROL (DIRECCIONES DE DYNAMIXEL).18 [] Los valores de datos para el rea de la RAM se establecen en los valores iniciales por defecto cada vez que est encendido. Sin embargo, los valores de datos para el rea de EEPROM no son voltiles y seguir siendo, incluso despus de que el poder est apagado []18 17 http://www.robotis.com (user guide-software help) 18http://robosavvy.com/RoboSavvyPages/Support/Bioloid/A X-12(english).pdf

FIGURA 24.- ARREGLO DE VALORES DE LAS POSES PARA UN PASO DEL CAMINADO (I_0).

Para la lgica del caminado en lenguaje C es necesario pasar la lgica del diagrama de flujo de la figura 20. En el diagrama se estableca una variable denominada R para decidir si comienza o se detiene el caminado. El hardware del kit Bioloid CM-510 tomara la funcin de R, se decidir iniciar o detener el caminado con los diferentes botones del controlador. As mismo encendern leds para comprobar el estado. En el cdigo de la figura 25 se encontrara que: 1.-Si el botn U es presionado y la variable a esta reinicializada uno de los leds enciende y se realiza la subrutina de BALANCE. 2.-Si el botn D es presionado y la variable a tiene 1 como valor, leds y todos los torque se apagan. 3.-Si el botn L es presionado, la variable a toma el valor de 2 y permitir iniciar el ciclo de caminado. 4.-i es una variable bandera que decidir que funcin del caminado sigue, ya sea I_0, C_1, C_2 o cuando finaliza con FD_0 o FI_0.

El microcontrolador se comunica con los Dinamixeles mediante un paquete de instrucciones (figura 26) y viceversa. Esto para llevar un control del estado de cada servomotor. Y modificar el valor de cada informacin de la tabla de control ya sea RAM o EEPROM. Este paquete de instrucciones est constituido por:

FIGURA 26.- PAQUETE DE INSTRUCCIONES NECESARIO PARA LA COMUNICACIN ENTRE MICRO Y DYNAMIXEL.19

0XFF, 0XFF: [] Indicar el inicio de un nuevo paquete[]19 ID: [] El valor nico de cada Dynamixel []19 LENGTH: [] La longitud del paquete donde su valor es numero de parmetros (N) +2 []19 INSTRUCTION: [] La instruccin para el actuador Dynamixel que se realizara. []19 PARAMETER0N: [] Se usa si hay alguna informacin adicional que se necesite enviar adems de la instruccin []19 CHEK SUM: [] El mtodo para calcular este es:
CHECKSUM = ~ (ID + LENGTH INSTRUCTION + PARAMETER1 PARAMETER N) []19 + +

Todo este paquete es necesario enviarlo en un formato de lenguaje C, este formato debe ir incluido en cada una de las subrutinas de los pasos del caminado como se muestra a continuacin (figura 27):

FIGURA 25.- CODIGO EN LENGUAJE C DE DIAGRAMA LOGICO DEL CAMINADO.

FIGURA 27.- PAQUETE DE INSTRUCCIONES EN LENGUAJE C. 19http://robosavvy.com/RoboSavvyPages/Support/Bioloid/A X-12(english).pdf (paquete de instrucciones)

Se tiene lo necesario del caminado tomando en cuenta los diferentes elementos proporcionados por el fabricante del kit adquirido. Es necesario establecer los mtodos necesarios para conseguir que el robot sea autnomo, capaz de moverse por s solo. El procesamiento de imgenes es una buena opcin para lograr estos objetivos.

Procesador de imagen HV7131RP


Para el procesamiento de las imgenes se utilizara la cmara Havimo 1.5 (figura 28). El procesador de la cmara Havimo 1.5, el HV7131RP es un chip CMOS el cual hace la funcin de sensor de imagen, tiene una alta sensibilidad y un amplio rango dinmico. Un arreglo de 660x507 pixeles. Cada uno de los pixeles est compuesto por 4 transistores cada uno tiene una microlente para mejorar la sensibilidad, y convierte la energa de los fotones a voltaje anlogo de pixel. Cuenta con un ADC de 10 bits y un chip de muestreo doble correlacionado que reduce el ruido dramticamente.

TABLA 3.- TABLA DE PINES MICRO CAMARA HAVIMO 1.5. 21

FIGURA 28.- HARDWARE CAMARA HAVIMO 1.520 Entre otras caractersticas tenemos: Compensacin del nivel de negros. Correccin de Gamma de la imagen. Interpolacin del color de 3x3. Mejora de: Contraste, Saturacin, Brillo, Tono Conversin de RGB a YCbCr e inversa. Modos de sub-muestreo: 2x2, 2x6, CIF, QCIF Formatos de salida variados: YCbCr 4:2:2, RGB 5:6:6, Bayer. Bus de 8 bits de datos. Control automtico de exposicin. Control automtico de balance de blancos. 30fps

Relacin entre Cmara Havimo 1.5 y protocolo Dynamixel


Es muy importante tomar en cuenta que la cmara Havimo 1.5 est basada casi en su totalidad en el protocolo de los servomotores Dynamixel. En la siguiente tabla podemos comprobar lo que se dice con anterioridad:

TABLA 4.- TABLA DE INSTRUCCIONES DE SERVOMOTORES DYNAMIXEL. 21

20 http://pishrobot.com/en/products/robotis.htm 21http://pishrobot.com/files/products/datasheets/havimo.pdf FIGURA 29.- MICROCONTROLADOR HAVIMO 1.5. 21

RD REGTHR, WR REGTHR: [] Esta instruccin nos sirve para accesar al umbral de valores del filtro de regin de la imagen. Estos umbrales definen el nmero mnimo de pixeles dentro de una regin, las regiones con poca cantidad de pixeles son filtradas y eliminadas []22

Se conoce entonces tanto el equipo para el caminado como el equipo de visin. Es necesario unificar ambos en todos los sentidos posibles para lograr conseguir un robot autnomo. TABLA 5.- TABLA DE INSTRUCCIONES DE SISTEMA DE VISION HAVIMO 1.5. 21 Como se puede observar existen muchas similitudes entre ambas tablas de instrucciones, por obviedad las instrucciones de la cmara son ms ya que se necesitan otras acciones como la captura de la imagen por ejemplo, que el motor no tiene que realizar. A continuacin se describirn cada una de las instrucciones colocadas en la tabla: PING:[] Esta instruccin se utiliza para verificar la existencia de la cmara y para saber si est lista para recibir la siguiente instruccin[] 22 READ DATA: [] Esta instruccin se utiliza para leer los resultados del procesamiento de la imagen. Es la misma que la instruccin READ en Dynamixel, slo que el rea accesada no es el rea registrada.[] 22 READ REG: [] Lee el contenido de los registros de la cmara. Este comando acepta lectura multi-byte []22 WRITE REG: [] Esta instruccin escribe el contenido de los registros de la cmara. Esta acepta escritura de byte individual [] 22 CAPTURE: [] Gracias a esta instruccin es posible comenzar a captura y el procesado de los frames. Esto toma aproximadamente entre 100125 ms, pero esta instruccin siempre espera a que se comience a procesar el siguiente frame[]22 RAW SAMPLE: [] Con esta instruccin podemos desplegar los datos obtenidos en el frame. Es muy utilizada cuando queremos observar una muestra de la imagen obtenida []22 LUT MANAGE: [] Despus de esta instruccin, el mdulo entra en modo de programacin, es decir, el dispositivo ya no acepta ms paquetes. No debe ser usada esta instruccin en el modo de implementacin[]22

CONCLUSION
La robtica es un rea de la tecnologa a la cual se le debe dedicar el tiempo necesario para conseguir buenos resultados, el cual se le est dando al conocer el equipo con en el mas mnimo detalle. Los modelos matemticos de un robot humanoide son muy complejos debido a sus mltiples grados de libertad, es necesario hacer varios clculos para conseguir poses precisas. La interfaz de comunicacin que desarrollar el Dr. Jos Vctor Nez Nalda, tambin permitir el trabajar mediante cinemtica inversa, lo que facilitara la obtencin de modelos matemticos.

FIGURA 30.- IMAGEN DE BIOLOID PREMIUM KIT DE ROBOTIS CON LAS MODIFICACIONES REALIZADAS HASTA AHORA.
Los primeros pasos, en la investigacin de robots humanoides en nuestra escuela fueron dados. Todava hay un largo camino por recorrer en esta rea y ms si se quiere estar preparados para la ROBOCUP del 2012 en MEXICO. Es necesario seguir trabajando, y hacer todo lo posible por conseguir los propsitos deseados. Ms adelante se puede pensar en hacer un equipo de robots humanoides desde cero por miembros y estudiantes de la escuela que ser bastante trabajo pero no imposible.

RD FILTHR, WR FILTHR: [] Con esta instruccin tenemos acceso al umbral de valores del filtro de ruido. []22 22http://pishrobot.com/files/products/datasheets/havimo.pdf -

REFERENCIAS DE INTERNET

1.

http://www.thetech.org/robotics/univer sal/index.html http://robotechno.us/karel-capekmeaning-robot.html/rossumsuniversal-robots-rur http://es.wikipedia.org/wiki/Robot (HISTORIA) http://www.robothalloffame.org/unim ate.html http://www.robocup.org http://www.robotis.com (Bioloid Premium kit CM-510) http://www.atmel.com/dyn/resources/p rod_documents/2549S.pdf http://www.robotis.com (user guideproduct information-robot partscontroller-cm-510) http://www.trossenrobotics.com/dyna mixel-ax-12-robot-actuator.aspx

19. http://robosavvy.com/RoboSavvyPag es/Support/Bioloid/AX-12(english).pdf (paquete de instrucciones) 20. http://pishrobot.com/en/products/rob otis.htm 21. http://pishrobot.com/files/products/da tasheets/havimo.pdf 22. http://pishrobot.com/files/products/da tasheets/havimo.pdf

2.

3.

4.

5. 6.

7.

8.

9.

10. http://robosavvy.com/RoboSavvyPag es/Support/Bioloid/AX-12 (english).pdf 11. http://www.robotis.com (user guideproduct information-robot partscontroller-cm-510) 12. http://www.linuxfocus.org/common/sr c/article231/avr-libc-reference.html (i/o) 13. http://www.nongnu.org/avr-libc/usermanual/group__avr__interrupts.html 14. http://es.wikipedia.org/wiki/Stdio.h 15. http://www.cplusplus.com/reference/c library/cmath/ 16. http://www.nongnu.org/avr-libc/usermanual/group__util__delay.html 17. http://www.robotis.com (user guidesoftware help) 18. http://robosavvy.com/RoboSavvyPages /Support/Bioloid/AX-12(english).pdf