Rev AiBi. 2020; 8 (S1):e2394

     http://dx.doi.org/10.15649/2346030X.2394

 

 

 

Sistema de control cinemático guiado y colaborativo por percepción de las trayectorias de las extremidades superiores.

 

Guided and collaborative kinematic control system for perception of the trajectories of the upper extremities.

Mauro Leandro Ibarra-Peñaranda1, Oscar Manuel Duque-Suárez2 , María Carolina Duque-Suárez3

 

 

  1. Universidad de Pamplona - Colombia. E-mail: ing.mauroibarra@gmail.com Autor de correspondencia
  2. Servicio Nacional de Aprendizaje SENA - Colombia.
  3. Servicio Nacional de Aprendizaje SENA - Colombia.

 


Cómo citar este artículo: M. L. Ibarra-Peñaranda, O. M. Duque-Suárez y M. C. Duque-Suárez, “Sistema de control cinemático guiado y colaborativo por percepción de las trayectorias de las extremidades superiores”, Aibi revista de investigación, administración e ingeniería, vol. 8, no. S1, pp. 124-151, 2020. http://dx.doi.org/10.15649/2346030X.2394

 

Recibido: 5 de julio de 2020.

Aprobado: 11 de noviembre de 2020.

 

 


 

Atribución 4.0 Internacional (CC BY 4.0)

 


 

Resumen En este artículo se estudia la morfología del brazo humano con la finalidad de construir un robot capaz de imitar los movimientos del mismo, aprenderlos y repetirlos bajo una rutina de control cinemático. Para esto, fue necesario realizar un aprendizaje de trayectorias, las cuales se obtuvieron mediante visión artificial haciendo uso del Kinect, del cual se extrajeron las coordenadas espaciales de cada articulación, y posteriormente se procesaron mediante un modelo matemático para obtener las posiciones articulares, calcular el modelo cinemático del robot, y desarrollar una rutina para el control cinemático que establece la relación entre las velocidades de las articulaciones. El sistema presentado le permite al usuario poder iniciar un aprendizaje de sus movimientos, y posteriormente simular dicho aprendizaje en el robot virtual. Así como también activar el robot físico para que realice los movimientos aprendidos. Al comparar los resultados de los datos cuantitativos, se determinó que la desviación estándar de las trayectorias con y sin control, no cambia en mayor medida; pero los puntos que se encuentran dentro de la desviación en la parte de control son más proporcionales, esto debido a que la estabilidad de las trayectorias mejora al aplicarle el control cinemático.
Palabras clave: robot, morfología, control, aprendizaje.

 


Abstract This project studies the morphology of the human arm in order to build a robot capable of imitating the movements of the same, learning them and repeating them under a kinematic control routine, for this it was necessary to learn trajectories, which are obtained using artificial vision making use of the Kinect; from which the spatial coordinates of each joint are extracted, and subsequently processed by means of a mathematical model to obtain joint positions, calculate the kinematic model of the robot, and develop a routine for kinematic control that establishes the relationship between the speeds of the joints . The system allows the user to start learning their movements, and then simulate that learning on the virtual robot. As well as activating the physical robot to perform the learned movements. When comparing the results, it was determined that the standard deviation of the trajectories with and without control does not change to a greater extent; but the points that are within the deviation in the control part are more proportional, this because the stability of the trajectories improves when applying kinematic control.
Keywords: robot, morphology, control, learning.

 


 

I. INTRODUCCIÓN

 

 

Para crear un robot capaz de imitar los movimientos del ser humano, se requiere en este proyecto de un sistema de visión artificial que pueda leer y procesar todas las articulaciones del humano y crear un entorno virtual que tenga las mismas condiciones iniciales, las mismas dimensiones del robot y los mismos elementos de trabajo. 

 

El trabajo que un robot vaya a realizar depende de su arquitectura, es por esto que en este trabajo se estudia las extremidades superiores del ser humano, diseñando así una estructura robotizada con la morfología de los brazos humanos. Si bien, un robot es un dispositivo creado con el fin de realizar una tarea específica de modo autónomo, cada trabajo que se le asigne requiere de una dificultad de programación, en cambio al utilizar el control guiado y colaborativo, cualquier usuario sin el conocimiento de programación y control robótico necesario, podrá asignarle al robot cualquier tarea que este pueda realizar en su volumen de trabajo, al guardar todas las trayectorias ejecutadas por el operario, el robot podrá repetir la tarea asignada el número de veces deseado.

 

En este trabajo se encontrará el diseño del sistema de control cinemático guiado y colaborativo, la etapa de percepción por visión artificial de las trayectorias y los criterios tenidos en cuenta para la realización del mismo, se encontrará la ingeniería de detalle utilizada y los modelamientos asociados con la morfología de los brazos robóticos, también se podrán observar todas las validaciones del control guiado y colaborativo por la percepción de las trayectorias de las extremidades superiores del ser humano. Todo lo anterior en base al trabajo realizado por [1], trabajo el cual fue presentado como requisito de grado para optar al titulo de ingenieros en mecatrónica.

 

 

II. MARCO TEÓRICO

 

 

La robótica es una ciencia que estudia el diseño y la construcción de máquinas capases de realizar tareas desempeñadas por el ser humano de forma inteligente. La robótica deriva de ramas como lo son: la mecánica, la electrónica, el algebra, la informática, entre otros. De esta manera se puede decir que la robótica es el conjunto de conocimientos teóricos y prácticos aplicado a la automatización de mecanismos articulados, con una determinada inteligencia que permite la realización de distintas tareas hechas por el ser humano y la aceleración de producción industrial [2]. De esta manera la robótica se desenvuleve pluridisciplinariamente, siendo capaz de resolver múltiples trabajos para la ayuda de los seres humanos.

 

Existen diferentes tipos de robots, uno de ellos es el manipulador, el cual es un robot con varios grados de libertad capaz de trasladar y rotar objetos o herramientas en un volumen de trabajo dándole una posición a esa pieza dada su trayectoria variable que depende de una acción programada para realizar diversas tareas. El mismo consta con 3 partes principales que lo conforman, que son la unidad de control, la estructura mecánica y el efector final. Dicha estructura mecánica se constituye por eslabones unidos por articulaciones. Las articulaciones permiten el movimiento relativo entre 2 elementos en contacto. Hay dos tipos de manipuladores, estos se clasifican según su cadena cinemática: abierta o cerrada; de esta manera si un manipulador presenta una cadena cinemática abierta es un manipulador serie, y si la cadena cinemática es cerrada es un manipulador paralelo.

 

La morfología de un robot depende del número y el orden de las articulaciones del manipulador, también de su estructura o configuración mecánica, fundamentalmente existen ciertas estructuras clásicas en los manipuladores series, estos son: el robot cartesiano, el cilíndrico, el esférico y el articular. El robot cartesiano se caracteriza en que sus primeras tres articulaciones son prismáticas, su espacio de trabajo es amplio, su precisión es elevada pero la velocidad de desplazamiento es baja, este tipo de robot presenta varias aplicaciones como lo es por ejemplo [3], un trabajo implementado que presenta un sistema interactivo capaz de producir obras de arte realistas con pintura acrílica basada en un robot cartesiano.

 

Este sistema se centra en pintar obras de arte por regiones, y puede aplicarse, por ejemplo, en la pintura de objetos como frutas, flores, hojas y otros objetos individuales. Estos tipos de robot también se puede optimizar aumentando el número de articulaciones aumentando su rigidez cartesiana [4], lo que se puede lograr utilizando el grado de libertad (DoF) funcionalmente redundante alrededor del eje de la herramienta que está disponible cuando se emplea un robot de brazo en serie 6-DoF para operaciones de mecanizado de 5 ejes. En este papel, La rigidez de un robot de brazo en serie se optimizó para minimizar las posibles desviaciones durante una operación de fresado.

 

Otra morfología clásica es la del SCARA, como lo es en el diseño de [5], creando un manipulador originariamente con la configuración rotacional, prismático al que se le agregaron dos juntas y una abrazadera, con una configuración resultante que se seleccionó debido a su representatividad en la industria actual. Además de las morfologías mencionadas anteriormente, también existen otros tipos de robots que se basan en la morfología de los seres vivos, logrando combinar morfologías desarrollando así robots que tienen una gran capacidad de desplazamiento.

 

La cinemática de un robot estudia el movimiento del robot con respecto a un sistema de referencia sin considerar las fuerzas que intervienen, el modelo cinemático de un manipulador se divide en la cinemática directa y la cinemática inversa. La cinemática directa determina la localización del extremo del manipulador sabiendo los valores articulares del manipulador, la cinemática inversa es todo lo contrario, calcula los valores angulares o distancias que deben tener las articulaciones sabiendo la localización final del extremo del robot. Estudios anteriores han propuesto varios métodos diferentes para proporcionar una solución exacta para la cinemática. Sin embargo, la mayoría de los métodos son matemáticamente complicados y no lo suficientemente intuitivos para expresar el significado geométrico de la cinemática.

 

En el estudio que realiza [6], se propone la solución exacta a la cinemática derivada de la teoría del tornillo, donde tornillos arbitrarios en el espacio son equivalentes a la suma de la relación de momento mutuo, siendo la contribución más importante de este estudio un método para la intuición geométrica de la cinemática. El método propuesto se utilizó para analizar dos manipuladores industriales, y se verificó la efectividad práctica. La cinemática inversa presenta un problema más grande a la hora de resolverse, respecto a la directa, ya que su solución puede tener como resultado múltiples configuraciones de unión para alcanzar la misma posición el efector final, como lo indican [7].

 

Tanto [8] como otros autores, resuelven la cinemática inversa de un manipulador de cinco grados de libertad partiendo por el calculo de la cinematica directa, por medio del método de Denavit-Hartenberg (DH), Asi posteriormente la solución al problema de cinemática inversa se reduce a la búsqueda de los argumentos q1, q2, q3, q4, q5 en función de la posición y la orientación de la pinza. Donde las ecuaciones obtenidas de la matriz en cinco incógnitas pueden no tener solución al principio, pero de forma analítica se resuelven igualando y despejando las ecuaciones hasta ir obteniendo cada uno de los valores articulares y dejando estos valores en función de unos a otros.

 

