Manipulacion de Un Robot Humanoide Con Kinect
Manipulacion de Un Robot Humanoide Con Kinect
Manipulacion de Un Robot Humanoide Con Kinect
ndice general
Agradecimientos
viii
Resumen
Abstract
xi
Introduccin
Objetivos
Justicacin
1. Antecedentes Historicos
1.1.
El robot Prometeo
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.
Robot hexpodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.
1.4.
. . . . . . . . . . . . . . . . . . .
1.5.
1.6.
. . . . . . . . . . . . . . . . . . . . . . . . . .
1.7.
. . . . . . . . . . . . . . . . . . . . . . . . .
Contexto tecnolgico
11
. . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1.
Robtica Industrial
2.1.2.
Blender
11
. . . . . . . . . . . . . . . . . . . . . . .
11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
iii
ndice general
iv
2.2.
2.1.3.
Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.1.4.
Infrarrojo
17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contexto Normativo
. . . . . . . . . . . . . . . . . . . . . . . . . . .
18
22
3.1.1.
Fortalezas
23
3.1.2.
Oportunidades
3.1.3.
Restricciones
3.1.4.
Debilidades
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
24
. . . . . . . . . . . . . . . . . . . . . . . . . . .
24
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.2.
24
3.3.
Alternativas de solucin
. . . . . . . . . . . . . . . . . . . . . . . . .
26
3.4.
Seleccin de la solucin . . . . . . . . . . . . . . . . . . . . . . . . . .
28
COSTOS INDIRECTOS
4.2.
4.3.
COSTOS Y PRESUPUESTOS
4.3.1.
41
. . . . . . . . . . . . . . . . . . . . . . . .
41
. . . . . . . . . . . . . . . . .
41
. . . . . . . . . . . . . . . . . . . . .
42
. . . . . . . . . . . . . . . . . . .
42
4.4.
43
4.5.
44
4.5.1.
46
47
47
5.1.1.
52
5.1.1.1.
52
5.1.1.2.
53
5.1.1.3.
55
5.1.1.4.
. . . . . . . . . .
56
5.1.1.5.
. . . . . . . . . . . .
57
. . . . . . . . . .
ndice de guras
1.1.
1.2.
Robo Sally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.1.
Brazo soldador.
12
2.2.
. . . . . . . . . . . . . . . . . . . . .
15
2.3.
17
3.1.
MotionCapture
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
3.2.
30
3.3.
UIRT internamente . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.4.
32
3.5.
3.6.
3.7.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
33
. . . . . . .
34
. . . . . . . . . . . . . .
35
3.8.
Delicode NI-Mate . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
3.9.
Reconocimiento de cuerpo
. . . . . . . . . . . . . . . . . . . . . . . .
36
37
. . . . . . . . . . .
38
39
40
40
4.1.
. . . . . . . . . . . . .
45
5.1.
UV image editor
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.2.
UV image editor
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
ndice de guras
vi
5.3.
51
5.4.
52
5.5.
54
5.6.
. . . . . . . . . . . . . . . . . . . . .
55
5.7.
UART
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
ndice de tablas
3.1.
. . . . . . . . . . . . . . . . . . . .
27
3.2.
29
3.3.
31
4.1.
. . . . . . . . . .
43
4.2.
. . . . . . . . . . . .
44
4.3.
45
4.4.
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
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 convencionales 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 desarrollo 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 cables (WIRELESS) en un humanoide tipo Robosapiens, su implementacin inicial
permitir en un futuro aplicarlo a robots de tipo industrial tales como: Scara, Prismticos, PUMA, Cuca y Humanoides; su control ser a travs de luz infrarroja, bluetooth 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.
Abstract
This paper presents the control of a humanoid robot through a real-time interactive 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 conguration. It proposes the development of a system for motion detection based on
the use of articial vision and Microsoft 's Kinect controller .
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 entornos 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.
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.
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 tcnicos 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
ndice de tablas
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 Universidad 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.
10
Captulo 2
Estudio del estado del arte
2.1. Contexto tecnolgico
2.1.1. Robtica Industrial
1 2 3
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 industrial, la tecnologa incorporada a l est perfectamente establecida y en algunos casos
esta procede de las aplicadas a las mquinas-herramientas. Los desplazamientos rectilneos y giratorios son neumticos, hidrulicos o elctricos. Como es sabido, los
sistemas neumticos no proveen movimientos precisos debido a la compresibilidad
11
12
del aire y en ellos deben emplearse topes positivos para el posicionamiento, lo que implica 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.
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.
13
Segunda generacin
El dispositivo acta automticamente sin intervencin humana frente a posiciones jas en las que el trabajo ha sido preparado y ubicado de modo adecuado
ejecutando movimientos repetitivos en el tiempo, que obedecen a lgicas combinatorias, 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 inyeccin 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 objetivos 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 algunas 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 objetivo 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 embargo 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
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 ventajas importantes sobre stas, como la conguracin personalizada de la distribucin
de los mens y vistas de cmara.
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.
16
se utiliza el modo Default ya que permite medir hasta 4 metros de distancia con
respecto al sensor.
17
2.1.4. Infrarrojo
La radiacin infrarroja o radiacin trmica es un tipo de radiacin electromagntica de mayor longitud de onda que la luz visible, pero menor que la de las microondas. 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
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".
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. Seguridad 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 destinados a ser recomendaciones y buenas prcticas. Notas utilizadas en el documento ,
suelen utilizarse para proporcionar informacin explicativa, pero puede ser normativa 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, hidrulica, 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
Controles de accionamiento.
Indicacin de estado.
Accionar los controles debern incluir una indicacin del estado de funcionamiento.
ISO 10218-1
Standart para los robots.
ISO 10218-2
Standart para los sistemas robticos y su integracin.
21
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 .
para conocer la longitud de onda existente en nuestra propuesta de solucin del envo
de seales infrarroja.
3x108
c
=
93.2
Donde
22
(3.1)
23
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 transmisin 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.
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 movimientos 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 comportamiento 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.
25
b)
c)
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.
27
Conguracion realizada
Dispositivo Remoto
/dev/ttyUSB0
Dispositivo emisor
usb_uirt_raw
Robosapien
Frecuencia
39200 hz.
Header
6666 3333
bits
uno
833 333
Zero
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 utilizaron 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 Arduino
Wi-Fi
1 Placa Arduino one con mdulo bluetooth integrado, implementado en la parte trasera del robot
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)
c)
29
Descripcin
/dev/tty0
/etc/lirc/
/etc/lirc/Robosapiens
/etc/init/
/etc/init.d/
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 enviada 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.
a)
b)
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 dedicandole un da a la semana. obteniendo este diseo hecho con el software Eagle
Para utilizar completamente y manipular el hardware de UIRT se utiliza un software 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:
31
Cdigo en exadecimal
0x02
0x08
0x12
0x18
0x9C
Camina Adelante
0x0C
Camina Atras
0x0E
Vuelta a la Derecha
0X64
Vuelta a la izquierda
0X66
0X14
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
33
5. Kinect
35
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 transferencia 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.
En la Figura anterior se muestra la conguracin del software con Delicode NiMate, 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.
37
Como se observa en la anterior gura el sensor kinect detecta al elemento ms cercano 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 mencion debe tener la misma conguracin que se hizo en la plataforma de Open NI; a
continuacin se muestra la imagen seleccionada del diseo 3D.
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 permiten 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.
39
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.
41
42
4. El costo variable no est en funcin del tiempo, el simple transcurso del tiempo
no signica que se incurra en un costo variable.
43
Costo
Sensor Kinect
$1500
$450
Licencia Software
$ 0
Robosapiens
$950
Cable USB
$10
Plantillas de impresin
$2
$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
$5
$40
$18
Mini-Drill
$700
Total
$3,925.50
44
(8 4 3) = 96horas;
das 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.
Salario
Tcnico en electrnica
96 $25 = $2400
Ingeniero
160*40 = $6400
Ingeniero
120*40 = $4800
Horas Extras
50
50*80 = $4000
(96+160+120+50)=426
Total
$17,600
45
Valor
Precio de Venta
30000
Costo Unitario
14000
$3,926
Gastos variables
$17,600
Cantidad de Ventas
46
Precio
Camara de retroalimentacin
$700
Cables
$100
$1750
Articulaciones de elastmero de
Alta Gama
Mueca de manipulacion
$1931
$245
Brazo
$2200
Codo
$1550
$2000
$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
49
50
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.
51
52
53
3. Cuenta con una ranura para insertarle una tarjeta MMC ash.
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.
54
Figura 5.5: Diagrama de ujo del modelo de adquisicin de datos con retroalimentacin
El primer ltrado de la nube de puntos elimina todos los puntos que se encuentran 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.
55
56
57
Para la seleccin del sistema operativo se decide trabajar bajo licencia libre usando 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.
Conclusiones y Discusin
La razon por la cual desarrollamos un proyecto de ingeniera es porque se necesitan cubrir necesidades que surgen en la actualidad, innovar los sistemas ya establecidos 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 mencionados, 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 estrategia 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 identicar y resaltar los puntos que hay que cubrir y considerar para llevar a cabo una
58
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 implementacin.
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 dispositivos 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
61
from m a t h u t i l s import V e c t o r
import math import s t r u c t
try :
import b g e
6
7
GE = True
except
GE = F a l s e
import bpy
from bpy . p r o p s import *
9
10
11
12
ImportError :
import s o c k e t
def set_GE_data ( o b j e c t s
ob_name ,
13
ob = o b j e c t s . g e t ( ob_name )
14
if
ob
!=
None :
15
ob . l o c a l P o s i t i o n
16
( [ vec [ 0 ] * 1 0 ,
17
def
vec ) :
set_data ( o b j e c t s ,
= Vector
v e c [ 2 ] * 1 0
ob_name ,
vec [ 1 ] * 1 0 ] )
vec ) :
18
if
19
ob_name
in
o b j e c t s . keys ( ) :
20
o b j e c t s [ ob_name ] . l o c a t i o n=V e c t o r
21
( [ vec [0]*10 ,
vec [ 2 ] * 1 0
, vec [ 1 ] * 1 0 ] )
22
23
i f ( bpy . c o n t e x t . s c e n e . t o o l _ s e t t i n g s . u s e _ k e y f r a m e _ i n s e r t _ a u t o ) :
24
25
26
class
OSC ( ) :
27
28
def
readByte ( data ) :
29
30
n e x t D a t a = i n t ( math . c e i l ( ( l e n g t h +1)
31
return
32
def
( data [ 0 : l e n g t h ] ,
34
n e x t D a t a = i n t ( math . c e i l ( ( l e n g t h +1)
return
37
def
4)
4)
r e a d S t r i n g ( data ) :
length =
36
4.0)
data [ nextData : ] )
33
35
s t r ( d a t a ) . f i n d ( " \0 " )
( data [ 0 : l e n g t h ] ,
4.0)
data [ nextData : ] )
readBlob ( data ) :
l e n g t h = s t r u c t . unpack ( "> i " ,
data [ 0 : 4 ] ) [ 0 ]
62
38
n e x t D a t a = i n t ( math . c e i l ( ( l e n g t h )
return
39
40
def
( data [ 4 : l e n g t h +4] ,
42
4.0)
43
data , l e n ( data ) )
44
rest
45
integer = 0
data [ nextData : ] )
few
bytes
for
int " ,
= data
47
48
rest
return
49
def
( integer ,
rest )
readLong ( data ) :
53
54
high ,
55
b i g = ( l o n g ( h i g h ) << 3 2 ) + l o w
52
return
56
def
data [ 0 : 4 ] ) [ 0 ]
= data [ 4 : ]
""" T r i e s t o i n t e r p r e t t h e
n e x t 8 b y t e s o f t h e d a t a as a
64 b i t s i g n e d i n t e g e r . """
51
57
( big ,
data [ 0 : 8 ] )
rest
= data [ 8 : ]
rest )
readDouble ( data ) :
59
""" T r i e s t o i n t e r p r e t t h e n e x t 8 b y t e s
o f t h e d a t a as a 64 b i t d o u b l e f l o a t . """
60
floater
61
big =
62
rest
58
def
= data [ 8 : ]
( big ,
rest )
r e a dF l o a t ( data ) :
66
i f ( l e n ( data ) <4):
print ( " E r r o r :
67
data ,
68
rest
65
too
few
bytes
for
float" ,
l e n ( data ) )
= data
float
= 0
else :
69
70
float
71
rest
72
return
73
data [ 0 : 8 ] )
return
63
64
4) + 4
else :
46
50
r e a d I n t ( data ) :
i f ( l e n ( data ) <4):
print ( " E r r o r : t o o
41
def
rest )
decodeOSC ( d a t a ) :
74
table = {
75
"i"
76
OSC . r e a d F l o a t ,
OSC . r e a d I n t ,
"s"
"f"
:
data [ 0 : 4 ] ) [ 0 ]
77
OSC . r e a d S t r i n g ,
78
OSC . r e a d B l o b ,
79
OSC . r e a d D o u b l e
80
decoded =
81
address ,
82
typetags = ""
83
if
"b"
"d"
63
[]
rest
= OSC . r e a d B y t e ( d a t a )
a d d r e s s == "#b u n d l e " :
84
time ,
rest
= readLong ( r e s t )
85
d e c o d e d . append ( a d d r e s s )
86
d e c o d e d . append ( t i m e )
87
while
88
l e n ( r e s t ) >0:
89
length ,
90
d e c o d e d . append
91
(OSC . decodeOSC ( r e s t [ : l e n g t h ] ) )
92
rest
elif
93
rest
= OSC . r e a d I n t ( r e s t )
rest [ length : ]
0:
94
typetags ,
rest
= OSC . r e a d B y t e ( r e s t )
95
d e c o d e d . append ( a d d r e s s )
96
d e c o d e d . append ( t y p e t a g s )
97
if
if
98
0:
typetags [ 0 ]
for
99
== o r d ( ' , ' ) :
tag
in
typetags [ 1 : ] :
100
value ,
rest
= t a b l e [ chr ( tag ) ] ( r e s t )
101
d e c o d e d . append ( v a l u e )
else :
102
103
return
104
typetag
decoded
105
106
107
108
class
NImateReceiver ( ) :
def
run ( s e l f ,
objects ,
109
d i c t = {}
110
try :
111
112
113
set_data_func ) :
data =
s e l f . sock . recv (
return
{ 'PASS_THROUGH ' }
except :
114
t r a s h = data
115
while ( True ) :
1024
lacks
the
magic " )
64
116
data = t r a s h
117
d e c o d e d = OSC . decodeOSC ( d a t a )
118
i f ( l e n ( decoded )
== 5 ) :
d i c t [ s t r ( d e c o d e d [ 0 ] , " u t f 8" ) ]
119
120
( [ decoded [ 2 ] ,
decoded [ 3 ] ,
decoded [ 4 ] ] )
121
try :
122
123
trash =
except :
124
break
in d i c t . i t e m s ( ) :
125
for
126
key ,
127
value
set_data_func ( o b j e c t s ,
def
128
key ,
value )
__init__ ( s e l f , UDP_PORT) :
129
130
s e l f . s o c k . s e t s o c k o p t ( s o c k e t . SOL_SOCKET, s o c k e t .SO_REUSEADDR, 1 )
131
s e l f . sock . s e t b l o c k i n g (0)
132
s e l f . sock . bind (
print ( " D e l i c o d e
NI
133
134
135
Addon
136
def
137
139
print ( " D e l i c o d e
141
t o OSC on
port
"
__del__ ( s e l f ) :
s e l f . sock . c l o s e ( )
i f not
listening
s t r (UDP_PORT) )
138
140
mate
started
NI
mate Addon
stopped
listening
t o OSC" )
GE :
class
D e l i c o d e N I m a t e ( bpy . t y p e s . O p e r a t o r ) :
142
143
144
b l _ o p t i o n s = { 'REGISTER ' }
NI
mate
Start "
145
146
enabled = False
147
receiver
148
t i m e r = None
149
150
151
152
= None
def modal ( s e l f , c o n t e x t , e v e n t ) :
i f e v e n t . t y p e == ' ESC ' or not __class__ . e n a b l e d :
return s e l f . c a n c e l ( c o n t e x t )
i f e v e n t . t y p e == 'TIMER ' :
153
s e l f . r e c e i v e r . r u n ( bpy . d a t a . o b j e c t s ,
154
return
{ 'PASS_THROUGH ' }
set_data )
65
155
156
def
157
__class__ . e n a b l e d = True
158
s e l f . r e c e i v e r =N I m a t e R e c e i v e r
159
( c o n t e x t . s c e n e . delicode_ni_mate_port )
160
c o n t e x t . window_manager . modal_handler_add ( s e l f )
161
s e l f . t i m e r=c o n t e x t . window_manager . e v e n t _ t i m e r _ a d d
execute ( s e l f ,
context ) :
162
163
164
return
c o n t e x t . window )
{ 'RUNNING_MODAL ' }
165
def
166
cancel ( self ,
context ) :
167
__class__ . e n a b l e d = F a l s e
168
c o n t e x t . window_manager . e v e n t _ t i m e r _ r e m o v e ( s e l f . t i m e r )
del s e l f . r e c e i v e r
return { 'CANCELLED ' }
169
170
171
172
@classmethod
173
def
174
disable ( cls ):
if
175
c l s . enabled :
176
177
c l s . enabled = False
class
D e l i c o d e N I m a t e S t o p ( bpy . t y p e s . O p e r a t o r ) :
178
179
180
b l _ o p t i o n s = { 'REGISTER ' }
def
181
return
182
NI
mate
execute ( s e l f ,
Stop "
context ) :
DelicodeNImate . d i s a b l e ( )
183
184
class
VIEW3D_PT_DelicodeNImatePanel ( bpy . t y p e s . P a n e l ) :
185
b l _ s p a c e _ t y p e = "VIEW_3D"
186
b l _ r e g i o n _ t y p e = "TOOLS"
187
188
def
draw ( s e l f ,
NI
mate "
context ) :
189
layout =
s e l f . layout
190
191
c o l = l a y o u t . column ( )
192
c o l . enabled =
193
c o l . prop ( sc ene ,
not
DelicodeNImate . enabled
66
194
i f ( DelicodeNImate . enabled ) :
195
196
l a y o u t . o p e r a t o r ( "wm. d e l i c o d e _ n i _ m a t e _ s t o p " ,
197
t e x t=" S t o p " )
198
else :
199
l a y o u t . o p e r a t o r ( "wm. d e l i c o d e _ n i _ m a t e _ s t a r t " ,
200
t e x t=" S t a r t " )
201
def
init_properties ():
if
202
GE :
return
203
204
s c e n e = bpy . t y p e s . S c e n e
205
s c e n e . d e l i c o d e _ n i _ m a t e _ p o r t = bpy . p r o p s . I n t P r o p e r t y (
206
name=" P o r t " ,
207
d e s c r i p t i o n=" R e c e i v e OSC on
208
d e f a u l t = 7000 ,
209
min = 0 ,
210
max = 6 5 5 3 5 )
211
def
if
GE :
return
213
214
s c e n e = bpy . t y p e s . S c e n e
del
215
def
s c e n e . delicode_ni_mate_port
register ():
if
217
GE :
return
218
219
220
init_properties ()
def
bpy . u t i l s . r e g i s t e r _ m o d u l e (__name__)
unregister ():
if
221
GE :
return
222
223
bpy . u t i l s . u n r e g i s t e r _ m o d u l e (__name__)
224
clear_properties ()
225
226
port " ,
clear_properties ( ) :
212
216
this
if
GE :
if
h a s a t t r ( bge . l o g i c ,
' D e l i c o d e N I m a t e ' ) == F a l s e :
227
o b j = b g e . l o g i c . g e t C u r r e n t C o n t r o l l e r ( ) . owner
228
229
if
230
231
232
"" )
b o o l ) or not i s i n s t a n c e ( p o r t
print """Add an i n t e g e r game p r o p e r t y
i s i n s t a n c e ( port ,
int ):
67
233
234
235
p o r t = 7000
236
b g e . l o g i c . D e l i c o d e N I m a t e=N I m a t e R e c e i v e r ( p o r t )
237 b g e . l o g i c . D e l i c o d e N I m a t e . r u n
238 b g e . l o g i c . g e t C u r r e n t S c e n e ( ) . o b j e c t s ,
set_GE_data
239
240
elif
__name__ == "__main__" :
241
register ()
import b g e
from s u b p r o c e s s
import c a l l
import bpy
6 c o n t = bge . l o g i c . g e t C u r r e n t C o n t r o l l e r ( )
7 own = c o n t . owner
8
9
10
#import time
#bpy . d a t a . s c e n e s [ 0 ] . u p d a t e ( )
#""" tomamos un v a l o r i n i c i a l para I1 """
11 I 1 =
12
print ( I 1 )
13
14
15
17
print ( D1 )
18
20
23
24
print ( PI )
#time . s l e e p ( 2 )
#""" tomamos un v a l o r i n i c i a l para I1 """
25 S=0
26
print ( S )
27
28
"right_ARM_UP" ] )
#time . s l e e p ( 2 )
#""" tomamos un v a l o r i n i c i a l para I1 """
21 PI =
22
"LEFT_ARM_UP" ] )
#time . s l e e p ( 2 )
#""" tomamos un v a l o r i n i c i a l para I1 """
16 D1 =
19
#time . s l e e p ( 1 )
"WALK_FORWARD" ] )
68
29
print ( r o a r )
c a l l ( [ " i r s e n d " , "SEND_ONCE" ,
#time . s l e e p ( 1 )
#i f I2>I1 :
#bpy . ops . r e n d e r . r e n d e r ( )
#bpy . ops .wm. redraw_timer ( t y p e ='DRAW_WIN_SWAP' , i t e r a t i o n s =1)
#bpy . ops .wm. redraw_timer ( )
Manual Robosapiens
69
Datasheet
70
Bibliografa
[1] Marcelo Alonso, Edward J. FINN Fsica Mecnica , Addison Wesley. Wilmington Delaware, 1986.
[2] K. ASADA. Robot Analysis and control2, Wiley-Interscience 1992. 3.
[3]
Jorge
Sanz
Miguel,
Tesis:
Diseo
implementacin
construccin
de
[19] http://www.ingesa.msc.es/organizacion/ceutaMelilla/ceuta/dirTerritorial/pdf/catalogo.pdf
[20]
http://cosasdeingenieria.com/esp/index/item/297/59/servo-motor-digital-
para-robot-hsr-5498sg
[21] http://www.astm.org/Standards/E32.htm [22] Robotic Arm Control With
Blender, A. Daz-Andrade, CIDETEC, Departamento de Procesamiento Paralelo
ISSN 2079-8407 [23]
71