Chapter 2 – Literature review
2.7 Gap identification and research questions
2.7.2 Expert driven filtering and exclusion lists
manipulador Delta
En este capítulo se expone el prototipo desarrollado en el
departamento de Mecatrónica y Automatización del
Tecnológico de Monterrey Campus Monterrey y que sirve para
la implementación de un control supervisorio difuso expuesto
en el capítulo 4. La descripción se realiza en base a tres áreas:
diseño mecánico, electrónico y sistema de comunicación. En
cada sección se detallan los componentes utilizados, los
algoritmos de programación y características físicas del
prototipo. Al final del capítulo se describe la interfaz humano-
máquina para el control del manipulador.
3.1.
Introducción
Como parte del trabajo de investigación de esta tesis, se ha continuado con la coordinación del proyecto de construcción de un prototipo del Robot Delta con actuadores rotacionales. Este proyecto se ha venido desarrollando en el departamento de Mecatrónica y Automatización del Tecnológico de Monterrey campus Monterrey. El desarrollo de este proyecto permitirá la implementación y evaluación de esquemas avanzados de control como lo son el control adaptable, predictivo y experto; control difuso; control con ante-alimentación, entre otros. Además de contar con otras áreas de desarrollo en robótica como lo puede ser la implementación de sistemas de visión, planeación de trayectorias, etc. El diseño e implementación del prototipo se ha dividido en tres áreas:
Figura 3.1. Prototipo desarrollado en el Departamento de Mecatrónica y Automatización del Tecnológico de Monterrey Campus Monterrey
Diseño Mecánico.- Aquello relacionado con la estructura mecánica; la selección y ubicación de sensores y demás componentes como el efector final, la o las tarjetas impresas, entre otros; además del diseño y construcción de las articulaciones para el movimiento del robot manipulador delta.
Diseño Electrónico.- Aquello relacionado con toda la circuitería electrónica que permita la comunicación de la computadora con el microcontrolador y del microcontrolador con el movimiento de los motores. Además, que permita el funcionamiento de los diferentes componentes del robot (efector final, sensado de la posición de cero de máquina, de la posición mínima y máxima de cada articulación, entre otros.).
Comunicación.- Aquello relacionado con los protocolos de comunicación entre la computadora y el microcontrolador. Además, está relacionado con la programación de las funciones de la interfaz humano-máquina y de las subrutinas del microcontrolador.
Hasta el término de esta tesis, se ha construido la estructura mecánica que logra el movimiento del robot; se ha implementado un circuito electrónico que permite la comunicación entre el microcontrolador, los filtros PID, y la computadora; se han programado subrutinas sobre un microcontrolador para el control y la comunicación del robot; una interfaz gráfica que permite la interacción entre el usuario y el microcontrolador y un esquema de control convencional para cada una de las tres articulaciones.
A continuación se realiza una descripción de cada una de las áreas en las que se ha dividido el prototipo. Cabe resaltar que cada una de las partes que lo componen es modular.
3.2.
Diseño Mecánico
La estructura que sostiene a la base fija del prototipo es un perfil PTR cuadrado de acero de 50mm y tiene una altura de 1200mm (ver Figura 3.2). La base fija (perfil angular) que sostiene los motores forma un triángulo equilátero de 320mm por lado. Estos se encuentran a una distancia de 150mm con respecto al centro de la misma Figura 3.3 (a).
Figura 3.2. Estructura del prototipo
a) b)
Figura 3.3. Vista de a) la base fija del manipulador y del b) mecanismo de transmisión de
movimiento.
Por otro lado, los brazos y los antebrazos están hechos de barras redondas de aluminio de 12.7mm (½’’) y 9.525mm (3/8’’) de diámetro respectivamente. La longitud total de cada brazo es de 200mm, mientras que la longitud total de cada antebrazo es de 400mm. La unión entre estos dos elementos se realiza mediante 2 rótulas de 9.525mm (3/8’’) con rosca fina de 24 hilos (ver Figura 3.4).
a) Unión entres los dos elementos. b) Brazo y antebrazo. Figura 3.4. Vista de los brazos y antebrazos del manipulador.
En uno de los extremos de los antebrazos se encuentra la base móvil donde se acopla el efector final del robot Delta. La distancia entre el extremo del antebrazo unido a la base móvil y el centro de esta es de 25mm. En la Figura 3.5 se muestra tanto la base móvil, su unión con el antebrazo y el efector final.
Los motores utilizados para mover cada una de las articulaciones del robot Delta utilizan 24VCD de alimentación, soportan una corriente de 2A y una potencia de 22W. Su velocidad máxima es de 3200rpm. Además, estos motores, se encuentran acoplados a los brazos del robot por un tren de reducción 200:1 y una banda que transmite el movimiento de los motores a las articulaciones (ver Figura 3.3).
a) Vista superior. b) Vista lateral.
Figura 3.5. Base móvil del manipulador.
Se han colocado en los actuadores 6 sensores ópticos (dos por cada brazo) para detectar la posición máxima y mínima de cada articulación e impedir que estos puedan llegar a posiciones indeseables que aumente el torque y dañen algún componente. Sobre uno de los engranes cónicos, que transmiten el movimiento al brazo, se colocó una placa de metal que interrumpe la señal de los sensores. Además, estos sensores son elementales para llevar al robot a la posición cero. La colocación de estos sensores puede variar de acuerdo a las necesidades del sistema.
El espacio alcanzable del robot es de 27, 803,000 mm3 de acuerdo con simulaciones realizadas en [3]. Encontrándose su centro en
(
x,y,z) (
= 0,0,−500)
mm.3.3.
Diseño Electrónico
En cuanto al diseño electrónico, se tienen cuatro componentes principales: Microcontrolador ATMEL 80C51
1 GAL (L16V8)
3 integrados LMD 18200 y 3 filtros PID LM 629.
Cada motor en cada una de las articulaciones se acciona a través del integrado LMD 18200. Este integrado es un puente H de 3A y 55VCD diseñado para aplicaciones de control de movimiento. Este puente H recibe un ancho de pulso modulable de 5VCD para transmitir de igual forma un ancho de pulso modulable con el voltaje necesario para el motor (en este caso 24VCD).
El control de posición de los actuadores se realiza por medio del integrado LM629. Este integrado es un filtro PID que maneja una ecuación de manipulación digital (ver capitulo 4) Su salida es una señal de ancho de pulso modulable de 8 bits que alimenta al puente H para accionar los actuadores. En este integrado el error entre la referencia y el estado actual se maneja de forma interna, por lo que no se puede modificar. Sin embargo, el valor del error en cada instante de muestreo se puede conocer.
Además, es utilizado un microcontrolador ATMEL 80C51 donde se encuentran programas la mayor parte de las subrutinas de manipulación y comunicación del robot con una interfaz humano-máquina realizada sobre la plataforma LabWindows de National Instruments (NI).
Por otro lado existe un GAL L16V8 donde está programada la rutina para mandar al robot a su posición “cero” (
(
x,y,z) (
= 0,0,−150)
mm con la utilización de los 6 sensores ópticos que determinan la llegada de cada brazo a la posición deseada. Esta rutina inicia cuando se pulsa un botón que se encuentra en el circuito.Puesto que se ha desarrollado una interfaz, se utiliza una conexión RS232 para interactuar entre el microcontrolador y una computadora personal. En la siguiente sección se describen las subrutinas programadas, el algoritmo de programación, los protocolos entre el microcontrolador y la computadora, y el microcontrolador y los LM629.
Figura 3.6.Esquemático general de la electrónica, comunicación y control del manipulador Delta.
M 3 M 2 IHM Microcontrolador ATMEL 89C51 Filtro PID LM 629 Filtro PID LM 629 Filtro PID LM 629 Comunicación serial Puente H LMD 18200 Puente H LMD 18200 Puente H LMD 18200 M 1 GAL L16V8
3.4.
Comunicación
Esta área es la que lleva a cabo la comunicación entre los filtros PID LM 629 y el microcontrolador y de este con la computadora a través de una Interfaz Humano-Máquina. (IHM) En este sistema, el microcontrolador es en realidad el que lleva a cabo el control general del robot. Es decir, en él se encuentran programadas todas las rutinas que permitan al robot moverse. La IHM es solamente para mostrar la recepción de información generada por el microcontrolador y para establecer los puntos articulares de referencia.
3.4.1.
Microcontrolador
Como ya se indicó, el microcontrolador utilizado es el ATMEL 89C51. En la Figura 3.7 puede observarse el algoritmo de programación. Se pueden identificar las siguientes rutinas programadas:
Recepción de la IHM. En esta subrutina se reciben los paquetes de datos enviados desde la IHM. Una vez recibidos se valida la información y en caso se ser válida se procede a identificar si los datos son para actualizar posiciones o parámetros de los LM629.
Transmisión a la IHM. Su función es enviar las posiciones actuales de las articulaciones en cada periodo de muestreo.
Escritura a PID’s. En esta subrutina se actualizan las posiciones de los integrados LM629.
Lectura de posición. Desde esta subrutina se obtienen las posiciones actuales de las articulaciones desde los LM629 en forma de cuentas. Estas cuentas son procesadas y enviadas a la IHM en la subrutina de Transmisión.
Inicialización de sistema. Esa subrutina es una de las más importantes. En ella se configura al microcontrolador (inicializar sus registros, su modo serial, habilitar las interrupciones, etc.) Además, configura los parámetros predefinidos de los LM629 (define posición inicial como el cero, límite de velocidad igual a 3200rpm, el límite de aceleración igual 507 rps2).
Rutina de cero de máquina. Esta subrutina coloca los pid’s en modo velocidad. Es decir, manda la instrucción a los LM629 para mover las articulaciones hacia arriba a una velocidad definida hasta que la GAL envía al microcontrolador la señal que las articulaciones ya llegaron a su posición origen.
Los datos que son enviados o recibidos por el microcontrolador hacia o desde la IHM tienen una estructura que puede variar en tamaño según sea el caso. En el caso de recibir o enviar posiciones el paquete es de 8 bytes y la estructura en hexadecimal es la siguiente:
0F - Lo3 - Hi3 - Lo2 - Hi2 - Lo1 - Hi1 - AA
donde el primer byte es la identificación del paquete. Los siguientes 5 bytes son la parte alta y baja de las posiciones de cada actuador convertidas en cuentas de encoder. Es decir, las posiciones se envían en 2 bytes. El último byte indica el fin del paquete.
Figura 3.7. Algoritmo de programación dentro del microcontrolador ATMEL 89C51
Para el caso de parámetros de PID el paquete es de 20 bytes donde el primer byte es de identificación y los siguientes 18 son la parte alta y baja de los tres parámetros del controlador para cada LM629. La estructura se muestra a continuación:
0F - Kd3lo - Kd3Hi - Ki3Lo - Ki3Hi - Kp3Lo - Kp3Hi - Kd2lo - Kd2Hi - Ki2Lo - Ki2Hi - Kp2Lo - Kp2Hi - Kd1lo - Kd1Hi - Ki1Lo - Ki1Hi - Kp1Lo - Kp1Hi - BB Inicio Inicializar Sistema
Espera a recibir datos
¿Los datos recibidos son parámetros?
¿Los datos recibidos son posiciones?
Escribir parámetros a los tres PID’s
Escribir posiciones a los tres PID’s
Cero de Robot Leer posiciones de los tres encoders Transmitir posiciones a P.C. No No Si Si
3.4.2.
Interfaz Humano-Máquina
Para la interacción con el robot se diseñó una interfaz sobre la plataforma LabWindows (ver Figura 3.8). Esta provee al usuario la capacidad de mover al robot, observar y guardar las trayectorias mediante gráficas, así como de configurar los parámetros y esquemas de control desde una computadora.
Figura 3.8 IHM diseñada para el control del manipulador
La interfaz cuenta con un intervalo de reloj ajustable. En cada intervalo se envían las 3 posiciones deseadas para asegurar la recepción continua de las posiciones actuales. Desde luego, el envío de paquetes hacia el microcontrolador se realiza con la estructura descrita en la sección 3.4.1. Los paquetes enviados al microcontrolador pueden ser posiciones deseadas o parámetros del PID y recibe posición actual de cada articulación.
En la parte central de la interfaz se encuentran distribuidas tres áreas de graficado para cada articulación. En cada una de estas áreas se grafica la referencia y la posición actual de la articulación correspondiente a la gráfica. Además, en la parte superior se encuentran tres paneles (ver Figura 3.9.a) con casillas para modificar la referencia de cada articulación. Es decir, cada articulación puede moverse individuamente. Por otro lado, no sólo se puede modificar la referencia sino los parámetros kp, ki y kd de las tres articulaciones también individualmente. En lo paneles además se despliega el error hasta dos instantes de muestreo atrás.
Desde la parte inferior de la interfaz se encuentran controles (ver Figura 3.9.b) para mover al robot espacialmente. Automáticamente, al introducir una posición espacial, la interfaz envía las referencias a cada articulación para llegar a la posición espacial indicada. Además, se puede obtener la posición espacial actual a partir de las posiciones de cada una de las articulaciones. Para esto, se hizo uso de las librerías para LabWinbdows realizadas en [3].
Por otro lado, la interfaz tiene la capacidad para archivar y guardar datos (ver Figura 3.9.c) en un archivo de Excel. En este archivo se almacena la referencia, la posición actual, el error y el cambio en el error para cada una de las tres articulaciones. Además, crea tres gráficas para la referencia y la posición de cada articulación. También desde la interfaz se puede observar los paquetes enviados y recibidos al presionar el botón de “ver comunicación”.
En la parte derecha de la interfaz se encuentran los elementos para la sintonía y la selección de la estrategia del control (ver Figura 3.9.d). Los parámetros de los PID’s se envían al presionar el botón de “Cargar PID’s”. Al accionar el control supevisorio difuso o presionar el botón “Sintonizar CSD” aparece un panel para la sintonía de este (ver Figura 3.11). La IHM permite generar un control difuso para el control de la posición del manipulador Delta a partir de la implementación de las librerías también realizadas por [3].
a)
b)
c)
d)
Figura 3.9. Detalle de la IHM
Por otro lado, para llenar las tres tablas se pueden cargar las funciones de membresía, las tablas de inferencia y los valores de cada singleton desde un archivo en Excel con un formato ya definido (ver Figura 3.12). Esto con el fin de reducir el tiempo en el llenado de la tabla y facilitar la visualización de las funciones de membresía, lo que el panel de sintonía no lo puede dar. Para el manejo de los archivos en Excel, se creó un menú desde el cuál se podrá abrir un archivo, cargar los parámetros (llenado de las tablas) de un archivo existente ó incluso guardar los parámetros a un archivo existente.
Figura 3.12. Formato del archivo de Excel para la sintonía de un controlador difuso supervisorio.
3.5.
Resumen
En este capítulo se ha descrito de manera general el prototipo desarrollado para la implementación de estrategias de control avanzado. La descripción se ha realizado en tres áreas: diseño mecánico, electrónico y sistema de comunicación. En cada una de las secciones se exponen las características de cada una de ellas, adentrándose en la descripción de la planta que será controlada. Lo anterior es importante porque define muchas de las características del control supervisorio difuso implementado.