CONTROL DE UN BRAZO ROBOT MEDIANTE UN PLC 1 Hurtado Chong Gabriel, Matus Pérez Mario Alberto, Torres Miranda Gabriel, 2 Castañeda Cedeño Serafín.



Documentos relacionados
Control Teaching de un Brazo Robot de Cinco Grados de Libertad

En este capítulo se describe la forma de cómo se implementó el sistema de video

SERVOMOTORES. Los servos se utilizan frecuentemente en sistemas de radiocontrol, mecatrónicos y robótica, pero su uso no está limitado a estos.

Una vez descrita la constitución general de un robot, podemos empezar con la

La presente tesis pretende que los estudiantes observen la teoría de las acciones de control

Capítulo 5. Análisis del software del simulador del sistema de seguridad

Nombre de la asignatura: Robótica Industrial. Carrera: Ingeniería Electrónica

Simulación y Control de un Sistema Mecatrónico Aplicando Diseño Asistido por Computadora

TEMA 14: Control Numérico para Máquinas-Herramienta

CAPÍTULO II. Gráficos Dinámicos.

Capítulo 5. Cliente-Servidor.

Control Satelital y gestión de ubicaciones en mapa. (CitiTrack)

Cinemática Inversa del Robot. CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides

Notas para la instalación de un lector de tarjetas inteligentes.

ELT 3890 AUTOMATICA I LABORATORIO No. 7 PROGRAMACIÓN DE PLC S S SIEMENS

En el presente capítulo se describe la programación del instrumento virtual y cómo

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

PROGRAM ACIÓN DEL CONTROL

Fig. 3.1 Brazo Mecánico Utilizado. que es capaz de girar igualmente 180º, (Fig. 3.1).

SIMULACIÓN EN TIEMPO REAL DE UNA ESTACION DE TRABAJO INDUSTRIAL ROBOTIZADA.

podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que el

CAPÍTULO 3 Programación en LabVIEW

Desarrollo y Construcción de Prototipos Electrónicos

Tecnología IP para videovigilancia... Los últimos avances han hecho posible conectar cámaras directamente a una red de ordenadores basada en el

LiLa Portal Guía para profesores

INTRODUCCIÓN A HMI (Interfaz Hombre Máquina)

INTRODUCCION A LA PROGRAMACION DE PLC

Este capítulo presenta las nuevas funciones y mejoras de Control Center. 6.1 Mostrar imágenes en múltiples pantallas

Tema 11: Instrumentación virtual

INGENIERÍA AMBIENTAL Tema 3. Parte V SCADA (Supervisory Control and Data Acquisition) Alfredo Rosado Máster Universitario

Unidad IV: TCP/IP. 4.1 Modelo Cliente-Servidor

TPV VIRTUAL O PASARELA DE PAGOS DE CAJASTUR

PROPUESTAS DE PROYECTO ELÉCTRICO PARA EL PRIMER SEMESTRE 2011

Actividad 4: Comunicación entre PLC s vía Ethernet

COORDENADAS CURVILINEAS

6. SISTEMAS CAD-CAM (CAM) 6.1. CONCEPTO DE CAM

Características Morfológicas. Principales características de los Robots.

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

ESTUDIO DEL SISTEMA ESTÁTICO DE PROTECCIÓN DE UNA TURBINA A GAS

4.2 Acción de Control.

Interfaz gráfica para el control de un brazo robótico educativo de 5 grados de libertad.

MANUAL DE USUARIO CONVERSOR TCP/IP A RS232 Y TCP/IP A RS485

Indicaciones específicas para los análisis estadísticos.

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

CAPITULO 4. Inversores para control de velocidad de motores de

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

WINDOWS : TERMINAL SERVER

COMUNICACION DE PLC S MEDIANTE EL PUERTO RS- 485 Y MONITOREADO POR PANTALLA.

PLACAS FERTIRIEGO ELECTRÓNICA NUEVA

CAPITULO III MARCO METODOLÓGICO. La presente investigación plantea como objetivo el diseño de un prototipo

