Post on 05-Sep-2015
description
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 : ] :