Etimológicamente "androide" se refiere a los robots humanoides de fisionomía masculina, a los robots de apariencia femenina se les llama ocasionalmente ginoides, principalmente en las obras de ciencia ficción, aunque en el lenguaje coloquial el término androide suele usarse para ambos casos.
Planificación del movimiento
Planificación de secuencias de acciones
Inteligencia artificial
http://robotics.naist.jp/research/naisthandhp_enadj/NAIST-Hand.htm
Cabe destacar que los motores utilizados para los robots son fundamentalmente motores de corriente continua o motores paso a paso [2].
- Los motores de continua suelen controlar los giros de las ruedas. Proporcionan un par proporcional al voltaje de entrada, por lo que son fácilmente regulables. Trabajan en lazo cerrado, para poder controlar el ángulo girado. El control de estos motores puede ser de varios tipos:
Rectificación controlada por silicio
Conmutación electrónica
Modulación de anchura por pulsos (PWM)
Modulación de frecuencia de pulsos (PFM)
- Los motores paso a paso giran ángulos muy exactos y su control es de tipo digital. Este tipo de motores trabaja en lazo abierto ya que el giro del eje es conocido. Son normalmente controlados por un microcontrolador, como el HC68 o 8051; o por circuitería integrada específica para el control de estos motores, como el modelo SA1027.
El Robonova 1 cuenta con un potente microcontrolador Atmel ATMega 128 capaz de controlar toda clase de sensores y dispositivos, además de los servomotores [3]. En otras ocasiones, el control total de un robot se realiza a través de un PC, como en el caso del humanoide Robo-Tek [4].
Planificación del movimiento y de secuencias de acciones
Para poder realizar movimientos semejantes a los de los humanos es necesario elaborar un diseño previo:
Captura del movimiento humano
Mapa cinemático →Traducción de los datos del actor humano a datos entendibles por el robot
Mapa dinámico →Conseguir que los movimientos del humanoide satisfagan la estabilidad al andar y las propiedades de los actuadores
Simulación
Experimentación
La captura del movimiento humano es frecuentemente realizada mediante la mioelectricidad [6], que es una señal completamente relacionada con la fuerza muscular [7] y puede ser medida en muchos puntos simultáneamente. Actualmente, la captura del movimiento humano es frecuente en casos donde se quiere crear un personaje ficticio, pero con movimientos casi reales. Un ejemplo lo tenemos en el personaje de Gollum, de El Señor de los Anillos. En la siguiente foto podemos ver cómo se realizó dicha captura.
www.wolfmanproductions.com/images/andy_blue.jpg
Un tema realmente importante en este tipo de robots es la estabilidad. El contacto entre los pies y el suelo es crucial para la locomoción. Sería deseado que la longitud de las piernas del humanoide fuera proporcional al tamaño de los huesos humanos; de lo contrario el resultado serían caídas, pisoteo.
Existen fórmulas matemáticas que relacionan los vectores posición de los pies con constantes cinemáticas [8].
Por otra parte existen métodos de evaluación de similitud entre humanos y humanoides, que se llevan a cabo mediante el estudio de los ángulos de las articulaciones.
Un criterio destacado sobre la estabilidad es el criterio del Punto de Momento Cero (ZMP) de Vukobratovic [9]. El punto de momento cero es un concepto muy importante en la resolución del movimiento de un robot bípedo, como es el caso de los humanoides.
Mantener la estabilidad dinámica no es tarea fácil, ya que el torso del robot tiene más masa e inercia que las piernas, las cuales tienen que soportar todo el peso. El punto de momento cero es aquél en el que la componente tangencial del momento resultante de la inercia, la fuerza de la gravedad y las fuerzas externas es cero [10]. El concepto del momento cero implica el cálculo de las ecuaciones del momento angular, para garantizar que las trayectorias de las articulaciones respetan la estabilidad. Se establece una región de estabilidad, y mientras dicho punto se encuentre dentro de ella no habrá ningún problema. Dependiendo de dónde esté este punto, la estabilidad será mayor o menor.
Como podemos comprobar en la siguiente ilustración, el robot ASIMO de Honda también usa este método de estabilidad.
http://www.honda.co.jp/factbook/robot/asimo/200011/img/04_09.gif
El problema de coordinar los movimientos de un robot con múltiples grados de libertad se complica a medida que el número de articulaciones y la complejidad de sus maniobras aumentan [13]. Es posible programar explícitamente los movimientos necesarios para que el robot realice una determinada tarea, pero si las tareas se desarrollan en entornos no controlados y/o son de moderada complejidad, esta opción se vuelve inviable [14]. Un enfoque posible es descomponer el problema planificado en planificaciones globales y locales, como sub-problemas más fáciles de resolver. Se usan formas como aproximaciones geométricas para definir el camino. Esto es, se separa el espacio de trabajo 3D en múltiples capas 2D conectadas.
Inteligencia artificial
La inteligencia artificial es la ciencia que intenta la creación de programas para máquinas que imitan el comportamiento y la comprensión humana. Los humanoides requieren de una extraordinaria dotación en cuanto a inteligencia artificial se refiere, ya que se desea, cada vez más, que se asemejen todo lo posible a los humanos.
Un punto notable en relación a este tema son los algoritmos genéticos. Un algoritmo genético (AG) es una técnica de programación que imita a la evolución biológica como estrategia para resolver problemas [16]. Dado un problema a resolver, la entrada del AG es un conjunto de soluciones y una función que nos permite evaluar a cada solución candidata. Estas candidatas pueden ser correctas, aunque suelen ser generadas aleatoriamente.
http://eddyalfaro.galeon.com/geneticos.html
La mayoría de las soluciones, al ser generadas de forma aleatoria, no funcionarán y serán eliminadas. Sin embargo, por puro azar, unas pocas pueden ser prometedoras. Estas candidatas prometedoras se conservan y se realizan múltiples copias de ellas, pero las copias no son perfectas; se introducen cambios aleatorios durante el proceso de copia. Este proceso se repite una y otra vez, pudiendo encontrar soluciones muy buenas al problema. Estos algoritmos han demostrado ser una estrategia enormemente poderosa y exitosa para resolver problemas. Las soluciones que se encuentra son, a menudo, más eficientes, elegantes y complejas que las que puede proporcionar un ingeniero humano.
Como ejemplo tenemos el caso de David Andre y Astro Teller, que inscribieron en una liga de fútbol un equipo formado por robots programados mediante algoritmos genéticos. Les proporcionaron unas funciones primitivas como girar, moverse, tirar…La función que utilizaron para evaluar a las soluciones candidatas proporcionaban unos objetivos cada vez más importantes: acercarse a la pelota, golpear la pelota, conservarla, marcar goles y ganar el partido. No se suministró ningún código para enseñar específicamente al equipo cómo conseguir estos objetivos.
Programación
Escribir programas para robots es una tarea complicada, porque los robots son sistemas complejos.
Una aplicación de un robot móvil debe estar pendiente de varias fuentes de actividad y objetivos a la vez.
Un programa de un robot tiene que atender a muchas cosas simultáneamente: recoger nuevos datos de varios sensores, refrescar la interfaz gráfica, enviar periódicamente consignas a los motores, enviar o recibir datos por la red, etc. Por ello las aplicaciones de los robots suelen ser concurrentes, y por lo tanto bastante complejas. Los S.O. de los robots más avanzados incorporan mecanismos multitarea y de comunicación interprocesos [18].
Aunque hay casos de programación funcional y lógica de robots, los lenguajes más utilizados con los genéricos. La parte específica de robótica se encapsula en bibliotecas u objetos particulares. También ha habido intentos de establecer lenguajes específicos para robots, como Task Description Language (TDL) o Reactive Action Packages (RAP).
La incorporación del ordenador personal como procesador principal ha abierto el paso a lenguajes de alto nivel: Java, C, C++, Visual Basic, C#, etc. Uno de los lenguajes actualmente más extendidos es C por su potencia expresiva y rapidez. En cuanto a la simulación se refiere, se disponen de muchas herramientas que permiten simular los movimientos de robots con gran precisión y elegancia.
Un ejemplo de programación y simulación de un humanoide con Matlab es el siguiente. Se puede comprobar que no es una tarea sencilla, ya que existen multitud de bloques, pero se obtiene un trabajo muy logrado e imágenes muy realistas.
http://loslocosrh.blogspot.com/
EVOLUCION HISTORICA
podría caminar por comando de voz, hablar (usando un tocadiscos de 78-rpm),podia fumar, volar globos, y mover la cabeza y los brazos.
El E0 fue el primer intento de Honda de crear un robot humanoide que anduviera. Este robot era capaz de andar en línea recta poniendo una pierna después de la otra, sin embargo andaba muy despacio necesitando de cinco segundos entre cada paso.
El E2 de Honda tuvo el primer movimiento dinámico a 1,2 Km/h, imitando la manera de andar de los humanos.
El E3 logró una velocidad de 3 Km/h sobre superficies planas, pero todavía era necesario realizar el siguiente avance: lograr un paso rápido y estable sobre cualquier tipo de superficie sin que esto implicara la caída del robot. La investigación en los robots de la primera serie E empezó en 1986 y finalizó cinco años después.
El HRP-1S es similar en forma y tamaño al Honda P3 y fue el primer robot públicamente demostrado de las series HRP. Además de la habilidad de andar, posee una sofisticada coordinación de las extremidades superiores lo que le permite utilizar herramientas humanas e incluso operar maquinaria pesada.
ASIMO (Año 2000) ASIMO, el robot humanoide más avanzado del mundo hace su debut en el año 2000. El nombre ASIMO proviene de Advanced Step in Innovative MObility, es pronunciado "ashimo" en japonés y significa "piernas también". Este menudo robot es el resultado de catorce años de investigación por parte de Honda en la mecánica de la locomoción bípeda. Cerca de 40 de los 2000 modelos que existen del ASIMO están dando la vuelta al mundo mostrando su potencial en actos promocionales.
ASIMO X2 (Año 2002) El ASIMO X2 posee un avanzado sistema de reconocimiento facial añadido a sus capacidades de reconocimiento por voz y gestos. Este avance es el resultado de la colaboración en la investigación con científicos en el Instituto de Robótica CMU.
ASIMO (Año 2004) En Diciembre de 2004 Honda introdujo una nueva versión de ASIMO que además de mejorarlo en su diseño exterior, y aumentar su autonomía, también permitía que ASIMO corriera a 3 Km/h. Otro importante añadido fue la incorporación de pulgares opuestos en sus manos pudiendo así coger objetos además de sentir la fuerza ejercida cuando una persona cogía su mano. Todo esto añadido a la capacidad de ASIMO de navegar en su entorno sin tener que repetidamente reconstruir un mapa interno, distinguir gente de obstáculos, y su habilidad para reconocer voces, caras, y gestos permitieron que ASIMO se acercara mucho a una posible viabilidad comercial.
ASIMO (Año 2005) Los modelos anteriores de ASIMO existen como una muestra de la impresionante capacidad de Honda es sus avances en robótica en está última década pero no tienen gran utilidad aparte de en presentaciones de entretenimiento o investigación. El nuevo ASIMO 2005 se crea para aplicaciones profesionales tales como repartir café, entregar mensajes, empujar carritos, etc., además de su nueva capacidad de correr a la nada desdeñable velocidad de 6 Km/h. Esto ha hecho que Honda empiece a "contratar" ASIMOs como recepcionistas en sus oficinas principales, para después comenzar alquilarlos a otras empresas por aproximadamente 200.000€ al año.
Para permitir a ASIMO funcionar en un entorno de oficina, Honda ha desarrollado una tarjeta de telecomunicación. Esta tarjeta almacena e inalámbricamente comunica información del personal, así ASIMO puede reconocer unívocamente a sus compañeros de trabajo, además de aplicar otros reconocimientos faciales o por voz para confirmar su identidad. El hecho de que ASIMO detecte la fuerza ejercida sobre sus brazos le permite aplicar presión en los carros mientras los equilibra, o coger las manos de una persona y permitir que ésta le guíe en su movimiento.
LA ROBOTICA EN LA ACTUALIDAD
Existe una gran esperanza, especialmente en Japón, de que el cuidado del hogar para la población de edad avanzada pueda ser desempeñado por robots.[14] [15]
Los robots parecen estar abaratándose y reduciendo su tamaño, una tendencia relacionada con la miniaturización de los componentes electrónicos que se utilizan para controlarlos. Además, muchos robots son diseñados en simuladores mucho antes de construirse y de que interactúen con ambientes físicos reales. Un buen ejemplo de esto es el equipo Spiritual Machine,[16] un equipo de 5 robots desarrollado totalmente en un ambiente virtual para jugar al fútbol en la liga mundial de la F.I.R.A.[17]
Además de los campos mencionados, hay modelos trabajando en el sector educativo, servicios (por ejemplo, en lugar de recepcionistas humanos[18] o vigilancia) y tareas de búsqueda y rescate.
Proyecto Autómata Abierto. El propósito de este proyecto es desarrollar software modular y componentes electrónicos, desde los cuales sea posible ensamblar un robot móvil basado en una computadora personal que pueda ser utilizado en ambientes de casas u oficinas. Todo el código fuente es distribuido bajos los términos de la Licencia Pública General (GNU).
[1] Construcción de un robot seguidor de línea. J.E. Barco, L.E. Imbacuan, G.D. Ordoñez. Universidad de Nariño. http://www.udenar.edu.co/contenido/comunicados/images/ROBOT%20SEGUIDOR%20DE%20LINEA.pdf
[2] El control de motores para los microrrobots. Felipe Antonio barreno Herrera. http://www.depeca.uah.es/alcabot/seminario2006/Trabajos/FelipeBarrenoHerrera.pdf
[3] Robot humanoide Robonova 1 montado. http://www.superrobotica.com/S300405.htm
[4] El robot humanoide de Zacatepec. http://hypatia.morelos.gob.mx/No16/Notas/Robotek/robot.htm
[5] The Design and Implementation of Arm Wrestling Robot. Quanjun Song, Yuman Nie, Liankui Qiu, Jianhe Lei y Yunjain Ge. Proceedings of the 6th Congress on Intelligent Control and Automation, 21 – 23 Junio, 2006, Dalian, China.
[6] Humanoid Control Method Based on Human Knack for Human Care Service. Yuichiro Kawamura, Yoshiyuki Sankai. Doctoral Program in Engineering. Institute of Engineering Mechanics and Systems. University of Tsukuba, Ibaraki, Japan.
[7] Perry, Berkey, “EMG – force relationships in skeletal muscle”, CRC Crst Rev Biomed Eng 7, pp. 1-22. 1981.
[8] Design of Humanoid Complicated Dynamic Motion Based on Human Motion Capture. Qiang Huang, Zhaoqin Peng, Weimin Zhang, Lige Zhang y Kejie Li. Department of Mechatronic Engineering, Beijing Institute os Technolegy. Beijing, China.
[9] M. Vukobratovic, D. Juricic. “Contribution to The Synthesis of Biped Gait”, IEEE on Bio-Medical Engineering. Vol. BME – 16, No. 1, pp. 1-6, 1969.
[10] Digital Human Modeling and Virtual Reality for FCS. Dynamic Motion Prediction of Gait and Lifting. Hyung Joo Kim, Emily Horn, YuJiang Xiang, Karim Abdel Malek y Jsabir S. Arora. http://www.digital-humans.org/Report2004/Documents/07-MotionDynamics.htm
[11] RH0 Humanoid Robot Bipedal Locomotion and Navigation Using Lie Groups and Geometric Algorithms. Jose M. Pardos, Carlos Balaguer. Universidad Carlos III de Madrid.
[12] Motion planning for robots, digital actors and other moving objects.
http://ai.stanford.edu/~latombe/cs26n/home.htm
[13] Robin R. Murphy. Introduction to AI Robotics. A. Bradford Book, MIT Press Cambridge Massachussets. London, England.
http://ma.ei.uvigo.es/desma2004/articulos/Desma2004_Alonso.pdf
[15] Planning Humanoid Motions with Striding Ability in a Virtual Environment. Tsai-Yen Li, Pei-Zhi Huang. Computer Science Department, National Chengchi University. Taipei, Taiwan, R.O.C
[16] Algoritmos genéticos y computación evolutiva. Adam Marczyk.
http://the-geek.org/docs/algen/
[17] El programa General Learner (programa que aprende)
http://www.intelligent-systems.com.ar/intsyst/genlearnSp.htm