Práctica 1. Programación y Simulación de un PLC

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

Internet Information Server

2_trabajar con calc I

TIPOS DE RESTRICCIONES

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

IS23 Mantenimiento de Instalaciones Informáticas Práctica 6. Acceso remoto a ordenadores tipo PC

Comunicación OPC para Monitoreo de Datos Analógicos en Tiempo Real (PLC300-KepserverEx-LabView)

Como utilizar un servo motor con Arduino.

INGENIERÍA EN MECATRÓNICA

1.2 SISTEMAS DE PRODUCCIÓN

La Pirámide de Solución de TriActive TRICENTER

UNIDAD 4: PLANO CARTESIANO, RELACIONES Y FUNCIONES. OBJETIVO DE APRENDIZAJE: Representar gráficamente relaciones y funciones en el plano cartesiano.

Person IP CRM Manual MOBILE

En esta unidad añadiremos información sobre EXT3 y trabajaremos con aspectos visibles que nos proporcionan estos sistemas de archivos.

Apoyo para la preparación de los estudios de Ingeniería y Arquitectura Física (Preparación a la Universidad) Unidad 4: Vectores

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

Introducción al control industrial

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE MECANICA ELECTRICA LABORATORIO DE ELECTRONICA PENSUM COMUNICACIONES 3

AUTOMATIZACIÓN INDUSTRIAL DESCRIPCIÓN Y MANEJO DEL SERVOMOTOR DE PRÁCTICAS

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Laboratorio de Física Universitaria II. FISI 3014 Primer semestre del año académico Departamento de Física y Electrónica de la UPR-H

Guía rápida de CX-Programmer

1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS.

Panel de control. capítulo 07

Comparadores UNIDAD V

Introducción. TEMA 2. MORFOLOGÍA

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

VS-Tv. Manual de usuario. Matriz virtual de vídeo ESPAÑOL

Guía de uso del Cloud Datacenter de acens

Aspectos Básicos de Networking

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

Capítulo 4. Implementación del lenguaje multitáctil

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Capítulo 1 Introducción a la Computación

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

Servicio de VPN de la Universidad de Salamanca

Comunicación entre un PLC S y WinCC Advanced

PROBLEMAS CON SU CLAVE? Cliente Nuevo Puedo solicitar acceso a la Banca en Línea (Contrato Uso de Canales de Autoatención) a través del Portal?

DESCRIPCION DEL SITEMA MASTER.

5. Despliegue en la PC

MODULO Nº6 TIRISTORES UNIDIRECCIONALES

I. SISTEMAS INTEGRADOS DE MANUFACTURA

CAPITULO 3. SENSOR DE TEMPERATURA

CAPÍTULO 1 Instrumentación Virtual

Puertas Lógicas. Contenidos. Objetivos

Motores de Corriente Continua...3 Motores Paso a Paso...7 Bibliografía...9

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

Microsoft Access proporciona dos métodos para crear una Base de datos.

Transcripción:

