http://dx.doi.org/10.35381/r.k.v5i2.874

 

Control y monitoreo de brazo robótico integrando Labview, Solidworks y la internet de las cosas

 

Robotic arm control and monitoring integrating Labview, Solidworks and the internet of things

 

 

Byron Iván Asqui-Ramírez

asqui3yron@hotmail.com

Investigador Independiente

Ecuador

https://orcid.org/0000-0002-3110-7906

 

Eduardo Francisco García-Cabezas

eduardo.garcia@espoch.edu.ec

Escuela Superior Politécnica de Chimborazo, Riobamba

Ecuador

https://orcid.org/0000-0002-3547-472X

 

Jhonny Marcelo Orozco-Ramos

jhonny.orozco@espoch.edu.ec

Escuela Superior Politécnica de Chimborazo, Riobamba

Ecuador

https://orcid.org/0000-0003-2016-0426

 

Juan Carlos Cayán-Martínez

jcayan@espoch.edu.ec

Escuela Superior Politécnica de Chimborazo, Riobamba

Ecuador

https://orcid.org/0000-0001-9573-3706

 

 

 

Recibido: 17 de mayo de 2020

Revisado: 15 de junio de 2020

Aprobado: 20 de julio de 2020

Publicado: 01 de agosto de 2020

 

 

 

 

 

RESUMEN

La investigación tuvo como objetivo diseñar un sistema de control y monitoreo para un brazo robótico integrando Labview, Solidworks y la internet de las cosas. Se fundamentó desde el enfoque constructivista de aprendizaje, complementando con el conectivismo como enfoque que contribuye en interconectar el conocimiento en nodos de trabajo, con la finalidad de generar nuevos conocimientos desde la transformación de la información inicial. El proceso de control del brazo prototipo está basado principalmente en la ejecución del software LabVIEW y la tecnología IOT, respaldado por softwares ingenieriles que garantizan la viabilidad de la investigación. La simulación virtual remota del brazo robótico prototipo fue generada por el enlace entre el software LabVIEW y SolidWorks con total éxito, pues existieron diferentes etapas encargadas de validar acciones previas, el caso de esta simulación se comprobó en distintos softwares por mencionar la aplicación creada para visualización remota.

 

Descriptores: Robótica; inteligencia artificial; reconocimiento de formas; cibernética. (Palabras tomadas del Tesauro UNESCO).

 

 

 

 

 

ABSTRACT

The research aimed to design a control and monitoring system for a robotic arm integrating Labview, Solidworks and the Internet of Things. It was based on the constructivist approach to learning, complementing connectivism as an approach that contributes to interconnecting knowledge in work nodes, in order to generate new knowledge from the transformation of initial information. The prototype arm control process is mainly based on the execution of LabVIEW software and IOT technology, backed by engineering software that guarantees the viability of the research. The virtual remote simulation of the prototype robotic arm was generated by the link between the LabVIEW and SolidWorks software with total success, since there were different stages in charge of validating previous actions, the case of this simulation was verified in different softwares to mention the application created for visualization remote.

 

Descriptors: Robotics; artificial intelligence; pattern recognition; cybernetics. (Words taken from the UNESCO Thesaurus).

 

 

 

INTRODUCCIÓN

La robótica con fines educativo ha ido ganando espacio progresivamente en el proceso de aprendizaje, bien sea como diseño y creación por parte los estudiantes o como recurso didáctico para incentivar el conocimiento, siendo sustentado desde el enfoque constructivista (Ramírez-Sánchez & Landín-Juárez, 2017). Así mismo incentiva la innovación con lo cual, el pensamiento creativo se activa para coordinar sistemáticamente la coordinación del contexto desde una perspectiva global en solución del problema (Cornejo, et al., 2019).

La robótica contribuye a la modernización de la educación como sistema propiciador de competencias en los estudiantes con la finalidad de resolver problemáticas en su cotidianidad académica (Hackenhaar, et al., 2015), automatizando procesos, haciendo funcionales y efectivos en razón de elevar el rendimiento, de ese modo, los dispositivos robóticos son creados para acompañar en el aprendizaje de los estudiantes, promoviendo una interacción docente – discente en razón de promover la optimización de recursos didácticos en tiempo, posibilitando mejor comprensión, resolución de ideas problematizadoras, favoreciendo la capacidad de abstracción y pensamiento lógico (Palmerini, 2017).