El control cinemático es una estrategia de control a lazo abierto donde se varía el Setpoint de la trayectoria que se le va a estar entregando por puntos intermedios que se van a ir interpolando para obtener la trayectoria del robot en valores continuos en el tiempo. El objetivo del control cinemático es establecer las trayectorias que debe seguir cada articulación del robot a lo largo del tiempo para conseguir una trayectoria especifica con unos requisitos temporales. Para realizar un control cinemático existen métodos que se implementan según la aplicación y requerimientos del robot, estos son el eje a eje, simultaneo, isócrono y continuo. Las tres primeras técnicas utilizan un tipo de interpolación donde solo se necesitan dos puntos. El control eje a eje mueve cada una de las variables articulares por aparte para obtener la velocidad final del manipulador.

 

La isócrono mueve cada valor articular al mismo tiempo, pero no terminan su movimiento a la vez, porque habrá variables que se moverán más que otras para obtener la velocidad final. La simultanea si comienza los movimientos articulares a la vez y terminan sus movimientos al mismo tiempo, siendo las velocidades de cada articulación diferentes para obtener la velocidad final del manipulador. Y el método continuo necesita los dos puntos y realizar un cálculo de muchas inversas durante el transcurso del movimiento, creando movimiento de trayectorias rectas con el manipulador.

 

El control que realiza [5] en su robot SCARA, consiste en una aplicación de pasos y trayectorias a las articulaciones a diferentes velocidades, con un control de retroalimentación R-1, R-2 y P-3 de forma independiente, y finalmente una prueba que comprende una tarea programada en la que los funcionamientos simultáneos de todas las articulaciones están involucrados. Además del control cinemático existe el control dinámico, el cual posee sus propias técnicas, un caso de este es el realizado en [9], donde se diseña un manipulador de agarre desplegable en el cual se aplica un controlador ARC que tiene según sus autores las siguientes características ventajosas: integra una ley de adaptación discontinua y un término de control robusto para tratar la incertidumbre paramétrica, la incertidumbre no moldeada y las perturbaciones externas simultáneamente.

 

Un ejemplo de la aplicación del control cinemático, es la creación de una arquitectura de control cinemático descentralizado para sistemas de múltiples brazos colaborativos y cooperativos [10], donde unos de los objetivos es calcular lar trayectorias del efector final de referencia para cada brazo en base a las trayectorias deseadas, asignadas desde el punto de valor de referencia absoluto. El objetivo se logra mediante un algoritmo de segundo orden. [11] presenta e investiga la aplicación de la red neuronal Zhang (ZNN) activada por la función Li para el control cinemático de manipuladores de robot redundantes a través de la pseudoinversión de matriz jacobiana variable en el tiempo. Un control cinemático propuesto para manipuladores con incertidumbre es el de [12]. Los autores presentan una ley de control de retroalimentación para el control del punto de ajuste de robots restringidos con cinemática incierta, demostraron que el movimiento del efector final es estable incluso cuando la cinemática y la dinámica son inciertas. A su vez presentan condiciones suficientes para el límite de las incertidumbres y para las ganancias de retroalimentación que garantizan la estabilidad del movimiento del efector final del robot sobre la superficie restringida.

 

Un robot colaborativo, es un robot capaz de trabajar en concordancia con otros robots y también con el ser humano [13]. El referido autor reflexiona sobre cómo cuatro excitantes subcampos de la robótica (co-robótica, interacción humano-robot, aprendizaje profundo y robótica en la nube) aceleran una tendencia renovada hacia los robots que trabajan de manera segura y constructiva con los humanos  [14]. Hoy en día, no existe un consenso total sobre lo que es o no es un robot colaborativo, sin embargo, se proponen varias definiciones. Los robots verdaderamente colaborativos involucran directamente al trabajador humano para que colabore en la resolución de una tarea industrial en equipo [15], los robots colaborativos son aquellos que pueden usarse en una operación colaborativa, que es cualquier operación en la que un robot especialmente diseñado trabaja en cooperación directa con un ser humano dentro de un espacio de colaboración.

 

A su vez, un espacio colaborativo se define como un área delimitada donde un empleado y un robot colaborativo realizan tareas simultáneamente [16]. La robótica colaborativa requiere que el robot coordine su comportamiento con los comportamientos de los humanos en diferentes niveles, por ejemplo, el nivel semántico, el nivel del contenido y la selección del comportamiento en la interacción, y aspectos de bajo nivel, como la dinámica temporal de la interacción. Esto obliga al robot a internalizar información sobre los movimientos, acciones e intenciones del resto de socios, y sobre el estado del medio ambiente. Además, los robots colaborativos deben seleccionar sus acciones teniendo en cuenta factores adicionales conscientes de las personas, como la seguridad, la fiabilidad y la comodidad.

 

la robótica colaborativa actualmente está creando muchas aplicaciones, una de sus ramas se en foca en sistemas de salud, tal es el ejemplo de robots colaborativos afectivos interconectados hacia un asistente de salud autónomo [17], proponiendo un algoritmo de asignación de tareas de búsqueda basado en el contagio emocional (PTA-CE), sus  resultados experimentales basados ​​en simulaciones demuestran que la mayor contribución entre todos los tipos de robots a un grupo es el tipo franco, mientras que los robots simpáticos e indiferentes tienen poco efecto en el progreso del grupo. Además, se muestra que el contagio emocional impacta positivamente en la asignación de tareas y la eficiencia del algoritmo propuesto es competitiva con los métodos más modernos. Los robots colaborativos actualmente se emplean ampliamente en la industria de manufactura, por ejemplo el diseño y control colaborativo de TIREBOT [18], un asistente robótico que ayuda a los operadores de talleres de neumáticos en el proceso de reemplazo de ruedas.

 

Por otro lado, se tiene a AURA [19], es el primer robot colaborativo de alta carga jamás diseñado, se basa en la comunicación redundante entre una combinación de sensores colocados en la superficie externa, capaces de detectar la proximidad humana. Otra rama importante es la aplicación de estos robots en la agricultura [20],  centrándose en mejorar la mano de obra, la agilidad, la eficiencia y la seguridad de los cultivos. Los robots agrícolas son típicamente sistemas autónomos o semiautónomos que se pueden operar en varias etapas del proceso para resolver problemas exigentes. Los robots agrícolas se han implementado con éxito para tareas repetitivas, tratando de reducir la carga de trabajo del agricultor y optimizar los tiempos y costos del proceso.

 

[21] en su artículo, resalta la importancia del peligro principal de la robótica colaborativa, que son las velocidades altas y las fuerzas masivas generadas por estos robots en la industria. Por eso se enfoca en el desarrollo de estrategias efectivas de entornos virtuales, como es el caso de [22], el cual enfoca un sistema de monitoreo de velocidad y separación con la ayuda de un tiempo de detección de vuelo con un Kinect V2, para detectar continuamente a los trabajadores humanos dentro de un espacio de trabajo compartido. Con la ayuda de los ángulos de articulación del robot desde el control del robot, es posible calcular las distancias entre todas las articulaciones del robot y el trabajador humano. dependiendo de la posición del trabajador, la velocidad de los robots se adapta a los valores de seguridad recomendados, hasta un alto de los robots si es necesario.

 

Otro tipo de comunicación implementado en este tema es la comunicación impulsada por ondas cerebrales [23], este enfoque comienza estableciendo un conjunto de sesiones de entrenamiento en las que se pregunta al operador si piensa en un conjunto de comandos definidos para el robot y registra las actividades del cerebro en consecuencia. Los resultados de las sesiones de entrenamiento se utilizan para traducir las actividades del cerebro a un conjunto de comandos de control del robot. La importancia de las colisiones de objetos en los robots colaborativos es un tema delicado a tener en cuenta para lograr criterios de seguridad, esto depende en gran parte en el control de las trayectorias de los manipuladores y la detección de objetos encontrados en el espacio de trabajo del robot.

 

[24] aplica el uso de un aprendizaje supervisado por medio de una red neuronal para evitar obstáculos dinámicos creando puntos de referencia. Estos puntos están vinculados con una función polinómica quintica para un movimiento suave que se optimiza utilizando el mínimo cuadrado para calcular una trayectoria óptimo [25]. Actualmente, se observan grandes avances en diferentes áreas de la robótica: desde el diseño de hardware y mecatrónico, desde los algoritmos de percepción, control y autonomía, hasta las capacidades de planificación, aprendizaje y razonamiento. Sin embargo, uno de los desafíos restantes es actualmente la integración de tales capacidades en un solo sistema que posee mayores habilidades que simplemente la suma de sus subcomponentes individuales.

 

Para adentrar en la robótica guiada, se debe definir la programación, donde desde el punto de vista de la robótica, la programación se define como un lenguaje formal diseñado para expresar procesos que pueden ser llevados a cabo por máquinas, en este caso concreto consiste en el conjunto de ordenes necesarias para que poner el robot manipulador en movimiento con objeto de interaccionar, por medio de su efector final, con otros elementos del entorno de trabajo. Dichos desplazamientos no tienen por qué ser inamovibles, pueden depender de las decisiones que tome el sistema basándose en la lectura de los sensores externos, de la comunicación con otros componentes automáticos o incluso con un operador humano [26]. Es importante que la tarea se pueda codificar de manera eficiente y que proporcione facilidades para el desarrollo de la misma como unas herramientas adecuadas para la depuración y validación del programa. Según lo anterior, se pueden definir dos técnicas para la programación de un robot manipulador: por guiado y textual.

 

Existen diversas maneras de clasificar la programación por guiado.  [26] y [27] coinciden en que la programación por guiado se debe dividir en dos grupos, el guiado pasivo y el guiado activo, donde para guiar el robot por las trayectorias o puntos deseados se utilizan diferentes soluciones, aclarando que la programación por guiado no es el único tipo de programación, los autores también definen un segundo tipo de programación, el cual conocen como programación textual. Si los actuadores del robot están desconectados es el programador quien debe aportar directamente la energía para mover el robot, se trata de guiado pasivo. En este caso, el programador puede tomar el extremo del robot y llevarlo hasta los puntos deseados siguiendo las trayectorias más adecuadas. La unidad de control del robot registra, de manera automática, la señal de los sensores de posición de las articulaciones en todos los puntos recorridos.

 

