Trabajo de Fin de Máster en Investigación en Ingeniería Eléctrica

Transcripción

Trabajo de Fin de Máster en Investigación en Ingeniería Eléctrica
Trabajo de Fin de Máster en Investigación en Ingeniería Eléctrica
Electrónica y Control Industrial
INVESTIGACIÓN EN LA INTERACCIÓN SOCIAL DE ROBOTS CON
HUMANOS Y SU APLICACIÓN EN: INDUSTRIA, ENFERMOS, ANCIANOS,
NIÑOS, ENTRETENIMIENTO Y EN EL SECTOR MILITAR
---------------------------------------------------------------------------INVESTIGATION IN SOCIAL INTERACTION BETWEEN HUMANS
AND ROBOTS AND IT APLICATION TO: INDUSTRY, ILL AND ELDERLY,
CHILDREN, ENTERTAINMENT AND IN THE MILITARY SECTOR
Autor
JAVIER NÚÑEZ LÓPEZ
Directores
Dra. CLARA PÉREZ MOLINA
Dr. SERGIO MARTÍN GUTIÉRREZ
Trabajo presentado en el
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA, ELECTRÓNICA Y DE CONTROL
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA
como parte de los requerimientos para la obtención del Grado de
Máster Universitario en Investigación en Ingeniería Eléctrica, Electrónica y Control
Industrial 2014
Itinerario en Control Industrial
Trabajo de Fin de Máster en Investigación en Ingeniería Eléctrica
Electrónica y Control Industrial
INVESTIGACIÓN EN LA INTERACCIÓN SOCIAL DE ROBOTS CON
HUMANOS Y SU APLICACIÓN EN: INDUSTRIA, ENFERMOS, ANCIANOS,
NIÑOS, ENTRETENIMIENTO Y EN EL SECTOR MILITAR
---------------------------------------------------------------------------INVESTIGATION IN SOCIAL INTERACTION BETWEEN HUMANS
AND ROBOTS AND IT APLICATION TO: INDUSTRY, ILL AND ELDERLY,
CHILDREN, ENTERTAINMENT AND IN THE MILITARY SECTOR
Autor
JAVIER NÚÑEZ LÓPEZ
Directores
Dra. CLARA PÉREZ MOLINA
Dr. SERGIO MARTÍN GUTIÉRREZ
Trabajo presentado en el
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA, ELECTRÓNICA Y DE CONTROL
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA
como parte de los requerimientos para la obtención del Grado de
Máster Universitario en Investigación en Ingeniería Eléctrica, Electrónica y Control
Industrial 2014
Itinerario en Control Industrial
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA, ELECTRÓNICA Y DE CONTROL
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA
Trabajo Fin De Máster
INVESTIGACIÓN EN LA INTERACCIÓN SOCIAL DE ROBOTS CON
HUMANOS Y SU APLICACIÓN EN: INDUSTRIA, ENFERMOS, ANCIANOS,
NIÑOS, ENTRETENIMIENTO Y EN EL SECTOR MILITAR
---------------------------------------------------------------------------INVESTIGATION IN SOCIAL INTERACTION BETWEEN HUMANS
AND ROBOTS AND IT APLICATION TO: INDUSTRY, ILL AND AGED
PEOPLE, CHILDREN, ENTERTAINMENT AND IN THE MILITARY
SECTOR
Autor:
JAVIER NÚÑEZ LÓPEZ
Directores:
Dra. CLARA PÉREZ MOLINA
Dr. SERGIO MARTÍN GUTIÉRREZ
Comisión Evaluadora:
Presidente:
Secretario:
Vocal:
Fecha defensa:
Calificación:
Código UNESCO:
Resumen
La robótica es un sector con numerosas posibilidades y con mucha aplicación de futuro
como apoyo a los humanos. Factores como el abaratamiento de la tecnología y la aparición de
hardware y software libre, con el respaldo de una comunidad muy numerosa y activa, hace
que este sector esté en un punto de inflexión que vale la pena analizar.
En este trabajo se expone el estado del arte en robótica, profundizando en la
interacción social entre robots y humanos. También se analizan las herramientas software y
hardware abiertos utilizadas en el diseño de robots. Desde este punto de partida, se propone
el modelado hardware y software para un hipotético robot a desarrollar en el entorno
industrial, en el apoyo a enfermos o ancianos, en educación, en entretenimiento y en el
entorno militar.
Summary
Robotics is a potential sector with many possibilities and a thriving future supporting
humans. Many factors as technology low prices and the rise of open-source hardware and
software, with a large and active community behind them, makes robotics present as an
inflexion point that is worth reviewing.
In this work, the state of the art in robotics, going deep in social interaction between
human and robots, is developed. It also analyses open-software and open-hardware tools for
designing robots. With these two points settled, a software and hardware modeling is
proposed to design a hypothetical robot in the following environments: industrial, ill and aged
people, education, entertainment and in the military sector.
CONTENIDO
Contenido
Índice de figuras .................................................................................................... 13
Índice de tablas ..................................................................................................... 17
1. Introducción ...................................................................................................... 19
1.1. Motivación........................................................................................................... 19
1.2. Propósito ............................................................................................................. 19
1.3. Organización del documento .............................................................................. 19
2. Estado del Arte de la robótica ............................................................................. 21
2.1. Clasificación ......................................................................................................... 21
2.2. Factores que promueven el avance .................................................................... 21
2.3. Los robots que vienen ......................................................................................... 22
2.4. Robótica en España ............................................................................................. 32
2.5. Normalización...................................................................................................... 40
2.6. Instituciones de referencia en investigación en robótica ................................... 44
3. Estado del Arte de la interacción social de robots con humanos .......................... 49
3.1. Sector industrial .................................................................................................. 49
3.2. Educación ............................................................................................................ 56
3.3. Entretenimiento .................................................................................................. 59
3.4. Ancianos y enfermos ........................................................................................... 61
3.5. Tareas domésticas ............................................................................................... 64
3.6. Entorno militar .................................................................................................... 68
3.7. Computación Ubicua y Sistemas Robóticos en la Nube ...................................... 73
4. Soluciones hardware/software libre. .................................................................. 79
4.1. Arduino ................................................................................................................ 79
4.2. Arduino en la robótica ......................................................................................... 81
4.3. Raspberry Pi......................................................................................................... 90
4.3. Raspberry Pi en la robótica.................................................................................. 93
5. Modelado de las principales características hardware y software que debe
presentar un robot................................................................................................. 99
5.1. Sector industrial ................................................................................................ 107
5.2. Educación .......................................................................................................... 111
5.3. Entretenimiento ................................................................................................ 113
5.4. Ancianos y enfermos ......................................................................................... 115
Página 11 de 143
CONTENIDO
5.5. Tareas domésticas ............................................................................................. 120
5.6. Entorno militar .................................................................................................. 122
6. Conclusiones y trabajo futuro ........................................................................... 127
6.1. Resumen de investigación ................................................................................. 127
6.2. Contribuciones .................................................................................................. 128
6.3. Problemas encontrados .................................................................................... 128
6.4. Trabajos futuros y mejoras ................................................................................ 128
7. Bibliografía ...................................................................................................... 131
8. Anexos............................................................................................................. 143
8.1. Curriculum Vitae ................................................................................................ 143
Página 12 de 143
ÍNDICE DE FIGURAS
Índice de figuras
Figura 1: Robot LS3 de Boston Dynamics[26]................................................................. 22
Figura 2: Robot LS3 demostración de fuerza[26]. .......................................................... 22
Figura 3: Husky, robot detector de minas [14]............................................................... 23
Figura 4: Robot musaraña con bigotes sensores[15] ..................................................... 24
Figura 5: Detección de muy pequeñas presiones con bigotes sensores basados en
nanotecnología[16] . ...................................................................................................... 24
Figura 6: Típico Robot Industrial [4] ............................................................................... 25
Figura 7: Robot industrial interactivo [4] ....................................................................... 25
Figura 8: Brazos robóticos para producción flexible [18] . ............................................. 26
Figura 9: Robot MSR05, esterilizable con VHP [19] . ...................................................... 26
Figura 10: Placa Arduino [20] ......................................................................................... 27
Figura 11: Mapa conceptual del sistema PAMM [42]. ................................................... 27
Figura 12: Paro el robot terapéutico [29] . ..................................................................... 28
Figura 13. Exoesqueleto integral de Cyberdyne [21] . .................................................. 29
Figura 14: Telemedicina [22]. ......................................................................................... 29
Figura 15: Manifiesto robot del siglo 21 [23] . ............................................................... 30
Figura 16: Robot humanoide iCub [24] . ........................................................................ 31
Figura 17: Robot humanoide iCub [24] . ........................................................................ 31
Figura 18: ASIMO un robot sociable[48]. ....................................................................... 31
Figura 19: Maggie Universidad Carlos III ........................................................................ 32
Figura 20: ASIBOT montado en una silla de ruedas[31] [31] ......................................... 33
Figura 21: Dispositivo de sujeción de ASIBOT[31] .......................................................... 33
Figura 22: ASIBOT en acción[31] .................................................................................... 33
Figura 23: UC3M interior[32] . ....................................................................................... 34
Figura 24: UC3M exterior[32] . ....................................................................................... 34
Figura 25: Microrrobot[34]............................................................................................. 35
Figura 26: Microrrobots colaborando[34]. ..................................................................... 35
Figura 27: Alacrane. Desarrollado en la Universidad de Málaga [38]. ........................... 36
Figura 28: REEM-C características [35]. .......................................................................... 36
Figura 29: Guardian de Robotnik, arquitectura ROS [36]............................................... 37
Figura 30: Guardian de Robotnik. Detalle de su modularidad [36]................................ 37
Figura 31: Kit de montaje de Aisoy 1[46]. ...................................................................... 38
Figura 32: Robot Aisoy 1 [46]. ........................................................................................ 38
Figura 33: Robot mOway equipado con una cámara[40]. ............................................. 39
Figura 34: Robot mOway en movimiento[41]. ............................................................... 39
Figura 35: Cámara robotizada utilizando RTM[43]. ....................................................... 42
Figura 36: Ejemplo de aplicación de RTC en el funcionamiento de la cámara[43]. ....... 42
Figura 37: Teleoperación utilizando Robot Service Network Protocol. ......................... 43
Figura 38: Sistema robótico modular colaborativo, basado en RTM y RSNP[43]. ......... 43
Figura 39: Interacción robot-humano en el entorno industrial. .................................... 50
Página 13 de 143
ÍNDICE DE FIGURAS
Figura 40: Entusiasma a los jóvenes por la tecnología de forma divertida:
RobotinoXt[55]. ........................................................................................................... 51
Figura 41: Biomechatronic Footprint: partiendo del modelo natural, al objetivo de la
aplicación industrial[55]. ................................................................................................ 51
Figura 42: Los AquaJellies demuestran como las acciones autónomas de los individuos
pueden construir un comportamiento colectivo[55]. .................................................... 52
Figura 43: El proyecto TERMES, "swarm intelligence"[79]. ........................................... 53
Figura 44: Estructuras y su "camino de construcción" correspondiente[80]................. 54
Figura 45: M-Block, robot cubo desarrollado en el MIT [81]. ........................................ 55
Figura 46: El robot Thymio II [6] . ................................................................................... 56
Figura 47: Kit práctico de robótica: Pistola de encolar, barras de cola, placa electrónica
EmbedIT con una batería LiPo y dos servomotores, bridas largas y cortas, cinta aislante
y tijeras [7] . .................................................................................................................... 57
Figura 48: Las morfologías mostradas se pueden clasificar en tres grupos: con ruedas
(a, b), barras con una masa frontal (c, d, f, g), sin miembros (e, h) [7] . ........................ 58
Figura 49: Tercera generación de sumo. Diseño con cuatro motores [116]. ................. 58
Figura 50: AIBO de Sony, especificaciones del modelo ERS-110[117]. .......................... 59
Figura 51: Especificaciones básicas de QRIO[117]. ........................................................ 60
Figura 52: Furbies [119]. ................................................................................................. 61
Figura 53: (a) MIT exoesqueleto; (b) MindWalker; (c) Austin Exoesqueleto; (d) AlterG
Pierna Biónica; (e) Dispositivo de ayuda para caminar de Honda [1] . .......................... 62
Figura 54: NAO en el tratamiento del autismo [25] . ..................................................... 63
Figura 55: Roomba, robot aspirador[156]. ..................................................................... 64
Figura 56: Clasificación de objetos basada en sus propiedades.[5] ............................... 65
Figura 57: Clasificación de tipos de objetos basada en ConceptNet4 [5] . .................... 66
Figura 58: Construcción de la relación objeto-lugar[5] .................................................. 66
Figura 59: XM1216 SUGV de iRobot[93]. ....................................................................... 69
Figura 60: XM1216, el SUGV ligero[95]. ......................................................................... 69
Figura 61: Microsoft Xbox 360 GamePad [95]. .............................................................. 70
Figura 62: Harm's Way Controller[94]............................................................................ 70
Figura 63: Sistema de monitorización Tac-Eye[95]. ....................................................... 70
Figura 64: Control de un dron [109]. .............................................................................. 72
Figura 65: Las múltiples cara de Rity el robot software[74]........................................... 75
Figura 66: Kit de LightUp[73]. ......................................................................................... 75
Figura 67: Interfaz de trabajo de AppInventor[75]. ....................................................... 76
Figura 68: Infraestructura de los recursos en Cloud Robotics[82]. ................................ 77
Figura 69: Dibujo de la placa Arduino uno[49]............................................................... 80
Figura 70: Robot Bioloid con sensores en los pies y Arduino Mega para el control de los
servos[50]. ...................................................................................................................... 81
Figura 71: Esquema de la conexión serie de los servomotores a la placa Arduino
Mega[50]. ....................................................................................................................... 82
Figura 72: Conexión de los sensores de fuerza al ordenador a través del puerto serie
del Arduino[50]. ............................................................................................................. 82
Figura 73: Lazo de control utilizando la comunicación serie de MATLAB para mover el
robot y recibir la retroalimentación de los sensores[50]. .............................................. 83
Página 14 de 143
ÍNDICE DE FIGURAS
Figura 74: Detalle del circuito de conexión con el guante NED[51]. .............................. 84
Figura 75: Detalle del guante NED (NeuroErgoDesign) [51]. ......................................... 85
Figura 76: Juego controlado con el guante NED [51]. .................................................... 85
Figura 77: Quadrotor con Arduino[53]. .......................................................................... 86
Figura 78: Flujo de datos en el software ROS[53]. ......................................................... 87
Figura 79: Flujo de información entre Matlab y ROS[53]. .............................................. 87
Figura 80: Máquina de estados del nodo de control [53]. ............................................. 88
Figura 81: El prototipo Nose Strip para la detección de concentraciones de gases
peligrosas[56]. ............................................................................................................. 89
Figura 82: Prototipo "Guide Buddy"[56]. ....................................................................... 90
Figura 83: Esquema de la interfaz hardware del Raspberry Pi[58]. ............................... 91
Figura 84: Conexiones externas del Raspberry Pi[58]. ................................................... 92
Figura 85: Arquitectura CLEM[60]. ................................................................................. 94
Figura 86: Arquitectura del sistema[61]. ........................................................................ 94
Figura 87: Componentes del dispositivo guía, de izquierda a derecha, el receptor GPS
Bluetooth, Raspberry Pi y la botonera de control[61]................................................. 95
Figura 88: Interfaz humano-ordenador basada en electroencefalogramas[70]. ........... 96
Figura 89: Primer prototipo de la RoboHand. Utilizada como prótesis sin control
electrónico[72]............................................................................................................. 96
Figura 90: Robohand impresa con impresora 3D, en el laboratorio de la Universidad
Galileo, en fase de desarrollo de su robotización[70]. ................................................ 97
Figura 91: Ejemplo del funcionamiento del servicio "master" ROS [92]. ..................... 100
Figura 92: Esquema genérico de software basado en ROS. ......................................... 101
Figura 93: Sistema de navegación automático para una silla de ruedas[83]. .............. 102
Figura 94: NAO en ROS [101] ....................................................................................... 104
Figura 95: Ejecución directa de una máquina de estados en el robot. ........................ 104
Figura 96: Ejemplo de información publicada por un sensor en ROS[160]. ................ 106
Página 15 de 143
ÍNDICE DE FIGURAS
Página 16 de 143
ÍNDICE DE TABLAS
Índice de tablas
Tabla 1: Comparativa entre tipos de robots industriales. .............................................. 25
Tabla 2: Datos de relaciones obtenidos de ConceptNet4[5] . ........................................ 66
Tabla 3: Comparación de lo obtenido en la clasificación "Tipo de Objeto". .................. 67
Tabla 4: Detalles del resultado de la clasificación "tipo de objeto". .............................. 68
Tabla 5: Comparativa entre robótica personal y robótica ubicua[73]. .......................... 74
Tabla 6: Comparativa entre el guante NED y otras opciones comerciales[51]. ............. 84
Tabla 7: Indicación de los cinco LEDs de estado[58]. ..................................................... 91
Página 17 de 143
ÍNDICE DE TABLAS
Página 18 de 143
INTRODUCCIÓN
1. Introducción
1.1. Motivación
La motivación del presente "Trabajo Fin de Máster" es la investigación en la
interacción social de robots con humanos y su aplicación en el sector industrial, en el cuidado y
mejora del bienestar de enfermos y ancianos, en la educación y atención a niños, en el
entretenimiento en general y en el sector militar.
El estudio de la interacción social entre robots y humanos es fundamental para el
diseño de nuevos robots o sistemas robotizados, más flexibles, que hagan que el potencial que
suponen, se ponga al servicio de los humanos.
1.2. Propósito
El propósito de este TFM consiste en la presentación de los últimos avances en
robótica, particularizando en la forma en que se relacionan los humanos y los robots. Las áreas
analizadas serán: industria, enfermos, ancianos, niños, entretenimiento, sector militar. Fruto
de este estudio de los últimos avances en robótica, se propondrán las características que
debería tener un sistema robótico nuevo, tanto desde un punto de vista general, como si se ha
de desarrollar concretamente en cualquiera de las áreas nombradas.
También se pretende estudiar las posibilidades de las plataformas Open-Source,
software y hardware, para su aplicación a la robótica, por sus interesantes características de
bajo coste y de la numerosa comunidad que las apoya y promueve.
1.3. Organización del documento
Primero se describirá del estado del arte en robótica. De una manera eminentemente
visual, se hará un recorrido por los últimos robots desarrollados en laboratorios y los últimos
diseños presentes en el mercado. Como un apartado independiente se considerarán los
diseños realizados en España que, como se verá, tienen su germen en las universidades.
También se hablará algo de las denominadas plataformas "middleware" para robótica, es
decir: software, metodología y herramientas ya desarrolladas por expertos que permiten su
reutilización y adaptación para nuevos diseños, por su naturaleza Open-Source.
A continuación se concretará la exposición del estado del arte en la interacción social
de robots con humanos. Para ello se cambiará un poco la metodología utilizada en el apartado
anterior y los datos se centrarán en experiencias más concretas y en resultados de
experimentos. En este apartado se hablará también de los conceptos de robótica ubicua, redes
de sensores y robótica colaborativa, factores que se consideran importantes para un desarrollo
exponencial en los paradigmas de interacción entre robots y humanos.
Seguidamente se analizarán algunas de las plataformas Open-Source que han surgido
en los últimos años. Aunque existen otras, esta parte se centrará en la placa microcontroladora
Arduino y en el denominado ordenador de un placa Raspberry Pi. En su presentación, además
de una descripción de sus características, se darán algunos ejemplos de su utilización en la
robótica.
Página 19 de 143
INTRODUCCIÓN
En el siguiente apartado se resumirán las características hardware y software
deseables para el desarrollo de un robot en distintos ámbitos: industrial, para la ayuda de
ancianos, para cuidado de enfermos, para interacción con niños, para tareas domésticas, para
entretenimiento y finalmente en el sector militar.
Para terminar se expondrán las conclusiones y los trabajos futuros a realizar en base a
dichas conclusiones.
Página 20 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
2. Estado del Arte de la robótica
En este apartado se tratará de mostrar las nuevas tendencias en el desarrollo de la
robótica en base a artículos publicados en los últimos congresos internacionales del sector y a
diversas revistas especializadas.
2.1. Clasificación
De entre todas las posibles clasificaciones de robots que existen y se han tenido en
cuenta en diversas publicaciones, a continuación se introduce una que no tiene pretensión de
ser exhaustiva, pero sí de ayudar en la exposición y en los objetivos del presente trabajo:
-
Robots industriales.
Robots en educación.
Robots de entretenimiento.
Robots para el cuidado de ancianos y enfermos.
Robots para tareas domésticas.
Robots militares.
2.2. Factores que promueven el avance
Antes de citar con ejemplos los últimos diseños en robótica se enumerarán algunos de
los factores determinantes que los han condicionado.
Factores socio-económicos:
-
-
eliminación de mano de obra en los procesos productivos[4] , tanto desde el punto de
vista de abaratamiento de costes de producción como para la realización de trabajos
con riesgo. Este factor incluiría algún tipo de robot militar[13] , como se indicará en el
siguiente apartado,
el envejecimiento de la población. Este factor es determinante al menos en los países
industrializados y precisamente en los países más avanzados en robótica como Japón,
Alemania, Italia, ... El desarrollo de robots para la asistencia de ancianos es crucial para
estas sociedades envejecidas([1] [8] [9] [12]) .
Factores tecnológicos:
-
-
-
avances en inteligencia artificial, sobre todo basándose en el gran crecimiento que ha
habido en los últimos años en la creación de grandes volúmenes de información, en la
interconectividad y en las iniciativas "Open-Source"([17] [20] [44] [57]),
desarrollos en nanotecnología, que permiten la investigación en nuevos elementos
sensores que potencian la aparición de diseños basados en la naturaleza ([15] [16] [26]
[55]),
avances en neurociencia, abriendo un camino directo en la interfaz de comunicación
entre humanos y robots ([39] [70] [71]),
impresión 3D, este factor unido a iniciativas "Open-Source", puede favorecer el
despegue en el número de robots presentes en la sociedad. El hecho de poder
Página 21 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
imprimirse un robot propio basado en diseños abiertos y luego la personalización de
los servicios que prestará este robot, plantea una perspectiva presente, hasta ahora,
solo en las novelas de ciencia ficción([72] [120]).
Otros:
-
-
-
el accidente en la central nuclear de Fukushima en Japón, país más desarrollado en lo
que a robótica se refiere, demostró como la aplicación de la robótica en la realización
de tareas clave en situaciones de emergencia y en entornos tan peligrosos para los
humanos, todavía está lejos de ser prioritaria, frente a su utilización en otros campos.
Esto supuso una dura crítica para la industria japonesa, de hecho los primeros robots
en explorar la zona contaminada fueron de fabricación estadounidense. Sin embargo,
esta calamidad ha servido de acicate para acelerar las actividades de investigación y
desarrollo de las que han surgido fabricantes y empresas fruto de la investigación ([3]),
relacionado con lo anterior, asistencia de los robots en situaciones de emergencia,
también existen competiciones de robots que fomentan la innovación, como por
ejemplo DARPA Robotics Challenge, de gran prestigio y con un cuantioso premio y a la
que optan tanto empresas consolidadas como nuevas surgidas de grupos
investigadores de universidades ([111]);
también es de destacar el interés de algunas empresas tecnológicas como Google en la
adquisición de empresas dedicadas a la robótica (ya van ocho en la actualidad). Uno de
los últimos ejemplos es la empresa SCHAFT(una empresa surgida de la universidad de
Tokio para poder presentarse al concurso), que ganó la primera fase del DARPA
Robotics Challenge en la última edición de 2013 ([111]).
2.3. Los robots que vienen
Aunando dos de los factores anteriormente mencionados de ahorro en mano de obra y
de trabajos penosos o que precisan un esfuerzo desproporcionado se puede citar el "LS3"
(robot mula) desarrollado por Boston Dynamics [13] .
Figura 1: Robot LS3 de Boston
Dynamics[26].
Figura 2: Robot LS3 demostración de
fuerza[26].
El objetivo del ejército americano es reducir el ratio denominado "tooth-to-tail" que
relaciona los miembros operativos con los miembros de apoyo. Una forma de ganar eficiencia
Página 22 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
y reducir el ratio consiste en utilizar robots de apoyo. El robot mula citado, sería un ejemplo,
así como otros tipos de vehículos autónomos para el transporte de suministros.
Otro ejemplo de cómo nuevas tecnologías se incluyen en los nuevos diseños es el
robot detector de minas desarrollado por la "Universidade de Coimbra"[14] . Los números
relacionados con los accidentes y las muertes producidos por las minas, así como la magnitud
de minas existentes son sobrecogedores. Según el autor, se estima que más de 20.000
personas mueren en accidentes relacionados con minas cada año. De las 110.000.000 millones
de minas activas actualmente, 100.000 explotan cada año, por humanos y ratas. A este ritmo
se tardaría como 1.000 años en deshacerse de ellas. El uso de robots para este trabajo es
idóneo.
Figura 3: Husky, robot detector de minas [14]
El trabajo realizado por el "Departamento de ingeniería eléctrica y computación" de la
Universidad de Coimbra, para conseguir las características deseadas de su robot, está
enfocado en las siguientes tres tareas:
-
Detección de las características del terreno (obstáculos y orografía).
Movimiento a través del terreno.
Utilización del vehículo para moverse dentro de la zona sospechosa con un
equipamiento de sensores para localizar las minas.
Husky, que así se llama el robot, es ideal para moverse en terrenos irregulares. Está
provisto de sensores de navegación y localización, de un brazo robotizado "2DOF" con un
detector de metales y un radar de penetración en la tierra. Además incluye sensores
complementarios que permiten una detección precisa de minas y un ratio muy bajo de errores
de detección. También se utiliza un sofisticado sistema de visión basado en la última
generación de algoritmos de percepción de nubes de puntos.
Otra de las características mencionadas como factores que caracterizan los nuevos
sistemas robóticos, también se ha tenido en cuenta en el diseño de Husky, la compatibilidad
con sistemas "open-source". Husky trabaja con ROS [17] , lo que le permite integrarse con
otros sensores y actuadores en el acto. En palabras de uno de los miembros: "Treinta minutos
después de sacar a Husky de su embalaje, ya puede ser "telemandado" desde el laboratorio".
Página 23 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
La naturaleza sigue siendo inspiración para nuevas generaciones de robots. Un
ejemplo es el robot basado en una musaraña realizado por el Laboratorio de Robótica de
Bristol[15] .
Figura 4: Robot musaraña con bigotes sensores[15]
Exclusivamente con el tacto es capaz de orientarse, pudiéndose utilizar para casos de
incendios donde el humo impide la visión, con objeto de diseñar rutas de escape para los
posibles humanos atrapados. Este diseño en particular es de hace algunos años y tiene el
inconveniente de que la mayor complejidad reside en la programación de los bigotes sensibles.
Estos inconvenientes se pueden subsanar con diseños que se están actualmente
desarrollando[16] . Basándose en nanotecnología se han conseguido desarrollar unos bigotes
sensores con una sensibilidad extrema. Según sus desarrolladores presentan grandes
deformaciones en respuesta a muy pequeñas presiones. Como prueba de lo dicho este grupo
de investigadores, monitorizaron de una forma exacta tanto en 2D como en 3D un flujo de
viento.
Figura 5: Detección de muy pequeñas presiones con bigotes sensores basados en nanotecnología[16] .
Página 24 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
En referencia a los robots industriales las nuevas tendencias apuntan a la flexibilidad
en la fabricación y el abaratamiento de los equipos. Los nuevo robots deben adaptarse y, de
alguna forma, colaborar con los humanos, haciendo que las parcelas de trabajo de unos y otros
coincidan. Un ejemplo de este tipo de robot flexible, colaborador y con la habilidad de
aprender es "Baxter" de Rethink Robotics.
A continuación se muestra una comparativa obtenida de la página web del producto
[4] donde se muestran las características diferenciadoras de Baxter frente al robot industrial
típico:
Figura 6: Típico Robot Industrial [4]
Robot industrial típico
Ultra-rápido con cargas pesadas
Diseñado para reemplazar a las personas
Bueno para volúmenes grandes, pequeña
variación en la fabricación
Caro
Peligroso
Difícil de programar e integrar
Figura 7: Robot industrial interactivo [4]
Baxter, el robot de producción interactivo
Cadencia humana, cargas ligeras
Diseñado para reemplazar tareas repetitivas
Buenos para volúmenes menores, gran
flexibilidad en la fabricación
Asequible
Seguro para trabajar cerca de las personas
Entrenamiento simple, integración limitada
Tabla 1: Comparativa entre tipos de robots industriales.
Otro ejemplo similar serían los modelos "UR5" y "UR10" de Universal Robots [18] . Se
trata de unos brazos robot capaces de levantar pesos de hasta 10 kg, lo cual los hace
adecuados para realizar tareas industriales con cierto requerimiento de potencia y fuerza. Sin
embargo, también son capaces de realizar tareas de gran precisión. Por ejemplo, en una
fábrica de motores de Wolkswagen en Alemania, un UR5 coloca las bujías de precalentamiento
(un elemento bastante delicado) en unos agujeros taladrados, en un lugar de difícil acceso.
Posteriormente un operario los apretará, mostrando otro caso de colaboración robot-humano.
Página 25 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
Figura 8: Brazos robóticos para producción flexible [18] .
En el manual de seguridad de este equipo se indica que es conforme con el estándar
EN ISO 10218-1:2006, lo cual indica que el robot puede trabajar como un robot de
colaboración (por ejemplo sin barreras entre el robot y el operario).
Otro ejemplo destacable es el robot MSR05 de Kawasaki [19] . Se trata de un brazo
robótico con siete grados de libertad, totalmente realizado en acero inoxidable. El hecho de
estar realizado en acero inoxidable permite su esterilización con vapor de peróxido de
hidrógeno (VHP resistant), haciéndolo idóneo para el desarrollo de medicamentos. Este diseño
permite a los laboratorios farmacéuticos realizar experimentos con elementos químicos
peligrosos en el descubrimiento de nuevos productos.
Figura 9: Robot MSR05, esterilizable con VHP [19] .
Página 26 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
El "Open-Source" es otra tendencia que está marcando diferencias. Ejemplos muy
populares de software serían Linux o Android. Lo que no es tan común, es el hardware "OpenSource". Actualmente y desde hace ya algunos años Arduino [20] está cambiando esta
situación de una forma muy simple: tarjetas baratas y accesibles, ya montadas o en kit de
montaje, con toda la especificación de su diseño. Arduino permite, a casi cualquiera,
desarrollar objetos y entornos interactivos. La comunidad de desarrolladores es muy grande,
estos colaboradores a su vez elaboran ejemplos, instrucciones, consejos, etc. con una filosofía
igualmente "Open-Source".
Figura 10: Placa Arduino [20]
El envejecimiento de la población es un hecho, más acentuado en los países
industrializados, se puede decir que los servicios robotizados para este sector de la población
jugarán un papel importante como apoyo a las tareas cotidianas.
Figura 11: Mapa conceptual del sistema PAMM [42].
Página 27 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
Muchos investigadores han desarrollado sistemas para apoyo de mayores desde
puntos de vista físicos y mentales. Por ejemplo, desde el punto de vista de asistencia
"Dubowsky et al." han desarrollado un sistema de ayuda robotizado que permite la mobilidad
de mayores así como de su monitorización PAMM (A Personal Aid for Mobility and Health
Monitoring)[42]. Desde el punto de vista del cuidado mental, un ejemplo es Paro, un robot
utilizado en residencias de ancianos, del que se darán más detalles más adelante.
Figura 12: Paro el robot terapéutico [29] .
No solo para mayores sino para minusválidos, sistemas como HAL de Cyberdyne [21] ,
pueden ser la solución para la movilidad. HAL es el primer robot "ponible" que recibe el
marcado CE. El nombre es el acrónimo de "Hybrid Assistive Limb" (Miembro híbrido de apoyo)
y se trata de una prótesis que reacciona a las necesidades del que la lleva puesta a través de
sensores capaces de detectar la señales enviadas por el cerebro al cuerpo y viceversa. Un
ordenador interpreta las intenciones de movimiento de la persona y, en función de éstas,
mueve las articulaciones del exoesqueleto en consecuencia.
Este robot está disponible en dos versiones: para todo el cuerpo y para la
extremidades inferiores, su peso es de 23 y 15 kg respectivamente. Este robot no solo está
pensado para su uso médico y para rehabilitación, también se encuentra en fase de
investigación y desarrollo su utilización para potenciar la fuerza realizada por el cuerpo. Esta
última funcionalidad podría utilizarse en trabajos que requieran mucha fuerza física (como
puede verse en la figura).
Página 28 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
Figura 13. Exoesqueleto integral de Cyberdyne [21] .
Siguiendo con los robots en medicina se puede citar el RP-VITA, es un robot para
presencia remota, que se está utilizando actualmente, en hospitales de Estados Unidos y
México. En la página web del fabricante [22] se pueden encontrar las características más
destacables del producto:
-
Capacidad para moverse autónomamente.
Un control rápido, fácil y remoto a través de la app "ControlStation App for iPad".
El sistema, basado en la nube, SureCONNECT, permite una conectividad fiable en
condiciones de red muy variables.
Cumple con las normas americanas relacionadas con artículos para el sector de la
salud (FDA y HIPAA).
Es escalable y actualizable, hace que la inversión sea segura como tecnología para la
telemedicina.
Figura 14: Telemedicina [22].
Página 29 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
Anteriormente se nombró Arduino como ejemplo de las iniciativas "Open-Source",
pero no es la única. Intel con su "21st Century Robot", de Brian David Jonhson, añade a la
iniciativa "Open-Source", la impresión en 3D. Jimmy, que así se llama el robot, ee espera que
esté disponible en Mayo de 2014, tanto el software como los archivos necesarios para la
impresión 3D serán "Open-Source", de este modo según el creador, todas las posibilidades del
robot estarán al alcance de quienquiera. También el "cerebro del robot" está basado en una
app, de modo que cualquiera podrá escribir nuevas funcionalidades o "bajárselas" al suyo.
Figura 15: Manifiesto robot del siglo 21 [23] .
Otro humanoide basado en "Open-Source" es iCub [24] . Este robot se ha desarrollado
para conseguir una única meta: la investigación en el conocimiento humano y en la inteligencia
artificial. Esta plataforma de conocimiento ha sido fundada por la Comisión Europea dentro del
programa "Sistemas de conocimientos y Robótica"(Cognitive Systems and Robotics program).
El planteamiento de la investigación en conocimiento de este robot, es totalmente interactiva
con humanos, como lo haría un bebé. Para ello incluye 53 motores, tiene la capacidad de
detectar la posición del cuerpo y el movimiento, utilizando acelerómetros y giroscopios y está
desarrollando capacidades táctiles.
Actualmente, iCub puede gatear, resolver puzzles 3D, disparar flechas, coger pequeños
objetos y más. También sus progresos en su cerebro artificial le permiten progresar en su
lenguaje y mejorar su percepción visual.
Página 30 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
Figura 16: Robot humanoide iCub [24] .
Figura 17: Robot humanoide iCub [24] .
Para finalizar esta enumeración de robots habría que nombrar al, posiblemente, más
avanzado y mediático: ASIMO de Honda. Este robot surgió en el 2000 y desde este año viene
creciendo y sofisticándose, siendo ahora el robot humanoide más parecido a un ser humano,
no tanto en lo físico, si nos referimos a su apariencia, como en su comportamiento, autonomía
de acción y capacidad de aprendizaje. Para resumir solo algunas de sus características más
destacables se mencionarán las siguientes, aunque en su portal de internet se puede consultar
todo lo relativo a ASIMO, así como su evolución desde su nacimiento [48]:
-
-
una capacidad de equilibrio sobresaliente para mantener la postura, que
reacciona ante cualquier desequilibrio instantáneamente;
reconocimiento de su entorno, lo cual le permite integrar gran cantidad de
información, como los movimientos de la personas a su alrededor, a través de
múltiples sensores, con lo cual es capaz de percibir cualquier cambio que
ocurra;
tiene la capacidad de generar un comportamiento autónomo, lo cual le
permite actuar sin ser controlado por un operador, haciendo predicciones y
gestionando la información que haya adquirido
Figura 18: ASIMO un robot sociable[48].
Página 31 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
2.4. Robótica en España
Puede decirse que España se encuentra en el ranking de países destacados en el
desarrollo de la robótica, en particular en Europa estaría detrás de Alemania, Italia y Francia.
Sin embargo, y como se pondrá de manifiesto en este apartado, la faceta más sobresaliente es
la investigación, con numerosos proyectos de I+D. Por contra en la industria, salvo los robots
clásicos de producción masiva de las grandes, como la automovilística, no hay el mismo
interés. Esta falta de interés se manifiesta también en los inversores privados, con lo cual la
comercialización de otro tipo de robots fruto de la investigación también es baja.
A continuación se presentarán ejemplos de robots desarrollados en España, primero
los desarrollados en universidades y luego ejemplos de algunas empresas españolas, que como
se verá, la mayoría, también son spin-offs de determinados departamentos de universidad.
En el ámbito universitario se puede citar la Universidad Carlos III de Madrid con
desarrollos como los humanoides "Maggie" y "UC3M" o el brazo mecánico "Asibot" para
asistencia a personas discapacitadas.
"Maggie" es un robot social personal que forma parte de una plataforma de
investigación que estudia la interacción entre humanos y robots además de la inteligencia
robótica y la autonomía.
Figura 19: Maggie Universidad Carlos III
"Maggie" mide 1,4 m, puede mover el cuerpo, los brazos, la cabeza y los ojos; puede
hablar y reconocer la voz. Tiene una gran variedad de sensores: Infrarrojos, US y laser range
finders, cámaras de televisión y sensores táctiles en el cuerpo.
Este robot permite comunicarse con él mediante la voz, a través de gestos o
tocándolo. Además tiene una pantalla táctil en el pecho. Es capaz, a través de su conexión a
internet, de dar las últimas noticias, informar sobre el tiempo, o distinguir, mediante un lector
de infrarrojos, los distintos medicamentos y su composición y uso [30] .
"Asibot" es otro robot desarrollado por la Universidad Carlos III. Se trata de un brazo
robot portátil para ayudar a personas mayores o con discapacidad en tareas diarias como:
Página 32 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
comer, beber, afeitarse, maquillarse, lavarse los dientes, ... Este robot está siendo probado en
el Hospital Nacional de Parapléjicos de Toledo.
Sus características técnicas resumidas son: cinco grados de libertad, cerca de 10 kg de
peso, 1,3 metros de alcance y 2 kg de capacidad de carga. Una característica que lo hace único
es que todo el sistema de control está integrado en el robot. Necesita solamente una fuente
de alimentación externa de 24V para empezar a funcionar. Esta es la razón por la cual el robot
es totalmente portátil con un peso y unas dimensiones (después de embalado) que permite
que sea transportado, por ejemplo, en una maleta de mano en un avión. A continuación se
muestran tres imágenes del brazo robotizado, indicando cómo puede ser montado en una silla
de ruedas, un detalle del dispositivo de sujeción del extremo y su interacción con un paciente
[31] .
Figura 20: ASIBOT montado en una silla de
ruedas[31] [31]
Figura 21: Dispositivo de sujeción de
ASIBOT[31]
Figura 22: ASIBOT en acción[31]
Para terminar con la Universidad Carlos III, se hará referencia a otro robot humanoide,
el "UC3M". Se trata de un robot con 21 grados de libertad, capaz de caminar en distintos
entornos, interiores y exteriores y también capaz de cooperar con humanos y otros robots en
entornos de trabajo reales [32] .
Página 33 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
Figura 23: UC3M interior[32] .
Figura 24: UC3M exterior[32] .
Otra universidad española con proyectos de desarrollo de servicios robotizados es la
Universidad Politécnica de Cataluña de la cual solamente se citará el proyecto europeo URUS
coordinado por dicha universidad. "URUS" es el acrónimo de UBIQUITOUS NETWORKING
ROBOTICS IN URBAN SETTINGS, cuyo objetivo es la implantación de redes de robots para la
mejora de la seguridad y el tráfico en las ciudades [33] . Con este proyecto se pretende
desarrollar nuevos medios de cooperación entre redes de robots y humanos y con el entorno
en áreas urbanas, para acometer tareas que, de otro modo, serían muy complejas, llevarían
mucho tiempo o serían muy costosas. Por ejemplo, la cooperación entre robots y cámaras de
video pueden solucionar problemas de vigilancia o la cooperación entre robots y dispositivos
de comunicación wireless pueden ayudar a las personas de múltiples formas. En la página web
del proyecto [33] se resumen así los objetivos:
-
-
Un objetivo tecnológico y científico: desarrollar una arquitectura de red de
robots que aprenda y se adapte y que integre las siguientes funcionalidades:
 Localización y navegación cooperativa.
 Percepción del entorno cooperativa.
 Creación y actualización de mapas cooperativa.
 Interacción entre humanos y robots.
 Negociación multi-tarea.
 Comunicación Wireless con dispositivos portátiles, sensores en