De ese modo, la robótica genera una experiencia educativa del sujeto cognoscente con el objeto cognoscible en procura de explorar y comprender sus características, utilizándose además como instrumento para lograr optimizar un determinado proceso al servicio de la humanidad, así la robótica contribuye con la educación en modernizar áreas como la medicina, ingeniería, tecnología, entre otras que interactúan para compaginar la calidad de vida (Barrera-Lombana, 2015).

Proyectándose una educación sustentada en el aprendizaje, promoviéndose la motivación en el estudiante desde la posibilidad de construir el conocimiento en función de la investigación, fortaleciéndose competencias cognitivas y procedimentales (Vargas, et al., 2017), en este sentido, se requiere asumir por parte del docente, una posición donde promueva en el estudiante la capacidad de asumir responsablemente su aprendizaje, es decir, se requiere pasar del modelo de enseñanza al de aprendizaje activo (Correa-Ortiz, et al., 2019).

La educación basada en la robótica debe conllevar no solo a la generación de conocimientos y competencias, sino, de productos robóticos al servicio de la humanidad, promoviéndose tres aspectos fundamentales: 1. Cognitivo, 2. Conductual, 3. Producción tecnológica. De ese modo, se compagina con el aprendizaje basado en proyectos, articulando en el estudiante la capacidad de proyectar, diseñar, construir, sustentando desde la investigación como proceso esencial para la generación de conocimientos (Zech, et al., 2017).

La robótica como herramienta educativa permite articular estrategias de integración de software, hardware, en diseño de solventar determinadas problemáticas a nivel doméstico, industrial comercial, contribuyendo al estudiante la posibilidad de construir dispositivos con fines de prevención, acción, alerta, sobre diversos hechos o fenómenos naturales, de ese modo, se ejecuta una formación en razón de promover competencias y habilidades, siendo este un factor esencial en la educación universitaria del Ecuador, en donde en las carreras relacionadas a robótica y computación, se viene diseñando y construyendo prototipos en función de establecer un aprendizaje en consonancia con las tendencias pedagógicas y tecnológicas de educación (Lucero, et al., 2017).

El software LabVIEW ha sido uno de los de mayor uso en la fabricación de prototipos robóticos en el Ecuador, por cuanto permite desde una visión didáctica integrar componentes para el óptimo funcionamiento de los dispositivos, así en razón de configurar a bajo costo, el proyecto diseñado (De-La-Cruz, et al., 2017), complementándose con el empleo de aplicaciones IOT, las cuales permiten arreglar y configurar el funcionamiento óptimo de la aplicación (Alvear-Puertas, et al., 2017), siendo posible por parte del estudiante, promover el aprendizaje creativo a partir de la construcción de herramientas robóticas donde se emplee el internet de las cosas (Sánchez & Ramoscelli, 2018), constituyéndose una evidente utilidad en favorecer la calidad de vida mediante el uso de la tecnología (Sanmartín-Mendoza, et al., 2016).

El internet de las cosas como tecnología alternativa, contribuye en el uso de software libre, posibilitando no solo bajo costos en el proyecto, sino, la posibilidad de emplear el aprendizaje cooperativo – colaborativo en razón de optimizar los procesos en función de proyectar la generación de dispositivos en cumplimiento de expectativas del cliente externo (Ochoa-Duarte, et al., 2018), proyectándose la generación de construcción colectiva de la calidad del equipo diseñado, pudiendo emplearse el IOT con diversos objetivos de medición y control (Manosalva-Barrera & Cangrejo-Aljure, 2018).

En función de lo planteado, la actual investigación se fundamenta desde el enfoque constructivista de aprendizaje (Espinosa-Cristia, 2019), complementando con el conectivismo como enfoque que contribuye en interconectar el conocimiento en nodos de trabajo, con la finalidad de generar nuevos conocimientos desde la transformación de la información inicial (Vallejo-Valdivieso, et al., 2019). Por lo tanto, se tuvo como objetivo diseñar un brazo robótico desde la internet de las cosas y la integración de Labview y Solidworks.

 