CONTROL DE UN BRAZO ROBOT MEDIANTE UN PLC 1 Hurtado Chong Gabriel, Matus Pérez Mario Alberto, Torres Miranda Gabriel, 2 Castañeda Cedeño Serafín. Departamento de Ingeniería Mecatrónica, Facultad de Ingeniería, Universidad Nacional Autónoma de México, Av. Universidad #3000, Del. Coyoacán, Col. Ciudad Universitaria, México, D.F., C.P. 04510 Teléfono: (55) 5622 8050 ext. 129 1 gahucho@dimeifi.unam.mx, 2 sera_castaneda@cancun.fi-a.unam.mx RESUMEN. El presente trabajo muestra el uso de dispositivos de automatización e instrumentos virtuales (VIs) para implementar un software académico para el apoyo en la enseñanza de Robots Industriales con el cual sea posible controlar y monitorear el movimiento de un brazo robótico Scorbot-ER V Plus de cinco grados de libertad. Este trabajo reporta los primeros avances de un proyecto global y describe los elementos necesarios para implementar una simulación 3D del robot basada en su propia cinemática, así como la implementación de una red para el control mediante un PLC, ya sea usando una HMI (Human-Machine Interface) o una interfaz creada en LabVIEW con la cual puede ser manipulado remotamente. Los resultados serán usados para reemplazar el controlador original potencializando el uso del brazo con aplicaciones de LabVIEW. PALABRAS CLAVE Instrumento virtual, LabVIEW, brazo robot, Scorbot, simulación 3D, PLC, HMI. ABSTRACT. This paper demonstrates the use of automation devices and virtual instruments (VIs) in the implementation of an academic software to aid in Industrial Robotics teaching, this software is able to control and supervise the motion of an Scorbot-ER V Plus robotic arm with five degrees of freedom (DOF). This paper also reports the first steps into a global project, describing the development of a 3D simulation for the robot based on its own kinematics, as well as the implementation of a network for PLC control, using either a Human Machine Interface (HMI) or a LabVIEW interface for remote control purpose. The products developed will be used to replace the original controller for the Scorbot, improving the use of the robotic arm with LabVIEW toolkits. NOMENCLATURA 3D CD CI HMI PLC PWM VI Tres dimensiones Cinemática Directa Cinemática Inversa Interfaz Humano Máquina Controlador de Lógica Programable Modulación por Ancho de Pulso Instrumento Virtual INTRODUCCIÓN Los robots son usados para diversas funciones dentro de un sistema de automatización, mayormente para posicionar y transportar partes entre dos diferentes máquinas, ya que son muy efectivos para realizar tareas repetitivas, gracias a su rapidez y precisión. Todo brazo robot está constituido por eslabones unidos mediante articulaciones las cuales permiten el movimiento de dos eslabones contiguos. Para el movimiento de las articulaciones existe la posibilidad de deslizamiento o rotación, lo cual permite crear diferentes tipos de articulaciones, la mezcla de los diferentes tipos de articulaciones da lugar a diferentes configuraciones para los brazos robóticos con lo cual se tienen diferentes tipos de robots manipuladores. Las principales configuraciones son: Cartesianos (PPP) SCARA (RRP) Esféricos (RRP) Cilíndricos (RPP) Antropomórficos (RRR) donde R representa una articulación de rotación y P una prismática.

El objetivo del control se divide en dos áreas, el control cinemático y el control dinámico. Así pues, el control cinemático se lleva a cabo para establecer trayectorias que serán reproducidas por cada una de las articulaciones del robot para lograr en conjunto una trayectoria del manipulador con un fin en específico. Para la creación de dichas trayectorias se deben tomar en cuenta las limitantes físicas del robot, así como las posibles limitantes dentro de su volumen de trabajo. De igual manera se debe considerar el uso que se le dará a dicha trayectoria a cada momento para así poder establecer los instantes en los que se necesite mayor precisión o una fineza en cuanto a sus movimientos. Por otra parte, el objetivo del control dinámico es seguir las trayectorias establecidas por el control cinemático lo más fielmente posible, ya que el movimiento del robot se ve afectado por variables tales como fricción e inercia. La diferencia entre el movimiento establecido y el movimiento real es lo que se intenta minimizar usando el modelo dinámico del robot y las herramientas de la teoría de control. Por su parte, los controladores de lógica programable (PLCs) son los controladores más comunes en las celdas de producción, estos coordinan a todos los dispositivos existentes dentro de las mismas, como son bandas transportadoras, sensores, alarmas y los propios robots. Características del robot El brazo robot Scorbot-ER V Plus está construido como brazo vertical articulado, de cinco grados de libertad y una herramienta no intercambiable, como efector final, que en este caso es una pinza. Las articulaciones son todas de revolución, excepto el movimiento de la apertura y cierre de la pinza, que es prismático, esto se muestra en la figura 2. Figura 2. Articulaciones y eslabones del Scorbot-ER V Plus. (Intelitek, 2003) Las articulaciones están accionadas mediante motores, los cuales están acoplados indirectamente; esto es, el motor está montado lejos de las articulaciones y el movimiento del motor se transmite a través de bandas o engranes, lo que ayuda a que el peso de los motores quede sostenido por la base y no por cada una de las articulaciones, de igual forma permite variar la velocidad angular de cada articulación proporcionalmente a la velocidad del motor. Las cinco articulaciones del robot, y la pinza, son operadas por servomotores de corriente directa. La dirección de giro de cada articulación depende de la polaridad del voltaje de operación. Cada motor está acompañado por un encoder para su control en lazo cerrado. Figura 1. Diagrama de conexión de dispositivos para operar el Scorbot-ER V Plus. Cada motor cuenta con diferentes tipos de transmisión, mientras que para la base y el hombro se usa una transmisión de engranajes dentados, para el codo se usan engranajes