La dificultad física de mover toda la estructura del robot se resuelve con la utilización de guiado pasivo por maniquí. En este caso se dispone de un doble robot mientras que este permanece fuera de línea. El maniquí posee idéntica configuración que el robot real, pero es mucho más ligero y fácil de mover. La programación se efectúa llevando de la mano a este doble, mientras que la unidad de control muestrea y almacena con determinada frecuencia los valores que toman los sensores de posición de las articulaciones, para su posterior repetición por el robot. Para [28] la clasificación de la programación de un robot también se divide en dos, donde también coincide con los demás autores en la programación textual, pero a diferencia de los otros autores expuestos anteriormente, el otro tipo de programación lo distingue simplemente como programación no textual, la cual a su vez también se subdivide como se observa en la Figura 1.

 

En esta Figura, el autor autor aclara que la programación no textual por hardware es obsoleta, y ciertamente al analizar su definición de la programación gestual, fácilmente se llega a la conclusión de que es la misma programación por guiado. Por su parte, [29] dan la programación como programación por hardware o programación gestual. Para [30] la necesidad de una programación fácil está aumentando, mientras que la robustez y la seguridad siguen siendo aspectos fundamentales. Un enfoque novedoso de programación de robots se puede identificar con la guía manual que permite al operador mover libremente el robot a través de su tarea; La tarea puede enseñarse utilizando la programación mediante métodos de demostración o reproducción simple.

Figura 1: Tipos de programación de robots.

Fuente: [28].

 

En la programación de recorrido, el operador humano juega el papel de un maestro que físicamente guía al robot por el camino deseado. Además, en una aplicación industrial, como operaciones de acabado de metal o pintura, la interacción física entre el operador humano y el robot debe ser concebida de tal manera que el profesor tenga la impresión de que agarra una herramienta real, por ejemplo, una herramienta de desbarbado o una pistola rociadora, en lugar del efector final del robot [31]. Sin olvidar el papel del sistema de control el cual es, por lo tanto, acomodar el movimiento ordenado por el profesor, imitando el mismo comportamiento dinámico de la herramienta real, es decir, comportarse como una herramienta virtual que exhibe las mismas propiedades mecánicas de la herramienta real.

 

Para [32] los robots manipuladores son impulsores clave para la productividad, la mejora de la calidad y la reducción de costos en la fabricación. Contribuyen al surgimiento de producciones a gran escala como la industria automotriz mediante la ejecución continua y precisa de tareas repetitivas. Por otro lado, la automatización robótica en la fabricación de lotes pequeños tiene que lidiar con una variabilidad del producto cada vez mayor y las demandas volátiles de los nuevos mercados, lo que requiere un cambio rápido. Para cumplir con las limitaciones de capacidad de respuesta y competitividad detrás de esta tendencia, aún se necesita una automatización más flexible y eficiente.

 

No solo el dinamismo de los procesos de producción de lotes pequeños es uno de los problemas por los cuales surge la necesidad de la robótica guiada. Otra razón muy importante es la que expone [33] en su investigación sobre la enseñanza cinestésica de robots redundantes en el espacio de tareas y configuración, quien sustenta que la reciente aparición de robots compatibles y cinemáticamente redundantes plantea nuevos desafíos de investigación para la interacción humano-robot. Si bien estos robots proporcionan un alto grado de flexibilidad para la realización de aplicaciones complejas, la flexibilidad obtenida genera la necesidad de pasos de modelado adicionales y la definición de criterios para la resolución de redundancia que limitan la generación de movimiento del robot.

 

Una forma típica de abordar este desafío de configuración es utilizar la enseñanza kinestésica guiando al robot para modelar implícitamente las restricciones específicas en el espacio de tareas y configuración. Wrede propone un nuevo esquema de interacción que combina la enseñanza y el aprendizaje cinestésico dentro de una arquitectura de sistema integrada. Otra razón del porque la robótica guiada, es la observada desde el punto de vista educativo, donde en general, los programas abiertos son de carácter exploratorio, ya que permiten crear situaciones de aprendizaje en las que el alumno tiene un mayor protagonismo, puede seleccionar información, elaborar sus propios proyectos, etc [34].

 

Las aplicaciones de la robótica guiada son muchas, y en su mayoría se pueden dividir según la manera de realizar el guiado, es decir, la forma o el medio por la que el usuario guía al robot. Hoy en día el estado del arte se encuentra en el desarrollo de robótica por guiado, donde cada vez se vincula más el trabajo robot-humano, guiado a través de percepciones hápticas, guiado kinestésico y guiado a través de sistemas BCI donde el humano guía al robot mediante señales cerebrales. Se tienen algunas investigaciones como la de [35], quien basa su ley de guiado en la formulación del error, para él el guiado o seguimiento de trayectorias es un tema clave en la navegación de robots móviles. En su trabajo presenta un método de guiado, para un robot móvil con cinemática de triciclo, que a partir de los errores de posición y de orientación del robot controla de forma asintóticamente estable la trayectoria de uno de sus puntos. En ésta, la estabilidad de la ley de control es comprobada experimentalmente mediante un prototipo real.

 

Respecto al guiado kinestésico, [36] expone que existen trabajos de investigación orientados a la asistencia médica y neurorrehabilitación con dispositivos robóticos, empleados en pacientes con movimiento involuntario en miembro superior como consecuencia de una lesión neurológica. En la investigación se estudia un principio de neurorrehabilitación en miembro superior para pacientes con movimiento involuntario basado en entrenamiento háptico, bajo el esquema de guiado kinestésico local empleando una plataforma robótica experimental. Dicha investigación aporta una estrategia de control de movimiento y fuerza de interacción, en el espacio operacional cartesiano, considera la dinámica del operador humano en condiciones de incertidumbre paramétrica.

 

Seguidamente, [37] investiga la sincronización de movimiento para la colaboración humano-robot de modo que el robot pueda seguir "activamente" a su compañero humano. El seguimiento de la fuerza se logra con el método propuesto bajo el marco de control de impedancia, sujeto a la dinámica incierta de las extremidades humanas. Se desarrolla un control adaptativo para lidiar con el movimiento punto a punto, y el control de aprendizaje y el control de redes neuronales se desarrollan para generar trayectorias continuas periódicas y arbitrarias, respectivamente. La estabilidad y el rendimiento de seguimiento del sistema de circuito cerrado se analizan mediante un análisis riguroso. La validez del método propuesto se verifica mediante simulación y estudios experimentales.

 

Mas recientemente en el 2019, son varias las investigaciones de guiado Háptico, como la de [38], donde para él la evolución de la cirugía ha dado como resultado una gran cantidad de sistemas que varían en su campo de aplicación, tamaño y grado de autonomía. Especialmente los sistemas que combinan principios de los llamados sistemas robóticos sinérgicos y maestros-esclavos-telemanipuladores son interesantes en relación con los aspectos cooperativos del cirujano y el sistema robótico. Mientras que el primero proporciona información de guía háptica ("dispositivos virtuales"), el segundo proporciona retroalimentación háptica desde la posición o la información del sensor de fuerza del dispositivo esclavo. Su artículo informa sobre una evaluación de usabilidad experimental de diferentes modos de guía háptica que varían en su grado de autonomía y grado de libertad (DOF) con respecto a tres escenarios quirúrgicos, a saber, alcanzar una posición y orientación predefinidas, rastrear una trayectoria 3D predefinida, y aplicando una fuerza definida (como, por ejemplo, durante una tarea de fresado de huesos en 3D).

 

Otra investigación de guiado háptico es la de [39], quien realiza una evaluación háptica multimodal de la guía manual del robot para el posicionamiento previo del paciente en la terapia de protones. En su investigación compara la intuición de cuatro modos de guiado manual en el robot de terapia de protones, donde realiza una comparación entre esos modos de control háptico utilizando una trayectoria de referencia y el siguiente criterio para evaluar la intuición de los métodos propuestos: duración del movimiento para alcanzar el objetivo, error medio entre trayectoria real y de referencia, y curva de aprendizaje. [40] adentra en el concepto de un sistema de aprendizaje basado en el conocimiento para la programación de robots industriales. Para éste autor, un gran desafío para el uso de robots industriales ha sido su programación, que requiere conocimiento experto.

Las herramientas de programación fuera de línea, basadas en modelos de simulación, se utilizan normalmente para facilitar la programación del robot. Sin embargo, en muchas aplicaciones industriales, la intervención de un operador sigue siendo necesaria para corregir los programas del robot. Su investigación presenta un concepto basado en un sistema basado en el conocimiento (KBS) que integra la capacidad de aprender de los ajustes manuales realizados por un operador. Basado en los datos aprendidos, el KBS puede imitar los ajustes del operador, permitiendo una automatización completa de la programación del robot.

 

Otro concepto importante en esta investigación es el de la visión artificial, la cual se considera un campo de la “Inteligencia Artificial” que, mediante la utilización de las técnicas adecuadas, permite la obtención, procesamiento y análisis de cualquier tipo de información especial obtenida a través de imágenes digitales [41]. La visión artificial lleva asociada una enorme cantidad de conceptos relacionados con hardware, software y también con desarrollos teóricos. En la Figura 2 se observan los pasos fundamentales para llevar a cabo una tarea de visión artificial.

Figura 2: Etapas de un sistema de visión artificial.

Fuente: [42].

 

En un entorno industrial, otra definición que se debe considerar es el de la visión industrial o Visión Artificial aplicada a la industria la cual abarca la informática, la óptica, la ingeniería mecánica y la automatización industrial [41]. A diferencia de la Visión Artificial académica, que se centra principalmente en máquinas basadas en el procesamiento de imágenes, las aplicaciones de Visión Artificial industrial integran sistemas de captura de imágenes digitales, dispositivos de entrada/salida y redes de ordenador para el control de equipos destinados a la fabricación, tales como brazos robóticos

 

Según [43], la visión artificial abarca todas las aplicaciones industriales y no industriales en las que una combinación de hardware y software brinda un guiado operativo a los dispositivos en la ejecución de sus funciones de acuerdo con la captación y procesamiento de imágenes. Aunque la visión artificial aplicada a la industria utiliza los mismos algoritmos y enfoques que las aplicaciones académicas/educativas y gubernamentales/militares de visión artificial, las limitaciones son diferentes.

 

