Una experiencia remota en programación con un robot tipo gantry
Texto completo
(2) PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE ESCUELA DE INGENIERIA. UNA EXPERIENCIA REMOTA EN PROGRAMACIÓN CON UN ROBOT TIPO GANTRY. LUIS CARLOS CERNA BARRANTES. Miembros del Comité: MIGUEL TORRES DIEGO CELENTANO JUAN CRISTÓBAL ZAGAL JORGE VERA ANDREO Tesis presentada a la Dirección de Investigación y Postgrado como parte de los requisitos para optar al grado de Magı́ster en Ciencias de la Ingenierı́a. Santiago de Chile, c MMXIII, L UIS C ARLOS C ERNA BARRANTES.
(3) Al Dios triuno y universal, a mis seres queridos, a la memoria de mi abuelita Mercedes y mi abuelo Manuel.
(4) AGRADECIMIENTOS. Agradezco a Dios y a mi familia por procurar darme las mejores oportunidades, apoyándome económicamente y afectivamente para la consecución de mis sueños, a mis padres que han trabajado dı́a y noche (Carlos Alberto y Mercedes Dolores) para hacer esto posible y a mis hermanos (Juan Bosco, José Manuel y Juan Carlos) por ser eternos amigos y fuente de energı́a positiva. A mi novia (Shirley) por esperarme y darme su amor en estos años y en condiciones especiales que muestran un sentimiento integro de su parte. Quiero agradecer a mi colega Francisco Alister por ser un excepcional amigo y ser humano, también un gran ingeniero, que me colaboró en tareas de diseño e implementaciones en el presente proyecto, por darme ideas y sugerencias notables. De manera especial agradezco a mi profesor Miguel Torres por haber depositado en mı́ su confianza y haberme apoyado en diversas situaciones que se proyectaron a lo largo de este agotante camino, mi admiración hacia su persona por ser un gran cientı́fico y ser humano. Agradezco también a mi amigo encargado del laboratorio de robótica Jorge Reyes, sin él no hubiese sido divertido ese trayecto. Agradezco de manera especialı́sima a los profesores que conforman mi comisión de postgrado por haber aceptado ser parte de ella, por su comprensión, ayuda, por ser actores participes en la culminación de esta etapa de mi vida que albergan experiencias personales y profesionales. Por último agradezco a la señora Fernanda Kattan por su gestión de situaciones heterogéneas en su calidad de subdirectora del programa de postgrado. Les estoy muy agradecido por todo, incluso a personas que por una u otra razón no alcanzaron en esta lista, esta experiencia ha sido edificante en todos los aspectos de mi vida. Gracias.. iv.
(5) INDICE GENERAL. AGRADECIMIENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. iv. INDICE DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. viii. INDICE DE TABLAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. xi. RESUMEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. xiii. ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. xiv. INTRODUCCION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.1.. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2. 1.2.. Descripción de los Laboratorios Remotos . . . . . . . . . . . . . . . . . .. 3. 1.3.. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 1.4.. Laboratorios Remotos Existentes . . . . . . . . . . . . . . . . . . . . . . .. 4. 1.5.. Evolución de los Laboratorios Remotos . . . . . . . . . . . . . . . . . . .. 5. 1.5.1. Áreas Temáticas Cubiertas . . . . . . . . . . . . . . . . . . . . . . . .. 7. Laboratorios Virtuales . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 1.. 1.5.2. 1.6.. 2.. 3.. Resumen Comparativo entre los Laboratorios Virtuales, Convencionales y. Remotos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10. 1.7.. Resumen de Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . .. 11. 1.8.. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12. BASE TEÓRICA DEL ANÁLISIS CINEMÁTICO . . . . . . . . . . . . . . . .. 13. 2.1.. Cinemática Directa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13. 2.2.. Procedimiento de Denavit-Hartenberg . . . . . . . . . . . . . . . . . . . .. 13. IMPLEMENTACIÓN DEL LABORATORIO REMOTO . . . . . . . . . . . . .. 17. Descripción General del Hardware Utilizado . . . . . . . . . . . . . . . . .. 17. 3.1.1.. Descripción de los Componentes del Manipulador Robótico . . . . . . .. 18. 3.1.2.. Estructura de Conexión del Equipo y Estructura de Red . . . . . . . . .. 23. 3.1.. v.
(6) 3.1.3. 3.2.. Metodologı́a Empleada para la Generación de Polı́gonos . . . . . . . . . . .. 3.3.. Metodologı́a para la Generación de Polı́gonos basada en pendientes de vector de. 5.. 24 28. velocidad resultante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 31. Software Desarrollado . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 32. 3.4.1.. Aplicación Cliente . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 32. 3.4.2.. Aplicación Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . .. 40. 3.4.3.. Funciones implementadas en la sintaxis RDL . . . . . . . . . . . . . .. 52. DESARROLLO EXPERIMENTAL . . . . . . . . . . . . . . . . . . . . . . . .. 54. 4.1.. Prueba 1: Trazado de Cuadrado . . . . . . . . . . . . . . . . . . . . . . . .. 54. 4.2.. Prueba 2: Trazado de Múltiples Polı́gonos . . . . . . . . . . . . . . . . . .. 55. 4.3.. Prueba 3: Trazado de Arreglo Circulares . . . . . . . . . . . . . . . . . . .. 58. 4.4.. Prueba 4: Rutina de Pick and Place. . . . . . . . . . . . . . . . . . . . . .. 60. 4.5.. Prueba 5: Medición de Tiempos de Comunicación entre el PC Servidor y el. 3.4.. 4.. Análisis Cinemático del Manipulador Robótico del Laboratorio Remoto. Manipulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 60. RESULTADOS Y DISCUSIONES . . . . . . . . . . . . . . . . . . . . . . . .. 62. 5.1.. Cálculo del Error de Posicionamiento . . . . . . . . . . . . . . . . . . . .. 62. 5.2.. Cálculo de Ovalidad y Paralelismo . . . . . . . . . . . . . . . . . . . . . .. 63. 5.3.. Prueba 1: Error de Posicionamiento y Angulo de Desviación de Paralelismo .. 63. 5.4.. Prueba 2: Ángulo de desviación de la Ovalidad. . . . . . . . . . . . . . . .. 65. 5.5.. Prueba 3: Error de Ovalidad en el Trazado . . . . . . . . . . . . . . . . . .. 68. 5.6.. Prueba 4: Ejecución rutina Pick and Place . . . . . . . . . . . . . . . . . .. 69. 5.7.. Prueba 5: Medición de Tiempos de Comunicación entre el PC servidor y el. Manipulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 70. CONCLUSIONES Y TRABAJO FUTURO . . . . . . . . . . . . . . . . . . . .. 72. BIBLIOGRAFÍA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 74. ANEXOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 78. 6.. vi.
(7) Anexo A. Código en csharp de la prueba 4 . . . . . . . . . . . . . . . . . . . . .. 79. Anexo B. Código en csharp de la prueba 5 . . . . . . . . . . . . . . . . . . . . .. 85. Anexo C: Fotos del sistema en funcionamiento . . . . . . . . . . . . . . . . . . .. 155. Anexo D: Esquema tradicional de conexión de las controladoras SEC-AC-305 . . .. 157. Anexo E: Códigos de errores frecuentes de las controladoras SEC-AC-305 . . . . .. 158. Anexo F: Orden de instrucción de comandos nativos de las controladoras SEC-AC305. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 159. Anexo E: Manual de usuario del software . . . . . . . . . . . . . . . . . . . . . .. 159. vii.
(8) INDICE DE FIGURAS. 1.1. Estructura multinivel que conformaban la experiencia RexNet (Alves et al., 2008). 1.2. Número de publicaciones por año relacionadas con los laboratorios remotos (Gravier et al., 2008). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3.1. 5. 6. Componentes del laboratorio remoto. Los componentes del equipo se separaron con cı́rculos de distintos colores con el fin de clasificarlos según su función. Los cı́rculos amarillos son los elementos a los cuales es anclado el robot. Los cı́rculos verdes son los elementos que actúan en el sistema. Los cı́rculos rojos son los elementos auxiliares del sistema. Los cı́rculos blancos son los componentes de control y accionamiento, y los cı́rculos negros, los elementos motrices. . . . . .. 3.2. 19. Grilla de trabajo. La grilla de trabajo contiene un incremento espacial de cada cuadrı́cula de 5 mm en x e y. Los puntos de referencia (A) representa la coordenada (140,115). (B) el par coordenado (140, -115). (C) el par coordenado (0,0), el origen del sistema.(D) representa el par coordenado (-140, -115) y (E) el par coordenado (-140, -115). El espacio de seguridad delimitado por las cintas es de 460 mm de alto, 662 mm de ancho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 21. 3.3. Estructura de conexión del equipo y estructura de red. . . . . . . . . . . . . . .. 23. 3.4. Modelo cinemático del mecanismo, (a) Numeración de los componentes del modelo según la figura 3.1. (b) Esquema cinemático del mecanismo según DH. . . . . . 0. 25. 3.5. Sistema de referencia del vector tg . . . . . . . . . . . . . . . . . . . . . . . .. 28. 3.6. Etapas del método propuesto para generación de polı́gonos. . . . . . . . . . . .. 29. 3.7. Perfil trapezoidal de velocidad angular. . . . . . . . . . . . . . . . . . . . . .. 30. 3.8. Perfil trapezoidal de velocidad angular bajo la asunción de velocidad instantánea.. 31. 3.9. Captura de pantalla de la ventana principal de la interfaz de usuario. . . . . . .. 33. 3.10 Captura de pantalla de la ventana editor de la interfaz de usuario. . . . . . . . .. 34. viii.
(9) 3.11 Captura de pantalla de la ventana del generador de perfiles trapezoidales de la interfaz de usuario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 34. . . . . . . . . . . . . . .. 36. 3.13 Diagrama UML de clases de la aplicación cliente - Interfaz Gráfica GUI. . . . .. 38. 3.12 Diagrama UML de caso-uso de la GUI desarrollada.. 3.14 Diagrama UML de asociación de clases de la aplicación cliente - Interfaz Gráfica GUI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 39. 3.15 Diagrama UML de caso-uso del servidor. . . . . . . . . . . . . . . . . . . . .. 42. 3.16 Interacción cliente - servidor, gestion de conexión y comandos interpretados. . .. 43. 3.17 Interacción cliente - servidor, gestión de streaming de video. . . . . . . . . . .. 44. . . . . . . . . . . . . . . . . . . . . . . . .. 45. . . . . . . . . . . . . . . . . . . . .. 45. 4.1. Prueba 1. Cuadrado generado a partir de vértices. . . . . . . . . . . . . . . . .. 54. 4.2. Prueba 2. Vértices generados para el hexágono. . . . . . . . . . . . . . . . . .. 56. 4.3. Prueba 2. Vértices generados para el heptágono.. . . . . . . . . . . . . . . . .. 56. 4.4. Prueba 2. Vértices generados para el cı́rculo interior. . . . . . . . . . . . . . .. 57. 4.5. Prueba 2. Vértices generados para el cı́rculo exterior. . . . . . . . . . . . . . .. 57. 4.6. Prueba 3. Vértices generados para el cı́rculo interior. . . . . . . . . . . . . . .. 59. 4.7. Prueba 3. Vértices generados para el primer cı́rculo del arreglo circular. . . . .. 59. 5.1. Método de medición fı́sica mediante uso de vernier electrónico. . . . . . . . . .. 62. 5.2. Prueba 1 de trazado de Geometrı́a. (a) Figura geométrica trazada. (b) Ángulos y. 3.18 Diagrama de clases del servidor.. 3.19 Diagrama de clases de la librerı́a “core”.. distancia diagonal medida mediante fotogrametrı́a, para comprobación de paralelismo. 64 5.3. Prueba 2. (a) Figuras geométricas trazadas. (b) Medición fı́sica y por fotogrametrı́a de los vértices seleccionados. . . . . . . . . . . . . . . . . . . . . . . . . . .. 5.4. 5.5. 65. (a) Figura trazada. (b) Medición de los diámetros descritos del cı́rculo interior de la figura geométrica trazada. . . . . . . . . . . . . . . . . . . . . . . . . . . .. 68. Prueba 4. (a) Posición inicial de los cubos. (b) Posición final de los cubos. . . .. 70. ix.
(10) 5.6. Medición de tiempos de comunicación entre el PC servidor y el manipulador . .. 71. x.
(11) INDICE DE TABLAS. 1.1. Resumen de ventajas y desventajas de los tipos de laboratorios existentes (Nedic et al., 2003) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11. 3.1. Datos de los actuadores del manipulador robótico: avance lineal. . . . . . . . .. 20. 3.2. Datos de los actuadores del manipulador robótico: velocidad permisible, precisión mecánica nominal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 20. 3.3. Parámetros de DH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 25. 3.4. Funciones principales de la clase Lpt1Controller. Nota: N es un número entero entre 0 y 7 que representa un bit del puerto paralelo, mientras la letra X se representa a sı́ mismma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 46. 3.5. Funciones principales de la librerı́a Plotter . . . . . . . . . . . . . . . . . . .. 47. 3.6. Funciones principales de la clase pública Converter . . . . . . . . . . . . . . .. 48. 3.7. Funciones principales de la clase estática SecParser . . . . . . . . . . . . . . .. 49. 3.8. Funciones principales de la clase estática SecParser (continuación) . . . . . . .. 50. 3.9. Funciones principales de la clase pública PointsGenerator . . . . . . . . . . .. 51. 3.10 Funciones en sintaxis RDL actualmente activas. . . . . . . . . . . . . . . . . .. 53. 4.1. Prueba 1. Parámetros utilizados para la generación de los perfiles de velocidades.. 54. 4.2. Prueba 2. Parámetros utilizados para la generación de los perfiles de velocidades.. 55. 4.3. Datos de los perfiles trapezoidales de velocidad lineal generados del cuadrado . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 58. 4.4. Prueba 4. Posiciones iniciales y finales de los cubos. . . . . . . . . . . . . . .. 60. 5.1. Mediciones realizadas mediante vernier electrónico sobre los diámetros indicados. generado en la prueba 1.. en la figura 5.3 (b) (Cı́rculo exterior) . . . . . . . . . . . . . . . . . . . . . . .. 65. xi.
(12) 5.2. Mediciones realizadas mediante fotogrametrı́a sobre los diámetros indicados en la figura 5.3 (b) (Cı́rculo exterior) . . . . . . . . . . . . . . . . . . . . . . . . .. 5.3. Mediciones realizadas mediante vernier electrónico sobre los diámetros indicados en la figura 5.3 (b) (Cı́rculo interior) . . . . . . . . . . . . . . . . . . . . . . .. 5.4. 5.5. 66. 66. Mediciones realizadas mediante fotogrametrı́a sobre los diámetros indicados en la figura 5.3 (b) (Cı́rculo interior) . . . . . . . . . . . . . . . . . . . . . . . . . .. 66. Mediciones realizadas de los diámetros indicados en la figura 5.4 (b) . . . . . .. 68. xii.
(13) RESUMEN. Durante décadas ha existido la problemática de cómo entregar una correcta experiencia de laboratorio a distancia. Parte de este problema se ha subsanado con el uso de laboratorios remotos. En este trabajo se desarrolló un laboratorio remoto para la enseñanza introductoria de la programación de un robot gantry de 3 GDL (Grados de Libertad) instalado en el laboratorio de robótica en la Pontificia Universidad Católica de Chile. El software cliente-servidor desarrollado, permite la operación del robot mediante Internet, a través de una interfaz que contiene información de video en tiempo real del equipo. Adicionalmente, la aplicación contiene rutinas básicas de movimiento que permiten trazar figuras geométricas y otras trayectorias requeridas por el usuario. Para ello, el software utiliza una sintaxis de programación propia llamada RDL (lenguaje didáctico de robótica) que facilita al estudiante el aprendizaje de la programación de robots. Para evaluar el correcto funcionamiento de la plataforma se realizaron tres pruebas que consisten en la ejecución de trazados simples (cuadrados y cı́rculos), una prueba de posicionamiento y una medición de tiempos de comunicación entre el PC servidor y el manipulador. Adicionalmente, las pruebas de trazados se midieron fı́sicamente a través de un vernier electrónico en puntos conocidos de las figuras geométricas trazadas. El paralelismo y la ovalidad de las geometrı́as trazadas fueron evaluadas mediante un procedimiento fotogramétrico que aplica la superposición de geometrı́as mm nominales y dibujadas utilizando un escáner con una resolución de 0,087 . Los resulpx tados mostraron un ángulo de desviación en la ovalidad no mayor de ] ± 0.55◦ , un ángulo de desviación en el paralelismo de ] ± 0, 057◦ y un error de corrimiento en el trazado del orden de 1,89 mm en el peor de los casos. Por otro lado, la latencia de comunicación hasta un momento antes de la generación de movimiento es de aproximadamente 225 ms por cada punto.. Palabras Claves: laboratorio remoto, programación de robot, plataforma didáctica, robot cartesiano, lenguaje de macros. xiii.
(14) ABSTRACT. For decades it has been the problem of how to deliver a proper remote laboratory experience. Part of this problem has been remedied with the use of remote labs. In this work we developed a remote laboratory for teaching introductory programming of a 3 DOF (Degrees of Freedom) gantry robot installed in the robotics lab at Pontificia Universidad Católica de Chile. The client-server software developed, allows to operate the robot through the Internet through an interface that provides real-time video information of the equipment. In addition, the software contains basic routines of motion that allows to draw shapes and other paths required by the user. To do this, the software uses its own programming syntax called RLD (language teaching robotics) that facilitates the student’s robot programming learning. To evaluate the correct operation of the platform three test were performed, consisting in plotting simple paths (squares and circles), a positioning test and a communication time measurement test between the server PC and the manipulator. In addition, plotting test were physically measured through an electronic vernier over known points of the geometric figures. Parallelism and ovallness of plotted geometries were evaluated using a photogrammetric method that applies overlapping of nominal geometries and plotted geometries using a scanner with mm a resolution of 0.087 . The results showed an angle of deviation in ovallness that does px not exceed ] ± 0.55◦ , an angle of deviation in the parallelism of ] ± 0.057◦ and a shift error in plotting of the order of 1.89 mm in the worst case. Furthermore, communication latency until a moment prior to the motion’s generation is approximately 225 ms for each point.. Keywords: remote laboratory, robot programming, didactic platform, cartesian robot, remote workbench, macros language. xiv.
(15) 1. INTRODUCCION Durante mucho tiempo ha existido la problemática de cómo entregar una adecuada experiencia de laboratorio en programas de formación profesional a distancia; principalmente en áreas técnico-cientı́ficas. Tradicionalmente este problema era parcialmente subsanado mediante el uso de laboratorios tradicionales en otra institución cercana a la localidad del estudiante, mediante un tiempo rendido en algún curso concentrado de laboratorio, o mediante el uso de kits de laboratorios. Adicionalmente, se usaban otros medios como la radio, el correo, televisión, etc. Por distintas razones ninguno de estos métodos proveı́an de una adecuada experiencia de laboratorio a distancia (Sánchez et al., 2002; Kennepohl & Shaw, 2010). El crecimiento del Internet durante los 90, ha contribuı́do al creciente auge del control de dispositivos de forma remota. El control remoto a través de Internet para fines educativos en la forma de laboratorios remoto fue establecido en la misma década de los 90 (Kennepohl & Shaw, 2010). Actualmente, los laboratorios remotos son utilizados como herramienta educativa complementaria al uso de laboratorios tradicionales y virtuales en programas formativos in-situ en áreas técnico-cientı́ficas o en forma suplementaria en programas formativos a distancia. En ciertas áreas de la ingenierı́a el abrumador avance tecnológico ha reducido el ciclo de actualización de equipamiento de las universidades e institutos técnicos, lo que ha incrementado su ciclo de inversión Luı́s Gómez (2009). A nivel mundial no todas las universidades ni institutos de educación cuentan con esta capacidad por lo que resulta factible el uso de laboratorios remotos y virtuales, para su uso en programas de formación profesional a distancia y en programas de formación profesional presencial. Los laboratorios remotos, utilizan Internet como plataforma de comunicación, debido a su gran versatilidad y su reducido costo frente a otros estándares de comunicación y transmisión de datos. Con esta ventaja económica, no sólo se beneficia a los estudiantes, algunos cientı́ficos encuentran que es un método asequible para compartir equipos caros y facilidades con otros investigadores (Feysel & Rosa, 2005). El objeto de esta tesis es la implementación de una experiencia de laboratorio remoto, controlado por software escrito en C# bajo una arquitectura cliente-servidor; para su uso. 1.
(16) didáctico en robótica. La experiencia remota permite programar un manipulador robótico de tipo gantry cartesiano desde una aplicación cliente a través de un script enviado, posteriormente interpretado por el servidor. Mediante estos scripts el robot puede posicionar objetos (pick-and-place) y manipularlos con la ayuda de un efector final tipo pinza paralela, ası́ como efectuar trazados de distintos patrones geométricos en una hoja tamaño carta con la ayuda de una herramienta diseñada para el trazado, la cual va montada en el efector final. La experiencia de laboratorio remoto se implementó en el laboratorio de robótica de la Pontificia Universidad Católica de Chile, Campus San Joaquı́n, Santiago de Chile.. 1.1. Motivación El primer aspecto que motiva la realización de esta tesis, es el hecho de que la formación técnico-cientı́fica requiere el uso de laboratorios Ma & Nickerson (2006); Feysel & Rosa (2005); Lindsay et al. (2007), puesto que la mayorı́a de los logros educativos se consigue debido al tiempo dedicado por estudiantes y profesores en los laboratorios. Consecuentemente, el uso de los laboratorios es indispensable en el ciclo formativo de cientı́ficos e ingenieros, ya que permiten reforzar los conocimientos teóricos adquiridos, por medio de la observación de los experimentos ejecutados. Finalmente, exponen al estudiante a un conocimiento basado en proyectos del método cientı́fico. Donde durante décadas se han usado los laboratorios convencionales, predominantemente. Por otro lado, debido al constante interés de universidades alrededor del mundo de ampliar las opciones de formación a distancia, como el MIT iLabs, por citar un caso conocido; ha ido creciendo también el paradigma de como solventar la necesidad del uso de laboratorios en programas que lo requieran. Parte de este problema ha sido abordado a través de los laboratorios remotos y reforzado con laboratorios virtuales. Sin embargo, todavı́a existe mucha exploración en el tema en cuanto a nuevas temáticas a implementar, desarrollo de tecnologı́as que permitan una mejor explotación de estos laboratorios y evaluación de impacto educativo de los mismos. El segundo aspecto que motiva la realización de esta tesis, es el hecho de que los laboratorios universitarios de robótica existentes en Chile, no cuentan con experiencias remotas de. 2.
(17) robótica industrial. Por este motivo el desarrollo propuesto en esta tesis, puede ser particularmente beneficioso para estudiantes de otras universidades y liceos de Chile que carezcan de este tipo de equipos. 1.2. Descripción de los Laboratorios Remotos Un laboratorio remoto es un laboratorio tradicional habilitado para su manipulación a distancia, por tanto, hereda caracterı́sticas inherentes a los laboratorios convencionales, en primer lugar, el experimento es fı́sico; consecuentemente los resultados obtenidos son reales. En la literatura se encuentran referenciados con distintos nombres: online laboratory (Gustavsson et al., 2007), remote lab o r-lab (Hua & Ganz, 2003; Deniz et al., 2003), e-lab (Imbrie & Raghavan, 2005; Benmohamed et al., 2004) o I-Lab (Böhne et al., 2002) para aquellos exclusivos de áreas de ingenierı́a eléctrica, etc. Un laboratorio remoto está compuesto como mı́nimo de 3 componentes: un banco experimental, un sistema de feedback; visual o auditivos o ambos, un software que contiene una interfaz gráfica de usuario (GUI) y el middleware que conecta al cliente con el servidor. Otros autores (Luı́s Gómez, 2009; Gravier et al., 2008) señalan la importancia de contar con sistemas básicos de booking system, sistemas LMS (Learning Management Systems) y CMS (Content Management Systems). Un laboratorio remoto aporta los siguientes beneficios: • Reduce los costos de equipamiento y manutención mediante la limitación de prácticas nocivas para el equipo representando un gasto medio respecto a las otras alternativas. • Permite una flexibilidad de uso y horarios independiente de la localidad geográbfica donde se encuentre el laboratorio. • Las variables de entrada y salida no son basadas en modelos computacionales a diferencia de los laboratorios virtuales. • La seguridad de personas, datos y equipos es mayor. • Observabilidad si la sesiones necesitan ser vistas por muchas personas. • Accesibilidad a personas comunes y con algún tipo de discapacidad fı́sica.. 3.
(18) 1.3. Objetivos El objetivo general de esta tesis es desarollar el hardware y software necesario para la implementación de un laboratorio remoto de bajo costo, que contribuya a la enseñanza en robótica permitiendo realizar distintos tipos de actividades de tipo pick-and-place y actividades de tipo trazado de patrones geométricos, mediante la programación, haciendo uso de un manipulador robótico cartesiano de pórtico. Los objetivos especı́ficos son: • Desarrollar un software basado en un patrón estructural cliente-servidor. Este software contiene los elementos apropiados para el control de la plataforma de manera remota, permitiendo al cliente generar sus instrucciones desde su localidad, la parte servidor recibe estas instrucciones y las transforma en comandos de ejecución de la plataforma. • Evaluar el error de la plataforma a través de los trazos generados para determinar la factibilidad de aplicar el sistema a tareas de prototipado, por ejemplo fabricación de PCBs. • Medir los tiempos de comunicación entre el PC servidor y el manipulador, para la generación de los perfiles trapezoidales de velocidad. 1.4. Laboratorios Remotos Existentes En enero de 2005 se inició el proyecto intercontinental llamado RexNet (Remote Experimentation Network), patrocinado por el programa ALFA de la Unión Europea en donde participaron 12 IES (Institutos de la Educación Superior) repartidos entre latinoamérica y la Unión Europea (figura 1.1 (Alves et al., 2008)). A través de este proyecto se pretendı́a tratar de solventar algunas preguntas sobre los beneficios y retos subyacentes del establecimiento de una red punto a punto de laboratorios remotos. La Pontificia Universidad Católica de Chile a través de un equipo liderado por el profesor Luciano Chiang del Departamento de Ingenierı́a Mecánica y Metalúrgica fue participe de este proyecto que concluyó en diciembre de 2006, posterior a este proyecto se estableció desde el 2007 hasta la actualidad el proyecto rexlab (disponible en http://www.rexlab.cl) financiado por FONDEF (Fondo de fomento al. 4.
(19) desarrollo cientı́fico y tecnológico). Actualmente este proyecto se centra en el desarrollo y mantenimiento de un simulador de cadenas cinemáticas llamado PADROB, el estudio de simuladores semi-inmersivos, la promoción de las TIC como herramienta docente para la educación técnica a nivel nacional y el desarrollo de actividades de experimentación remota de posicionamiento simple mediante el uso de un robot SCORBOT ER5 para su uso en cursos impartidos en la Pontificia Universidad Católica de Chile (Rexlab, 2007).. F IGURA 1.1. Estructura multinivel que conformaban la experiencia RexNet (Alves et al., 2008). 1.5. Evolución de los Laboratorios Remotos En una revisión hecha por Gravier et al. (2008) en el perı́odo comprendido entre 1997 y 2007 el interés de los laboratorios remotos creció hasta alcanzar un peak en 2003 (figura 1.2). A pesar de una recaı́da en el número de publicaciones después del 2003, existe una tendencia de interés en este tipo de laboratorio (Luı́s Gómez, 2009). Esta afirmación es reforzada por la aparición de redes educacionales como el MIT iLabs, European Schoolnet y PROLEARN (Luı́s Gómez, 2009). Gran parte de los laboratorios remotos se encuentran divulgados en sus propios sitios web o en congresos, muy pocos en artı́culos formales de revistas especializadas. Según Gravier et. 5.
(20) al. (2008) éstos son algunos de los hechos que denotan que los laboratorios remotos no han. Número de publicaciones revisadas. alcanzado una madurez como corriente investigativa.. 9. 8 7 6 5 4 3 2 1. 0 1997. 1998. 1999. 2000. 2001. 2002. 2003. 2004. 2005. 2006. 2007. Años. F IGURA 1.2. Número de publicaciones por año relacionadas con los laboratorios remotos (Gravier et al., 2008).. En la misma revisión hecha por Gravier et al. (2008), la mayorı́a de las publicaciones están relacionadas con las áreas de ingenierı́a eléctrica y mecánica (Luı́s Gómez, 2009), habiendo una prevalencia de laboratorios remotos en el área eléctrica relacionados a teorı́a de control con un 9.2%, de las publicaciones revisadas asociadas a péndulos invertidos. Esto evidencia que la mayorı́a de los aportes en el tema han venido de dichas áreas. En cuanto a los lenguajes utilizados en el middleware que provee la conexión entre el equipo y el servidor, según (Gravier et al., 2008) hay un alto porcentaje de laboratorios que utilizan el lenguaje JAVA (Ferrero et al., 2003), las alternativas comerciales como MATLAB (Sánchez et al., 2002) y un menor porcentaje LABVIEW (Gustavsson, 2002), el resto puede ser vistos como heterogéneos (de Souza et al., 2004).. 6.
(21) 1.5.1. Áreas Temáticas Cubiertas Según Kennepohl & Shaw (2010), los laboratorios remotos son implementados para 4 fines diferentes: para observación (Potter et al., 2001; Guzmán et al., 2005), para medición (Gröber et al., 2007; Nedic et al., 2003), para manipular instrumentos u objetos fı́sicos en experimentos (Guzmán et al., 2005) y para facilitar el trabajo colaborativo a distancia (Senese et al., 2000; Nedic et al., 2003; Herrera & Fuller, 2011). Los laboratorios remotos pueden ser implementados en una amplia variedad de áreas de la ingenierı́a y las ciencias, las aplicaciones actuales van desde intercambiadores de calor (Sánchez et al., 2002), pasando por circuitos eléctricos (Nedic et al., 2003) hasta el control de optical tracker (Junge & Schmid, 2000); que combina las ventajas de un laboratorio virtual y remoto. Algunas implementaciones interesantes incluyen el control de un invernadero (Guzmán et al., 2005), servoposicionamiento visual remoto (Marı́n et al., 2009), circuito eléctricos (Nedic et al., 2003), túneles de viento y caracterización de componentes microelectrónicos (Alamo et al., 2002). Otros autores enfocan su trabajo investigativo con el propósito de establecer una plataforma estándar para su uso en experimentos tı́picos para el campo de los circuitos eléctricos Gustavsson et al. (2007), el campo de redes computacionales (Hua & Ganz, 2003) y sistemas de control (Röbrig & Jochheim, 2000; Rudolf & Pavol, 2012). En robótica, la mayorı́a de los experimentos están ligados con la programación de robots. Estos se pueden programar asignando tareas mediante botones y sintaxis simplificadas o mediante el uso de un pendant virtual. Un trabajo interesante es el de un robot manipulador SCARA - ADEPTONE-MV (Tzafestas et al., 2004) dedicado para entrenamiento, en donde los autores hacen una emulación casi exacta del pendant del robot. Mientras tanto, otros trabajos incluyen temas relacionados con control y robótica, en donde se aplican algoritmos de controles PID, PD y sliding-mode como el propuesto por Temeltas et al. (2006) mediante un robot manipulator de 6 DOF PUMA 560. 1.5.1.1. Retos a Futuro La mayorı́a de las aplicaciones revisadas dirigen su novedad al tipo de experimentación implementada. Gravier et al. (2008), sugieren que los lineamientos a tomar en el curso de. 7.
(22) futuras aplicaciones deben de profundizar algunos de los siguientes problemas: interoperatividad entre plataformas remotas, integración de sistemas LMS (Learning Management Systems) y CMS (Content Management Systems) (Luı́s Gómez, 2009), estandarización de arquitecturas que permitan la reutilización y escalabilidad de trabajos previos, integración de entornos colaborativos en laboratorios remotos y uso eficiente de los equipos, que se encuentran repartidos en distintos puntos geográficos del globo terráqueo. Por otro lado, Feysel & Rosa (2005) sugieren que se debe profundizar sobre los objetivos de estos laboratorios y hacer una evaluación de su impacto, con el fin de cumplir los requisitos que imponen colegios de acreditación como la ABET (Accreditation Board for Engineering and Technology). Otro obstáculo existente es el paradigma que tienen los profesores de las áreas de ciencia respecto a los de ingenierı́a, en el que los primeros generalizan a los laboratorios como un medio de confirmación de creencias y enseñanza del método cientı́fico. En cambio, los segundos relacionan a los laboratorios como medios para practicar la aplicación de conceptos cientı́ficos, según Ma & Nickerson (2006). Adicionalmente para algunas aplicaciones el nivel de automatización requerido puede ser alto, como en el caso de la quı́mica o astronomı́a, en algunos casos la literatura reporta que el desarrollo de los laboratorios remotos puede llegar a ser costoso, implica la mayorı́a de las veces una cantidad grande de tiempo, dinero y habilidades (Gravier et al., 2008). Estos factores influencian a las facultades de las instituciones educativas a evaluar como innecesarias este tipo de plataformas en muchas ocasiones.. 1.5.2. Laboratorios Virtuales Los laboratorios virtuales son entornos que emulan instrumentos y experimentos a través de modelos computacionales aplicados en software. Según Feysel & Rosa (2005), el primer antecedente de laboratorio virtual se remonta al primer software que aplica el modelamiento por elementos finitos. El método elementos finitos fue desarrollado en los años 40 para asistir a los ingenieros al diseño de estructuras aeronáuticas. La primera aplicación en el campo de la ingenierı́a eléctrica fue la aparición de un programa de simulación con énfasis en circuitos integrados conocido como SPICE, desarrollado en la universidad de California, Berkeley.. 8.
(23) Sin embargo, este tipo de laboratorio tiene limitaciones, ya que emular equipos reales y materiales con exactitud es una tarea compleja. El uso de laboratorios virtuales requiere de un previo conocimiento de los modelos matemáticos utilizados, ya que en muchos casos pueden cometerse errores de aproximación por la elección de un algoritmo demasiado simplificado para el análisis de modelos complejos. La popularidad de los laboratorios virtuales es inherente a su costo. En términos de costos representa la alternativa más económica, en primer lugar es reproducible, en segundo lugar es adaptable ya que su desarrollo sólo está ligado al tiempo de horas hombres necesarias para su programación (Feysel & Rosa, 2005). 1.5.2.1. Uso de los Laboratorios virtuales Los laboratorios virtuales al igual que los remotos y tradicionales pueden aplicarse a una gran variedad de temas técnico-cientı́ficos. Pueden ser utilizados para entrenamiento, para aclarar conceptos teóricos, como substitución o complemento de los laboratorios tradicionales, para la simulación y estudios experimentales de desarrollos demasiados extensos, caros y de alta peligrosidad para mediciones fı́sicas (Feysel & Rosa, 2005). Existen una gran variedad de alternativas comerciales que pueden considerarse como laboratorios virtuales, un ejemplo es el LABVIEW, MATLAB/SIMULINK, entre otros. Algunas instituciones de la educación superior alrededor del mundo han adoptado en su gran mayorı́a una amplia baterı́a de experimentos a partir de software como es el caso de la UNED en España (Sánchez et al., 2002). Otras aplicaciones interesantes de diversos experimentaciones de laboratorios virtuales pueden encontrarse en el website de la Agilent educator’s corner (Nedic et al., 2003). 1.5.2.2. Ventajas Algunos de las ventajas son las siguientes: • Independencia de localidad geográfica. • Facilidad para ejecutar otras variantes de experimentos. • Bajo costo, el único costo incurrido es practicamente las horas hombres dedicadas a su programación. • Proveen resultados más instantáneos. • Pueden tener libertad de horarios.. 9.
(24) 1.5.2.3. Desventajas Entre las desventajas podemos mencionar: • Las soluciones entregadas corresponden a modelos idealizados. • Neutralizan los errores inducidos que se generan en los experimentos reales conducidos. • No existe un feedback visual real de los equipos ni audiovisual. • No existe estándar internacional de ética en algunos casos.. 1.6. Resumen Comparativo entre los Laboratorios Virtuales, Convencionales y Remotos En la literatura revisada, varios artı́culos hacen una comparación de los diferentes tipos de laboratorios existentes basados en revisiones bibliográficas (Ma & Nickerson, 2006)(Nedic et al., 2003), mientras, otros hacen una comparación y evaluación basada en actividades con estudiantes, donde evalúan la percepción y el impacto en los puntajes resultantes (Corter et al., 2004). La percepción de los estudiantes de ingenierı́a pone en primer lugar a los laboratorios convencionales (Corter et al., 2004), por el hecho de que prefieren estar en contacto fı́sico con los equipos y los experimentos, ya que los aproxima a la problemática enfrentada en la vida profesional; y como segundo lugar de percepción los laboratorios remotos. Machado et al. (2007), sugiere que el uso de dispositivos hápticos como feedback en laboratorios remotos y virtuales mejorarı́an la experiencia de los alumnos. Es dificil llegar a un consenso de cuál laboratorio es más idóneo para el estudiante sin hacer una evaluación de la modalidad de su programa formativo i.e. programa a distancia ó programa presencial. Nedic et al. (2003), afirma, que se deberı́a hacer un buen balance entre los tres tipos de laboratorios existentes (convencionales, remotos y virtuales) en programas formativos de pregrado. La tabla 1.1 hace un resumen comparativo de los diferentes laboratorios existentes.. 10.
(25) TABLA 1.1. Resumen de ventajas y desventajas de los tipos de laboratorios existentes (Nedic et al., 2003). Tipo de Laboratorio Ventaja Convencionales. Desventaja. Datos reales. Restricción espacial y temporal. Interacción. Virtuales. con. equipos Requiere programación de. reales. hora. Trabajo colaborativo. Alto coste. Interacción con supervisor. Supervisión requerida. Buen concepto para expli- Datos idealizados cación No existe restricción espacial Falta de colaboración - temporal Medio interactivo. No existe interacción con dispositivos reales. Bajo coste Remotos. Interacción. con. equipos Unicamente presencial vir-. reales. tual en el laboratorio. Calibrados Datos realistas Carente de restricción espacial y temporal Costo de inversión medio. 1.7. Resumen de Contribuciones Los principales aportes de este trabajo son la creación de: • Una aplicación para enseñanza de robótica y la programación de robots. • Un software cliente-servidor que permite operar el robot a distancia.. 11.
(26) • Una interfaz de usuario que cuenta con información de video en tiempo real de la operación del robot. • Un conjunto de rutinas básicas de movimiento que permiten trazar figuras geométricas y otras trayectorios requeridas por el usuario. 1.8. Hipótesis Es posible implementar un laboratorio remoto para la enseñanza en la programación de robots, haciendo uso de actuadores eléctricos lineales y neumáticos dispuestos bajo la configuración de un robot gantry, mediante el desarrollo de componentes de software y la disponibilidad de una infraestructura de red computacional adecuada que incluya una conexión permanente a la Internet.. 12.
(27) 2. BASE TEÓRICA DEL ANÁLISIS CINEMÁTICO Para poder controlar el sistema robótico es necesario hacer un análisis cinemático del manipulador, tanto de su cinemática inversa como directa. El tipo más frecuente de cadenas cinemáticas encontradas en robot manipuladores estacionarios son de tipo serie. En otras aplicaciones como en simuladores de vuelo y automotrices es mucho más frecuente el uso de cadenas cinemáticas tipo paralelo. Actualmente, se están conduciendo otros estudios sobre el control de robots que utilizan un modelo hı́brido, para exploración lunar, como es el caso del TetWalker (Martı́nez, 2012). Mayormente, las cadenas cinemáticas tipo serie tienen una sencilla cinemática directa y dinámica inversa, pero una complicada cinemática inversa y dinámica directa (Arenas, 2012). En el caso del manipulador implementado (Robot Cartesiano tipo gantry) presenta una dualidad debido a sus tres componentes translacionales, la cinemática inversa y directa presentan prácticamente la misma solución como se mostrará a continuación. 2.1. Cinemática Directa El problema de la cinemática directa consiste en conocer la posición del extremo efector de un robot dado los parámetros entregados al sistema en términos de los ángulos y distancias de cada articulación. Matemáticamente esto es posible asociando a cada eslabón un sistema de referencia local, transformando sus coordenadas al marco de referencia del eslabón anterior, hasta llegar a la base haciendo uso de matrices de rotación y traslación en coordenadas homogéneas. La convención más utilizada en el campo de la robótica para definir los sistemas de referencia y transformaciones entre estos es el denominado procedimiento Denavit-Hartenberg, el cual se resume a continuación. 2.2. Procedimiento de Denavit-Hartenberg El procedimiento de Denavit-Hartenberg (DH) fue propuesto por Jacques Denavit y Richard Hartenberg en 1955 y consiste en 16 pasos que permiten generar una descripción de la pose del robot con un número mı́nimo de parámetros y variables de configuración. Los pasos del algoritmo DH son los siguientes:. 13.
(28) (i) DH1. Numerar los eslabones comenzando con 1 (primer eslabón móvil de la cadena) y acabando con n (ultimo eslabón móvil). Se numerará como eslabón 0 a la base fija del robot. (ii) DH2. Numerar cada articulación comenzando por 1 (la correspondiente al primer grado de libertad y acabando en n). (iii) DH3. Localizar el eje de cada articulación. Si ésta es rotativa, el eje será su propio eje de giro. Si es prismática, será el eje a lo largo del cual se produce el desplazamiento. (iv) DH4. Para i de 0 a n − 1, situar el eje Zi , sobre el eje de la articulación i + 1. (v) DH5. Situar el origen del sistema de la base (S0 ) en cualquier punto del eje Z0 . Los ejes X0 e Y0 se situaran de modo que formen un sistema dextrógiro con Z0 . (vi) DH6. Para i de 1 a n − 1, situar el sistema (Si ) (solidario al eslabón i) en la intersección del eje Zi con la lı́nea normal común a Zi−1 y Zi . Si ambos ejes se cortasen se situarı́a (Si ) en el punto de corte. Si fuesen paralelos (Si ) se situarı́a en la articulación i + 1. (vii) DH7. Situar Xi en la lı́nea normal común a Zi−1 y Zi . (viii) DH8. Situar Yi de modo que forme un sistema dextrógiro con Xi y Zi . (ix) DH9. Situar el sistema (Sn ) en el extremo del robot de modo que Zn coincida con la dirección de Zn−1 y Xn sea normal a Zn−1 y Zn . (x) DH10. Obtener θi como el ángulo que hay que girar en torno a Zi−1 para que Xi−1 y Xi queden paralelos. (xi) DH11. Obtener di como la distancia, medida a lo largo de Zi−1 , que habrı́a que desplazar (Si−1 ) para que Xi y Xi−1 quedasen alineados. (xii) DH12. Obtener ai como la distancia medida a lo largo de Xi (que ahora coincidirı́a con Xi−1 ) que habrı́a que desplazar el nuevo (Si−1 ) para que su origen coincidiese con (Si ). (xiii) DH13. Obtener αi como el ángulo que habrı́a que girar entorno a Xi (que ahora coincidirı́a con Xi−1 ), para que el nuevo (Si−1 ) coincidiese totalmente con (Si ). (xiv) DH14. Obtener las matrices de transformación i−1 Ai .. 14.
(29) (xv) DH15. Obtener la matriz de transformación que relaciona el sistema de la base con el del extremo del robot T = 0 Ai 1 A2 ...n−1 An . (xvi) DH16. La matriz T define la orientación (submatriz de rotación) y posición (submatriz de traslación) del extremo referido ala base en función de las n coordenadas articulares. La transformación homogénea de DH se construye mediante la siguiente expresión: 0 0 R n Vn (2.1) H = T0n = 01x3 11x1 Donde la matriz de transformación homogénea H está formada por la matriz de rotación cuadrada de 3x3 elementos R0n que denota la orientación del origen del sistema del extremo efector respecto al sistema de referencia de la base y el vector Vn0 de 3x1 elementos, que denota las coordenadas del origen del sistema de referencia del extremo efector respecto al sistema de referencia de la base. 1 0 0 Rt = 0 1 0 0 0 1 1 0 0 Rx (α) = 0 cos(α) − sin(α) 0 sin(α) cos(α) cos(φ) 0 sin(φ) Ry (φ) = 0 1 0 − sin(φ) 0 cos(φ) cos(θ) − sin(θ) 0 Rz (θ) = sin(θ) cos(θ) 0 0 0 1. (2.2). (2.3). (2.4). (2.5). 15.
(30) . . 0 Rt 0 di 0 0 0 1 0 Rz (θi ) 0 Rotzi−1 (θi ) = 0 0 0 0 1 ai Rt 0 T ransxi (ai ) = 0 0 0 0 1 0 Rx (αi ) 0 Rotxi (αi ) = 0 0 0 0 1. T ranszi−1 (di ) = . (2.6). (2.7). (2.8). (2.9). Ti−1 = T ranszi−1 (di ) · Rotzi−1 (θi ) · T ransxi (ai ) · Rotxi (αi ) i. . Ti−1 i. cos(θi ) − sin(θi ) · cos(αi ) sin(θi ) · sin(αi ) ai cos(θi ) sin(θi ) cos(θi ) · cos(αi ) − cos(θi ) · sin(αi ) ai sin(θi ) = 0 sin(αi ) cos(αi ) di 0 0 0 1. (2.10). . (2.11). 16.
(31) 3. IMPLEMENTACIÓN DEL LABORATORIO REMOTO 3.1. Descripción General del Hardware Utilizado La experiencia de laboratorio remoto se compone de un manipulador robótico de tipo pórtico de 3 grados de libertad (GDL); como se muestra en la figura 3.1. El robot está compuesto por dos actuadores eléctricos horizontales de un recorrido nominal de 500 mm cada uno de los cuales actúan en las direcciones x e y correspondientes a los elementos 3 y 4 de la figura 3.1. Además el robot cuenta con un actuador neumático vertical de 40 mm de recorrido nominal a lo largo de la componente z del sistema. El actuador vertical posee una pinza paralela que acciona el movimiento neumáticamente. El actuador a lo largo del eje z y la pinza paralela son de tipo on/off, por lo tanto, la posición vertical no es controlable en puntos intermedios del intervalo de recorrido. Esto implica que no se cuenta con este grado de libertad para efectos de generación de trayectorias arbitrarias en 3D. El manipulador robótico está dispuesto sobre una mesa (elemento 1 de la figura 3.1), y sus componentes cinemáticos están montados sobre una estructura (base del robot) desarrollada en el Departamento de Ingenierı́a Mecánica y Metalúrgica de la universidad. Las fuentes motrices de potencia mecánica del sistema lo componen dos servomotores y un compresor (elementos (14), (15) y (16) de la figura 3.1). Las controladoras y los circuitos de accionamiento de las válvulas y luces son comandados mediante un circuito de relés (elemento (17) de la figura 3.1). Las controladoras se comunican con el servidor mediante dos puertos seriales RS-232 mientras que las luces y electroválvulas lo hacen a través de un puerto paralelo (LPT1). El servidor posee una conexión permanente a Internet. Adicionalmente el sistema de cámaras está compuesto por dos webcam comerciales Genius ISlim 300x (elementos (7) y (8) de la figura 3.1), la primera añadida al extremo efector o gripper, mientras que la segunda está añadida a una estructura que observa el área delimitada por una cinta de seguridad. En esta área delimitada está dispuesta una grilla grabada con láser en madera (elemento (10) 3.1) que está sobre la mesa, en donde el espaciado es de 5 mm entre cada segmento de la grilla.. 17.
(32) Cada motor cuenta con una controladora de servo motores AC Festo SEC-305AC que están contenidas en la caja eléctrica montada en la parte inferior de la mesa de trabajo (elemento (11) de la figura 3.1) para la seguridad de las mismas y el usuario. Esta caja contiene el circuito que controla las válvulas diseñado y construı́do en el laboratorio de robótica como parte de este trabajo. Para el control de las luces de emergencia (elemento (9) de la figura 3.1) se utiliza el circuito (elemeto (13) de la figura 3.1) también de diseño y construcción propia. A continuación se resumen las caracterı́sticas técnicas principales de los componentes del sistema robótico del laboratorio remoto.. 3.1.1. Descripción de los Componentes del Manipulador Robótico (1) Mesa de trabajo. Mesa soporte del equipo fı́sico de 797 x 1846.28 mm. (2) Base del robot. Mide en la base inferior un ancho de 797 mm, en la estructura superior un ancho de 500 mm y posee una altura de 254 mm aproximadamente. En esta base se montan, los actuadores, los motores y las platinas que le dan rigidez al equipo. (3) Actuador horizontal dirección x (Festo DGE-25-500...zr). El actuador lineal horizontal es de tipo articulación prismática y le otorga movilidad al sistema en la dirección x. La fuerza electromotriz es generada por el servo motor (15). Su intervalo de movimiento efectivo desde el punto de calibración, es 440 mm. En la tablas 3.1 y 3.2 se brindan caracterı́sticas propias del actuador. (4) Actuador horizontal componente y (Festo DGEA-18-500...gk). El actuador lineal horizontal es de tipo junta prismática y le otorga movilidad al sistema en la dirección y. Es comandado por el servo motor (16). Su intervalo de movimiento efectivo desde el punto de calibración es de 440 mm. En la tablas 3.1 y 3.2 se brindan caracterı́sticas propias del actuador. (5) Actuador vertical dirección z (Festo STL-16-40). El actuador lineal vertical neumático es de tipo junta prismática y le otorga movilidad al sistema en la dirección z. Es comandado por aire a través de las electroválvulas (12). Su accionamiento es de tipo on/off por lo cual no es posible controlarlo en posiciones intermedias de su intérvalo de movimiento.. 18.
(33) 8 9. 16. 5 4 7. 3. 15 13. 2. 1. 12 11. 9. 7 6. 12 10. 14 13. F IGURA 3.1. Componentes del laboratorio remoto. Los componentes del equipo se separaron con cı́rculos de distintos colores con el fin de clasificarlos según su función. Los cı́rculos amarillos son los elementos a los cuales es anclado el robot. Los cı́rculos verdes son los elementos que actúan en el sistema. Los cı́rculos rojos son los elementos auxiliares del sistema. Los cı́rculos blancos son los componentes de control y accionamiento, y los cı́rculos negros, los elementos motrices.. (6) Pinza paralela. Es el extremo efector del robot. Tiene una velocidad lı́mite de respuesta de 7 Hz, una abertura mı́nima de 17.8 mm y abertura máxima de 27.8 mm. Adicionalmente funciona como elemento portador de la herramienta de trazado. 19.
(34) (7) Cámara montada en la estructura (Genius ISlim 300x). Visualiza el área de trabajo. Trabaja con una resolución de 640 x 480 pı́xeles y una velocidad de adquisión máxima nominal de 30 fps (frames per second). La distancia en dirección perpendicular entre el lente de la cámara y la grilla de trabajo (10) en disposición perpendicular es de aproximadamente 880 mm. (8) Cámara añadida al extremo efector (Genius ISlim 300x). Visualiza lo que está proximo al gripper. Esta cámara brinda un mayor detalle de la rutina que se ejecuta en el laboratorio remoto. Trabaja con una resolución de 640 x 480 pı́xeles, con una velocidad de adquisición máxima nominal de 30 fps (frames per second). La distancia en dirección perpendicular entre el lente de la cámara y la grilla de trabajo (10) es de aproximadamente 195 mm.. TABLA 3.1. Datos de los actuadores del manipulador robótico: avance lineal.. Nombre de parte. Tipo de articulación. Orientación. Avance Lineal. DGE-25-500...zr. Articulación. Horizontal. 90 mm por revolución. Horizontal. 81 mm por revolución. Vertical. Dependiente del flujo. prismática DGEA-18-500...gk. Articulación prismática. SLT-16-40. Articulación prismática. volumétrico de aire. TABLA 3.2. Datos de los actuadores del manipulador robótico: velocidad permisible, precisión mecánica nominal.. m ) s. Nombre de parte. Velocidad Permisible (. Precisión Mecánica (mm). DGE-25-500...zr. 10. ±0.1. DGEA-18-500...gk. 3. ±0.05. SLT-16-40. –. –. 20.
(35) (9) Luces de emergencia. Advierten a la persona próxima al laboratorio real cuándo el laboratorio está siendo manipulado remotamente. Cuando la luz es intermitente el usuario está haciendo una rutina. Cuando la luz está fija indica una conexión. (10) Grilla de trabajo. Plano Cartesiano de un área de 440 mm de alto (en dirección y del plano de la mesa), por 560 mm de ancho (en dirección x del plano de la mesa). Esta grilla se ocupa como referencia en aplicaciones de servo posicionado remoto simple, tiene marcados puntos de referencia que pueden ser utilizados para la calibración del sistema (Figura 3.2).. A. B. C. D. E. F IGURA 3.2. Grilla de trabajo. La grilla de trabajo contiene un incremento espacial de cada cuadrı́cula de 5 mm en x e y. Los puntos de referencia (A) representa la coordenada (140,115). (B) el par coordenado (140, -115). (C) el par coordenado (0,0), el origen del sistema.(D) representa el par coordenado (-140, -115) y (E) el par coordenado (-140, -115). El espacio de seguridad delimitado por las cintas es de 460 mm de alto, 662 mm de ancho.. 21.
(36) (11) Caja eléctrica. Contiene las 2 controladoras Festo SEC-305AC (SCU Servo Controller Units) que controlan los servomotores, tambien contiene una fuente de poder de 24 v que alimenta las electroválvulas, ası́ como también el circuito electrónico que comanda las electroválvulas.. (12) Electroválvulas. Por la forma en que está ensamblada hace la función de una válvula de 5/2, 5 vı́as y 2 posiciones, comandada a través de puerto paralelo por el servidor y controlada mediante un circuito contenido en (11).. (13) Circuito de control de luces. Este circuito es alimentado por el transformador de (11). Internamente tiene un regulador de voltaje que regular los 24V a 5V, es controlado por el puerto paralelo a través de los bits que mandan el pulso a un transistor tipo TIP 32 NPN este a su vez en el emisor está conectado a una resistencia que está en serie con tierra. La bobina de un relé normalmente abierto de 5V se conecta en serie al colector de tal manera que cuando llega una señal de 5V a la base se polariza y cierra el contacto del relé. Este circuito tiene 2 luces auxiliares que ayudan a detectar si se produce un fallo en la alimentación o en la salida del relé.. (14) Compresor de laboratorio de membrana DA-7000. Este compresor alimenta el actuador horizontal vertical neumático (5) y el gripper (6). Provee un flujo volumétrico de salida L , genera un ruido equivalente a 53 db y tiene una capacidad de tanque de 30 L. de 152 min (15) Motor eléctrico de la componente horizontal x. Motor MTR-55-AC-GB de la marca Festo. Comanda la componente horizontal en x. En su interior cuenta con un resolver y es dirigido a través de la controladora respectiva en (11). Este motor provee un torque nominal de 2.5 Nm, posee una caja reductora con un factor de reducción 4:1 y provee una velocidad nominal de 1700 rpm.. (16) Motor eléctrico de la componente horizontal y. Motor MTR-70-AC-GB de la marca. 22.
(37) Festo. Comanda la componente horizontal en y. En su interior cuenta con un resolver y es dirigido a través de la controladora respectiva en (11). Este motor provee un torque nominal de 5.5 Nm, posee una caja reductora con un factor de reducción 4:1 y provee una velocidad nominal de 1563 rpm. 3.1.2. Estructura de Conexión del Equipo y Estructura de Red. Internet. Estudiante. 146.155.15.248 PC Estudiante. Red Interna del Laboratorio 192.168.1.X. Servidor USB 2.0. USB 2.0. LPT1. LPT1. RS-232. Cámara en mano. Cámara superior. Dispositivos neumáticos. Luces Auxiliares. Actuadores Eléctricos. F IGURA 3.3. Estructura de conexión del equipo y estructura de red.. 23.
(38) Como se aprecia en la figura 3.3 el manipulador de laboratorio remoto está conectado directamente al PC servidor a través de la controladoras de los motores que utilizan el puerto RS-232 (más detallado en la figura del apéndice E) y el puerto paralelo LPT1 para el accionador del actuador neumático y la pinza paralela. Para el feedback visual se conectan dos webcam usb 2.0, descritas en la sección anterior. El PC servidor posee una conexión permanente a Internet vı́a una conexión inalámbrica al router interno del laboratorio, que posee un número IP público con los puertos requeridos abiertos. El esquema de interconexión de red usado en el laboratorio remoto (véase figura 3.3) ha demostrado ser sencillo y eficiente para ejecutar las tareas que se desarrollan en este trabajo, para su operación remota de uso didáctico. Sin duda una parte importante de esta red es el router, que une la red de la universidad con la red local del laboratorio, ası́ como la doble protección de los puertos, primero en la red de la universidad y luego la red especı́fica del laboratorio, en donde cada router (universidad, laboratorio) actúa como un cortafuegos, que permiten el acceso sólo a través de los puertos designados para la conexión. El servidor ubicado en el laboratorio contiene una aplicación que gestiona, sujeta a horarios, las conexiones entrantes. Los alumnos disponen de un tiempo agendado de 30 minutos como máximo. Bajo este esquema el equipo funciona 24 h al dı́a.. 3.1.3. Análisis Cinemático del Manipulador Robótico del Laboratorio Remoto 3.1.3.1. Cinemática Directa Para la resolución del problema de la cinemática directa del manipulador cartesiano de la figura 3.4, se empleó el procedimiento DH descrito en la sección 2.2. Una vez identificados los eslabones de la cadena y el sistema de coordenadas de cada junta, como se representa en la figura 3.4 b, se procede a encontrar los 4 parámetros de DH (tabla 3.3).. 24.
(39) TABLA 3.3. Parámetros de DH.. α. a. 1. 90◦. 0. 90◦ l1. 2. 90◦. 0. 90◦ d2. 3. 90◦. 0. 90◦ d3. 4. 0◦. 0. 0◦. Número de articulación. θ. d. d4. Definidos los parámetros, se calculan las sucesivas transformadas de cada eslabón, desde el extremo efector hasta la base del robot. Utilizando (2.11) de la sección 2.2 para cada uno de los eslabones obtenemos las siguientes ecuaciones. T04 = T01 · T12 · T23 · T34. (3.1). Z3. d3. 4. Y3. Z2. 2. X4. Z4. 3. 6. d4. 5. Y2. X2. X3. 1 4. 4 d2. L1. Y4. Y1. Z1. 3 2. X0 X1. 10. 0. 1 Y0. Z0. F IGURA 3.4. Modelo cinemático del mecanismo, (a) Numeración de los componentes del modelo según la figura 3.1. (b) Esquema cinemático del mecanismo según DH.. 25.
(40) . 0 0 1. 1 0 T01 = 0 1 0 0 0 0 1 0 T12 = 0 1 0 0 0 0 1 0 2 T3 = 0 1 0 0 1 0 0 1 T34 = 0 0 0 0. 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0. 0. . 0 d1 1 0 0 d2 1 0 0 d3 1 0 0 d4 1. (3.2). (3.3). (3.4). (3.5). Finalmente, se substituyen las transformadas de cada eslabón de la cadena en T40 = T10 · T21 · T32 · T43 y obtenemos (3.6). . 1 0 0. d2. 0 1 0 d3 T40 = 0 0 1 l1 + d4 0 0 0 1. . (3.6). De (2.1), (ver sección 2.2) separamos el vector translación (t40 ) de la transformada del sistema referenciado a la base. De tal manera que el extremo efector del robot se encuentra en. 26.
(41) coordenadas del sistema de la base (Sb ) a como se expresa en (3.7). d2 t40 = d3 l1 + d4. (3.7). Se debe de advertir que tanto d2 , d3 , d4 son variables por la acción de las articulaciones prismáticas y que d4 fue medido desde el eje Z3+ por lo tanto su valor en realidad es −d4 . t40 = . d2 d3 l1 − d4. . (3.8). Finalmente, se tiene referenciado el sistema respecto a la base coincidente al plano de la mesa. 3.1.3.2. Cinemática Inversa La cinemática inversa consiste en obtener la magnitud de las variables articulares (x = d2 , y = d3 , z = l1 − d4 ) para obtener una posición determinada en el extremo efector del manipulador. Para este manipulador robótico que tiene 3 articulaciones prismáticas, las posiciones de los actuadores dependen únicamente del vector de traslación encontrado, representado en (3.8). Por tanto, la relación entre la cinemática directa e inversa es biunı́voca. 3.1.3.3. Referenciación del Sistema de la Base (Sb ) respecto al Origen de la Grilla (Sg ). Nuestro propósito es controlar al manipulador respecto al sistema de referencia de la grilla. Una vez obtenido el vector de traslación que referencia al extremo efector respecto a la base, debemos hallar el vector de traslación tg (figura 3.5) que lo referencie al sistema de la grilla mediante la ecuación (3.8). De esta forma se obtiene el vector de traslación tgb . tgb. = . d2. . . 0. . X g 0 d3 − Yg 0 l1 − d4 Zg. (3.9). 0. El vector de traslación tg (figura 3.5) es obtenido a través de la calibración del sistema.. 27.
(42) Xg. Zg. Yg. 4. Z’ g. Y’g. X’g. Xb. Yb. Zb. 0. F IGURA 3.5. Sistema de referencia del vector tg .. 3.2. Metodologı́a Empleada para la Generación de Polı́gonos Una forma sencilla y práctica de generar polı́gonos en el plano es mediante la discretización del polı́gono con elementos rectos. A partir de una sucesión de lı́neas se pueden crear figuras geométricas más complejas mediante un proceso de integración de estas. Adicionalmente, si discretizamos un arco extendido sobre un ángulo arbitrario, podemos generar vértices de forma algorı́tmica y almacenarlas en un vector para crear figuras geométricas conocidas (e.g Cuadrado, Pentágono y Cı́rculos).. 28.
(43) F IGURA 3.6. Etapas del método propuesto para generación de polı́gonos.. El método propuesto consiste en cuatro etapas (figura 3.6): a) Ingreso de parámetros: Se ingresa un vector que contenga los vértices y la magnitud del vector resultante de la velocidad deseada. b) Generación de segmentos de lı́nea: A partir de los vértices se generan una serie de segmentos de lı́neas, para cada una de estas se calculan pendientes que son directamente proporcionales a las magnitudes de los vectores resultantes de velocidad. c) Generación de perfiles trapezoidales de velocidad lineal: En esta etapa, se estiman los perfiles de velocidad correspondientes para cada actuador del manipulador. Con estos datos ya se puede comandar el manipulador para la generación del polı́gono. d) Ejecución del movimiento: Finalmente, se envı́an los comandos necesarios desde el servidor al manipulador para la ejecución de la rutina de trazado. En la etapa a), el usuario puede especificar los vértices y la magnitud deseada del vector resultante de velocidad, o bien el sistema genera los vértices y el alumno especifica la velocidad. En caso que los vértices sean generados por el laboratorio remoto, este asume que los puntos están conectados entre sı́ de tal manera que crea una serie de segmentos rectos entre un vértice inicial A y vértice final B hasta llegar al último vértice generado ( etapa b) del proceso ). Basado en el vector de velocidad resultante ingresado por el usuario, el sistema calcula los componentes de velocidades (Vx , Vy ). Estos datos son necesarios para generar los perfiles trapezoidales de velocidades requeridos por las controladoras del manipulador (. 29.
(44) etapa c) del proceso ). Las velocidades de cada actuador se calculan según: Vx = V · cos(θ). (3.10). Vy = V · sin(θ). (3.11). Donde θ es el ángulo de la pendiente del segmento recto generado por los vértices (A y B). Para generar un perfil trapezoidal de velocidad angular en las controladoras se requieren los siguientes datos: distancia lineal recorrida D, velocidad angular máxima en rpm ωmax , tiempo de frenado en ms bt , tiempo de aceleración en ms at y velocidad angular terminal ωfinal , como se ilustra en la figura 3.7.. F IGURA 3.7. Perfil trapezoidal de velocidad angular.. Por defecto, el software de control, asume que las velocidades generadas son instantáneas (figura 3.8), es decir que tanto el tiempo de aceleración (at ), como el tiempo de frenado (bt ) son iguales a 0. Bajo estas consideraciones (at = bt = 0) el sistema crea los perfiles trapezoidales, a menos que se indiquen valores de tiempo de aceleración (at ) y tiempo de frenado (bt ) distintos de 0 en la etapa (c).. 30.
(45) F IGURA 3.8. Perfil trapezoidal de velocidad angular bajo la asunción de velocidad instantánea.. Una vez definidos todos los datos anteriores, se ejecuta el movimiento programado del manipulador ( etapa (d) ).. 3.3. Metodologı́a para la Generación de Polı́gonos basada en pendientes de vector de velocidad resultante Esta metodologı́a es similar a la de la sección anterior pero difiere en el uso de un vector de velocidad resultante de magnitud variable, en la primera etapa. Esto es posible, estableciendo una de las componentes de velocidad Vy dependiente de la otra Vx a como se puede intuir mediante (3.12) y (3.13). Sin embargo, esta alternativa presenta problemas en (3.13) en puntos donde la pendiente tiende a infinito.. Vx = C. (3.12). Vy = Vx · tan θ = m · Vx. (3.13). En las pruebas realizadas se observó este problema al momento de la generación de cı́rculos, ya que el sistema presentaba cambios bruscos de velocidades en los puntos que intersectan al eje x ubicando el origen del sistema coordenado al centro del cı́rculo.. 31.
(46) 3.4. Software Desarrollado En esta sección se presenta el software desarrollado mediante diagramas UML de caso y uso con la finalidad de hacer una generalización de las funciones ejecutados por los actores del software cliente-servidor implementado. También se hace uso de diagramas UML de clases para mostrar la estructura interna de las principales librerı́as desarrolladas contenidas en el software y mostrar la asociatividad de cada clase que lo integra.. 3.4.1. Aplicación Cliente 3.4.1.1. Funcionamiento General de la Aplicación Cliente El cliente está pensado para que el alumno pueda experimentar la programación del robot y la parametrización de perfiles, para operaciones de pick and place o trazado. Para tal fin, el principal desarrollo de la parte cliente consiste en una interfaz gráfica de usuario (GUI) que cuenta con distintas opciones para llevar a cabo las experiencias con el laboratorio remoto. El cliente, cuyo ejecutable tiene por nombre “GUI.exe”, cuenta con 3 ventanas funcionales: ventana principal, ventana del editor, ventana de generación de perfiles trapezoidales de velocidad. A continuación se hace una breve descripción de la funcionalidad de cada una de ellas: (i) Ventana Principal (figura 3.9): Esta ventana cuenta con un pad virtual en donde el usuario puede mover libremente el manipulador a través de botones proporcionados en la interfaz de usuario y ası́ mismo visualizar, por elección del usuario, una de las dos cámaras montadas. Esta ventana sólo es funcional cuando el usuario está conectado al laboratorio. (ii) Ventana del Editor (figura 3.10): Esta ventana contiene el editor de script para la sintaxis RDL que contiene botones y listas que ayudan al usuario a programar su rutina más amigablemente. El control utilizado para el editor es el proveı́do por la librerı́a AvalonEdit, la cual permite entre otras cosas visualizar los números de las lı́neas de código, visualizar resaltado de comandos y trabajar con múltiples instancias del editor. Cuando el usuario está conectado al laboratorio, puede editar el. 32.
(47) script, guardarlo o enviarlo al laboratorio remoto, inmediatamente después de enviarlo se activará la ventana principal para visualizar una de las cámaras montadas, en caso contrario, sólo podrá editar y guardar bajo la extensión .rdl. (iii) Ventana de generación trapezoidales (figura 3.11): Esta ventana contiene un gráfico de visualización de los perfiles trapezoidales de velocidad. El usuario puede parametrizar los perfiles de velocidad mediante el ingreso de los datos en cajas de texto tal que el gráfico se va actualizando según el usuario introduce los datos. Cuando el usuario está conectado puede enviar estos perfiles a las controladoras del manipulador e iniciar el posicionado de cada uno de los perfiles trapezoidales de velocidad generados. Cuando el usuario está desconectado del laboratorio remoto, esta ventana sólo permite visualizar la gráfica del perfil trapezoidal por los datos introducidos.. F IGURA 3.9. Captura de pantalla de la ventana principal de la interfaz de usuario.. 33.
(48) F IGURA 3.10. Captura de pantalla de la ventana editor de la interfaz de usuario.. F IGURA 3.11. Captura de pantalla de la ventana del generador de perfiles trapezoidales de la interfaz de usuario.. 34.
(49) 3.4.1.2. Casos y Usos de la Aplicación Cliente La GUI presentada se puede usar de dos formas: disponiendo de conexión (modo online) y sin conexión (modo offline), ver figura 3.12. Cuando el usuario interactúa offline puede trabajar en la edición de código o en la generación de perfiles de velocidad. Una de las ventajas con las que cuenta el alumno son las herramientas de autogeneración de código y el resaltado de código que posee el editor. Sin embargo, el código puede ser desarrollado en cualquier editor y se debe guardar bajo la extensión de archivo .rdl. También puede usar el editor de perfiles trapezoidales de velocidad para ver la representación de los perfiles generados para la actividad que se requiere llevar a cabo en el laboratorio remoto. Cuando el alumno tiene acceso al laboratorio remoto (modo online) este debe realizar la actividad requerida en un tiempo de uso de 30 minutos. Durante ese tiempo puede generar movimientos en el robot de forma manual a través de la ventana principal de la GUI, el editor de código y de perfiles a diferencia del modo offline tiene habilitada la opción para enviar el código necesario al laboratorio para generar la acción requerida sobre él.. 35.
(50) F IGURA 3.12. Diagrama UML de caso-uso de la GUI desarrollada.. 36.
(51) 3.4.1.3. Tecnologı́as de Software Aplicadas en la Aplicación Cliente La aplicación cliente fue escrita completamente en C#. C# es un lenguaje de programación desarrollado por Microsoft con el fin de acercar a los programadores de C y a los programadores de Java a este. Uno de los mayores retos que se plantean en la implementación de los laboratorios remotos, es la interoperatividad del sistema con otras plataformas de software. En este en particular, C# ofrece interoperatividad con otros lenguajes como Java, Visual Basic, C++ y otros compatibles con el NET 4.0 Framework. Por otro lado, un poco más del 80% de los computadores en el mercado operan con plataforma que utilizan el kernel de Windows R . Adicionalmente, C# puede ser usada con ASP.NET que opera en tecnologı́as basadas en web. En la capa de más alto nivel, se utilizó la librerı́a AforgeNET (obtenida del sitio http://www.aforgenet.com) para recibir las imágenes transmitidas desde el servidor del laboratorio remoto, ya que ofrece un control basado en DirecShow que gestiona el streaming de video en formato MJPEG (Acrónimo de Motion JPEG), además es de código abierto. Por otro lado la librerı́a de código abierto AvalonEdit, que se puede obtener del sitio https://github.com/icsharpcode/SharpDevelop/wiki/AvalonEdit; ofrece controles diseñados para editores de textos basados en la Windows Presentation Foundation, que es una de las tecnologı́as desarrolladas para el siguiente paso evolutivo del sistema Windows R . En la capa de más bajo nivel se utilizó el NET 4.0 de Microsoft. Esto ofrece una verticalidad del sistema para sostener su desarrollo y mejoras posteriores.. 3.4.1.4. Estructura de Clases de la Aplicación Cliente La aplicación cliente está compuesta por 11 clases, representadas en la figura 3.13. Todas las clases con terminación Window a excepción de PropertiesWindow, son clases de objetos gráficos tipo winform que ofrecen controles para el ingreso de datos en operaciones llevadas a cabo con el editor de código, para generar una sintaxis concordante con la sintaxis RDL (Robot Didactic Language) de forma auxiliada. La clase PropertiesWindow permite modificar las propiedades disponibles del editor.. 37.
(52) F IGURA 3.13. Diagrama UML de clases de la aplicación cliente - Interfaz Gráfica GUI.. La clase Login es una clase de objetos gráficos tipo winform que permite el ingreso de los datos de usuario para confirmar el acceso con el laboratorio remoto. La clase AcercaDe brinda una pequeña información sobre los autores de la GUI. Finalmente, la clase MainForm contiene los principales métodos para la comunicación con el laboratorio remoto e invoca a las demás clases del proyecto cliente, como se muestra en el diagrama UML de asociatividad figura 3.14.. 38.
(53) F IGURA 3.14. Diagrama UML de asociación de clases de la aplicación cliente - Interfaz Gráfica GUI.. 39.
Documento similar
Tabla B.1: Instancia "extrema" Número de instancia de cada troza tipo en Demanda Agregada Demanda para cada periodo Distribución relativa de la demanda entre productos
Aunque esta temática ha captado la atención de muchos investigadores, el papel de la eosinopenia en pacientes adultos con patología neurológica que ingresa a unidad de
La figura §C.1 muestra la pantalla principal de la aplicaci´ on; en la cual, se puden ingresar las opciones de generaci´ on de certificados: generaci´ on de certificados
Logrando disminuir la sensación de frustración en los alumnos (principalmente para quienes la programación es una actividad novedosa) en relación a la vinculación con
Este capítulo busca ubicar, en términos generales, la situación de la población, los procesos migratorios, su relación con eventos y problemáticas ambientales y
Entre las distintas corrientes que convergieron en este campo, aparece una coincidencia en términos epistemológicos: por un lado, postulan que no existe el conocimiento neutral y
Todos los elementos del interfaz pueden modificarse en términos de color, textura, forma, tamaño y posición; al igual que todo lo referente a la temporización del proceso
El proyecto es técnicamente viable. En primera instancia, porque se cuenta en campo con los dos requisitos esenciales para la generación de los 10 kW. En segunda instancia