dentados y correas de regulación; para la muñeca se hace uso de correas de regulación y una unidad diferencial de engranajes dentados en el extremo del brazo; y en la pinza se transmite el movimiento mediante un tornillo de avance directamente acoplado al motor, como se muestra en la figura 3. interruptores se encuentran activados indican que el brazo está ubicado en la posición de Home. Cuando el sistema es encendido, el robot debe ser enviado a la posición de Home, mediante una rutina de software. DESARROLLO Algoritmo de control para movimiento cinemático Para el control cinemático directo utilizando la representación de Denavit-Hartenberg y seleccionando adecuadamente los sistemas de coordenadas asociados para cada eslabón, será posible pasar de un eslabón al siguiente mediante cuatro transformaciones básicas que dependen exclusivamente de las características geométricas del eslabón. i 1 A i = T z, Ɵ i T(0,0, d i ) T(a i, 0,0) T(X, α i ) Figura 3. Disposicion de las bandas del brazo robot. Encoder La localización y movimiento de cada eje es detectado por un encoder óptico incremental, el cual está montado en la parte trasera del motor. Cuando se mueve el motor, el encoder genera una serie alternada de pulsos altos y bajos; el número de pulsos es proporcional al movimiento del eje, además la secuencia de pulsos indica el sentido de giro. En la figura 4 se muestra uno de dichos encoders. Figura 4. Encoder montado en cada motor del brazo robot. (Intelitek, 2003) Micro-interruptores o microswitches El brazo mecánico cuenta con cinco microinterruptores, uno por cada articulación, los cuales son usados para determinar la posición de referencia inicial o Home. Cuando todos los Realizando el producto de matrices, respetando el orden de las matrices de transformación de la ecuación anterior, se tiene la matriz de transformación homogénea genérica: Utilizando el método de Denavit-Hartenberg para la obtención de los parámetros de las relaciones entre eslabones consecutivos que se muestran en la Tabla 1, es posible obtener la matriz de transformación homogénea, con la cual se puede calcular la posición del efector final conociendo el ángulo que indica la posición de cada eslabón. Tabla 1. Parámetros de Denavit-Hartenberg para el robot Art. a i d i i i 1 0 l 1 90 2 l 2 0 0 3 l 3 0 0 4 0 l 4 90 5 0 l 5 0