Para [44] el campo de la visión por computadora está experimentando un gran avance hoy en día. Este autor investiga sobre el progreso reciente en los algoritmos de visión por computadora y sus implementaciones de hardware correspondientes. En particular, se destacan los logros en las tareas de visión por computadora, como la clasificación de imágenes, la detección de objetos y la segmentación de imágenes aportadas por las técnicas de aprendizaje profundo.

 

Una integración interesante de la visión artificial es la que se ha dado con el internet de las cosas (IoT) [45]. Para esta autora, el Internet de las cosas es una de las tecnologías más nombradas en la actualidad debido a la capacidad que prevé para conectar todo tipo de dispositivos al Internet, si a las potencialidades de IoT se le adiciona otra tecnología de alto impacto como lo es la Visión Artificial se obtiene un amplio campo de aplicaciones innovadoras, donde el procesamiento de imágenes y video en tiempo real permiten la visualización de grandes cantidades de datos en internet. Las principales aplicaciones que se desarrollan con IoT y Visión Artificial pueden ser implementadas en educación, medicina, edificios inteligentes, sistemas de vigilancia de personas y vehículos, entre otros.

 

La segmentación de imágenes es una tarea esencial en muchas aplicaciones de visión por computadora, como detección y reconocimiento de objetos, seguimiento de objetos, clasificación de imágenes, reconstrucción 3D. La mayoría de las técnicas actuales utilizan la información de color o escala de grises de una imagen sin tener en cuenta la geometría de la cámara [46]. Las aplicaciones de la visión artificial han profundizado en diversas áreas, siendo usada en submarinos [47], navegación [48], vehículos autónomos [49], Vehículos aéreos no tripulados [50], construcción [51], producción agrícola [52], y la salud [53].

 

La visión artifical tambien va de la mano con diversas aplicaciones de guiado, para Cognex [43] el guiado se puede realizar por varias razones. En primer lugar, los sistemas de visión artificial pueden localizar la posición y orientación de una pieza, compararla con una tolerancia especificada, y garantizar que está en el ángulo correcto para verificar el montaje apropiado. A continuación, el guiado se puede usar para notificar la localización y orientación de una pieza en el espacio 2D o 3D a un robot o unidad de control de una máquina, para que el robot pueda localizar la pieza o la máquina pueda alinearla. El guiado por visión artificial permite obtener una velocidad y una precisión muy superiores que el posicionamiento manual en tareas como la disposición de piezas dentro o fuera de palés, el embalaje de piezas al salir de una cinta transportadora, la búsqueda y alineación de piezas para el montaje con otros componentes, la colocación de piezas en un estante, o la retirada de piezas de los almacenes.

 

[54] realiza un innovador Guiado mediante el uso de un sistema BCI (interfaz cerebro-ordenador), su investigación lleva por título “Control compartido de un brazo robótico utilizando una interfaz no invasiva cerebro-computadora y guía de visión por computadora”, donde para el control de un brazo robótico usando una interfaz cerebro-computadora (BCI) para actividades de alcance y agarre es una de las aplicaciones más fascinantes para algunas personas con discapacidades severas, lo cual es especialmente desafiante para los BCI no invasivos basados ​​en electroencefalografía (EEG). En su investigación, el control compartido se aplica para realizar el control de un brazo robótico diestro con un BCI basado en imágenes motoras (basado en MI) y una guía de visión por computadora. Con la utilización del control compartido, los sujetos solo necesitan mover el brazo robótico realizando solo dos tareas mentales diferentes en el área circundante del objetivo. Los resultados muestraron que el control compartido puede hacer que el brazo robótico realice las tareas complejas (alcanzar y agarrar) con las BCI simples de dos clases basadas en MI.

 

Por su parte, [55] investiga sobre la aplicación de sistemas de visión a la navegación de robots móviles mediante marcadores. Esto se hace identificando la ubicación del objeto en el espacio por medio de un marcador que se ha detectado. La primera etapa del algoritmo es la calibración de la cámara usando un tablero de control y leer los parámetros de calibración. El siguiente paso es detectar el marcador y luego determinar su ubicación real. Los parámetros de los objetos detectados se pueden usar para controlar el movimiento del vehículo. En su investigación se utilizaron los algoritmos de procesamiento de imágenes incluidos en la biblioteca OpenCV.

 

Asimismo, [56] desarrolla un robot manipulador basado en visión para aplicaciones industriales, donde presenta un proceso de múltiples etapas del desarrollo de un manipulador robot de clasificación de objetos basado en visión para aplicaciones industriales. El objetivo principal de su investigación es integrar el sistema de visión con el Scorbot existente para ampliar la capacidad del sistema integrado de cámara y robot en aplicaciones industriales. El robot industrial moderno Scorbot-ER 9 Pro es el foco de su investigación. Las principales dificultades que enfrentó el autor fue el establecimiento de una secuencia relevante de operaciones, el desarrollo de una comunicación adecuada entre la cámara y el robot, así como la integración de los componentes del sistema, como Matlab, Visual Basic y Scorbase.

 

 

III. METODOLOGÍA O PROCEDIMIENTOS

 


El proceso parte por la precepción de las trayectorias de los movimientos de las extremidades superiores, la cual se divide en dos partes, una primera que se encarga de obtener mediante el Kinect los puntos de las articulaciones en el espacio 3D y graficar el esqueleto. Y una segunda parte que se encarga de extraer y clasificar las posiciones articulares de cada movimiento. A continuación, en la figura 3 se describen los procesos llevados a cabo dentro de esas dos etapas, según se muestra en la Figura 3.

Figura 3: Proceso de percepción de trayectorias.

Fuente: Elaboración propia.

 

El sistema se diseñó con dos modos de funcionamiento, un primer modo basado en un guiado colaborativo y un segundo modo basado en un control guiado colaborativo, además de estos modos, el sistema le permite al usuario ver sus movimientos y como estos guían al robot virtual en tiempo real en el simulador, sin la necesidad de iniciar algún aprendizaje. Se debe denotar que en cada uno de los dos modos de funcionamiento existe la opción de que la trayectoria aprendida sea realizada solo por el simulador o por el simulador y el robot real, así el usuario podrá observar la trayectoria ejecutada por el robot en el simulador, verificar la misma y decidir si la envía al robot, o si es conveniente repetir la actividad de aprendizaje.

 

El sistema guiado colaborativo se diseñó de tal forma que es el modo predefinido por defecto, es decir que al iniciar la aplicación este modo esta activo, donde dicho modo guiado, refiere al guiado del robot, y no es significado de aprendizaje, ya que un robot puede ser guiado de manera libre y nunca aprender los movimientos que ejecutó.

 

En el modo guiado, el robot real nunca ejecutará ningún movimiento que no haya sido previamente enseñado, por lo que los movimientos que se ejecuten sin aprendizaje solo se ejecutarán en el simulador en tiempo real. Se puede decir que la situación anterior es un estado del guiado que se diseñó para hacer el programa más interactivo con el usuario y para que éste asimile el uso del mismo y desarrolle previamente su habilidad de guiar al robot previamente a un comenzar un aprendizaje. Pero no es la función principal para la cual se creó este modo de funcionamiento.

 

El fin principal del sistema guiado colaborativo es realizar un aprendizaje del guiado para iniciar una simulación de dicho aprendizaje en el entorno virtual o ejecutarlo en el robot real, como lo elija el usuario. Donde el trabajo colaborativo está ligado al hecho de que el aprendizaje guiado en los manipuladores, si bien puede hacerse de manera independiente, ambos aprendizajes pueden participar en una tarea conjunta vinculando los dos manipuladores, por ejemplo, si el resultado del aprendizaje guiado es una situación donde un manipulador traslada un objeto al otro manipulador o si el resultado de ambas trayectorias guiadas fuera el agarre conjunto. La rutina del sistema diseñado se representa en el diagrama de flujo que se observa en la Figura 4.

 

Figura 4 : Diagrama de flujo de rutina de guiado colaborativo.

Fuente: Elaboración propia.

 

El sistema de control cinemático colaborativo no es el modo definido por defecto, y debido a que en este modo se deben graficas las trayectorias obtenidas tras el control, el espacio en la interfaz es reducido, razones por las cuales el aprendizaje de las trayectorias se debe realizar en el modo guiado, una vez aprendidas las trayectorias, si se puede ir al modo control.  El modo control se diseñó de tal forma que se ejecuten los movimientos aprendidos tras un guiado del robot, donde la generación de unas nuevas trayectorias entre cada movimiento mediante ciertas condiciones garantizan la ejecución de una trayectoria más suave, que preserva la vida útil de los actuadores, así como también da más soporte al cumplimiento de la trayectoria. Dicho sistema se observa en el proceso representado en el diagrama de flujo de la Figura 5.

 

El sistema de generación de trayectorias es del tipo trayectoria continua, el cual se seleccionó tras estudiar todos los criterios pertinentes. El proceso parte por el cargue de los valores de tiempo, las posiciones y las velocidades articulares, así como también por la definición de los puntos que se van a generar entre cada de usas posiciones articulares cargadas. Posteriormente se procede a generar dichos puntos mediante la interpolación de splines, ya que, por la necesidad de mantener la continuidad de los movimientos, no tiene lugar un interpolador que no sea spline, debido a que los splines son los que garantizan una cadena de evaluación continua entre punto y punto.  Donde el grado de dicho interpolador se seleccionó como cubico, en concordancia a la necesidad de ejecutar un algoritmo con un mínimo coste computacional. 

 

Figura 5 : Diagrama de flujo de rutina de Guiado colaborativo con control cinemático.

Fuente: Elaboración propia.

 

El proceso completo de generación se observa en el diagrama de flujo de la Figura 6.

 

 

Figura 6 : Diagrama de flujo de la generación de trayectorias.

Fuente: Elaboración propia.

 

