Rights info:eu-repo/semantics/openAccess
FACULTAD DE INGENIERIA
POR
GARY JOHAL FIGUEROLA MORA
GUSTAVO MANUEL LEON ROJAS
PROFESORES GUIAS:
JOSE LUIS PERALTA LUJAN
LUIS ALBERTO VIVES GARNIQUE
1
RESUMEN
El presente proyecto tuvo como meta dar a conocer, y validar, las capacidades tcnicas que
puedan ser explotadas a nivel acadmico dentro de universidades interesadas en la investigacin
sobre robtica, dado que el impacto de esta rama de conocimiento an es leve dentro del
entorno acadmico peruano.
As mismo, con este proyecto se dar inicio a una nueva rea de investigacin dentro de las
carreras de Ingeniera relacionada a Ciencias de la Computacin, donde se integre el robot
humanoide NAO con diferentes tecnologas modernas de alto impacto en la sociedad, como
puede ser Emotiv EPOC.
Al final del desarrollo del proyecto se obtuvo una base slida de conocimiento acerca de NAO y
sus caractersticas ms resaltantes. Para lograrlo se desarroll una biblioteca en Python que
permite controlar a NAO sin la necesidad de utilizar Choregraphe, la validacin de esta biblioteca
se hizo con el desarrollo de una aplicacin que integr NAO con Emotiv EPOC, donde se utilizaron
caractersticas como teleoperacin, ejecucin de rutinas de movimiento, control de la cmara y
uso de Text-to-Speech y Speech-to-Text.
NAO, from Aldebaran Robotics, is a humanoid robot developed with academic and research
purposes being used in many academic institutions worldwide, including the University of Tokyo,
the Indian Institute of Technology Kanpur and the King Fahd University of Petroleum and
Minerals.
This project had the goal to present, and validate, the technical capabilities that can be used in an
academic level within universities interested in research on robotics, since the impact of this
branch of knowledge is still mild in the Peruvian academic environment.
Likewise, it was expected from this project to create a new research area within engineering
careers related to computer science, where the NAO humanoid robot could be integrated with
other modern technologies with high impact, as Emotiv EPOC.
At the end of this project we obtained a solid base of knowledge about NAO and its most
important capabilities. To achieve this, a Python library was developed, which allows control NAO
robot without using Choregraphe IDE. To validate this library, an application was developed,
which integrated NAO with Emotiv EPOC; this application used features as teleoperation,
movement routines, camera control and usage of Text-to-Speech and Speech-to-Text.
During this project three phases were contemplated: research of the technology, development of
the integration with Emotiv EPOC, development of applications.
TABLA DE CONTENIDO
RESUMEN ........................................................................................................................................... 2
ABSTRACT ........................................................................................................................................... 3
BIBLIOGRAFA ................................................................................................................................... 61
ANEXOS ............................................................................................................................................ 66
Lista de Tablas
Tabla 5: Nmero de aplicaciones por categoras en NAO Robot Application Store ........................ 37
Tabla 6: Nmero de aplicaciones por caracterstica en NAO Robot Application Store ................... 38
La biblioteca NAO Master permite trabajar con el robot humanoide NAO sin utilizar Choregraphe,
a travs de la exploracin del SDK NAOqi usando el lenguaje de programacin Python. Para la
validacin del proyecto se desarroll una aplicacin que permite la integracin de NAO con un
dispositivo de teleoperacin, llamado Emotiv EPOC, utilizando la biblioteca NAO Master. En el
proyecto se busca analizar y desarrollar una biblioteca que permita explotar las caractersticas de
hardware y software del robot, utilizando el SDK provisto por fabricante.
En el captulo 2 se detalla el marco terico del robot humanoide NAO en la versin que utilizamos,
H25, tanto en sus caractersticas de hardware como de software. En el apartado de hardware
describimos los componentes fsicos del robot, tales como: dimensiones, sensores, motores,
cmaras, entre otros. En el caso del software, describimos el SDK NAOqi para el desarrollo de
aplicaciones, sus mdulos, y listamos los lenguajes de programacin soportados para el desarrollo
de aplicaciones con dicho SDK, etc.
Este captulo comprende 6 puntos importantes, los cuales buscan tener una idea general del
proyecto. Se enuncia el problema que se busca solucionar, cul es el objetivo general, objetivos
especficos, indicadores de xito y los beneficios que conlleva la implementacin del proyecto en
la educacin. Adems, se detallar la planificacin del proyecto en base a la gua del PMBOK.
1.1 Objeto de Estudio
El sector que se estudia en el presente proyecto es "La Robtica", especficamente El Robot
Humanoide NAO de la empresa francesa Aldebaran. En dicho estudio mostramos las capacidades
tcnicas poco implementadas de NAO.
Objetivo General
Desarrollar una biblioteca para el desarrollo de aplicaciones utilizando el SDK NAOqi para el robot
humanoide NAO.
Objetivos Especficos
Para lograr el objetivo general propuesto, se desglos en 4 objetivos especficos, los cuales en
su conjunto nos llevan al logro general del proyecto.
OE1: Analizar las caractersticas y limitaciones de hardware y software del robot humanoide
NAO.
OE2: Disear una biblioteca que permita desarrollar aplicaciones para el robot humanoide
NAO sin utilizar el IDE Choregraphe.
OE3: Desarrollar una biblioteca que permita desarrollar aplicaciones para el robot humanoide
NAO sin utilizar el IDE Choregraphe.
OE4: Validar el funcionamiento de la biblioteca, NAO Master, mediante una aplicacin NAO
Emotiv EPOC.
I.E. 3 : Acta de conformidad por parte del cliente para el desarrollo de la biblioteca NAO
Master. (OE3)
I.E. 4 : Acta de conformidad por parte del cliente para el documento de validacin de la
biblioteca NAO Master. (OE4)
1.6.1 Alcance
El proyecto fue desarrollado durante los ciclos acadmicos 2015-1 y 2015-2. El alcance para el
ciclo 2015-1 incluye los siguientes puntos:
Anlisis de las funcionalidades que ofrece el robot humanoide NAO. Desarrollo de una
biblioteca que realice ejecucin de rutinas de movimiento, control de la cmara y uso de Text-
to-Speech y Speech-to-Text.
Documentacin de las capacidades y limitaciones del robot humanoide NAO, indicando
versin de hardware y sistema operativo.
Desarrollo de aplicacin para integrar NAO con dispositivo Emotiv EPOC, permitiendo el
control de este ltimo sobre el primero.
El alcance para el ciclo 2015-2 incluye la consolidacin de la biblioteca NAO Master a partir del
desarrollo de la aplicacin NAO Office Messenger.
El proyecto no incluye:
Desarrollo de mdulos que contengan captura de imagen o video, o relacionados.
Sprint 1:
Reuniones de coordinacin con el equipo
Anlisis de hardware del robot humanoide NAO
Anlisis de software del robot humanoide NAO
Bitcora de desarrollo de cada prueba de concepto y aplicacin.
Implementacin
Sprint 2:
- Implementacin de las historias de usuario para NAO Emotiv
- Desarrollo de capa de comunicacin entre dispositivos y NAO
Sprint 3:
- Implementacin de las historias de usuario para NAO Emotiv
- Filmacin de pruebas realizadas
- Creacin de guas de desarrollo
Sprint 4:
- Documentacin de la biblioteca NAO Master
- Filmacin de la validacin de la biblioteca
- Creacin de guas de desarrollo
4. Validacin y Verificacin: En esta fase se realizan la validacin y verificacin de las historias
de usuario desarrolladas.
5. Control y Seguimiento: En esta fase se lleva el control a travs de reuniones semanales con el
equipo del proyecto para comprobar as el cumplimiento, retrasos o puntos a mejorar.
6. Cierre: En esta fase se cierran todos los entregables y se espera la aprobacin final del cliente.
Adems, se realiza punto lecciones aprendidas.
Gerente de Innova TI
Encargado de asegurar el cumplimiento del cronograma acordado por los Jefes de Proyecto y el
Cliente. Asimismo, verifica la entrega de todos estos artefactos de forma completa y de calidad.
Fomenta el avance de los entregables mediante controles y revisin del cumplimiento de los
entregables propuestos en el cronograma. Una labor del gerente alumno es asegurar que los jefes
de proyecto estn informados de las actividades de la empresa Innova TI as se promueve a un
avance ordenado y sin retrasos de las actividades de cada proyecto pues se tiene en conocimiento
el cambio y/o avance del cronograma de la empresa Innova TI.
Profesor Cliente
Profesor Asesor
El profesor asesor cumple la funcin de orientar y apoyar al Jefe de Proyecto y Jefe de Desarrollo
para la ptima realizacin del proyecto profesional.
Jefe de Proyecto
El jefe de proyecto cumple con las actividades necesarias para el cumplimiento de los objetivos y
entrega de los documentos acordada de la forma ms eficaz, eficiente y de calidad. El jefe de
proyecto se vale de guas y marcos de referencia para la realizacin de artefactos de calidad sin
desenfocarse de su principal objetivo, el cual es otorgar valor al proyecto.
Jefe de Desarrollo
El jefe de desarrollo cumple con las actividades necesarias para llevar el control de la evolucin
del software, tambin tiene un contacto directo con el alumno colaborador, lo cual permite
absolver dudas por parte de ste ltimo. Tiene comunicacin constante con el jefe de proyecto,
Gerente de Innova TI y, en algunos casos, con el profesor cliente.
Alumno Colaborador
El objetivo de este plan es establecer de forma clara todas las formas de comunicacin y as
permitir un buen clima de proyecto, teniendo en claro la forma de comunicacin de todos los
miembros del equipo y todos los interesados con el fin de estandarizar y clarificar cuales son los
procedimientos y medios de comunicacin.
Este captulo inicia con la descripcin del robot humanoide a utilizar en el proyecto (NAO de
Aldebaran Robotics) y su en el mundo acadmico, as como los logros obtenidos desde su
creacin hasta la fecha de elaboracin del presente documento. Para terminar con la informacin
tcnica sobre las capacidades a nivel hardware y software del robot.
2.1 NAO, DE ALDEBARAN ROBOTICS
En el 2006 Aldebaran cre el primer prototipo de robot humanoide NAO. Aunque tena algunas
limitantes, encontr un mercado importante entre investigadores de robtica 1.
En el 2008, NAO fue seleccionado como el sucesor de Sony AIBO en la RoboCup Soccer League.
Esta competencia de nivel mundial organiza partidos de ftbol entre robots y tiene una meta:
conseguir que el equipo de robots pueda jugar contra el ganador de la Copa del Mundo en el
2050.
En el 2011, sali al mercado NAO Next Gen, la ltima versin de NAO, que tiene grandes avances
en tecnologa e interaccin con humanos. En este ao, el mercado educativo para NAO se
extendi a la educacin secundaria, dando como resultado que Aldebaran crear el Developer
Program, cuyo objetivo es ayudar a programadores de todo el mundo a usar el robot para crear
aplicaciones para el pblico en general.
En el 2013, Aldebaran lanz la iniciativa Autism Solution for Kids (ASK NAO), la cual ofrece un
nuevo enfoque de enseanza para maestros y nios con autismo, gracias a la robtica.
En Junio del 2014, SoftBank Mobile y Aldebaran revelaron "Pepper", el primer robot personal que
lee emociones. Disponible solo en Japn, Pepper da la bienvenida, informa y entretiene a los
usuarios. Al mismo tiempo, Aldebaran lanz la ltima versin de NAO, NAO Evolution, un robot
ms robusto y con un sistema operativo mejorado.
A la fecha, cerca de 400 personas han contribuido en la construccin de los robots de Aldebaran
Robotics, con ms de 7,000 NAOs vendidos alrededor del mundo.
1
Cfr. ALDEBARAN : The History And Vision of Aldebaran
2.2 CARACTERSTICAS TCNICAS DE NAO H25
2.2.1 Hardware
A nivel de hardware, NAO H25, la versin utilizada para este proyecto, presenta los siguientes
componentes 2:
Motherboard
Memoria Flash de 2 GB
Memoria SDHC de 8 GB
Batera
4 micrfonos, ubicados en la zona frontal (2) y posterior (2) de la cabeza del robot, con un
rango de frecuencia desde 150Hz hasta 12kHz
2 cmaras de video, ubicadas en la parte frontal de la cabeza del robot, con una resolucin de
1.2 Mp, permitiendo capturar imgenes de 1280x960 a 30 cuadros por segundo (30 fps).
Ambas cmaras cuentan con un ngulo de visin de 60.9 en horizontal, y 47.6 en vertical).
La versin acadmica tiene 2 infrarrojos, ubicados en los ojos del robot, con un tamao de
onda de 940 nm y un ngulo de emisin de +/- 60.
2
Cfr. Aldebaran
5 grupos de puntos LED, ubicados en la parte superior de la cabeza del robot, as como en sus
ojos, odos, pecho y piernas.
Sensores
8 sensores FSR (Force Sensitive Resistors), ubicados 4 en cada planta de pie, mide el cambio
de resistencia de acuerdo a la presin aplicada. Van de 0 N a 25 N.
Unidad inercial, ubicada en el torso del robot, tiene un procesador aparte, contiene un
girmetro de 3 ejes, con una velocidad angular de 500/s, y un acelermetro de 3 ejes con
una aceleracin de 2G.
2 sonares (emisor-receptor), utilizados para estimar la distancia de objetos. NAO puede medir
distancias entre 1cm hasta 5m. En versiones anteriores, solo poda medir distancias en el rango de
25cm hasta 2.55m.
Sensores tctiles, ubicados en la parte superior de la cabeza (3), pecho (1), manos (3 en cada
mano) y pies (2 en cada pie).
La unidad inercial utiliza el acelermetro para definir un punto de referencia para el torso, cuando
se encuentra quieto. Cuando es detectado algn movimiento, la unidad inercial utiliza el
girmetro para obtener el nuevo ngulo de diferencia (con respecto al ngulo inicial).
Cada actuador se mueve sobre 1 o 2 ejes, de acuerdo a la zona, tal y como se indica en la figura:
Elaboracin: Propia
Los ejes utilizados por NAO se basan en los ngulos de navegacin utilizados en los aeroplanos:
Elaboracin: Propia
2.2.4.1 LEDs
NAO H25 tiene 5 grupos de LEDs, ubicados segn la figura:
Elaboracin: Propia
Para el caso de los LEDs RGB, el sistema operativo es capaz de devolver los valores por cada color
primario (rojo, verde y azul) por cada LED.
Los sensores del punto A est ubicado en la cabeza y son 3, los cuales devuelven valores
independientes. El sensor B est ubicado en el pecho y es un botn, tambin devuelve un valor.
Los sensores ubicados en el punto C tambin son 3 por cada mano, y devuelven valores
independientes. Por ltimo, los sensores ubicados en el punto D son 2 por cada pie y devuelven
valores independientes.
2.2.4.3 Motores
NAO H25 tiene 3 tipos de motores, cada uno con diferentes torques. Cada articulacin tiene dos
motores, dado que cada articulacin tiene 1 o 2 ngulos de navegacin, dependiendo del tipo de
articulacin (las articulaciones y sus ejes pueden verse en la Ilustracin 8).
Tanto las articulaciones de la cabeza y brazos tienen el mismo tipo de motor, mientras que las
articulaciones de las manos y de las piernas tienen otros tipos de motores.
Core: Contiene mdulos de propsito general, relacionados al funcionamiento bsico del robot
(sin tomar en cuenta audio, video, sensores o movimiento) 3.
3
Cfr. AlDEBARAN : NAOqi Core Aldebaran 2.1.2.17 Documentation
4
Cfr. AlDEBARAN : NAOqi Motion Aldebaran 2.1.2.17 Documentation
5
Cfr. ALDEBARAN : NAOqi Audio Aldebaran 2.1.2.17 Documentation
6
Cfr. AlDEBARAN : NAOqi Vision Aldebaran 2.1.2.17 Documentation
7
Cfr. AlDEBARAN : NAOqi PeoplePerception Aldebaran 2.1.2.17 Documentation
Sensors: Contiene todos los mdulos necesarios para obtener informacin de los sensores del
robot 8.
ALSensors: Maneja eventos de acuerdo a los valores devueltos por los sensores
ALSonar: Obtiene informacin del sonar del robot
8
Cfr. AlDEBARAN : NAOqi Sensors Aldebaran 2.1.2.17 Documentation
9
Cfr. AlDEBARAN : NAOqi Trackers Aldebaran 2.1.2.17 Documentation
10
Cfr. AlDEBARAN : NAOqi Diagnosis Aldebaran 2.1.2.17 Documentation
11
Cfr. AlDEBARAN : NAOqi DCM Aldebaran 2.1.2.17 Documentation
12
Cfr. AlDEBARAN : NAOqi Available Languages Aldebaran 2.1.2.17 Documentation
CAPTULO 3: ESTADO DEL ARTE
Este captulo muestra los trabajos e investigaciones realizadas en el mundo sobre el robot
humanoide NAO. Este comienza con una revisin de la literatura que presenta al robot
humanoide NAO y sus similares. Tambin, las reas de conocimiento en las que se ha utilizado
este robot en universidades, as como las aplicaciones que actualmente existen para NAO dentro
de la tienda de aplicaciones del fabricante.
3.1 REVISIN DE LA LITERATURA
Desde el ao 2008, fecha en la que hace su entrada a la Robocup Soccer League, el robot
humanoide NAO, este ha sido estudiado desde diversos enfoques, como se ve en la literatura
revisada en este captulo. El paper The NAO humanoid: a combination of performance and
affordability, presentado por David Gouaillier, Vincent Hugel y Pierre Blazevic, de la Universit de
Versailles Saint-Quentin-en-Yvelines; junto a Chris Kilner, Jrome Monceaux, Pascal Lafourcade,
Brice Marnier, Julien Serre y Bruno Maisonnier, de la empresa Aldebaran Robotics, es el
documento de investigacin donde se definen las bases para lo que llegar a ser el robot
humanoide NAO 13.
Es en este paper donde se compara a NAO con otros competidores, como HOAP, de Fujitsu
Automation, o ASIMO, de Honda. Tambin se detallan las caractersticas principales del robot,
tales como peso y altura, grados de libertad en articulaciones, tipo y capacidad de batera,
sensores disponibles, entre otros 14.
En el mismo ao, 2010, se presenta, en la Universidad Rey Juan Carlos de Madrid, un Proyecto de
Fin de Carrera titulado Componente BICA de coreografas para robot NAO aplicado a terapias en
enfermos de Alzheimer, cuyo autor es Ral Bentez Mejas. Es uno de los primeros trabajos en
espaol y toma un enfoque distinto en cuanto al uso de NAO, dndole una aplicacin mdica,
como es la asistencia en terapia a enfermos de Alzheimer 17. Si bien el proyecto trata sobre la
creacin de un framework para crear secuencias de movimiento y audio para NAO a partir de un
pseudo lenguaje de programacin 18, el autor llega a realizar pruebas en clnicas de Madrid, donde
utiliza el robot para asistir a terapias de lenguaje 19. Este trabajo es vital para nuestro proyecto, ya
que sirve como primer paso para entender a NAO como una plataforma sobre la cual se pueden
programar otros componentes.
13
Cfr. GOAUILLIER 2008
14
Cfr. GOAUILLIER 2008 : 2
15
Cfr. FABISCH 2010 : 2
16
Cfr. FABISCH 2010 : 3
17
Cfr. BENTEZ 2010 : 4
18
Cfr. BENTEZ 2010 : 41
19
Cfr. BENTEZ 2010 : 69
Para los aos 2012 y 2013, aparecen dos Trabajos de Fin de Carrera sobre NAO en universidades
hispanoamericanas. En el 2012 es publicado Teleoperacin del robot NAO mediante dispositivos
mviles Android, de Juan Domingo Glvez Cobo, de la Universidad Carlos III de Madrid, donde
controla al robot NAO desde dispositivos mviles utilizando un servidor intermedio entre el robot
y el dispositivo 20. En el 2013, Jess Gonzlez Godoy publica la tesis Control mediante visin de un
robot humanoide en el Instituto Politcnico Nacional de la Ciudad de Mxico, con el objetivo de
obtener el grado de Maestra en Ciencias de la Computacin, donde elabora un algoritmo para
darle al robot la capacidad de percibir un entorno y un objeto en movimiento como dos entes
separados, y a fin de que pueda interactuar con dicho objeto de forma autnoma y dinmica 21.
Teleoperacin del robot NAO mediante dispositivos mviles Android sirvi de base para la
integracin de NAO con Emotiv EPOC dentro del presente proyecto, mientras que Control
mediante visin de un robot humanoide dio algunas ideas sobre reconocimiento visual por parte
de NAO.
As mismo, la UTEC brind, en los meses de Enero, Febrero y Marzo del 2014, talleres de
programacin en NAO a alumnos de 4to y 5to de secundaria de colegios de la ciudad de Lima 22.
20
Cfr. GLVEZ 2012 : 55
21
Cfr. GONZLEZ 2013 : 29-44
22
Cfr. UTEC
Ilustracin 9: Tercer taller NAO Robots en UTEC.
Por el lado comercial, las aplicaciones para NAO estn alojadas en un marketplace de aplicaciones
llamado NAO Robot Application Store 23 (o NAOStore). Para el 24 de Abril del 2015,
registramos 91 aplicaciones en la mencionada tienda, divididas en 14 categoras (no excluyentes):
Animation
Audio
Channels
Education
23
NAO Robot Application Store https://store.aldebaran-robotics.com/
Fun
Game
Interactions
Network
News Feeds
Programming
Radios
Remote Control
Therapy / Autism
Vision
Estas aplicaciones hacen uso de diversas caractersticas del robot, tales como:
Text-to-Speech
Animation Sensors
Word Recognition
Audio playback
Move recording
Vision recognition
De la informacin obtenida podemos obtener los siguientes datos:
Animation 9
Audio 5
Channels 1
Education 5
Fun 10
Game 9
Interactions 12
Network 3
News Feeds 6
Programming 3
Radios 8
Remote Control 4
Therapy / Autism 7
Vision 9
Text-to-Speech 57
Animation 36
Sensors 26
Word Recognition 27
Audio playback 19
Move recording 8
Python scripts 44
Audio recognition 2
Vision recognition 16
Para su implementacin se desarroll NAO Master, una biblioteca wrapper, y una capa de
comunicacin basada en sockets, escrita en Python, que funciona como un servidor proxy entre
EPOC y NAO.
El siguiente diagrama de componentes describe las dependencias del servidor de sockets TCP,
llamado Socket Server:
Ilustracin 11: Diagrama de componentes de servidor de sockets
Internamente, el servidor de sockets se encarga de recibir los comandos recibidos por Emotiv
EPOC y convertirlos en acciones para NAO Master, utilizando el SDK brindado por el fabricante,
para enviar comandos a NAO mediante WiFi.
Aunque inicialmente fue diseado para ser utilizado por EPOC, se descubri que conectar a NAO
con otros dispositivos es sencillo, por lo que se implement una integracin adicional para
mviles con Android, el cual permite controlar a NAO en las siguientes acciones: caminar en 4
direcciones (izquierda, derecha, adelante y atrs), sentarse, pararse, saludar (haciendo un gesto y
enunciar un mensaje), y decir frases mediante la funcionalidad Text-to-Speech.
Ilustracin 14: Prueba de NAO Master con dispositivo Android
Mientras no se cumpla con el nmero de veces que se debe probar cada caso, se sigue
probando.
Al terminar de probar los casos de prueba en el nmero de veces definido previamente, se valida
el nmero de resultados positivos contra el nmero de resultados negativos.
Para la validacin de este trabajo se tom como indicador el nmero de resultados positivos y el
nmero de resultados negativos. Por cada caso de prueba se ponderan los valores resultantes de
cada ciclo de pruebas realizado. Se considera un resultado positivo cuando el robot realiza el
comando ordenado por el usuario utilizando el Emotiv EPOC.
Tras realizar los 5 ciclos de los 5 casos de prueba (25 pruebas en total), se condensaron los
resultados en la tabla 7.
Total 18 7 72%
Durante la realizacin de las pruebas se pudo notar que, para los casos donde los resultados
fueron negativos, el servidor de sockets se satur por mltiples peticiones realizadas en
simultneo. Esto sucedi por la naturaleza misma del robot, que acepta una peticin a la vez,
creando una cola donde almacena las acciones que debe realizar despus, en el orden en el que
llegaron.
La aplicacin inicia con el llamado a la funcin start, donde se registran los miembros, si existe
algn miembro se ejecuta listen_orders. Aqu, se est a la espera de la orden que puede ser
abre o cierra, luego de recibir la orden contina la funcin on_orderd_received donde
dependiendo la orden realiza la actividad. En identify se subscribe al evento FaceDetected
para luego detectar algn rostro; cuando se detecta un rostro y es conocido NAO le hace entrega
del documento y se des-subscribe del evento.
El siguiente diagrama muestra los componentes de la aplicacin NAO Office Messenger, as como
sus dependencias:
Para el desarrollo de la primera aplicacin contamos con la asesora de Jos Peralta quin explic
el wrapper, o biblioteca que agrupa funcionalidades en una interfaz programable, a implementar
para la tele-operacin de NAO con Emotiv EPOC. Para el desarrollo de las dos ltimas aplicaciones
contamos con la asesora de Luis Vives cuya experiencia fue til para el procesamiento de
imgenes.
Se plante una arquitectura basada en sockets, esto brinda la posibilidad de controlar a NAO de
manera sncrona, para esto se desarroll en Python un wrapper llamado nao_master. El uso de
Choregraphe fue mnimo, ya que nuestro core est en el wrapper.
El producto software est conformado por el wrapper, que permite ejecutar las tres aplicaciones.
Asimismo, ste wrapper permite controlar a NAO con cualquier dispositivo mediante sockets.
Peticiones TCP
Este diagrama describe a detalle el despliegue de la aplicacin NAO Office Messenger, incluyendo
los componentes y su comunicacin:
NAOqi OS 2.1
Ciclo 2015-02
El comit lo conformaban los coordinadores Jimmy Armas, Pedro Shiguihara y Oscar Gmez,
adems de la directora de escuela Rosario Villalta. El rol de Coordinador de Talleres de Proyectos
se le asign al profesor Victor Parasi. Por la permanencia del proyecto en la cartera de proyectos
de la empresa Innova TI, el Gerente General fue Roy Pichis y el Gerente Alumno era Marcial de los
Rios y el cliente Luis Vives Garnique.
Entre los miembros del equipo de proyectos la comunicacin ha sido horizontal y fluida, haciendo
uso de chats, correos electrnicos, reuniones fsicas, reuniones virtuales o llamadas telefnicas.
Adicionalmente, se ha hecho uso constante de correos electrnicos para la comunicacin del jefe
de Proyecto para con los stakeholders, ya sea cliente o supervisor de proyecto, para absolver
dudas, coordinar reuniones o hacer entrega de documentos virtuales.
5.5.1 Reuniones
Se sigui las indicaciones planteadas al inicio del proyecto para la realizacin del proyecto,
excepto cuando el robot NAO no llegaba a la fecha pactada, entonces se postergaba la reunin
para la nueva fecha.
De las reuniones se generaron actas firmadas por todos los miembros presentes en base a las
cuales se desarroll el proyecto.
El compromiso por parte de todo el equipo se evidenci ante la presencia de incidencias de alto
impacto y urgencia, por lo cual se agiliz la comunicacin mediante el uso de celulares y chats.
5.6 GESTION DE LOS RIESGOS
Para la lista de riesgos se utiliz la estrategia de mitigacin planteada empezando segn el mayor
PxI como el caso que el robot no llegue a la fecha pactada o las horas solicitadas y las horas
brindadas tengan mucho margen. No se cont con colaborador lo cual no fue un riesgo para el
proyecto.
Los recursos que se tienen disponibles para establecer un alcance adecuado a los recursos
No solicitar cambios de alcance a mitad de proyecto
As mismo, se debe realizar un cronograma de uso del robot tomando en cuenta las horas
definidas por el equipo, y las horas conseguidas con el proveedor.
El trabajo con el SDK toma menos tiempo luego de reutilizar el cdigo hecho en NAO Master.
Se pudo desarrollar una segunda aplicacin, que permite demostrar las capacidades del robot
en cuanto a sntesis de voz (text-to-speech), reconocimiento facial, tratamiento de imgenes
con OpenCV y movimiento fsico. El desarrollo de la aplicacin tom 16 horas, siendo casi la
totalidad de estas usadas en pruebas.
El simulador de Choregraphe est limitado a algunas rutinas de movimiento, siendo necesario
tener un robot fsico para poder realizar movimientos relacionados a su entorno fsico.
Tambin se recomienda probar el simulador Webots, aunque su configuracin es complicada
y ms avanzada.
6.2 RECOMENDACIONES
Se recomienda conseguir un proveedor que de la seguridad de obtener las horas del robot
segn las necesidades del equipo.
Dentro de futuros trabajos se debe poner nfasis en las horas asignadas a desarrollar
movimientos fsicos en el robot, ya que implica esfuerzo y horas extras.
BIBLIOGRAFA
ALDEBARAN
(https://www.aldebaran.com/en/robotics-company/history) The History And Vision Of Aldebaran
(consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/family/index.html) NAO - Technical Guide Aldebaran 2.1.2.17
Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/family/robots/index_robots.html) NAO - Technical Overview
Aldebaran 2.1.2.17 Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/family/nao_dcm/actuator_sensor_names.html) NAO - Actuator &
Sensor List Aldebaran 2.1.2.17 Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/family/nao_h25/dimensions_h25.html) NAO Constructions /
Dimensions Aldebaran 2.1.2.17 Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/family/body_type.html) NAO - Versions and Body Type
Aldebaran 2.1.2.17 documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/family/nao_h25/motors_h25.html) NAO Motors / Location
Aldebaran 2.1.2.17 documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/family/nao_h25/contact-sensors_h25.html) NAO Contact and
tactile sensors Aldebaran 2.1.2.17 documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/family/nao_h25/leds_h25.html) NAO Leds Aldebaran 2.1.2.17
documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/family/nao_h25/index_h25.html) NAO H25 Aldebaran 2.1.2.17
Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/index_dev_guide.html) NAOqi Developer Guide Aldebaran
2.1.2.17 Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/naoqi/index.html) NAOqi Apis Aldebaran 2.1.2.17
Documentation (consulta : 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/ref/index.html) NAOqi Framework Aldebaran 2.1.2.17
Documentation (consulta : 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/naoqi/core/index.html) NAOqi Core Aldebaran 2.1.2.17
Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/naoqi/audio/index.html) NAOqi Audio Aldebaran 2.1.2.17
Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/naoqi/vision/index.html) NAOqi Vision Aldebaran 2.1.2.17
Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/naoqi/peopleperception/index.html) NAOqi PeoplePerception
Aldebaran 2.1.2.17 Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/naoqi/sensors/index.html) NAOqi Sensors Aldebaran 2.1.2.17
Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/naoqi/trackers/index.html) NAOqi Trackers Aldebaran 2.1.2.17
Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/naoqi/diagnosis/aldiagnosis.html) ALDiagnosis Aldebaran
2.1.2.17 Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/naoqi/sensors/dcm.html) DCM Aldebaran 2.1.2.17
Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/family/robots/languages.html) Available Languages Aldebaran
2.1.2.17 Documentation (consulta: 28 de febrero de 2015)
ALDEBARAN
(http://doc.aldebaran.com/2-1/family/nao_h25/links_h25.html) Links Aldebaran 2.1.2.17
Documentation (consulta: 28 de febrero de 2015)
GLVEZ, Juan (2012) Teleoperacin del robot NAO mediante dispositivos mviles Android
(consulta: 2 de mayo de 2015).
(http://e-archivo.uc3m.es/handle/10016/16336)
BENTEZ, Ral (2010) Componente BICA de coreografas para robot NAO aplicado a terapias en
enfermos de Alzheimer (consulta: 2 de mayo de 2015).
(https://eciencia.urjc.es/handle/10115/4142)
SANMARTN, Jorge (2011) Sistema de gestin y control de ficheros de configuracin para robots
NAO aplicado a competiciones SPL Robocup (consulta: 2 de mayo de 2015).
(https://riunet.upv.es/handle/10251/11952)
GONZLEZ, Jess (2013) Control Mediante Visin De Un Robot Humanoide (consulta: 2 de mayo
de 2015).
(http://www.saber.cic.ipn.mx/cake/SABERsvn/trunk/Repositorios/webVerArchivo/523/11952)
LOULOUDI, Athanasia (2010) Integration of the Humanoid Robot Nao inside a Smart Home: A Case
Study (consulta: 2 de mayo de 2015).
(http://www.aass.oru.se/Research/Learning/drdv_dir/ipw/SAIS2010-IPW-paper.pdf)
JOKINEN, Kristiina (2010) Multimodal Open-domain Conversations with the Nao Robot (consulta:
2 de mayo de 2015).
(http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.309.8006&rep=rep1&type=pdf)
FABISCH Alexander (2010) Robot Recognition and Modeling in the RoboCup Standard Platform
League (consulta: 24 de mayo de 2015).
(http://www.ais.uni-bonn.de/humanoidsoccer/ws10/papers/HSR10_18.pdf)
KRUIJFF-KORBAYOV, Ivana (2011) An Event-Based Conversational System for the Nao Robot
(consulta: 24 de mayo de 2015).
(https://www.academia.edu/3184720/An_Event-
Based_Conversational_System_for_the_Nao_Robot)
KULK, Jason (2008) A Low Power Walk for the NAO Robot (consulta: 24 de mayo de 2015).
(http://msc-ai-thesis-christiaan-meijer.googlecode.com/svn-
history/trunk/Literature/pap117s1.pdf)
GOUAILLIER. David (2008) The NAO humanoid: a combination of performance and affordability
(consulta: 24 de mayo de 2015).
(http://www.researchgate.net/profile/Vincent_Hugel/publication/220482736_The_NAO_humano
id_a_combination_of_performance_and_affordability/links/02e7e517e36d236fa8000000.pdf)
GONZLEZ, Toms (2009) Android Control Application for Nao Humanoid Robot (consulta: 24 de
mayo de 2015).
(http://upcommons.upc.edu/pfc/bitstream/2099.1/7722/1/MT_TomasGonzalezSanchez-URV.pdf)
ANDRIST, Sean (2014) Conversational Gaze Aversion for Humanlike Robots (consulta: 24 de mayo
de 2015).
(http://pages.cs.wisc.edu/~bilge/pubs/2014/HRI14-Andrist.pdf)
SAUPPE, Allison (2014) Design Patterns for Exploring and Prototyping Human-Robot Interactions
(consulta: 24 de mayo de 2015).
(http://pages.cs.wisc.edu/~bilge/pubs/2014/CHI14-Sauppe.pdf)
UTEC
(http://www.utec.edu.pe/noticias/alumnos-de-utec-se-capacitan-para-programar-los-primeros-
nao-robots-en-peru) Alumnos de UTEC se capacitan para programar los primeros NAO Robots en
Per (consulta: 1 de mayo de 2015)
UTEC
(https://www.utec.edu.pe/noticias/alumnos-de-secundaria-aprenden-programar-nao-robots-en-
utec) Alumnos de secundaria aprenden a programar NAO robots en UTEC (consulta: 1 de mayo de
2015)
UTEC
(https://www.youtube.com/watch?v=I8fID0ZKkt4) Programacin en NAO Robots UTEC (consulta:
23 de agosto de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/animation/) Animation NAOStore
(consulta: 5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/audio/) Audio NAOStore (consulta:
5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/product/naos-life-channel/) Channels NAOStore
(consulta: 5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/education/) Education NAOStore
(consulta: 5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/fun/) Fun NAOStore (consulta 5 de
mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/game/) Game NAOStore (consulta:
5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/interactions/) Interactions
NAOStore (consulta: 5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/network/) Network NAOStore
(consulta: 5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/news-feeds/) News Feeds
NAOStore (consulta: 5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/programming/) Programming
NAOStore (consulta: 5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/radios/) Radios NAOStore
(consulta: 5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/remote-control/) Remote Control
NAOStore (consulta: 5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/therapy-autism/) Therapy / Autism
NAOStore (consulta 5 de mayo de 2015)
ALDEBARAN
(https://store.aldebaran-robotics.com/category/applications/vision/) VISION NAOStore
(consulta 5 de mayo de 2015)
ANEXOS
1. Diagrama de flujo : Actividades de validacin
2. Acta de conformidad
3. Certificado de aprobacin
4. Acta de aceptacin y cierre de proyecto