Ahora bien, para calcular la cinemática inversa se considerarán simplemente los tres primeros eslabones, estos tienen una estructura planar, lo que significa que todos quedan contenidos en un plano. Esta circunstancia facilita la resolución del problema. Asimismo, en muchos robots se da el caso de que los últimos tres grados de libertad, dedicados fundamentalmente a orientar el extremo del robot, correspondan a giros sobre los ejes que se cortan en un punto. Los métodos geométricos permiten tener normalmente los valores de las primeras variables articulares, que son las que consiguen posicionar el robot. Para ello utilizan relaciones trigonométricas y geométricas sobre los elementos del robot. Se suele recurrir a la solución de triángulos formados por los elementos y articulaciones del robot. Puesto que: se tendrá entonces: con sen q 3 = ± 1 cos 2 q 3 q 3 = tan 1 ± 1 cos2 q 3 cos q 3 cos q 3 = P X 2 + P 2 Y + P 2 Z l 2 2 l 2 3 2l 2 l 3 Como se ve, existen dos posibles soluciones para q 3, según se tome el signo positivo o negativo de la raíz. Estas corresponden a las configuraciones de codo arriba y codo abajo del robot. El cálculo de q 2 se hace a partir de la diferencia entre β y α: q 2 = β α siendo: β = tan 1 P Z r = tan 1 P Z ± P X 2 + P Y 2 finalmente: α = tan 1 l 3 sin q 3 l 2 + l 3 cos q 3 q 2 = tan 1 P Z ± P X 2 + P Y 2 tan 1 l 3 sin q 3 l 2 + l 3 cos q 3 Figura 5. Parámetros para la cinemática inversa usando el método geométrico. (Barrientos, 2007) Con base en la figura 5 y conociendo la ubicación del efector final, definida por las coordenadas (Px,Py,Pz), las ecuaciones utilizadas para obtener los ángulos de las articulaciones son: q 1 = tan 1 P X P Y Considerando ahora únicamente los elementos 2 y 3 que están situados en un plano, y utilizando el teorema del coseno, se tendrá: r 2 = P X 2 + P Y 2 r 2 + P X 2 = l 2 2 + l 3 2 + 2l 2 l 3 cos q 3 cos q 3 = P X 2 + P Y 2 + P Z 2 l 2 2 l 3 2 2l 2 l 3 Esta expresión permite obtener q 1 en función del vector de posición del extremo P. No obstante, por motivos de ventajas computacionales, es más conveniente utilizar la expresión del arco tangente en lugar del arco seno. De nuevo los dos posibles valores, según la elección del signo, dan lugar a dos valores diferentes de q 2, correspondientes a las configuraciones codo arriba y abajo. Interfaz electrónica Antes de atender la programación del PLC, la HMI y el panel de control en LabVIEW, debe diseñarse la interfaz electrónica que permita conectar el brazo al dispositivo de control. El robot utiliza un conector DB50 para conectarse a su controlador original y se usa este mismo conector para el proyecto. Para la alimentación y el control de dirección de los motores se utilizan circuitos puente H, que vienen encapsulados en un circuito integrado L293D, para ello se deben acoplar las señales que reciben del módulo de salidas digitales del PLC, ya que éste entrega 24 VDC a 20 [ma], lo cual es un voltaje muy alto y una corriente baja para los pines de entrada del integrado. Debido a lo anterior se utiliza un arreglo de resistencias como divisor de voltaje para obtener un máximo de 5 [V] y transistores NPN en

configuración colector común para incrementar la corriente, el diseño se muestra en la figura 6. Figura 7. Conexión de placa PC510 del encoder. Para integrar LabVIEW en la operación del robot, con base en los fundamentos teóricos y las necesidades de lectura de encoders se siguió el esquema de programación e interconexión de subvi mostrados en la figura 8. Figura 8. Esquema de subvi para control del brazo robot. Figura 6. Interfaz electrónica para control de motor usando puente H. Como puede observarse, las señales del PLC (J5, J6, J7, J8) se conectan al divisor, el cual entrega el voltaje y la corriente necesaria para habilitar el Gate del transistor y alimentar los pines de entrada del L293D con el voltaje de la fuente VSS. También cabe mencionar que los pines J9 y J10 pueden ser usados para conectar señales PWM a los pines de Enable del integrado. Por otro lado, para poder leer las señales de los fototransistores de los encoders se deben conectar el pin 2 a 5 [V] y el pin 1 a tierra. Para cada uno de los fototransistores se debe realizar una conexión de colector abierto, es decir, se debe conectar una resistencia a VCC y los pines 3 y 4 se conectan a la otra terminal de la resistencia (véase la figura 7). De esta forma se obtienen las lecturas de los pines 3 y 4, los cuales corresponden al par de fototransistores dentro de la placa PC510 contenida en el encoder. Se tomó en este caso una resistencia de 560 [Ω] pero lo importante es limitar la corriente, por lo que puede usarse otro valor de resistencia. Será necesario crear un VI completamente destinado a la resolución del problema Cinemático Directo, para el cual se utiliza una estructura Math Script (véase figura 9) que recibe los parámetros de la Error! No se encuentra el origen de la referencia. 1 y devuelve las coordenadas de cada articulación, así como las del efector final. Figura 9. Math Script con código para cinemática directa. De la misma manera, otro VI estará destinado a la cinemática inversa, para lo cual recibe las coordenadas (x,y,z) del efector final y devuelve los tres ángulos de posicionamiento del robot, como se muestra en la figura 10.