Para modelar el entorno virtual del robot se desarrollaron funciones, debido a que la graficación de dicho entorno es realizada en diversas secciones del algoritmo y requiere una cantidad extensa de líneas de código, lo que aumentaría el uso de memoria. Modelando en cada una de dichas funciones respectivamente la vista isométrica, frontal, superior y lateral. La creación de todas las vistas, requiere un mayor costo computacional, porque el desarrollo de cada una de ellas conlleva el mismo procedimiento, con la única diferencia que se debe hacer una rotación del eje de observación, pero a pesar de lo expuesto, es una acción necesaria, ya que dichas vistan permiten al usuario tener un mayor control sobre sus acciones durante el guiado al transportar algún objeto, y saber con más precisión en que localización se está haciendo la descarga del mismo.

 

 

Cabe destacar que los valores articulares con los cuales se hace la graficación del robot virtual, fueron almacenados en variables globales luego de la extracción y clasificación, por lo que a pesar de que son parámetros usados dentro de la función de graficación del robot, no son ingresados como parámetros de entrada en la declaración de dicha función. El proceso de modelado del entorno se representa a groso modo en el diagrama de flujo que se observa en la Figura 7. Los resultados visuales del modelado del entorno se observan en las Figuras 8 y 9.

Figura 7: Diagrama de flujo del proceso de modelado del entorno del robot.

Fuente: Elaboración propia.

 

 

Figura 8: Entorno virtual del robot vista isométrica.

Fuente: Elaboración propia.

 

 

 

Figura 9: Entorno virtual del robot vista frontal, lateral y superior.

Fuente: Elaboración propia.

 

La interfaz del sistema colaborativo guiado se observa en la Figura 10. En ésta se puede observar el entorno virtual del robot en todas sus vistas, isométrica, frontal, superior y lateral, el entorno de la representación del esqueleto del humano y la interfaz de control y manipulación de variables. Como se explicó anteriormente esta interfaz es la predefinida por defecto, es por ello por lo que inicialmente se encuentra el indicador de guiado en verde. En su diseño se incluyeron todas las vistas y el esqueleto 3D del usuario para que este pueda tener un mayor control de sus acciones sobre el robot.

 

 

 

Figura 10: Interfaz del sistema colaborativo guiado.

Fuente: Elaboración propia.

 

La interfaz del sistema del modo control se diseñó de tal forma que el usuario pueda observar la graficación de los planos articulares, tras el ingreso de determinados puntos generados tras la interpolación y la limitación de la cantidad de movimientos totales, y así dicho usuario puede analizar los ángulos que se enviaran a los motores, y con la modificación de dichos parámetros lograr enviar la curva menos agresiva, conservando el movimiento y preservando la vida útil de los motores. Al igual que en el modo guiado, se tiene los botones para iniciar la simulación y detenerla, y activar o desactivar el envío de los ángulos al robot real. Panel que se encuentra en la parte inferior izquierda, tal cual como se observa en la Figura 11.

 

 

Figura 11:  Interfaz del sistema de control cinemático colaborativo guiado.

Fuente: Elaboración propia.

 

 

IV. RESULTADOS ANÁLISIS E INTERPRETACIÓN

 

a.Validación del modelo matemático

 

Primero se realizó una validación del modelo matemático haciendo uso del diseño CAD de los manipuladores (ver Figura 11), al cual se le dió un valor angular determinado aleatorio a cada una de las articulaciones.

 

 

Figura 11 : Diseño CAD de los manipuladores.

Fuente: Elaboración propia.

 

De una vista frontal se midió la distancia en X y Z de los dos brazos desde el punto de origen que se ubica en la mitad de la estructura mecánica alineado con los ejes de la primera articulación de los manipuladores hasta la ubicación final de los manipuladores. Las acotaciones dieron:

 

De la misma manera se acotaron las distancias en Y de los dos brazos de una vista lateral derecha, los resultados fueron:

 

Para validar los resultados con el software del HMI, se ingresaron los mismos valores angulares, utilizando el modelo matemático Denavit Hartenberg, se calculó la localización final de los manipuladores y se tomaron los valores de posición en ‘X’, ‘Y’ y ‘Z’ de los dos manipuladores como se observa en la Figura 12.

 

 

Figura 12: Resultado de la cinemática directa por parte del HMI.

Fuente: Elaboración propia.

 

Los valores de posición resultantes fueron:

 

Como el sistema de coordenadas para calcular la posición de los manipuladores por el método de Denavit Hartenberg no tiene la misma dirección que los ejes del sistema de coordenadas de los manipuladores reales y los diseñados en el CAD, se cambiaron los resultados siguiendo el sistema de coordenadas de la Figura 13. Se obtiene:

 

Figura 13: Sistema de coordenadas.

Fuente: Elaboración propia.

 

El entorno de la simulación de los manipuladores tiene un factor reductor de 0.24/6.82, al dividir este factor en cada uno de los resultados se valida la correlación de los tamaños de los eslabones y las distancias entre manipuladores y el óptimo funcionamiento del modelo cinemático directo. La diferencia entre la posición obtenido de los manipuladores en el CAD y la calculada en el HMI por el modelo cinemático directo Denavit Hartenberg, se observa en la Tabla 1.

 

Tabla 1 : comparación entre la acotación en el CAD y el cálculo del DH para la validación de la cinemática directa

Coordenada

Brazo derecho espejo

Brazo izquierdo espejo

CAD

D-H

Error %

CAD

D-H

Error %

X en cm

25.5

25.5045

0.0045

39.3

-39.3355

0.0355

Y en cm

-23.2

-23.1911

0.0089

18.9

-18.92244

0.02244

Z en cm

14.57

14.5753

0.0053

35.79

35.792

0.002

Fuente: Elaboración propia.

 

b. Validación del montaje físico

 

Al imitar el robot al ser humano, este se ubicará de frente a los manipuladores, de esta manera al mover el brazo derecho del ser humano se moverá el brazo izquierdo robótico, y al mover el brazo izquierdo del humano, se moverá el brazo derecho robótico. De esta manera cuando se hace referencia al izquierdo espejo se refiere al manipulador derecho, y cuando se hace referencia al derecho espejo se refiere al manipulador izquierdo. Se definieron para la validación los siguientes ángulos para cada valor articular de los manipuladores en físico, como se observa en la Tabla 2.

 

Tabla 2 : Ángulos ingresados a los manipuladores para la validación físico del modelo directo.

Motor

Derecho espejo

Izquierdo espejo

Motor 1

140

90

Motor 2

30

20

Motor 3

170

180

Motor 4

90

60

Motor 5

60

40

Motor 6

90

70

Fuente: Elaboración propia.

 

Como los manipuladores se ubicaron de frente al ser humano la dirección negativa en X se ubica a la izquierda del ser humano, por eso esta última medida es negativa dando una acotación de -13 cm.  Todas las acotaciones de posición se ven mejor en la Tabla 3.

 

Tabla 3: Acotaciones físicas de posición de los dos manipuladores.

Coordenada

Manipulador derecho espejo

Manipulador izquierdo espejo

X

17.5 cm

-13 cm

Y

-17 cm

-31.5 cm

Z

17 cm

-4.5 cm

Fuente: Elaboración propia.

 

Posteriormente se enviaron los mismos valores articulares al software para obtener la posición de robot simulado por medio de la cinemática directa, y se imprimieron los resultados de posición, para comparar los resultados con los valores medidos. Los valores obtenidos se pueden ver en la Tabla 4.

 

Tabla 4 : Coordenadas obtenidas con la cinemática directa con los ángulos ingresados a los manipuladores.

Coordenada

Manipulador derecho espejo

Manipulador izquierdo espejo

X

17.9406 cm

-12.086749 cm

Y

-17.639656 cm

-30.893206 cm

Z

17.2104 cm

-4.0469527 cm

Fuente: Elaboración propia.

 

La diferencia entre la posición real y la posición calculada por el Denavit Hartenberg se observa mejor en la Tabla 5, donde el error más grande de todas las coordenadas es aproximadamente 1 centímetro, esta pequeña diferencia se debe a la dificultad de medición del robot real, aun así, el error es muy pequeño demostrando la correspondencia del robot virtual con el robot en fisco.

 

Tabla 5: Error entre posición calculada y obtenida del extremo de los manipuladores.

Coordenada

Posición del extremo del manipulador derecho espejo en cm

Posición del extremo del manipulador izquierdo espejo en cm

Calculado

Obtenido

Error %

calculado

Obtenido

Error %

X

17.9406

17.5

0.4406

-12.086749

-13

1.0867

Y

-17.6396

-17

0.6396

-30.893206

-31.5

0.6068

Z

17.2104

17

0.2104

-4.0469527

-4.5

0.453

Fuente: Elaboración propia.

 

La correspondencia entre el robot real y el entorno virtual se puede corroborar visualmente al observar las Figuras 14 y 15.

 

Figura 14: Posición de los manipuladores en una vista frontal para la validación del montaje físico.

Fuente: Elaboración propia.

 

 

 

 

Figura 15: Simulación de los ángulos ingresados a los manipuladores.

Fuente: Elaboración propia.

 

c. Validación de la ejecucion de la actividad de aprendizaje en guiado y control

 

Se colocó un objeto cubico en el entorno virtual de robot, posteriormente se inicio el aprendizaje y por medio de la experticia del humano se guardó una trayectoria de los manipuladores haciendo que la punta de los brazos virtuales tocaran los bordes de la caja. Se guardaron 200 valores de posición final en las coordenadas ‘X’, ‘Y’ y ‘Z’ en aproximadamente 10 segundos. Luego se tomaron 10 puntos intermedios de muestreo para el interpolador cubico y con ellos generar el control cinemático de las trayectorias como se observa en la Figura 16. Todo este procedimiento se realizó 5 veces para una correcta validación, y con ello obtener datos de desviación.

 

 

Figura 16: Control cinemático de la trayectoria guardada.

Fuente: Elaboración propia.

 

Con la ayuda de la herramienta Simulink del software Matlab se graficaron los 5 perfiles de posición final en ‘X’, ‘Y’ y ‘Z’ de los dos brazos junto con la posición deseada que equivale a la posición de los bordes superiores frótales de la caja, graficas que se observan en las Figuras de la 17 a la 28.

 

Figura 17: Perfil en X de las 5 trayectorias del brazo derecho.