diversas ubicaciones y otros robots
Un objetivo experimental: chequear la arquitectura de red de robots en dos
tareas a realizar en un entorno urbano:
 Guía y transporte de personas y mercancías.
 Vigilancia.
Página 34 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
En la Universidad de Barcelona se está desarrollando el proyecto en microrrobótica ISWARM. En este proyecto se pretende hacer que más de 100 microrrobots autónomos sean
capaces de realizar colectivamente diferentes tareas. Este objetivo pretende conseguirse con:
-
-
la aplicación de la inteligencia colectiva de dichos robots
 en términos de cooperación y
 percepción colectiva
 utilizando conocimiento y métodos de inteligencia pre-racional,
aprendizaje automático, inteligencia de enjambres y sistemas clásicos
multi-agente
el desarrollo de hardware avanzado de micro-robots
 siendo extremadamente pequeños (el tamaño de cada robot: 3x3x2
mm3)
 integrando nuevos actuadores para el movimiento, alimentados por
microcélulas solares y comunicación wireless miniaturizada
 con circuitos integrados para incorporar la inteligencia en el robot y
 con sensores y herramientas integradas para la manipulación de su
entorno
La aplicación prevista de estos microrrobots sería en el campo de la cirugía, la
medicina en general o la nanotecnología[34].
Figura 25: Microrrobot[34].
Figura 26: Microrrobots colaborando[34].
En el Departamento de Ingeniería de Sistemas y Automática de la Universidad de
Málaga se ha desarrollado el proyecto "ALACRANE", con el objeto de desarrollar nuevos
métodos y técnicas de asistencia en misiones de exploración, búsqueda y rescate con robots
móviles[38].
Página 35 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
Figura 27: Alacrane. Desarrollado en la Universidad de Málaga [38].
En cuanto a empresas en el sector de la robótica se puede citar PAL Robotics de
Barcelona. Tal y como puede leerse en la página web de la empresa, su objeto es la fabricación
de robots humanoides de servicios, para su integración en el día a día de los humanos [35].
El modelo REEM-C, que se muestra en la siguiente figura, donde aparecen también
algunas de sus especificaciones, sería un ejemplo de los productos desarrollados por esta
empresa.
Figura 28: REEM-C características [35].
Página 36 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
Robotnik es una empresa con sede en Valencia dedicada a robots móviles, brazos
robóticos y manipuladores. Esta empresa ha creado "Rescuer" y "Guardian", con fines de
seguridad, investigación y protección civil. Pueden subir y bajar escaleras, orientarse mediante
GPS y sortear objetos con sensores láser.
Figura 29: Guardian de Robotnik,
arquitectura ROS [36].
Figura 30: Guardian de Robotnik. Detalle
de su modularidad [36].
"Guardian" es un robot móvil con arquitectura modular, sus aplicaciones se pueden
resumir en [36]:
-
-
-
Científicas:
 Navegación en interiores y exteriores.
 Localización.
 Arquitecturas de software de control.
 Swarming.
Seguridad:
 Vigilancia.
 Medición remota.
Desactivación de explosivos:
 Búsqueda y desactivación de explosivos improvisados (IEDD).
 Desactivación de explosivos armamentísticos (EOD).
Cognitive Robots [37] es una spin-off de la Universidad Jaume I de Castellón. Esta
empresa ha conseguido incorporar un cerebro a vehículos conducidos manualmente. En base a
sistemas software, sensores y equipamiento adicional, esperan transformar fregadoras
industriales, aspiradoras domésticas y cortadoras de césped en robots completamente
autónomos.
BitBrain Technologies es otra spin-off, en este caso de la Universidad de Zaragoza
centrada en el desarrollo y comercialización de la tecnología de interfaz cerebro-computador.
Actualmente se podría decir que no está relacionada directamente con la robótica, sin
Página 37 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
embargo el producto en el que investigan y con el que trabajan tiene un gran potencial de
aplicación[39].
Básicamente BitBrain se dedica a las siguientes tres labores:
-
-
Desarrollo de hardware para recoger la actividad cerebral en forma de señales
eléctricas.
Tratar esa señal para extraer información cognitiva, motora y emocional, por
ejemplo: si se está prestando atención a algo, si se activa la memoria, si un
estímulo es positivo y negativo, si se quiere mover un brazo o una pierna,...
Desarrollo de software para la monitorización de la información obtenida.
Otra empresa española cuyo producto incide en la inteligencia artificial y en la
adquisición de conocimiento de los robots es Aisoy Robotics [46]. Uno de sus productos es
"Aisoy 1", diseñado para tener diálogos relativamente fluidos y coherentes tanto con personas
como con otros robots. Este robot tiene capacidad de aprendizaje y no actúa de la misma
forma con dos personas con las que ha tenido un trato previo, por ejemplo, cuando se le ha
tratado con cariño y cuando no, tomando decisiones de forma semejante a como lo haría un
ser humano[47].
"Aisoy 1" está basado en Raspberry Pi y ROS, y se presenta como la plataforma
educativa para robótica social e inteligencia artificial más asequible del mercado.
Figura 31: Kit de montaje de Aisoy 1[46].
Figura 32: Robot Aisoy 1 [46].
Para finalizar con las empresas españolas de robots citar a Minirobots S.L., una
empresa fundada en 2008 en Bilbao. Su producto es el robot "mOway", diseñado para
aprender programación en el aula, para alumnos a partir de los 10 años. Las características del
robot se indican a continuación[40]:
-
PIC18F86J50 como microcontrolador principal.
Grupo motor con control de trayectoria comandado por I2C.
Sensores infrarrojos anticolisión.
Sensor de intensidad de luz direccional.
Sensores optorreflectivos infrarrojos para el suelo.
Indicador luminoso superior bicolor.
Led frontal.
Leds rojos traseros.
Página 38 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
-
Sensor de temperatura.
Acelerómetro de 3 ejes.
Micrófono.
Altavoz.
Bus de expansión SPI/I2C para tarjetas electrónicas.
Módulo de radiofrecuencia para comunicación inalámbrica.
Batería LI-PO recargable por USB.
Autonomía de 2 horas.
Preparado para robótica colaborativa.
Permite la programación gráfica basada en diagramas de flujo y también es
programable con Scratch.
Figura 33: Robot mOway equipado con una cámara[40].
Figura 34: Robot mOway en movimiento[41].
Página 39 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
2.5. Normalización
El escribir código para dar funcionalidades a un robot es una tarea compleja, un
planteamiento en el cual uno pretenda aprovecharse del trabajo ya hecho es algo que tiene
mucho sentido. Además una de las características de la robótica es la cantidad de disciplinas
distintas que aúna, por un lado software de alto nivel, mecánica, sensores, ... está claro que
una única entidad domine todas las facetas es algo muy difícil. Para salvar estas
complicaciones existen los denominados middlewares que proveen herramientas y utilidades
enfocadas a modelar y desarrollar entornos robotizados. A continuación se presentarán dos de
dichas plataformas y se nombrará una tercera que tiene la particularidad de estar desarrollada
en España por la Universidad Rey Juan Carlos.
ROS, acrónimo de Robot Operating System, es una infraestructura flexible para escribir
software para robots. Se trata de una colección de herramientas, bibliotecas y normas que
pretenden simplificar la tarea de crear software complejo y robusto para una gran variedad de
plataformas robóticas [17] .
La justificación de la aparición de ROS descansa en el hecho de que la creación de
software de propósito general para robots es una tarea costosa. Desde la perspectiva de un
robot, los problemas triviales para un humano se convierten en una maraña de instancias a
tareas y entornos variados. El manejar estas variaciones es tan complejo que una persona sola
, un laboratorio o una institución no puede hacerlo por sí mismos.
En consecuencia, ROS fomenta la creación de software para robots de una forma
colaborativa. Por ejemplo, un laboratorio puede tener expertos en mapear entornos dentro de
edificios, pudiendo contribuir a la creación de un sistema global de generar mapas. Otro grupo
puede tener expertos en la utilización de mapas para navegar y otro diferente puede haber
desarrollado un sistema de visión artificial para la identificación de pequeños objetos. ROS ha
sido específicamente desarrollado para que grupos como estos, colaboren y basen sus trabajos
en los trabajos de los otros.
A continuación, se indicarán algunos de los componentes del núcleo de ROS para dar
una idea de lo que se puede hacer con esta herramienta.
Componentes principales:
-
-
Infraestructura de comunicaciones. En el nivel más bajo de software, ROS
ofrece una interfaz para el intercambio de mensajes entre procesos.
Comúnmente esta interfaz de conoce como middleware. Dicho middleware
ofrece las siguientes funcionalidades:
 Publicación/subscripción anónima al envío de mensajes.
 Grabación y reproducción de mensajes.
 Solicitud/respuesta a llamadas a procedimientos remotos.
 Sistema distribuido de parámetros.
Características específicas para robótica.
 Definición de mensajes estándar para robots.
 Biblioteca de geometría de robots.
Página 40 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
-
 Lenguaje de descripción de robots.
 Llamadas a procedimientos remotos anticipables.
 Diagnóstico.
 Estimación de postura, localización, mapeado y navegación.
Herramientas.
 Herramientas para procesado de comandos.
 Rviz. Herramienta de propósito general para la visualización en 3-D de
datos obtenidos de sensores, descripción de robots, ...
 rqt. Una infraestructura para el desarrollo de interfaces gráficas
personalizadas para robots.
Para continuar con esta breve descripción del estándar ROS se nombrarán algunas de
las empresas e instituciones que han aceptado y utilizan este estándar:
-
Universidades americanas como: UC Berkeley, UT Austin, Oregon State,
Stantford (donde se gestó ROS), ...
Empresas. Algunas ya citadas en este trabajo como Rethink Robotics y
Robotnik.
Centros de desarrollo y tecnología como el de Bosch.
Para terminar, se puede destacar el último libro publicado en el entorno de ROS:
"Learning ROS for Robotics Programming", de los españoles Aaron Martínez y Enrique
Fernández. Este último trabaja en Pal-Robotics otra empresa citada en este trabajo.
Con un sitio web un poco menos amigable, está RTM, "Middleware for Robot
Technology". Esta plataforma está promovida por organizaciones oficiales de Japón como
NEDO (New Energy and Industrial Development Organization). Por resumir sería la plataforma
equivalente a ROS pero en Japón.
En el artículo "Prototype development of robot system using RT middleware and RSNP
network protocol"[43], se hace una exposición de la utilidad de RTM, que se aprovechará en
este trabajo para presentar dicha plataforma.
Como se ha dicho RTM fue desarrollado, como un proyecto nacional en Japón hace 10
años, con el objetivo de facilitar la construcción de sistemas robóticos y de reutilizar el
software para otros desarrolladores y usuarios de robots. Una vez que dicho proyecto se
finalizó, todo el material y la plataforma se ha abierto para cualquier usuario y puede
descargarse y consultarse en la web[44].
Siguiendo con el ejemplo de aplicación, se mostrará como se ha podido desarrollar un
sistema robotizado, consistente en una cámara motorizada para el seguimiento y
reconocimiento facial. Dicho proyecto se ha llevado a cabo de una forma sencilla por un
alumno recién graduado en un plazo de dos meses. El sistema está compuesto por los motores
de movimiento de la cámara, un sensor laser (LRF, laser range finder) y una cámara. El alumno
hizo la programación en el entorno de RTM y reutilizó el software realizado por otro instituto
para el reconocimiento facial. El laboratorio en el que se realizó la experiencia está
especializado en sistemas mecánicos, por lo cual el desarrollo del software específico para el
Página 41 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
reconocimiento facial es una tarea ardua y difícil. Por ello, la posibilidad de reutilización de
software es vital. Como resultado se obtuvo un robot cámara, capaz de seguir a las personas y
detectar la cara a través de la cámara. En las siguientes figuras se muestra el robot y el
esquema del sistema.
Figura 35: Cámara robotizada utilizando RTM[43].
Figura 36: Ejemplo de aplicación de RTC en el funcionamiento de la cámara[43].
Para redondear el proyecto y darle la característica de servicio al robot desarrollado, se
utilizó RSNP (Robot Service Network Protocol), para dotarlo de la posibilidad de teleoperación.
En la siguiente figura se muestra esquemáticamente el sistema desarrollado.
Página 42 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
Figura 37: Teleoperación utilizando Robot Service Network Protocol.
Para finalizar, en la siguiente figura, se muestra esquemáticamente la composición de
un robot, especificando sus módulos tomados del RTM y su capacidad comunicativa a través
de RSNP, dando lugar a un sistema completo con características colaborativas.
Figura 38: Sistema robótico modular colaborativo, basado en RTM y RSNP[43].
Como se ha dicho en la presentación de este apartado existe una plataforma
desarrollada en España, para el desarrollo de aplicaciones en robótica, visión por ordenador,
automatización del hogar o domótica y, en general, software relacionado con sensores,
actuadores y otros dispositivos inteligentes. Esta plataforma es JdeRobot, una iniciativa OpenSource.
Página 43 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
Al igual que los dos ejemplos anteriores, se pretende facilitar y simplificar el acceso a
dispositivos hardware para la creación de sus programas de control. Obtener la medida de un
sensor es tan simple como la llamada a una función e, igualmente, actuar sobre un motor se
conseguiría con la llamada a otra función. La plataforma se encargaría de que dichas llamadas
actúen remotamente sobre los componentes a los que estarían conectados el sensor o el
motor . Además la plataforma permite la simulación. En la actualidad según la información de
su sitio web, el sistemas es compatible con los siguientes robots y servicios[78]:
-
Sensores RGBD: Kinect de Microsoft, Asus Xtion.
El robot Pioneer de MobileRobotics Inc.
El robot Kobuki (TurtleBot) de Yujin Robot.
El robot humanoide Nao de Aldebaran.
El quadrotor ArDrone de Parrot.
Cámaras Firewire, USB, IP (como Axis).
La unidad Pantilt PTU-D46 de Directed Perception Inc.
Escáneres láser: LMS de SICK y URG de Hokuyo.
La cámara EVI PTZ de Sony.
Los simuladores Gazebo y Stage.
Wiimote.
Dispositivos domóticos basados en el estándar X10.
En concreto en robótica incluye varias herramientas de programación y bibliotecas:
-
Sistemas de monitorización y teleoperación para varios robots, sus sensores y
motores.
Un componente para la calibración de cámaras y una herramienta de
sintonización de filtros de color.
La herramienta "VisualHFSM" para la programación del comportamiento de
robots utilizando máquinas jerárquicas de estados finitos.
2.6. Instituciones de referencia en investigación en robótica
A continuación y para finalizar el estado del arte de la robótica, se dará un breve
repaso a algunas de las instituciones de referencia en proyectos de robótica, indicando los
proyectos en desarrollo.
Japón: Es el país que ocupa el primer puesto en investigación en robótica del mundo,
lo cual viene demostrado por la cantidad de instituciones de prestigio que se dedican a la
investigación en robótica. En “Robotics Research in Japan” [136], puede consultarse un
directorio de estas instituciones. A continuación se citan algunas de ellas:
La universidad de Tokio [137], con los siguientes laboratorios:
-
Ikuta: dedicado a la investigación en robótica médica.
Arai [138]: dedicado a la investigación en programación estratégica de
múltiples robots móviles, innovación en celdas de producción, servicio de
diseño en robótica.
Página 44 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
-
-
-
Ota [139]: dedicado a la investigación en sistemas de múltiples robots móviles,
diseño de sistemas para la manipulación en producción a gran escala, análisis
de la conducta humana.
Research Center for Advanced Science and Technology: dedicado a los robots
en el espacio, aprendizaje en robots móviles
Ishikawa Watanabe [140]: investigación en la teoría de fusión de sensores
(Sensor Fusion), en control dinámico de imágenes, en arquitectura de visión y
meta percepción.
nakamura-okada [141]: investigación en emulación del cerebro en el
procesado de información, robots médicos.
ura [142]: dedicado a la investigación en robots submarinos.
La universidad de Waseda, con los siguientes laboratorios:
-
Matsumaru [143]: investigación en bio-robótica y mecatrónica humana.
Takanishi [144]: investigación en robots humanoides.
Sugano [145]: investigación en comunicación humano-robot, creación de
inteligencia y emociones en robots.
Shuji Hashimoto [146]: investigación en procesado de imágenes, redes
neuronales, robótica química.
El instituto de Robots Humanoides (Humanoid Robotics Institute)[147],
dedicado a la investigación en creación de emociones en robots humanoides,
tele-robótica, comunicación no verbal con robots, integración de mecanismos
físicos y psicológicos.
La universidad de Nagoya, con los siguientes laboratorios:
-
-
Ohka [162]: dedicado a la investigación en sensores táctiles, en tres áreas:
sensores para robots, realidad virtual y psicofísica.
Doki [163]: sus áreas de desarrollo en el entorno de la coexistencia entre
robots y humanos son:
 movimiento, análisis del movimiento de sistema controlado y
desarrollo de las técnicas de control más adecuadas para él;
 emoción, desarrollo de técnicas para entender las intenciones y
emociones de los humanos y la forma en que los robots demuestran
las intenciones y emociones a los humanos;
 procesado de señales y símbolos, como base de la tecnología para el
control de movimientos y emociones.
Fukuda-Vachkov [164] : sus áreas de investigación son el los micronano robots,
en sistemas de inteligencia y en sistemas autónomos distribuidos.
Estados Unidos: Se trata de otro de los países puntero en la investigación en robótica,
a continuación se nombran algunas de las instituciones destacadas en este sector:
-
MIT [148]: En este enlace se puede consultar el boletín de proyectos de varios
de los laboratorios del MIT, en total son 388 proyectos. Estos proyectos se
financian y organizan de diversos modos: mediante patrocinadores,
Página 45 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
-
-
-
-
cooperación interdisciplinaria entre laboratorios, programas de investigación
comunes y iniciativas en general.
Carnegie Mellon [149]: En la actualidad se están desarrollando muchos
proyectos, que se pueden consultar en la referencia anterior, a continuación se
enumerará alguno de ellos:
 Mejoras en los sistemas de navegación de vehículos terrestres de
exploración espacial.
 Organización y adaptación de equipos formados por humanos y robots
para la realización de tareas conjuntas.
 Sistemas para evitar colisiones en robot aéreos.
 Sense and avoid for unmanned aerial vehicles.
Universidad de Pennsylvania [150]: En esta universidad está el laboratorio
GRASP (General Robotics, Automation, Sensing and Perception), alguno de los
proyectos que se están desarrollando actualmente son:
 Vehículos aéreos autónomos. Este estudio se realiza en colaboración
entre alumnos de la universidad y expertos de empresas.
 Percepción, planificación, movilidad e interacción para la nueva
generación de robots. Financiado por la National Science Foundation
(NSF).
 Planificación del movimiento para plataformas móviles con capacidad
de manipular objetos. Este proyecto se realiza en colaboración con la
empresa Willow Garage y pretende mejorar la autonomía de robots
móviles en espacios con muchos objetos y con puertas.
 Cámaras inteligentes. Desarrollo de redes de cámaras inteligentes para
modelado de entornos, construcción de modelos 3D y vigilancia.
Universidad de Texas [151]: En la escuela de ingeniería Cockrell de esta
universidad, en el departamento de ingeniería mecánica, se desarrollan varios
proyectos en el campo de la robótica. En particular:
 Estudios en biomecánica, diseño y fabricación de prótesis robóticas y