De esta forma, en cada caso, la CD devuelve la posición de una articulación creando un vector entre ésta y la anterior, formando así la simulación del brazo, tal como se muestra en la figura 12. Figura 10. Math Script para cálculo de cinemática inversa. Ya con los VIs de las Cinemáticas se crea otro VI llamado Vectores que, por medio de vectores, grafica una representación 3D del brazo. Esto se hace utilizando una estructura for que recorra los cinco casos de una estructura case la cual llama al VI de la Cinemática Directa (CD) en cada caso, pero recibiendo diferentes grupos de datos. Figura 12. Representación vectorial del brazo robot. Una vez que la simulación del robot está terminada, se pueden realizar algunas aplicaciones con ella; la más sencilla es conectar controles tipo perilla (knob) a las entradas conformadas por los ángulos de las articulaciones. Además es posible restringir los valores de los controles, con lo cual puede moverse cada articulación dentro de los ángulos que las limitantes físicas le permiten al brazo real. Figura 11. VI para creación de imagen vectorial 3D. Los datos que recibe la CD se muestran en la Tabla 2, como puede notarse, para los casos 1 y 2 no es necesario llamar a la CD, ya que el vector que se crea entre el sistema de referencia (0, 0, 0) y la primera articulación es constante. Tabla 2. Variables usadas para representación 3D del brazo robot mediante vectores. Variable Caso 1 Caso 2 Caso 3 Caso 4 Caso 5 E1 0 0 Theta1 Theta1 Theta1 E2 0 0 Theta2 Theta2 Theta2 E3 0 0 0 Theta3 Theta3 E4 0 0 0 0 Theta4 d1 0 380 380 380 380 a2 0 0 0 220 220 a3 0 0 0 0 70 Figura 13. Panel para cinemática directa. Otra aplicación muy útil es utilizar la Cinemática Inversa para llevar al brazo simulado a alguna posición determinada, y con la posibilidad de observar si el punto que se pretende alcanzar está dentro del área de trabajo. Figura 14. Panel para cinemática inversa.