Fuente: Elaboración propia.

 

 

Figura 18: Perfil en X de las 5 trayectorias del brazo derecho con control.

Fuente: Elaboración propia.

 

 

Figura 19: Perfil en Y de las 5 trayectorias el brazo derecho.

Fuente: Elaboración propia.

 

 

Figura 20: Perfil en Y de las 5 trayectorias del brazo derecho con control.

Fuente: Elaboración propia.

 

 

Figura 21: Perfil en Z de las 5 trayectorias del brazo derecho.

Fuente: Elaboración propia.

 

 

Figura 22: Perfil en Z de las 5 trayectorias del brazo derecho con control.

Fuente: Elaboración propia

 

 

Figura 23: Perfil en x de las 5 trayectorias del brazo izquierdo.

Fuente: Elaboración propia.

 

 

Figura 24: Perfil en X de las 5 trayectorias del brazo izquierdo con control.

Fuente: Elaboración propia.

 

 

Figura 25: Perfil en Y de las 5 trayectorias del brazo izquierdo.

Fuente: Elaboración propia.

 

 

Figura 26: Perfil en Y de las 5 trayectorias del brazo izquierdo con control.

Fuente: Elaboración propia.

 

 

Figura 27: Perfil en Z de las 5 trayectorias del brazo izquierdo.

Fuente: Elaboración propia.

 

 

Figura 28: Perfil en Z de las 5 trayectorias del brazo izquierdo con control.

Fuente: Elaboración propia.

 

 

Como se puede observar en las gráficas de los perfiles de la trayectoria del brazo derecho e izquierdo (Figuras 17 a la 28), cuando se aplica el control cinemático a las trayectorias guardadas los picos se atenúan y se aumenta la estabilidad. A partir de los datos obtenidos se halló el error en estado estable, tomando solo los últimos 5 segundos de las trayectorias, mostrándose los resultados en las Figuras de la 29 a la 40.

 

Figura 29: Error absoluto de los valores en X del brazo derecho.

Fuente: Elaboración propia.

 

 

Figura 30: Error absoluto de los valores en X del brazo derecho con control.

Fuente: Elaboración propia.

 

 

Figura 31: Error absoluto de los valores en Y del brazo derecho.

Fuente: Elaboración propia.

 

Figura 32: Error absoluto de los valores en Y del brazo derecho con control.

Fuente: Elaboración propia.

 

 

Figura 33: Error absoluto de los valores en Z del brazo derecho.

Fuente: Elaboración propia.

 

 

Figura 34: Error absoluto de los valores en Z del brazo derecho con control.

Fuente: Elaboración propia.

 

 

Figura 35: Error absoluto de los valores en X del brazo izquierdo.

Fuente: Elaboración propia.

 

Figura 36: Error absoluto de los valores en X del brazo izquierdo con control.

Fuente: Elaboración propia.

 

 

Figura 37: Error absoluto de los valores en Y del brazo izquierdo.

Fuente: Elaboración propia.

 

 

Figura 38: error absoluto de los valores en Y del brazo izquierdo con control.

Fuente: Elaboración propia.

 

 

Figura 39: Error absoluto de los valores en Z del brazo izquierdo.

Fuente: Elaboración propia.

 

Figura 40: Error absoluto de los valores en Z del brazo izquierdo con control.

Fuente: Elaboración propia.

 

El error en estado estable también disminuye al aplicar el control cinemático. Posteriormente se halló el error en estado estable del promedio de las 5 datas obtenidas, lo cul se obsrva en las Figuras de la 41 a la 51.

 

 

Figura 41: Error promedio de los valores de X del brazo derecho con control.

Fuente: Elaboración propia.

 

 

Figura 42: Error promedio de los valores de X del brazo derecho.

Fuente: Elaboración propia.

 

 

Figura 43: Error promedio de los valores en Y del brazo derecho con control.

Fuente: Elaboración propia.

 

 

Figura 44: Error promedio de los valores en Y del brazo derecho.

Fuente: Elaboración propia.

 

 

Figura 45: Error promedio de los valores en Z del brazo derecho con control.

Fuente: Elaboración propia.

 

 

Figura 46: Promedio de los valores en Z del brazo derecho.

Fuente: Elaboración propia.

 

Figura 47: Error promedio de los valores de X del brazo izquierdo con control.

Fuente: Elaboración propia.

 

 

Figura 48: Error promedio de los valores de X del brazo izquierdo.

Fuente: Elaboración propia.

 

 

Figura 49: Error promedio de los valores de Y del brazo izquierdo con control.

Fuente: Elaboración propia.

 

 

Figura 50: Error promedio de los valores en Y del brazo izquierdo.

Fuente: Elaboración propia.

 

 

Figura 51: Error promedio de los valores en Z del brazo izquierdo con control.

Fuente: Elaboración propia.

 

 

Figura 52: Error promedio de los valores en Z del brazo izquierdo.

Fuente: Elaboración propia.

 

 

     Luego se halló la desviación estándar de cada perfil de las trayectorias de cada brazo con y sin control cinemático, lo cual se muestra en las Figuras de la 53 a la 64.

 

Figura 53: Desviación estándar de los valores en X del brazo derecho con control.

Fuente: Elaboración propia.

 

 

Figura 54: Desviación estándar de los valores en X del brazo derecho.

Fuente: Elaboración propia.

 

 

Figura 55: Desviación estándar de los valores en Y del brazo derecho con control.

Fuente: Elaboración propia.

 

 

Figura 56: Desviación estándar de los valores en Y del brazo derecho.

Fuente: Elaboración propia.

 

 

Figura 57: Desviación estándar de los valores en Z del brazo derecho con control.

Fuente: Elaboración propia.

 

 

Figura 58: Desviación estándar de los valores en Z del brazo derecho.

Fuente: Elaboración propia.

 

 

Figura 59: Desviación estándar de los valores en X del brazo izquierdo con control.

Fuente: Elaboración propia.

 

 

Figura 60: Desviación estándar de los valores en X del brazo izquierdo.

Fuente: Elaboración propia.

 

 

Figura 61: Desviación estándar en Y del brazo izquierdo con control.

Fuente: Elaboración propia.

 

 

Figura 62: Desviación estándar de los valores en Y del brazo izquierdo.

Fuente: Elaboración propia.

 

 

Figura 63: Desviación estándar de los valores en Z del brazo izquierdo con control.

Fuente: Elaboración propia.

 

 

Figura 64: Desviación estándar de los valores en Z del brazo izquierdo.

Fuente: Elaboración propia.

 

 

Al comparar los resultados con y sin control la desviación estándar no cambia en mayor medida, pero los puntos que se encuentran dentro de la desviación en la parte de control son más proporcionalmente que los puntos que se encuentran en la desviación sin control, esto debido a que la estabilidad de las trayectorias mejora al aplicarle el control cinemático.

 

En cuanto a la veracidad de la validación de las trayectorias en el sistema físico, tras haber validado anteriormente la correspondencia del sistema virtual con el sistema físico con la validación de las cinemáticas, todo lo que se haga en el simulador tiene validez para el sistema físico, puesto que se demostró que ambos sistemas tienen total correspondencia. A pesar de la afirmación anterior, se grabó un video para demostrar dicha correspondencia, el cual se puede observar en el siguiente enlace https://youtu.be/Xk60VQw_xcw indicadores de aporte del sistema a la industria 4.0 y al nuevo enfoque de trabajos ciberfísicos.

 

d. Adaptabilidad a movimientos humanos

 

Para establecer los indicadores pertinentes a la adaptabilidad del robot a los movimientos humanos, se tienen en cuenta los grados de libertad de las extremidades del humano y la distribución de los mismos. Donde los primeros indicadores refieren al cumplimiento en la utilización de dichos grados de libertad y distribución; y un tercer indicador refiere a la capacidad del manipulador a ejecutar los movimientos cumpliendo siempre con la trayectoria del efector final sin realizar los mismos movimientos del humano, ya que, aunque se dé el caso de no cumplir con la misma estructura morfológica aun así pudiera lograr ejecutar la trayectoria del efector final, según se muestra en la Tabla 6.

 

Tabla 6: Parámetros del indicador de similitud de grados de libertad.

Grado de libertad

Movimientos que permite

Cumple

No cumple

Grado 1

Movimientos de la flexión y extensión del brazo en el plano sagital

X

 

Grado 2

Movimientos de aducción y abducción en el plano frontal.

X

 

Grado 3

Movimientos de la flexoextensión horizontal o la rotación medial y lateral

X

 

Grado 4

Movimientos de la extensión y flexión del antebrazo con referencia al brazo

X

 

Grado 5

Movimientos de la pronación y supinación

X

 

Grado 6

Movimientos de la flexión y extensión de la mano

X

 

Grado 7

Movimientos de abducción y abducción de la mano

 

X

Fuente: Elaboración propia.

 

Los resultados del primer indicador se calculan mediante la Ecu. (1), y los resultados de observan en la Ecu. (2).

 

 

 

En la Tabla 7, se aprecia la coincidencia o no coincidencia de la distribución de los grados de libertad de los manipuladores en relación a la morfología del brazo humano.

 

Tabla 7: Distribución de los grados de libertad en la morfología.

Grado de libertad

Coincide con ubicación en el humano

No coincide con ubicación en el humano

Grado 1

X

 

Grado 2

X

 

Grado 3

X

 

Grado 4

X

 

Grado 5

X

 

Grado 6

X

 

Fuente: Elaboración propia.

 

Donde los resultados del segundo indicador se calculan mediante la Ecu. (3), y los resultados de observan en la Ecu. (4).

 

 

Debido a que el único movimiento faltante por el manipulador es el movimiento de abducción y aducción de la mano, el cual en una posición final de la punta de la mano puede ser realizado por un movimiento combinado de flexión y extensión de la mano y un movimiento de pronación o supinación del grado anterior, se puede asegurar que el diseño morfológico del manipulador puede realizar el 100 % de las posiciones finales de la mano. Por lo que se expresa el indicador 3 de la siguiente manera en la Ecu. (5).

 

Expresando el indicador final de Adaptabilidad a movimientos humanos en la Ecu. (6) y la Ecu. (7).

 