PROPUESTA TECNOLOGICA

La propuesta fue construida en virtud de corresponder al objetivo de investigación, así como los enfoques pedagógicos del constructivismo y conectivismo, promoviendo un prototipo funcional en virtud de contribuir en la articulación de competencias y habilidades en los investigadores, de ese modo, se presenta:

 

Diseño CAD

El rediseño CAD fue realizado bajo el esquema exhibido en el portal Thingiverse. Com, debido a la complejidad en los detalles se adaptó al Software SolidWorks Simulation, precisamente para encajar en el análisis de movimientos. Los resultados encontrados en la remodelación fueron correctos y eficientes, se resalta además que los detalles para la simulación no afectan el sentido funcional del prototipo.

 

Análisis Estructural

El análisis estructural se manejó por dos acciones a través del Software SolidWorks, la primera fue el modelado, mientras que la segunda se acompañó por el ensamblaje de eslabones y componentes del brazo prototipo. La comprobación del diseño se encargó a la opción Simulación bajo la magnitud física Von Misses generada para considerar si el material aplicado cede o se fractura a una determinada carga, el criterio al fallo se efectuó con una fuerza de 100 N verificando que el material PLA es altamente dúctil y no cederá fácilmente a la fractura. La fuerza analizada fue suficiente para soportar todo el peso del sistema incluido los componentes internos del brazo; sin embargo, para mayor confiabilidad se aplicó un factor de seguridad de 1,2, asegurando el valor calculado de la capacidad máxima del sistema y el valor del requerimiento esperado real.

 

Análisis Cinemático

El análisis cinemático se determinó por la posición del extremo del robot con respecto al sistema de referencia fija en la base, de acuerdo al algoritmo Denavit-Hartenberg (D-H).

Figura 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figura 1. Diagrama con los sistemas de referencia, ejes y eslabones del brazo.

 

Implementación del Brazo

La implementación del prototipo tomó en cuenta varios factores de diseño, funcionalidad y adaptabilidad de los diferentes dispositivos respecto a las características específicas de cada uno de ellos. El análisis del torque fue necesario para adaptar los servomotores bajo especificaciones técnicas en función a las necesidades requeridas en el ensamblaje del brazo robótico. La Tabla 1 indica las características de configuración para el servo.

Tabla 1

Especificaciones técnicas del servo MG996R

Características:

 

Descripción

Peso:

 

55g

Dimensiones:

 

40.7x19.7.x42.9mm

Torque:

 

9.4 kgf*cm (4.8 V), 11 kgf·cm (6

 

V)

 

 

Velocidad de operación:

 

0.17 s/60º (4.8 V), 0.14 s/60º (6

 

V)

 

 

Voltaje de operación:

 

4.8 V a 7.2 V

Rango de temperatura:

 

0 ºC –55 ºC

Corriente:

 

500 mA- 900 mA (6V)

Numeró de servomotores:

5

 

 

La descripción hace alusión a las características de los servomotores que controlan la posición del eje en un momento dado para desplazarse ciertos grados y luego posicionarse fijo. Los parámetros de selección se enfocaron en fallos al sistema físico, por ende, se tomó en cuenta el peso del brazo robótico y los grados de libertad.

La Figura 2 es la impresión final del prototipo (brazo robótico) realizada bajo diversos criterios importantes como la ductilidad del material que tuvo distintas pruebas de impresión, de igual manera se integró factores en tiempo de impresión, velocidad de impresión y costo de impresión.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figura 2. Brazo Robótico con 6 grados de libertad.

 

Prototipo final de impresión 3D para un brazo robótico con 6 grados de libertad y ensamblaje de todos los componentes físicos bajo programación, integración y comunicación de programas a través de la tecnología IOT.

 

Programación Python

La programación en el lenguaje Python incluyó varias bibliotecas para el desarrollo del código, por mencionar las más importantes fueron: time, tkinter, tkMessageBox, socket, threading, requests, math, random, con funciones específicas en la programación del prototipo.

 

Programación LabVIEW

La programación en el Software LabVIEW se realizó de acuerdo a:

Crear un Nuevo VI: Dar clic derecho sobre “My Computer”, seleccionar “New”, presionar sobre “VI”, en las dos ventanas diseñar una interfaz y programar.