Ahora bien, la aplicación más importante es la visualización del brazo siguiendo trayectorias, para esto es necesario crear un nuevo VI que contenga dos ciclos. El primero es un ciclo for que envía a la Cinemática Inversa todos los puntos de la trayectoria guardando en arreglos el conjunto de los ángulos de las articulaciones necesarios para alcanzar cada punto. Hasta este momento, el control del brazo sólo es simulado, por lo cual también se crearon otros VI para obtener las señales que provienen del Scorbot. Se tiene una tarjeta NI USB-6255 para hacer la lectura de las señales. Debido a que ésta sólo tiene dos pines de tipo contador se usan 12 canales analógicos para los encoders y 6 canales digitales para los microswitches. Es necesario que la señal de los encoders pase por un análisis para poder contar los pulsos y obtener la dirección de giro de la articulación, la figura 18 muestra el análisis para un encoder. Figura 15. Cálculo de trayectoria. El segundo ciclo es el encargado de sacar de dichos arreglos el conjunto de datos y enviarlos al VI Vectores para graficar el robot en cada posición. Figura 18. Análisis de las señales analógicas. Para las señales de los microswitches el análisis es un poco más sencillo, ya que éstos sólo pueden estar en alto o bajo (0 ó 1 lógicos), de esta forma es fácil saber qué interruptores están activos. Figura 19. Análisis para microswitch de cadera y codo. Figura 16. Envío de datos para reproducción de trayectoria. Finalmente, es necesario mostrar la trayectoria en la gráfica 3D para observar al punto que representa al efector final desplazarse sobre ella. Figura 17. Gráfica con trayectoria senoidal a seguir. Es fundamental, para esta parte del proceso, hacer notar que el tamaño del programa es considerable y la velocidad de procesamiento puede hacer que haya pérdidas de datos en la adquisición de las señales. Es por ello que a continuación se explica el uso de una estructura de programación Productor/ Consumidor con la cual el riesgo de pérdidas de información se reduce notablemente. El patrón de diseño Productor/Consumidor está basado en el diseño Maestro/Esclavo, el cual está orientado a mejorar la forma en que se comparten los datos entre ciclos que se ejecutan a diferentes tasas de velocidad. Este patrón es usado para desacoplar los procesos en dos categorías: los que producen los datos y los que consumen los datos. Así, las pilas o colas de datos serán usadas como buffer para poder compartir datos entre los ciclos permitiendo al

Productor adquirir datos que son analizados en el Consumidor a su propia velocidad, mientras el Productor puede continuar apilando datos. referenciar el encendido de las salidas del PLC a la pulsación de los botones. Para nuestra aplicación, el ciclo Productor será el que adquiera las señales que provengan tanto de los encoders como de los microswitches. Figura 21. Panel para control del brazo robot en HMI OP 177B de Siemens. Figura 20. Estructura Producer/Consumer con código para lectura de encoder. El ciclo Consumidor recibirá las pilas de la adquisición y utiliza el VI Flancos que es donde se analizan todas las señales. Configuración y programación del PLC y de la HMI. El PLC S7-300 de Siemens es un módulo de automatización, caracterizado por su capacidad de conexión a diferentes módulos de trabajo dependiendo de la tarea que vaya a desempeñar, así el S7-300 puede presentarse con un módulo central CPU, una fuente de alimentación con diferentes capacidades de amperaje, módulos de entradas y salidas tanto analógicas como digitales, módulos de funciones especializadas así como procesadores de comunicaciones para la creación de redes. Después de configurar el hardware del PLC mediante su programa SIMATIC Manager y establecer que la comunicación entre la PC y la interfaz HMI OP 177B se efectuaría vía Ethernet, en el software del PLC se creó una lista de las etiquetas referenciadas a las variables a utilizar, en este caso las salidas del PLC que habilitarán los motores del brazo robot. Dichas etiquetas son usadas en la programación de los botones de la interfaz HMI con la finalidad de Por otra parte, en LabVIEW se tiene la posibilidad de controlar una gran diversidad de PLCs y con una amplia variedad de protocolos de comunicación. Para ello se debe hacer uso del módulo NI OPC Servers, con el cual se pueden crear, configurar y ver etiquetas que se asocian a las direcciones de entrada, salida, marcadores, temporizadores, contadores, etc., del PLC. Se deben de crear, dentro del proyecto de LabVIEW, variables por cada etiqueta usada y definir la dirección que tienen dentro del PLC como se muestra en la Tabla 3. Tabla 3. Dirección de las variables asignadas a los botones de la interfaz HMI Variable Dirección Cadera Izquierda Q4.0 Cadera Derecha Q4.1 Hombro Arriba Q4.2 Hombro abajo Q4.3 Codo Abajo Q4.4 Codo Arriba Q4.5 Pitch Arriba M2.0 Pitch abajo M2.1 Roll1 M2.2 Roll 2 M2.3 Pinza Abre Q5.2 Pinza Cierra Q5.3 Una vez hecho esto, las variables creadas pueden ser usadas dentro de un VI para crear una interfaz similar a la mostrada en la HMI para