Cumplimiento de condiciones mínimas necesarias para la integración de la robótica guiada con la robótica colaborativa y la visión artificial. Para analizar el cumplimiento de las condiciones para la integración se chequean los resultados en la tabla 8.

 

Tabla 8: Cumplimientos de condiciones para la integración.

Condición

Cumple

No cumple

Planificación de ruta libre de colisiones

X

 

Sensórica inteligente

X

 

Planificación de tareas y movimiento

X

 

Control de seguridad

X

 

Transporte seguro de objetos

X

 

Modelado del entorno

X

 

Fuente: Elaboración propia.

 

Donde los resultados del indicador se calculan mediante la Ecu. (8), y los resultados de observan en la Ecu. (9).

 

 

Cumplimiento de requerimientos para satisfacer un modelo ciberfísico según los lineamientos de la industria 4.0. Un modelo ciberfísico según los lineamientos de la industria 4.0. es un modelo que contempla en la fase de planificación y construcción una interpretación del modelo virtual.  Donde el proceso debe ser basado en la arquitectura CPPS, con la representación del mundo físico y el mundo digital, el proceso de adaptación se estructura en tres partes: infraestructura, comunicación y aplicación.  El cumplimiento lo anterior se observa en la tabla 9.

 

Tabla 9: Cumplimiento de los requerimientos para satisfacer un modelo ciberfísico según los lineamientos de la industria 4.0.

Requerimientos

Cumple

No cumple

Contemplación en la planificación y construcción del modelo virtual

X

 

Desarrollo de la infraestructura (integración de dispositivos IoT)

 

X

Comunicación (crear redes IoT)

 

X

Aplicaciones del robot en la industria 4.0

X

 

Fuente: Elaboración propia.

 

Donde los resultados del indicador se calculan mediante la Ecu. (10), y los resultados de observan en la Ecu. (11).

 

 

 

 

 

V. CONCLUSIONES

 

Al procesar la posición de los puntos articulares obtenidos por el sistema de visión artificial, se pueden calcular los valores articulares tras un estudio geométrico y analítico, donde la combinación de ambos métodos facilita la solución de la morfología del brazo humano.

 

La realización del estudio morfológico por valores articulares y no por valores posicionales, permite poder simular el proceso de manera más practica permitiendo escalar más fácilmente a un robot de tamaño determinado sin importar el tamaño de las extremidades del operario que lo entrena.

 

La articulación de la muñeca que devuelve el sensor está desfasada, y se localiza en el punto medio de la palma de la mano, esto hace que al extender o flexionar la mano completamente, los valores extremos del rango de trabajo de la quinta articulación del manipulador no se formen, de esta manera se limita su rango de trabajo, de lo que surge la necesidad de compensar la posición final de la mano, por medio de las ecuaciones de la cinemática inversa, al trabajar con el sistema de percepción Kinect.

 

El error del modelo matemático del software diseñado es del 0,03%, como se observa en la tabla 1, lo que corrobora la matemática del modelo. En cuanto al robot físico, el máximo error del brazo derecho espejo es del 0.64% y del brazo izquierdo espejo es del 1.09%, como se observa en la tabla 5, por lo que se asegura una buena correspondencia entre el robot físico y el entorno virtual.

 

Cuando se aplica el control cinemático a las trayectorias guardadas, las oscilaciones o cambios drasticos se atenúan y aumenta la estabilidad, como se observa en las figuras 17-28 de las trayectorias, 29-40 del error absoluto y 41-52 del error promedio, los cuales se verían reflejas de las derivadas de la posición, es decir, en cambios suvitos de velocidad y aceleración. Lo cual hace que mejora la vida útil de los actuadores y la suavidad y coordinación con la que se ejecutan las trayectorias.

 

Al comparar los resultados con y sin control mediante la desviación estándar, los cuales se observan en las figuras de la 53 a la 54, se denota que dicha desviación no cambia en mayor medida, pero los puntos que se encuentran dentro de la desviación en la parte de control son más proporcionales que los puntos que se encuentran en la desviación sin control, esto debido a que la estabilidad de las trayectorias mejora al aplicarle el control cinemático.

 

A pesar de delimitar a 10 movimientos para la generación de trayectorias de 1000 aprendidos, se conserva la naturaleza de la tarea, como se observa en https://youtu.be/Xk60VQw_xcw, concluyendo que el muestreo de puntos tomados es redundante, pero aun así es necesario para observar mayor fluidez entre movimientos en el simulador, en el momento de simular el guiado sin control cinemático previo a la generación de las trayectorias.

 

Según los indicadores de las ecuaciones 2, 4, 5 y 7. elaborados a partir de las tablas 6 y 7, el robot diseñado tiene una adaptabilidad a los movimientos humanos del 95,2%, por lo que se concluye que el sistema se puede adaptar a la mayoría de actividades desarrolladas por un humano.

 

El sistema diseñado según los resultados de la ecuación 9, desarrollada a partir de los datos de la tabla 8, cumple el 100% de los requerimientos establecidos en este proyecto para satisfacer una integración la robótica guiada, colaborativa y visión artificial.

 

 

VI. RECOMENDACIONES

 

 

Se tienen las siguientes recomendaciones de uno del sistema creado:

 

-    El usuario que enseñara al robot debe ubicarse de manera que la línea que se forma entre sus dos pies sea perpendicular a la proyección del Kinect.

-    Antes de iniciar el aprendizaje cerciorarse que el simulador esté detectando al usuario que enseña al robot.

-    Antes de iniciar el aprendizaje el usuario que enseña al robot debe familiarizarse con el guiado que ejerce sobre el robot, observando los efectos de sus movimientos en el simulador del robot.

-    Antes de activar el robot real, se debe observar la tarea aprendida en su totalidad en la simulación del aprendizaje, si observa algún cambio brusco o alguna anomalía, debe repetir el aprendizaje

-    En el modo control, ingresar la cantidad de movimientos a interpolar que conserve la tarea enseñada, por defecto el software define 10 movimientos si el usuario no ingresa ningún valor, siendo ésta la cantidad mínima, tratando siempre de encontrar la cantidad más pequeña, para agilizar así el proceso y la comunicación.

-    En el modo control, por defecto el software define 3 puntos a generarse por el interpolador entre movimientos, en todo caso, se recomienda que el usuario ingrese el valor más acorde al aprendizaje observando los cambios en las gráficas de los planos articulares que observa en la parte inferior de la pantalla, siempre tratando de definir la mínima cantidad posible.

 

Por su parte, se tinen las siguientes recomendaciones para futuros trabajo:

-    Debido a que el sistema ya cuenta con un diseño ciberfísico y a demás cumple con el requerimiento de aplicaciones en la industria 4.0, se recomienda que posteriormente se le adopten al sistema dispositivos IoT y se creen las respectivas redes, para que así cumpla con el 100% de los requerimientos de un CPPS.

-    En el presenta proyecto, la utilización de electroimanes como efectores finales fue suficiente ya que el fin principal era extraer los movimientos y guiar al robot y no había un interés especifico por la tarea a realizar, pero para un trabajo posterior se recomienda utilizar otro tipo de efector final, el cual se adapte más al tipo de agarre de la mano del humano.

-    Se recomienda implementar un control dinámico para robustecer el sistema ante perturbaciones.

-    Utilizar más Sensórica inteligente y otro dispositivo de visión artificial, para reducir el error en la percepción de los movimientos, así como también para poder controlar la fuerza con la que se subjetan las piezas que transporta.

-    Usar servomotores con mayor torque, ya que los actuales limitan ampliamente el peso de los objetos a transportar. Y realizar de nuevo el cálculo del torque necesario a partir de una simulación de las condiciones con el modelo dinámico.

 

 

VII. REFERENCIAS

 

 

[1]   M. Ibarra y L. Sepúlveda, “Desarrollo de un sistema de control cinemático guiado y colaborativo mediante percepción y aprendizaje de trayectorias obtenidas por visión artificial de los movimientos de las extremidades superiores del ser humano para Tecnoacademia Cúcuta del SENA-NDS”, Universidad de Pamplona, 2020.

[2]   T. Turja, I. Aaltonen, S. Taipale, y A. Oksanen, “Robot acceptance model for care (RAM-care): A principled approach to the intention to use care robots”, Inf. Manag., núm. (in press), p. 103220, 2019.

[3]   O. Igno-Rosario, C. Hernandez-Aguilar, A. Cruz-Orea, y A. Dominguez-Pacheco, “Interactive system for painting artworks by regions using a robot”, Rob. Auton. Syst., vol. 121, p. 103263, 2019.

[4]   H. Celikag, N. D. Sims, y E. Ozturk, “Cartesian stiffness optimization for serial arm robots”, Procedia CIRP, vol. 77, núm. Hpc, pp. 566–569, 2018.

[5]   C. Urrea, J. Cortés, y J. Pascal, “Design, construction and control of a SCARA manipulator with 6 degrees of freedom”, J. Appl. Res. Technol., vol. 14, núm. 6, pp. 396–404, 2016.

[6]   H. S. An, J. H. Lee, C. Lee, T. W. Seo, y J. W. Lee, “Geometrical kinematic solution of serial spatial manipulators using screw theory”, Mech. Mach. Theory, vol. 116, pp. 404–418, 2017.

[7]   C. Lopez-Franco, J. Hernandez-Barragan, A. Y. Alanis, y N. Arana-Daniel, “A soft computing approach for inverse kinematics of robot manipulators”, Eng. Appl. Artif. Intell., vol. 74, núm. May, pp. 104–120, 2018.

[8]   V. N. Iliukhin, K. B. Mitkovskii, D. A. Bizyanova, y A. A. Akopyan, “The Modeling of Inverse Kinematics for 5 DOF Manipulator”, Procedia Eng., vol. 176, pp. 498–505, 2017.

[9]   G. Li, H. Huang, H. Guo, y B. Li, “Design, analysis and control of a novel deployable grasping manipulator”, Mech. Mach. Theory, vol. 138, pp. 182–204, 2019.

[10] F. Basile, F. Caccavale, P. Chiacchio, J. Coppola, y A. Marino, “A decentralized kinematic control architecture for collaborative and cooperative multi-arm systems”, Mechatronics, vol. 23, núm. 8, pp. 1100–1112, 2013.