de sistemas para amplificar la fuerza humana.
 El laboratorio "The Human Centered Robotics Lab" colabora con otras
instituciones como NASA y DARPA (ya nombrada en este trabajo), en
el desarrollo de robots semiautónomos, para apoyo a humanos con
discapacidades. También se investiga en mejora de robots móviles en
la búsqueda de la movilidad en todas las direcciones.
Willow Garage [152]: Esta institución se encarga de desarrollar hardware y
software libre para aplicaciones en robótica personal. En este trabajo, en el
apartado de normalización, ya se ha hablado del middleware ROS (y se hablará
en apartados posteriores), esta institución es la responsable del desarrollo y
mantenimiento de esta plataforma. Las áreas de investigación son:
 Sujeción y manipulación de objetos por robots. Uno de los factores
que diferencia a un robot de un dispositivo basado en un ordenador es
la capacidad de interacción con el entorno, que puede suponer: coger
objetos, colocarlos, ensamblarlos, abrir puertas, llamar a un ascensor,
etc.
Página 46 de 143
ESTADO DEL ARTE DE LA ROBÓTICA




Interacción robot humano. En esta interacción existen muchos retos y
oportunidades para que sea segura, efectiva, aceptable e incluso
divertida.
Planificación de movimiento. En los entornos reales en los que debe
moverse un robot existen numerosos obstáculos. El robot debe ser
capaz de moverse por caminos que eviten colisiones.
Percepción en los robots. El comportamiento adecuado de un robot en
un determinado entorno y situación depende críticamente de una
percepción robusta, exacta y sincronizada.
Planificación de tareas. Se analizan las pautas para realizar tareas
desde la percepción del mundo y la manipulación de objetos.
Suiza: El "National Centre of Competence in Research (NCCR) Robotics"[130], es una
institución nacional que está compuesta de varios grupos de desarrollo a lo largo de Suiza con
el objetivo común de desarrollar nueva tecnología de robótica para apoyo a humanos. Su
slogan es "Intelligent Robots for Improving the Quality of Life".
Como instituciones punteras de desarrollo que forman los grupos de desarrollo están
EPLF (École polytechnique fédérale de Lausanne)[131], ETH Zurich[132], University of
Zurich[133] y Dalle Molle Institute for Artificial Intelligence[134].
En las últimas publicaciones de este centro de investigación están:
-
Investigación en la generación de mapas por robots móviles autónomos.
Incremento en la motivación para la rehabilitación con robots, basada en
juegos de competición y colaborativos.
Aprendizaje de programación a través de la robótica.
Página 47 de 143
ESTADO DEL ARTE DE LA ROBÓTICA
Página 48 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
3. Estado del Arte de la interacción social de robots con humanos
En el siguiente apartado se particularizará en el estado actual de la interacción social
entre robots y humanos. Para ello, se presentarán experimentos realizados en diversos
ámbitos, que han sido expuestos en conferencias internacionales recientes. También se hará
referencia a diversos productos comerciales que basan la interfaz de comunicación entre
robots y humanos en una interacción social.
3.1. Sector industrial
El sector industrial es el sector donde, históricamente más se ha hecho uso de los
robots. El común denominador de este tipo de robots es el de un robot confinado en una zona
exclusiva, realizando tareas repetitivas a gran velocidad, generalmente en procesos
productivos de gran volumen. Anteriormente, en el apartado 2.3, se hizo una pequeña
comparativa entre los robots convencionales y los nuevos diseños, dando algunos ejemplos.
A continuación se darán algunas de las tendencias en los robots industriales modernos
y de futuro:
-
-
-
-
-
Precios más competitivos: actualmente los robots industriales son más
asequibles que en ningún momento pasado. Se han estandarizado y, fruto de
la producción a gran escala, han bajado de precio, con lo cual, a pesar de que
su demanda suba, el precio se puede mantener.
La integración de los robots es sencilla, con una tendencia absoluta a una
instalación "plug and play". Los accesorios, los modelos de robots y los
controladores están diseñados para comunicarse fácilmente entre ellos. Esta
compatibilidad hace que sea muy sencilla la creación de células de trabajo o
fabricación, flexibles y fiables.
Como ya se ha dicho, la estandarización, el hecho de que los diseños de robots
se hagan sobre una misma base, afecta positivamente al mercado, al tener la
posibilidad de acceder a series de robots (incluso de diferentes fabricantes)
prácticamente intercambiables.
Se ha incrementado notablemente la flexibilidad.
Mejora de la versatilidad con la posibilidad de intercambio de las herramientas
montadas en el extremo del brazo robotizado. Esta funcionalidad permite la
consolidación de la realización de tareas simultáneamente o progresivamente
a través de la posibilidad de utilizar herramientas muy especializadas como:
sistemas de sujeción, sistemas de vacío, husillos de alta velocidad de giro,
cilindros o taladros.
Tecnología de dos brazos. Un ejemplo de este tipo de equipos se ha dado en el
apartado anterior. Esta tecnología permite trabajar en escenarios de
producción donde se precise gran nivel de destreza y agilidad. La posibilidad de
programación dual para, por un lado trabajo colaborativo o, por otro, de forma
separada, hace que el rango de aplicación sea muy amplio en, por ejemplo,
líneas de ensamblaje, picking y carga.
Página 49 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
-
Visión artificial. La utilización de cámaras para guiado de robots a través de
visión artificial hace que las tareas de recoger y colocar distintos componentes
de diferente geometría, sea posible sin la necesidad de un cuidado especial en
la orientación de los componentes en los dispositivos de alimentación.
Además, en el caso de que en una misma línea de producción salgan diferentes
productos, la modificación del software (al cambiar de producto) puede
hacerse rápidamente, sin necesidad de ningún ajuste mecánico.
Figura 39: Interacción robot-humano en el entorno industrial.
Según lo expuesto, desde el punto de vista de la interacción social, habría que resaltar
el hecho de que estos robots están pensados para un trabajo en un entorno colaborativo y
cambiante. Esto obliga a modificaciones en los diseños como: mejoras en la percepción,
modificación de su infraestructura, trabajan al lado de los humanos, la posibilidad de impacto
es un riesgo grave que no se puede producir. El hecho de que la tarea cambie obliga a que las
interfaces de programación deban ser sencillas y asequibles, y no necesitar de un experto.
Otro punto de vista en el futuro de la robótica industrial es el aportado por la biónica,
aprender de la naturaleza. Festo una empresa puntera en automatización, tanto en el ámbito
industrial como en el de desarrollo de equipos didácticos, cuenta con una red de investigación
en la que participan universidades e institutos de investigación, así como empresas dedicadas
al desarrollo de nuevas tecnologías e inventores privados: la Bionic Learning Network[55]. Con
esta organización Festo pretende:
-
Establecer redes y motivar a personas de distintos sectores para que
desarrollen sus ideas con Festo.
Aprovechar las tendencias más actuales en investigación y desarrollo, y probar
nuevas tecnologías y métodos de fabricación con ellas.
Fomentar la creatividad en los procesos de búsqueda de soluciones e impulsar
el desarrollo previo de productos mediante la construcción de prototipos.
Página 50 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
-
Establecer un diálogo con los clientes y socios sobre las soluciones ofrecidas y
consultar la opinión del cliente sobre temas de innovación.
Visualizar de forma sencilla la competencia en materia de soluciones por parte
de Festo con el fin de entusiasmar a los jóvenes por la tecnología y encontrar
nuevos talentos.
Figura 40: Entusiasma a los jóvenes por la tecnología de forma divertida: RobotinoXt[55].
El planteamiento de Festo es directo: ya sea por eficiencia energética, construcción
ligera o integración de funciones: con el paso del tiempo, la naturaleza ha desarrollado
estrategias de optimización diferentes para la adaptación a su entorno que se pueden aplicar
al mundo de la tecnología.
De ahí que la Bionic Learning Network, desarrolle, pruebe y mejore productos,
sistemas y tecnologías mecatrónicos aprovechando las posibilidades que ofrece la biónica.
Biomechatronic Footprint documenta esta evolución: del modelo natural al principio técnico
básico a través de la adaptación biónica, llegando hasta la aplicación industrial.
Figura 41: Biomechatronic Footprint: partiendo del modelo natural, al objetivo de la aplicación industrial[55].
Página 51 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Otro de los conceptos que vale la pena destacar en los nuevos diseños de robot, es el
de la conducta colectiva, en concreto Festo en sus diseños también tiene en cuenta este
factor, como ejemplo está el AquaJelly 2.0.
Figura 42: Los AquaJellies demuestran como las acciones autónomas de los individuos pueden construir
un comportamiento colectivo[55].
Los AquaJellies están dotados de tres tipos diferentes sensores: de presión, radio e
infrarrojos. El medio de comunicación más utilizado entre ellos es el sistema basado en
infrarrojos. Cada AquaJelly tiene once diodos emisores de infrarrojos sujetos a un anillo en el
interior de su cabeza.
Utilizando estas señales infrarrojas, hasta una distancia de 80 centímetro, los
AquaJellies pueden, por ejemplo, maniobras evasivas efectivas si recibe la señal de otro que se
aproxima.
Para la comunicación con el usuario, los AquaJellies utilizan el sistema ZigBee[77], un
sistema eficiente desde el punto de vista energético. Este sistema envía la información en
tiempo real a través de un ordenador externo, que la publica en una WLAN utilizando una app
para androids. Además de los sensores que recogen información del entorno, este robot tiene
un sensor interno que monitoriza el consumo de energía y la que le resta. El sensor de presión
permite su posicionamiento en una zona específica de presión.
Cada AquaJelly decide de forma autónoma cual es su siguiente acción a realizar en
función del estado de su batería, de la orientación de su sistema de propulsión y, además, de
su proximidad a otro. La conducta general de un grupo de AquaJellies es contructiva, en el
sentido de que, sin un control sobre el grupo en general, a través de las acciones individuales,
surge un comportamiento global. Esto plantea un punto de partida y una inspiración para
otros desarrollos, como podría ser el estudio de los patrones de comportamiento de grupos.
Aplicando este principio al campo de la automatización, varios sistemas autónomos,
descentralizados podrían comunicarse para un propósito específico y juntos resolver tareas
complejas.
Página 52 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
En el apartado de la robótica en España ya se introdujo el concepto de "SWARM",
cuando se habló de los microrrobots, este concepto de inteligencia colectiva,
descentralización, sistemas auto-organizados, también se podría aplicar a lo que se acaba de
exponer de los AquaJellies de Festo. Se trata por tanto un término que designa un paradigma
novedoso de interacción social entre robots y humanos, y entre robots y otros robots.
Seguidamente se citarán otros dos proyectos que desarrollan e investigan en esta inteligencia
colectiva.
El primero de ellos es el proyecto TERMES desarrollado por Harvard[79]. Se trata de la
construcción de estructuras 3D por un colectivo de robots, con la capacidad de escalar,
inspirados en las termitas. Como se ve la inspiración en la naturaleza también está presente en
este proyecto.
Figura 43: El proyecto TERMES, "swarm intelligence"[79].
Este tipo de sistemas robotizado puede permitir la construcción de determinadas
estructuras en zonas donde pueda existir peligro o sean problemáticas para los humanos, por
ejemplo, zonas catastróficas o incluso entornos extraterrestres.
Página 53 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
En este proyecto se trata de poner de manifiesto como robots simples, independientes
con capacidades limitadas son capaces de hacer construcciones grandes y complejas utilizando
un tipo simple de estructura prefabricada (algo así como un ladrillo). Las capacidades que tiene
el robot son las siguientes: moverse hacia delante, hacia atrás, girar sobre sí mismo; subir y
bajar un escalón de la altura de un ladrillo; y coger un ladrillo, moverse con él y depositarlo en
frente a su misma altura. Pueden construir escaleras de ladrillos para acceder a niveles
superiores. Su capacidad sensorial está limitada a percibir ladrillos y otros robots que están a
su lado. Carece de información sobre el estado actual de la construcción y de lo que están
haciendo otros robots más distantes[80].
Para garantizar que se consigue el propósito deseado, las reglas que sigue el robot se
basan en la detección de ladrillos, como se ha explicado antes, y de una representación
estática interna de la estructura final deseada. En una compilación offline, esta información se
convierte en una serie de estructuras de caminos que van a seguir los robots. La única
referencia fija para los robots será un ladrillo considerado como semilla. En la siguiente figura
se muestran ejemplos de estructuras deseadas y su correspondientes "caminos de
construcción".
Figura 44: Estructuras y su "camino de construcción" correspondiente[80].
Página 54 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Cada robot repetirá la siguiente rutina: con un ladrillo, rodeará la estructura buscando
el ladrillo semilla, subirá a la estructura siguiendo uno de los caminos permitidos, manteniendo
la orientación respecto al ladrillo semilla, soltará el ladrillo en una posición vacía en función de
los requisitos geométricos de la estructura; seguirá el camino para salir de la estructura;
recogerá un nuevo ladrillo. Para más detalles de los algoritmos se pueden consultar el material
adicional disponible a partir de [80].
En resumen en esta experiencia se muestra un sistema de construcción por múltiples
robots donde se resuelve el problema de encontrar reglas de bajo nivel y simples que lleven a
la consecución de objetivos más complejos de alto nivel.
El segundo de los proyectos en la línea de la "swarm intelligence" es el desarrollado
por el MIT consistente en robots con forma de cubo que se auto-ensamblan. En este caso no
hay un ladrillo o estructura prefabricada que utilice el robot, sino que el mismo robot es parte
de la estructura.
Figura 45: M-Block, robot cubo desarrollado en el MIT [81].
La visión de los desarrolladores es conseguir que "enjambres" de robots puedan
reparar temporalmente puentes u otras estructuras dañadas en situaciones de emergencia o
que puedan construir y reestructurar andamios para proyectos de edificación. También
podrían configurar distintos tipos de mobiliario o equipamiento pesado cuando se necesite. Y
podrían, como en el caso de TERMES, ser utilizados en entornos hostiles o inaccesibles para los
humanos[81].
Para terminar exponer someramente el novedoso sistema de movimiento y
ensamblaje que tienen estos robots. Dentro de cada uno está montado un volante de inercia
que puede girar a 20.000 revoluciones por minuto, cuando este volante se frena, aplica un
momento angular al cubo. En los lados de los cubos y en sus caras, hay imanes permanentes
que permiten que un cubo quede unido solidariamente a otro. En la referencia [81] pueden
verse interesantes videos que muestran su funcionamiento.
Página 55 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
3.2. Educación
Los robots están considerados como una herramienta muy prometedora para su
utilización en educación. Es común, en enseñanzas básicamente técnicas, la utilización de
robots para reforzar el interés de los más jóvenes en la tecnología. Las cualidades más
destacables de los robots en este campo son: la fascinación que producen en los niños, atraen
su atención y los motivan y también permiten el desarrollo, de una forma eminentemente
práctica, de numerosas disciplinas [6] Ejemplos comerciales de este tipo de robots pueden ser:
-
-
-
Bee-bot, para niños muy pequeños con una interfaz de control
minimalista.
LEGO Mindstorms. Tiene una interfaz gráfica de programación, pero es
necesario que el niño sepa leer. Según la web de LEGO estaría indicado
para alumnos de ESO y Bachillerato [27].
LEGO WeDo, una versión más simple. Tiene unas posibilidades más
limitadas y está orientado a niños de entre 7 y 12 años [28]
La plataforma Arduino, presenta mucha flexibilidad, pero sería más
adecuada para bachillerato o la universidad. Es complejo y no estaría muy
adaptada para niños pequeños, salvo desarrollando unos ejercicios muy
específicos [20]
Thymio II es un pequeño robot móvil cuyo diseñado para niños. El robot
tiene comportamientos pre-programados para iniciarse y para usuarios
avanzados puede programarse con un lenguaje visual o incluso mediante
scripts.
En [6] puede consultarse el resultado de un interesante taller realizado con niños de
diversas edades desde 4 hasta 18, donde se muestra como con un único robot: Thymio II, se
desarrollan diversas actividades en función de distintas franjas de edad. Para ello se
aprovechan las distintas posibilidades de interacción con el robot: observación de sus
comportamientos preprogramados, interacción con la interfaz gráfica para realización de
ejercicios más complejos y, por último, el acceso a todas las funcionalidades del robot, para
realizar tareas más ambiciosas, a través de la programación por medio de scripts.
Figura 46: El robot Thymio II [6] .
Página 56 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Otra variante de la utilización de la robótica en educación es la experiencia descrita en
[7] . Frente a lo comentado anteriormente, en este caso se plantea el aprendizaje desde la
primera fase, es decir, el diseño de la propia morfología del robot. La pretensión es conseguir
que el diseño de la morfología del robot sea la que propicie la consecución de la tarea frente a
la programación.
Esta experiencia está enfocada a estudiantes de nivel de estudios elevado:
universitarios, doctorandos, profesores,... Huyendo de los kits disponibles en el mercado,
como los mencionados antes, por diversos motivos: alto precio del kit, deterioro de los
componentes al montar y desmontar varias veces, poca flexibilidad para incluir componentes
que no sean del propio kit, ..., se utilizaron los componentes mostrados en la figura.
Figura 47: Kit práctico de robótica: Pistola de encolar, barras de cola, placa electrónica EmbedIT con una
batería LiPo y dos servomotores, bridas largas y cortas, cinta aislante y tijeras [7] .
La utilización de los elementos descritos, además de ser de bajo coste, permiten que
de una forma igualmente barata, se sustituyan e incluso se reutilicen sin ninguna pérdida de
funcionalidad. Además el hecho de utilizar barras de cola, hacen que la infraestructura del
robot sea blanda, otro de los objetivos del curriculum, que se podría resumir como un
aprendizaje en el movimiento de robots de cuerpo blando. En la siguiente figura se muestran
alguno de los resultados obtenidos en el curso.
Página 57 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Figura 48: Las morfologías mostradas se pueden clasificar en tres grupos: con ruedas (a, b), barras con
una masa frontal (c, d, f, g), sin miembros (e, h) [7] .
En la línea de estas experiencias, en las que se plantea rivalidad y pruebas a superar
para fomentar el aprendizaje basándose en la competitividad, están los robots utilizados en
competiciones como las de sigue-líneas, sumo (sumo-bots), ligas de fútbol.
En cuanto a los robots sigue-líneas se podría nombrar Thymio comentado en este
mismo apartado y mOway mostrado en el apartado de los diseños de robots hechos en
España. El principio de funcionamiento de estos robots sigue-líneas, suele ser el que son
capaces de diferenciar líneas de color sobre fondo blanco por contraste, basándose en
sensores ópticos infrarrojos (optoreflectivos infrarrojos) instalados en la parte inferior.
Hay varias universidades e instituciones que fomentan este tipo de competiciones, en
[115] pueden encontrarse numerosos vínculos a competiciones internacionales.
En este tipo de encuentros se fomenta la divulgación de la ciencia y la tecnología.
Suelen ir acompañados de la organización de conferencias y talleres, enfocados a que los
asistentes tengan la posibilidad de construir y programar su propio robot. En la siguiente figura
se muestra una imagen de un sumo-bot, perteneciente al equipo campeón, en el momento en
que se escribe, en la liga nacional de robótica.
Figura 49: Tercera generación de sumo. Diseño con cuatro motores [116].
Página 58 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
3.3. Entretenimiento
El uso de robots para el entretenimiento ha demostrado su popularidad en los últimos
años, desde la aparición del primer robot de entretenimiento para el hogar en 1999: AIBO de
Sony [117]. En la siguiente figura se muestra el modelo ERS-110.
Figura 50: AIBO de Sony, especificaciones del modelo ERS-110[117].
Este tipo de robots presenta las siguientes características generales:
-
-
-
-
Una arquitectura basada en el comportamiento. Para evitar que el usuario se
aburra rápidamente del robot, presenta numerosas pautas de
comportamiento distintas. Estas pautas o módulos de comportamiento son
desencadenados por distintas acciones realizadas sobre el robot, detectadas
por sus sensores.
Aleatoriedad. Cada módulo de comportamiento consta de una máquina de
estados finita, para ejecutar la acción en su contexto. Esta máquina de estados
finitos se implementa de forma, que se puede añadir cierta aleatoriedad a la
acción generada. Por ejemplo, si el robot se encuentra con una pelota rosa, la
máquina de estados puede determinar con una probabilidad de 0,4 el darle
una patada y con una probabilidad de 0,6, empujarla simplemente. De este
modo se generan distintos comportamientos ante un mismo estímulo.
Instintos y emociones. La simulación de instintos y emociones genera
motivaciones para los módulos de comportamiento. Un ejemplo de distintas
emociones, basadas en el estudio de las expresiones faciales, son: felicidad,
aburrimiento, enfado, disgusto, sorpresa y miedo. Estas emociones se asignan
a ecuaciones que gobiernan sus cambios, cambios motivados por los estímulos
externos y por los instintos.
Capacidad de aprendizaje. Se suele implementar la capacidad de aprendizaje
por refuerzo. Por ejemplo, si una respuesta a un estímulo, se refuerza con una
conducta positiva (una caricia), esta respuesta sube su probabilidad de
ocurrencia frente a otras.
Página 59 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
-
-
Progreso. El progreso puede definirse como el cambio lento de las tendencias
en la conducta del robot. Dado que la conducta se representa como una
máquina de estados finitos, con una probabilidad cambiante asociada a las
transiciones entre estados, es directa su traducción a una estructura en forma
de grafo. Cambiando la estructura del grafo, se pueden desencadenar cambios
en las respuestas. De este modo, en la vida del robot se pueden observar
cambios discontinuos en su conducta.
Variedad de movimientos. El robot puede responder con una gran variedad de
movimientos, sonidos, leds, para enriquecer y dar variedad a sus
comportamientos.
Otro ejemplo en la línea de AIBO y también de Sony es QRIO. Del cual se darán algunas
características, pero hay que tener en cuenta que nunca llegó a comercializarse y se quedó en
el estado de prototipo. En este caso se trata de un robot humanoide. QRIO está compuesto
por 3 microprocesadores potentes, 38 motores, tres acelerómetros, dos cámaras (CCD) y siete
micrófonos. Puede oír, hablar, cantar, reconocer objetos y caras, andar, correr, bailar y coger
objetos. También puede levantarse del suelo cuando se cae[118].
Figura 51: Especificaciones básicas de QRIO[117].
Otro diseño no tan sofisticado como QRIO pero, por contra, con gran éxito en el
mercado es FURBY de Hasbro. Este robot definiría los robots para entretenimiento tipo
"juguete inteligente", y comparte las características generales citadas anteriormente para este
tipo de robots: capacidad de aprendizaje, capacidad de modificar sus expresiones faciales, ...
Página 60 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Figura 52: Furbies [119].
3.4. Ancianos y enfermos
En la sociedad actual, en prácticamente la totalidad de los países industrializados, el
envejecimiento de la población es un hecho. Uno de los problemas sociales más importantes a
resolver en esta sociedad envejecida, es el de incentivar la autonomía de las personas
mayores, especialmente de aquéllas que viven solas o las que requieren atención o cuidado.
En este contexto, los servicios robotizados, pueden suponer un gran apoyo para el cuidado de
las personas mayores, tanto desde el punto de vista de apoyo físico como mental.
Como se ha comentado en la anterior sección, existen diferentes robots tanto para
apoyo físico y mejora de la movilidad, como para apoyo mental.
Desde el punto de vista de la interacción social, el apoyo mental a los mayores
presenta un reto. En el apartado anterior se habló de "Paro" como un robot terapéutico, ahora
se comentará con un poco de detalle las características de dicho robot.
"Paro" tiene cinco clases de sensores: táctiles, de luz, percepción de sonido,
temperatura y de posición, con ello puede percibir a las personas y el entorno. Con el sensor
de luz, puede diferenciar entre un entorno luminoso y uno oscuro. Puede sentir si se le acaricia
o si se le pega, también si se ha cogido en brazos. Identifica la dirección de donde viene el
sonido y diversas palabras como su nombre, saludos y halagos.
"Paro" tiene la habilidad de aprender a comportarse del modo que el usuario prefiera
y también a responder a un nuevo nombre. Por ejemplo, si se le acaricia, recuerda la última
acción que ha hecho y la repetirá para que se le acaricie de nuevo. Si se le pega, recordará la
última acción y tratará de no repetirla.
En su interacción con las personas, responde como si estuviera vivo, moviendo su
cabeza y sus patas, emitiendo sonidos y comportándose según el patrón preferido del usuario.
También es capaz de imitar los sonidos que emite una cría de foca arpa real.
Con estas cualidades, los efectos obtenidos con su uso terapéutico han sido:
Página 61 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
-
Reducción del estrés de pacientes y cuidadores.
Estimulación de la interacción entre pacientes y cuidadores.
Efecto psicológico en pacientes, mejorando su relajación y motivación.
Mejoras en la sociabilidad de los pacientes, entre ellos y con los
cuidadores.
Desde el punto de vista de apoyo físico, los desarrollos en los denominados
exoesqueletos sería lo más destacable. Actualmente, hay varios tipos de exoesqueletos
desarrollados para diferentes aplicaciones, en la figura siguiente se muestran algunos de ellos.
Figura 53: (a) MIT exoesqueleto; (b) MindWalker; (c) Austin Exoesqueleto; (d) AlterG Pierna Biónica; (e)
Dispositivo de ayuda para caminar de Honda [1] .
El "MIT exoesqueleto", ha sido desarrollado en los laboratorios del MIT y el
movimiento es producido por un fluido magnético que cambia su viscosidad bajo los efectos
de la electricidad. "MindWalker", se ha desarrollado en la Universidad de Twente en Holanda e
incluye un "bio-sensor" basado en la captura de señales electroencefalográficas, es decir, en la
captura de la actividad bioeléctrica cerebral. El "Austin Exoesqueleto" de la Universidad de
Berkeley, se ha proyectado con el objetivo de unos bajos costes de producción para hacer el
sistema más asequible. Para ello se ha simplificado el diseño y su programación. La "Pierna
Biónica de AlterG" es una única pierna robótica utilizada para ayudar en sesiones de
rehabilitación. Dicha pierna ayuda a los pacientes en terapias basadas en sentarse y ponerse
de pie, caminar y subir y bajar escaleras. El "Dispositivo de ayuda para caminar de Honda",
como su nombre indica sirve para ayudar a las personas con problemas, a andar y a subir
escaleras. Lo más curioso es su diseño basado en una cadera artificial.
Estos diseños citados se usan básicamente como apoyo a procesos de rehabilitación,
de momento no pueden sustituir a la silla de ruedas como el dispositivo más usado para la vida
cotidiana. Sin embargo, es de esperar que el papel de estos diseños cambie y evolucione para
ser utilizado en todos los ámbitos de la vida de personas con movilidad reducida. Desde el
punto de vista clínico, la utilización de estos robots ofrece numerosas ventajas comparados
con los métodos tradicionales de rehabilitación. Con ellos, es posible realizar medidas
objetivas de los progresos conseguidos por el paciente, permitiendo la programación de
rutinas de entrenamiento personalizadas. Las trayectorias seguidas por el robot en cada paso
son muy precisas, conseguir repetir un movimiento correcto exactamente igual cada vez
resulta muy fácil. También, dependiendo de la estrategia del control, el sistema puede servir
Página 62 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
como un medio de rehabilitación en sí mismo y no solo un apoyo para caminar. Este tipo de
aplicación puede incluir una señal bioeléctrica para su funcionamiento, utilizando, por
ejemplo, señales electromiográficas (EMG) como el "Traje robot" HAL visto en el apartado 2.
Otra característica que tienen los exoesqueletos actuales es que requieren un
cuidadoso análisis clínico del paciente para definir correctamente las condiciones de uso. De
hecho, familiarizarse con el exoesqueleto requiere entrenamiento.
Está claro que desde un punto de vista fisiológico, una mayor movilidad supone
beneficios para la salud, reduciendo problemas típicos relacionados con el hecho de
permanecer sentado mucho tiempo, por ejemplo pérdida de masa ósea, problemas del tracto
urinario, escaras, diabetes y obesidad. Considerando aspectos psicológicos, el poder estar de
pie y andar mejora el bienestar y le da al enfermo una nueva perspectiva de la vida. Incluso el
uso de estos dispositivos en el día a día se puede incrementar la participación social del sujeto.
Yendo más allá, imaginando en un futuro que cualquiera podría utilizar un exoesqueleto,
simplemente para la realización de trabajos duros, manipulando cargas pesadas, no habría
diferencia entre las personas "normales" y discapacitados en las funciones motoras [1] .
Otro tipo de enfermedad que afecta a niños es el autismo, a continuación se expondrá
un ejemplo de aplicación de la robótica a niños este tipo de dolencia.
Los niños afectados por autismo se caracterizan por presentar déficits en tres áreas:
interacción social, habilidades para la comunicación y en conducta estereotipada. El autismo es
un tipo de deficiencia en el desarrollo de las capacidades cerebrales que no tiene cura y cuyo
porcentaje de casos está en aumento. Las terapias para el tratamiento de esta enfermedad
están enfocadas en conseguir que el comportamiento de las personas que lo sufren sea en
todo lo posible igual al de una persona normal. El tratamiento de la enfermedad es tanto más
eficiente cuanto antes se comience, siendo crucial hasta los seis años de edad.
En el contexto descrito, la utilización de robots para el tratamiento de la enfermedad
es un hecho, más en concreto los robots antropomorfos. La presencia de este tipo de robots
hace que los niños sean más cooperativos en actividades interactivas. En [2] se describe un
estudio realizado con niños autistas con el robot NAO [25] La utilización de este robot se
justifica por ser uno de los más avanzados y fáciles de programar las rutinas terapéuticas para
interactuar con niños autistas.
Figura 54: NAO en el tratamiento del autismo [25] .
Página 63 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Aunque no es el objetivo de este trabajo a continuación se reproducirán los módulos
programados en el robot para la realización del estudio, ya que permiten ejemplificar cuál es el
uso dado al robot y las tareas programadas:
- Módulo 1: Introducción a la interacción. NAO está quieto durante 45 segundos y
luego mueve la cabeza seguido de una pauta aleatoria de guiños de ojos.
- Módulo 2: NAO habla. Se trata de una comunicación unidireccional; del robot al niño.
- Módulo 3: NAO mueve los brazos. El robot extiende su brazo derecho y saluda, luego
hace los mismo con el izquierdo.
- Módulo 4: NAO reproduce canciones infantiles y guiña los ojos.
- Módulo 5: NAO reproduce canciones y mueve los brazos.
3.5. Tareas domésticas
En estos últimos años han proliferado en el mercado los robots dedicados a la
limpieza del suelo. Se trata de un aspirador capaz de recorrer la casa recogiendo el polvo y
salvando los obstáculos. La interfaz de usuario es un simple botón donde se conecta y él
mismo es capaz de volver a su puesto de recarga al final de su tarea. Un ejemplo de este tipo
de robots es Roomba[156].
Figura 55: Roomba, robot aspirador[156].
Otros tipos de robots similares son los que permiten cortar el césped y los dedicados a
la limpieza de piscinas como Ambrogio [157] o Dolphin [158] respectivamente.
Salvo estos tipos de robot descritos, la presencia de robots en el hogar es algo inusual,
sin embargo, el hecho de que las tareas domésticas sean en general repetitivas y algunas
incómodas sobre todo para personas de edad, hace que el uso de robots sea potencialmente
muy interesante. Igualmente sería atractivo para las empresas dado el gran mercado que
podrían representar.
Página 64 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Para ilustrar este apartado se comentará una experiencia llevada a cabo para la
realización de tareas domésticas y, lo que es más novedoso, basar la comunicación robothumano en el sentido común [5] .
Está claro que si estamos en el escenario de la vida cotidiana, el sentido común sería
clave para conseguir una comunicación adecuada entre un humano y un robot. Por ejemplo,
para la realización de una tarea tan común como recoger la mesa después de una comida,
supondría para un robot el conocimiento de un montón de información sobre objetos
cotidianos, humanos y del entorno del hogar. Hipotéticamente el robot se haría preguntas
como: ¿qué debo hacer?, ¿qué objetos debo recoger? o ¿a dónde hay que llevar esta taza
sucia?. Ante tal complejidad, un humano realizará esta tarea mucho más rápido de lo que lo
haría un robot. Esto se debe a que el robot no tiene el conocimiento, basado en el sentido
común, que tiene el humano para esta tarea tan típicamente cotidiana.
Una vez presentado el escenario y la situación a resolver, se plantea el reto de cómo
extraer y representar automáticamente el conocimiento del sentido común y de cómo usarlo
luego en robots que puedan realizar tareas domésticas.
Este reto se realizará en dos pasos. Primero, se utilizarán los datos extraídos de
"ConceptNet" y del motor de búsqueda de Google para darle atributos a los objetos. En
segundo lugar, se utilizarán técnicas de aprendizaje basadas en Redes Neuronales Artificiales
(ANN) y en Máquinas de Vector Soporte (SVM) para la clasificación de cada objeto en su clase
de objetos correspondiente. Las clases de objetos utilizadas en esta experiencia son: objetos
para lavar, objetos reutilizables y objetos para tirar a la basura. En la siguiente figura se
muestran dichas clases de objetos tal y como se han definido en [5]
Figura 56: Clasificación de objetos basada en sus propiedades.[5]
"ConceptNet" [45] es una base de datos de conocimiento con una estructura basada
en el sentido común. Contiene 24 relaciones para representar el conocimiento acerca de los
objetos. Por ejemplo, "IsA" (EsUn(a)) representa que tipo de objeto es. "HasA" (tiene un(a))
representa qué objetos tiene a su vez. "AtLocation" (Enlalocalización) describe la ubicación en
Página 65 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
la que se puede encontrar dicho objeto. "LocatedNear" (SituadoCerca) representa cerca de
dónde puede ser localizado el objeto, etc. En la siguiente figura se muestra la estructura de la
clasificación de tipo de objeto basada en ConceptNet4.
Figura 57: Clasificación de tipos de objetos basada en ConceptNet4 [5] .
Basándose en ConceptNet se obtendrán tres tipos de relaciones: Objeto-Lugar, ObjetoActividad y Objeto-Objeto. Como ejemplo para cuantificar estas relaciones se utiliza la
puntuación obtenida en ConceptNet, haciendo la consulta del objeto (oi) y el lugar (pi) con la
relación "AtLocation", como se muestra en la figura.
Figura 58: Construcción de la relación objeto-lugar[5]
De forma similar se construyen las otras relaciones citadas. Finalmente, basándose en
una clasificación con Máquina de Vector Soporte (SVM) se obtienen los siguientes resultados.
Tabla 2: Datos de relaciones obtenidos de ConceptNet4[5] .
Página 66 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Además de la extracción de información de ConceptNet en la misma experiencia
descrita también se ha utilizado la extracción de información de Internet, en particular del
motor de búsqueda de Google. La justificación que dan los autores es de sentido común
también, ya que Google tiene información de miles de millones de páginas web. Para la
extracción de información se define la "Normalized Google Distance (NGD)" (Distancia
normalizada en Google), de la siguiente forma: la NGD entre dos términos de búsqueda x e y
será:
𝑁𝐺𝐷 𝑥, 𝑦 =
𝑚𝑎𝑥 𝑙𝑜𝑔𝑓 𝑥 , 𝑙𝑜𝑔𝑓 𝑦 − 𝑙𝑜𝑔𝑓(𝑥, 𝑦)
𝑙𝑜𝑔𝑀 − 𝑚𝑖𝑛 𝑙𝑜𝑔𝑓 𝑥 , log⁡𝑓(𝑦)
siendo:
M: número total de páginas en las que Google ha buscado.
f(x) y f(y) es el número de páginas en las que aparecen los términos x e y
respectivamente.
f(x,y) es el número de páginas que devuelve el buscador para la búsqueda de ambos
términos x e y simultáneamente.
En la siguiente tabla se muestran los datos obtenidos en la investigación, comparando
las clasificaciones hechas basadas en ConceptNet y en Google y los resultados de clasificación
utilizando SVM o ANN.
Tabla 3: Comparación de lo obtenido en la clasificación "Tipo de Objeto".
Como se ve los resultados obtenidos son muy alentadores para la aplicación de estas
estrategias para la construcción de conocimiento basado en el sentido común. A continuación
se mostrará en una tabla los detalles de los resultados obtenidos:
Página 67 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Tabla 4: Detalles del resultado de la clasificación "tipo de objeto".
3.6. Entorno militar
La aplicación de la robótica en el sector militar es vital, ya que directamente puede
mejorar la seguridad de las personas y la seguridad de los países.
Anteriormente en este trabajo, se han comentado las características de algunos robots
utilizados en el entorno militar, como robots detectores de minas y robots de apoyo para
facilitar la logística. Para ahondar en este tema se pueden incluir los diseños utilizados para
reconocimiento y seguridad, su diseño genérico sería un robot móvil con dispositivos capaces
de obtener imágenes y sonido, y su denominación es de vehículo no tripulado: "unmanned
vehicle". Este tipo de vehículos se suele subdividir en función del medio para el que están
diseñados:
-
UGV: Unmanned ground vehicle, cuando el medio para el que han sido
diseñados es el terrestre;
UAV: Unmanned aerial vehicle, cuando son vehículos que vuelan, por ejemplo,
los drones;
UAV: Unmanned underwater vehicle, vehículos submarinos;
USV: Unmanned surface vehicles, vehículos marinos que van en superficie.
Un ejemplo del primer tipo de robots es el XM1216 fabricado por iRobot [93],
diseñado para operaciones militares en entornos urbanos, túneles, alcantarillas o conductos y
cuevas. Este robot concretaría un poco su denominación genérica a SUGV, añadiendo la S de
small, ya que se trata de un robot de pequeño tamaño.
Página 68 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Figura 59: XM1216 SUGV de iRobot[93].
En el momento en que se escribe, este robot está en fase de evaluación por el ejército
de los Estados Unidos (Army Evaluation Task Force) y se prevé que para el 2025 esté en
servicio en todas las brigadas de combate del ejército (US Army BCT). Las características que
presenta este robot son las siguientes:
-
Ligero, lo puede llevar un hombre, vacío pesa alrededor de 14,5kg. Y está
pensado para incluir distintos accesorios con una arquitectura "plug-and-play"
(obviamente estos accesorios incrementarían el peso de la unidad).
Figura 60: XM1216, el SUGV ligero[95].
-
-
-
Puede moverse a una velocidad de hasta 10 km/h, subir escaleras de 25 cm de
altura y obstáculos verticales de hasta 30 cm. Puede vadear hasta 15 cm de
profundidad.
Está alimentado por dos baterías permitiendo más de 6 horas de autonomía.
Leva cámaras térmicas de día y noche. Estas cámaras permiten la captura de
imágenes en blanco y negro durante la noche y en condiciones de niebla,
humo o de difícil visibilidad creadas en el campo de batalla.
Láser Range Finder. Con un rango de 1 km.
Un iluminador de infrarrojos.
Un GPS
Altavoces y un micrófono.
Página 69 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Algunos de los accesorios "plug-and-play":
-
-
Un brazo robotizado, con un extremo prensil y una cámara IP fija con gran
angular. El brazo puede levantar hasta 6,8 kg de peso. También admite la
transmisión de audio a través de la cámara IP.
Un sensor EO/IR (electro óptico e infrarrojos), que permite reconocer objetivos
localizados a una distancia máxima de 300m.
Para el control:
-
Se puede controlar remotamente con un Microsoft Xbox 360 gamepad, ver
Figura 61, con unos drivers especializados. También permite el control a través
de un pequeño HaWC (HArm's Way Controller), ver Figura 62, preferido en
entornos de combate.
Figura 61: Microsoft Xbox 360 GamePad
[95].
Figura 62: Harm's Way Controller[94].
Para visualización:
-
Un sistema de visualización y percepción de sonido: Tac-Eye, mostrado en la
siguiente figura.
Figura 63: Sistema de monitorización Tac-Eye[95].
Página 70 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Un ejemplo de vehículos aéreos no tripulados son los denominados drones. Estos
dispositivos vienen siendo utilizados en el sector militar para numerosas tareas, que pueden
resumirse en dos:
-
Reconocimiento y vigilancia.
Drones armados con misiles y bombas.
Actualmente, como consecuencia del desarrollo de este tipo de dispositivos,
inicialmente para el sector militar, en la actualidad se están expandiendo, de modo que ya son
utilizados frecuentemente en aplicaciones como [96]:
-
Reconocimiento arqueológico.
Estudio del medio ambiente y la meteorología: estudios de clima,
monitorización de tormentas, medida de glaciares, etc.
Seguridad en general: vigilancia y control de multitudes.
Lucha contra el fuego.
En salud, envío de suministros médicos. Por ejemplo, vacunas, desfibriladores
y otros suministros a zonas de difícil acceso o remotas.
Control de ganadería y agricultura. Dónde está el ganado y cómo va creciendo
el cereal.
Fotografía aérea.
Termografía. Inspección de sistemas solares, turbinas eólicas, líneas de alta
potencia, utilizando cámaras térmicas.
Un característica diferenciadora de los drones es su control, desde dos puntos de vista:
-
-
la distancia desde la que es controlado. Los drones utilizados en operaciones
militares como lucha contra el terrorismo, son capaces de actuar a mucho
kilómetros desde donde son controlados. En [108] se habla de la muerte de un
terrorista en Yemen por la acción de un dron norteamericano controlado
desde Nuevo Mexico. Este tipo de comunicaciones a tan larga distancia son
posibles sobre satélites;
el número de operadores que los controla. En general son dos aunque en
algunos caso pueden ser hasta tres. Uno se ocupa del pilotaje del dron y el
otro está pendiente de las imágenes e información que el dispositivo envía. En
la siguiente figura se muestra una cabina de control, que en poco se diferencia
de la cabina de control de un avión tripulado.
Página 71 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Figura 64: Control de un dron [109].
En cuanto a los denominados vehículos no tripulados de superficie, también se usan en
el sector militar generalmente con propósito de defensa. De los primeros diseños de este tipo
de vehículos fue el utilizado por organismo de defensa Israelí: Rafael Advanced Defense
Systems, en respuesta a las amenazas terroristas a recursos marítimos.
Este desarrollo en el sector militar ha llevado a su uso en otros sectores, por ejemplo
en oceanografía. También es de destacar el uso propuesto de vehículos marítimos de carga sin
tripulación. Aunque la tecnología para conseguirlo está lista, cuenta con la oposición de la
industria.
Este proyecto está liderado por el grupo de desarrollo Blue Ocean de Rolls-Royce y
pretende eliminar toda la infraestructura que llevan los barcos de carga, relacionada con la
tripulación: camarotes, calefacción y aire acondicionado, purificación de agua y su
almacenamientos, etc, además de todos los gastos en sueldos de la tripulación. Esto supondría
un 5% menos del peso total de la nave y un gasto de un 15% menos en combustible[110].
Para el control Rolls-Royce está creando un prototipo de sistema de visualización
basado en realidad virtual que permitiría que el capitán (o el que esté a cargo de la nave) un
ángulo de visión de 360⁰ desde un puente virtual. El capitán podría saltar de un puente virtual
a otro, consiguiendo en la teoría una supervisión remota de varios barcos a la vez.
Otra ventaja destacada es la eliminación de errores humanos (considerados como la
causa de la mayoría de los accidentes) y también la pérdida de interés por parte de los piratas
en el secuestro de este tipo de naves de carga.
Finalizando con esta división de vehículos en función del medio por el que transitan, se
pueden nombrar los vehículos submarinos. Una de las funciones fundamentales de este tipo
de robots es para la búsqueda y eliminación de minas submarinas. Además de esta función
militar, se están utilizando actualmente para fines civiles en la generación de mapas de suelo
marino, con el objetivo de realizar muestreo geológico y desarrollar respuestas rápidas a
eventos oceanográficos y geotérmicos.
Página 72 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Una iniciativa muy importante (ya citada en este trabajo), surgida también del sector
militar, que lidera el desarrollo de nuevos diseños de robots y mejoras en este campo es el
"DARPA (Defense Advanced Research Projects Agency) Robotic Challenge"[111]. Se trata de
una competición donde diseñadores de robots y de software rivalizan para desarrollar robots
capaces de asistir a los humanos en situaciones de desastre, ya sea natural o provocado por el
hombre. Está pensado para ser extremadamente difícil. Los equipos que participan,
representan a las organizaciones más avanzadas en el estudio de la robótica del mundo. Se
pretende que estas organizaciones colaboren e innoven en un corto intervalo de tiempo en el
desarrollo de hardware, software, sensores e interfaces hombre-máquina para control, que
permita a los robots conseguir superar las pruebas seleccionadas por DARPA, en función de su
importancia en la respuesta a desastres.
La final de este concurso está programada para finales de 2014, principios de 2015 y
requerirá que los robots consigan superar un circuito de pruebas físicas, con hándicaps en la
comunicación entre los robots y los que los controlan. El ganador se llevará un premio de 2
millones de dólares.
Como ya se ha comentado en las pruebas preliminares realizadas en diciembre de
2013, el equipo con mayor puntuación SCHAFT (empresa creada por investigadores de la
universidad de Tokio para poder participar en el reto), fue adquirido por Google, con lo cual
indica el interés que promueve esta iniciativa.
3.7. Computación Ubicua y Sistemas Robóticos en la Nube
En los apartados anteriores se ha dado un ejemplo de los últimos paradigmas en
interacción social entre humanos y robots, en este apartado se presentará un paradigma
genérico, aplicable a cualquier sector, que puede potenciar dicha interacción: la computación
ubicua.
A continuación se darán algunos aspectos relacionados con la computación ubicua[73]:
A. Interfaz natural: en los ejemplos descritos, ya se ha indicado esta tendencia de
cambio frente a los métodos típicos de interacción entre humanos y máquinas
en general a través del ratón y del teclado. El nuevo paradigma debe tender
hacia las distintas formas de comunicación que tiene los humanos entre sí: el
habla, la escritura, los gestos, las miradas, etc. Para alcanzar un sistema
perfecto de ubicuidad, todos estos medios deben ser utilizados y responder al
nombre de interfaces naturales.
B. Conciencia del entorno: los dispositivos que forman parte de la computación
ubicua deben tener la posibilidad de adaptarse por sí mismos a las necesidades
de los humanos, basándose en la información recogida del entorno físico y
computacional. Por ello el sistema ubicuo debe obtener conocimiento para
identificar el contexto actual y decidir qué hacer.
C. Captura automática y acceso: los humanos no pueden tomar nota o grabar
todo lo que sucede a su alrededor, perdiéndose en algunos casos información
importante. La computación ubicua provee herramientas que pueden grabar
Página 73 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
estos datos. Las aplicaciones pueden automatizar la captura de experiencias y
luego dar acceso a dichas experiencias más tarde.
Actualmente se puede decir que la robótica está teniendo su revolución ubicua, en la
siguiente tabla puede verse una comparativa entre los paradigmas de la robótica, el
supuestamente pasado y el presente y futuro.
Tabla 5: Comparativa entre robótica personal y robótica ubicua[73].
Como ejemplo de computación ubicua, puede mencionarse Rity, se trata de un
software robot autónomo. El programa puede transferirse entre robots y entre ordenadores.
Se puede cargar el solo en otro robot móvil, como por ejemplo en MyBot, un robot simple
utilizado para jugar en la "Robot-soccer association", una vez dentro de MyBot, puede
utilizarlo para interactuar con el medio y enviar información a su "máster" (Kim Jong-Hwan,
director del Robot Intelligence Technology Lab en el Institute of Advanced Science and
Technology de Corea). Si el robot pierde contacto con su "máster", utilizará las cámaras que
haya en el edificio para encontrarlo y luego se instalará en los ordenadores que estén al
alcance del máster listo para recibir instrucciones. Cuando se muestra en la pantalla de un
ordenador toma la forma de un cachorro de perro, como puede verse en la figura.
Página 74 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Figura 65: Las múltiples cara de Rity el robot software[74].
Uno de los retos a conseguir para materializar la computación ubicua, es el conseguir
que la programación se simplifique, para ello hay diversas iniciativas para su introducción en la
formación de los niños (alguna ya se ha comentado en apartados anteriores). Por ejemplo, se
puede citar LightUp, que permite crear circuitos electrónicos sin conocimientos teóricos,
estimulando el principio de "aprender haciendo". Este kit tiene compatibilidad con la placa
Arduino, con lo cual se puede programar rápidamente y construir circuitos interactivos.
Figura 66: Kit de LightUp[73].
También existen plataformas abiertas de programación sencillas como
"AppInventor"[75] creada en el MIT o "Scratch"[76], que permiten de una forma muy gráfica y
sin nociones de programación hacer proyectos interesantes como juegos.
Página 75 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Figura 67: Interfaz de trabajo de AppInventor[75].
Como se verá más adelante las plataformas Open-Source como Arduino y Raspberry Pi,
también promueven la ubicuidad, haciendo posible a bajo coste, la realización de prototipos y
sistemas robotizados. Su popularidad hace que aprender a utilizarlos, aprovechándose de las
experiencias de otros, sea fácil y su bajo coste hace que el margen de error y posibles fallos,
que incluso puedan destruir el aparato, sean asequibles.
Otro concepto actual que tendría su aplicación a la robótica es el de nube, en este caso
"Cloud Robotics". Este concepto establecería un escenario en el que diferentes tipos de robots
intercambiaran información para desarrollar nuevas capacidades, incluso en el caso de que
carecieran de sensores específicos. También se podrían realizar tareas complejas mediante la
cooperación entre múltiples robots. Un elemento fundamental para este sistema de "Cloud
Robotics" sería la obtención de datos de múltiples sensores.
En [82] se plantea la problemática y se dan soluciones para el diseño de un sistema
basado en la nube, que pone a disposición de diversos robots, información obtenida de
sensores y guardada en una base de datos. En la siguiente figura se muestra la infraestructura
propuesta.
Página 76 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
Figura 68: Infraestructura de los recursos en Cloud Robotics[82].
En la infraestructura mostrada hay tres entidades fundamentales: los robots cliente, la
base de datos y el llamado "Cloud Cluster Host". Los dos primeros no plantean ninguna duda,
el tercero sería el servidor encargado de la gestión del tráfico de datos entre la base de datos y
los robots cliente. Este servidor tendría dos funcionalidades: "Data Request Negotiator" que se
encargaría de la interfaz entre el robot y la base de datos, clasificando las peticiones y
satisfaciéndolas a diferentes precios, basándose en un determinado esquema de precios; y la
otra funcionalidad sería el "Resource Allocator" que accedería al centro de datos y gestionaría
cómo esos datos se sirven a los clientes (gestión de colas, almacenamiento intermedio para
consultas repetidas,...).
Más detalles técnicos sobre la implementación pueden obtenerse en [82], pero a
continuación se resumirá el diseño del experimento realizado, ya que da una idea de aplicación
de la "Cloud Robotics" a un caso concreto.
El sistema propuesto permite a dos robots, sin sensores láser 3D, trabajar en paralelo
para obtener mapas 3D, que han sido elaborados por otro robot. Los detalles son los
siguientes:
-
-
-
Se ha construido una base de datos que relaciones el mapa 3D y datos de
imágenes de una planta del edificio (ETH Zurich), datos obtenidos por el robot
con sensores láser 3D. Todos los datos pueden ser consultados (en
PostgreSQL), por cualquier usuario para obtener detalles de la estructura de la
planta del edificio.
Los robots clientes envían solicitudes para acceder a los mapas o a las
imágenes al host. Este host puede acceder a los datos para buscar las
información solicitada.
Cada solicitud se gestiona por el host en función de un algoritmo predefinido
de prioridad (parte de la investigación es la elaboración de un algoritmo que
Página 77 de 143
ESTADO DEL ARTE DE LA INTERACCIÓN SOCIAL DE ROBOTS CON HUMANOS
-
-
-
satisfaga las peticiones óptimamente, ya que los robots demandan
información en tiempo real).
Los mensajes con las solicitudes están de acuerdo con las definiciones
adoptadas de ROS (en este trabajo ya se ha hablado de ROS), por lo cual no se
traducirán: navigation odometry messages, navigation occupancy grids,
rosgraph logs, battery states, sonar arrays and slam gmapping entropies.
Se generan comandos SQL basados en el instante (timestamp) y el
identificador del solicitante, para acceder a los datos de la base de datos
relacional.
Para medir los resultados obtenidos en experimento se analiza el ratio tiempo
de respuesta (Time of Response; ToR), definido como el tiempo que transcurre
entre que se hace la petición de información y el tiempo en el que se reciben
los datos.
En los resultados obtenidos se pone de manifiesto como las solicitudes son satisfechas,
y el papel importante que juegan los métodos para ordenar cómo se responden dichas
solicitudes (scheduling method) y la gestión del búfer de información, ya que los robots
clientes pueden tener distintas capacidades para guardar y procesar datos, y la red tiene que
responder eficientemente a todos.
Página 78 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
4. Soluciones hardware/software libre.
En un apartado posterior, como conclusiones de este trabajo, se expondrán las
principales características hardware y software para el modelado de un hipotético robot para
su utilización en diversos sectores. Como preámbulo a este apartado, a continuación se hará
una exposición de las diferentes soluciones hardware/software existentes actualmente en el
mercado. Para dicha exposición se citarán algunas experiencias de diseños de componentes de
robots basados en las mismas.
4.1. Arduino
En un apartado anterior, al hablar del estado del arte de la robótica se habló de
Arduino en el contexto de Open-Source y, sobre todo, hardware libre, a continuación se
expondrán algunos casos concretos de soluciones basadas en Arduino, junto con la
justificación de la elección de dicha solución.
Arduino es una plataforma Open-Source para programación, basada en una tarjeta de
entrada y salida y un entorno de programación que implementa el lenguaje [49]. Alguna de las
características diferenciadoras que presenta son:
-
-
Arduino surge en el entorno de la educación, por lo cual es adecuado para
iniciarse y conseguir resultados rápidamente.
Se trata de un entorno multi-plataforma, que puede ejecutarse en Windows,
Macintosh y Linux.
Está basado en una interfaz de programación Open-Source.
Se programa a través de USB, lo cual se adapta perfectamente a los nuevos
ordenadores, frente a la utilización de puertos serie, ya en desuso.
Se trata, como ya se ha dicho antes, de hardware y software completamente
Open-Source. Se puede acceder a los circuitos electrónicos, adquirir los
componentes y montar la placa por uno mismo.
El hardware es barato, así como los componentes para reemplazar en caso de
averías.
Lo cual es muy importante, en esta sociedad de la información, hay una
comunidad muy activa de usuarios que ayudan y comparten software y
hardware por ellos desarrollado.
En la siguiente figura se muestra un dibujo de la placa Arduino uno y a continuación se
detallan las características hardware que presenta esta placa.
Página 79 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
Figura 69: Dibujo de la placa Arduino uno[49].
Los elementos que tiene la placa son los siguientes:
-
-
14 entradas/salidas digitales (pines 0-13), pueden ser entradas o salidas, se
caracterizarán a través del software.
6 entradas analógicas (pines 0-5), son entradas analógicas dedicadas. Pueden
tener valores analógicos (por ejemplo lecturas de tensión) y convertir estos
valores en un número entre 0 y 1023.
3 salidas analógicas (pines 9, 10, 11), realmente son tres de los pines digitales
mencionados anteriormente que pueden ser reasignados como salidas
analógicas (por ejemplo sirven para modulación PWM).
La placa puede ser alimentada a través de la conexión USB que tiene disponible.
También se puede alimentar por el conector de alimentación en corriente continua, para ello
se ha de indicar a través del jumper marcado con SV.
En cuanto al software, para programar al Arduino es necesario bajar el entorno de
programación llamado IDE (Integrated Development Environment) desde la web[20] . Desde el
entorno de programación se puede acceder a numerosos ejemplos que hacen más fácil
empezar a trabajar con la placa.
La programación se realiza en C++, aprovechándose de un sinfín de bibliotecas ya
desarrolladas que permiten la interacción con los elementos de la placa a través de funciones
muy simples. El lenguaje ensamblador del microprocesador es transparente al usuario, ya que
desde el entorno de programación, con la simple pulsación de un botón, el software compila y
hace la comprobación de errores a la vez que traduce el código para ser interpretado por el
microcontrolador.
Página 80 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
4.2. Arduino en la robótica
Existen muchas referencias en publicaciones recientes a soluciones basadas en
Arduino, en todas ellas se justifica su elección en base a alguna de las características
mencionadas en el apartado anterior.
Por ejemplo en el sector educacional se puede citar [50], donde se desarrolla un
sistema de control para un robot bípedo utilizando MATLAB y Arduino. La justificación de la
utilización de MATLAB se debe a que se trata de un software muy utilizado en educación en
todo el mundo. En este trabajo se utilizó como base un robot Bioloid, al que se le hicieron
ciertas modificaciones, entre ellas la placa Arduino Mega y sensores de fuerza en los pies,
como puede verse en la siguiente figura:
Figura 70: Robot Bioloid con sensores en los pies y Arduino Mega para el control de los servos[50].
La arquitectura hardware utilizada es la siguiente:
-
-
Como ya se ha dicho Arduino Mega como microcontrolador. Comparado con
otras placas tiene más entradas analógicas, permitiendo la conexión de
sensores analógicos de corriente como los ocho sensores de fuerza utilizados
en esta aplicación particular.
Servomotores AX-12, se trata de servomotores inteligentes ya que poseen su
propio microcontrolador. Este tipo de servos se pueden conectar en serie
entre ellos y ser controlados por el mismo protocolo a través de una única
línea serie. En la figura se muestra el esquema de la conexión.
Página 81 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
Figura 71: Esquema de la conexión serie de los servomotores a la placa Arduino Mega[50].
Un detalle a tener en cuenta es que, debido a que el objetivo es el
control del robot desde un ordenador, en la comunicación de los servos se han
utilizado dos puertos serie con diferente velocidad, algo que permite la placa
Arduino Mega. En concreto, se ha utilizado una conexión de 1 Mbps para el
control de los servos y otra de 9600 bps para la comunicación del robot con el
ordenador.
-
Sensores de fuerza. Se han utilizado para la medida de las fuerzas de contacto
con el suelo. Estos sensores se han conectado al puerto de entradas analógicas
utilizando un circuito divisor de tensión y, a través de Arduino, se obtienen las
lecturas en el ordenador, como puede verse en la figura:
Figura 72: Conexión de los sensores de fuerza al ordenador a través del puerto serie del Arduino[50].
La arquitectura software utilizada:
-
Para el control del movimiento se ha utilizado un programa en MATLAB
utilizando la toolbox de "Simulink" y la biblioteca para el control de los puertos
serie ("Serial Port Devices"). El programa de MATLAB envía los comandos al
Arduino que controla los servos y éste, a su vez, envía al ordenador las lecturas
Página 82 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
de los sensores para su análisis, lográndose la retroalimentación necesaria
para el control.
Figura 73: Lazo de control utilizando la comunicación serie de MATLAB para mover el robot y recibir la
retroalimentación de los sensores[50].
Relacionado con la aplicación de la robótica como apoyo a discapacitados o enfermos
se puede citar [51]. En este artículo se presenta cómo realizar un guante electrónico
(dataglove) de bajo coste.
Dado el gran impacto que tienen enfermedades como los derrames cerebrales en las
capacidades motoras de los que lo sobreviven, se plantea una nueva perspectiva en la terapia
de rehabilitación. De hecho el recuperar la movilidad de las manos es una de las prioridades en
las terapias de neuro-rehabilitación.
Junto a las técnicas convencionales, han empezado a surgir nuevos sistemas basados
en realidad virtual, que se presentan muy viables para la rehabilitación de supervivientes a
derrames cerebrales. Las ventajas que aportan estos sistemas son, por un lado, el entorno
seguro y controlado para la realización de las actividades de recuperación y, por otro, la
posibilidad de realizar estas tareas desde un enfoque más divertido y atractivo.
Estos sistemas basados en realidad virtual para la rehabilitación de las capacidades
motoras de las manos precisan dispositivos que capturen datos asociados al movimiento de las
manos. Para ello hay básicamente dos posibilidades: técnicas basadas en visión artificial o los
guantes electrónicos o "datagloves".
Los guantes electrónicos se usan comúnmente en sistemas de realidad virtual. Estos
guantes tienen una serie de sensores que capturan información dinámica y estática
relacionada con la mano y con los objetos que se pueden sujetar con la mano. En el mercado
hay diferentes tipos disponibles, en la siguiente tabla se citan algunos de los tenidos en cuenta
en la experiencia que se está citando. En particular se comparan varias opciones con el que se
ha utilizado, el guante NED.
Página 83 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
Tabla 6: Comparativa entre el guante NED y otras opciones comerciales[51].
El objetivo de la comparativa es el de buscar una solución que una el bajo coste junto
con la posibilidad de lograr un sistema multiplataforma, en ese sentido, la mayor parte de los
guantes comerciales solamente son compatibles con el sistema operativo Windows.
En las siguientes figuras se muestra el guante elegido y el detalle del circuito de
implementación. El diseño adoptado incluye cinco sensores para detectar el movimiento de los
dedos (detectan cómo se doblan), una unidad de medida 9DOF, un microprocesador "Arduino
uno", un cable USB y un guante de licra. Además de estos elementos, también se han incluido
dos actuadores piezoeléctricos para proporcionar feedback al usuario, en forma de vibración y
mediante la emisión de sonidos a diferentes frecuencias.
Figura 74: Detalle del circuito de conexión con el guante NED[51].
Página 84 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
Figura 75: Detalle del guante NED (NeuroErgoDesign) [51].
Para finalizar con el resumen de esta experiencia, que, como todas las citadas en este
trabajo, pretenden poder ser aprovechadas para inspirar otros diseños, se explicará
someramente el esquema software utilizado para la comunicación entre el guante y el sistema
de control.
El objetivo fue el de desarrollar un juego que permita al usuario interactuar de una
forma divertida. Este juego se hizo con el motor de juegos Unity [52]. En concreto el juego
consiste en el control interactivo de un arco, para lanzar flechas.
Figura 76: Juego controlado con el guante NED [51].
Basado en C#, se programó un script que escribe en el puerto serie, una secuencia de
los valores correspondientes a las lecturas analógicas de cada uno de los sensores de flexión
Página 85 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
de los dedos, seguido de los valores de inclinación, cabeceo y guiñada (términos más comunes
en inglés: roll, pitch y yaw) obtenidos del giroscopio de la unidad de medida inercial.
También en C#, se escribió otro script para controlar la conexión con el puerto serie
(COM). Durante la ejecución, se lee la información escrita en el puerto serie y, en base a estas
lecturas, gestionado por el script del juego, se interactúa con los elementos del mismo.
Siguiendo con los ejemplos de la aplicación de plataformas libres al diseño de robots,
se puede citar la referencia [53], donde se pretende desarrollar un sistema de "quadrotores" (
o quadricóptero, especie de helicóptero sustentado con cuatro rotores) con capacidad de
trabajo en grupo. Como en los casos anteriores, la prioridad por sistemas libres viene
determinado por el atractivo que supone el bajo coste y la posibilidad de hacer prototipos
rápidamente y con pequeño impacto económico en caso de fallo, posibilidad que siempre está
presente en el desarrollo de nueva tecnología.
Figura 77: Quadrotor con Arduino[53].
En el resumen de esta experiencia se obviarán los pasos seguidos para el diseño físico
del aparato y, por contra, se intentará detallar la arquitectura de control utilizada. La
comunicación entre el quadrotor y el ordenador se resolvió a través de radio control, para lo
cual se elaboró una interfaz de entre dicho radio control y la placa de desarrollo Arduino. Los
comandos de control se envían sobre un protocolo basado en PPM (Modulación por posición
de pulso).
Otra singularidad de este proyecto, es que se trata de una experiencia en sistemas
multiagente, el control central, por decirlo así, debe ocuparse de todo el grupo de
quadrotores. Cuando el Arduino se conecta al ordenador base, se inicia con un nombre de
dispositivo serie diferente, que tiene que ver con el orden en el que se conecta. Esto
representa un problema, ya que un error de identificación puede hacer que las órdenes de
control no vayan al dispositivo que se pretende, sino a otro quadrotor. Para evitar esta
situación se desarrolló una regla "udev" que funciona en Ubuntu 12.04 y con dispositivos
conectados a través de puertos serie[54]. Esta estructura permitió enlazar los dispositivos
Página 86 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
serie, con su Arduino correspondiente y el quadrotor correspondiente, creándose un sistema
único y consistente de localización.
En cuanto al software de control, se escribió en Python y C++ para Robot Operating
System (ROS) y en código para Matlab. En este proyecto se han aprovechado del valor añadido
de la utilización de un middleware de código abierto, como ya se ha comentado en este
trabajo, que representa ROS. Los componentes de ROS en el sistema se han utilizado para el
control de bajo nivel de velocidad y posición del quadrotor desde el ordenador. La
planificación de las trayectorias a seguir en los experimentos se escribió en Matlab. En la
siguiente figura se muestra el esquema de control, donde también se ve que la estrategia que
permite el control de posición y velocidad está basado en un sistema de captura de
movimiento "Vicon", permitiendo el control en bucle cerrado.
Figura 78: Flujo de datos en el software ROS[53].
ROS potencia la modularidad del sistema, ya que permite que las tareas se separen en
nodos. Estos nodos se encargan de interpretar la posición del quadrotor a través de los datos
obtenidos del sistema Vicon, procesar estos datos a través de un controlador en lazo cerrado,
generar las órdenes de salida adecuadas para la interfaz de los quadrotores e interpretar la
información de las trayectorias a seguir generadas en Matlab o desde un fichero. En las figuras
se muestran los esquemas de dichos nodos y su interfaz con Matlab.
Figura 79: Flujo de información entre Matlab y ROS[53].
Página 87 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
El nodo de comandos está pendiente de la comunicación serie con Arduino y el
quadrotor. Recibe un mensaje de control con los valores de inclinación, cabeceo, guiñada y
empuje.
El nodo de control se encarga, como su nombre indica, del control del quadrotor.
Recibe mensajes de la cámara (Vicon) con información de la posición y velocidad actual de
cada quadrotor. También recibe información de la posición, velocidad y aceleración deseadas
para el quadrotor. El mensaje de estado del quad contiene la información de la posición
deseada y de la posición real, además de datos sobre el desempeño del controlador.
El control del quadrotor durante un experimento consiste en pasar por diversas fases
de vuelo. Para controlar el dispositivo en cada fase se ha implementado una máquina de
estados finitos, que puede verse en la figura. Esta máquina permite solamente las transiciones
seguras entre estados. Esta transiciones seguras se basan en el sentido común, por ejemplo, el
quadrotor no puede despegar hasta que los motores estén en marcha y tampoco podrá apagar
los motores si no está en el suelo.
Figura 80: Máquina de estados del nodo de control [53].
Una transición importante a tener en cuenta es desde reposo (idle) hacia despegue
(takeoff). Esto requiere la comprobación de que el quadrotor está cerca de la situación
deseada de despegue, en caso contrario, se cancelará la operación. Esto es vital en el caso de
trabajar varios quadrotores a la vez, ya que sus trayectorias podrían interceptarse en el
despegue.
La interfaz entre ROS y Matlab ha sido posible a través del paquete puente IPC, que no
ha sido desarrollado por los autores de la experiencia, así como la interfaz con el sistema de
monitorización Vicon. Esto pone de manifiesto la ventaja de utilizar plataformas abiertas para
las arquitecturas software y hardware, ya que permiten utilizar herramientas muy potentes, ya
desarrolladas por expertos en el campo concreto.
Otro ejemplo curioso viene descrito en [56], donde se pretende realizar una especie de
traje inteligente para su utilización en una sala limpia donde se fabrican obleas
semiconductoras.
En ambientes altamente automatizados, las aplicaciones y los dispositivos desaparecen
en el entorno y los servicios cobran más y más importancia. Desde el punto de vista industrial
Página 88 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
cada vez tienen más interés los sistemas electrónicos de bajo coste como por ejemplo redes
ubicuas de sensores o, como en este caso, electrónica en tejidos inteligentes.
El experimento concreto se basó en diseñar, basándose en prototipos de bajo coste,
sistemas para actuar en caso de emergencia. Uno de los sistemas pretende llamar la atención
del trabajador que, por la característica de su trabajo, pudiera estar muy concentrado, para ser
evacuado o para transmitirle algún tipo de mensaje. El otro sistema se basa en la detección de
una concentración elevada de un hipotético gas venenoso. Este tipo de gases se usan
frecuentemente en industrial químicas o en las relacionadas con la fabricación de
componentes microelectrónicos.
Para el diseño del traje inteligente se utilizó la variante de Arduino, LilyPad. Este kit,
similar a una tela, permite iniciarse en el desarrollo de prototipos hardware suaves que se
puede vestir y otro tipo de dispositivos en telas a los que se pueden pegar distintos sensores y
actuadores. En la figura puede verse el prototipo basado en LilyPad, bautizado como "Nose
Strip", y con la función de detectar concentraciones peligrosas de gases y notificarlo al que lo
viste a través de LEDs, de vibración y sonido.
Figura 81: El prototipo Nose Strip para la detección de concentraciones de gases peligrosas[56].
El otro prototipo diseñado en la experiencia es el "Guide Buddy". Su objetivo es el de
servir de guía en situaciones de alerta, ayudando a encontrar el camino de evacuación. Para
ello se han dispuesto una serie de LEDs que son capaces de formar diferentes símbolos (por
ejemplo flechas, símbolos de alerta, ...:    ). Las placas electrónicas van dispuestas en el
pecho y en la espalda. Tiene sensores de movimiento en el sobaco que permiten que el que lo
vista, pueda cambiar de símbolos mediante gestos de su brazo (por ejemplo, al levantar el
brazo indicar una señal de atención). Este dispositivo puede ser controlado por el que lo lleva o
también controlarse remotamente desde una sistema global de seguridad.
Página 89 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
Figura 82: Prototipo "Guide Buddy"[56].
En resumen, esta experiencia muestra como el abaratamiento de los equipos
hardware, sobre todo los basados en plataformas abiertas, permiten el desarrollo rápido de
prototipos y cómo, con estos prototipos, se puede mejorar la seguridad, sin merma de la
productividad, en entornos industriales muy automatizados y con frecuentes cambios.
4.3. Raspberry Pi
Raspberry Pi es uno de los denominados ordenadores de placa reducida o placa única
(SBC : Single Board Computer) de bajo costo, desarrollado en Reino Unido por la Fundación
Raspberry Pi, con el objetivo de estimular la enseñanza de programación en las escuelas[57].
En el apartado anterior se comentó sobre Arduino, que básicamente es una placa de
desarrollo con un microcontrolador, Raspberry Pi es algo más, similar al contenido que tendría
un dispositivo móvil moderno. En la siguiente figura se muestran todas las partes de la placa y,
a continuación, se describen[58].
A. El procesador. Se trata de un chip de 32 bit basado en la arquitectura ARM11
de 700 MHz. El modelo B tiene 512MB de RAM y el modelo A tiene 256MB.
B. Ranura para la tarjeta de memoria SD (Secure Digital). Raspberry Pi no tiene
disco duro, todo se guarda en la memoria SD.
C. Puertos USB. El modelo B tiene dos puertos USB 2.0 y uno el modelo A. Los
modelos antiguos presentaban el problema de la cantidad de corriente que
podía dar el puerto USB. Algunos dispositivos USB pueden consumir hasta
500mA, mientras que la placa original solo soportaba 100mA; sin embargo las
nuevas versiones cumplen totalmente las especificaciones USB 2.0. De todos
modos, hay que prever el utilizar una fuente de alimentación externa si el
dispositivo USB a conectar consume demasiado.
D. Puerto Ethernet. El modelo B tiene un puerto estándar Ethernet RJ45. El
modelo A no lo tiene, pero puede conectarse a una red cableada a través de
un adaptador de USB a Ethernet. También hay la opción de conexión vía USB a
través de una tarjeta.
E. Conector HDMI. El puerto HDMI permite salidas de audio y video digitales.
Soporta 14 resoluciones de video diferentes y la señal HDMI puede convertirse
a DVI, compuesta o SCART con adaptadores externos.
Página 90 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
F. LEDs de estado. Se tienen cinco indicadores LED. En la tabla se muestra su
codificación.
ACT
PWR
FDX
LNK
100
Verde
Rojo
Verde
Verde
Amarillo
Se ilumina cuando se accede a la tarjeta SD
Conexión a una fuente de 3.3V
Encendido si el adaptador de red es full duplex
Indicador de actividad de red
Encendido si la conexión de red es de 100Mbps
Tabla 7: Indicación de los cinco LEDs de estado[58].
G. Salida de audio analógica. Es un mini jack estándar de 3.5mm, pensada para
conectarse a unos altavoces amplificadores. En auriculares o altavoces sin
alimentación externa, la calidad de sonido no es buena.
H. Salida compuesta de video. Es un jack tipo RCA estándar, que permite la
conexión a señales de video NTCS o PAL. Tiene mucha menos resolución que la
salida HDMI.
I. Entrada de alimentación. Raspberry Pi no tiene botón de encendido. El
conector microUSB sirve como entrada de alimentación, no permite conexión
para datos.
Figura 83: Esquema de la interfaz hardware del Raspberry Pi[58].
Página 91 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
A continuación se muestran todas la conexiones de alimentación, entrada/salida del
Raspberry Pi y luego se explican someramente[58].
Figura 84: Conexiones externas del Raspberry Pi[58].
A. Conexiones de entrada y salida de propósito general (GPIO). Están dedicadas a
conectar botones, interruptores o controlar actuadores como LEDs, relés o
motores.
B. Interfaz de conexión para un display serie. Este conector permite la conexión
de 15 pines para una pantalla LCD o OLED.
C. Interfaz de conexión serie para una cámara. Permite la conexión directa de
una cámara a la placa.
D. Conectores P2 y P3. Se trata de los conectores con la placa Broadcom y con la
controladora de red LAN9512. Dado que el chipset de Broadcom es de
naturaleza propietaria, estos conectores no se les prevé mucho uso.
Como periféricos a destacar para utilizar con Raspberry Pi se puede citar[58]:
A. Una fuente de alimentación. Se conecta a través de microUSB y debe dar 5V y,
al menos, 700mA. Un cargador de móvil no servirá.
B. Una tarjeta de memoria SD. Se necesitará al menos 4GB y debe ser de clase 4.
En las primeras versiones de Raspberry Pi, las tarjetas de clase 6 o más alta no
son estables. También se puede usar una microSD con el adaptador
correspondiente.
C. Un cable HDMI. Necesario para la conexión a un monitor.
D. Cable Ethernet. Para la conexión a la red de cable.
Página 92 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
Como sistema operativo, se han desarrollado versiones particulares de Linux, algunas
de ellas son las siguientes[58]:
-
Raspbian. Es la recomendada oficialmente.
Adafruit Raspberry Pi Educational Linux. Es una distribución que incluye
herramientas y drivers útiles para el aprendizaje de electrónica.
Arch Linux. Esta versión de Linux es para ordenadores basados en la
arquitectura ARM, por tanto es compatible con Raspberry Pi.
Xbian. Basado en Raspbian está pensado para usuarios que quieren utilizar el
Raspberry Pi como un gestor de contenidos multimedia.
Con las características dadas de Raspberry Pi se saca en consecuencia que se trata de
una plataforma que puede ser utilizada en múltiples aplicaciones, por ejemplo como
ordenador, para aprender a programar, siendo esta la aplicación que suscitó su desarrollo y
también como plataforma para el desarrollo de proyectos electrónicos, que será la aplicación
que más se ajusta al contenido de este trabajo. A continuación, en el siguiente apartado, se
citarán algunos proyectos relacionados con la robótica que han sido implementados con
Raspberry Pi.
4.3. Raspberry Pi en la robótica.
Una de las aplicaciones más comunes de Raspberry Pi en relación con la robótica, es su
utilización como ordenador (realmente se trata de un ordenador), en el sentido de funcionar
como sistema de control avanzado y de coordinación de otros controladores presentes en el
sistema. Por ejemplo en [59], se indica que la cooperación entre Raspberry Pi y el
microcontrolador Arduino añade ventajas a los proyectos, ya que, por un lado, Arduino abre el
acceso a la lógica de nivel de 5V (Raspberry Pi trabaja a un nivel 3,3V), limitando la posibilidad
de dañar la placa Raspberry Pi y, por otro, Arduino permite organizar un sistema operativo en
tiempo real. En este proyecto Raspberry Pi se encargaría de la gestión de control remota.
Relacionado con lo anterior y con un esquema de control similar en [60] se refleja la
utilización de Raspberry Pi y Arduino en el contexto de laboratorios remotos. Aunque no se
trate directamente de robótica, el esquema hardware de conexión de dispositivos a Arduino y
luego coordinados y controlados, con la gran capacidad de gestión de datos que tiene un
ordenador como Raspberry, es muy interesante y directamente aplicable a la robótica.
Raspberry también aportaría la capacidad de acceso a Internet o a otros sistemas de
comunicación avanzados. En la siguiente figura se muestra el esquema donde las siglas CLEM
significan: Cloud E-learning for Mechatronics.
Página 93 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
Figura 85: Arquitectura CLEM[60].
Otra experiencia que pone aprovecha las características de Raspberry Pi es la explicada
en [61]. Se trata del desarrollo de un sistema de ayuda para la orientación dirigido a ciegos,
también pone el apellido de bajo costo, característica directamente ligada a las plataformas
Open-Source.
En este caso este proyecto añade a lo que se ha comentado anteriormente, la
posibilidades que tiene Raspberry Pi al tratarse fundamentalmente de un ordenador, y es el
hecho de poder ejecutar software directamente instalado en su sistema operativo.
Seguidamente se explicará someramente la arquitectura del sistema y se citarán todos los
programas utilizados por el sistema para poner de manifiesto el potencial del software OpenSource.
Figura 86: Arquitectura del sistema[61].
En el esquema de la Figura 86 se muestran los cinco módulos controlados por el
programa. El módulo "Initializer", verifica que todas las bibliotecas están instaladas y que están
todos los archivos de datos necesarios para el funcionamiento del sistema. La "User Interface"
es la que obtiene la dirección de destino deseada por el usuario. La "Address Query" traduce la
dirección deseada a sus coordenadas geográficas correspondientes. La "Route Query" obtiene
las coordenadas actuales del usuario, a través del GPS y también las coordenadas de destino,
Página 94 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
y, con ellas, calcula la ruta. El módulo "Route Transversal" es el que da las instrucciones de
navegación, a través de sonidos, al usuario. Esta pequeña explicación se ha dado para tener
una idea general de cómo funciona el sistema, pero lo que se pretende resaltar, y que se
comentará a continuación es el conjunto de software Open-Source que se ha manejado:
-
Para la grabación de los sonidos utilizados se utilizó "Audacity"[62].
Para la reproducción de los sonidos "VLC Media Player"[63].
Para la conversión de texto en voz "Festival Speech Systhesis
System(FSSS)"[64].
Para la conversión de voz a texto "PocketSphinx"[65].
Para el reconocimiento de voz y la interpretación de las órdenes:
"Phonetisaurus"[66] y "MITLM"[67].
Para la navegación y creación de rutas: "Geo-Coder-US" [68](válido solo en US,
si se pretende basar un diseño en esta idea habría que buscar alguna
alternativa como, por ejemplo, Google Maps), "MoNav"[69].
En la siguiente figura se muestra el prototipo, donde se pueden ver los principales
componentes hardware: el GPS, el Raspberry Pi y la botonera que sirve de interfaz de control,
con el usuario (la otra interfaz de control sería la interacción mediante voz)
Figura 87: Componentes del dispositivo guía, de izquierda a derecha, el receptor GPS Bluetooth,
Raspberry Pi y la botonera de control[61].
Para terminar con los proyectos que utilizan Raspberry Pi como dispositivo de control
se citará el esquema de control propuesto por Ali Lemus, un ingeniero de la Universidad
Galileo, para el control de la "Bionic RoboHand"[70]. Este proyecto consiste en el control de
una mano biónica con la voz o a través de ondas cerebrales y que también cumple con el
objetivo que une a los últimos ejemplos mostrados: el bajo coste. A continuación se citan sus
componentes fundamentales:
-
Emotiv EEG. Se trata de un dispositivo que lee las ondas electromagnéticas
generadas por el pensamiento, obteniendo así un control total de la prótesis.
Página 95 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
Figura 88: Interfaz humano-ordenador basada en electroencefalogramas[70].
-
-
Raspberry Pi. Citado en este artículo como un dispositivo suficientemente
potente para albergar un sistema de inteligencia artificial además de regular
un bajo consumo de energía; esto la hace un componente ideal para ser
incrustada en la prótesis[71].
La propia mano biónica, que está disponible para su impresión en impresoras
3D[72]. En la Figura 89 se muestra el primer prototipo de la "RoboHand",
diseñada por un carpintero que perdió sus dedos en un accidente, como
prótesis, que permite con el movimiento del brazo cerrar la mano y coger
cosas. En la Figura 90 ya se muestra la prótesis salida de una impresora 3D, los
archivos para su impresión son Open-Source. En esta figura está en manos del
ingeniero de la Universidad Galileo, en el proyecto de su control automático.
En dicha prótesis se plantea integrar el controlador, que tiene que ser de
pequeño tamaño, por eso se ha optado por Raspberry Pi, además de la
necesidad de gran capacidad de computación, requerido para el control
basado en IA, como se ha comentado anteriormente.
Figura 89: Primer prototipo de la RoboHand. Utilizada como prótesis sin control electrónico[72].
Página 96 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
Figura 90: Robohand impresa con impresora 3D, en el laboratorio de la Universidad Galileo, en fase de
desarrollo de su robotización[70].
Página 97 de 143
SOLUCIONES HARDWARE/SOFTWARE LIBRE
Página 98 de 143
MODELADO DE UN ROBOT
5. Modelado de las principales características hardware y software
que debe presentar un robot
En este apartado se realizará un estudio de las principales características que debería
presentar un robot, acorde con la función que va a acometer.
El primer planteamiento es fomentar la utilización de sistemas hardware y software
abiertos. Primero por un tema de coste y segundo por la posibilidad de acceder libremente a
toda la información.
La arquitectura software del robot a modelar se basará en la utilización de un
middleware, es decir un sistema servidor de recursos relacionados con la robótica, que se
ejecuta sobre un sistema operativo, en apartados anteriores se explicaron las ventajas que
aporta. El middleware propuesto será ROS (en la investigación de este trabajo se han
encontrado varios ejemplos basados en esta arquitectura: Rethink Robotics [4] Aldebaran Nao
[25] , Husky [14] , Robotnik [36], Pal Robotics [35], mOway [40], [53], [83], [103], [104], [105],
[106], [107]).
A continuación se darán detalles de algunos componentes fundamentales de este
sistema, con el objetivo de presentar el esquema software genérico propuesto.
Un componente fundamental de ROS es el NODE[87], en adelante nodo. Un nodo es
un proceso que realiza algún tipo de operación, esta operación se trata que sea simple, de
forma que, por ejemplo, un sistema de control de un robot esté formado por varios nodos, en
algún caso por muchos. La forma de trabajar varios nodos entre sí, formando lo que se
denomina un grafo (graph), es a través de una estrategia de comunicación basada en tópicos
(topics), servicios RPC (Remote Procedure Call) y servidores de parámetros (Parameter Server).
Un ejemplo de sistema de control de robot podría estar formado por un nodo para controlar
un telémetro (range-finder) láser, otro nodo controlaría los motores de las ruedas del robot,
otro nodo ejecutaría los algoritmos de localización, otro planificaría las rutas, otro permitiría
una visualización gráfica del sistema, y así sucesivamente.
Otro componente citado en el párrafo anterior es el TOPIC[88]. Un topic es un bus por
el cual los nodos envían o reciben mensajes. En el esquema de intercambio de información de
ROS, los nodos no están pendientes de con quién se están comunicando, sino, que están
pendientes de los datos de un determinado TOPIC, a través de una subscripción; los nodos que
generan datos, los publican en un determinado TOPIC. En ROS puede haber múltiples
"publicaciones" y "subscripciones" a un mismo TOPIC.
Los TOPICS están pensados como un mecanismo de comunicación continuo y
unidireccional (streaming). Si un nodo necesita hacer una llamada a un procedimiento remoto,
por ejemplo, recibir una respuesta a una solicitud, se debería utilizar un SERVICE.
Los SERVICES [89] en ROS representan el paradigma de intercambio de información en
el que se solicita (request) a través de un mensaje a un nodo desde otro y ese nodo responde
con otro mensaje (response).
Página 99 de 143
MODELADO DE UN ROBOT
De este modo, un nodo puede ofrecer un servicio (server) y cualquier otro nodo puede
utilizarlo (client) llamándolo junto con un mensaje y esperando una respuesta de éste, en
forma de otro mensaje.
Los MESSAGES [90] en ROS son simplemente estructuras de datos, compuestas de
distintos campos con un tipo de dato definido. Como tipos de datos se tendrían los tipos de
datos estándar (integer, floating point, boolean, etc) y también se podrían utilizar vectores de
datos estándar (arrays). En resumen, los MESSAGES son como las STRUCTS de C.
Para el funcionamiento de un sistema basado en ROS, es decir para que los nodos
ejecuten sus acciones en función de datos que obtengan de otro nodos, o de comunicaciones
basadas en RPC, etc., se necesita otra entidad que hace la función de coordinación o MÁSTER.
Este elemento es el "roscore"[91]. Al ejecutar "roscore", se pone en funcionamiento:
-
1
el ROS Máster, que hace la labor de coordinación. En la siguiente figura [92], se
muestra la secuencia de eventos que se suceden en la comunicación de un
nodo "Camera" y otro "Image_viewer", que ponen de manifiesto la función de
máster.
En la figura 1, el nodo "Camera" publica las imágenes en el topic "images",
pero no hay subscripciones al topic luego no hay envío de datos.
En 2, "Image viewer" quiere subscribirse al topic "images" para ver si hay
alguna imagen disponible.
En 2, el topic "images" ya tiene un publicador y un subscriptor, con lo que el
nodo máster notifica a ambos: "camera" y "Image viewer", la existencia del
otro, con lo cual ya puede comenzar la transferencia de imágenes de uno a
otro.
2
3
Figura 91: Ejemplo del funcionamiento del servicio "master" ROS [92].
-
-
el servidor de parámetros de ROS, que es utilizado por los nodos para
almacenar o leer parámetros en tiempo de ejecución, haciendo además
posible que el usuario pueda ver y/o modificar estos parámetros por terminal
en tiempo de ejecución;
el servicio "rosout", es un mecanismo que mantiene un log de los mensajes
enviados al TOPIC /rosout.
En función de estas nociones de ROS el planteamiento de la realización genérica del
software propuesta se basará en los siguientes pasos:
Página 100 de 143
MODELADO DE UN ROBOT
-
-
Dispositivo
IHM
un software IHM(Interfaz hombre-máquina), basado en una interfaz múltiple,
que permitirá interactuar con el control de diversas maneras: terminal, teclado
táctil, dispositivo móvil, gestos, voz, EMG/EEG;
un nodo que hará la función de puente, recibirá la información del software
IHM y enviará comandos al sistema central para generar acciones;
un nodo encargado del control central;
un sistema de salida, encargado de que los actuadores (drivers para motores,
válvulas proporcionales, etc.) o elementos de salida del sistema respondan
según las acciones que el sistema de control les solicite. Los sensores
necesarios para la ejecución de las acciones están dentro de este sistema.
Puente
ROS
Topics
/Services
Puente
ROS
ROS
Dispositivo
Salida
Topics
/Services
Figura 92: Esquema genérico de software basado en ROS.
En la izquierda de la figura se muestran todos los elementos de interacción entre el
usuario y el robot. Cada uno de estos representará un nodo dentro de la arquitectura de ROS,
esto quiere decir que es un elemento con capacidad de comunicación a través de mensajes
con otros nodos del sistema. Para lograr esto habría que crear las entidades definidas como
"Puente ROS".
El elemento ROS hará la función de máster, en función de las demandas recibidas de
los elementos de IHM (Interfaz hombre-máquina), enviará las órdenes correspondientes a los
actuadores para que las ejecuten.
Por ejemplo, inspirado en [83], se plantea realizar un robot para asistencia física a un
anciano o un discapacitado, que le permita moverse dentro de una casa, una silla de ruedas
inteligente. La "interfaz hombre máquina" permite que el usuario pueda desplazarse a
diferentes estancias simplemente diciendo en voz alta el nombre de la estancia.
Los elementos software involucrados o nodos serían los siguientes:
-
Voz-texto: basado en PocketSphinx. Este nodo publicaría el texto obtenido de
las órdenes pronunciadas.
Página 101 de 143
MODELADO DE UN ROBOT
-
Sistema de navegación: este nodo estaría pendiente de los mensajes
obtenidos del nodo anterior, y tendría acceso a la base de datos de
ubicaciones, un servidor de mapas. Con esta información sería capaz de actuar
sobre el sistema de navegación. Establecería los parámetros de velocidad y
recibiría como feedback la información de la posición. Para poner de
manifiesto la ventaja que supondría la utilización de software ya desarrollado,
en la siguiente figura se muestra un esquema del sistema de control de
navegación basado en ROS [83].
Figura 93: Sistema de navegación automático para una silla de ruedas[83].
Los nodos representados: move_base, Left PID_velocity, Right PID_velocity,
diff_tf, map_server, pertenecen al entorno de ROS, no hay que desarrollarlos,
solo reutilizarlos.
Rviz es una plataforma de control y supervisión que, en este caso, además de
permitir visualizar lo que está "viendo" la silla, también permite establecer un
destino de referencia al sistema de control. Es decir además de la supervisión
permite la interacción con el sistema, por ejemplo, si se están haciendo
pruebas, durante el ajuste y el desarrollo del sistema robotizado.
-
Comunicaciones: este nodo se encargaría de la comunicación del sistema de
navegación con sensores y actuadores.
Los elementos hardware involucrados en este sistema serían los siguientes:
Página 102 de 143
MODELADO DE UN ROBOT
-
-
-
-
Una CPU encargada del control y de la "interfaz hombre máquina". Podría
realizarse con Raspberry Pi, en [61] se describe una captura de información
similar a la propuesta. Este elemento también podría ser la máquina que
ejecute ROS en [84] puede obtenerse información de cómo hacerlo.
Como sensores, al menos se necesitaría:
- Encoder: ya que se trata de una silla de ruedas, el sistema puede
realizarse con un planteamiento de movimiento diferencial de dos
ruedas, con lo cual, para obtener información del movimiento, se
instalarían sendos encoders en cada rueda.
Como actuadores:
- Driver para los motores. Se trataría de servomotores que tendrían
instalado, como se ha indicado antes, un encoder para medir la
posición angular y la velocidad de giro.
Un punto a resolver sería la interacción directa con los actuadores y sensores.
Dado que se trata de un control avanzado, se plantea un sistema en tiempo
real, por ejemplo una conexión directa de un microcontrolador a cada entidad,
dicho microcontrolador podría ser una placa Arduino. En caso de optar por
Arduino, quedaría por resolver la comunicación entre la placa y el control
central (Raspberry Pi), o más bien la entidad de control que sería ROS, para
ello hay dos posibilidades:
- rosserial_arduino [85]: esta herramienta proporciona un protocolo de
comunicación compatible con ROS que funciona con la UART
(Universal Asynchronous Receiver/Transmitter) de Arduino. Esto
permite encapsular al Arduino como un nodo de ROS, que puede
publicar y recibir mensajes.
- ros_arduino_bridge[86]: esta herramienta permite el acceso a
sensores analógicos o digitales, servomotores PWM y datos
odométricos obtenidos de encoders. Según [86], pretende ser una
solución completa para controlar un robot basado en Arduino desde
ROS.
Otro de los elementos a tener en cuenta en el modelado de un robot genérico, sería
interesante tener la posibilidad de representarlo en 3D, añadiéndole elementos y poder hacer
simulaciones con esta representación. También ROS ofrece herramientas para ello.
El lenguaje de modelado es URDF (Unified Robot Description Format). Este lenguaje
está basado en XML y puede ser visualizado a través de las herramientas de ROS como el
simulador GAZEBO y la interfaz gráfica de usuario que permite representar en 3D al robot:
Rviz. En [100] pueden verse ejemplos de varios modelos de robots representados según el
formato URDF. En la siguiente figura se muestra el robot NAO en Rviz. En [102] se puede ver
una animación de NAO donde se hace un control de su postura utilizando Rviz.
Página 103 de 143
MODELADO DE UN ROBOT
Figura 94: NAO en ROS [101]
Para finalizar esta introducción general al modelado, se comentará otra herramienta
interesante que facilita el diseño, sobre todo en casos en los que el robot tenga
comportamientos complejos, dicha herramienta metodológica es la máquina de estados
finitos, muy usada en los desarrollos de muchos automatismo industriales secuenciales. Como
no podría ser de otra forma, ROS también tiene su propia aplicación de elaboración y
simulación de máquinas finitas: SMACH[97]. En la siguiente figura se muestra un fotograma
extraído de [97], donde se muestra como la ejecución paso a paso de la máquina de estados
puede verse reflejada directamente en el robot, con lo cual la validación y depuración de la
misma es directa, es decir, si el robot se comporta como debe.
Figura 95: Ejecución directa de una máquina de estados en el robot.
Página 104 de 143
MODELADO DE UN ROBOT
Configuración del software
Dado que en el modelado de los distintos robots, se propondrá como middleware y
por tanto, como parte fundamental del software de control, ROS. A continuación se expondrá
de forma general cómo se realizaría la parte de configuración. Al ser una exposición general
con ejemplos, se podrá particularizar fácilmente a cualquier diseño y a cualquier entorno.
La utilización de ROS como middleware supone la realización de los siguientes pasos:
-
La instalación de ROS, este paso es evidente. Sin embargo hay que tener en
cuenta que ROS es un sistema muy grande, por lo cual hay que decidir qué
instalar. Si se trata de la instalación en el robot, solo se necesitarían los
paquetes básicos (ROS-base) junto con, como se verá después, otras
funcionalidades, por ejemplo drivers de sensores, como se verá después. Es
decir, las interfaces de simulación y diseño y programación no serán necesarias
junto con los tutoriales. Para tener más información sobre las instalaciones de
ROS se puede consultar [159].
-
Una de las ventajas de utilizar ROS, como ya se ha dicho, es que hay
numerosas funcionalidades ya desarrolladas, por tanto, a la hora de configurar
los sensores, se deben buscar preferentemente los sensores que soporte ROS.
Si este es el caso, deberán instalarse los drivers. Una vez instalados los drivers,
para la utilización del sensor se ejecutará el nodo que lo encapsula. Para
interaccionar con este nodo, se consultará su lista de TOPICS, para ver qué
información proporciona. A continuación, extraído del capítulo 4 de [160], se
muestra la secuencia de pasos a seguir en ROS para utilizar un telémetro láser
Hokuyo URG-04lx:





Instrucción para la instalación de los drivers: $ sudo apt-get install ros(versión de ROS)-laser-drivers
Verificación de la instalación correcta del driver: $ ls -l /dev/ttyACM0
Ejecución del nodo, es decir, encendido del láser (previamente habría
que ejecutar el roscore, como se verá después): $ rosrun hokuyo_node
hokuyo_node
Para obtener la lista de TOPICS: $ rostopic list
En este caso en particular, de todos los TOPICS de este nodo estaría el
/scan que es el TOPICS en el cual el nodo publica la información
recibida, ejecutando la siguiente instrucción se obtendría un ejemplo
de la información que publica el nodo: $ rostopic echo /scan. La
información publicada sería de la forma:
Página 105 de 143
MODELADO DE UN ROBOT
--header:
seq: 3895
stamp:
secs: 1358076731
nsecs: 284896750
frame_id: laser
...
ranges: [1.1119999885559082, 1.1119999885559082,
1.1109999418258667, ...]
intensities: []
--Figura 96: Ejemplo de información publicada por un sensor en ROS[160].
-
-
-
En el caso de actuadores, los pasos a seguir serían similares al caso, ya visto,
para sensores. A continuación se muestra un ejemplo para la utilización de un
servomotor Dynamixel [160].
 Instalación de los drivers: $ sudo apt-get install ros-(nombre de la
versión de ROS)-dynamixel-motor
 Ejecutar roscore, y luego poner en marcha el controlador del actuador:
$ roslaunch dynamixel_tutorials controller_manager.launch. El
ejecutar esta instrucción el sistema responderá mostrando
información del motor detectado. Accediendo a su lista de TOPICS ($
rostopic list) se obtendrá un TOPIC donde se publica el estado del
motor.
 Para mover el motor se ejecutará: $ roslaunch dynamixel_tutorials
controller_spawner.launch. Como en el caso anterior en la lista de
TOPICS se obtendrá la instrucción para mover el motor. Con la
siguiente instrucción se moverá el motor 0,5 radianes: $ rostopic pub
/tilt_controller/command std_msgs/Float64 -- 0.5. El TOPIC para
actuar sobre el motor es command.
En el caso de conexión de los sensores o los actuadores a través de Arduino,
posibilidad que también se propone en este trabajo, el paso a seguir sería
utilizar la librería rosserial_arduino, de este modo en la propia IDE de Arduino,
se tendrá la opción de acceder a esta librería (ros.h), con lo que se podrán
crear messages y topics y el código de Arduino quedará encapsulado como un
nodo de ROS.
Si se utilizan librerías de ROS, para aprovechar una determinada funcionalidad,
los pasos a seguir serán los mismos que en el caso de sensores o actuadores,
ya que las funcionalidades en ROS se implementan como nodos, que
publicarán topics o los suscribirán y/o serán accesibles a través de mensajes,
vía services. En [160] en el capítulo 7 se muestra un ejemplo de cómo se puede
utilizar la "Navigation Stack", que permite la movilidad autónoma de robots a
Página 106 de 143
MODELADO DE UN ROBOT
-
-
-
través de mapas, la creación de mapas a través de los movimientos de un
robot, ... También en [161] en la wiki de ROS se pueden consultar detalles
sobre configuración, requisitos del robot (que TOPICS debe publicar para su
interacción con la biblioteca Navigation, ...), ejemplos y tutoriales. En muchos
de los diseños que se propondrán, esta funcionalidad tiene muchísimo interés,
por ejemplo: robots militares terrestres, robots domésticos, robots para
entretenimiento, ...
Ejecución del roscore(para ello se escribirá $ roscore en la interfaz de
comandos), este elemento ya se ha descrito en la introducción de este
apartado y es imprescindible para el funcionamiento del sistema, ya que hace
la función de máster y es el que coordina los intercambios de información
entre los nodos. roscore también arrancará el servidor de parámetros, ya que
los nodos pueden arrancarse parametrizados o cambiarse los parámetros en
ejecución.
Arranque de todos los nodos que formen parte del robot, para ello en ROS
pueden definirse los archivos launch, en el que se indicarán qué nodos y con
qué parámetros deben lanzarse.
Como se ha indicado, los nodos asociados a la interacción con los sensores, al
ejecutarse, publicarán como un TOPIC, las lecturas que realizan.
Los nodos asociados a acciones, estarán pendientes de la recepción de los
comandos que los pongan en funcionamiento
5.1. Sector industrial
Tal y como se puede deducir de los apartados anteriores, la característica principal que
tiene que tener un robot moderno para el sector industrial es la flexibilidad, así como una
capacidad de interacción con el entorno y con los humanos mucho mayor, respecto a los
típicos robots industriales, confinados en su parcela y con tareas muy concretas y
especializadas. A continuación se citarán las características más importantes, que fruto de este
trabajo, se deberían considerar para el modelado de un robot industrial moderno:
Hardware:
Infraestructura física
Una característica fundamental que se busca en los nuevos diseños de robots para este
sector es la flexibilidad en las labores que el robot puede realizar. Esto implicaría que su
infraestructura sea ligera para facilitar su cambio de emplazamiento.
Para la realización de tareas en la industria, un diseño genérico adecuado podría ser el
basado en brazos con al menos siete grados de libertad. Para el modelado físico del robot se
propone realizarlo a través de alguna herramienta basada en estándares de representación, en
particular se propone URDF. URDF se ha descrito antes, solo se indicará que con esta
herramienta, además de visualizar el diseño también se podrá simular y realizar pruebas de
movimientos de los distintos órganos móviles, para comprobar su alcance, maniobrabilidad y
posibles puntos de impacto.
Página 107 de 143
MODELADO DE UN ROBOT
Otro detalle importante a tener en cuenta, es la compatibilidad con herramientas para
el montaje en el extremo del brazo robotizado. Esto resulta evidente si, como se viene
comentando, el robot debe ser capaz de realizar muchas tareas distintas, tareas que, por otro
lado, deben ser muy precisas. Esta última funcionalidad no debe desmerecer a los robots
industriales clásicos, donde la precisión, la repetibilidad, la velocidad de procesado y la
exactitud son sus características más representativas.
Lo comentado en el párrafo anterior supone un cuidadoso diseño para el extremo del
brazo, para facilitar el "cambio rápido de herramienta". En muchas máquinas de control
numérico modernas se puede encontrar inspiración para estos diseños.
Actuadores
El elemento fundamental en este tipo de robots es el motor utilizado en el
accionamiento de los brazos robotizados, para el que se propondrá el uso de un servomotor.
Aunque se indicará luego en el apartado de sensores, este servomotor estará provisto de un
encóder absoluto.
En cuanto a la herramienta base en el extremo del brazo se utilizará una pinza prensil,
también accionada por un motor eléctrico.
También es conveniente que el robot tenga posibilidad de emitir sonidos a través de
un sistema de altavoces.
El hardware de interacción con el robot y para su control se explicará en la sección de
la "Interfaz hombre-máquina".
Sensores
Como se ha dicho, para el control de los servomotores se utilizará un encóder
absoluto. También habría la posibilidad de utilizar un encóder incremental, pero se considera
que el encóder absoluto puede facilitar el control de la posición.
En los brazos o en las articulaciones, hay que prever la instalación de sensores de
presión, ya que el robot trabajará con humanos, con lo cual debe poder detectarse el contacto.
De igual forma, la pinza prensil debe dotarse de sensores de presión, ya que en un entorno
flexible de fabricación puede tener que, por ejemplo, ser capaz de introducir huevos en
envases o una bujía en una zona de difícil acceso de un motor.
También debe instalarse en el robot un micrófono para posibilitar la captura de
sonidos.
Una funcionalidad que permitiría el poder realizar diversas tareas sin necesidad de una
programación continua y específica para cada una, sería la visión artificial. Esto facilitaría
enormemente la manipulación de piezas, sin necesidad de orientarlas o posicionarlas de una
determinada forma para que el robot pueda cogerlas.
Para ello se instalará una cámara. El software deberá permitir que a través de dicha
cámara se puedan identificar personas, objetos y también la posibilidad de grabación de una
Página 108 de 143
MODELADO DE UN ROBOT
determinada secuencia de producción. Esta información grabada puede ayudar en caso de
paradas de emergencia, averías continuadas, para el rediseño o ajuste de la hipotética línea de
producción.
Esta cámara también puede recoger datos de producción, importante a la hora de
integrar el robot con el software de gestión de la empresa o para apoyo de las estrategias de
trabajo colaborativo con otros robots.
Infraestructura de control
El hardware de control se basará en un ordenador de una placa, en particular,
Raspberry del cual ya se ha hablado en este trabajo.
Aunque Raspberry solo tiene dos puertos USB, estos pueden ampliarse por medio de
hubs USB. Para la conexión de la cámara se utilizará uno de los puertos USB. Como Raspberry
Pi no tiene entrada de audio, para obtener la captura de sonido puede utilizarse también la
cámara, con lo cual la cámara se encargará de la obtención de imágenes y sonido.
Para la conexión de los sensores, se plantea la utilización de una placa Arduino, de
forma que la información de los encóders, se obtendrá a través de las entradas digitales y las
lecturas de los sensores de presión a través de las entradas analógicas. Arduino también puede
proveer la alimentación necesaria para los encóders.
Los actuadores serán accionados desde la placa Arduino a través de sus salidas PWM.
El control de la velocidad de los motores se hará a través de la modulación por ancho de pulso.
Se considera que el motor viene provisto del driver correspondiente.
La conexión de la placa Arduino a Raspberry Pi se hará a través de cable USB, como
una conexión serie.
Software:
Sistema operativo y middleware
El sistema operativo propuesto para albergar el sistema de control será un software
abierto. Este sistema operativo se elegirá acorde al middleware, que será ROS, así que en este
caso el sistema trabajará sobre linux, en concreto con Raspbian, la versión de Debian para
Raspberry, ya que, como se comentó en el apartado de hardware, Raspberry será la opción
para ejecutar el sistema operativo.
En [98] pueden consultarse todos los sensores para los que existen drivers para ROS y
también las interfaces para los sensores. En este caso habría que fijarse en los de
"Audio/Speech Recognition", "Cameras", "Motion Capture", "Force/Torque/Touch Sensors" y
"rosserial_arduino".
Para el control de los servos también hay herramientas disponibles en el entorno de
ROS, en particular para Dynamixel, hay
tutoriales
de ejemplo como
"CreatingJointPositionController"[99]. La comunidad de ROS es muy activa en la solución de
dudas y en la publicación de mejoras y novedades, en caso de utilizar otro fabricante de
Página 109 de 143
MODELADO DE UN ROBOT
accionadores puede consultarse la disponibilidad de herramientas ya desarrolladas y en
funcionamiento.
Conectividad y comunicaciones
La conectividad debe ser otra prioridad a tener en cuenta. El robot industrial debe
trabajar en equipo, por lo tanto debe facilitar la comunicación tanto con otros robots, con
operarios o con cualquier otro tipo de hardware. Este tipo de robot debe ser interactivo y estar
preparado para el trabajo colaborativo. De esta interactividad se hablará en el próximo
apartado.
Un punto fundamental es la conexión con el sistema de gestión de la empresa en la
que esté instalado el robot. Para ello puede plantearse una conexión a través de Ethernet con
la red corporativa, Raspberry presenta esta interfaz, así que habría que desarrollar un
elemento software que transfiera información de producción obtenida por el robot, en
formato xml, a una base de datos. A dicha base de datos podrá acceder el sistema de gestión.
Un ejemplo de tipo de información a enviar podría ser: valor de un contador de repetición de
un determinado ciclo de movimientos, paradas de producción, número de aperturas-cierres de
la pinza prensil, ...
La interacción con otros robots se facilita con el uso de un sistema tan modular como
ROS, ya que puede plantearse un sistema de control que coordine una tarea compleja y a
través de los intercambios de información basados en TOPICS, pueden obtenerse instrucciones
en la IHM de un robot, que generen acciones en otro. Esto puede realizarse a través de
Ethernet, ya que existe la posibilidad de comunicación entre NODOS que se ejecutan en
distintos dispositivos físicos. En [83], se muestra un ejemplo de interacción entre distintos
robots.
Interfaz Hombre-Máquina
El robot debe presentar una interfaz de programación sencilla ya que habrá cambios
en su forma de trabajar que tendrán que ser indicados por un operario. Para ello el robot
dispondrá de un modo de programación simple basado en la memorización de posturas que
luego repetirá como una rutina. Para ello dispondrá de una pantalla táctil donde se podrá
crear, modificar o eliminar una rutina de movimientos. Dichos movimientos se fijarán a través
de una botonera, una en cada brazo robotizado, que permitirá su desbloqueo para moverlo
libremente y con la pulsación de un botón, memorizará esta posición. Seleccionando la rutina
en la pantalla táctil el robot la repetirá.
El robot también responderá a estímulos sonoros, si está pensado para el trabajo
colaborativo con humanos, podrá detenerse su movimiento, por ejemplo, en caso de algún
riesgo de colisión, con comandos previamente establecidos por voz.
Todo el sistema de control también será accesible a través de otro ordenador
conectado a la red. Con esta interfaz más completa, se podrá acceder a todas las
funcionalidades: programación de tareas complejas, por ejemplo las basadas en visión
artificial, establecimiento de los valores de producción a recoger, ....
Página 110 de 143
MODELADO DE UN ROBOT
5.2. Educación
En la utilización de un robot en educación, la característica fundamental es la
interacción robot-humano. Como se ha comentado a lo largo de este trabajo, el hecho de que
los robots proliferen en todos los entornos del ser humano, hace que sea interesante el
aprendizaje a programarlos e interactuar con ellos cuanto antes mejor. Además, si esta
interacción es divertida y atractiva, puede conquistar a los niños desde edades muy
tempranas. Tampoco hay que olvidar que, por muy sencillas que sean las interfaces de
interacción, no dejan de ofrecer retos exigentes, que pueden llegar al infinito, con lo cual
pueden ser un gran aliado para el desarrollo intelectual precoz de los niños. A continuación se
indicarán las características más importantes para el modelado de un robot para educación e
interacción con niños:
Hardware:
Infraestructura física
Teniendo en cuenta que alguno de los campos que convendría fomentar para la
competitividad de los niños del futuro son: el diseño, la electrónica, la programación y la
integración, la propuesta para la infraestructura de un robot para educación será el de un
robot que se pueda montar y construir desde cero, y en dicha construcción se pueda fijar su
morfología.
Una ventaja y valor añadido que aporta esta propuesta, es que las piezas que formen
parte del robot pueden diseñarse de forma que el usuario tenga acceso a sus archivos para
poder imprimirlas en impresoras 3D. Este enfoque, permite que los usuarios modifiquen los
diseños de las piezas, o fabriquen diseños nuevos. En el momento en que esto se escribe, se
publicitan cursos para aprendizaje de uso de impresoras 3D, que incluyen la impresora (que se
monta en dicho curso, con un gran porcentaje de las piezas, las que no son metálicas, impresas
por una impresora igual), por un precio de aproximadamente 700€[120].
Otro elemento hardware que se debería tener en cuenta en este tipo de robots es su
fuente de energía, quizá lo más adecuado sea prever una alimentación a través de una batería
recargable de LI-PO.
Actuadores
Como elemento fundamental, común en toda la robótica tendríamos el servomotor,
con él se pueden controlar todo tipo de robots móviles.
Un elemento prensil también tendría interés, ya que un ejercicio útil, tanto de diseño
como de programación, podría ser el desarrollo de un prototipo de robot industrial.
Un altavoz e indicadores luminosos.
Sensores
Página 111 de 143
MODELADO DE UN ROBOT
Los elementos sensores deben poder añadirse al diseño de una forma modular. Alguno
de los sensores básicos que se podrían nombrar serían: detectores de proximidad infrarrojos,
sensores optorreflectivos infrarrojos (en caso de construir un robot tipo móvil, con estos
sensores se podría programar la funcionalidad sigue-líneas), sensor de temperatura, sensor de
intensidad de luz, una unidad de medición inercial (IMU).
Opcionalmente debería preverse la compatibilidad con más sensores, por ejemplo:
cámara con micrófono, otro tipo de detectores de proximidad, por ejemplo por láser.
Infraestructura de control
El planteamiento para el control se basará en hardware libre, tal y como, se ha
comentado en apartados anteriores, el control se basará en Arduino, que en este caso
fomenta el espíritu abierto de lo que debe ser un diseño realizado para educación y, por otro
lado favorece el coste reducido del diseño.
En la conexión de sensores a Arduino no hay problema ya que, a través de las entradas
digitales y analógicas, se puede adaptar cualquier señal obtenida de un sensor.
Arduino permite múltiples formas de interconectividad que como se verá en la parte
de software se utilizarán para la interacción con el dispositivo que en este tipo de robot es
fundamental:
Conexión ethernet: como se verá, esta comunicación se implementará a través de una
tarjeta para la conexión a redes WiFi y permitirá la interacción con el control a través de
dispositivos móviles app.
Conexión inalámbrica: permite la comunicación entre robots, esta comunicación, para
introducir otra tecnología, se planteará utilizar el sistema ZigBee.
Software:
Sistema operativo y middleware
En este caso como el sistema de control se basará en Arduino, en principio no se
utilizará el middleware ROS para la interacción estándar con el robot.
El hecho de no utilizar ROS, significa que habrá que desarrollar el código que permita
obtener los datos de los sensores y el que permita accionar los actuadores. En la comunidad de
Arduino existen muchos ejemplos de código desarrollado para multitud de sensores, bastaría
con adaptarlo.
Conectividad y comunicaciones
La conectividad en este tipo de robot debe servir para dos puntos fundamentales. El
primero será permitir la programación desde diferentes interfaces, esto se comentará en el
siguiente punto, para ello se dotará a la placa Arduino con la posibilidad de conectarse a redes
WiFi, por ejemplo con una "Wifi Shield"[113]. El segundo punto será la interacción con otro
robot, como soporte para el envío de información de uno a otro o a otros.
Página 112 de 143
MODELADO DE UN ROBOT
Interfaz Hombre-Máquina
Dado que el robot se plantea que sirva para su utilización en educación para diferentes
edades, también se diseñarán diversas interfaces de programación. De hecho esta será la parte
que más trabajo dará ya que, como se ha visto, este robot es totalmente modular, el software
es el que hará el vínculo.
Para los más jóvenes la programación se hará desde un entorno gráfico, donde se fijará
el comportamiento del robot a través de una serie de acciones (cada una indicada con un
icono, con posibilidad de una pequeña parametrización), como ejemplo se puede partir de los
diseños de los grafos o de los autómatas finitos, con posibilidad de ejecución paso a paso.
Este tipo de programación descrito puede versionarse para su ejecución a través de un
dispositivo móvil o tablet con una App, a través de Ethernet, en el apartado anterior se ha
indicado que a la placa se la puede dotar de conectividad WiFi.
Otra interfaz a desarrollar, para la introducción a la programación, sería un entorno
basado en Scratch, que permite introducir de una forma sencilla bucles, condiciones y otras
estructuras de programación, junto con la gestión de eventos.
Para la programación avanzada, como todo el diseño está desarrollado con hardware
libre, se puede interaccionar con el robot a través de la conexión USB de Arduino a través de
plataformas como ROS (ya visto rosserial) y a través de Matlab [112].
5.3. Entretenimiento
En el modelado de un robot para entretenimiento se optará por un robot tipo
humanoide, con gran capacidad de interacción y sociabilidad. En este diseño también se
tendrán en cuenta técnicas que permitan desarrollar distintas conductas en respuestas a
estímulos externos (incluso ante el mismo estímulo).
Hardware:
Infraestructura física
Como se ha indicado en la introducción se tratará de un robot humanoide. Se puede
buscar inspiración en diseños como el QRIO, presentado en el apartado 3.3 o Jimmy de Intel,
comentado en el apartado 2.3.
Este robot humanoide debe ser capaz de andar y de agarrar objetos, con lo cual tendrá
manos.
Se propone realizar el modelado a través de la herramienta URDF, de este modo a
través de su visualización en rviz, se puede obtener una visión 3D de cómo va quedando el
diseño. Del mismo modo a través de esta herramienta se podrán realizar simulaciones de
movimientos.
Se instalará un batería de LI-PO, recargable a través de USB.
Actuadores
Página 113 de 143
MODELADO DE UN ROBOT
Al tratarse de un robot móvil, el actuador fundamental, como ya viene siendo habitual,
es el servomotor.
Este robot podrá emitir sonidos, con lo cual se instalarán altavoces.
Sensores
Como robot humanoide para la interacción estará dotado de sensores que emulen los
sentidos humanos: sensores de presión, cámara con micrófono, sensor de temperatura.
Para la gestión de la posición, fundamental para el movimiento se necesitará una
unidad de medición inercial (IMU) y detectores de presión en los pies (para la aplicación del
"Zero Moment Point", como se verá en la parte de software).
Infraestructura de control
Como en todos los modelados de este trabajo se planteará un sistema de control
basado en un ordenador de una placa como Raspberry Pi.
En modelados anteriores y en la especificaciones dadas sobre esta placa, se ha puesto
de manifiesto que Raspberry Pi ofrece todas las capacidades de conexión necesarias.
También como en algún caso anterior, la conexión a los sensores se hará a través de
Arduino, que permitirá una interacción directa con los mismos y la posibilidad de encapsularlos
en una unidad o nodo que intercambiará información con el sistema de control, ubicado
físicamente en la placa Raspberry Pi.
Software:
Sistema operativo y middleware
Como sistema operativo se utilizará Raspbian en Raspberry Pi, sobre el que se instalará
el middleware ROS.
En este robot hay dos funcionalidades complejas para programar: el movimiento y la
capacidad de aprendizaje.
En cuanto a la primera, requiere el control muy preciso de los servomotores, en ROS
hay herramientas que permiten interactuar con estos accionadores. Para tener información de
la postura del robot en todo momento se ha propuesto, en el apartado de sensores, una IMU
(unidad de medición inercial), el control de esta unidad se hará a través de Arduino, en [121],
se puede consultar un tutorial que explica cómo realizarlo. Para la programación de los
algoritmos de control de movimiento, se propone el "Zero Moment Point", concepto en el que
están basados los robots bípedos más avanzados, como por ejemplo ASIMO [122]. En ROS hay
varias API al respecto: walk_tools [123], jrl_walkgen_bridge [124],... También pueden
consultarse artículos académicos al respecto: [126][127][128][129].
En cuanto a la segunda, en el apartado dedicado a la robótica de entretenimiento se
citó [117], donde se dan indicaciones sobre cómo modelar comportamientos basados en el
aprendizaje. En concreto el planteamiento de conductas representadas por autómatas finitos
Página 114 de 143
MODELADO DE UN ROBOT
con una carga aleatoria en las transiciones entre estados, carga que se puede variar en función
del feedback obtenido. ROS ofrece una herramienta para el modelado y simulación a través de
autómatas finitos, también citada anteriormente: SMACH [97].
Para el resto de funcionalidades habría que implementar la posibilidad de reconocer
sonidos y palabras (Audio/Speech Recognition [98]), reconocimiento de caras
(face_recognition [125]).
Para la gestión de Arduino desde ROS: rosserial_arduino [98].
Conectividad y comunicaciones
Este robot debe poder conectarse a Internet a través de WIFI. Para ello se instalará un
adaptador WIFI para Raspberry Pi [135].
Con esta conexión a Internet el robot puede conectarse a contenidos que le permitan
leer las noticias o dar el estado del tiempo al usuario.
Interfaz Hombre-Máquina
La interacción fundamental entre el usuario y robot será a través de voz y contacto
físico. Las acciones que realizará el robot serán autónomas según el motor de comportamiento
programado.
Se desarrollará una aplicación web que permita mantener una comunidad de usuarios
del robot, donde se puedan intercambiar experiencias y pautas de conducta, aprendizajes,....
Esta aplicación también permitirá interactuar con el robot, a través de Internet o a través de
USB de forma se puedan prefijar una serie de pautas de conducta, o guardar el estado del
robot, nivel de aprendizaje, para experimentar otros comportamientos y poder regresar luego
a uno ya guardado.
5.4. Ancianos y enfermos
En el modelado de robots dedicados a ancianos y enfermos habría que diferenciar en
principio si se trata de un apoyo físico o psíquico y social, tal y como se ha presentado
anteriormente al hablar del estado del arte de este tipo de robots. Si se trata de robots de
compañía o de apoyo psíquico, deben tenerse en cuenta factores como: entretenimiento,
aprendizaje activo, compañía, esto puede ayudar mucho a los mayores que, en la sociedad
actual y de futuro, adolecen de atención y de incentivos para mantener sus facultades.
A continuación se darán orientaciones para el modelado de un robot para apoyo
psíquico que podría utilizarse con ancianos o con niños con deficiencias en sus capacidades de
interacción social.
Hardware:
Infraestructura física
Este tipo de robot tiene que tener un aspecto amigable, amable, habría que seguir la
tendencia de basarlo en la forma de algún animal: un gatito, un cachorro de perro. Optar por
Página 115 de 143
MODELADO DE UN ROBOT
una forma humanoide lo orientaría más al trabajo con niños, por ejemplo niños con autismo,
como se ha visto en el ejemplo contado en el apartado de interacción social, donde se utilizan
terapias basadas en la imitación de movimientos.
El exterior del robot debe ser blando, el abrazo, las caricias, son terapias que ayudan
en el tratamiento de personas abandonadas o faltas de cariño.
Como fuente de energía se utilizará una batería de LI-PO, recargable a través de
conexión USB.
Actuadores
El robot debe interactuar con el usuario a través de movimientos, sonidos, muecas. Por
ello deberá tener motores para la realización de movimientos, otra vez se utilizará el elemento
motor de la robótica, el servomotor. Para la emisión de sonidos contará con altavoces.
Para mostrar otro tipo de "sentimientos" podría optarse por tener la posibilidad de
realizar gestos, también se haría a través de motores, esto reforzaría la parte de emisión de
sonidos. También podría tener interés el que el robot tuviera algún tipo de pantalla, que le
permitiera mostrar imágenes o pequeños videos.
Sensores
La sensórica de este robot debe emular la capacidad de sentir de un ser vivo.
Debe ser capaz de sentir, para ello debe tener sensores de presión y también percibir
cambios de temperatura, a través de otro sensor.
Debe responder a estímulos visuales y sonoros, para ello debe estar dotado de una
cámara que permita implementar la capacidad de visión artificial. Es importante que reconozca
a los usuarios, por reconocimiento facial y por voz.
También podría añadirse sensores del tipo IMU (unidades de medida inerciales); de
forma que se pueda saber si el robot está al revés o si se le está moviendo con violencia, para
que sea capaz de responder a estos estímulos.
Infraestructura de control
Como se ha dicho este robot debe tener capacidad de procesar imágenes y también
debe desarrollar una conducta basada en aprendizaje e inteligencia artificial, por ello debe
tener un hardware de control que permita su implementación. Se propondrá Raspberry Pi.
Para la obtención de señales de los sensores se utilizará la placa Arduino. En un
apartado anterior ya se han dado detalles de cómo intercomunicar estos elementos hardware.
Página 116 de 143
MODELADO DE UN ROBOT
Software:
Sistema operativo y middleware
Al basar el hardware en Arduino y Raspberry Pi, el sistema operativo utilizado será
Raspbian, sobre el que se instalará el middleware ROS, que proveerá las herramientas
software para el funcionamiento del robot.
Tal y como se ha comentado anteriormente, ya que el robot estará provisto de
sensores de fuerza, temperatura, IMU, ... en [98], pueden consultarse las interfaces para
dichos sensores.
En especial se ha dicho que el robot debe implementar capacidades de aprendizaje e
IA, en el entorno de ROS, este punto también está recogido, con lo cual se aconseja explorar
las posibilidades que permite el paquete "knowrob"[114].
Conectividad y comunicaciones
La posibilidad de conexión a Internet, también plantea interés ya que permitiría
interactuar con el usuario dando, por ejemplo, información sobre el tiempo, información sobre
actualidad. Ya se sabe lo que le gusta a los mayores la información sobre el tiempo.
Para la realización de esta conexión a Internet se puede dotar a la placa Raspberry Pi
con un adaptador WIFI [135].
Interfaz Hombre-Máquina
La interacción con este tipo de robot se hará a través de la voz y a través del tacto.
Para la configuración básica del robot, se creará una aplicación de escritorio, que
conectando el robot a un ordenador a través de USB, permita ajustar parámetros como, por
ejemplo, la conexión WIFI.
Si se trata de robot para apoyo físico, el diseño cambiaría. En este apartado se darán
las características deseables para un robot de este tipo.
Hardware:
Infraestructura física
En este tipo de robots el control de los movimientos es crucial así como el material
utilizado para la estructura ya que tendría que aunar las características de ligero y resistente.
Se podrían proponer dos diseños: tipo exoesqueleto, demandaría un diseño físico del
prototipo laborioso y exigente frente a utilizar un elemento como una silla de ruedas y darle
funcionalidades que permitan robotizarla. Obviamente en este último caso se parte ya de la
infraestructura física.
Para el modelado y diseño de esta parte se podría utilizar la herramienta de ROS,
URDF, comentada anteriormente.
Página 117 de 143
MODELADO DE UN ROBOT
En cualquiera de estos dos diseños hay que tener en cuenta el consumo de energía y la
autonomía. También en este punto un diseño de exoesqueleto plantea más dificultades a la
hora de integrar la batería, ya que pesa y ocupa espacio. En una silla de ruedas en la parte de
debajo del asiento habría sitio para ubicar la batería, en este caso el peso de la misma ayudaría
a darle estabilidad mecánica al bajar el centro de gravedad.
Actuadores
Una vez más el motor eléctrico sería el actuador a tener en cuenta. Tanto para el
diseño de un exoesqueleto, como para el de una robotización de una silla de ruedas se
utilizarán servomotores.
Sensores
En cuanto a los sensores, si se trata de un diseño tipo exoesqueleto o una prótesis
robotizada, habría que fijarse en la posibilidad de poder captar las señales cerebrales
directamente. En este trabajo se han citado ejemplos tanto de exoesqueletos con este tipo de
control [21] , así como de empresas (españolas) que investigan en la adquisición e
interpretación de este tipo de señales electromiográficas [39]. En [71] se puede consultar y
comprar un dispositivo que permite adquirir este tipo de señales.
En caso de la robotización de una silla de ruedas, hay que buscar sensores que
permitan detectar obstáculos, para evitar colisiones. Se dotará de un telémetro láser (laser
range finder) y sonar. Además de estos elementos, también se añadirá una unidad de medida
inercial (IMU), que permita detectar la inclinación para evitar accidentes por pérdida de la
estabilidad.
Una funcionalidad a incluir en este tipo de diseños debe ser la posibilidad de medir
indicadores de salud: presión sanguínea y pulso. En el caso de la silla de ruedas se añadirá una
célula de carga que permita medir el peso de la persona que se siente en la silla. En pacientes
con movilidad reducida el control de peso es fundamental, ya que al no moverse tienen
tendencia a sufrir obesidad y demás problemas derivados.
Infraestructura de control
También en este apartado se tendrán en cuenta distintas opciones en función de un
diseño tipo exoesqueleto y en la robotización de una silla de ruedas.
En el caso de un exoesqueleto, se necesita un sistema en tiempo real. La reacción es
vital ya que cualquier desequilibrio por un retardo en la acción puede tener consecuencias
fatales. Por ello se utilizará un sistema basado en microcontrolador. En este trabajo, en estos
casos se ha optado por Arduino, habría que profundizar en si es capaz de gestionar los
algoritmos de cálculo necesarios para el control de una estructura de este tipo. En caso de
necesitar un apoyo para la realización de cálculos matemáticos se podría optar por una FPGA.
Para la silla de ruedas robotizada se utilizará un ordenador de una placa como
Raspberry Pi, para centralizar el control. Y para la conexión de los sensores se utilizará una
placa microcontroladora Arduino. Este esquema, explicado en la introducción de este
Página 118 de 143
MODELADO DE UN ROBOT
apartado, permitirá encapsular los sensores en nodos de ROS, que publicarán las lecturas
obtenidas por medio de tópicos a los que estará suscrito el nodo central de control (en
Raspberry Pi) y en función de lo que gestionará las órdenes a los actuadores.
Software:
Sistema operativo y middleware
Tanto para el exoesqueleto como para la silla robotizada, se utilizará Raspbian sobre
Raspberry Pi. En este sistema operativo se instalará ROS como middleware soporte de la
infraestructura de control.
En el caso del exoesqueleto, se podrían plantear problemas con la velocidad de
control. Cualquier problema en el retardo en la ejecución de los algoritmos de control, podría
tener como consecuencia el desequilibrio del exoesqueleto y en consecuencia un accidente
grave al que lo usa. Por tanto, en este sistema de control podría plantearse la necesidad de
cambiar un poco la arquitectura, incluyendo microprocesadores dedicados a la ejecución de
los cálculos de algoritmos, con una función más específica o especializada que la que se puede
conseguir con placas como Arduino. Se plantearía la inclusión en el sistema de FPGAs,
especializadas en los cálculos y la interacción con los actuadores.
Conectividad y comunicaciones
Partiendo del hecho de que un mismo diseño de robot no puede satisfacer todas las
necesidades que podría tener un anciano o enfermo ([10] [11]), el diseño debería tener la
posibilidad de interconexión con redes de servicios robotizados. En este contexto el robot
debería tener la capacidad de ser parte de un equipo de robots que, juntos satisfagan las
necesidades potenciales de una persona mayor. Para ello debería exponer sus funcionalidades
y disponibilidad a un sistema centralizado que lo coordinara con las demandas y necesidades
de los usuarios.
Interfaz Hombre-Máquina
La interfaz de interacción del usuario con el robot en este tipo de diseños debería ser
muy avanzada y seguir la tendencia de alguno de los prototipos presentados en este trabajo,
de ser capaces de interpretar las señales cerebrales, ya que el usuario potencial podría estar
privado de capacidades motoras. Este tipo de interacción sería la fundamental para un robot
tipo exoesqueleto.
En el caso de la silla de ruedas robotizada, se plantearán otros métodos de interacción
como joystick, tablet y voz. En la introducción de este apartado se dio un ejemplo de control
de un dispositivo de estas características a través de la voz[83].
La posibilidad de programar una interfaz de control a través de la tablet, permite un
intercambio de información más completo. Como se dijo el robot tiene la posibilidad de
realizar medidas de la salud y el peso del usuario de la silla. Con una interfaz gráfica, se pueden
mostrar estos datos de una forma atractiva, pudiendo memorizarse y realizar seguimientos en
el tiempo.
Página 119 de 143
MODELADO DE UN ROBOT
5.5. Tareas domésticas
En el modelado de un robot para la realización de tareas domésticas, el factor
fundamental es el entorno del hogar, es decir una gran variedad de objetos distintos, unos
recorridos plagados de obstáculos, interacción directa con los humanos. También, como se ha
comentado en el apartado 3.4, las tareas domésticas son simples desde el punto de vista del
sentido común, pero no lo son desde el punto de vista de un robot. A continuación se indican
las características deseables o que habría que prever en el modelado de un robot para este fin
en base a los diseños actuales, diferenciando en el caso de que existan características
específicas.
Hardware:
Infraestructura física
Actualmente el diseño de robots que se está teniendo éxito en los hogares es el de los
robots aspirador. En este caso el punto fundamental a tener en cuenta es la gestión de la
navegación del robot por la casa.
Otro diseño que se está empezando a comercializar en el momento que se escribe, es
el que permite telepresencia, una especie de "skype" móvil. En este caso a una base capaz de
navegar por la casa habría que añadir un soporte para un dispositivo tipo pantalla en el que se
visualice a la persona con la que se está comunicando, que también incluya una cámara para
emitir lo que "ve" el robot.
Si se pretende dar un paso más se podría incluir brazos robotizados a este robot móvil
para aumentar el abanico de trabajos a realizar. El hecho de que tenga que manejar diferentes
útiles y manipular una gran variedad de objetos de distinto tamaño, rigidez, fragilidad,
obligaría a que sus dispositivos para el agarre sean muy avanzados, con un sentido del tacto
implementado a través de sensores.
Actuadores
En el caso de robots del tipo aspirador, el movimiento del robot se implementará con
motores eléctricos. Con un par de servomotores brushless se podrá implementar el
movimiento.
En los robots tipo corta-césped, se necesitaría añadir un motor más para la
herramienta de corte, este motor no necesitaría servocontrol.
En los robot que permiten presencia remota habría que incluir las pantallas con
altavoces para la imagen de la persona que se conecta al robot para visualizar y la cámara que
capturará las imágenes del entorno del robot. Esto también puede realizarse con una tablet.
Para los brazos robotizados del diseño más innovador, se necesitarían servomotores
en las articulaciones para permitir su movimiento y posicionado. Lo mismo para el dispositivo
de agarre y manipulación de objetos.
Página 120 de 143
MODELADO DE UN ROBOT
Sensores
La movilidad en un entorno lleno de obstáculos es una tarea a acometer. Para ello el
robot tendría que estar dotado de sensores que permitan detectar obstáculos junto con la
posibilidad de construir mapas para su utilización luego en el guiado.
En los robots domésticos para cortar el césped, habría que incluir sensores para
detectar la hierba y sensor GPS para la detección de la ubicación y apoyo para el guiado.
Como se ha comentado para la implementación de la telepresencia se necesitará una
cámara que permita la captura de imágenes y sonido, para enviarlos a la ubicación desde la
que se conecta al robot. Este elemento puede estar incluido en una tablet.
Infraestructura de control
Se mantendrá el esquema de control planteado en la introducción. Se usará hardware
libre: Raspberry Pi como ordenador central y coordinador y placas de Arduino en la interacción
directa con sensores y actuadores.
Software:
Sistema operativo y middleware
Como en los diseños anteriores basados en Raspberry Pi y Arduino, el sistema
operativo a utilizar será Raspbian y el middleware ROS.
En el desarrollo de un robot móvil para el hogar, del tipo aspirador autónomo, se
puede partir de la información disponible en ROS, sobre el dispositivo Roomba[153]. En esta
referencia se pueden encontrar los drivers para sensores y actuadores, código para realizar
simulación en 2D. Esta información es muy valiosa porque se parte de un ejemplo en el que se
implementa la navegación por el hogar, por tanto también puede ser aprovechado para el
robot que permita telepresencia.
Si se plantea un diseño de robot más avanzado, que pueda realizar tareas más
complejas en el hogar, como recoger una mesa, poner un lavavajillas, habría que aprovechar
los desarrollos ya realizados con brazos robotizados para la manipulación de objetos y
desarrollar software para la implementación de inteligencia artificial.
En relación con esto último en el apartado 3.5, basado en [5] , se comentó una
experiencia en la que se pretendía desarrollar un sistema basado en el sentido común, para la
realización de tareas por parte de un robot en el entorno doméstico. En base a esta
experiencia se plantea seguir con esta propuesta para el desarrollo de la inteligencia artificial
de este tipo de robots. Con el acceso a Internet y con la posibilidad de instalación en el sistema
operativo propuesto, de una base de datos de conocimiento, la infraestructura software
permitiría, a priori, la implementación.
Conectividad y comunicaciones
En los robots tipo aspirador o corta-césped, las funcionalidades basadas en
comunicaciones no son, a priori, necesarias, salvo alguna actualización de software.
Página 121 de 143
MODELADO DE UN ROBOT
La capacidad de interconexión sería fundamental, por ejemplo en el caso de un
servicio de telepresencia para un robot dedicado a tareas domésticas. Esta comunicación
podría implementarse con un acceso a internet vía WIFI, para ello se instalará un adaptador
WIFI para Raspberry Pi [135].
Esta interconexión a internet también sería precisa si se plantea un aprendizaje del
robot en el contexto del sentido común, explicado en un apartado anterior, ya que habría la
necesidad de acceder y actualizar los contenidos de las bases de datos de conocimiento[5] .
Interfaz Hombre-Máquina
Interfaz sencilla de programación, las personas que van a interactuar con el robot no
serán expertos. En diseños del tipo aspirador autónomo con un botón de marcha y uno de
paro sería suficiente, el sistema de navegación del robot por la casa se encargaría del resto.
Para la interacción con el sistema de telepresencia, se desarrollará una app, que
permita configurar los parámetros fundamentales para su funcionamiento, en principio, la
conexión con la WIFI, que permita a su vez el acceso a Internet.
En el extremo de control se creará una aplicación de escritorio o aplicación web que
permita conectarse remotamente al robot. Esta aplicación debe permitir el movimiento del
robot de una forma sencilla e intuitiva por la casa. También mostrará las imágenes y
reproducirá el sonido captado por la cámara remota.
5.6. Entorno militar
A continuación de indicarán las consideraciones hardware y software a tener en
cuenta en el modelado de un robot para el entorno militar.
Hardware:
Infraestructura física
La infraestructura física de un robot para uso militar viene fijada por el tipo de entorno
en el que va a trabajar: tierra, mar o aire. De forma que los robots militares suelen ser
físicamente igual que los vehículos que han sido diseñados para ser pilotados, en los que el
pilotaje se sustituye por un control robotizado.
Hay excepciones a lo comentado en el párrafo anterior, por ejemplo, los robots que se
están desarrollando para la asistencia y actuación en zonas en las que se ha producido un
desastre, este tipo de robots suelen ser de apariencia humanoide con unas capacidades físicas
muy grandes. Otra excepción serían los exoesqueletos tipo Robocop o Ironman, que en el
momento en que esto se escribe, parece ser que es un objetivo en desarrollo por parte del
gobierno de los Estados Unidos como dotación para su ejército.
Actuadores
En este tipo de robots los actuadores tendrán unas características de potencia y
autonomía mucho más exigentes. Se seguirán usando motores eléctricos, pero dado que los
Página 122 de 143
MODELADO DE UN ROBOT
esfuerzos realizados serán mayores, temas como sobrecalentamientos y gestión del consumo
serán muy importantes y a tener en cuenta.
En otros casos el motor eléctrico se tendrá que sustituir por motores de combustión
interna, ya que las exigencias de autonomía no harán adecuado el uso de motores eléctricos
alimentados con baterías.
Otros actuadores prácticamente exclusivos de estos robots serían los relacionados con
el armamento. En este tema el planteamiento de hardware abierto, se cierra, habría que
contactar con los fabricantes de este tipo de elementos para obtener información sobre las
interfaces de control.
Dispositivos prensiles también deben tenerse en cuenta en robots para desactivación
de minas o explosivos.
Sensores
Un común denominador en los robots militares es la captura de imágenes, ya que
muchas de las funciones realizadas por este tipo de robots es la de vigilancia. Luego estos
robots estarán dotados de cámaras de gran calidad, con la posibilidad de captura de imágenes
en entornos con baja iluminación (cámaras nocturnas) o en ambientes con gran polución
(polvo de explosiones, gas, ...).
En los robots para detección de cuerpos peligrosos, minas, explosivos se necesitan
sensores específicos como detectores de metales.
Radares serán precisos en casi cualquier entorno. En el mar o en robots submarinos
habrá que instalar sonar.
En los diseños de drones hay que instalar unidades de medida inerciales (IMU), para
poder controlar la posición exacta del robot.
También en cualquier diseño de este tipo de robots, hay que prever la instalación de
un localizador GPS, de alta gama, es decir, con un bajo error en la obtención de la posición. En
este caso el poder acceder a satélites utilizados por los militares, la precisión es mayor que en
los usos civiles.
Infraestructura de control
Se mantendrá la estructura propuesta en los apartados anteriores y la planteada en la
introducción de utilizar un sistema de control central basado en ordenador y la interacción con
sensores y actuadores a través de placas microcontroladas dedicadas. En este tipo de robots la
exigencia sobre el coste no suele ser un condicionante frente a otras cuestiones como
fiabilidad y seguridad, así que no se hará hincapié en la utilización de hardware libre.
Otro condicionante que puede establecer la utilización de un hardware u otro es la
interacción con actuadores tan particulares como puede ser el armamento, esto puede fijar el
hardware a utilizar. Igualmente al tratarse de diseños para el sector militar, los propios
Página 123 de 143
MODELADO DE UN ROBOT
sistemas ya utilizados en otro tipo de equipamiento puede fijar igualmente el hardware a
utilizar.
Si no hay ningún tipo de restricción o condicionante, se utilizará el mismo sistema
planteado de Raspberry Pi como unidad central y Arduino para la interacción con actuadores y
sensores.
Software:
Sistema operativo y middleware
Lo comentado para el hardware también puede tenerse en cuenta en el software.
Existe la posibilidad de que el uso de determinados actuadores y sensores tan específicos, fijen
el software a utilizar, eliminando la libertad de plantear un software libre.
En caso de que no haya restricciones se planteará, como en los casos anteriores, el uso
de Raspbian en la Raspberry Pi, y la instalación de ROS sobre este sistema operativo, para
tener las funcionalidades de los paquetes y herramientas de ROS para el control de actuadores
y sensores.
Los paquetes software a explotar serían los que den funcionalidad para la navegación
autónoma y, como se verá en el apartado de comunicaciones, el software que gestione estas
comunicaciones con solvencia.
Conectividad y comunicaciones
En este tipo de robots, en este apartado hay que tener dos temas fundamentales en
cuenta. Por un lado el hecho de que el control del robot puede estar a miles de kilómetros de
donde se mueve el robot, obliga a explorar las comunicaciones basadas en satélite. Por otro
lado las comunicaciones tienen que ser muy seguras, en el intercambio de información habría
que utilizar algoritmos de encriptación para evitar problemas de intromisión.
Como alternativa a explorar en las comunicaciones, en [154] se describe como se
puede utilizar las redes móviles 3G, 4G, como sustitución de las comunicaciones por satélite,
en la búsqueda de un abaratamiento de las mismas y para uso, en principio, civil. Es de interés
cómo, a través de un algoritmo de control, el vehículo evita las zonas sin cobertura.
En los robots controlados a través de joystick, por ejemplo los detectores de minas o
los robots para reconocimiento, en los que hay contacto visual, las interfaces de control se
comunicarán con el robot a través de radiofrecuencia, de una forma similar a los equipos de
aeromodelismo.
Interfaz Hombre-Máquina
En la exposición del estado del arte de la robótica militar en el apartado 3.6, se
mostraron los dispositivos de control necesarios para este tipo de robots. En general en los
robots del tipo telemandados, se necesitan dos grupos de aplicaciones de control; la que se
encarga del movimiento del dispositivo y la que se encarga de la obtención y visualización de
los datos de los dispositivos de monitorización instalados.
Página 124 de 143
MODELADO DE UN ROBOT
Para el control del movimiento, en función del medio para el que vaya a utilizar el
robot, se reproducirán los controles a los que tendría acceso un piloto en caso de estar a
bordo.
En robots del tipo de detección de minas o de vigilancia, el control de movimientos se
hará a través de controles tipo joystick o del tipo HaWC (HArm's Way Controller).
La visualización de datos se hará a través de pantallas donde se proyecten las
imágenes recogidas, con la posibilidad de grabación.
En entornos de acción, por decirlo de alguna manera, donde la información recogida
sea por parte de hombres en movimiento, se pueden obtar por visualizadores tipo gafas, en el
apartado 3.6 se han nombrado las "Tac-eye"[95]y, en el momento en que se escribe, se han
comenzado a comercializar, en USA, las "google glass"[155].
Página 125 de 143
MODELADO DE UN ROBOT
Página 126 de 143
CONCLUSIONES Y TRABAJO FUTURO
6. Conclusiones y trabajo futuro
En este trabajo se ha mostrado el presente y el futuro de la robótica. Se presenta como
un sector prometedor, en pleno desarrollo y con innumerables aplicaciones y oportunidades.
La complejidad y refinamiento técnico que conlleva se está tratando de una forma
universal, "Open-Source" a través de plataformas que pretenden establecer un punto de
partida avanzado, que permite que la investigación de cualquiera se aproveche de ellas y sume
sus esfuerzos. Surgidas de universidades o de entidades públicas, el común denominador es la
apertura y el carácter multicultural de sus componentes. Esto se ha puesto patente en la
presente investigación al constatar que la mayoría de los diseños de robots tienen su particular
versión en diferentes países, obviamente "interinspirados", si se permite la palabra.
A partir de este trabajo, lo siguiente sería ponerse manos a la obra y realizar o
implementar algún tipo de sistema robotizado. En particular se podría plantear la
implementación, en alguna plataforma "Open-Source" de hardware, el funcionamiento de las
plataformas de middleware existentes.
Otro campo indicado en este trabajo, apasionante y novedoso, sería el realizar
investigaciones en inteligencia artificial basadas en sentido común, y su aplicación a la
educación. Algún sistema de búsqueda robotizada de la motivación para adquirir
conocimiento, algo que aparentemente en los sistemas de educación actuales se está
perdiendo.
6.1. Resumen de investigación
Para la realización de este trabajo se ha consultado la documentación de los últimos
eventos en el campo realizados en el mundo y se ha consultado masivamente el universo web.
Para la exposición del estado del arte de la robótica, se ha hecho una presentación de diversos
robots, indicando sus características más novedosas y su aspecto. En cuanto a la interacción
social de robots y humanos, se ha basado en recientes experimentos realizados en la
profundización en esta relación.
La búsqueda de información acerca del hardware libre se hizo utilizando las páginas
web de los fabricantes o desarrolladores. Estas páginas web, además de dar todos los datos
técnicos del hardware, enlazan con abundante documentación elaborada por usuarios. Esta
documentación tiene gran valor, porque en la gran mayoría de los casos, se trata de
experiencias llevadas a cabo o implementadas y que están funcionando. Así mismo, estas
páginas están muy actualizadas y vivas.
Para el modelado de los nuevos diseños de robots se consultó concienzudamente la
web de ROS, también como en el caso anterior muy actualizada y con una comunidad de
usuarios muy activa, tanto en responder a dudas como en publicar mejoras. Esta web de ROS
cuenta con decenas de tutoriales que facilitan la utilización de sus herramientas. Dichos
tutoriales están actualizados y funcionan, como parte de este trabajo, se ha seguido alguno de
ellos, en una búsqueda de entender correctamente la funcionalidad para luego proponerla
como solución en el caso de modelado de un robot.
Página 127 de 143
CONCLUSIONES Y TRABAJO FUTURO
6.2. Contribuciones
Como contribución más destacable de este trabajo es la reflexión, fruto de la
investigación realizada, sobre cómo enfocar el diseño y el modelado de un robot. Esta reflexión
pretende dar un punto de partida para quien quiera ponerse manos a la obra y construir un
robot.
El enfoque general del modelado lleva a la utilización de hardware y software libre,
que no solo permite que el proyecto resulte más económico, sino que permite aprovecharse
de la amplia comunidad de personas que ya han realizado proyectos similares, haciendo la
tarea más corta y alcanzable, dando también la oportunidad a contribuir.
La exposición del estado del arte ha pretendido ser ligera y asequible a cualquiera,
mostrando un suficiente número de imágenes que permitan tener una idea clara de los
diseños actuales y futuros de los robots. Con los enlaces y referencias incluidos, se puede
acceder a los sitios webs donde hay un gran número de videos que ayudan enormemente a
aclarar cualquier duda que surja de las imágenes y de las explicaciones dadas.
6.3. Problemas encontrados
El hecho de que casi toda la documentación consultada y la terminología del sector
esté en inglés, ha hecho difícil la traducción, ya que dicha terminología suele utilizarse en
inglés. También se ha hecho un gran esfuerzo por no abusar de las siglas, algo totalmente
universalizado en la técnica y en todo lo relacionado con la informática y, por tanto, en la
robótica.
Otra dificultad encontrada en la realización de este trabajo ha sido el exponer
independientemente el estado del arte de la robótica y el estado del arte de la interacción
social entre robots y humanos, ya que gran parte de las novedades en robótica son, en
particular, en el desarrollo de dicha interacción social. Para ello se ha intentado ilustrar una a
través de distintos robots, como si de la presentación de un elenco de actores se tratara, y por
otro lado la interacción social a través de experiencias y experimentos realizados con estos
actores.
En la búsqueda de ejemplos de aplicación de sistemas robotizados basados en
plataformas abiertas tipo computador, como Raspberry Pi, no ha sido posible encontrar
diseños y arquitecturas concretas y detalladas de robots industriales o relacionados con
empresas de robótica. Los ejemplos accesibles son fundamentalmente en el entorno de la
investigación y la educación, lo cual, por otro lado es lógico ya que dichos entornos han sido el
objetivo de los desarrolladores de este producto.
6.4. Trabajos futuros y mejoras
Como se ha indicado en la introducción a este apartado, el trabajo futuro sería el
ponerse manos a la obra y diseñar un prototipo, ya sea de un robot propiamente dicho, de un
servicio robotizado o de una pieza para añadir a alguna de las plataformas de middleware
existentes.
Página 128 de 143
CONCLUSIONES Y TRABAJO FUTURO
En esta línea una posible mejora o añadido al presente trabajo sería un estudio del
estado del arte en las plataformas middleware y de comunicación, para el diseño y desarrollo
de robots o de servicios robotizados. Fruto de este estudio se podría saber en qué ámbitos se
puede investigar para añadir nuevas funcionalidades y de las funcionalidades ya existentes
saber tiempos medios para su puesta en funcionamiento en prototipos.
Página 129 de 143
CONCLUSIONES Y TRABAJO FUTURO
Página 130 de 143
BIBLIOGRAFÍA
7. Bibliografía
[1] Ferrati, F., Bortoletto, R., Menegatti, E. & Pagello, E. 2013, "Socio-economic impact
of medical lower-limb Exoskeletons", Advanced Robotics and its Social Impacts (ARSO), 2013
IEEE Workshop on, , pp. 19-26.
[2] Shamsuddin, S., Yussof, H., Mohamed, S., Hanapiah, F.A. & Ismail, L.I. November 79, 2013, "Stereotyped Behavior of Autistic Children with Lower IQ Level in HRI with a
Humanoid Robot", 2013 IEEE Workshop on Advanced Robotics and its Social Impacts (ARSO), ,
pp. 175-180.
[3] DirectIndustry e-magazine: Special Edition: Robotics.
[4] Rethink Robotics, recurso on-line consultado por última vez el 07/02/2014. URL:
http://www.rethinkrobotics.com.
[5] Skulkittiyut, W., Haeyeon Lee, Trung Ngo Lam, Quang Tran Minh, Baharudin, M.A.,
Fujioka, T., Kamioka, E. & Mizukawa, M. 2013, "Commonsense knowledge extraction for Tidyup robotic service in domestic environments", Advanced Robotics and its Social Impacts
(ARSO), 2013 IEEE Workshop on, , pp. 63-69.
[6] Riedo, F., Chevalier, M., Magnenat, S. & Mondada, F. 2013, "Thymio II, a robot that
grows wiser with children", Advanced Robotics and its Social Impacts (ARSO), 2013 IEEE
Workshop on, , pp. 187-193.
[7] Xiaoxiang Yu, Assaf, D., Liyu Wang & Iida, F. 2013, "Robotics education: A case
study in soft-bodied locomotion", Advanced Robotics and its Social Impacts (ARSO), 2013 IEEE
Workshop on, , pp. 194-199.
[8] Ruiz, A.F., Rocon, E., Raya, R. & Pons, J.L. 2008, "Coupled control of humanexoskeleton systems: An adaptative process", Human System Interactions, 2008 Conference
on, , pp. 242-246.
[9] Pons, J.L. 2010, "Rehabilitation Exoskeletal Robotics", Engineering in Medicine and
Biology Magazine, IEEE, vol. 29, pp. 57-63.
[10] Ceron Lopez, A.E., Fukushima, E.F., Kitano, S. & Endo, G. 2013, "Study of
framework based on roles for application development of service robots", IEEE Workshop on
Advanced Robotics and its Social Impacts (ARSO), 2013, pp. 39-44.
[11] Salah, O., Asker, A., Fath El-Bab, A.M.R., Assal, S.M.F., Ramadan, A.A., Sessa, S. &
Abo-Ismail, A. 2013, "Development of parallel manipulator sit to stand assistive device for
elderly people", IEEE Workshop on Advanced Robotics and its Social Impacts (ARSO), 2013, pp.
27-32.
[12] Shiomi, M., Kamei, K., Kondo, T., Miyashita, T. & Hagita, N. 2013, "Robotic service
coordination for elderly people and caregivers with Ubiquitous Network Robot Platform", IEEE
Workshop on Advanced Robotics and its Social Impacts (ARSO), 2013, pp. 57-62.
Página 131 de 143
BIBLIOGRAFÍA
[13] Ackerman, E. , U.S. Army Considers Replacing Thousands of Soldiers With
Robots. Available: http://spectrum.ieee.org/automaton/robotics/military-robots/armyconsiders-replacing-thousands-of-soldiers-with-robots [2014, 02/08].
[14] Hennessey, M. , Robot Used for Lifesaving Humanitarian Research in
Minesweeping. Available: http://www.clearpathrobotics.com/blog/minesweeping-robot/
[2014, 02/08].
[15] Ackerman, E. , Shrewbot Finds Its Way Around With Sensitive Whiskers.
Available: http://spectrum.ieee.org/automaton/robotics/diy/shrewbot-finds-its-way-aroundwith-sensitive-whiskers [2014, 02/08].
[16] Takei, K., Yu, Z., Zheng, M., Ota, H., Takahashi, T. & Javey, A. , Highly sensitive
electronic whiskers based on patterned carbon nanotube and silver nanoparticle composite
films. Available: http://www.pnas.org/content/early/2014/01/15/1317920111.abstract [2014,
02/08].
[17] Robot Operating System, recurso on-line consultado por última vez el 12/02/2014.
URL: http://www.ros.org/.
[18] Universal Robots, recurso on-line consultado por última vez el 08/02/2014. URL:
http://www.universal-robots.com/
[19] Kawasaki Robots, recurso on-line consultado por última vez el 08/02/2014. URL:
http://www.khi.co.jp/english/robot/product/medical_robot.html.
[20] Arduino, recurso on-line consultado por última vez el 12/02/2014. URL:
http://www.arduino.cc/.
[21] Cyberdyne, recurso on-line consultado por última vez el 23/02/2014. URL:
http://www.cyberdyne.jp/english/.
[22] RP-VITA, recurso on-line consultado por última vez el 15/02/2014. URL:
http://www.intouchhealth.com/products-and-services/products/rp-vita-robot/.
[23] David Johnson, B. 2013,
http://makezine.com/21st-century-robot/.
21st
Century
Robot,
Maker
Media,
[24] Proyecto icub (EU) , recurso on-line consultado por última vez el 16/02/2014. URL:
http://www.icub.org/.
[25] NAO, recurso on-line consultado por última vez el 22/02/2014. URL:
http://www.aldebaran-robotics.com/en/.
[26] Boston Dynamics, recurso on-line consultado por última vez el 23/02/2014. URL:
http://www.bostondynamics.com/robot_ls3.html.
[27] Lego Mindstorms, recurso on-line consultado por última vez el 23/02/2014. URL:
http://www.lego.com/en-us/mindstorms/?domainredir=mindstorms.lego.com.
Página 132 de 143
BIBLIOGRAFÍA
[28] Lego WeDo, recurso on-line consultado por última vez el 23/02/2014. URL:
http://education.lego.com/en-gb/preschool-and-school/lower-primary/7plus-education-wedo.
[29] Paro Robots, recurso on-line consultado por última vez el 05/03/2014. URL:
http://www.parorobots.com/.
[30] "Maggie", Universidad Carlos III de Madrid, recurso on-line consultado por última
vez el 08/03/2014. URL: http://roboticslab.uc3m.es/roboticslab/robot.php?id_robot=1.
[31] "ASIBOT", Universidad Carlos III de Madrid, recurso on-line consultado por última
vez el 09/03/2014. URL: http://roboticslab.uc3m.es/roboticslab/robot.php?id_robot=3.
[32] "UC3M", Universidad Carlos III de Madrid, recurso on-line consultado por última
vez el 09/03/2014. URL: http://roboticslab.uc3m.es/roboticslab/proyecto.php?id_proy=2.
[33] Proyecto "URUS", Instituto de Robótica e Informática Industrial de la Universidad
Politécnica de Cataluña, recurso on-line consultado por última vez el 09/03/2014. URL:
http://www.urus.upc.es/.
[34] Proyecto I-SWARM Universidad de Barcelona, recurso on-line consultado por
última
vez
el
09/03/2014.
URL:
http://www.iswarm.org/MainPage/Project/P_Objectives1.htm.
[35] PAL Robotics, recurso on-line consultado por última vez el 09/03/2014. URL:
http://www.pal-robotics.com/.
[36] Robotnik: Guardian, recurso on-line consultado por última vez el 09/03/2014.
URL: http://robotnik.es/es/productos/robots-moviles/guardian.
[37] Cognitive Robots, recurso on-line consultado por última vez el 09/03/2014. URL:
http://www.c-robots.com/.
[38] Departamento de Ingeniería de Sistemas y Automática de la Universidad de
Málaga, recurso on-line consultado por última vez el 09/03/2014. URL:
http://www.isa.uma.es/C8/Alacrane/default.aspx.
[39] BitBrain, recurso on-line consultado por última vez el 11/03/2014. URL:
http://bitbrain.es/es/.
[40] mOway, recurso on-line consultado por última vez el 12/03/2014. URL:
http://moway-robot.com/.
[41] Presentación de mOway en Fábrica de ideas, recurso on-line consultado por
última vez el 12/03/2014. URL: http://www.rtve.es/alacarta/videos/fabrica-de-ideas/fabricaideas-invierte-moway/1590884/.
[42] Dubowsky, S., Genot, F., Godding, S., Kozono, H., Skwersky, A., Yu, H. & Yu, L.S.,
2000, "PAMM - A Robotic Aid to the Elderly for Mobility Assistance and Monitoring: A
"Helping-Hand" for the Elderly", IEEE International Conference on Robotics and Automation,
2000. Proceedings. ICRA '00., vol. 1, pp. 570 - 576.
Página 133 de 143
BIBLIOGRAFÍA
[43] Matsuhira, N., Namatame, S., Ishida, S. & Yamaguchi, T. 2013, "Prototype
development of robot system using RT middleware and RSNP network protocol", 2013 IEEE
Workshop on Advanced Robotics and its Social Impacts (ARSO), , pp. 45-50.
[44] Open RTM (RT Middleware), recurso on-line consultado por última vez el
23/03/2014. URL: http://openrtm.org/.
[45] ConceptNet, recurso on-line consultado por última vez el 28/03/2014. URL:
http://web.media.mit.edu/~hugo/conceptnet/#overview.
[46] Aisoy Robotics, recurso on-line consultado por última vez el 30/03/2014. URL:
http://www.aisoy.com/.
[47] Aisoy, recurso on-line consultado por última vez el 30/03/2014. URL:
http://wwwhatsnew.com/2014/03/14/aisoy-un-robot-con-sentimientos-propios-disenado-enespana/.
[48] ASIMO, recurso on-line consultado por última vez el 30/03/2014. URL:
http://world.honda.com/ASIMO/.
[49] Banzi, M. Getting Started with Arduino, 3rd edn.
[50] Al-Busaidi, A.M. 2012, "Development of an Educational Environment for Online
Control of a Biped Robot using MATLAB and Arduino", Mecatronics-REM 2012, , pp. 337-344.
[51] Silva, L., Dantas, R., Pantoja, A. & Pereira, A. 2013, "Development of a low cost
dataglove based on Arduino for virtual reality applications", 2013 IEEE International
Conference on Computational Intelligence and Virtual Environments for Measurement Systems
and Applications (CIVEMSA), , pp. 55-59.
[52] Motor de desarrollo de juegos UNITY, recurso on-line consultado por última vez el
14/04/2014. URL: http://unity3d.com/.
[53] Davis, E., Nizette, B.E. & Changbin Yu 2013, "Development of a low cost quadrotor
platform for swarm experiments", 32nd Chinese Control Conference (CCC), pp. 7072 - 7077.
[54] M. Szczys. (2009) "How to write udev rules", recurso on-line consultado por última
vez el 14/04/2014. URL: http://hackaday.com/2009/09/18/how-to-write-udev-rules/.
[55] Festo: Bionic Learning Network, recurso on-line consultado por última vez el
15/04/2014. URL: http://www.festo.com/cms/es_corp/9617.htm.
[56] Osswald, S., Weiss, A. & Tscheligi, M. 2013, "Designing wearable devices for the
factory: Rapid contextual experience prototyping", International Conference on Collaboration
Technologies and Systems (CTS),pp. 517 - 521.
[57] Raspberry Pi, Wikipedia, recurso on-line consultado por última vez el 15/04/2014.
URL: http://es.wikipedia.org/wiki/Raspberry_Pi.
Página 134 de 143
BIBLIOGRAFÍA
[58] Richardson, M. & Wallace, S. 2012, Getting started with Raspberry Pi, 1st edn,
O´Reilly Media, Inc., Sebastopol CA95472.
[59] Krushinitskiy, P. & Sziebig, G. 2013, "Review of open source computing devices for
iSpace in production workshops", IEEE 4th International Conference on Cognitive
Infocommunications (CogInfoCom), 2013, pp. 677 - 682.
[60] James, A.E., Kuo-Ming Chao, Weidong Li, Matei, A., Nanos, A.G., Stan, S.-.,
Figliolini, G., Rea, P., Bouzgarrou, C.B., Bratanov, D., Cooper, J., Wenzel, A., Van Capelle, J. &
Struckmeier, K. 2013, "An Ecosystem for E-learning in Mechatronics: The CLEM project", IEEE
10th International Conference on e-Business Engineering (ICEBE), 2013, , pp. 62 - 69.
[61] Jizhong Xiao, Ramdath, K., Iosilevish, M., Sigh, D. & Tsakas, A. 2013, "A low cost
outdoor assistive navigation system for blind people", 8th IEEE Conference on Industrial
Electronics and Applications (ICIEA), 2013, pp. 828 - 833.
[62] Grabación y edición de sonido libre: Audacity, recurso on-line consultado por
última vez el 17/04/2014. URL: http://audacity.sourceforge.net/.
[63] VLC Media Player, recurso on-line consultado por última vez el 17/04/2014. URL:
http://www.videolan.org/vlc/.
[64] Carnegie Mellon University's speech group: Festvox, recurso on-line consultado
por última vez el 17/04/2014. URL: http://festvox.org/index.html.
[65] Carnegie Mellon University: CMU Sphinx, recurso on-line consultado por última
vez el 17/04/2014. URL: http://cmusphinx.sourceforge.net/.
[66] Google: phonetisaurus, recurso on-line consultado por última vez el 17/04/2014.
URL: https://code.google.com/p/phonetisaurus/.
[67] MIT Language Modeling (MITLM), recurso on-line consultado por última vez el
17/04/2014. URL: http://code.google.com/p/mitlm/.
[68] GeoCoder, recurso on-line consultado por última vez el 17/04/2014. URL:
http://geocoder.us/.
[69] Monav, generador de rutas, recurso on-line consultado por última vez el
17/04/2014. URL: http://code.google.com/p/monav/.
[70] Bionic Robohand, recurso on-line consultado por última vez el 17/04/2014. URL:
https://www.youtube.com/watch?v=sBsFDWZy_bc.
[71] Emotiv EEG, recurso on-line consultado por última vez el 17/04/2014. URL:
http://emotiv.com/.
[72] Robohand: impresión en 3D, recurso on-line consultado por última vez el
17/04/2014. URL: http://article.wn.com/view/2013/09/09/SAs_Robohand_prints_lost_digits/.
Página 135 de 143
BIBLIOGRAFÍA
[73] Chtourou, S., Kharrat, M., Ben Amor, N., Jallouli, M. & Abid, M. 2013, "Evolution of
robot programming, towards the Ubiquitous Computing era", International Conference on
Individual and Collective Behaviors in Robotics (ICBR), 2013,pp. 44-48.
[74] Rity-Sobot longs to be near you, recurso on-line consultado por última vez el
18/04/2014. URL: http://www.technovelgy.com/ct/Science-Fiction-News.asp?NewsNum=848.
[75] AppInventor, recurso on-line consultado por última vez el 18/04/2014. URL:
http://appinventor.mit.edu/explore/.
[76] Scratch, recurso on-line consultado por última vez el 18/04/2014. URL:
http://scratch.mit.edu/.
[77] Zigbee, recurso on-line consultado por última vez el 18/04/2014. URL:
https://www.zigbee.org/.
[78] Universidad Rey Juan Carlos, middleware JdeRobot, recurso on-line consultado
por última vez el 18/04/2014. URL: http://jderobot.org/Main_Page.
[79] The TERMES Project, recurso on-line consultado por última vez el 19/04/2014.
URL: http://www.eecs.harvard.edu/ssr/projects/cons/termes.html.
[80] Werfel, J., Petersen, K. & Nagpal, R. "Designing Collective Behavior in a TermiteInspired Robot Construction Team", Science, [Online], vol. 343, pp. 754-758.
[81] Robots Cubo, recurso on-line consultado por última vez el 19/04/2014. URL:
http://spectrum.ieee.org/automaton/robotics/robotics-hardware/mit-deploys-swarm-ofselfassembling-robot-cubes.
[82] Lujia Wang, Ming Liu, Meng, M.Q.-. & Siegwart, R. 2012, "Towards real-time multisensor information retrieval in Cloud Robotic System", IEEE Conference on Multisensor Fusion
and Integration for Intelligent Systems (MFI), 2012, pp. 21 - 26.
[83] Ruijiao Li, Oskoei, M.A. & Huosheng Hu 2013, "Towards ROS based Multi-Robot
Architecture for Ambient Assisted Living", IEEE International Conference on Systems, Man, and
Cybernetics (SMC), 2013, pp. 3458 - 3463.
[84] ROS en Raspberry Pi, recurso on-line consultado por última vez el 26/04/2014.
URL: http://wiki.ros.org/ROSberryPi/Setting%20up%20ROS%20on%20RaspberryPi.
[85] Comunicación ROS-Arduino, recurso on-line consultado por última vez el
26/04/2014. URL: http://wiki.ros.org/rosserial_arduino/Tutorials/Arduino%20IDE%20Setup.
[86] Puente entre ROS y Arduino, recurso on-line consultado por última vez el
26/04/2014. URL: http://wiki.ros.org/ros_arduino_bridge.
[87] Definición de NODE en ROS, recurso on-line consultado por última vez el
27/04/2014. URL: http://wiki.ros.org/Nodes.
Página 136 de 143
BIBLIOGRAFÍA
[88] Definición de TOPIC en ROS, recurso on-line consultado por última vez el
27/04/2014. URL: http://wiki.ros.org/Topics.
[89] Definición de SERVICE en ROS, recurso on-line consultado por última vez el
27/04/2014. URL: http://wiki.ros.org/Services.
[90] Definición de MESSAGE en ROS, recurso on-line consultado por última vez el
27/04/2014. URL: http://wiki.ros.org/Messages.
[91] Definición de ROSCORE en ROS, recurso on-line consultado por última vez el
27/04/2014. URL: http://wiki.ros.org/roscore.
[92] Funcionamiento de ROSCORE como MÁSTER, recurso on-line consultado por
última vez el 27/04/2014. URL: http://wiki.ros.org/Master.
[93] XM1216 Small Unmanned Ground Vehicle (SUGV), recurso on-line consultado por
última vez el 28/04/2014. URL: http://www.army-technology.com/projects/xm1216-smallunmanned-ground-vehicle-sugv/.
[94] Harm's Way Controllers (HaWC) for Unmanned Systems, recurso on-line
consultado
por
última
vez
el
28/04/2014.
URL:
http://www.esterline.com/controlsystems/MASON/HaWCControllers.aspx.
[95] Youtube: iRobot XM1216 SUGV, recurso on-line consultado por última vez el
28/04/2014. URL: https://www.youtube.com/watch?v=g6-P4MlSl8k.
[96] Drones, recurso on-line consultado por última vez el 29/04/2014. URL:
http://www.globalresearch.ca/unmanned-aerial-vehicles-uav-drones-for-military-and-civilianuse/5374666.
[97] SMACH: diseño y simulación de máquinas de estados, recurso on-line consultado
por última vez el 30/04/2014. URL: http://wiki.ros.org/smach.
[98] Sensor e interfaces de sensores en ROS, recurso on-line consultado por última vez
el 01/05/2014. URL: http://wiki.ros.org/Sensors.
[99] Tutorial, control de posición de una articulación con accionadores Dynamixel,
recurso
on-line
consultado
por
última
vez
el
01/05/2014.
URL:
http://wiki.ros.org/dynamixel_controllers/Tutorials/CreatingJointPositionController.
[100] Ejemplos de lenguaje de modelado URDF, recurso on-line consultado por última
vez el 01/05/2014. URL: http://wiki.ros.org/urdf/Examples.
[101] NAO en ROS, recurso on-line consultado por última vez el 01/05/2014. URL:
http://wiki.ros.org/nao.
[102] Video, gestión de la posición de NAO desde rviz, recurso on-line consultado por
última vez el 01/05/2014. URL: https://www.youtube.com/watch?v=5ZrUAztrtU4.
Página 137 de 143
BIBLIOGRAFÍA
[103] Rich, C., Ponsler, B., Holroyd, A. & Sidner, C.L. 2010, "Recognizing engagement in
human-robot interaction", 5th ACM/IEEE International Conference on Human-Robot
Interaction (HRI), 2010, pp. 375-382.
[104] Chien-Ming Huang & Mutlu, B. 2012, "Robot Behavior Toolkit: Generating
Effective Social Behaviors for Robots", 7th ACM/IEEE International Conference on HumanRobot Interaction (HRI), 2012, , pp. 25-32.
[105] Hold-Geoffroy, Y., Gardner, M.-., Gagne, C., Latulippe, M. & Giguère, P. 2013,
"ros4mat: A Matlab Programming Interface for Remote Operations of ROS-based Robotic
Devices in an Educational Context", International Conference on Computer and Robot Vision
(CRV), 2013,pp. 242-248.
[106] Reid, R., Cann, A., Meiklejohn, C., Poli, L., Boeing, A. & Braunl, T. 2013,
"Cooperative Multi-Robot Navigation, Exploration, Mapping and Object Detection with ROS",
IEEE Intelligent Vehicles Symposium (IV), 2013, pp. 1083-1088.
[107] DeMarco, K.J., West, M.E. & Howard, A.M. 2013, "A Simulator for Underwater
Human-Robot Interaction Scenarios", Oceans - San Diego, 2013, pp. 1-10.
[108] Inside a US Control Centre for Drones, recurso on-line consultado por última vez
el 04/05/2014. URL: http://www.military.com/video/aircraft/pilotless-aircraft/inside-a-uscontrol-centre-for-drones/1630320023001/.
[109] The air force men who fly drones in Afghanistan by remote control, recurso online
consultado
por
última
vez
el
04/05/2014.
URL:
http://www.telegraph.co.uk/news/uknews/defence/9552547/The-air-force-men-who-flydrones-in-Afghanistan-by-remote-control.html.
[110] Unmanned Cargo Ships Face Industry Resistance, Are a Good Idea Anyway,
recurso
on-line
consultado
por
última
vez
el
04/05/2014.
URL:
http://spectrum.ieee.org/automaton/robotics/industrial-robots/unmanned-cargo-ships-faceindustry-resistance-are-a-good-idea-anyway.
[111] The DARPA Robotic Challenge, recurso on-line consultado por última vez el
04/05/2014. URL: http://www.theroboticschallenge.org/.
[112] Arduino Support from MATLAB, recurso on-line consultado por última vez el
06/05/2014. URL: http://www.mathworks.es/hardware-support/arduino-matlab.html.
[113] Arduino Wifi Shield, recurso on-line consultado por última vez el 07/05/2014.
URL: http://arduino.cc/en/Main/ArduinoWiFiShield.
[114] knowrob: Infraestructura para el procesamiento del conocimiento en robots,
recurso on-line consultado por última vez el 07/05/2014. URL: http://wiki.ros.org/knowrob.
[115] Competiciones robots, recurso on-line consultado por última vez el 09/05/2014.
URL: http://wiki.webdearde.com/index.php?title=Competiciones_Internacionales.
Página 138 de 143
BIBLIOGRAFÍA
[116] Liga Nacional de Robótica, recurso on-line consultado por última vez el
09/05/2014. URL: http://lnrc.es.
[117] Sabe, K. 2005, "Development of entertainment robot and its future", Symposium
on VLSI Circuits, 2005. Digest of Technical Papers. 2005, pp. 2-5.
[118] QRIO: The Robot That Could, recurso on-line consultado por última vez el
09/05/2014. URL: http://spectrum.ieee.org/robotics/robotics-software/qrio-the-robot-thatcould.
[119] Furbies, recurso on-line consultado por última vez el 09/05/2014. URL:
http://official-furby.wikia.com/wiki/File:2012_furbys.jpg.
[120] León3D: Impresoras 3d, recurso on-line consultado por última vez el 13/05/2014.
URL: http://www.leon-3d.es/formacion.
[121] IMU Razor 9DOF con AHRS y conexión USB, recurso on-line consultado por
última vez el 14/05/2014. URL: http://blog.bricogeek.com/noticias/tutoriales/imu-razor-9-dofcon-ahrs-y-conexion-usb/.
[122] ASIMO Zero Moment Point, recurso on-line consultado por última vez el
14/05/2014. URL: http://asimo.honda.com/asimo-movement/zero-moment-point/.
[123] ROS: walk_tools, recurso on-line consultado por última vez el 14/05/2014. URL:
http://wiki.ros.org/walk_tools.
[124] ROS: jrl_walkgen_bridge, recurso on-line consultado por última vez el
14/05/2014. URL: http://wiki.ros.org/jrl_walkgen_bridge.
[125] ROS: face_recognition, recurso on-line consultado por última vez el 14/05/2014.
URL: http://wiki.ros.org/face_recognition.
[126] Park, J., Youm, Y. & Chung, W. 2005, "Control of Ground Interaction at the ZeroMoment Point for Dynamic Control of Humanoid Robots", IEEE International Conference on
Robotics and Automation, 2005. ICRA 2005. Proceedings of the 2005, pp. 1724-1729.
[127] Sardain, P. & Bessonnet, G. 2004, "Forces acting on a biped robot. Center of
pressure-zero moment point", IEEE Transactions on Systems, Man and Cybernetics, Part A:
Systems and Humans, vol. 34, no. 5, pp. 630-637.
[128] Wang, T. & Chevallereau, C. 2010, "A new control law for a 3D biped robot based
on regulation of the zero moment point and joint path", 10th IEEE-RAS International
Conference on Humanoid Robots (Humanoids), 2010, pp. 27-32.
[129] Yazdekhasti, S., Sheikholeslam, F. & Ghayour, M. 2010, "Stability analysis of
biped robot with direct control of zero moment point", The 2nd International Conference on
Computer and Automation Engineering (ICCAE), 2010 , pp. 528 - 532.
[130] Swiss National Centre of Competence, recurso on-line consultado por última vez
el 14/05/2014. URL: http://www.nccr-robotics.ch.
Página 139 de 143
BIBLIOGRAFÍA
[131] École polytechnique fédérale de Lausanne, recurso on-line consultado por última
vez el 14/05/2014. URL: http://www.epfl.ch/.
[132] ETH Zürich, recurso on-line consultado por última vez el 14/05/2014. URL:
https://www.ethz.ch/en.html.
[133] University of Zurich, recurso on-line consultado por última vez el 14/05/2014.
URL: http://www.uzh.ch/index_en.html.
[134] Dalle Molle Institute for Artificial Intelligence, recurso on-line consultado por
última vez el 14/05/2014. URL: http://www.idsia.ch/.
[135] WIFI para Raspberry Pi, recurso on-line consultado por última vez el 15/05/2014.
URL: http://www.adafruit.com/products/814.
[136] Directorio instituciones que investigan en robótica en Japón, recurso on-line
consultado por última vez el 16/05/2014. URL: http://www.jara.jp/e/en_labo/index.html.
[137] La Universidad de Tokio, recurso on-line consultado por última vez el
16/05/2014. URL: http://www.rsj.or.jp/rij_e/?page_id=51.
[138] Laboratorio Arai, recurso on-line consultado por última vez el 16/05/2014. URL:
http://www.robot.t.u-tokyo.ac.jp/ar/index.htm.
[139] Laboratorio Ota, recurso on-line consultado por última vez el 16/05/2014. URL:
http://www.race.u-tokyo.ac.jp/otalab/index.htm.
[140] Laboratorio Ishikawa Watanabe, recurso on-line consultado por última vez el
16/05/2014. URL: http://www.k2.t.u-tokyo.ac.jp/index-e.html.
[141] Laboratorio Nakamura-Okada, recurso on-line consultado por última vez el
16/05/2014. URL: http://www.ynl.t.u-tokyo.ac.jp/index.html.
[142] Laboratorio Ura, recurso on-line consultado por última vez el 16/05/2014. URL:
http://underwater.iis.u-tokyo.ac.jp/Welcome-e.html.
[143] Laboratorio Matsumaru, recurso on-line consultado por última vez el
16/05/2014. URL: http://www.waseda.jp/sem-matsumaru/.
[144] Laboratorio Takanishi, recurso on-line consultado por última vez el 16/05/2014.
URL: http://www.takanishi.mech.waseda.ac.jp/top/index.htm.
[145] Laboratorio Sugano, recurso on-line consultado por última vez el 16/05/2014.
URL: http://www.sugano.mech.waseda.ac.jp/.
[146] Laboratorio Shuji Hashimoto, recurso on-line consultado por última vez el
16/05/2014. URL: http://www.shalab.phys.waseda.ac.jp/index-e.html.
[147] Instituto de robots humanoides, recurso on-line consultado por última vez el
16/05/2014. URL: http://www.humanoid.waseda.ac.jp/.
Página 140 de 143
BIBLIOGRAFÍA
[148] MIT, investigación en robótica, recurso on-line consultado por última vez el
16/05/2014. URL: http://www.media.mit.edu/research.
[149] Carnegie Mellon, recurso on-line consultado por última vez el 16/05/2014. URL:
http://www.frc.ri.cmu.edu/.
[150] Universidad de Pennsylvania, recurso on-line consultado por última vez el
16/05/2014. URL: https://www.grasp.upenn.edu/.
[151] Universidad de Texas, recurso on-line consultado por última vez el 16/05/2014.
URL: http://www.engr.utexas.edu/.
[152] Willow Garage, recurso on-line consultado por última vez el 24/05/2014. URL:
http://www.willowgarage.com/pages/research/research-areas.
[153] ROS: Roomba, recurso on-line consultado por última vez el 20/05/2014. URL:
http://wiki.ros.org/Robots/Roomba.
[154] Ting-Yun Chi, Yi Ming, Tseng, Sy-Yen Kuo & Chih-Chiun Liao 2012, "Civil UAV Path
Planning Algorithm for Considering Connection with Cellular Data Network", IEEE 12th
International Conference on Computer and Information Technology (CIT), 2012,pp. 327-331.
[155] Google Glass, recurso on-line consultado por última vez el 20/05/2014. URL:
http://www.google.com/glass/start/.
[156] Robot Roomba, recurso on-line consultado por última vez el 21/05/2014. URL:
http://www.irobot.com/global/es/store/Roomba.aspx.
[157] Robot cortacésped Ambrogio, recurso on-line consultado por última vez el
21/05/2014. URL: http://www.ambrogiorobot.com/es/.
[158] Robot para limpieza de piscinas Dolphin, recurso on-line consultado por última
vez el 21/05/2014. URL: http://www.maytronics.com/robotic-pool-cleaners.
[159] Instalación de ROS, recurso on-line consultado por última vez el 24/05/2014.
URL: http://wiki.ros.org/hydro/Installation/Ubuntu.
[160] Martínez, A. & Fernández, E. 2013, Learning ROS for Robotics Programming,
Packt Publishing Ltd., Birmingham.
[161] ROS: Navigation Stack, recurso on-line consultado por última vez el 24/05/14.
URL: http://wiki.ros.org/navigation.
[162] Laboratorio Ohka, recurso on-line consultado por última vez el 24/05/14. URL:
http://www.ohka.cs.is.nagoya-u.ac.jp/~ohka/ohka_lab2/index_eng.html.
[163] Laboratorio Doki, recurso on-line consultado por última vez el 24/05/14. URL:
http://www.okuma.nuee.nagoya-u.ac.jp/.
[164] Laboratorio Fukuda-Vachkov, recurso on-line consultado por última vez el
24/05/14. URL: http://www.mein.nagoya-u.ac.jp/index-e.html.
Página 141 de 143
BIBLIOGRAFÍA
Página 142 de 143
ANEXOS
8. Anexos
8.1. Curriculum Vitae
Ingeniero Técnico Superior en la especialidad de Electrotecnia, intensificación en
Automática y Electrónica, por la Universidad de Vigo. Actualmente desarrolla su actividad
profesional como profesor técnico de Formación Profesional, en el Departamento de
Electricidad y Electrónica, en el IES Virgen de la Encina en Ponferrada.
Página 143 de 143

Documentos relacionados