monitorear y controlar los movimientos del brazo. Figura 22. Panel para control del brazo robot en LabVIEW usando variables asociadas al PLC. CONCLUSIONES La interfaz gráfica creada en la HMI permite tener los botones para el movimiento de cada motor en ambos sentidos y de esta forma mover el brazo robot. La interfaz de LabVIEW, además de tener los controles, permite observar, en todo momento, una imagen tridimensional del brazo, con lo cual es posible apreciar la posición en la que se encuentra cada una de las articulaciones, así como el efector final. Esta interfaz en LabVIEW puede ser usada sin la necesidad de tener el robot conectado, lo cual da la opción de poder usarla para simulación, y no solamente con el control manual, sino también con la cinemática directa, la cinemática inversa y el seguimiento de trayectorias. De esta forma, es posible darle al proyecto un enfoque académico al tener un programa que deja interactuar con los movimientos del robot, lo cual permite a los alumnos conocer y familiarizarse con las limitantes de movimiento y el volumen de trabajo, así como poder tener un mejor entendimiento del control de robots, como en los casos de la cinemática directa y la cinemática inversa. Gracias al esquema de subfunciones utilizado en la programación, y sabiendo de antemano que existe un toolkit de control PID de LabVIEW, es fácilmente integrable un subvi con un controlador y un subvi que manipule otros dispositivos de automatización como pueden ser bandas, pistones, u otros sensores, para así ir creando una celda robótica completa. Otra posibilidad que se tiene, utilizando LabVIEW, es la de manipular el panel de control remotamente utilizando un navegador de internet. Para ello, sólo es necesario conocer la dirección IP de la PC que esté controlando al brazo robot y que ésta tenga el proyecto de LabVIEW funcionando. Se accede mediante el navegador y se toma control del panel permitiendo así al usuario mover el robot desde cualquier sitio y en cualquier PC con acceso a internet. Para esto se utilizaría una cámara web que esté transmitiendo los movimientos que realiza el brazo robot, para así poder comprobar su funcionamiento. Actualmente, a falta de un controlador que regule el voltaje enviado a los motores, su alimentación se detiene al apagar las salidas del PLC y, por lo tanto, el propio peso del brazo propicia que no se puedan mantener ciertas posiciones. Con tal controlador, y un contador de pulsos adecuado para cada encoder del robot, se podrían implementar las rutinas de posicionamiento automático a Home, o a cualquier punto dentro del volumen de trabajo, así como el seguimiento de trayectorias. El diseño e implementación de tal controlador es realmente el último paso necesario para que el robot pueda comenzar a ser utilizado en la impartición de clases de laboratorio. Como trabajo a futuro, para mejorar la interfaz y que la simulación de los movimientos del robot sea más realista, se planea utilizar Solid Edge, el cual es un software de diseño para modelado de piezas mecánicas, lo que permitirá realizar una imagen tridimensional idéntica al Scorbot, no solamente en cuanto al aspecto físico sino también de sus partes mecánicas, y ligarla a LabVIEW para su animación y manipulación, utilizando el panel de control ya implementado. REFERENCIAS (1) Barrientos, A. (2007). Fundamentos de Robótica. Madrid: McGraw-Hill. (2) Intelitek. (2003). Scorbot-ER 5Plus. Manchester. (3) Lajara Vizcaino, J. R. (2007). LabVIEW entorno grafico de programación. D.F.: Alfaomega.

(4) Mandado Pérez, E. (2005). Autómatas Programables: Entorno y Aplicaciones. Madrid: Thomson. (5) Microchip Techonolgy Inc. (2005). PIC 16F87/88 Data Sheet. Estados Unidos. (6) National Instruments. (1998). LabVIEW User Manual. Austin,Texas: National Instruments. (7) SIEMENS A&D. (2002). Automatizacion Totalmente Integrada. Manual de Formacion. Munich. (8) SIEMENS AG. (2007). SIMATIC WinCC felxible. Nuernberg. (9) Texas Instrument Inc. (2002). L293, L293D Quadruple Half-H Drivers. Dallas.