Diseñar la interfaz gráfica: Agregar controles e indicadores para el flujo de datos, que se encuentran en las opciones “silver” y “boolean” con un clic derecho sobre el panel frontal, además configurar la acción mecánica de los botones (stop, play y reset) de “Latch When Released” a “Switch until released”.

Ingresar ciclos de repetición: Pulsar clic derecho en el diagrama de bloques, específicamente para las opciones “Structures” e ingresar los bucles “While Loop” y “Flat Sequence Structure”, luego presionar clic derecho sobre la estructura “Flat Sequence Structure” y seleccionar “add frame after”, hasta completar cuatro marcos de programación.

Programar la primera sección de Flat Sequence Structure: Ingresar los botones de control, variables globales, estructura de caso, ciclo de repetición y una función de comparación para conectarlas de manera que cumplan tareas como reseteo, ejecución y paro del sistema.

Programar la segunda sección de Flat Sequence Structure: Añadir las funciones de: “Math Pattern”, “Scan From String”, “Unbundle By Name”, “TCP Open Connection”, “One Button Dialog” y “Case Structure”, conectadas de manera que realizacen un enlace con la plataforma remote it.

Programar la tercera sección de Flat Sequence Structure: Insertar las siguientes funciones: “Select”, “TCP Read”, “TCP Write”, “TCP Close Connection”, “Simple Error Handle.vi”, “While Loop” y “Case structure”, conectadas con los botones de control e indicadores para recibir y enviar datos a remote.

Programar la cuarta sección de Flat Sequence Structure: Añadir las funciones de “Case Structure” y “One Button Dialog” para un cierre adecuado del sistema.

 

Prueba de Funcionalidad

Las pruebas de funcionalidad se basaron en los movimientos de los grados de libertad del prototipo desde la interfaz gráfica ingresando a la plataforma de Remote para enlazar los dispositivos y el software LabVIEW verificando el flujo de datos al sistema.

 

 

 

Ejecución del sistema

La ejecución del sistema incluyó el código del archivo Python comprobando si existen conflictos de resolución para enlazarla a Labview, con el siguiente proceso:

-           Ingresar a la plataforma de Remote para enlazar los dispositivos

-           Verificar el flujo de datos en la plataforma Ubidots, además de las acciones realizadas en la interfaz gráfica del prototipo en Labview, Solidworks y prototipado físico.

Ejecutar el archivo Python: mostrará la interfaz gráfica del prototipo para ingresar la contraseña previamente programada, presionar el botón conectar para realizar una conexión con la plataforma remote it. Figura 3.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figura 3. Ejecutar el archivo Python.

 

 

 

 

 

 

 

 

Verificar si existe un conflicto de resolución: en “My Computer”, axis y ensamblaje de solidworks mediante la opción deploy.

Ejecutar Star Simulation: en el ensamblaje que se encuentra enlazado a    Labview.

 

 

 

 

 

 

 

 

 

 

 

 

Figura 4. Ejecutar Star Simulation.

 

 

 

Ingresar a la plataforma de Remote: obtener la dirección pública para enlazar los dispositivos.

 

 

 

 

 

 

 

 

 

Figura 5. Ejecutar Star Simulation

 

 

 

 

Cargar el programa de Labview: pegar la dirección pública en el cuadro de texto y presionar el botón “Play” para monitorear el sistema.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figura 6. Cargar el programa de Labview.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figura 7. Verificar el flujo de datos en la plataforma Ubidots.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figura 7. Cambiar los grados de libertad de los eslabones del brazo robótico prototipo.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figura 8. Brazo robótico prototipo.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figura 9. Interfaz gráfica en LabVIEW.

 

 

El funcionamiento del prototipo incluyo verificaciones en:

1.    La interfaz gráfica de LabVIEW

2.    El posicionamiento de los grados de libertad en los tableros de Ubidots

3.    Manual de usuario para la funcionalidad del dispositivo Raspberry Pi 3, LabVIEW, la interfaz gráfica del prototipo, monitoreo del sistema y procesamiento del flujo de datos.

 

 

Funcionamiento del Prototipo