[11] D. Guo y Y. Zhang, “Li-function activated ZNN with finite-time convergence applied to redundant-manipulator kinematic control via time-varying Jacobian matrix pseudoinversion”, Appl. Soft Comput. J., vol. 24, pp. 158–168, 2014.

[12] C. C. Cheah, S. Kawamura, y S. Arimoto, “Stability of hybrid position and force control for robotic manipulator with kinematics and dynamics uncertainties”, Automatica, vol. 39, núm. 5, pp. 847–855, 2003.

[13] K. Goldberg, “Robots and the return to collaborative intelligence”, Nat. Mach. Intell., vol. 1, núm. 1, pp. 2–4, 2019.

[14] C. Schou, R. S. Andersen, D. Chrysostomou, S. Bøgh, y O. Madsen, “Skill-based instruction of collaborative robots in industrial settings”, Robot. Comput. Integr. Manuf., vol. 53, núm. March, pp. 72–80, 2018.

[15] A. Realyvásquez-Vargas, K. Cecilia Arredondo-Soto, J. Luis García-Alcaraz, B. Yail Márquez-Lobato, y J. Cruz-García, “Introduction and configuration of a collaborative robot in an assembly task as a means to decrease occupational risks and increase efficiency in a manufacturing company”, Robot. Comput. Integr. Manuf., vol. 57, núm. December 2018, pp. 315–328, 2019.

[16] K. Amunts, L. Grandinetti, T. Lippert, y N. Petkov, “Brain-Inspired Computing: Second International Workshop, BrainComp 2015 Cetraro, Italy, July 6–10, 2015 Revised Selected Papers”, Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 10087 LNCS, pp. 179–193, 2016.

[17] B. Fang, X. Guo, Z. Wang, Y. Li, M. Elhoseny, y X. Yuan, “Collaborative task assignment of interconnected, affective robots towards autonomous healthcare assistant”, Futur. Gener. Comput. Syst., vol. 92, pp. 241–251, 2019.

[18] A. Levratti, G. Riggio, C. Fantuzzi, A. De Vuono, y C. Secchi, “TIREBOT: A collaborative robot for the tire workshop”, Robot. Comput. Integr. Manuf., vol. 57, núm. December 2018, pp. 129–137, 2019.

[19] P. Francesco y G. G. Paolo, “AURA: An Example of Collaborative Robot for Automotive and General Industry Applications”, Procedia Manuf., vol. 11, núm. June, pp. 338–345, 2017.

[20] J. P. Vasconez, G. A. Kantor, y F. A. Auat Cheein, “Human–robot interaction in agriculture: A survey and current challenges”, Biosyst. Eng., vol. 179, pp. 35–48, 2019.

[21] J. O. Oyekan et al., “The effectiveness of virtual environments in developing collaborative strategies between industrial robots and humans”, Robot. Comput. Integr. Manuf., vol. 55, núm. September 2017, pp. 41–54, 2019.

[22] M. J. Rosenstrauch, T. J. Pannen, y J. Krüger, “Human robot collaboration - Using kinect v2 for ISO/TS 15066 speed and separation monitoring”, Procedia CIRP, vol. 76, pp. 183–186, 2018.

[23] A. Mohammed y L. Wang, “Brainwaves driven human-robot collaborative assembly”, CIRP Ann., vol. 67, núm. 1, pp. 13–16, 2018.

[24] R. Meziane, M. J. D. Otis, y H. Ezzaidi, “Human-robot collaboration while sharing production activities in dynamic environment: SPADER system”, Robot. Comput. Integr. Manuf., vol. 48, núm. December 2015, pp. 243–253, 2017.

[25] J. de Gea Fernández et al., “Multimodal sensor-based whole-body control for human–robot collaboration in industrial settings”, Rob. Auton. Syst., vol. 94, pp. 102–119, 2017.

[26] M. D. Román, “SIMULADOR CINEMÁTICO DE UN ROBOT MANIPULADOR INDUSTRIAL”, 2014.

[27] J. Pascual, “Programación de robots II”, 2014.

[28] R. Suárez, “Programación, Planificación y Control en Robótica”, pp. 1–15, 2000.

[29] O. Benítez, C. García, y N. Acosta, “Programación de robots”, Inst. Tecnológico Super. ROBÓTICA, pp. 1–11, 2017.

[30] D. Massa, M. Callegari, y C. Cristalli, “Manual guidance for industrial robot programming”, Ind. Rob., vol. 42, núm. 5, pp. 457–465, 2015.

[31] L. Bascetta, G. Ferretti, G. Magnani, y P. Rocco, “Walk-through programming for robotic manipulators based on admittance control”, Robotica, vol. 31, núm. 7, pp. 1143–1153, 2013.

[32] E. Guiffo Kaigom y J. Roßmann, “Physics-based simulation for manual robot guidance—An eRobotics approach”, Robot. Comput. Integr. Manuf., vol. 43, pp. 155–163, 2017.

[33] S. Wrede, C. Emmerich, R. Grünberg, A. Nordmann, A. Swadzba, y J. Steil, “A User Study on Kinesthetic Teaching of Redundant Robots in Task and Configuration Space”, J. Human-Robot Interact., vol. 2, núm. 1, pp. 56–81, 2013.

[34] A. Odorico, “Marco teórico para una robótica pedagógica”, Rev. Informática Educ. y Medios Audiovisuales Vol. 1(3), vol. 1, núm. 3, pp. 34–46, 2004.

[35] J. A. Batlle, J. M. Font, y J. Escoda, “Guiado de un robot móvil con cinemática de triciclo”, An. Ing. Mecánica, vol. 15, núm. 4, pp. 2981–2986, 2004.

[36] D. R. Omar Arturo, J. S. Alejandro, P. V. Vicente, R. S. Francisco, y S. C. Gabriel, “Neurorehabilitación Robótica Basada en Guiado Kinestésico Local para Miembro Superior con Movimiento Involuntario”, Cienc. Univ., vol. 2, núm. February 2016, pp. 19–33, 2011.

[37] Y. Li y S. S. Ge, “Force tracking control for motion synchronization in human-robot collaboration”, Robotica, vol. 34, núm. 6, pp. 1260–1281, 2016.

[38] P. Schleer, S. Drobinsky, y K. Radermacher, “Evaluation of Different Modes of Haptic Guidance for Robotic Surgery”, IFAC-PapersOnLine, vol. 51, núm. 34, pp. 97–103, 2019.

[39] J. Baumeyer, S. Miossec, C. Novales, G. Poisson, P. Vieyres, y S. Pinault, “P9. Haptic multimodal assessment of robot manual guidance for patient pre-positioning in proton therapy”, Phys. Medica, vol. 32, pp. 370–371, 2016.

[40] A. M. Flores, P. Bauer, y G. Reinhart, “Concept of a learning knowledge-based system for programming industrial robots”, Procedia CIRP, vol. 79, pp. 626–631, 2019.

[41] G. De Catalunya, “Aplicación práctica de la visión artificial en el control de procesos industriales.”, 2011.

[42] J. Ordieres et al., Técnicas y algoritmos básicos de visión artificial Recurso electrónico - En línea, núm. January. 2006.

[43] COGNEX, “Introducción a la visión artificial. Una guía para la automatización de procesos y mejoras de calidad”, 2003.

[44] X. Feng, Y. Jiang, X. Yang, M. Du, y X. Li, “Computer vision algorithms and hardware implementations: A survey”, Integration, vol. 69, núm. August, pp. 309–320, 2019.

[45] V. Alvear-Puertas, P. Rosero-Montalvo, D. Peluffo-Ordóñez, y J. Pijal-Rojas, “Internet de las Cosas y Visión Artificial, Funcionamiento y Aplicaciones: Revisión de Literatura”, Enfoque UTE, vol. 8, núm. 1, p. 244, 2017.

[46] H. M. Mohammed y N. El-Sheimy, “Segmentation of image pairs for 3D reconstruction”, Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. - ISPRS Arch., vol. 42, núm. 2/W16, pp. 175–180, 2019.

[47] Sanmartín y Briceño, “Development of an Artificial Vision System for Underwater Vehicles”, Proceedings, vol. 21, núm. 1, p. 1, 2019.

[48] S. Trejo, K. Martinez, y G. Flores, “Depth map estimation methodology for detecting free-obstacle navigation areas”, 2019 Int. Conf. Unmanned Aircr. Syst. ICUAS 2019, núm. May, pp. 916–922, 2019.

[49] W. Shi, M. B. Alawieh, X. Li, y H. Yu, “Algorithm and hardware implementation for visual perception system in autonomous vehicle: A survey”, Integr. VLSI J., vol. 59, núm. July, pp. 148–156, 2017.

[50] A. Al-Kaff, D. Martín, F. García, A. de la Escalera, y J. María Armingol, “Survey of computer vision algorithms and applications for unmanned aerial vehicles”, Expert Syst. Appl., vol. 92, pp. 447–463, 2018.

[51] P. Martinez, M. Al-Hussein, y R. Ahmad, “A scientometric analysis and critical review of computer vision applications for construction”, Autom. Constr., vol. 107, núm. August, 2019.

[52] H. Tian, T. Wang, Y. Liu, X. Qiao, y Y. Li, “Computer vision technology in agricultural automation —A review”, Inf. Process. Agric., núm. xxxx, 2019.

[53] L. J. Catania y E. Nicolitz, “Artificial Intelligence and Its Applications in Vision and Eye Care”, Adv. Ophthalmol. Optom., vol. 3, núm. 1, pp. 21–38, 2018.

[54] Y. Xu et al., “Shared control of a robotic arm using non-invasive brain–computer interface and computer vision guidance”, Rob. Auton. Syst., vol. 115, pp. 121–129, 2019.

[55] M. Laganowska, “Application of vision systems to the navigation of mobile robots using markers”, Transp. Res. Procedia, vol. 40, pp. 1449–1452, 2019.

[56] M. H. Ali, K. Aizat, K. Yerkhan, T. Zhandos, y O. Anuar, “Vision-based Robot Manipulator for Industrial Applications”, Procedia Comput. Sci., vol. 133, pp. 205–212, 2018.