Manipulacion de un robot humanoide con kinect

82

description

proyecto final de manipulacion con kinect y linux de un robot humanoide.

Transcript of Manipulacion de un robot humanoide con kinect

  • Instituto Politcnico NacionalEscuela Superior de Ingeniera Mecnica y Elctrica

    Proyecto de Ingeniera para reducir riesgos en reas

    peligrosas (Desactivar Bombas)

    Proyecto Terminal

    Que para obtener el titulo de

    Ingeniero en Robtica Industrial

    Presentan

    Jorge Luis Castro RodrguezJess Castillo Martnez

    Directores

    M. en C. Jess Antonio Alvarez Cedillo

    M. en C. Ricardo Corts Olivera

    Noviembre de 2013

  • .

    2

  • ndice general

    Agradecimientos viii

    Resumen x

    Abstract xi

    Introduccin 1

    Planteamiento del problema 2

    Objetivos 3

    Justicacin 4

    1. Antecedentes Historicos 6

    1.1. El robot Prometeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    1.2. Robot hexpodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    1.3. Perro Robot para ciegos . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.4. Control de Robot ABB con Kinect . . . . . . . . . . . . . . . . . . . 7

    1.5. Brazo controlado con actuadores grcos . . . . . . . . . . . . . . . . 7

    1.6. Uso mdico del Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.7. Robot Sally Desactiva Bombas . . . . . . . . . . . . . . . . . . . . . . 9

    2. Estudio del estado del arte 11

    2.1. Contexto tecnolgico . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.1.1. Robtica Industrial . . . . . . . . . . . . . . . . . . . . . . . 11

    2.1.2. Blender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    iii

  • iv ndice general

    2.1.3. Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.1.4. Infrarrojo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    2.2. Contexto Normativo . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    3. Anlisis del sistema de transmisin de movimientos corporales para

    la manipulacin del Robosapien 22

    3.1. Anlisis Funcional del sistema de transmisin KINECT - UIRT- RO-

    BOSAPIEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    3.1.1. Fortalezas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    3.1.2. Oportunidades . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    3.1.3. Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    3.1.4. Debilidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    3.2. Obtencin y seleccin de la problemtica en base a criterios . . . . . . 24

    3.3. Alternativas de solucin . . . . . . . . . . . . . . . . . . . . . . . . . 26

    3.4. Seleccin de la solucin . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    4. Anlisis de costos y retorno de inversin 41

    4.1. COSTOS INDIRECTOS . . . . . . . . . . . . . . . . . . . . . . . . 41

    4.2. COSTOS DIRECTOS O VARIABLES . . . . . . . . . . . . . . . . . 41

    4.3. COSTOS Y PRESUPUESTOS . . . . . . . . . . . . . . . . . . . . . 42

    4.3.1. Costos de los componentes . . . . . . . . . . . . . . . . . . . 42

    4.4. Costo de mano de obra e ingeniera . . . . . . . . . . . . . . . . . . . 43

    4.5. Retorno de inversin, punto de equilibrio . . . . . . . . . . . . . . . . 44

    4.5.1. Benecios del nuevo sistema con respecto al anterior en cues-

    tiones monetarias. . . . . . . . . . . . . . . . . . . . . . . . . . 46

    5. Diseo del sistema (MODELADO) 47

    5.1. Diseo del sistma grco en BLENDER . . . . . . . . . . . . . . . . 47

    5.1.1. Propuesta de diseo de robot capz de desactivar una bomba. 52

    5.1.1.1. Estrategia de deteccin de bombas . . . . . . . . . . 52

    5.1.1.2. Anlisis de partes y modelado del sistema de visin. 53

    5.1.1.3. Inteligencia del Robot. . . . . . . . . . . . . . . . . . 55

    5.1.1.4. Criterio de seleccion de materiales. . . . . . . . . . . 56

    5.1.1.5. Propuesta del diseo mecnico . . . . . . . . . . . . 57

  • ndice de guras

    1.1. Robot controlado con Blender . . . . . . . . . . . . . . . . . . . . . . 8

    1.2. Robo Sally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.1. Brazo soldador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    2.2. Dimensiones del sensor Kinect. . . . . . . . . . . . . . . . . . . . . . 15

    2.3. Composicin interna del sensor Kinect. . . . . . . . . . . . . . . . . . 17

    3.1. MotionCapture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3.2. Diseo de la placa UIRT . . . . . . . . . . . . . . . . . . . . . . . . . 30

    3.3. UIRT internamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    3.4. Modo Super Usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    3.5. Diagrama de distancia y ngulo de iluminacion de infrarrojo. . . . . 33

    3.6. Respuesta del robot en diferentes estados de iluminacin . . . . . . . 34

    3.7. Pruebas de movimiento en un objeto simple . . . . . . . . . . . . . . 35

    3.8. Delicode NI-Mate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    3.9. Reconocimiento de cuerpo . . . . . . . . . . . . . . . . . . . . . . . . 36

    3.10. Importacin de Big Buck Bunny . . . . . . . . . . . . . . . . . . . . . 37

    3.11. Comparacin de propiedades en Kinect y Blender . . . . . . . . . . . 38

    3.12. Movimiento Big Buck Bunny . . . . . . . . . . . . . . . . . . . . . . . 39

    3.13. Comparacin de Movimiento . . . . . . . . . . . . . . . . . . . . . . . 40

    3.14. Interaccin del sistema Hombre- Diseo grco . . . . . . . . . . . . . 40

    4.1. Graca representativa del punto de equilibrio. . . . . . . . . . . . . . 45

    5.1. UV image editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    5.2. UV image editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    v

  • vi ndice de guras

    5.3. Primeros pasos de elaboracin 3D . . . . . . . . . . . . . . . . . . . . 51

    5.4. Primeros pasos de elaboracin 3D . . . . . . . . . . . . . . . . . . . . 52

    5.5. Diagrama de ujo del modelo de adquisicin de datos con retroali-

    mentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    5.6. Camara de visin CMUCAM-3 . . . . . . . . . . . . . . . . . . . . . 55

    5.7. UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

  • ndice de tablas

    3.1. Conguracin de hardware UIRT . . . . . . . . . . . . . . . . . . . . 27

    3.2. Rutas de informacin necesaria para el funcionamiento de UIRT . . . 29

    3.3. Principles movimientos del Robot . . . . . . . . . . . . . . . . . . . . 31

    4.1. Costos de inversin para el desarrollo del proyecto. . . . . . . . . . . 43

    4.2. Tiempo invertido en la elaboracin del proyecto . . . . . . . . . . . . 44

    4.3. Datos para calcular el punto de equilibrio . . . . . . . . . . . . . . . . 45

    4.4. Componentes adicionales para el funcionamiento de un robot mas preciso 46

  • Agradecimientos

    Agradecemos enteramente a nuestros padres por brindarnos la oportunidad de

    estudiar una carrera de ingeniera en la gloriosa ESIME Azcapotzalco del glorioso

    Instituto Politcnico Nacional, a nuestros directores de proyecto por brindarnos su

    apoyo.

    Muy en especial al Dr. Jess Antonio lvarez Cedillo que nos permiti trabajar

    con l en un proyecto de innovacin tecnolgica, brindndonos todo su apoyo y

    experiencia en el desarrollo de sistemas computacionales en base a la plataforma

    UNIX.

    Al M. en C. Ricardo Corts Olivera que siempre estuvo dispuesto a otorgar su

    buen juicio y experiencia para darnos asesoras en el diseo de ste trabajo.

    Un agradecimiento al Centro de Innovacin y Desarrollo Tecnolgico en Computo

    (CIDETEC) del IPN que nos permitieron realizar este proyecto en procesamiento

    paralelo dndonos la oportunidad de poner en prctica los conocimientos adquiridos

    en la ESIME Azcapotzalco.

    viii

  • ndice de tablas ix

    Castro Rodriguez Jorge Luis

    Agradezco y dedico este trabajo a Dios y a mi Madre, por siempre estar apoyan-

    dome incondicionalmente a lo largo de mi carrera a Dios por darme la sabidura de

    comprender todas las cosas que yo desconoca y que la ciencia no me ayudara a

    comprender.

    Gracias por entenderme en los momentos de crisis porque sin tu ayuda y tus con-

    sejos nunca abra sido capaz de salir adelante talvez no existan las palabras sucientes

    para demostrate cuan orgullozo estoy de ti.

    A mi padre por darme lecciones en la vida que tendr siempre presentes

    A mis hermanos porque su inocencia y sus pequeos detalles hacan que cada vez

    que existan situaciones adversas supieron comprender los estados en los que estaba

    y lograron soportarme Gracias.

    A mis abuelos por sus sabios consejos que sin ellos no habra en mi, principios

    y valores como la responsabilidad perseverancia y respeto, que me forjaron y que se

    ven reejados en el termino de este proyecto.

    A todos ustedes GRACIAS.

    Castillo Martnez Jess

    A mi madre: Te doy las gracias por haberme impulsado y darme la enorme dicha

    de ser tu hijo. Porque gracias a tu apoyo, esfuerzo y comprensin; me has inspirado

    conanza impulsndome a obtener uno de mis objetivos. Con cario admiracin y

    respeto.

    A mi familia: En testimonio de gratitud ilimitada por su apoyo y estmulo; mismos

    que posibilitaron la conquista de esta meta: Mi formacin profesional.

    A mis amigos: Porque son de esa clase de personas que todo lo comprenden y dan

    lo mejor de s mismas sin esperar nada a cambio... porque se han ganado el cario,

    admiracin y respeto de este humilde individuo.

  • Resumen

    En este trabajo se plantea el control de un robot humanoide a travs de una

    interfaz interactiva en tiempo real y de manipulacin natural. Los sistemas con-

    vencionales de manipulacin formados por dispositivos a base de palancas como los

    joysticks, los TrackBall (a base de esferas) y programacin repetitiva tipo CNC, son

    de uso complicado, grandes dimensiones y difcil conguracin. Se propone el desar-

    rollo de un sistema que permita la deteccin de movimiento basada en el uso de la

    visin articial y el controlador Kinect de Microsoft.

    Se realiz un prototipo controlado con una interfaz inalmbrica para realizar

    el seguimiento de las extremidades de una persona a travs de dispositivos sin ca-

    bles (WIRELESS) en un humanoide tipo Robosapiens, su implementacin inicial

    permitir en un futuro aplicarlo a robots de tipo industrial tales como: Scara, Pris-

    mticos, PUMA, Cuca y Humanoides; su control ser a travs de luz infrarroja, blue-

    tooth y Wi-Fi. Se consideran los grados de libertad del robot, como base para realizar

    el modelo mecnico en software y su modelado en 3D.

    La nalidad de este proyecto es demostrar las bases para otorgar mayor seguridad

    a un operario en el proceso para la desactivacin de una bomba, comparado con el

    proceso actual que se tiene el cual es un procedimiento bastnte riesgoso.

    A su vez tambin se demuestra en el proyecto que los alcances no slo se limitan

    a este tipo de eventos sino que tambien su aplicacin industrial sera ms interactiva

    y ms segura. Como es de considerarse, la implementacin de este trabajo reduce

    costos en considerables en el sector seguridad ya que el riesgo que se tiene al momento

    de desactivar una bomba y a su vez el mayor costo es el de una vida humana que

    al implementar este sistema podremos reducir los riesgos o en el mejor de los casos

    eliminarlos.

    x

  • Abstract

    This paper presents the control of a humanoid robot through a real-time inter-

    active interface handling and naturally. Conventional systems for handling formed

    levers based devices such as joysticks, trackballs ( based spheres) and CNC type

    repetitive programming , are complicated to use , large dimensions and dicult con-

    guration. It proposes the development of a system for motion detection based on

    the use of articial vision and Microsoft 's Kinect controller .

    We performed a controlled prototype with a wireless interface to track a person's

    limbs through wireless devices ( WIRELESS ) Robosapiens a humanoid type , its

    initial implementation in the future will apply to industrial type robots such as :

    Scara , Binoculars, PUMA , Cuca and Humanoids , its control is through infrared ,

    Bluetooth and Wi - Fi . It considers the degrees of freedom of the robot, as the basis

    for the mechanical model in software and 3D modeling.

    The purpose of this project is to demonstrate the basis for further security to an

    operator in the process of disabling a bomb, compared to the current process that

    you have which is a pretty risky procedure .

    In turn also demonstrated in the project that reaches not only limited to these

    events but also industrial application would be more interactive and more secure.

    As is seen , the implementation of this work reduces signicant costs in the security

    sector as the risk that you have the time to defuse a bomb and in turn the higher cost

    is that of a human life that implementing this system we can reduce risks or eliminate

    best . Traductor de Google para empresas:Google Translator ToolkitTraductor de

    sitios webGlobal Market Finder

    xi

  • Introduccin

    En la actualidad se han desarrollado nuevas tendencias tecnolgicas en el rea

    de la robtica industrial, tanto de automatizacin como de control, ya sea por en-

    tornos virtuales para la manipulacin de robots, que ofrecen una amplia gama de

    aplicaciones cientcas y son usadas en experimentacin y aprendizaje.

    La deteccin de movimientos con Kinect en conjunto con un software de diseo 3D

    ofrecen una herramienta til para el desarrollo de tecnologas de control para diversos

    tipos de robot como son: de experimentacin, entretenimiento e industriales.

    Primordialmente abarcamos los conceptos necesarios para el entendimiento del

    trabajo, brindando as al lector una comprensin de la tecnologa usada, as como

    tambin se abarca el desarrollo de la interfaz para controlar un robot humanoide por

    medio de tecnologa infrarroja y el desarrollo necesario para la implementacin de

    tecnologa Bluetooth y Wi-Fi.

    Se usa un diseo en tercera dimensin con un software multiplataforma llamado

    Blender el cual nos permite una fcil interaccin con los dispositivos vinculados al

    equipo de computo. La tecnologa Kinect nos otorga la captura de movimiento a

    travs de las libreras SDK, que son libreras de desarrollo para las nuevas tendencias

    como lo son visin e inteligencia articial.

    Estas dos tecnologas, Blender y Kinect, juntas, forman una poderosa estructura

    fundamental para el desarrollo de todo este trabajo que se mostrar en los captulos

    siguientes.

    1

  • Planteamiento del problema

    El procedimiento que actualente se tiene para desactivar una bomba en el pas es

    demasiado riesgosa ya que los tcnicos en explosivos deben valorar la situacin a la

    cual se van a enfrentar, examinar los elementos de seguridad con los que se cuenta

    y utilizarlos de la mejor manera; el sistema de seguridad al operario se encuentra a

    mas de 100m a la redonda y en caso de una emergencia tardaran mnimo 5 minutos

    en llegar mismos que seran insucientes en dado caso de trabajar con explosivos

    altamente peligrosos.

    Dados los argumentos anteriores y tomando en cuenta que existen robots con

    gran exactitud a la hora de operar y que adems cuentan con un sistema de retroali-

    mentacin a travs de camaras pero que a su vez su programacin es bastnte tardada

    y no es exible en sentido de que no todos los casos de amenaza de bomba son iguales,

    surge la necesidad de implementar un sistema de control que nos de mayor presicin,

    seguridad y un tiempo de programacin casi inmediato y que adems nos permite

    tener esa exibilidad para que un slo sistema y un solo robot nos permita utilizarlo

    en diversas ocasiones sin tener que cambiar mucho su programacin.

    2

  • Objetivos

    Objetivo General

    Controlar un robot tipo humanoide a travs de la relacin de movimiento para

    desarrollar una interfaz hombre-mquina que servir como principio de aplicacin

    para las nuevas tendencias de control mecnico en robots con ms grados de libertad

    y mejor presicin.

    Objetivo especico

    Desarrollar un sistema de control econmico e interactivo para un robot de tipo

    humanoide a travs de la relacin de movimientos mediante el sistema de visin

    articial Kinect y software libre Blender, basados en plataforma LINUX.

    3

  • Justicacin

    El sistema mostrado de transmision de datos y control de un robot humanoide es

    una iniciativa para optimizar la precision de los robots al momento de querer realizar

    actividades peligrosas para el ser humano como lo es la desactivacion de una bomba.

    Para ello es necesario transmitir datos a distancia mediante una comunicacin

    inalmbrica y as tener mejoras en cuestin de respuesta en el tiempo del sistema,

    exibilidad y prescicin con respecto a los robot que ya existen y que llevan una

    conguracion bastnte compleja. ste proyecto otorga mayor seguridad para los tc-

    nicos en explosivos y mayor exactitud al momento de estar operandolos que los ya

    existentes.

    Por otra parte los sistemas de visin pueden acelerar la produccin y reducir

    los costos de mano de obra, los robots industriales son comunes en entornos de

    produccin de alto volumen que requieren acciones repetitivas y jas como acciones

    de CNC y robots de soldadura, en estas aplicaciones los movimientos del robot

    no cambian mas hoy en da estn evolucionando a nuevos tipos de aplicaciones de

    manejo y colocacin de partes que requieren manejo exiHoja en blancoble, preciso

    y delicado.

    Estos nuevos tipos de aplicaciones no se pueden manejar con los movimientos jos

    y repetitivos de los entornos de produccin a gran escala por las siguientes razones:

    Los entornos exibles de manufactura requieren robots para ajustarse a los nuevos

    componentes y procedimientos cada vez que la produccin cambie. El ensamble de

    precisin requiere robots para ubicar, manejar y colocar los componentes pequeos

    en la ubicacin correcta.

    En otras palabras estas acciones necesitan robots ms inteligentes que puedan

    interactuar con sus entornos a travs de medidas y visin. Es por esto por lo que

    4

  • ndice de tablas 5

    la nueva interfaz de manipulacin con Kinect nos ser de gran ayuda para estas

    diferentes aplicaciones.

  • Captulo 1

    Antecedentes Historicos

    1.1. El robot Prometeo

    Desarrollado por estudiantes del Programa de Ingeniera Electrnica de la Uni-

    versidad el Bosque, se diseo para moverse inalmbricamnete con seales producidas

    con los movimientos de los musculos. Mencionan que el robot es solo el comienzo

    de un gran proyecto venidero, en el cual sus objetivos nales es hacer un robot que

    pueda prestar servicios de seguridad como es desarmar bombas.

    Aquiles II es un robot diseado enteramente por una empresa catalana, este robot

    tiene desarrollos tecnologicos que le permiten desactivar artefactos explosivos, mover

    paquetes que supongan un peligro, trabajar con toxicidad en el ambiente. Este robot

    es adquirido por un escuadron de seguridad catalana para asegurar a la ciudadana.

    1.2. Robot hexpodo

    Un robot hexpodo (con forma de hormiga) fue desarrollado por del Centro de

    Robtica e Informtica de la Universidad Jorge Tadeo Lozano (2011), es controlado

    por un dispositivo de pantalla tctil (puede ser un celular o tablet) por medio de

    un programa desarrollado por ellos mismos. El proyecto evoluciono de un simple

    monitoreo de cultivos pero decidieron que realizara una actividad mas peligrosa, que

    es, asistir a tcnicos del escuadron antibombas. Tienen en desarrollo un guante con

    el cual puedan transmitir mejor los movimientos al manipulador del robot y hacer

    6

  • 1.3. Perro Robot para ciegos 7

    mas precisos sus movimientos.

    1.3. Perro Robot para ciegos

    Un inteligente diseo de perro-robot le saca bastante provecho a la tecnologa

    del Kinect, ya que su capacidad de reconocer el espacio y las distancias le convierte

    en un preciso gua de ciegos. El uso es bastante sencillo, el usuario toma el mango

    del perro y lo presiona, entonces el robot avanza mientras da indicaciones de voz y

    describe el entorno para situar mejor y ayudar a su dueo. Tambin sube y baja

    escaleras si es necesario, por lo que es bastante verstil. Est desarrollado por la

    Universidad de Electro-comunicaciones (Tokio) [1]. El plan es seguir mejorando el

    perro-robot, incluir comandos de voz y agregarle GPS para mejorar la navegacin.

    1.4. Control de Robot ABB con Kinect

    Control de un Robot ABB con Kinect Estudiantes de Ingeniera Robtica que

    en el verano de 2011, en Suecia, usaron el software de seguimiento de esqueleto del

    Kinect, para controlar un brazo robtico ABB [1]. En la gura 1.1 se puede ver como

    manejan el robot con el Kinect, en donde apilan una serie de bloques de madera para

    despus escribir utilizando el robot.

    1.5. Brazo controlado con actuadores grcos

    Alan Daz, estudiante del CIDETEC (2012), trabajo en el control de un brazo

    robotico controlado por un diseo en 3D hecho en blender, el cual envia e interpreta

    ordenes de control a travez de un dispositivo de desarrollo de multiples entradas y

    salidas arduino. La desventaja sobre este trabajo es la delimitante de movimientos

    generada por los cables que hacen posible la comunicacin con la computadora y el

    robot.

    M. Martnez Zarzuela realizo una monitorizacin de movimientos mediante el

    dispositivo Kinect (2011).

  • 8 Captulo 1. Antecedentes Historicos

    Figura 1.1: Robot controlado con Blender

    1.6. Uso mdico del Kinect

    Estudiantes de la Universidad de Washinton (EE.UU.) han querido ir ms all.

    Han adaptado la tecnologa para realizar cirugas robticas asistidas en la vida re-

    al. Este mtodo implica el uso de Kinect para ayudar a los cirujanos a utilizar las

    herramientas cuando realicen una ciruga. En la actualidad, los cirujanos suelen uti-

    lizar la robtica para intervenciones quirrgicas mnimamente invasivas. El principal

    problema, con los mtodos actuales, es que los cirujanos no tienen ninguna forma de

    palpar lo que estn haciendo. Si se mueve un instrumento quirrgico en algo slido,

  • 1.7. Robot Sally Desactiva Bombas 9

    el instrumento se detendr pero el mando de control sigue en movimiento. El equipo

    de ingeniera elctrica de la universidad ha resuelto este problema gracias al cdigo

    abierto de Kinect para asignar y reaccionar a los entornos en tres dimensiones y

    enviar la informacin sobre el entorno al usuario. Al usar Kinect se establecen "es-

    pacios electrnicos" que restringen el movimiento de la herramienta quirrgica, es

    decir, si la herramienta toca un hueso se deja de mover. En cambio, si el instrumento

    se mueve a lo largo de un hueso, el joystick sigue el mismo camino. Incluso es posible

    denir las zonas de acceso restringidas para proteger los rganos vitales. El equipo

    espera que esta ciruga robtica sea able y prctica a largo plazo, permitiendo as a

    los mdicos llevar a cabo fcilmente en las principales ciudades cirugas en pacientes

    en pueblos pequeos y aislados. Chizeck asegura que esta idea se puede extrapolar

    en catstrofes o guerras. En un hospital de Canad han mostrado un nuevo ejemplo

    del uso de Kinect para mantener la sala de operaciones como un entorno esterilizado.

    La idea es que se realicen determinadas tareas sin salir del quirfano, como puede

    ser la bsqueda de informacin sobre el estado de un paciente en un ordenador. La

    realizacin de un escner por rayos X, ya que podra manejar de forma remota el

    ordenador que controla el aparato. Adems de eso, se evitara tener que lavarse y

    desinfectarse, como sucede ahora cada vez que utiliza esa mquina.

    1.7. Robot Sally Desactiva Bombas

    Este robot creado por la Agencia de Proyectos de Investigacin Avanzados de

    Defensa (DARPA), es capaz de desactivar bombas con la neza de manos casi hu-

    manas. Diseado por expertos en robtica del Laboratorio de Fsica Aplicada de la

    Universidad John Hopkins, Robo Sally es parte del programa Revolucionando Prte-

    sis, de la DARPA, el cual busca disear mejores prtesis para los soldados heridos

    en el campo.

  • 10 Captulo 1. Antecedentes Historicos

    Figura 1.2: Robo Sally

  • Captulo 2

    Estudio del estado del arte

    2.1. Contexto tecnolgico

    2.1.1. Robtica Industrial 1 2 3

    El campo de la robtica industrial puede denirse como el estudio, diseo y uso

    de robots para la ejecucin de procesos industriales.

    El robot industrial

    Se entiende por Robot Industrial a un dispositivo de maniobra destinado a ser

    utilizado en la industria y dotado de uno o varios brazos, fcilmente programable para

    cumplir operaciones diversas con varios grados de libertad y destinado a sustituir la

    actividad fsica del hombre en las tareas repetitivas, montonas, desagradables o

    peligrosas.

    Si bien no existen reglas acerca de la forma que debe tener un robot industri-

    al, la tecnologa incorporada a l est perfectamente establecida y en algunos casos

    esta procede de las aplicadas a las mquinas-herramientas. Los desplazamientos rec-

    tilneos y giratorios son neumticos, hidrulicos o elctricos. Como es sabido, los

    sistemas neumticos no proveen movimientos precisos debido a la compresibilidad

    1Kight, A.L. (1989): "Robots y maquinaria de produccin automtica", en OIT2Lpez Pelez, A. (2000): "Tendencias en Robtica y Automatizacin Avanzada3Weichbrodt, B. (2000): "Industrial Development in Robotics"

    11

  • 12 Captulo 2. Estudio del estado del arte

    del aire y en ellos deben emplearse topes positivos para el posicionamiento, lo que im-

    plica la utilizacin de dispositivos de desaceleracin. Los Robots Neumticos poseen

    una alta velocidad de operacin manipulando elementos de reducido peso.

    Los accionamientos hidrulicos proporcionan elevadas fuerzas, excelente control

    de la velocidad y posicionamiento exacto. En cuanto a los sistemas elctricos se

    utilizan motores de corriente contina o motores paso a paso. Estos dos tipos de

    Robots quedan reservados a la manipulacin de elementos ms pesados o los procesos

    de trayectorias complejas como las tareas de soldadura por punto o continua. Vase

    la gura 2.1.

    Figura 2.1: Brazo soldador.

    Clasicacin de los robots industriales

    Una clasicacin del grado de complejidad del Robot puede establecerse de la

    siguiente forma:

    Primera generacin

    Dispositivos que actan como "esclavo" mecnico de un hombre, quien provee

    mediante su intervencin directa el control de los rganos de movimiento. Esta

    transmisin tiene lugar mediante servomecanismos actuados por las extremidades

    superiores del hombre, el caso tpico es la manipulacin de materiales radiactivos,

    obtencin de muestras submarinas, etc.

  • 2.1. Contexto tecnolgico 13

    Segunda generacin

    El dispositivo acta automticamente sin intervencin humana frente a posi-

    ciones jas en las que el trabajo ha sido preparado y ubicado de modo adecuado

    ejecutando movimientos repetitivos en el tiempo, que obedecen a lgicas combinato-

    rias, secuenciales, programadores paso a paso, neumticos o Controladores Lgicos

    Programables. Un aspecto muy importante est constituido por la facilidad de rpida

    reprogramacin que convierte a estos Robots en unidades "verstiles" cuyo campo

    de aplicacin no slo se encuentra en la manipulacin de materiales sino en todo los

    procesos de manufactura, como por ejemplo: en el estampado en fro y en caliente

    asistiendo a las mquinas-herramientas para la carga y descarga de piezas. En la in-

    yeccin de termoplsticos y metales no ferrosos, en los procesos de soldadura a punto

    y contina, en tareas de pintado y reemplazando con ventaja algunas operaciones de

    mquinas convencionales.

    Tercera generacin

    Son dispositivos que habiendo sido construidos para alcanzar determinados obje-

    tivos sern capaces de elegir la mejor forma de hacerlo teniendo en cuenta el ambiente

    que los circunda. Para obtener estos resultados es necesario que el robot posea al-

    gunas condiciones que posibiliten su interaccin con el ambiente y los objetos. Las

    mnimas aptitudes requeridas son: capacidad de reconocer un elemento determinado

    en el espacio y la capacidad de adoptar propias trayectorias para conseguir el obje-

    tivo deseado. Los mtodos de identicacin empleados hacen referencia a la imagen

    ptica por ser esta el lenguaje humano en la observacin de los objetos, sin embar-

    go no puede asegurarse que la que es natural para el hombre, constituye la mejor

    solucin para el robot.

    Cuarta generacin

    Son llamados tambien robots inteligentes. Son similares a las anteriores pero

    ademas poseen sensores que envian informacion a la computadora de control sobre el

    estado del proceso. La cuarta generacin de robots, ya los calica de inteligentes con

    ms y mejores extensiones sensoriales, para comprender sus acciones y el mundo que

  • 14 Captulo 2. Estudio del estado del arte

    los rodea. Incorpora un concepto de modelo del mundo de su propia conducta y

    del ambiente en el que operan. Utilizan conocimiento difuso y procesamiento dirigido

    por expectativas que mejoran el desempeo del sistema de manera que la tarea de

    los sensores se extiende a la supervisin del ambiente global, registrando los efectos

    de sus acciones en un modelo del mundo y auxiliar en la determinacin de tareas y

    metas.

    2.1.2. Blender

    Blender es un programa informtico multiplataforma, dedicado especialmente al

    modelado, animacin y creacin de grcos tridimensionales.

    El programa fue inicialmente distribuido de forma gratuita pero sin el cdigo

    fuente, con un manual disponible para la venta, aunque posteriormente pas a ser

    software libre. Actualmente es compatible con todas las versiones de Windows, Mac

    OS X, GNU/Linux, Solaris, FreeBSD e IRIX.

    Tiene una muy peculiar interfaz grca de usuario, que es criticada como poco

    intuitiva, pues no se basa en el sistema clsico de ventanas; pero tiene a su vez ven-

    tajas importantes sobre stas, como la conguracin personalizada de la distribucin

    de los mens y vistas de cmara.

    Blender Game Engine

    Blender tiene su propio motor de juegos interno que le permitir crear aplica-

    ciones interactivas en 3D. El motor de juegos de Blender (BGE) es una poderosa

    herramienta de programacin a alto nivel. Esta enfocada principalmente al desarrol-

    lo de juegos pero puede usarse para crear software de tipo interactivo, tales como

    recorridos arquitectnicos en 3D o investigacin (Robtica).

    Aqui es donde se denen los movimientos de los modelos 3D as como colocar

    los sensores, controladores y actuadores que controlan y mamipulan la escena del

    programa, con la ayuda de una consola de programacin Python se puede acceder a

    ordenes externas al programa.

  • 2.1. Contexto tecnolgico 15

    2.1.3. Kinect

    Kinect es un dispositivo sensor de movimiento hecho por Microsoft para consola

    de videojuegos Xbox 360 y para PCs que utilicen Windows. Basado en u conjunto

    de camaras y un sensor de profundidad infrarrojo, permite al usuario controlar e

    interactuar con la Xbox 360 sin la necesidad de tocar un joystic, a travs de una

    interface natural de usuario que usa comandos de gestos y hablados.

    El projecto esta enfocado a incrementar la audiencia ms all de la tipica forma

    de jugar videojuegos. Kinect rivaliza con los controles Wii Remote Plus y PlayStation

    Move Eye.

    El 21 de Febrero de 2011 anunciaron que se lanzara una version no comercial de

    Software Development Kit (SDK) para Windows, la cual fue lanzada para compatible

    con PCs con Windows 7 el 16 de Junio de 2011. El SDK proporciona capacidades

    de Kinect para que los desarrolladores puedan crear aplicaciones con C++, C# o

    Visual Basic.

    Figura 2.2: Dimensiones del sensor Kinect.

    El sensor de Kinect adquiere imgenes de vdeo con un sensor CMOS de colores

    a una frecuencia de 30 Hz, en colores RGB de 32-bits y resolucin VGA de 640480

    pixeles. El canal de vdeo monocromo CMOS es de 16-bit, resolucin QVGA de

    320240 pixeles con hasta 65,536 niveles de sensibilidad.

    Para calcular distancias entre un cuerpo y el sensor, el sensor emite un haz ls-

    er infrarrojo que proyecta un patrn de puntos sobre los cuerpos cuya distancia se

    determina. Una cmara infrarroja capta este patrn y por hardware calcula la pro-

    fundidad de cada punto. El rango de profundidad del sensor de Kinect est entre 0.4

    y 4 m. Existen 2 modos (Default y Near) para determinar distancias. Normalmente

  • 16 Captulo 2. Estudio del estado del arte

    se utiliza el modo Default ya que permite medir hasta 4 metros de distancia con

    respecto al sensor.

    El ngulo de vista (FOV) es de 58 horizontales y 45 verticales. Por otro lado

    el pivote permite orientar en elevacin, hacia arriba o hacia abajo incrementando el

    FOV hasta en 27. El array del micrfono tiene cuatro cpsulas, y opera con cada

    canal procesando en 16-bit de audio con una frecuencia de 16 kHz.

    La cmara tiene dos funciones principales:

    Generar un mapa en 3D de la imagen que tiene en su campo visual.

    Reconocer humanos en movimiento entre los objetos de la imagen a partir de

    diferentes segmentos de las articulaciones del cuerpo y un esquema en escala

    de grises.

    En comparacin con otros dispositivos de captura de imagen el kinect nos permite

    trabajar de una manera ecaz para lo que es el desarrollo del proyecto debido a su

    alcance de profundidad y sus controladores mostrados en la siguiente imagen.

  • 2.1. Contexto tecnolgico 17

    Figura 2.3: Composicin interna del sensor Kinect.

    2.1.4. Infrarrojo

    La radiacin infrarroja o radiacin trmica es un tipo de radiacin electromag-

    ntica de mayor longitud de onda que la luz visible, pero menor que la de las mi-

    croondas. Consecuentemente, tiene menor frecuencia que la luz visible y mayor que

    las microondas. El infrarrojo es una radiacin de energa con una frecuencia por

    debajo de la sensibilidad de nuestros ojos, de modo que no podemos verla. Aunque

  • 18 Captulo 2. Estudio del estado del arte

    nosotros no podemos ver frecuencias de sonido, sabemos que existen ya que podemos

    escucharlas.

    El infrarrojo es muy utilizado en electrnica ya que es fcil de generar y no

    sufre interferencias electromagnticas, por ello es que se utiliza en comunicacin y

    control. Pero no es perfecto, algunas otras emisiones de luz pueden contener tambin

    infrarrojo (un ejemplo claro es el sol) y por ello pueden interferir en la comunicacin.

    Hay muchas cosas que pueden generar infrarrojo, como todo lo que emita calor (por

    ejemplo, el cuerpo, lmparas, hornos, el motor de un auto, etc.).

    Para obtener una buena comunicacin usando infrarrojo y evitar la interferencia

    de seales no deseadas, es necesario el uso de un cdigo que le pueda decir al receptor

    cual es el dato real transmitido, y cul es el generado por el ambiente que lo rodea.

    Los controles remotos utilizan el infrarrojo pulsante en una cierta frecuencia. Los

    mdulos receptores de infrarrojo de TV sintonizan en esta frecuencia e ignoran todas

    las dems seales infrarrojas que son recibidas.

    La luz infrarroja emitida por los diodos IR, est pulsando de 30 a 60 khz cuando

    se transmite un nivel lgico "1" y silencio para un "0".

    2.2. Contexto Normativo

    En esta seccin se plantean las normas bajo las cules se desarrolla el proyecto

    siempre teniendo en cuenta las necesidades principales del proyecto y que normas

    aplican para cada necesidad.

    NORMA ANSI/RIA R15.06-1999

    El objetivo de esta norma es mejorar la seguridad de las personas que utilizan

    sistemas de robots industriales mediante el establecimiento de requisitos para la fab-

    ricacin (Incluyendo remanufactura y renovacin), la instalacin, la proteccin de los

    mtodos, mantenimiento y reparacin de la manipulacin de los robots industriales.

    Para lograr este objetivo, el Robotic Industries Association Subcomit R15.06

    sobre Seguridad considera la variedad de tareas necesarias para la eciente y el uso

    productivo de los robots industriales.

    El alcance operativo y caractersticas de un robot puede ser signicativamente

  • 2.2. Contexto Normativo 19

    diferente de otros equipos y mquinas, y las tareas pueden requerir ciertas personas

    a estar en la proximidad de los el robot mientras que la potencia de accionamiento

    se encuentra disponible. Un robot industrial no puede ser un independiente de la

    mquina, sino que puede interactuar con otras mquinas y equipo.

    Para ayudar en la interpretacin de esta norma, el Subcomit para la intencin

    de que el fabricante (incluyendo reconstructor y reconstructor,) el instalador, y el

    usuario nal tienen responsabilidades especcas. Desde un punto de vista prctico,

    la responsabilidad ltima de la proteccin de sus personas asociadas con la industria

    robots industriales y sistemas robotizados recae en la persona (s) a s mismos. Seguri-

    dad no puede ser regulada por un libro, sino que debe ser un esfuerzo consciente por

    parte de todos partes (fabricante, integrador y de usuario.) Componentes necesarios

    en cada la salvaguardia del sistema son el mantenimiento y la adhesin al sistema

    diseo. Habilidades, capacitacin de personal y la actitud son factores importantes

    en un programa de seguridad. Esta norma slo sirve para proporcionar pautas para

    una caja fuerte operacin.

    Los trminos que se denen en la clusula 3 aparecen en negrita cuando se utiliza

    en otro deniciones, y la primera vez que se utilizan en el contexto dentro de cada

    clusula. La palabras "shall" y "will" se pretende que sean preceptivas, y deben estar

    en el cumplimiento de esta norma. Las palabras "debera" y "puede" estn destina-

    dos a ser recomendaciones y buenas prcticas. Notas utilizadas en el documento ,

    suelen utilizarse para proporcionar informacin explicativa, pero puede ser normati-

    va cuando la convencin palabra anterior se utiliza. Esta norma es una revisin de

    la norma ANSI / RIA R15.06-1992. Los cambios fueron incorporados en base a los

    comentarios pblicos recibidos, y una extensa revisin por el Subcomit R15.06.

    Algunos de los cambios ms signicativos son:

    Requisito para modernizar algunas instalaciones existentes con dispositivos que

    permitan y no otros requisitos de salvaguardia cumplir unos criterios mnimos (1.3)

    Fuentes de energa. Un medio para aislar cualquier elctrica, mecnica, hidruli-

    ca, neumtica, qumica, trmica, fuente potencial, energa cintica peligrosos o

    de otro tipo para el robot debe ser proporcionada. Esto signica debern estar

    provistos de bloqueo / etiquetado capacidad de acuerdo con las leyes federales

    OSHA 1910.147 o equivalente local de OSHA.

  • 20 Captulo 2. Estudio del estado del arte

    Interferencias electromagnticas, la interferencia de radio frecuencia y descar-

    gas electrostticas. El diseo y construccin del robot deber incorporar las

    buenas prcticas de ingeniera de blindaje, el ltrado, la supresin y la conexin

    a tierra para evitar el movimiento peligroso debido a los efectos de interferencia

    electromagntica (EMI) y la interferencia de radiofrecuencia (RFI), y Descarga

    electrosttica (ESD).

    Movimiento sin potencia de accionamiento El robot debe estar diseado de

    manera que los ejes son capaces de moverse sin utilizar la unidad potencia.

    Controles de accionamiento.

    Proteccin contra el funcionamiento accidental Controles de accionamiento que

    inician la potencia o de movimiento deber ser construido o situado a n de

    evitar activacin involuntaria. Por ejemplo, una vigilancia pulsador, selector de

    llave o dos manos control puede ser utilizado.

    Indicacin de estado.

    Accionar los controles debern incluir una indicacin del estado de funcionamien-

    to.

    Normativa legal ISO 1018: 1992

    Esta norma data del ao 1992 y fue realizada por el Organismo Internacional de

    Estandarizacin (ISO-92).

    Normativa Europea EN 775 y espaola UNE-EN 775

    El Comit Europeo de Normalizacin (CEN) aprob en 1992 la normativa EN

    775, adaptacin de la norma internacional ISO 10218:1992.

    ISO 10218-1

    Standart para los robots.

  • 2.2. Contexto Normativo 21

    ISO 10218-2

    Standart para los sistemas robticos y su integracin.

  • Captulo 3

    Anlisis del sistema de transmisin

    de movimientos corporales para la

    manipulacin del Robosapien

    3.1. Anlisis Funcional del sistema de transmisin

    KINECT - UIRT- ROBOSAPIEN

    Se utiliza la teora de propagacin de las ondas establecida por Heinrich Rudolf

    Hertz, que trata acerca de las ondas electromagnticas y su clasicacin segn su

    frecuencia de oscilacin. En las cules observamos que las frecuencias se dividen en

    luz visible, ondas de rayo, rayos ultravioletas, rayos infrarrojos y rayos X; adems

    que al aumentar la frecuencia disminuye la longitud de onda. La longitud de onda

    que se utiliza en este trabajo es de = 7.653x106. As mismo se muestra la frmula

    para conocer la longitud de onda existente en nuestra propuesta de solucin del envo

    de seales infrarroja.

    =c

    =

    3x108

    93.2(3.1)

    Donde

    = Longitud.de.onda

    c = Constante.de.velocidad.de.la.luz

    22

  • 3.1. Anlisis Funcional del sistema de transmisin KINECT - UIRT-ROBOSAPIEN 23

    = Frecuencia.de.onda

    Dentro del problema general de la manipulacin de eventos peligrosos, lograr

    un control no de las actividades que puede realizar el robot, relacionadas con las

    actividades y precisin con las que lo puede realizar el ser humano, representa un

    abismo de tecnologa en estos momentos. Por lo que se copian los movimientos del

    ser humano con una precisin casi instantnea, es decir que el retardo de envo de

    informacin es casi nula; se coloca al ser humano como un actor virtual y por medio

    de un sensor especializado remoto se transmiten los movimientos corporales a un

    diseo en 3D y posteriormente a travs de un Script de programacin se envan las

    seales codicadas va infrarrjas para que slo el Robosapiens pueda interpretarlas

    y actuar similar a los movimientos hechos breves instantes antes que el hombre.

    3.1.1. Fortalezas

    Contamos con la opcin de que los sistemas de transmisin de datos inalmbricos,

    comparados con los almbricos, son en gran medida mejores debido a que la trans-

    misin cableada nos puede delimitar algunos movimientos del robot, adems para el

    sistema del cul se esta hablando se requiere que sea una interface completamente

    inalambrica por los riesgos que conyeva el hecho de que sea almbrica; pues al ser

    almbrica puede que aya perturbaciones externas como el dao de algn cable o el

    costo que ste se llevara en metros de cobre.

    Se han hecho trabajos de control de robosapien por medio de comandos y un

    sistema cableado, comparado con el sistema inalmbrico y mas an con nuestro

    sistema de infrarrojos, nuestra propuesta de solucin es un tnto mas factible debido

    al movimiento en el robot, en lo cul el sistema cableado delimita los grados de

    libertad del robot y se puede ver un tanto torpe a la hora de ejercer allgun movimiento

    de manipulacin. Por otra parte los sistemas wi y bluetooth hacen que el robot

    pierda algunas de sus caracteristicas principales y debido a que se trata de mejorar

    un sistema sin que ste pierda su diseo original se pretende que el robot mantenga

    estas mismas caracteristicas originales.

  • 24Captulo 3. Anlisis del sistema de transmisin de movimientos corporales para la

    manipulacin del Robosapien

    3.1.2. Oportunidades

    Este tipo se sistema se puede integrar a dispositivos que existen en el mercado

    como son el integrarlo a un sistema de juegos mas completo y mas atractivo.

    En el campo de la Investigacin-Exploracin ya que un robot presenta la ventaja

    de resistir mejor un medio ambiente hostil para los seres humanos.

    En el campo de entretenimiento, ya que es una forma llamativa e interactiva de

    controlar un dispositivo mecnico.

    3.1.3. Restricciones

    La tecnologa de la robtica es avanzada y en constante desarrollo, por los tanto

    los costos asociados a ella son muy altos, igualmente no pueden emular los movimien-

    tos del cuerpo humano de una forma natural. Un ejemplo claro es el robot humanoide

    de Honda ASIMO que pese a que lleva mucho tiempo de desarrollo su comportamien-

    to sigue siendo muy limitado en cuanto a grados de libertad se reere.

    3.1.4. Debilidades

    La integracin del sistema es diferente en cada robot, por lo tanto pueden

    ofrecer nuevas amenazas.

    El sistema de mando de seales infrarrojas tiene alcance limitado.

    Al ser una idea nueva se corre el riesgo de que no sea creible por la sociedad.

    3.2. Obtencin y seleccin de la problemtica en

    base a criterios

    Nuestra propuesta de solucin al problema general de la manipulacin de eventos

    peligrosos, nos di un panorama de cmo es que se puede controlar un robot de tipo

    industrial y teniendo en cuenta las restricciones mencionadas arriba, optamos por

    realizar procesos complejos del anlisis y procesamiento de imgenes para denir

    la posicin de los marcadores en la imagen del video que permitirn determinar

  • 3.2. Obtencin y seleccin de la problemtica en base a criterios 25

    Figura 3.1: MotionCapture

    los marcadores grcos que conectados a un esqueleto de huesos virtual muestran la

    posicin de cada hueso humano y por medio de un sensor UIRT enviar la informacin

    de cmo es que se debe mover el robot, haciendo as el sistema de transmisin de

    datos y control del mismo robot; se empleo como sensor de movimientos un esqueleto

    diseado en blender que se muestra en la siguiente gura 3.1.

    El funcionamiento del dispositivo UIRT debe ser analizado con base a la velocidad

    de transferencia de las frecuencias que opera y el tipo de frecuencia admitida por el

    robot.

    1. Para esto se buscaron las caractersticas de funcionamiento del Robosapiens,

    en la cual se observa que es un robot de uso didctico con 6 grados de libertad

    operado con 4 servo motores, la frecuencia a la que trabaja es de 39.2 Mhz por

    lo cual se program el dispositivo en sus parmetros de frecuencia mostrados

    en la tabla 1. sto para lograr una vinculacin correcta entre el software y

    el hardware y evitar ruido y la intercepcin de otras frecuencias que pudiesen

    afectar a la hora de su ejecucin.

    2. Al hacer la interaccin del transmisor de infrarrojos, nos encontramos con

    diferentes problemticas que fueron:

  • 26Captulo 3. Anlisis del sistema de transmisin de movimientos corporales para la

    manipulacin del Robosapien

    a) Implementacin del dispositivo UIRT en base al teorema de velocidad

    de transferencia de frecuencias y la decodicacin del algoritmo que se

    encuentra en la tarjeta madre propia del ordenador. En sta se encuen-

    tra que, a cada dispositivo conectado se le asigna una direccin en fsica

    ubicada en la raz del sistema donde se puede manipular cada una de

    las propiedades del dispositivo. La ruta del dispositivo UIRT es: /de-

    v/ttyUSB0/ y desde sta direccin se controlan los parmetros que se

    muestran en la tabla 1.

    b) Reconocimiento e instalacin de drivers para la correcta utilizacin del

    dispositivo, lo cual se resuelve al instalar el software Lirc y editar los

    documentos de hardware y software, propios del programa.3.1

    1) Hacer las modicaciones mencionadas en la tabla 1 y guardar, con sto

    quedar reconocido el dispositivo UIRT para posteriormente hacer la

    programacin

    c) Programacin estructurada en python; la cul se resolvi a travs de la

    consola integrada en BLENDER debido a que, como ya se mencion, la

    programacin orientada a objetos es sencilla de manipular tanto en el

    sistema como en la mquina virtual integrada al software.

    3. Para controlar los diferentes tipos de movimientos que permite el robot, fue

    necesario hacer un modelo en 3D en el que se especican las articulaciones

    de acuerdo con la anatoma del cuerpo humano en el cual utilizamos puntos

    especcos donde se encuentran localizados los servo motores y as mover a

    travs de comandos en python y la consola en blender, los grados de libertad

    que ofrece el robot.

    3.3. Alternativas de solucin

    Se puede hacer el control de robot mediante sistemas cableados y convencionales

    como son cnc o joystic y tambien se pueden hacer sistemas inalambricos como son por

    medio de bluetooth, wi- o rayos infrarrojos. Al hacer la adaptacin nos dimos cuenta

  • 3.3. Alternativas de solucin 27

    Tabla 3.1: Conguracin de hardware UIRTDescripcin Conguracion realizada

    Dispositivo Remoto /dev/ttyUSB0Dispositivo emisor usb_uirt_raw

    Transmisor a UIRT USB RobosapienFrecuencia 39200 hz.Header 6666 3333bits 8uno 833 333Zero 833 833

    que para usar los sistemas con bluetooth y Wi-Fi se debera hacer la intervencin

    del robosapiens, asi que decidimos usar el que el robot tena por defecto que es el

    infrarrojo.

    Abarcamos la teora de como utilizar los otros sistemas por lo cal se hizo una

    investigacin de cmo es que dichos sistemas son aplicados y utilizados en el control

    de robot tanto mviles como industriales. Adelante se muestra cmo es que se uti-

    lizaron en diversos trabajos y cmo es que nosotros lo aplicaramos a nuestro sistema

    y a un sistema industrial con un robot Scara KUKA.

    Bluetooth

    El sistema consiste en intervenir los cables de los servos y conectarlos a una placa

    de Arduino1 y hacer una programacin de reconocimiento de hardware en el propio

    software de la placa, hacer las conexiones y adaptaciones del dispositivo bluetooth

    para as poder controlar cualquier robot, el proceso es relativamente complejo pero es

    muy ecz a la hora de ser utilizado aunque como se menciona en las debilidades, la

    transmisin se puede ver afectada por la adaptacin de los componentes y el alcance

    que tienen; en comparacin con el sistema seleccionado de infrarrojos, este sistema

    nos da mayores alcances debido a la frecuencia que trabaja y su transmisin no se

    ve interrumpida por la intensidad luminosa como es el caso de los rayos infrarrojos.

    .

    Wi-Fi

    1Placa Arduino one con mdulo bluetooth integrado, implementado en la parte trasera del robot

  • 28Captulo 3. Anlisis del sistema de transmisin de movimientos corporales para la

    manipulacin del Robosapien

    Funciona de la misma manera que el sistema de Bluetooth, con el criterio de in-

    tervenir los servomotores a travez de una placa que puede ser de Arduino* una

    diseada propiamente usando diversos dirvers como Pic's y hacer su programacin

    para la deteccin de el hardware propio del robot. Se han hecho trabajos de robots

    controlados con tarjetas wi en los que se han logrado buenos alcances de seal, lo

    nico que se necesita es una tarjeta wi compatible y que pueda ser manipulado

    su software para que se adapte a una red WLAN. Viendolo del lado tecnolgico

    ste sistema tiene mayor alcance, menos perturbaciones y comparado con el sistema

    infrarrojos tiene mayor abilidad a la hora de hacer la transmisin de datos.

    3.4. Seleccin de la solucin

    Se selecciona el sistema de dispositivos infrarrojos debido a que el propio robot

    de muestra as lo requiere para tener el alcance y abilidad que el sistema requiere.

    El robot a utilizar es un poco austero en cuanto a grados de libertad, mecanismos

    y material se reere pero sirve de muestra para hacer demostrativa la idea que se

    pretende alcanzar.

    La transmision de datos por medio de Kinect fue empleada de la siguiente manera:

    Hacer una programacion en Python con una lgica de programacin que fue la

    siguiente

    1. Importar la librera del motor de juegos BGE para poder utilizar los paquetes

    de simulacin como son actuadores sensores y controladores.

    a) Importar las libreras tanto de python como BLENDER que nos permitan

    hacer la ejecucin de llamada en tiempo real.

    b) Establecer el parmetro que nos indique la secuencia que llevar a cabo

    la ejecucin de scripts, en sta se indica el origen de la accin, si es un

    controlador, un actuador o un sensor.

    c) Debido a que python maneja una estructura de memoria llamada pila

    de llamadas a funcin, en la que solamente se puede aadir o elimi-

    nar elementos por uno de sus extremos llamado cima; se establecen en

  • 3.4. Seleccin de la solucin 29

    Tabla 3.2: Rutas de informacin necesaria para el funcionamiento de UIRTRuta Descripcin

    /dev/tty0 Localizacin del dispositivo fsicamente/etc/lirc/ Localizacion de archivos de conguracin

    /etc/lirc/Robosapiens Archivo de conguracion de frecuencias/etc/init/ conguracin de los scripts de ejecucin/etc/init.d/ Albergue de los scripts de ejecucin

    la cabecera del programa las variables que ejecutarn, en este caso, los

    movimientos que realizar el diseo en 3D.

    d) Es necesario un bloque de decisin if por cada seal de infrarrojos envi-

    ada debido a los grados de libertad que tiene el robot, ya que el algoritmo

    de programacin va de la mano con el motor de juegos BGE de blender y

    en ste se utilizan diferentes sensores, actuadores y controladores.

    2. Hacer la vinculacin entre el dispositivo UIRT y el programa realizado en

    BLENDER desde su consola PYTHON.

    a) Para ello se utilizaron los datos de la conguracin propia del sistema

    en la que se muestra la accin que debe hacer el comando de llamada

    de scripts de la computadora y la ruta que stos tienen, de lo contrario

    el programa no encontrara de donde tomar los datos hexadecimales en

    donde se encuentran los valores de la frecuencia para mover al robot.

    b) En la Tabla 3.2 se muestran las rutas donde se encuentra albergada la

    informacin necesaria para el funcionamiento del dispositivo UIRT.

    UIRT

    A continuacin se muestra el diseo del receptor y emisor de infrarrojos UIRT por

    sus siglas en ingls (Universal Infrarred Recept Transmiter) que para ello se requiri

    de los materiales mencionados en el capitulo siguiente y se sigu un manual de

    elaboracin mencionado en [2]

    En la cul se estuvo trabajando al rededos de 3 meses en su elaboracin ded-

    icandole un da a la semana. obteniendo este diseo hecho con el software Eagle

  • 30Captulo 3. Anlisis del sistema de transmisin de movimientos corporales para la

    manipulacin del Robosapien

    para diseo de placas y circuitos impresos PCB, al fnal nos da como resultado un

    dispositivo internamente conformado de la siguiente manera:

    Figura 3.2: Diseo de la placa UIRT

    Para utilizar completamente y manipular el hardware de UIRT se utiliza un soft-

    ware diseado para la plataforma en la cual estamos trabajando llamado LIRC dicho

    programa es un software que permite la comunicacin de dispositivos transmisores

    y receptores de luz IR, con los cuales se pueden observar las caracteristicas de los

    haces de luz tales como: la frecuencia, longitud de onda, longitud de 0 y 1, etc,

    es decir, que obteniendo estas caracteristicas se pueden duplicar con un simple, pero

    efectivo, lenguaje semjante al ensamblador que ya esta incluido en las librerias DLL.

    En las tablas mencionadas arriba se tiene la ubicacin y las conguraciones que

    se necesitan para el rmware (interaccin entre hardware y software) gracias a los

    cules podemos enviar seales con informacin codicada mencionada en el anexo 1.

    A continuacin se mencionan los principales movimientos en exadecimal que se

    utilizan con el robot:

  • 3.4. Seleccin de la solucin 31

    Figura 3.3: UIRT internamente

    Tabla 3.3: Principles movimientos del RobotMovimiento Cdigo en exadecimal

    Levanta Brazo Derecho 0x02

    Baja brazo Derecho 0x08

    Levanta brazo Izquierdo 0x12

    Baja brazo Izquierdo 0x18

    Levanta ambos brazos 0x9C

    Camina Adelante 0x0C

    Camina Atras 0x0E

    Vuelta a la Derecha 0X64

    Vuelta a la izquierda 0X66

    Mueve brazo izquierdo 0X14

    Mueve brazo derecho 0X04

    Consola

    Para lograr un perfecto desempeo es necesario que los porgramas se ejecuten desde

    la consola de Ubuntu en modo de super usuario su. Ya que slamente as el sistema

    nos permite manipular los archivos mencionados en la tabla, sto porque el modo

    super usuario otorga todos los permisos de control del sistema operativo, gran ventaja

  • 32Captulo 3. Anlisis del sistema de transmisin de movimientos corporales para la

    manipulacin del Robosapien

    de trabajar con Linux, adems que es necesario hacer la ejecucin de script en shell

    para el programa lirc para reiniciar el reconocimiento del dispositivo en caso de ser

    necesario. Adems que nos ayuda a monitorear los resultados que se van obteniendo

    a la hora de ejecutar la animacin de blender, si algn dato no coincide con lo

    esperado signica que hay un error ya sea de programacin o de hardware y se tiene

    que corregir de inmediato.

    Figura 3.4: Modo Super Usuario

    Funcionamiento del sistema

    Se vinculan los sistemas que se usan en el proceso de manipulacin, los cuales

    son:

    1. Dispositivo UIRT

    2. Blender

    3. Python

    4. Delicode NI Mate

  • 3.4. Seleccin de la solucin 33

    5. Kinect

    La Precisin de movimientos con la cul trabaja un robot, depende directamente de

    la resolucin espacial, la exactitud y la repetibilidad que ste pose; la resolucin

    espacial a su vez depende de las inexactitudes o presiciones mecnicas del robot y

    del control del sistema, la repetibilidad se dene como la precision con la que un

    mecanismo realiza cualquier accin durante ciertas repeticiones.

    Realizamos una prueba que nos permite vericar la precisin del sistema in-

    frarrojo al transmitir los datos, observe en la Figura3.5 que a mas distancia de

    funcionamiento de propagacin de luz unfrarroja el ngulo disminuye.

    Figura 3.5: Diagrama de distancia y ngulo de iluminacion de infrarrojo.

    Esta comparacin se realiza a una distancia mxima de 4.80 m. y un ngulo

    mximo de 30.

    As mismo la respuesta del robot depende del tipo de iluminacin que se tenga

    en el lugar de trabajo, se hicieron diversas pruebas en diferentes condiciones:

    Bajo la luz del sol

  • 34Captulo 3. Anlisis del sistema de transmisin de movimientos corporales para la

    manipulacin del Robosapien

    Con lmpara incandecente

    Con lmpara de luz blanca

    Bajo condiciones ptimas de trabajo (Sombra durante da)

    En la que pudimos observar que a mayor iluminacin menor respuesta,

    Figura 3.6: Respuesta del robot en diferentes estados de iluminacin

    En la gura 3.6 se muestran las pruebas realizadas de la metodologa usada,

    comprobando que se haya hecho una correcta interaccin entre el motor de juegos,

    el script de programacin de python, la vinculacin con el dispositivo UIRT y que

    los movimientos de la interfz grca correspodan a los movimientos que realiza el

    robot. Para ello se ejecuta el programa BLENDER desde la consola de ubuntu en

    modo SU ya que as nos muestra la consola si en efcto se est llevando a cabo la

    ejecucin de las llamadas al dispositivo infrarrojo.

  • 3.4. Seleccin de la solucin 35

    Figura 3.7: Pruebas de movimiento en un objeto simple

    Con base en la pregunta: Que tan preciso puede ser el proceso de transmisin

    de los movimientos corporales a un robot humanoide de un ser humano desde la

    interpretacion de posturas por una cmara de video? se hicieron pruebas de trans-

    ferencia al momento de ejecutar los scripts y nos dimos cuenta que son milesimas de

    segundo lo que tarda en recibir la orden el robot, es casi instantnea la recepcin de

    informacin debido a la conguracin de frecuencias que se realiz de cualquier otro

    modo pudiesen haber existido otras frecuencias que bien pudieron hacer interferencia

    en el envo de seales.

    A continuacion se muestran capturas de pantalla, resultado de hacer intervencion

    con el sensor Kinect y reconocer el esqueleto grco en el software de diseo en

    Blender.

  • 36Captulo 3. Anlisis del sistema de transmisin de movimientos corporales para la

    manipulacin del Robosapien

    Figura 3.8: Delicode NI-Mate

    En la Figura anterior se muestra la conguracin del software con Delicode Ni-

    Mate, dicha conguracion debe ser igual a la conguracin que tendr el esqueleto

    y el modelo diseado en blender, de cualquier otro modo no se mover el diseo y la

    aplicacin marcar error.

    Figura 3.9: Reconocimiento de cuerpo

  • 3.4. Seleccin de la solucin 37

    Como se observa en la anterior gura el sensor kinect detecta al elemento ms cer-

    cano para poder extraer la informacin de las articulaciones y posiciones del cuerpo

    humano, as podemos enviar los datos al diseo en blender que como ya se men-

    cion debe tener la misma conguracin que se hizo en la plataforma de Open NI; a

    continuacin se muestra la imagen seleccionada del diseo 3D.

    Figura 3.10: Importacin de Big Buck Bunny

    Comparado con los nombres aplicados en la plataforma open NI observamos la

    siguiente gura:

  • 38Captulo 3. Anlisis del sistema de transmisin de movimientos corporales para la

    manipulacin del Robosapien

    Figura 3.11: Comparacin de propiedades en Kinect y Blender

    En la cual observamos que son los mismos nombres tanto para la plataforma

    Delicode como para la plataforma en Blender. Haciendo la comparativa con colores.

    Posteriormente de vericar que las opciones son las mismas en ambas plataformas

    procedemos a instalar las librerias para que el sistema pueda correr correctamente.

    Esto es:

    En el men de opciones de blender seleccionamos las caracteristicas que per-

    miten la interaccion con la plataforma Delicode.

    Importar la conguracin con un algoritmo echo en python[1]

    Elaborar el diseo en blender, para ello se requiere conocimientos previos en el

    software, lo cual se menciona en el capitulo 5.

    Al momento de tener el kinect conectado podemos abrir la plataforma Delicode

    y ejecutar la aplicacin en blender. Se mostrar algo parecido a las siguientes

    imgenes.

  • 3.4. Seleccin de la solucin 39

    Figura 3.12: Movimiento Big Buck Bunny

    A continuacin se muestran los primeros resultados que se obtuvieron al hacer la

    implementacin del software de diseo con el sensor kinect con lo cul podemos ver

    que al moverse el cuerpo humano se mueve el diseo 3D.

    En las cules se observa que al momento de que se mueve una persona en frente del

    kinect, este movimiento genera una serie de componentes llamado esqueleto que nos

    permite extraer las posiciones de dichos huesos y transmitirlas al sistema modelado

    en blender.

    Como es de esperarse, existe un cdigo de programacin previo para que se pueda

    hacer esta interaccin. Misma que se muestra en el anexo 1.

  • 40Captulo 3. Anlisis del sistema de transmisin de movimientos corporales para la

    manipulacin del Robosapien

    Figura 3.13: Comparacin de Movimiento

    Figura 3.14: Interaccin del sistema Hombre- Diseo grco

  • Captulo 4

    Anlisis de costos y retorno de

    inversin

    En el presente captulo se muestra informacin relacionada con los costos, tanto

    de la implementacin de esta tendencia tecnolgica en el sector de seguridad como

    tambin los costos de produccin que se llevaron a cabo en la realizacin de este

    proyecto.Los costos fueron estimados de acuerdo a las consideraciones provenientes

    de captulos anteriores e incluyen IVA.

    4.1. COSTOS INDIRECTOS

    Los costos indirectos de fabricacin tal y como lo indica su nombre son todos

    aquellos que no se relacionan directamente con la manufactura, pero contribuyen y

    forman parte del costo de produccin: mano de obra indirecta y materiales indirectos,

    calefaccin, luz y energa para la fabrica, del edicio y equipo de fabrica, seguro,

    prestaciones sociales, incentivos, tiempo muerto, son ejemplos de costos indirectos

    de fabricacin.

    4.2. COSTOS DIRECTOS O VARIABLES

    Los costos directos o variables los denimos como los costos que se relacionan di-

    rectamente con la produccin de unidades especcas o lneas de productos; en este

    41

  • 42 Captulo 4. Anlisis de costos y retorno de inversin

    caso que se produce un robot demostrativo se considera un costo de produccin para

    un un sistem, adems como costo variable se le anexa los salarios del personal que

    estar operando de manera remota al robot, el costo de los insumos para un robot

    mas especco, empleados para la manufactura.

    Algunas de las caractersticas que presentan los costos directos son:

    1. No existe costo variable si no hay produccin de artculos o servicios.

    2. La cantidad de costo variable.

    3. La cantidad de costo variable tender a ser proporcional a la cantidad de pro-

    duccin.

    4. El costo variable no est en funcin del tiempo, el simple transcurso del tiempo

    no signica que se incurra en un costo variable.

    4.3. COSTOS Y PRESUPUESTOS

    4.3.1. Costos de los componentes

    En la siguiente tabla destacaremos los costos que se han invertido en el proyecto

    en cuestin monetaria costos que se aplicarn al nal como costo total de produccin

    para posteriormente poder compararlos con los gastos que se generan al completar la

    implementacin con respecto a los gastos que se generan actualmente con el sistema

    de desactivacin de bombas en la actualidad.

  • 4.4. Costo de mano de obra e ingeniera 43

    Tabla 4.1: Costos de inversin para el desarrollo del proyecto.Componente Costo

    Sensor Kinect $1500

    Adaptador de sensor kinect USB $450

    Licencia Software $ 0

    Robosapiens $950

    Cable USB $10

    Plantillas de impresin $2

    Micro controlador 18F2550 $80

    1 Capacitor de .1uf $10

    3 Capacitores de .22 uf $10

    1 Cristal de 20 MHz $20

    2 Capacitores de 27 pf $5

    3 Diodos BAS16J $105

    1 LED ROJO $.50

    1 Jack USB $15

    Resistencia 10K $2

    Resistencia 2.7k $2

    Resistencia 390R $1

    Resistencia 680R @ .25Watt $5

    38KHz IR demodulator (5volts) $40

    NPN transistor 800mA $18

    Mini-Drill $700

    Total $3,925.50

    4.4. Costo de mano de obra e ingeniera

    Inversin de tiempo en el proyecto:

    Se trabaj en el proyecto por etapas; la primer etapa concisti en trabajar

    como tcnico en electrnica ya que slamente se necesitan conocimientos bsicos

    de electrnica, por 8 horas un da a la semana durante tres meses, por lo tanto

  • 44 Captulo 4. Anlisis de costos y retorno de inversin

    (8 4 3) = 96horas; la segunda etapa que fue la implementacin de kinect, paraello se requirieron conocimientos en programacin e informtica, en esta etapa se

    trabajaron 5 horas por dos das a la semana (lunes y martes) durante 4 meses, por

    lo tanto ((52)44 = 160) horas, la tercer etapa fue la programacin de Scripts enpython y para esta actividad se requirieron conocimientos de diseo programacin y

    robtica con un tiempo de labores de 5 horas al da dos das por 3 meses, lo que nos

    da un total de 5243 = 120horas. Se tiene en cuenta que tambin se laboraron 10das no contemplados anteriormente con 5 horas C/u mismas que se tomaron como

    horas extras;

    A continuacin se muestra una tabla con el costo de mano de obra en cada una

    de las etapas, para la elaboracin de la tabla se multiplican las horas trabajadas por

    el salario promedio.

    Tabla 4.2: Tiempo invertido en la elaboracin del proyectoETAPA Salario Costo de mano de obra

    1a. Elaboracin de UIRT Tcnico en electrnica 96 $25 = $24002da. Implementacin de Kinect Ingeniero 160*40 = $6400

    3a. Programacin de Scripts Ingeniero 120*40 = $4800

    Horas Extras 50 50*80 = $4000

    Total Horas trabajadas (96+160+120+50)=426

    Total $17,600

    Teniendo presentes lor resultados de las tablas anteriores nos da un total de

    $17, 600 + $3, 925 = $21, 525.50 que es el costo de inversin en el proyecto.

    4.5. Retorno de inversin, punto de equilibrio

    Teniendo en cuenta los alcances del proyecto y los benecios que traeria al sistema

    de seguridad de gobernacin, sabemos que lo que se vende en dicho proyecto son las

    horas de trabajo, estas como gastos variables y los precios de los componentes se

    toman como gastos jos obteniendo as la siguiente tabla.

  • 4.5. Retorno de inversin, punto de equilibrio 45

    Tabla 4.3: Datos para calcular el punto de equilibrioConcepto Valor

    Precio de Venta 30000Costo Unitario 14000Gastos Fijos Mes $3,926Gastos variables $17,600

    Cantidad de Ventas 3

    Figura 4.1: Graca representativa del punto de equilibrio.

    De los datos anteriores obtenemos la siguiente grca en la que podemos ver el

    punto de equilibrio para demostrar que el proyecto es econmicamente aceptado. En

    la que observamos que con vender un mdulo de seguridad para la desactivacin de

    bomba se regresa el costo de inversin, esto porque se vende el proyecto en el costo

    total de la investigacin, no se pretende poner la idea del proyecto en produccin

    masiva puesto que su mercado se limita a los sectores encargados de la seguridad

    publica, aunque si alguna empresa privada hace la propuesta se trabajara por aparte.

  • 46 Captulo 4. Anlisis de costos y retorno de inversin

    4.5.1. Benecios del nuevo sistema con respecto al anterior

    en cuestiones monetarias.

    Considerando los gastos que se tienen al pagar salarios pensiones y gastos para

    un tcnico en explosivos contamos con que el salario de un tcnico es de $12,000

    mensuales mas prestaciones seguros de vida que hacienden a los 1.5 millones de

    pesos que se reduciran drsticamente al momento de implementar el sistema de

    control y visin por kinect debido a que los seguros reduciran por la cuestin de

    riesgo aunque al sistema de visin para un robot ma especializado se le tendran que

    agregar los siguientes componentes:

    Tabla 4.4: Componentes adicionales para el funcionamiento de un robot mas precisoComponente Precio

    Camara de retroalimentacin $700

    Cables $100

    Servomotores especiales para robot $1750

    Articulaciones de elastmero de Alta Gama

    Mueca de manipulacion $1931

    Sistema de desarticulacion de mueca $245

    Brazo $2200

    Codo $1550

    Estructura endoesqueltica de antebrazo $2000

    Estructura endoesqueltica de cuerpo $5000

    TOTAL $10376

    Aqui mencionamos las partes que se necesitaran para elaborar un robot con

    estructuras de prtesis que en el siguiente capitulo las mencionamos asi mismo se

    menciona el precio de los servomotores para las articulaciones de un robot tipo 1.2.

    Los precios se elevan considerablemente por lo que el precio de venta para el sistema

    sera de $37,400 y para recuperar la inversin se necesitaran vender tan slo dos

    sistemas pues as se nota que a un plazo de 2 aos a los sistemas de seguridad les

    sera mas factible adquirir el sistema que pagar pensiones que se exceden en costos.

  • Captulo 5

    Diseo del sistema (MODELADO)

    5.1. Diseo del sistma grco en BLENDER

    Para hacer el diseo en la plataforma blender se mostrar con un mtodo llamado

    extraccin de Solido a partir de una imgen en 2D. Que se desarroll de la siguiente

    manera:

    En primer instancia como ya se mencion en los apartados de arriba, Blender es

    un potente software de diseo que nos sirve al igual que SolidWorks para disear

    sistemas con animaciones y que adems puede leer diferentes extenciones de archivos

    como lo son 3ds para 3D-max, el mismo stl que es una extencion de SW, .obj y

    vectores escalables que son de gran ayuda pues si se trabaja con el programa mas

    usado, se pueden exportar los diseos y de igual manera trabajar con ellos con la

    ventaja de que este software es Libre, es decir, que no se tiene que pagar por su

    licencia.

    Al inicio del programa se aparece el mensaj de bienvenida, se oprime un Click en

    la parte de diseo y se puede empezar a trabajar, al igual que en autocad se usan

    los comandos convencionales para trazar una linea un cubo o simplemente extruir

    un cuadro conociendo esos casos slamente nos queda por empezar a trabajar en el

    modelo del robot.

    Posteriormente de abrir Blender hacer click en Editor Type - UV image editor

    tal como se muestra en la siguiente gura y as mismo en la opcin imagen click en

    Open.

    47

  • 48 Captulo 5. Diseo del sistema (MODELADO)

    Figura 5.1: UV image editor

    El siguiente paso es seleccionar la imagen que deseamos usar como plataforma

    para poder trabajar y as tener una plantilla para empezar a dar forma a la imagen

    en 3D tal com se muestra en la siguiente gura.

  • 5.1. Diseo del sistma grco en BLENDER 49

    Figura 5.2: UV image editor

  • 50 Captulo 5. Diseo del sistema (MODELADO)

    El siguiente paso es hacer click en la opcin de vista para poner el diseo en modo

    edicion 3D, posteriormente lo que hacemos es incluir una linea, misma que extruimos

    para hacer lo que es el cuerpo del robot, lo primero es insertar una malla de circulo

    para hacer el cuerpo del robot a continuacin se muestra como.

  • 5.1. Diseo del sistma grco en BLENDER 51

    Figura 5.3: Primeros pasos de elaboracin 3D

  • 52 Captulo 5. Diseo del sistema (MODELADO)

    Asi posteriormente seguimos con el diseo del cuerpo algo similar a como se

    trabaja en AutoCad, hasta tener un modelo como el que se muestra a continuacin:

    Figura 5.4: Primeros pasos de elaboracin 3D

    5.1.1. Propuesta de diseo de robot capz de desactivar una

    bomba.

    5.1.1.1. Estrategia de deteccin de bombas

    Se plantea una deteccin por colorimetra, basandose en un diseo anterior, es

    decir que a ese diseo se le implementar el sistema de retroalimentacin y control

    va remota con una cmara llamada CMUCAM-3 la cual es un sistema embebido1

    formado por un mdulo sensor de video, un procesador y puerto de entrada y salida,

    as como comunicacin UART2, la cmara tiene las siguientes caractersticas:

    1. Resolucin CIF (352 x 288) con un sensor de color RGB.

    2. Software de programacin compatible con Linux y Windows.

    1Un sistema embebido o empotrado es un sistema de computacin diseado para realizar una oalgunas pocas funciones dedicadas frecuentemente en un sistema de computacin en tiempo real.

    2Universal Asynchronous Receiver/Transmitter

  • 5.1. Diseo del sistma grco en BLENDER 53

    3. Cuenta con una ranura para insertarle una tarjeta MMC ash.

    4. Cuenta con 4 puertos para controlar Servos.

    5. Carga imgenes en la memoria a una velocidad de 26 cuadros por segundo.

    6. Tiene un software para comprimir en formato JPEG.

    7. Tiene salida de analgica de video.

    Por las carcteristicas que tiene la camara podemos observar que es muy factible

    y de completa interaccin con el sistema de control a utilizar por lo tanto no hay

    mayor inconveniente en usarla.

    5.1.1.2. Anlisis de partes y modelado del sistema de visin.

    Una vez investigadas las posibilidades de Kinect como sensor de distan- cias,

    se puede proceder al diseo de un modelo simplicado del cono de la cmara que

    funcione en el contexto de un mapeado basado en celdillas de ocupacin. Debido

    al lmite inferior de la distancia, es posible establecer una reso- lucin de matriz de

    0.4x0.4 metros. En este modelo, al igual que como se anaizo en el capitulo 3 la

    exactitud que tiene el kinect en los diferentes cambios de luz, se analiza que tan

    preciso puede una cmara convencional regresarnos la informacin que el operario

    necesita para controlar el robot en timempo real. Por lo cual se disea un ltro que

    cumpla dos objetivos: realizar correctamente una segmentacin con nube de puntos

    generada por la camara de retroalimentacin y reducir la cantidad de datos que son

    procesados, optimizando los parmetros espaciales y temporales del programa para

    que as sea menos el tiempo de respuesta del sistema y se pueda trabajar conforme

    al siguiente diagrama de ujo.

  • 54 Captulo 5. Diseo del sistema (MODELADO)

    Figura 5.5: Diagrama de ujo del modelo de adquisicin de datos con retroali-

    mentacin

    El primer ltrado de la nube de puntos elimina todos los puntos que se encuen-

    tran por encima del nivel de la cmara CMUCAM-3, punto ms elevado del robot

    empleado con lo cual podemos observar que aplicando el sistema actual de control

    por kinect slamente se necesita incluir al sistema la parte faltante de sistema de

    retroalimentacin.

    As, cuando se alcanza la orientacin correcta de la cmara y es necesaria una

    captura de datos nueva, se activa la variable que impide al ltro ejecutarse en cada

  • 5.1. Diseo del sistma grco en BLENDER 55

    iteracin del algoritmo hasta que el operador as lo requiera y el ltro obtendra el

    acceso de forma inmediata y podra continuar su ejecucin.

    Figura 5.6: Camara de visin CMUCAM-3

    5.1.1.3. Inteligencia del Robot.

    La inteligencia del robot se basa en un microprocesador (PIC-18F452), montado

    en un sistema embebido que posee pines de entrada y salida.

    Puerto UART de alta velocidad el cual sirve para que se pueda comunicar con

    la cmara.

    Puerto de salida PWM(modulacin por ancho de pulso), el cual nos permite

    generar la diferentes velocidades con las que se mueve el robot.

    Pines para la conexin de un display de LCD el cual nos muestra cual es el

    estado del robot mientras realiza la tarea de bsqueda y desactivacin de las

    bombas.

    Pines para conectar sensores de tacto, reexin orientacin y odometra.

  • 56 Captulo 5. Diseo del sistema (MODELADO)

    Pines de salida digital que proporcionan la direccin del robot, y el manejo de

    diferentes mecanismos como el brazo mecnicos y los servomotores para activar

    el gripper y para poder mover la cmara.

    Para alimentar el robot se usan pilas reciclables de laptop de Ion-Litio

    Figura 5.7: UART

    5.1.1.4. Criterio de seleccion de materiales.

    Los materiales se seleccionaron en base a los robots ya existentes que son ap-

    tos para hacer una operacin riesgosa y peligrosa, todo esto en base a las normas

    mencionadas en el capitulo de contexto normativo ANSI/RIA R15.06-1999. Cabe

    mencionar que la seleccin de materiales electronicos que fueron necesarios para la

    elaboracin del UIRT fueron considerados en base a la frecuencia de transmisin a

    la cual trabaja el robot. as pudimos observar que era suciente un cristal de 20MHz

    y que se tendra que utilizar un PIC 18F2550 debido a que de a cuerdo a las normas

    es el microcontrolador que hace una correcta interaccin con el USB que se requiere,

    en el mercado existen diversos Micro pero considerando el precio y los conocimientos

    empleados se decidi trabajar con el controlador ya mencionado.

  • 5.1. Diseo del sistma grco en BLENDER 57

    Para la seleccin del sistema operativo se decide trabajar bajo licencia libre us-

    ando Linux en su version de Ubuntu debido a que en la actualidad muchas empresas

    estn desarrollando sus aplicaciones en esta plataforma ya que es libre de licencia,

    de fcil programacin y de cdigo abierto, lo que les genera muchas ventajas para

    hacer sus sistemas mas personalizados y ms detallados.

    En la seleccin del uso del sensor kinect se opta por usar este sensor y no otra

    camara debido a su gran desarrollo en el mercado y su gran demanda, pues como se

    menciona en el capitulo 2 sus librerias de desarrollo estan abiertas a los colaboradores

    y podemos contar con 3 diferentes sensores conectados a un solo controlador que enva

    los datos a un solo USB en comparacin si se hiciera por separado al usar un sensor

    de profundidad una camara RGB y una sensor de sonido.

    5.1.1.5. Propuesta del diseo mecnico

    Se plantea que a futuro se monte el sistema sobre un robot humanoide con ar-

    ticulaciones fabricadas con elastmero que es el material que usualmente se usa en

    protesis de manos, esto porque este material nos proporciona mayor movilidad en

    las extremidades del robot apoyado con sus articulaciones conformadas con el mismo

    material y controlarlo a travs de nuestro sistema arriba mencionado, sin duda este

    tipo de robots ya existentes en la industria ayudados con el sistema de control aqui

    planteado.

  • Conclusiones y Discusin

    La razon por la cual desarrollamos un proyecto de ingeniera es porque se necesi-

    tan cubrir necesidades que surgen en la actualidad, innovar los sistemas ya estable-

    cidos para incrementar el confort ya sean en procesos industriales o en los distintos

    sectores como la medicina, el hogar, entretenimiento como el cine, Diversin como lo

    son los videojuegos; hacer que las tareas que ya se realizan en los sectores ya men-

    cionados, adems sean mas seguras, ayudar a que los operarios de alguna maquina

    tengan la certeza de que el proceso que va a realizar no ponga en riezgo su integridad

    tanto fsica como mental.

    Se hace mencin a esto debido a que se procura en el desarrollo de este trabajo

    por cubrir todas las necesidades mencionadas y porque si separamos el sistema aqui

    mencionado podemos optimizar por ejemplo el sector de entretenimiento, ya que los

    actores virtuales que es la primer etapa del proyecto, ayuda a que las animaciones

    sean cada vez mas novedosas y atractivas al ojo humano. Implementando todo el

    sistema podemos observar que en la industria de ensamble este sistema nos permite

    trazar las rutas de desplazamiento de un robot industrial.

    En conclusin, este trabajo realizado durante todo un ao nos sirve de estrate-

    gia para seguir innovando en el campo de la robtica y el rea de automatizacin

    y control. Este es un gran paso para poder realizar emprendimiento a proyectos

    ms ambiciosos, ya que contando con los conocimientos bsicos para poder hacerlo:

    implementacin de dispositivos inalmbricos, manejo de software 3D, programacin

    Python y lenguaje ensamblador, Kinect para desarrolladores de software; se hace

    ms fcil el desarrollo de los mismos.

    El proyecto que realizamos ha contribuido de manera muy importante para iden-

    ticar y resaltar los puntos que hay que cubrir y considerar para llevar a cabo una

    58

  • 5.1. Diseo del sistma grco en BLENDER 59

    implementacin exitosa. Nos deja muchas cosas importantes que reexionar y muchas

    otras las ha reforzado como puntos angulares para llevar a cabo una buena imple-

    mentacin.

    Conforme fuimos realizando este proyecto nos fuimos percatando de muchas cosas

    que antes no habamos considerado, que ignorbamos. Pudimos percatarnos de la

    importancia de saber las necesidades de la gente, pero tambin pudimos detectar

    algunos puntos clave para aanzar muchos procesos, detectar reas de oportunidad

    para mejorar el servicio, tener una visin ms clara de la funcionalidad de los dis-

    positivos y sistemas. Muchas veces el encontrar una dicultad no signica que no

    se pueda, simplemente hay que perseverar para lograr los objetivos planteados al

    principio.

  • ANEXOS

    60

  • 5.1. Diseo del sistma grco en BLENDER 61

    Cdigo de programacin del kinect

    1

    2 from mathut i l s import Vector

    3 import math import s t r u c t

    4 try :

    5 import bge

    6 GE = True

    7 except ImportError :

    8 GE = False

    9 import bpy

    10 from bpy . props import *

    11 import socke t

    12 def set_GE_data ( ob j ec t s , ob_name , vec ) :

    13 ob = ob j e c t s . get (ob_name)

    14 i f ob != None :

    15 ob . l o c a l P o s i t i o n = Vector

    16 ( [ vec [ 0 ] * 1 0 , vec [ 2 ] * 1 0 , vec [ 1 ] * 1 0 ] )17 def set_data ( ob j ec t s , ob_name , vec ) :

    18

    19 i f ob_name in ob j e c t s . keys ( ) :

    20 ob j e c t s [ ob_name ] . l o c a t i o n=Vector

    21 ( [ vec [0 ]*10 , vec [ 2 ] * 1 0 , vec [ 1 ] * 1 0 ] )22

    23 i f ( bpy . context . scene . t o o l_s e t t i n g s . use_keyframe_insert_auto ) :

    24 ob j e c t s [ ob_name ] . keyframe_insert ( data_path=" l o c a t i o n " )

    25

    26 class OSC( ) :

    27

    28 def readByte ( data ) :

    29 l ength = data . f i nd (b ' \x00 ' )

    30 nextData = in t (math . c e i l ( ( l ength+1) / 4 . 0 ) * 4)

    31 return ( data [ 0 : l ength ] , data [ nextData : ] )

    32 def r eadSt r ing ( data ) :

    33 l ength = s t r ( data ) . f i nd ( "\0" )

    34 nextData = in t (math . c e i l ( ( l ength+1) / 4 . 0 ) * 4)

    35 return ( data [ 0 : l ength ] , data [ nextData : ] )

    36 def readBlob ( data ) :

    37 l ength = s t r u c t . unpack ( ">i " , data [ 0 : 4 ] ) [ 0 ]

  • 62 Captulo 5. Diseo del sistema (MODELADO)

    38 nextData = in t (math . c e i l ( ( l ength ) / 4 . 0 ) * 4) + 4

    39 return ( data [ 4 : l ength +4] , data [ nextData : ] )

    40 def readInt ( data ) :

    41 i f ( l en ( data )

  • 5.1. Diseo del sistma grco en BLENDER 63

    77 OSC. readStr ing , "b" :

    78 OSC. readBlob , "d" :

    79 OSC. readDouble }

    80 decoded = [ ]

    81 address , r e s t = OSC. readByte ( data )

    82 typetags = ""

    83 i f address == "#bundle " :

    84 time , r e s t = readLong ( r e s t )

    85 decoded . append ( address )

    86 decoded . append ( time )

    87

    88 while l en ( r e s t )>0:

    89 length , r e s t = OSC. readInt ( r e s t )

    90 decoded . append

    91 (OSC. decodeOSC( r e s t [ : l ength ] ) )

    92 r e s t = r e s t [ l ength : ]

    93 e l i f l en ( r e s t ) > 0 :

    94 typetags , r e s t = OSC. readByte ( r e s t )

    95 decoded . append ( address )

    96 decoded . append ( typetags )

    97 i f l en ( typetags ) > 0 :

    98 i f typetags [ 0 ] == ord ( ' , ' ) :

    99 for tag in typetags [ 1 : ] :