Al realizar varias pruebas comparativas entre la interfaz gráfica con el prototipo físico, se verificó los desplazamientos de cada grado de libertad, llegando a concluir que existe un error de 1 a 2 grados.

 

 

CONCLUSIONES

La integración del hardware, software y el IOT con enlaces a diversas plataformas digitales, permitieron la creación del proceso destinado a: envió, monitoreo y control de datos en tiempo real.

El brazo prototipo en las pruebas realizadas demostró que las tareas a las que fue destinado a ejecutar tuvieron éxito total, por ende, su réplica en cualquier proceso productivo de la industria es cuestión de manejar únicamente escalas, además de resaltar que contribuye al crecimiento de las PYMES en el país.

El proceso de control del brazo prototipo está basado principalmente en la ejecución del software LabVIEW y la tecnología IOT, respaldado por softwares ingenieriles que garantizan la viabilidad de la investigación.

Las acciones de supervisión, control local escalable, manipulación y configuración del brazo robótico se sustentaron en lenguajes de programación como Python además en ordenadores como Raspberry Pi y softwares de código abierto que dan acceso a la modificación del código acorde los requerimientos propios en sistemas embebidos.

La simulación virtual remota del brazo robótico prototipo fue generada por el enlace entre el software LabVIEW y SolidWorks con total éxito, pues existieron diferentes etapas encargadas de validar acciones previas, el caso de esta simulación se comprobó en distintos softwares por mencionar la aplicación creada para visualización remota.

El control del sistema global se destinó en el paro de emergencia creado en LabVIEW, no obstante, también el software se encargó del monitoreo de los datos visualizados en tiempo real, al igual que Ubidots. Las dos plataformas se interpretaron en SolidWorks para verificar el comportamiento del proceso.

 

FINANCIAMIENTO

No monetario

 

 

 

AGRADECIMIENTO

A la Escuela Superior Politécnica de Chimborazo, por motivar y estimular esta investigación.

 

REFERENCIAS

Alvear-Puertas, V, Rosero-Montalvo, P, Peluffo-Ordóñez, D, & Pijal-Rojas, J. (2017). Internet de las Cosas y Visión Artificial, Funcionamiento y Aplicaciones: Revisión de Literatura. [Internet of Things and Artificial Vision, Performance and Applications: Literature Review]. Enfoque UTE8 (Supl.1), 244-256. https://dx.doi.org/10.29019/enfoqueute.v8n1.121

 

Barrera-Lombana, N. (2015). Uso de la robótica educativa como estrategia didáctica en el aula. [Use of educational robotics as a teaching strategy in the classroom}. Praxis & Saber6(11), 215-234.

 

Cornejo, J, Cornejo-Aguilar, J, & Perales-Villarroel, J. (2019). Innovaciones internacionales en robótica médica para mejorar el manejo del paciente en Perú. [International innovations in medical robotics to improve the patient management in Peru].  Revista de la Facultad de Medicina Humana19(4), 105-113. https://dx.doi.org/10.25176/RFMH.v19i4.2349

 

Correa-Ortiz, L, Jiménez, Vallejo-Jiménez, M, Puerta, Martínez-Puerta, J, & Trujillo-Posada, J. (2019). Herramienta de robótica educativa basada en Lego Mindstorms y VEX Robotics mediante software 3D y diseño mecatrónico. [Educational robotics tool based on Lego Mindstorms and VEX Robotics using 3D software and mechatronic design]. RISTI-Revista Ibérica de Sistemas e Tecnologias de Informação, (34), 1-19. https://dx.doi.org/10.17013/risti.34.1-19

 

De-La-Cruz, A., Donoso, J., Gonzales, O., & Soto, R. (2017). Implementación de una máquina didáctica clasificadora para el aprendizaje de procesos mecatrónicos. [Implementation of a classifier didactical machine for learning mechatronic processes]. Enfoque UTE8(3), pp. 41 - 55. https://doi.org/10.29019/enfoqueute.v8n3.166

 

Espinosa-Cristia, J. (2019). Gestionando la innovación desde la óptica de los estudios de ciencia, tecnología y sociedad: por una perspectiva constructivista y crítica de la gestión de la innovación. [Managing innovation from the perspective of science, technology and society studies: from a constructivist and critical perspective of innovation management]. Cadernos EBAPE.BR, 17(1), 68-83. https://doi.org/10.1590/1679-395171625

