VISIÓN INVESTIGADORA
ngeniera Mecánica, Msc. Automatización industrial Universidad Nacional de Colombia, PhD. Ingeniería Mecánica Universidad de Sao Paulo (Brasil). maguzmanp@unal.edu.co.
Ingeniero de Diseño y Automatización Electrónica Universidad de La Salle (Colombia), estudiante de Maestría en Ingeniería Mecánica Universidad Nacional de Colombia. crapenaca@unal.edu.co.
El objetivo de la planeación off-line de trayectorias en robótica serial consiste en dar al efector final del robot las trayectorias necesarias para desplazarse en su espacio de trabajo y ejecutar diferentes tareas mediante un ambiente virtual en el que se simula tanto el robot como el entorno del que hace parte. En este artículo se presenta una revisión de las técnicas tradicionalmente usadas en el desarrollo y optimización de la planeación de trayectorias off-line en robots seriales. Se resaltan las bondades y carácter multidisciplinar de los algoritmos bioinspirados gracias a su uso como herramienta de búsqueda y optimización en problemas de diferentes áreas del conocimiento. Por último, son expuestas las principales aplicaciones en planeación de trayectorias off-line en las que los algoritmos bioinspirados han contribuido como alternativa para la búsqueda y optimización de soluciones en trayectorias de robots seriales.
Palabras clavePlaneación de trayectorias off-line, robot serial, cinemática inversa, algoritmos bioinspirados.
The main purpose of off-line path planning in serial robotics is to give the robot’s endeffector the needed path so it can move along its own workspace and accomplish different assigned tasks through a virtual environment where the robot and its own context (obstacles, machines, etc) is simulated. In this paper, a review of the techniques traditionally used in the development and optimization of off-line path planning optimization for serial robots is presented. The paper highlights the goodness and the multidisciplinary character of the bio-inspired algorithms, which stems from their use as a search and optimization tool for problem solving in different knowledge areas. Finally, the main applications in off-line path planning are explained together with its bio-inspired algorithms, which have made contributions as an alternative for both the search and optimization of solutions in serial robot path planning.
Key WordsPath planning, bioinspired algorithms, serial robot, inverse kinematics.
Según su funcionalidad un robot serial o manipulador industrial se define como una máquina automática de manipulación, reprogramable y multifuncional con tres o más ejes que pueden posicionar y orientar materias, piezas, herramientas o dispositivos especiales para la ejecución de trabajos diversos en las diferentes etapas de la producción industrial, ya sea en una posición fija o en movimiento [1]. Por otra parte, un manipulador según su estructura se define como un mecanismo formado generalmente por elementos en serie, articulados entre sí, con un efector final o herramienta de manipulación, destinado al agarre y desplazamiento de objetos [2].
A partir del análisis de movimiento (análisis cinemático directo e inverso) de robots seriales surge el problema de planeación de trayectorias, cuya solución permite que estos dispositivos cumplan los objetivos que tienen por definición. La forma habitual de programar trayectorias en un robot serial se denomina programación on-line y consiste en llevar al efector final del robot, mediante un control de posicionamiento (teach-box o teach pendandt), a puntos en el espacio con posiciones y orientaciones especificas, de tal forma que una vez sean grabados en el controlador del robot son interpolados todos los puntos permitiendo la ejecución de una trayectoria, con la condición de que entre más puntos puedan ser grabados mejor será la exactitud de su recorrido.
Debido a que los robots están siendo usados en procesos en los que deben recorrer superficies irregulares y en los que además deben cumplir con varios ciclos de trabajo en cortos periodos, la programación habitual se hace repetitiva y lenta llegando a gastar hasta ocho meses de programación on-line para tareas de soldadura en chasis de automóviles [3]. Aún con los entornos off-line dados por los fabricantes debe realizarse el proceso de grabar punto a punto las trayectorias, lo cual supone un aumento en la seguridad al no exponer al operario a programar en entornos peligrosos y un ahorro de energía al no usar el robot para grabar los diferentes puntos, sin embargo, el tiempo de programación es prácticamente el mismo que con el teach pendant. La planeación de trayectorias ha sido un tema ampliamente estudiado en robots móviles, debido a la naturaleza desconocida o cambiante de los espacios de trabajo que este tipo de robot debe sortear; en Masehian and Sedighizadeh [4] se realiza una revisión cronológica, desde los clásicos hasta los heurísticos, de los diferentes métodos usados para la planeación de trayectorias en robótica móvil. Sin embargo, conforme aumenta la dificultad de las aplicaciones industriales que los robots seriales deben ejecutar (en su mayoría soldadura, ensamble, pintura o prototipado sobre superficies irregulares), ha sido necesario generar mecanismos que permitan la planeación off-line de trayectorias enfocadas en este tipo de estructuras. Dicha planeación ocurre cuando se generan trayectorias en los robots antes de su implementación en un entorno real, en ocasiones basándose en perfiles desarrollados en la etapa de diseño asistido por computador (CAD) o bien sobre tareas preprogramadas en la etapa Manufactura Asistida por Computador (CAM) del proceso de fabricación [5].
Así como en robótica móvil, el problema básico de planificación de movimiento de robots seriales consiste en encontrar una trayectoria libre de colisiones entre dos puntos de configuración articular inicial y final de un manipulador [6]. De acuerdo con esto, el problema de planeación de trayectorias en robótica serial se ha subdividido en dos temas principales, planeación de trayectorias en entornos estáticos y planeación en entornos dinámicos. En el caso de los entornos estáticos, los puntos inicial, final y las regiones que serán evadidas se conocen antes de la planeación de trayectorias; en el caso de entornos dinámicos, las regiones que serán evadidas son inicialmente desconocidas [7].
Las técnicas clásicas de planeación de trayectorias off-line consisten en el desarrollo de modelos matemáticos y geométricos basados en una estructura y configuración definidas de un manipulador serial, tales como la cinemática inversa [8], la aproximación geométrica [9], el modelado de controladores de trayectoria [10], los B-splines y Jerks [11], y los polinomios cúbicos [12], entre otros. No obstante, aunque los métodos matemáticos son una solución eficiente, a medida que los manipuladores se vuelven más complejos, es decir, tienen un mayor número de eslabones o son redundantes, la técnica de modelamiento matemático se vuelve demasiado compleja de resolver y a la vez ineficiente computacionalmente. Para dar solución a este inconveniente se han desarrollado métodos alternativos como la teoría de optimización [13], la programación semiinfinita [14] y la simulación gráfica [15]; este tipo de soluciones, aunque efectivas, suponen recursos computacionales adicionales, lo que restringe su aplicación.
Como alternativa a estos métodos tradicionales de planeación y generación de trayectorias off-line en robots seriales, los algoritmos bioinspirados han sido implementados para este fin como será presentado a continuación. Todas las técnicas mencionadas serán abordadas en mayor detalle a lo largo del presente artículo, organizadas de la siguiente manera: en la sección 1 se expondrán las metodologías clásicas usadas en la planeación off-line de trayectorias en robótica serial. En la sección 2 serán reportados los principales algoritmos bioinspirados usados en la resolución general de problemas en diferentes áreas del conocimiento; en la sección 3 se mostrarán tanto casos teóricos como de aplicación industrial, en los cuales gracias a la incursión de los algoritmos bioinspirados se han logrado resultados satisfactorios en la planeación de trayectorias off-line de robots seriales industriales; y finalmente, se presentarán las conclusiones sobre el impacto que los diferentes métodos de planeación han tenido el campo industrial.
En el problema básico de planeación de trayectorias se estudia su generación y optimización tanto en el espacio cartesiano (espacio de trabajo) como el articular (del robot). Allí se busca evitar regiones de singularidad de movimiento dentro del espacio de trabajo, en aquellos puntos donde el efector final alcanza una posición deseada, pero no todas las orientaciones posibles o viceversa [16]. Como ejemplo de la optimización de trayectorias en Sahar y Hollerbach [17] se propone optimizar el tiempo de posicionamiento-orientación de un manipulador, logrando minimizar el tiempo de recorrido del efector final de un punto a otro en trayectorias predeterminadas mientras se evitan obstáculos. Este y otros tipos de análisis abren las posibilidades de cálculo de trayectorias para manipuladores seriales además de un sinnúmero de aplicaciones; por ello a continuación se presentan las principales técnicas usadas en planeación de trayectorias off-line en robótica serial y sus diferentes aplicaciones en el ámbito industrial.
Los métodos clásicos con los que se calcula la trayectoria de un robot serial se basan principalmente en los modelos matemáticos de cada estructura. En Chevallereau [18], se desarrollan las trayectorias viables de un manipulador no redundante dentro de un campo de restricciones a partir de las matrices de velocidad asociadas al mecanismo. Por otra parte, en Leng y Chen [19] se desarrolla la planeación aproximada de trayectorias basada en las ecuaciones dinámicas Lagrange-Euler asociadas a la estructura del robot. Otro caso de aproximación exitosa de planeación de trayectorias está basada en teorías de optimización, por ejemplo en Lin [20] la planeación de trayectorias para un manipulador redundante se logra aplicando una teoría de optimización de minimización de costo en el modelo cinemático inverso, logrando que el manipulador evada singularidades y evite colisiones dentro del espacio de trabajo del robot. Por otro lado, en Yao y Gupta [21] la planeación se logra proyectando un grupo de restricciones al efector final del manipulador y aplicando el método de optimización de gradientes descendentes. Los cálculos y optimización de trayectorias basados en los métodos geométricos y matemáticos suelen volverse mucho más complejos en la medida en que la configuración de los manipuladores cambia o se incluyen variables adicionales, como obstáculos o regiones singulares dentro del espacio de trabajo del manipulador, lo cual no les permite ser escalados a problemas de planeación off-line de trayectorias más elaboradas.
De manera paralela con los métodos basados en la deducción matemática, se han desarrollado métodos alternativos para planeación de trayectorias que dependen tanto de los modelos matemáticos como de mecanismos auxiliares para calcular trayectorias. Por ejemplo, en De Luca y Oriolo [22] se propone una planeación de trayectorias asistida por un control retroalimentado, lo que para su implementación sugiere requerir elementos esenciales tales como sensores, actuadores (del robot) y un controlador independiente. En otro caso, en que la planeación es asistida, son implementadas técnicas de visión artificial para realizar la programación de trayectorias por simulación [23], siendo esta una de las que más recursos demanda para su utilización dado el costo de la iluminación y cámaras de video necesarias. En Kunz [24] se usan sensores como herramienta de percepción añadida al robot, lo cual contribuye a desarrollar un mapeo del espacio de trabajo y a la vez llevar a cabo el seguimiento de la ruta del manipulador al ejecutar tareas en un entorno dinámico.
Por último, otra aproximación más económica pero que también supone recursos adicionales es propuesta en Harada [25], en ella la simulación gráfica es usada para la planeación off-line de trayectorias y los sensores actúan como medio de comprobación de las posiciones y orientaciones logradas en el entorno on-line, mientras la generación de trayectorias es primero realizada mediante simulación. Este tipo de aproximaciones se basan en elementos de modelamiento matemático y herramientas que permiten un mayor control y percepción del espacio en el que el manipulador debe interactuar; lo cual genera un mayor costo de implementación debido al aumento de los recursos usados, pero aún así prometen ser una solución bastante robusta para el problema de planeación de trayectorias gracias a los datos dados por la percepción del entorno de trabajo.
Otro de los problemas que es abordado mediante la planeación de trayectorias es la robótica cooperativa, en la cual dos o más manipuladores comparten un espacio de trabajo y desarrollan tareas en conjunto como posicionamiento de piezas, soldadura, inspección y ensamble, entre otras. En Shin y Bien [26] se establecen tres temas de vital importancia para manipuladores cooperativos; primero, el análisis de trayectorias libres de colisión con la inclusión de un obstáculo dinámico dentro del espacio de trabajo compartido por dos manipuladores; segundo, el análisis de trayectorias libres de colisiones entre dos manipuladores sin obstáculos dentro del espacio de trabajo; y por último, se trata el problema de optimización de tiempos de trayectorias basado en restricciones dinámicas en las estructuras.
De igual manera, en Zurawski y Phang [27] se establece un esquema maestro-esclavo en el que el espacio de trabajo es subdivido en regiones discretas, lo que indica que se planean trayectorias no simultaneas, lo cual es de gran utilidad posteriormente en tareas asíncronas como se observa en Cheng [28]. Un ejemplo de la coordinación de trayectorias entre tres manipuladores es logrado en Tsuji [29], en el cual, por medio del estudio de dinámica virtual se logra no solo el posicionamiento en común de un elemento dentro del espacio de trabajo compartido, sino también descifrar las posiciones relativas entre dos manipuladores, lo que lo convierte en un análisis paralelo de estructura para los manipuladores involucrados. Este tipo de resultados ha dado paso a un nuevo campo en la planeación e implementación de trayectorias, ya que con el objetivo de aumentar el volumen de producción en el ámbito industrial la robótica cooperativa se está convirtiendo en una necesidad.
La meta de la planeación off-line de trayectorias está enfocada a su uso industrial, por este motivo, muchos de los desarrollos académicos tienen como finalidad resolver situaciones que se presentan directamente en entornos productivos. Por ejemplo, en la industria automotriz se aborda el problema de la planeación de trayectorias off-line para permitir que el robot pueda llegar a espacios estrechos [30]. En otros entornos como la soldadura de piezas, donde se requiere gran exactitud, los estudios de Zha y Chen [31] y Mitsi [32] desarrollan la simulación de trayectorias para soldar teniendo en cuenta no solo el posicionamiento del robot, sino también la velocidad y los perfiles de orientación-posición del trayecto de soldadura. Otras aplicaciones destacadas de planeación de trayectorias son: escaneo laser de superficies y piezas de Larsson y Kjellander [33], tareas de ensamble de García y ávila [34], y remanufactura de piezas de Xiaoshu y Xichen [35].
Como una categoría de la inteligencia artificial, los algoritmos bioinspirados son técnicas de optimización cuyo diseño se basa en la imitación de procesos biológicos [36]. Las principales características de estos algoritmos radican en no ser determinísticos, presentar estructuras paralelas y ser adaptativos [37]. Gracias a estas características, dichos algoritmos poseen la capacidad de generar soluciones a problemas de búsqueda exhaustiva u optimización de manera eficiente sin la necesidad de tener un conocimiento profundo sobre el problema que se aborde, lo cual permite llegar a resolver problemas multiobjetivo de manera eficaz [38]. A continuación se presenta el concepto básico de los principales algoritmos bioinspirados que han permitido resolver y optimizar tanto problemas en diferentes áreas de conocimiento, como en el ámbito industrial en el que se postulan como una opción para la generación y optimización de trayectorias en robots seriales.
Inspiradas en las redes neuronales biológicas del cerebro humano y simulando su estructura mediante métodos matemático-computacionales, el uso de las RNA busca imitar las capacidades propias del cerebro humano, tales como aprender, generalizar y abstraer. Gracias a su capacidad de procesamiento paralelo permite resolver aplicaciones en campos como visión artificial, control, robótica, procesamiento de imágenes, optimización y otras aplicaciones que aún son objeto de estudio [39]. Dentro de los estudios más recientes en este campo se encuentran el mejoramiento del desempeño de las redes neuronales artificiales a través de matrices de desigualdades lineales [40], para optimizar el aprendizaje de la red en cuanto a su capacidad de convergencia.
Por otra parte, en Castañeda y Esquivel [41] se desarrolla una red neuronal variable en el tiempo como solución de un filtro de Kalman con entradas variadas estadísticamente para cumplir el objetivo de controlar sistemas no lineales. En otro estudio reciente, son usadas las redes neuronales artificiales para el diagnóstico de diferentes enfermedades, cuyo funcionamiento se comprueba, precisamente, mediante el diagnostico exitoso de cáncer de seno y problemas de tiroides, lo cual demostró acelerar su tiempo de decisión [42]. Estos estudios demuestran la versatilidad que puede llegar a tener este tipo de algoritmo denominado “de aprendizaje” para resolver temas en diferentes áreas.
Basados en la teoría de evolución biológica de Darwin, son métodos de búsqueda para la resolución de problemas. El esquema básico de un algoritmo consiste en una población inicial de individuos (cada uno representa una solución del problema) generada aleatoriamente, operadores genéticos (selección, cruce y mutación) que permiten generar la reproducción y la evolución de los individuos a lo largo de las diferentes generaciones, y por último, una función de evaluación que es la que determina cuándo la población alcanza la solución requerida, sea de búsqueda o de optimización [43]. Dentro de las aplicaciones de los algoritmos genéticos se pueden encontrar la predicción de modelos económicos [44], optimización multiobjetivo [45], programación de producción [46] y sintonización de controladores PID [47], entre otros.
Para comprobar la efectividad de los algoritmos genéticos (GA) frente a métodos de optimización convencionales en [48], fue realizada una comparación entre los GA y un método estadístico, demostrando que el desempeño de los AG supera en gran medida a los estadísticos por abordar una mayor cantidad de soluciones del mismo problema gracias a su espacio de búsqueda más amplio.
Estos algoritmos de optimización se basan en el comportamiento colectivo de los organismos vivos (aves, insectos, peces, etc.), aunque la primera aproximación se realizó para imitar computacionalmente el comportamiento social humano [49]. Su funcionamiento consiste en establecer un número homogéneo de agentes simples interactuando entre sí, para generar un patrón de conducta basándose en cinco principios fundamentales del comportamiento colectivo: mantener la localización de cada agente, establecer homogeneidad, evadir colisiones, emparejar la velocidad, mantener el enjambre [50].
Uno de los comportamientos más observados y aplicados en problemas de optimización son las colonias de hormigas, allí se trata de simular computacionalmente el mecanismo de comunicación y transporte usado por las hormigas, en el cual se comunican con feromonas para conseguir alimento y llevarlo a la colonia; en este caso, todos los individuos buscan aprender el camino más corto para conseguir la solución, motivo por el cual lo convierte en un algoritmo de convergencia rápida [51]. Algunas materias en las que se ha usado algoritmos de enjambre de partículas son minería de datos, diseño de elementos finitos, geología, telecomunicaciones, estudio de fallas, entre otros [52].
Dado que los algoritmos bioinspirados buscan simular comportamientos de la naturaleza, la cantidad de algoritmos puede llegar a ser tan grande como la cantidad de procesos naturales que se logren hallar. Otros algoritmos en los que se imitan comportamientos naturales son: recocido simulado [53], hiervas invasivas [54] y quimiotaxis de bacterias [55]. Como se puede observar, las aplicaciones de los algoritmos bioinspirados aún son un campo de exploración, lo que indica una tendencia creciente hacia el manejo de este tipo de algoritmos para la solución de problemas mutiobjetivo en diversas áreas de conocimiento. Dado su amplio rango de aplicación, la implementación de algoritmos bioinspirados ha aumentado en robótica, llegando a ser una herramienta muy útil en la generación y optimización de trayectorias. A continuación, en la sección 3 se presentan algunos de los avances en el uso de esta técnica en la generación y optimización de trayectorias off-line para robots seriales.
Dentro de los algoritmos más aplicados en la planeación off-line de trayectorias de manipuladores seriales están los algoritmos genéticos. Gracias a que el campo de búsqueda es generalizado dentro del problema, permite encontrar más soluciones óptimas que aquellos algoritmos bioinspirados que buscan la mejor solución tendiendo a encontrar soluciones óptimas locales en ocasiones, hecho que demuestra la robustez de los GA en la planeación y optimización de trayectorias. Por ejemplo, en Yun y Xi [56], la planeación óptima de trayectorias en el espacio cartesiano y articular de robots de dos y tres grados de libertad, se logra mediante la formulación del problema de planeación de trayectoria en el espacio cartesiano y articular como un todo; teniendo en cuenta que cada algoritmo debe adaptarse a las condiciones de cada problema como una solución subjetiva del mismo, fueron realizadas modificaciones en el GA con el objetivo de lograr mejores resultados en las simulaciones.
En otros estudios, se ha separado el problema de la planeación de trayectorias, por ejemplo, en Abo-Hammour [57] y Ramabalan [58] se aborda el problema mediante GA a partir de trayectorias dadas en el espacio cartesiano; en ambos se demuestra que la planeación de trayectorias basada en GA puede ser una herramienta escalable para casos de manipuladores redundantes y no redundantes con varios grados de libertad.
Además de los GA, otros ejemplos del uso de algoritmos bioinspirados usados en la planeación de trayectorias se presentan a continuación. En Klane [59] se presenta una herramienta basada en control tele-operado para la planeación de trayectorias de un robot serial de siete grados de libertad mediante redes neuronales artificiales, logrando la programación de trayectorias en ambientes dinámicos para evasión de obstáculos. Mediante el uso de la técnica de hiervas invasivas, en Sengupta [60] se logra optimizar el tiempo de trayectorias realizadas por un manipulador serial de dos grados de libertad, teniendo en cuenta la evasión de obstáculos y restricciones de carga. En Xu [61] es usado el método de enjambre de partículas para determinar la programación dinámica de trayectorias de un manipulador de seis grados de libertad atado a una plataforma de navegación espacial. Por último, en Kubota [62] y en Xu [63] por medio de la combinación y modificación de los algoritmos bioinspirados básicos, se logra la optimización de trayectorias.
Aunque son efectivas, las metodologías de planeación de trayectorias basadas en modelos matemáticos se vuelven más complejas a medida que el manipulador cambia su configuración. Por otra parte, el uso de métodos asistidos supone más recursos para resolver una tarea, lo cual los convierte en los más costosos de implementar. Debido a que no solo se aumenta la dificultad de las tareas, sino que además se ha abordado la robótica cooperativa dentro de los problemas de planeación de trayectorias para resolver, debe generarse alternativas eficientes para su desarrollo, lo cual ha sido logrado en gran medida con la implementación de algoritmos bioinspirados en este tema.
La complejidad en la planeación de trayectorias de manipuladores seriales aumenta por tres factores: cambio de configuración, inclusión de obstáculos dinámicos en el espacio de trabajo y ejecución de tareas cooperativas con otros manipuladores. Los algoritmos bioinspirados se han convertido en una salida costoeficiente en la solución de la planeación de trayectorias en estas tres situaciones, debido a que se abarcan más soluciones posibles para cada punto del espacio de trabajo otorgando no solo una solución óptima de posiciónorientación de un manipulador sino tambiién muchas, lo que difiriere del caso de optimización tradicional en el que puede abarcarse menos soluciones para un mismo punto. De esta forma, los algoritmos bioinspirados gracias a su capacidad de procesamiento paralelo de un problema se convierten en soluciones eficientes en la planeación de trayectorias de manipuladores.