Hackenhaar, N, Hackenhaar, C, & Abreu, Y. (2015). Robótica na agricultura. [Robótica en la agricultura]. Interações (Campo Grande)16(1), 119-129. https://doi.org/10.1590/1518-70122015110

 

Lucero, J, Ñauta, J, & Carpio, M. (2017). Diseño e implementación de un sistema de control de voltaje y frecuencia de un sistema eléctrico de potencia a escala para la Universidad Politécnica Salesiana, sede Cuenca. [Implementation of a control system of voltage and frequency for an electrical power system of scale of the Universidad Politécnica Salesiana sede Cuenca]. Ingenius. Revista de Ciencia y Tecnología, (17), 60-66. https://dx.doi.org/10.17163/ings.n17.2017.08

 

Manosalva-Barrera, N, & Cangrejo-Aljure, L. (2018). Arquitectura tecnológica loT para la trazabilidad de productos frescos. [Technological architecture IoT for the traceability of fresh products]. Revista Cubana de Ciencias Informáticas12(1), 28-42.

 

Ochoa-Duarte, A, Cangrejo-Aljure, L, & Delgado, T. (2018). Alternativa Open Source en la implementación de un sistema IoT para la medición de la calidad del aire. [Open Source alternative in the implementation of an IoT system for the measurement of air quality]. Revista Cubana de Ciencias Informáticas12(1), 189-204.

 

Palmerini, E. (2017). Robótica y derecho: sugerencias, confluencias, evoluciones en el marco de una investigación europea. [Robotics and law: suggestions, confluences, developments in the framework of a European investigation].  Revista de Derecho Privado, (32), 53-97. https://dx.doi.org/10.18601/01234366.n32.03

 

Ramírez-Sánchez, J, & Landín-Juárez, C. (2017). Modelo de Robótica Educativa con el Robot Darwin Mini para Desarrollar Competencias en Estudiantes de Licenciatura. [An approach to educational robotics using the Darwin Mini Robot as a tool for undergraduate skill development]. RIDE. Revista Iberoamericana para la Investigación y el Desarrollo Educativo8(15), 877-897. https://dx.doi.org/10.23913/ride.v8i15.325

Sánchez, M, & Ramoscelli, G. (2018). Creación de valor a partir del Internet de las cosas: Estudio exploratorio en la Provincia de Buenos Aires. [Value creation from the Internet of things: Exploratory study in Buenos Aires Province]. Visión de futuro22(1).

 

Sanmartín-Mendoza, P, Ávila-Hernández, K, Vilora-Núñez, C, & Jabba-Molinares, D. (2016). Internet de las cosas y la salud centrada en el hogar. [Internet of Things and Home-Centered Health]. Revista Salud Uninorte32(2), 337-351.

 

 

 

Vallejo-Valdivieso, P., Zambrano-Pincay, G., Vallejo-Pilligua, P., & Bravo-Cedeño, G. (2019). Importancia del Conectivismo en la inclusión para mejorar la Calidad Educativa ante la tecnología moderna. [Importance of Connectivism in inclusion to improve Educational Quality in the face of modern technology]. Revista Arbitrada Interdisciplinaria Koinonía, 4(8), 523-543. http://dx.doi.org/10.35381/r.k.v4i8.297

 

Vargas, J., Guapacho, J. & Isaza, L. (2017). Robótica móvil: una estrategia innovadora en el proceso de enseñanza y aprendizaje. [Mobile robotics: an innovative strategy in the teaching and learning process]. Revista Virtual Universidad Católica del Norte, 52, 100-118.

 

Zech, P., Haller, S., Lakani, S. R., Ridge, B., Ugur, E., & Piater, J. (2017). Computational models of affordance in robotics: a taxonomy and systematic classification. Adaptive Behavior, 25(5), 235–271. https://doi.org/10.1177/1059712317726357

 

 

 

 

 

©2020 por los autores. Este artículo es de acceso abierto y distribuido según los términos y condiciones de la licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0) (https://creativecommons.org/licenses/by-nc-sa/4.0/).