Departamento de Ingenierı́a de Sistemas y Automática CONTROL PREDICTIVO LINEAL DE PLATAFORMA Autor: D. José Antonio Yanes Melús Tutor: D. Francisco Rodrı́guez Rubio Octubre 2004 A Sandra A mis padres Índice general 1. Introducción 15 1.1. El control automático . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2. El control automático en la industria . . . . . . . . . . . . . . . . . . 16 1.3. Objetivos del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3.1. Desarrollo previo . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4. Organización de la documentación . . . . . . . . . . . . . . . . . . . . 18 2. Equipo utilizado para el desarrollo del proyecto 19 2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2. Aplicaciones Software . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3.1. Pedestal de sensores . . . . . . . . . . . . . . . . . . . . . . . 22 2.3.2. Servo amplificador . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.3. Codificadores de la posición del eje de la carga . . . . . . . . . 24 5 6 ÍNDICE GENERAL 2.3.4. Motor de continua sin escobillas . . . . . . . . . . . . . . . . . 25 2.3.5. Ordenador personal de sobremesa . . . . . . . . . . . . . . . . 29 2.3.6. Tarjetas controladoras dSPACE . . . . . . . . . . . . . . . . . 29 3. Control digital 31 3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2. Modelo discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3. Tiempos discretos y Valores discretos . . . . . . . . . . . . . . . . . . 33 4. Ecuaciones dinámicas del conjunto motor-carga 35 4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.2. Función de transferencia de un motor de corriente continua . . . . . . 36 4.3. Función de transferencia discreta . . . . . . . . . . . . . . . . . . . . 38 4.3.1. La transformada Z . . . . . . . . . . . . . . . . . . . . . . . . 38 4.3.2. Transformada Z del doble integrador para la posición, y el integrador para la velocidad . . . . . . . . . . . . . . . . . . . 39 4.3.3. Transformada Z del modelo viscoso (integrador + polo) . . . . 39 5. Modelado de la fricción 41 5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2. Modelo utilizado en el presente proyecto . . . . . . . . . . . . . . . . 42 5.2.1. Modelo simple de fricción . . . . . . . . . . . . . . . . . . . . 42 5.2.2. Consideraciones sobre el modelo . . . . . . . . . . . . . . . . . 43 ÍNDICE GENERAL 7 6. Identificación 45 6.1. Identificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6.1.1. El modelo utilizado . . . . . . . . . . . . . . . . . . . . . . . . 46 6.2. Experimentos de identificación . . . . . . . . . . . . . . . . . . . . . . 48 6.2.1. Obtención de la fricción viscosa . . . . . . . . . . . . . . . . . 48 6.2.2. Obtención de la fricción de coulomb . . . . . . . . . . . . . . . 48 6.2.3. Obtención de la inercia . . . . . . . . . . . . . . . . . . . . . . 49 6.2.4. Obtención de la fricción estática . . . . . . . . . . . . . . . . . 52 6.2.5. Valores finales del modelo . . . . . . . . . . . . . . . . . . . . 56 7. Control Predictivo Lineal 59 7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 7.1.1. El Control Predictivo Basado en Modelo . . . . . . . . . . . . 59 7.1.2. Métodos de resolución . . . . . . . . . . . . . . . . . . . . . . 60 7.1.3. Las restricciones . . . . . . . . . . . . . . . . . . . . . . . . . 60 7.1.4. Modelos de predicción . . . . . . . . . . . . . . . . . . . . . . 61 7.1.5. La ley de control . . . . . . . . . . . . . . . . . . . . . . . . . 62 7.2. Ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 7.2.1. El controlador GPC . . . . . . . . . . . . . . . . . . . . . . . 62 7.2.2. El controlador PFC . . . . . . . . . . . . . . . . . . . . . . . . 63 7.2.3. Ecuaciones del PFC-R . . . . . . . . . . . . . . . . . . . . . . 64 8 ÍNDICE GENERAL 8. Resultado de los experimentos sobre la plataforma 73 8.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 8.2. Controladores ensayados . . . . . . . . . . . . . . . . . . . . . . . . . 74 8.3. Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 8.3.1. Experimento de seguimiento de escalones . . . . . . . . . . . . 79 8.3.2. Experimento de seguimiento de señales senoidales . . . . . . . 83 8.3.3. Experimento de seguimiento de triángulos . . . . . . . . . . . 87 8.3.4. Experimento de sensibilidad al ruido . . . . . . . . . . . . . . 91 8.3.5. Experimento de saturación . . . . . . . . . . . . . . . . . . . . 95 8.4. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9. Conclusiones 99 9.1. Comparación de controladores . . . . . . . . . . . . . . . . . . . . . . 99 9.2. Valoración del controlador PFC-R . . . . . . . . . . . . . . . . . . . . 101 9.3. Desarrollos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Índice de figuras 2.1. Pedestal de sensores. . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2. Comunicación PC ⇔ Plataforma. . . . . . . . . . . . . . . . . . . . . 21 2.3. Motor de continua sin escobillas. . . . . . . . . . . . . . . . . . . . . . 22 2.4. Modelo 3D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.5. Servo amplificador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.6. Diagrama de transmisión electro-mecánica. . . . . . . . . . . . . . . . 27 2.7. Representación del motor utilizado. . . . . . . . . . . . . . . . . . . . 28 2.8. Puesto de trabajo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1. Resolución del encoder incremental de la carga . . . . . . . . . . . . . 34 5.1. Caracterı́stica estática para el modelo de fricción. . . . . . . . . . . . 43 6.1. Modelo continuo del sistema . . . . . . . . . . . . . . . . . . . . . . . 46 6.2. Modelo discreto del sistema . . . . . . . . . . . . . . . . . . . . . . . 47 6.3. Valores de la fricción viscosa y de coulomb . . . . . . . . . . . . . . . 50 6.4. Selección de puntos para obtener la inercia . . . . . . . . . . . . . . . 51 9 10 ÍNDICE DE FIGURAS 6.5. Variación de la desviación tı́pica de la inercia al variar la fricción viscosa y la fricción de coulomb . . . . . . . . . . . . . . . . . . . . . 51 6.6. Experimento de fricción estática positiva . . . . . . . . . . . . . . . . 53 6.7. Experimento de fricción estática negativa . . . . . . . . . . . . . . . . 53 6.8. Experimento dinámico de fricción estática positiva . . . . . . . . . . . 54 6.9. Experimento dinámico de fricción estática negativa . . . . . . . . . . 55 6.10. Diagrama de bloques del modelo discreto con compensación de la fricción de coulomb en realimentación . . . . . . . . . . . . . . . . . . 57 6.11. Diagrama de bloques del modelo discreto con compensación de la fricción de coulomb en prealimentación . . . . . . . . . . . . . . . . . 57 7.1. Actuaciones con polinomios de primer grado vinculados a la acción anterior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 7.2. Actuaciones con polinomios de primer grado sin vinculación a la acción anterior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3. Esquema de control del controlador PFC-R . . . . . . . . . . . . . . . 71 8.1. Esquema de control PID . . . . . . . . . . . . . . . . . . . . . . . . . 75 8.2. Esquema de control PFC . . . . . . . . . . . . . . . . . . . . . . . . . 76 8.3. Seguimiento de escalones . . . . . . . . . . . . . . . . . . . . . . . . . 79 8.4. Tensión aplicada en el seguimiento de escalones . . . . . . . . . . . . 80 8.5. Consumo acumulado en el seguimiento de escalones . . . . . . . . . . 81 8.6. Valores frecuenciales de la señal de control (medidos en dB) . . . . . 82 8.7. Seguimiento de referencia senoidal . . . . . . . . . . . . . . . . . . . . 83 8.8. Tensión aplicada en el seguimiento de senoides . . . . . . . . . . . . . 84 ÍNDICE DE FIGURAS 11 8.9. Consumo acumulado en el seguimiento de senoides . . . . . . . . . . . 85 8.10. Valores frecuenciales de la señal de control (medidos en dB) . . . . . 86 8.11. Seguimiento de rampas . . . . . . . . . . . . . . . . . . . . . . . . . . 87 8.12. Tensión aplicada en el seguimiento de rampas . . . . . . . . . . . . . 88 8.13. Consumo acumulado en el seguimiento de rampas . . . . . . . . . . . 89 8.14. Valores frecuenciales de la señal de control (medidos en dB) . . . . . 90 8.15. Referencia constante . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.16. Tensión aplicada para referencia constante . . . . . . . . . . . . . . . 92 8.17. Consumo acumulado para referencia constante . . . . . . . . . . . . . 93 8.18. Valores frecuenciales de la señal de control (medidos en dB) . . . . . 94 8.19. Tensión aplicada para el seguimiento de escalones de gran amplitud . 95 8.20. Comparación del error cuadrático medio, de los controladores para diferentes referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 8.21. Comparación de la tensión máxima aplicada, de los controladores para diferentes referencias . . . . . . . . . . . . . . . . . . . . . . . . 97 8.22. Comparación del consumo, de los controladores para diferentes referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 8.23. Comparación de la componente de alta frecuencia de la señal de control, de los controladores para diferentes referencias . . . . . . . . . . 98 12 ÍNDICE DE FIGURAS Índice de cuadros 2.1. Datos técnicos del pedestal de sensores . . . . . . . . . . . . . . . . . 20 2.2. Especificaciones del servo amplificador . . . . . . . . . . . . . . . . . 23 2.3. Datos del motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4. Coeficientes de reducción . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.1. Obtención de la fricción viscosa. Velocidad en o /s, Tensión en V, σ2 en Vs/o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.2. Valores medios de la fricción viscosa y de coulomb . . . . . . . . . . . 49 6.3. Valores medios de la fricción viscosa y de coulomb . . . . . . . . . . . 52 6.4. Valores medios de la fricción estática . . . . . . . . . . . . . . . . . . 52 6.5. Valores medios de la fricción estática . . . . . . . . . . . . . . . . . . 55 6.6. Datos del fabricante y datos identificados . . . . . . . . . . . . . . . . 56 6.7. Valores del modelo discreto . . . . . . . . . . . . . . . . . . . . . . . 56 8.1. Parámetros del controlador PID . . . . . . . . . . . . . . . . . . . . . 75 8.2. Parámetros del controlador PID rápido . . . . . . . . . . . . . . . . . 75 8.3. Parámetros del controlador PFC-R . . . . . . . . . . . . . . . . . . . 77 13 14 ÍNDICE DE CUADROS 8.4. Parámetros del controlador PFC-NR . . . . . . . . . . . . . . . . . . 78 9.1. Comparación de controladores . . . . . . . . . . . . . . . . . . . . . . 100 Capı́tulo 1 Introducción 1.1. El control automático El control automático es el mantenimiento de un valor deseado dentro de una cantidad o condición, midiendo el valor existente, comparándolo con el valor deseado, y utilizando la diferencia para proceder a reducirla. En consecuencia, el control automático exige un lazo cerrado de acción y reacción que funcione sin intervención humana. El elemento más importante de cualquier sistema de control automático es lazo de control realimentado básico. El concepto de la realimentación no es nuevo, el primer lazo de realimentación fue usado en 1774 por James Watt para el control de la velocidad de cualquier máquina de vapor. Posteriormente, J.C. Maxwell proporcionó el primer análisis matemático riguroso de un sistema de control realimentado en 1868. A pesar de conocerse el concepto del funcionamiento, los lazos se desarrollaron lentamente hasta que los primeros sistemas de transmisión neumática comenzaron a volverse comunes en los años 1940, los años pasados han visto un extenso estudio y desarrollo en la teorı́a y aplicación de los lazos realimentados de control. En la actualidad los lazos de control son un elemento esencial para la manufactura económica y próspera de virtualmente cualquier producto, desde el acero hasta los productos alimenticios. 15 16 Capı́tulo 1. Introducción 1.2. El control automático en la industria El control automático de procesos es parte del progreso industrial desarrollado durante lo que ahora se conoce como la segunda revolución industrial. El uso intensivo de la ciencia de control automático es producto de una evolución que es consecuencia del uso difundido de las técnicas de medición y control. Su estudio intensivo ha contribuido al reconocimiento universal de sus ventajas. El control automático de procesos se usa fundamentalmente porque reduce el costo de los procesos industriales, lo que compensa con creces la inversión en equipo de control. Además hay muchas ganancias intangibles, como por ejemplo la eliminación de mano de obra pasiva, la cual provoca una demanda equivalente de trabajo especializado. La eliminación de errores es otra contribución positiva del uso del control automático. El principio del control automático o sea el empleo de una realimentación o medición para accionar un mecanismo de control, es muy simple. El mismo principio del control automático se usa en diversos campos, como control de procesos quı́micos y del petróleo, control de hornos en la fabricación del acero, control de máquinas herramientas, y en el control y trayectoria de un proyectil. El uso de las computadoras analógicas y digitales ha posibilitado la aplicación de ideas de control automático a sistemas fı́sicos que hace apenas pocos años eran imposibles de analizar o controlar. Resumiendo: La Ingenierı́a de Control está presente en virtualmente todos los sistemas modernos de ingenierı́a. El control es una tecnologı́a a menudo ((invisible)), ya que el éxito mismo de su aplicación la vuelve indetectable. El control es la clave tecnológica para lograr: • productos de mayor calidad • minimización de desperdicios • protección del medio ambiente • mayor rendimiento de la capacidad instalada • mayores márgenes de seguridad 1.3. Objetivos del proyecto 17 El control es multidisciplinario (incluye sensores, actuadores, comunicaciones, cómputo, algoritmos, etc.) El diseño de control tiene como meta lograr un nivel de rendimiento deseado frente a perturbaciones e incertidumbre. 1.3. 1.3.1. Objetivos del proyecto Desarrollo previo El presente proyecto tiene su origen en otro anterior [8], de diseño e implementación del control de una plataforma giroestabilizada de dos grados de libertad. Esta plataforma se encuentra en el Laboratorio del Departamento de Ingenierı́a de Sistemas y Automática. Dicho proyecto: Desarrolló el hardware y software necesario para la adquisición y monitorización de datos que permiten el control de la plataforma. Desarrolló el software para la implementación informática de las técnicas de control. Modeló el sistema dinámico que constituye la plataforma incluyendo el fenómeno de la fricción. Estableció la base que permite investigar nuevos controladores en la plataforma real, ası́ como obtener nuevos modelos de fricción. 1.3.2. Objetivos Teniendo como base este anterior proyecto, se han fijado los objetivos siguientes: 1. Implementación de una nueva técnica de control en la plataforma ⇒ Control Predictivo Lineal Basado en Polinomios con Restricciones en el Control. 2. Comparación con otros controladores. 3. Mejora del seguimiento de trayectorias en posición y velocidad, para cualquier tipo de referencia. 18 Capı́tulo 1. Introducción 4. Reducción del ruido presente en los motores. 5. Reducción del consumo eléctrico. 1.4. Organización de la documentación La documentación del proyecto se divide en los siguientes documentos: Memoria descriptiva. La presente memoria resume tanto los planteamientos teóricos adoptados, como los resultados prácticos obtenidos durante el desarrollo del proyecto. En el capı́tulo 2 se describe el equipo utilizado para el desarrollo del proyecto. En el capı́tulo 3 se trata el tema de la discretización, como concepto a tener en cuenta para el control digital. En el capı́tulo 4 se expresan las ecuaciones que rigen el movimiento del pedestal, y se expresa la correspondencia en el dominio discreto del tiempo, mediante la transformada Z. En el capı́tulo 5 se expone el modelo de fricción empleado en el control del pedestal. En el capı́tulo 6 se muestran los métodos y experimentos realizados, para lograr una identificación del modelo de fricción. En el capı́tulo 7 se exponen las ecuaciones del controlador predictivo basado en polinomios con restricciones en el control. En el capı́tulo 8 se muestran los experimentos más representativos realizados sobre la plataforma. Y finalmente, en el capı́tulo 9 se exponen las conclusiones. Apéndice. Contiene los siguientes apartados: 1. Códigos fuente. Consiste en el listado de códigos fuente de las aplicaciones software desarrolladas. 2. Gráficas de los múltiples experimentos realizados sobre la plataforma. 3. Diagramas de bloques realizados utilizando SIMULINK. CD-ROM. En este soporte se incluyen: • Los numerosos ficheros de datos procedentes de los ensayos de identificación y control. • Las aplicaciones desarrolladas para la manipulación de los datos obtenidos. • Figuras y fotos relacionadas con la plataforma. • Los documentos anteriormente mencionados: Memoria descriptiva y Apéndice. Capı́tulo 2 Equipo utilizado para el desarrollo del proyecto 2.1. Introducción La pieza fundamental alrededor de la cual gira todo el desarrollo del proyecto es el pedestal de sensores que puede observarse en la figura 2.1 ubicado en los laboratorios del Departamento de Ingenierı́a de Sistemas y Automática de la Escuela Superior de Ingenieros de Sevilla, y cuyas caracterı́sticas fundamentales quedan reflejadas en el cuadro 2.1. Figura 2.1: Pedestal de sensores. 19 20 Capı́tulo 2. Equipo utilizado para el desarrollo del proyecto Cobertura Angular Velocidad Máxima Carga Máxima Frenos Tipo de motor Sensor angular Control del motor Orientación 0o a 360o Elevación -70o a 40o Orientación 40o /s Elevación 20o /s 30 Kg. balanceados Eléctricos en ambos ejes de continua, sin escobillas encoder Señal ±10Vdc Cuadro 2.1: Datos técnicos del pedestal de sensores . La planta consiste en el pedestal con sus sensores y actuadores. El sistema incluye servomotores de corriente continua y encoders para la realimentación de la posición. El par de rotación del rotor lo proporciona un motor de corriente continua de imán permanente, cuya posición angular es medida por un encoder óptico de 2000 pulsos por revolución. El eje del motor se acopla al eje de la carga mediante una reductora y el eje de la carga va equipado con otro encoder de 10000 impulsos por revolución con el fin de medir la posición relativa de los dos ejes y la medida de holguras en los engranajes. Para medida y control se utiliza un periférico de entrada/salida, que es una interfaz hardware entre la planta y las tarjetas de control dSP ACE basadas en procesadores digitales de señal (DSP). La señal de posición generada por los encoders se recibe en el periférico de E/S y se dirige a las tarjetas dSPACE donde un algoritmo de control puede ser implementado por el usuario. La señal de control es redirigida desde las tarjetas dSPACE al periférico de E/S y de éste a los actuadores. Un ordenador de sobremesa aloja las dos tarjetas dSPACE (una para cada eje del movimiento) y direcciona el flujo de información y los comandos de control mediante un programa software especialmente diseñado para ello (ver figura 2.2). 2.2. Aplicaciones Software Para la realización de este proyecto se utilizaron numerosas aplicaciones software. Centrándonos en aquellas consideradas por el autor como las principales, se tiene: Matlab . Se utiliza la versión 5.3 (actualmente hay versiones más recientes) que incluye la herramienta de simulación Simulink v3.0 2.2. Aplicaciones Software 21 Figura 2.2: Comunicación PC ⇔ Plataforma. Para la implementación de los algoritmos de control en las tarjetas controladoras, se usa la toolBox Real Time WorkShop junto con la librerı́a Real Time Interface Library proporcionada por la firma dSPACE . Junto con las tarjetas controladoras se proporciona un software para el intercambio y monitorización de datos en tiempo real entre los programas que se ejecutan en las tarjetas controladoras y el ordenador que las aloja. Software dSPACE . Engloba varios programas. Se utiliza la aplicación Controldesk que permite la visualización, modificación y adquisición de datos en tiempo real. Además incorpora una interfaz con Matlab que permite, mediante el Real time Workshop (RTW) y Real Time Interface Library (RTI), la compilación de modelos realizados en Simulink y su posterior carga en las tarjetas dSPACE . 22 2.3. 2.3.1. Capı́tulo 2. Equipo utilizado para el desarrollo del proyecto Hardware Pedestal de sensores Dotado de dos grados de libertad, uno en orientación y el otro en elevación (ver figura 2.4). El movimiento es generado por dos motores de corriente continua de imán permanente, sin escobillas (ver figura 2.3) dispuestos con encoders ópticos, con una velocidad nominal de giro de ωn =2000 rpm y un par nominal Tn =0.3Nm, controlados mediante respectivos servo amplificadores. Figura 2.3: Motor de continua sin escobillas. Figura 2.4: Modelo 3D. 2.3. Hardware 2.3.2. 23 Servo amplificador Para cada eje se dispone de un servo amplificador PWM (Pulse Width Modulation) BE15A8 de Advanced Motion Controls [2] (ver figura 2.5) que consta de tres entradas de sensores Hall. Figura 2.5: Servo amplificador. Las caracterı́sticas más destacadas se observan en el cuadro 2.2. Especificaciones Servo amplificador Alimentación DC 20-80V Corriente de pico ±15A Máxima corriente continua ±7,5A Potencia disipada a corriente continua 30W Cuadro 2.2: Especificaciones del servo amplificador . Los servo amplificadores pueden funcionar en modo corriente o en modo velocidad. En modo corriente, el servo amplificador cierra un bucle de corriente regulando la tensión aplicada al motor mediante PWM de forma que la consigna es la intensidad que se hace circular considerada como un porcentaje de la corriente máxima 24 Capı́tulo 2. Equipo utilizado para el desarrollo del proyecto admisible de cada motor. En modo velocidad el servo amplificador cierra un bucle de velocidad sobre el bucle de corriente, de modo que la consigna se traduce en el porcentaje de velocidad máxima de la configurada para ese motor. Se trabajará en la configuración modo corriente [8]. 2.3.3. Codificadores de la posición del eje de la carga Para controlar el movimiento de cada uno de los ejes es necesario conocer en todo instante tanto su posición como su velocidad. Por tanto, es necesario incorporar al sistema de accionamiento de cada eje un dispositivo que nos dé una medida de la posición de dicho eje. La precisión del posicionamiento no sólo dependerá de la resolución del sensor de posición, sino también de efectos no considerados como flexión de la estructura o juegos angulares introducidos por elementos reductores. El encoder incremental está formado por tres elementos: Un disco con franjas transparentes y opacas alternadas, dispuestas en sentido radial. Un emisor de luz o fotocélula colocado en una cara del disco. Un receptor de luz en la cara opuesta del emisor. Al girar el disco, el haz de luz del emisor resulta interceptado por las franjas opacas y las franjas transparentes lo dejarán pasar, de modo que el receptor recibe pulsos de luz. La señal de salida del receptor consiste en trenes de impulsos, cuya frecuencia es proporcional a la velocidad de giro del disco, y el número de pulsos, proporcional al ángulo girado por el disco. Con objeto de conocer la dirección del disco, los encoders utilizan bien dos conjuntos emisor/receptor desfasados 90o entre sı́, bien un disco con dos pistas de franjas desfasadas 90o una con respecto a la otra. En ambos casos se obtienen como salida dos señales en forma de trenes de pulsos y desfasadas 90o . Dependiendo de cuál de las dos señales de salida esté en avance de fase, se determina el sentido de la rotación del disco. Las dos señales del encoder se conectan a un contador, que se incrementará al detectar el giro en una dirección y decrementará en la dirección opuesta. El valor 2.3. Hardware 25 del contador indica el ángulo girado respecto a una posición de referencia, valor cero del contador. Los encoders incrementales no determinan la posición absoluta de un eje, sino su posición relativa a la posición de origen. Por tanto, cada vez que se alimenta de nuevo el sensor es necesario realizar una secuencia de búsqueda de ceros. La resolución de los encoders incrementales es función del número de franjas del disco, y por tanto, está limitado por el tamaño de los sensores. Para el proyecto, en cada eje se dispone un codificador de posición incremental, para medir la posición del eje de la carga. Estos encoders tienen una resolución de 10000 impulsos por vuelta [5] y están alimentados a 5Vdc. 2.3.4. Motor de continua sin escobillas En robótica, al igual que en otros campos en los que se precisan accionamientos de velocidad variable, los motores de corriente continua han sido los más utilizados hasta hace algunos años, debido a que resultaba más sencillo controlarlos en velocidad que los de corriente alterna. El motor de corriente continua presenta el inconveniente del obligado mantenimiento de las escobillas. Por otra parte, no es posible mantener el par con el rotor parado más de unos segundos, debido a los calentamientos que se producen en el colector. Para evitar estos problemas se han desarrollado los motores sin escobilla. En éstos, los imanes de excitación se sitúan en el rotor y el devanado de inducido en el estator, con lo que es posible convertir la corriente mediante interruptores estáticos, que reciben la señal de conmutación a través de un detector de posición del rotor. Para el proyecto se dispone de dos motores de continua sin escobillas, que incorporan un freno eléctrico que se libera alimentándolo con una tensión continua de 24V, lo que permite bloquear los ejes del movimiento en cualquier posición. La diferencia más significativa entre el servo y los sistemas de control de movimiento paso a paso es el empleo de realimentación mediante encoder en los sistemas controlados por servo que relata la posición real del eje de motor al regulador. Si hay cualquier presencia de errores, el servo puede tomar la acción correctiva para asegurar el motor alcanza la posición apropiada. Los reguladores paso a paso sólo pueden emitir una orden de movimiento y esperar que el motor sea capaz de 26 Capı́tulo 2. Equipo utilizado para el desarrollo del proyecto seguirla. Esta situación es análoga al dar a alguien una orden con sus ojos cerrados. La presencia de realimentación en un sistema regulado por servo determina varias ventajas inmediatas: no hay pulsos perdidos, es decir los sistemas con servo conocen exactamente donde se encuentra el motor en cualquier momento, todas las órdenes de paso son ejecutadas. Los motores que se utilizan en este proyecto están dispuestos dentro del pedestal de sensores, el de orientación en posición vertical, y el de elevación en posición horizontal. Estos motores disponen de un encoder óptico absoluto. Este tipo de encoder permite conocer la posición absoluta del eje. Se diferencia del encoder incremental en que el disco cuenta con varias pistas concéntricas, con las franjas distribuidas siguiendo un código. El número de emisores/receptores es igual al número de pistas del disco. Las señales de salida representan, en forma de código, el ángulo del eje de giro del disco. La resolución de un encoder absoluto se expresa como 2n , siendo n el número de pistas del disco. Se pueden usar distintos tipos de codificación para el disco; los códigos más utilizados son el binario, GRAY, BCD. El código binario presenta el inconveniente de que en algunos casos el avance de un paso al siguiente implica el cambio de estado de dos o más bits. Este problema se resuelve utilizando el código GRAY, cuya caracterı́stica es que de un paso al siguiente sólo cambia el estado de un dı́gito. A partir de los catálogos de los motores utilizados, de Rockwell Automation [7] se presentan las caracterı́sticas que se resumen en el cuadro 2.3. Parámetro Valor KT 0.139 Nm/A KE 14.6 V/kRPM Jm 0.09617 Kgm2 Ra 3.0Ω La 7.8 mH Alimentación frenos 24Vdc Cuadro 2.3: Datos del motor . Se dispone en cada eje de una reductora, siendo en el eje de orientación de 80:1 y en el de elevación de 160:1. Además, la correa de transmisión tienen una relación 2.3. Hardware 27 de 5:1 (ver figura 2.6), por lo que la reducción efectiva serán las que se muestran en el cuadro 2.4. Figura 2.6: Diagrama de transmisión electro-mecánica. Ası́ se obtiene: Orientación : Elevación : 1 ωn = 2000rpm · 400 = 5rpm Tn = 0,34 · 400 = 120N m 1 ωn = 2000rpm · 800 = 2,5rpm Tn = 0,34 · 800 = 240N m Eje Reductora Orientación 400:1 Elevación 800:1 Cuadro 2.4: Coeficientes de reducción . Los motores vienen equipados con codificadores de posición ópticos con una precisión de 2000 pulsos por vuelta y disponen de dos conectores, uno mediante el 28 Capı́tulo 2. Equipo utilizado para el desarrollo del proyecto que se cablean las señales del motor propiamente dicho y otro que cablea las señales del encoder óptico (ver figura 2.7) Figura 2.7: Representación del motor utilizado. 2.3. Hardware 2.3.5. 29 Ordenador personal de sobremesa Equipado con microprocesador Intel Pentium 4 a 2.8 GHz, 512 MB de memoria RAM y 74.5 GB de disco duro, y sistema operativo Windows 2000. En este ordenador se alojan las tarjetas dSPACE y una tarjeta de red mediante la cual puede comunicarse con otros ordenadores, posibilitando ası́ futuras aplicaciones de control por visión asistido por un ordenador auxiliar. Figura 2.8: Puesto de trabajo. 2.3.6. Tarjetas controladoras dSPACE Son del modelo DS1102 y se encuentran instaladas en dos slots ISA del ordenador personal, y tiene como caracterı́sticas más importantes: especı́ficamente diseñada para desarrollo de controladores multivariables de alta velocidad y simulaciones en tiempo real. basada en el procesador DSP TMS320C31 de Texas Instruments. Reloj de 60MHz 30 Capı́tulo 2. Equipo utilizado para el desarrollo del proyecto interrupciones externas. Memoria RAM de 128K x 32-bit. Entradas analógicas: 2 canales paralelos de 16 bits, con tiempo de conversión de 4µs, 2 canales paralelos de 12 bits, con tiempo de conversión de 1.25µs, ±10V de tensión de entrada. Salidas analógicas: 4 canales paralelos de 12 bits, con tiempo de ajuste de 4µs y ±10V de rango de tensión de salida. Entrada/Salida digital: subsistema programable basado en el DSP a 25MHz TMS320P14 de Texas Instruments, 16 lı́neas de entrada/salida digital, hasta 6 canales de generación PWM,interrupción por el usuario Interfaz del encoder incremental: multiplicación de pulso cuádruple, 2 canales de entradas paralelos para dos lı́neas de fase y una de ı́ndice para cada uno, filtro de ruido y contador de posición de 24 bits [3]. Caracterı́sticas fı́sicas: alimentación a ±5V, 1.5A y ±12V , 100mA. Conector de 62 pines hembra [8] Capı́tulo 3 Control digital 3.1. Introducción El control digital de procesos se enfrenta con un problema muy claramente definido: la discretización. Mientras que el proceso que se desea controlar es un sistema continuo, el controlador digital está discretizado en su propia constitución. Esta discretización obliga a diseñar los controladores con una perspectiva diferente. Un controlador PID (continuo) puede realizarse mediante simples elementos analógicos, mientras que un controlador digital obliga a incluir otros elementos, de acoplamiento y sincronización, que no son propios del control en si mismo, pero que influyen en él y deben ser tenidos en cuenta. Sensores Los sensores se encargan de obtener los datos del proceso. Los encoders aquı́ utilizados introducen ya una primera discretización, ya que por su propia constitución alcanzan una resolución bien definida. 31 32 Capı́tulo 3. Control digital Actuadores El actuador se encarga de transmitir el par, indicado por la señal de control, al proceso. Un servoamplificador se encarga de realizar una correcta transmisión de par mediante una modulación por anchura de pulsos. La constante de tiempo eléctrica del actuador, es despreciable frente a la constante de tiempo mecánica del sistema. El computador Todas las señales de entrada y salida de un computador son digitales, necesitando convertidores digital-analógico y analógico-digital, para operar con señales analógicas. 3.2. Modelo discreto 3.2. 33 Modelo discreto Las señales con las que se trabaja son digitales, y además de estar discretizadas en el tiempo, los valores que pueden adquirir están discretizados. Ası́, en cada perı́odo de muestreo se recibe una señal del encoder que determina donde se encuentra situada la carga. Esta señal es tratada informáticamente para determinar la mejor actuación. Y antes del siguiente perı́odo de muestreo se envı́a la señal de actuación, para volver a repetir el proceso. Desde el punto de vista de la planta a controlar, todo es un sistema continuo. Se suministra un par, y la planta responde girando un ángulo. Desde el punto de vista del controlador digital, la planta se comporta como un sistema en tiempos discretos, y por tanto el modelo de la planta debe realizarse atendiendo a esta discretización. De esta forma, se usará la ’Transformada en z’ para trabajar con un modelo del sistema en tiempos discretos. 3.3. Tiempos discretos y Valores discretos Una situación muy remarcada de discretización la presenta la señal del encoder. Esta señal es obtenida periódicamente y, por tanto, está discretizada en el tiempo. Pero además, la señal del encoder que informa sobre la posición de la carga, sólo puede adquirir ciertos valores dados por su resolución. El encoder de la carga tiene una resolución de 10.000 pulsos por vuelta. Y además cuenta con dos discos desfasados 90o para poder determinar el sentido de giro, ası́ se obtienen 4 estados posibles (los 4 cuadrantes de 90o ) por cada pulso. 360 [o /vuelta] 1 = 0,009 [o /pulso] 4 10000 [pulsos/vuelta] (3.1) 34 Capı́tulo 3. Control digital Figura 3.1: Resolución del encoder incremental de la carga Capı́tulo 4 Ecuaciones dinámicas del conjunto motor-carga 4.1. Introducción Los motores sin escobillas de corriente continua (”DC brushless motors”) son similares en aplicación y funcionamiento a los motores de corriente continua con escobillas (”brush-type DC motors”). Difieren en la construcción y en el método de conmutación. Un motor sin escobillas tiene un estator ensamblado con un rotor con imán permanente, y con dispositivos internos y externos para medir la posición. La combinación de un rotor interno de imán permanente y bobinas externas ofrece las ventajas de un menor inercia del rotor y una disipación del calor más eficiente que los motores con escobillas. Además, la eliminación de escobillas reduce el coste de mantenimiento y el ruido, e incrementa la vida y fiabilidad del motor. 35 36 4.2. Capı́tulo 4. Ecuaciones dinámicas del conjunto motor-carga Función de transferencia de un motor de corriente continua El motor convierte energı́a eléctrica en energı́a mecánica de rotación. La función de transferencia del motor de corriente continua se obtendrá por aproximación lineal despreciando los efectos de segundo orden tales como la histéresis. Se denomina Ie y Ue a la intensidad y tensión de excitación respectivamente. El flujo magnético φe es proporcional a la intensidad de excitación: φ(t) = ke ie (t) (4.1) El par desarrollado por el motor se puede relaciona con la corriente de armadura mediante la expresión Tm (t) = k1 φ(t)ia (t) = k1 ke ie (t)ia (t) (4.2) Aplicando la transformada de Laplace: Tm (s) = (k1 ke Ie (s)) Ia (s) = km Ia (s) | {z } (4.3) km siendo km la constante del motor. Del circuito de excitación se puede obtener una relación entre la tensión de excitación y la corriente de excitación en la forma: Ue (t) = Re ie (t) + Le die (t) dt (4.4) que transformando al dominio de Laplace queda como Ue (s) = (Re + sLe )ie (s) (4.5) El par motor será igual al par desarrollado por la carga más un par de perturbaciones Tm (s) = TL (s) + Td (s) (4.6) El par desarrollado por la carga se puede expresar como: TL (s) = Js2 θ(s) + Bsθ(s) (4.7) 4.2. Función de transferencia de un motor de corriente continua 37 Si se considera nulo el par de perturbaciones Td , la función de transferencia de la combinación motor-carga queda: k m θ(s) km JLe = = Ue (s) s(Js + B)(Le s + Re ) s(s + BJ )(s + Re ) Le (4.8) El motor de corriente continua controlado por armadura usa la corriente ia (t), denominada corriente de armadura, como variable de control. La tensión de control de la armadura puede considerarse una fuente de esfuerzo siendo la corriente que circula a través de la fuente de alimentación y del devanado de la armadura es la misma. El acoplamiento de los segmentos eléctrico y mecánico, hace que la energı́a eléctrica se transforme en energı́a mecánica a través de un transductor o elemento giratorio. Cuando se establece una corriente de campo constante, el par motor se expresa en la forma que se vio en la ecuación (4.8), en la que km es función de la permeabilidad magnética del material. La corriente de armadura se relaciona con la tensión de alimentación en la forma: Ua (s) = (Ra + sLa )Ia (s) + Ub (s) (4.9) siendo Ub la fuerza contraelectromotriz, que es proporcional a la velocidad del motor (Ub (s) = kb ω(s)) Despejando Ia (s) en la ecuación (4.9) se obtiene: Ia (s) = Ua (s) − kb ω(s) (Ra + sLa ) (4.10) El par de la carga es el expresado en la ecuación (4.7), con lo que la función de transferencia es: G(s) = θ(s) km = = Ua (s) s[(Ra + La s)(Js + B) + kb km ] km = 2 s[(JLa s + (JRa + BLa )s + kb km ] Para muchos motores de corriente continua la constante de tiempo τa = despreciable, con lo que quedarı́a: G(s) = θ(s) km = Ua (s) s[Ra (Js + B) + kb km ] (4.11) La Ra es (4.12) Es interesante hacer notar que kb = km , considerando el régimen permanente y el balance de potencia, cuando se desprecia la resistencia del rotor. 38 Capı́tulo 4. Ecuaciones dinámicas del conjunto motor-carga La potencia inyectada al rotor es igual a (kb ω)ia , y la potencia desarrollada en el eje es T ω. En el régimen permanente estas potencias son iguales: T ω = (kb ω)ia T = k m ia (4.13) (4.14) de donde se deduce que km = kb . 4.3. 4.3.1. Función de transferencia discreta La transformada Z Es posible calcular la función de transferencia directamente a partir de la función de transferencia del sistema continuo. Se supone un sistema continuo con una función de transferencia G(s) con un MO0 (Mantenedor de Orden 0). La función de transferencia se determina por la respuesta a una señal dada y es única. Consideremos una entrada escalón unitario. La secuencia u(k) es una secuencia de unos y la señal u(t) es también un escalón. La salida y(t), expresada en transformada de Laplace es Y (s) = G(s) s Si consideramos que la salida y(k) tiene una transformada en Z ⇒ Ỹ (z) = Z(y) = Z(L−1 (Y (s)) para obtener la Función de Transferencia se divide por la Transformada en Z de la entrada, el escalón en este caso: (1 − z −1 )Ỹ (z) Pasos: 1. Antitransformar Y (s) = G(s) s 2. Calcular la Transformada en Z (de una tabla) 3. Multiplicar por (1 − z −1 ) 4.3. Función de transferencia discreta 4.3.2. 39 Transformada Z del doble integrador para la posición, y el integrador para la velocidad El modelo dinámico más simple, que relaciona la tensión aplicada con el ángulo girado, puede representarse por un doble integrador. En ese caso no se consideran efectos de fricción viscosa y la función de transferencia continua queda: KM θ(s) = 2 U a(s) s P osición ⇒ Gp (s) = T 2 (1 + z −1 )z −1 2(1 − z −1 )2 Gp (s) ⇒ (M O0) ⇒ Gp (z −1 ) = KM (4.15) Donde T es el perı́odo de muestreo del sistema. La función de transferencia continua que relaciona la tensión aplicada con la velocidad será un integrador. De esta forma: V elocidad ⇒ Gv (s) = KM ω(s) = U a(s) s Gv (s) ⇒ (M O0) ⇒ Gv (z −1 ) = KM 4.3.3. T z −1 (1 − z −1 ) (4.16) Transformada Z del modelo viscoso (integrador + polo) Considerando la fricción viscosa y haciendo uso de la ecuación obtenida (4.12) en el análisis de un motor de corriente continua, podemos establecer la siguiente relación entre la tensión aplicada y el ángulo girado: P osición ⇒ Gp (s) = θ(s) KM = U a(s) s(TM s + 1) Gp (s) ⇒ (M O0) ⇒ − TT −1 Gp (z ) = KM TM ( TTM − 1 + e M − TT )z −1 + (1 − e − TT 1 − (1 + e M M − TT − ( TTM )e − TT )z −1 + e M z −2 M )z −2 (4.17) 40 Capı́tulo 4. Ecuaciones dinámicas del conjunto motor-carga De la misma manera la función de transferencia para la velocidad, teniendo en cuenta la fricción viscosa, será: V elocidad ⇒ Gv (s) = −1 KM ω(s) = U a(s) TM s + 1 Gv (s) ⇒ (M O0) ⇒ Gv (z ) = KM − TT (1 − e M − TT M 1−e )z −1 z −1 (4.18) Capı́tulo 5 Modelado de la fricción 5.1. Introducción La fricción es un fenómeno terriblemente complicado que surge en el contacto de superficies. Los experimentos indican una dependencia funcional en una variedad enorme de parámetros, incluyendo la velocidad de deslizamiento, la aceleración, la distancia de deslizamiento crı́tica, la carga de temperaturas, normal, la humedad, la preparación superficial,. . . En muchos aplicaciones de la ingenierı́a, el éxito de modelos en la predicción de resultados experimentales se muestra fuertemente sensible al modelo de fricción. Además, una amplia sección de la ingenierı́a y disciplinas de ciencia ha desarrollado métodos interesantes de representar la fricción, con modelos que provienen de las áreas de mecánica fundamentales y la dinámica de sistemas, ası́ como de otras muchas áreas [1]. Además, la utilidad de modelo de fricción y el éxito del sistema el modelo dinámico dependen fuertemente el uno del otro. La fricción presenta gran variedad de obstáculos al control efectivo de máquinas. Los esquemas de compensación deben tratar con la no linealidad inherente de los problemas de fricción. 41 42 5.2. 5.2.1. Capı́tulo 5. Modelado de la fricción Modelo utilizado en el presente proyecto Modelo simple de fricción El modelo más simple de fricción expresa la fuerza de fricción instantánea, Ff (t), en función de la velocidad de deslizamiento v(t). Dicho modelo incluye los términos de fricción de Coulomb, fricción viscosa y/o fricción estática. Fricción de Coulomb. Fuerza de magnitud constante, y que actúa en dirección opuesta al movimiento. Cuando: v(t) 6= 0 ⇒ Ff (t) = −Fc sgn(v(t)) donde Fc es una constante positiva. Fricción viscosa. Fuerza de magnitud proporcional a la velocidad y sentido contrario. Cuando: v(t) 6= 0 ⇒ Ff (t) = −Fv v(t) donde Fv es una constante positiva. Fricción estática. No es realmente una fuerza de fricción, pues ni es disipativa (no realiza trabajo) ni consecuencia del deslizamiento. Cuando: v(t) = 0 ⇒ Ff (t) = −Fext (t) si Fext (t) ≤ Fs −Fs sgn(Fext (t)) si Fext (t) > Fs donde Fext (t) es la fuerza aplicada externamente, y Fs es una constante positiva, relativa al valor máximo que puede aplicarse sin que se produzca deslizamiento. 5.2. Modelo utilizado en el presente proyecto 5.2.2. 43 Consideraciones sobre el modelo 1. El modelo utilizado consta únicamente de tres parámetros constantes: Fc , fricción de coulomb Fv , fricción viscosa Fs , fricción estática Cada uno de estos tres parámetros podrı́a dividirse en dos o más, representando cada uno de ellos una porción de la caracterı́stica de fricción. Por ejemplo, se podrı́a usar diferentes parámetros para velocidades positivas y negativas, o para velocidades altas y bajas. En el modelo utilizado, caracterizaremos la curva de fricción, por estos tres parámetros, utilizando un valor medio. 2. De la experimentación con el controlador, se puede observar que la curva de fricción varı́a con otros muchos parámetros, algunos de ellos no medibles a priori: temperatura de las partes en movimiento relativo, viscosidad del lubricante, fuerzas normales y tangenciales sobre el eje, vibraciones, etc.; y otros, aunque medibles, no se han utilizado para la caracterización: aceleración, velocidades de aplicación del par, duración de pares mantenidos en zona muerta, etc. Figura 5.1: Caracterı́stica estática para el modelo de fricción. 44 Capı́tulo 5. Modelado de la fricción Capı́tulo 6 Identificación 6.1. Identificación La identificación puede ser el proceso más importante del diseño de un controlador predictivo. De la bondad de la identificación depende en gran medida el éxito del control. El modelo utilizado hace referencia a una ecuación dinámica, que contempla la inercia y la fricción viscosa, únicamente. El término de la fricción de coulomb tiene carácter no lineal, y por tanto, no puede ser modelado de esta manera. Ası́, para poder introducir los efectos de la fricción de coulomb y fricción estática, se opta por realizar una compensación en la actuación, sumando o restando según el signo de la velocidad, un par de fricción cte. en cada momento. 45 46 Capı́tulo 6. Identificación 6.1.1. El modelo utilizado Vamos a usar la ecuación de transferencia simplificada para modelar el sistema tensión-posición: G(s) = θ(s) km = Ua (s) s[Ra (Js + B) + kb km ] Expresaremos esta función de forma más sencilla como: GM (s) = KM s(TM s + 1) (6.1) Donde: km Es la ganancia estática BRa + km kb (6.2) JRa Es la cte. de tiempo del sistema BRa + km kb (6.3) KM = TM = Figura 6.1: Modelo continuo del sistema Usando la transformada Z mediante (4.17) y (4.18) podemos modelar el sistema mediante una función de transferencia discreta: 6.1. Identificación 47 Figura 6.2: Modelo discreto del sistema El modelo discreto de la Tensión-Posición queda como: GP (z −1 ) = θ b1 z −1 + b2 z −2 = Ua (1 − z −1 )(1 − a1 z −1 ) (6.4) donde: − TT a1 = e M T − T − 1 + e TM ) TM T − TT − TT b2 = KM TM (1 − e M − e M) TM b1 = KM TM ( (6.5) (6.6) (6.7) Mientras que el modelo discreto de la Tensión-Velocidad queda como: GV (z −1 ) = θ̇ bv z −1 = Ua (1 − av z −1 ) (6.8) donde: − TT av = e M − TT M bv = KM (1 − e ) (6.9) (6.10) Donde se puede comprobar que, dado que la velocidad es la derivada de la posición con el tiempo: av = a1 b1 + b2 bv = T (6.11) (6.12) 48 Capı́tulo 6. Identificación 6.2. 6.2.1. Experimentos de identificación Obtención de la fricción viscosa La ecuación del movimiento, considerando la fricción, la podemos expresar como: I θ̈ + σ2 θ̇ + Fc sign(θ̇) = Ua (6.13) Donde: Ra J km (Ra B + km kb ) σ2 = km I= (6.14) (6.15) Se realizan experimentos a velocidad constante para eliminar el término inercial de la ecuación. Entonces: θ¨i = 0 Para eliminar el efecto de la fricción de coulomb se extraen los resultados de forma diferencial. Ası́: σ2 θ̇i+1 + Fc sign(θ̇i+1 ) = Ua(i+1) (6.16) σ2 θ̇i + Fc sign(θ̇i ) = Ua(i) (6.17) Haciendo (6.16) - (6.17) obtenemos: σ2 = ∆Ua ∆θ̇ (6.18) En la tabla (6.1) están los valores experimentales obtenidos en dicho experimento. 6.2.2. Obtención de la fricción de coulomb Tomando el modelo de fricción que sólo considera los términos de coulomb y viscoso, podemos obtener del experimento un valor de la fricción de coulomb para cada par tensión-velocidad mediante la expresión: 6.2. Experimentos de identificación 49 Velocidad 0,5 1 2 3 4 5 6 7 8 9 10 11 Tensión 0,7 0,8 1,05 1,3 1,56 1,79 2 2,25 2,47 2,69 2,9 3,13 0,20 0,25 0,25 0,26 0,23 0,21 0,25 0,22 0,22 0,21 0,23 σ2 Velocidad 12 13 14 15 16 17 18 19 20 21 22 Tensión 3,33 3,48 3,68 3,87 4,09 4,3 4,47 4,68 4,87 5,06 5,27 σ2 0,20 0,15 0,20 0,19 0,22 0,21 0,17 0,21 0,19 0,19 0,21 Cuadro 6.1: Obtención de la fricción viscosa. Velocidad en o /s, Tensión en V, σ2 en Vs/o Fc = U − σ2 θ̇ (6.19) El valor medio obtenido, de esta manera, para la fricción viscosa y de coulomb se presenta en el cuadro (6.2) σ2 0,2089 Vs/o Fc 0,7236 V Cuadro 6.2: Valores medios de la fricción viscosa y de coulomb 6.2.3. Obtención de la inercia Para obtener la inercia del sistema realizamos movimientos senoidales amplios y seleccionamos aquellos puntos en los que la aceleración está lejos de ser nula. Ası́ mismo, debido a otros efectos de fricción no considerados, deberemos desechar aquellos puntos cuya velocidad sea muy baja. De esta manera, nos quedaremos con los puntos que indica la figura (6.4) De la ecuación de movimiento (6.13) podemos poner: Ua − Fc sign(θ̇) − σ2 θ̇ (6.20) θ̈ Previamente hay que conocer los valores de Fc y σ2 para calcular I. Buscaremos los valores que minimicen la varianza de la muestra obtenida, mediante el siguiente método: I= 50 Capı́tulo 6. Identificación Figura 6.3: Valores de la fricción viscosa y de coulomb 1. Partiendo del valor Fc obtenido en el experimento anterior, calculamos el valor de I para cada uno de los valores de la muestra y lo expresamos en función de σ2 2. Calculamos el valor de σ2 que minimiza la varianza de la distribución de I 3. Tomando ahora como dato el valor de σ2 obtenido, calculamos el valor de I para cada uno de los valores de la muestra y lo expresamos en función de Fc 4. Calculamos el valor de Fc que minimiza la varianza de la distribución de I. Y volvemos a iterar hasta que Fc y σ2 converjan. En la segunda iteración ya ha convergido a los valores dados en el cuadro (6.3) Comparando estos valores con lo obtenidos en el experimento a velocidad constante se observa que: 6.2. Experimentos de identificación 51 Figura 6.4: Selección de puntos para obtener la inercia Figura 6.5: Variación de la desviación tı́pica de la inercia al variar la fricción viscosa y la fricción de coulomb 52 Capı́tulo 6. Identificación σ2 0,2089 Vs/o Fc 0,704 V I 0,00746 V s2 /o Cuadro 6.3: Valores medios de la fricción viscosa y de coulomb 1. El valor de la fricción viscosa obtenido en ambos experimentos es idéntico. 2. El valor de la fricción de coulomb, obtenido en el experimento dinámico, es inferior al valor obtenido en el experimento estático (velocidad constante). Nos quedaremos con el valor inferior para evitar sobrecompensaciones de la fricción, que pueden conducir a sobreoscilaciones y/o otros comportamientos indeseados. 6.2.4. Obtención de la fricción estática Experimento estático Para obtener un valor de la fricción estática se realiza el siguiente experimento: Se introducen señales de control en rampa, de forma que la tensión va creciendo de forma constante. En el momento, en que el encoder de la carga indica que ha habido movimiento, se anota ese valor de tensión como valor de la fricción estática, que hay que vencer para poner en movimiento el sistema. A continuación se introduce nuevamente la rampa desde cero, repitiéndose el proceso muchas veces. De esta forma se obtiene un valor de la fricción estática para velocidad nula, tal y como la habı́amos definido. V alor medio U nidades Fs + 0.3704 V Fs − 0.4914 V Cuadro 6.4: Valores medios de la fricción estática 6.2. Experimentos de identificación Figura 6.6: Experimento de fricción estática positiva Figura 6.7: Experimento de fricción estática negativa 53 54 Capı́tulo 6. Identificación Figura 6.8: Experimento dinámico de fricción estática positiva Experimento dinámico Para realizar este experimento se procede a realizar un control en bucle cerrado con la siguiente filosofı́a: 1. Si la velocidad es nula se incrementa el par motor una cantidad constante ∆U 2. Si la velocidad no es nula se reduce el par motor en la misma cantidad ∆U De esta manera, se pretende mantener el sistema con un movimiento constante a velocidad prácticamente nula, siendo el valor del par motor en esas circunstancias, el valor de la fricción estática a velocidades muy bajas (pero no siempre nulas), por lo que esta fricción deberá considerarse como un valor intermedio entre la fricción de coulomb a velocidades muy bajas y la fricción estática. 6.2. Experimentos de identificación 55 Figura 6.9: Experimento dinámico de fricción estática negativa V alor medio U nidades Fs + 0.6468 V Fs − 0.5859 V Cuadro 6.5: Valores medios de la fricción estática Consideraciones sobre la fricción estática Dado que los valores de fricción estáticas obtenidos son menores que los obtenidos para la fricción de coulomb, podemos ignorar en primera aproximación el efecto de la fricción estática cuando estemos usando una compensación de la fricción de coulomb, pues el valor aplicado en compensación de ésta, es superior al valor necesario para poner en movimiento el sistema. 56 Capı́tulo 6. Identificación 6.2.5. Valores finales del modelo Finalmente de la ecuación (6.14) y los datos del fabricante: V alor U nidades km 0.139 Nm A kb 0.139 Vs rad Ra 3.0 Ω La 7.8 mH J 0.0198 kgm2 B 0.548 kgm2 s Fc 0.704 V Cuadro 6.6: Datos del fabricante y datos identificados Finalmente, haciendo uso de las ecuaciones (6.2, 6.3, 6.5 y 6.9) obtenemos (con T=0.01s): V alor U nidades a1 0.7558 − b1 0.006127 o V b2 0.005566 o V bv 1.169 o Vs Fc 0.704 V Cuadro 6.7: Valores del modelo discreto GP (z −1 ) = θ b1 z −1 + b2 z −2 = Ua (1 − z −1 )(1 − a1 z −1 ) A partir de la señal de referencia, se puede aplicar la compensación en prealimentación. De esta forma, evitamos la dinámica que puede aparecer en el bucle de realimentación. 6.2. Experimentos de identificación 57 Figura 6.10: Diagrama de bloques del modelo discreto con compensación de la fricción de coulomb en realimentación Figura 6.11: Diagrama de bloques del modelo discreto con compensación de la fricción de coulomb en prealimentación 58 Capı́tulo 6. Identificación Capı́tulo 7 Control Predictivo Lineal 7.1. 7.1.1. Introducción El Control Predictivo Basado en Modelo El Control Predictivo Basado en Modelo (MBPC) consiste en resolver un problema de optimización en cada instante k, para calcular una señal de control, uk , para aplicar al sistema a controlar. Al contrario que otros métodos de control, el MBPC necesita de un modelo del sistema a controlar, esto conlleva la necesidad de un estudio previo del sistema. El objetivo del MBPC es minimizar una función objetivo, J(u), en cada instante k. Esta función objetivo, o función de costes, se evalúa usualmente en función de los siguientes puntos: ŷk − rk diferencia entre las salidas y las referencias futuras uk señal de control 4uk incremento de la señal de control 59 60 Capı́tulo 7. Control Predictivo Lineal Y se utilizan una matrices de ponderación para variar el comportamiento deseado. De esta forma, se puede expresar: J(u) = Np X 2 λk · (ŷk − rk ) + k=1 N c −1 X k=0 βk · u2k + N c −1 X αk · 4u2k (7.1) k=0 Donde Np y Nc son el horizonte de predicción y de control respectivamente. Este concepto de horizonte hace referencia a cuánto se mira hacia delante, y usualmente se emplea el término horizonte deslizante para describirlo, significando que en cada instante el horizonte contemplado es desplazado una unidad hacia el futuro para resolver las ecuaciones y obtener la señal de control. Hay que destacar que de la resolución de las ecuaciones se obtiene una secuencia de señales de control uk k = 0, ..., Nc − 1 de la que sólo será aplicable la primera. 7.1.2. Métodos de resolución El método de resolución del problema de optimización puede ser fundamental a la hora de la implantación del controlador, dado que ha de encontrarse una solución válida antes del siguiente tiempo de muestreo. Unos posibles métodos pueden ser: Programación cuadrática: método recursivo y repetido en cada paso, tiene un gran coste computacional, por lo que hace difı́cil escoger pequeños tiempos de muestreo. Resolución analı́tica: método precomputacional, las ecuaciones quedan resueltas en función de parámetros, de manera que el coste computacional es muy bajo, al no tener que resolver el problema en cada instante. 7.1.3. Las restricciones Este problema de optimización puede dotarse de restricciones en cualquiera de las variables que se deseen contemplar. Estas restricciones las podemos dividir en dos tipos: Igualdades: Este tipo de restricciones reduce la carga computacional en los dos métodos anteriormente contemplados. 7.1. Introducción 61 Desigualdades: Este tipo de restricciones no pueden aplicarse, generalmente, cuando se realiza una resolución analı́tica. 7.1.4. Modelos de predicción Es necesario un modelo de predicción que represente el comportamiento del sistema a controlar. Este se puede obtener mediante: Un estudio de las propiedades fı́sicas del sistema Una identificación matemática Además, existen varias formas de representar el modelo de predicción: Respuesta al impulso Respuesta al escalón Función de transferencia Espacio de estados A partir de aquı́ se usará la forma Función de transferencia para cualquier explicación, por haber sido la forma elegida para la aplicación. Este modelo tiene la forma A(z −1 )y(t) = B(z −1 )u(t) al que se le añade además un modelo de perturbaciones n(t) = C(z −1 )e(t) D(z −1 ) donde e(t) es un ruido blanco. Este modelo es conocido como CARIMA. Si se escoge D(z −1 ) = 1 − z −1 = 4 62 Capı́tulo 7. Control Predictivo Lineal para realizar un modelo integrado, se consigue un control sin error en permanente. Y escogiendo C(z −1 ) = 1 por simplicidad computacional, finalmente el modelo queda como: A(z −1 )y(t) = B(z −1 )u(t) + e(t) 4 (7.2) modelo conocido como ARIMA, donde: A(z −1 ) = 1 + a1 z −1 + . . . + ana z −na B(z −1 ) = b0 + b1 z −1 + . . . + bnb z −nb 7.1.5. La ley de control Obtención de la ley de control: Una vez obtenido un modelo de predicción y una función de costes, se eligen los parámetros adecuados para el comportamiento deseado del sistema controlado. Ası́, haciendo: minJ(u) ⇒ con: d2 J(u) du2 dJ(u) du = 0 ⇒ u = u(Np , Nc , λ, δ, α, β, Tm ) =H>0 se obtiene la secuencia de actuaciones uk que minimiza la función de costes J(u). De esta secuencia de actuaciones, se usa únicamente la primera u0 , ya que en siguiente perı́odo de muestreo, se volverá a recalcular la secuencia que minimice la función de costes. 7.2. 7.2.1. Ecuaciones El controlador GPC El ’Controlador Predictivo Generalizado’ se encuentra ampliamente comentado en la literatura cientı́fica [4]. 7.2. Ecuaciones 63 Se trata de un control predictivo basado en modelo mediante función de transferencia, y usa la siguiente función de costes: J(u) = Np X 2 λk · (ŷk − rk ) + N c −1 X k=1 4u2k k=0 El modelo de predicción se puede descomponer en una parte forzada mas una libre. La parte forzada responde a las entradas del sistema, mientras que la parte libre refleja la evolución intrı́nseca del sistema. Ası́: ŷ = G4u + f Derivando la función de costes e igualando a cero se obtiene la ley de control como: 4u = −H−1 · h donde: H = GT λG + I 2 h = GT λ(f − r) 2 Y finalmente se puede expresar: 4u = k1 · (r − f ) )−1 donde k1 es la primera fila de ( H 2 De esta forma la variación de la actuación es ponderada mediante los errores futuros predecidos. 7.2.2. El controlador PFC El controlador PFC ’Predictive Functional Control’ ideado por Richalet [4], tiene las siguientes caracterı́sticas, que lo distinguen del sistema de control predictivo lineal más general: 1. La ley de control está estructurada como una suma de funciones base. 2. La función de costes sólo comprende algunos puntos, llamados ’puntos de coincidencia’. 64 Capı́tulo 7. Control Predictivo Lineal Las funciones base Con el objetivo de reducir el número de ecuaciones a resolver, reduciendo ası́ la carga computacional, la ley de control responde a: u(k) = i=n X µi Bi (k) (7.3) i=1 donde las funciones Bi son escogidas en función de la naturaleza del proceso y de la referencia, siendo normalmente polinomiales. El controlador aquı́ desarrollado utiliza polinomios como funciones base, que debe seguir la actuación durante el horizonte de control. El grado del polinomio se puede escoger para sintonizar el controlador. Los puntos de coincidencia El PFC aquı́ desarrollado no tiene en cuenta este concepto, en el que el controlador sólo tiene en cuenta algunos puntos dentro del horizonte de predicción, reduciendo ası́ la carga computacional al reducir el número de variables. 7.2.3. Ecuaciones del PFC-R El controlador desarrollado en el presente proyecto consiste en una variación del GPC, añadiéndole un término de error en velocidad a la función de costes, y estructurando la ley de control mediante funciones polinómicas como en un PFC, restringiendo además la actuación mediante la obligación de hacer coincidir el polinomio de control con los valores pasados. Identificando el modelo del sistema como se vio en el capı́tulo 6, se pueden obtener los modelos en posición y velocidad necesarios para la formulación: Modelo ARIMA para la posición: A1 (z −1 )y(t) = B1 (z −1 )u(t) + Identificando términos se obtiene: ŷ = Gy · 4u + fy e1 (t) 4 7.2. Ecuaciones 65 Modelo ARIMA para la velocidad: A2 (z −1 )v(t) = B2 (z −1 )u(t) + e2 (t) 4 Identificando términos se obtiene: v̂ = Gv · 4u + fv Una forma de identificación de términos para ŷ y v̂ se puede encontrar en [4] La función de costes escogida tiene en cuenta los errores en posición y velocidad futuros, además del coste del incremento de la actuación: J(u) = Np X k=1 2 λk · (ŷk − rk ) + Np X 2 δk · (v̂k − r˙k ) + k=1 N c −1 X αk · 4u2k (7.4) k=0 En forma matricial: 1 J = 4uT H4u + 4uT h + f0 2 Restricciones en el polinomio de control Con el objeto de reducir el ruido que aparece en la señal de control, se aplica una restricción sobre el polinomio en que se basa esta señal. Esta restricción vincula la secuencia de actuaciones, predecidas en cada perı́odo de muestreo, con las actuaciones pasadas. En el caso particular de un polinomio base de primer orden, y una restricción de pasado unitaria, se obtiene una secuencia de actuaciones, con forma de recta, que pasa necesariamente por la última actuación. En ese caso concreto, el conjunto de ecuaciones se convierte en una sola ecuación con una sola incognita. En la figura 7.1, se puede apreciar un ejemplo de aplicación de polinomios de primer grado con restricciones. En cada momento t, se calcula una recta de actuaciones futuras, uk , k = 0, ..., Nc − 1. Como consecuencia de fijar el offset de la recta en el valor de actuación anterior, se obtiene una secuencia de actuaciones en el tiempo, u0 (t), de forma muy suave, que serán las realmente aplicadas. En la figura 7.2, se aprecia el efecto de liberar las actuaciones de la restricción comentada. En ese caso la secuencia de actuaciones u0 (t), presenta una forma brusca con rápidos cambios de magnitud. 66 Capı́tulo 7. Control Predictivo Lineal Figura 7.1: Actuaciones con polinomios de primer grado vinculados a la acción anterior La señal de control será polinómica de grado p: 4u(k) = b0 +b1 k+. . .+bp k p ⇔ 4u = K1 b + K2 b̄ ¯ = K̄1 b + K̄2 b̄ El polinomio de control contendrá q valores pasados: 4u Queda: 4u−q ··· 4u−1 4u0 ··· 4uNc −1 1 −q .. .. . . −1 1 = 0 1 . .. .. . 1 (Nc − 1) (−q)p .. . ··· .. . ··· ··· .. . b0 b1 · .. . bp (−1)p 0 .. . (7.5) · · · (Nc − 1)p En forma compacta: ¯ 4u 4u = K̄1 K̄2 K1 K2 · b b̄ (7.6) 7.2. Ecuaciones 67 Figura 7.2: Actuaciones con polinomios de primer grado sin vinculación a la acción anterior donde las dimensiones de los distintos vectores y matrices son: K1 K2 K̄1 K̄2 : (Nc x (p − q + 1)) : (Nc x q) : (q x (p − q + 1)) : (q x q) b b̄ ¯ 4u 4u : ((p − q + 1) x 1) : (q x 1) : (q x 1) : (Nc x 1) ¯ = K̄1 · b + K̄2 · b̄ 4u 4u = K1 · b + K2 · b̄ Despejando: ¯ b̄ = K̄−1 2 (4u − K̄1 b) y sustituyendo se obtiene: −1 −1 ¯ ¯ 4u = K1 b + K2 K̄−1 2 (4u − K̄1 b) = (K1 − K2 K̄2 K̄1 )b + K2 K̄2 4u ¯ = Kp b + fc 4u = Kp b + Kc 4u (7.7) 68 Capı́tulo 7. Control Predictivo Lineal ŷ = Gy 4u + fy v̂ = Gv 4u + fv 4u = Kp b + fc (7.8) La función de costes escogida: J= Np X 2 N c −1 X 2 ˆ i αi 4u (7.9) 1 J = 4uT H4u + 4uT h + f0 2 (7.10) λi (ŷi − ri ) + i=1 Np X δi (v̂i − ṙi )2 + i=1 i=0 Donde: H T = GT y λGy + Gv δGv + α 2 h T = GT y λ(fy − r) + Gv δ(fv − ṙ) 2 Sustituyendo 4u por Kp b + fc : 1 J = (Kp b + fc )T H(Kp b + fc ) + (Kp b + fc )T h + f0 2 se llega a: 1 J = bT H0 b + bT h0 + f00 2 donde: H0 = KT p HKp h0 = KT p (Hfc + h) 1 f00 = fcT ( Hfc + h) + f0 2 Ası́, mediante: ∂J = H0 b + h0 = 0 T ∂b se obtiene: −1 b = −H0 h0 La secuencia de actuaciones futuras viene dada por: ¯ 4u = Kp b + Kc 4u 7.2. Ecuaciones 69 y en virtud del concepto de horizonte deslizante tan sólo interesa el primer elemento de la secuencia: 4u0 = b0 De esta forma queda: ¯ 4u0 = ky (r − fy ) + kv (ṙ − fv ) + kr 4u donde ky , kv y kr son, respectivamente, la primera fila de: ky = T (H0 )−1 KT p Gy λ kv = T (H0 )−1 KT p Gv δ kr = − (H0 )−1 KT p (HKc ) Finalmente la señal de entrada al sistema se obtiene por integración: u0 = 4u0 + u−1 Y esta señal, u0 , que será la que aplicaremos, la podemos expresar en función de parámetros de sintonización, valores de referencia en posición y velocidad futuros, y valores de realimentación de los sensores de posición, de velocidad y de actuaciones anteriores: r , yp , 4up ) u0 = u0 (Np , p, q, λ, δ, α, β , |{z} {z } | {z } | ref parámetros valores pasados Extensión de la función de costes al consumo eléctrico Con el objeto de reducir el consumo eléctrico de los motores, se introduce en la función de costes un nuevo término que tiene en cuenta esta particularidad. La función de costes es ahora: J= Np X i=1 2 λi (ŷi − ri ) + Np X i=1 2 δi (v̂i − ṙi ) + N c −1 X i=0 ˆ 2i + αi 4u N c −1 X βi cˆi i=0 1 J = bT Hb + bT h 2 Donde ci es el consumo de energı́a calculado mediante (4.10) como: cˆi = ui (ui − ke vi ) Y haciendo un desarrollo similar al anterior se llega: ¯ + kcu fu + kcv fv 4u0 = ky (r − fy ) + kv (ṙ − fv ) + kr 4u (7.11) 70 Capı́tulo 7. Control Predictivo Lineal donde ky , kv , kr , kcu y kcv son, respectivamente, la primera fila de: ky = T (H0 )−1 KT p Gy λ kv = T (H0 )−1 KT p Gv δ kr = − (H0 )−1 KT p (HKc ) T T kcu = − (H0 )−1 KT p (Gu β − Gv βke ) kcv = T (H0 )−1 KT p Gu βke con: H T T T = GT y λGy + Gv δGv + α + Gu βGu − Gu βke Gv 2 h T T T T = GT y λ(fy − r) + Gv δ(fv − ṙ) + Gu βfu − Gu βke fv − Gv βke fu 2 H0 = KT p HKp h0 = KT p (Hfc + h) 7.2. Ecuaciones Figura 7.3: Esquema de control del controlador PFC-R 71 72 Capı́tulo 7. Control Predictivo Lineal Capı́tulo 8 Resultado de los experimentos sobre la plataforma 8.1. Introducción Con el fin de comprobar la bondad del controlador diseñado, se realizaron multitud de experimentos, introduciendo distintas señales de referencia, y usando diferentes controladores. Para poder comparar los resultados obtenidos entre los distintos métodos de control, se realizó una sintonización de los distintos parámetros de los controladores, y a partir de ahı́ se mantuvieron fijos dichos parámetros, con el fin de que la sintonización no desvirtúe la comparación de las diferentes estrategias. Para realizar las comparaciones entre los diferentes controladores, se usaron cuatro ı́ndices distintos, representando cada uno una cualidad del controlador: Error de seguimiento en posición Este ı́ndice representa el error cometido entre la carga y la referencia durante el seguimiento y posicionamiento, y está definido como un error cuadrático medio, equivalente a la suma de los 73 74 Capı́tulo 8. Resultado de los experimentos sobre la plataforma cuadrados de los errores partido por el número de muestras tomadas en el experimento. Ruido en el motor Este ı́ndice mide el ruido que aparece en la señal de actuación (tensión del motor) y se expresa en decibelios. Se agrupa todo el espectro frecuencial en dos valores: tensión aplicada a baja frecuencia; y tensión aplicada a alta frecuencia. Tensión máxima aplicada Este ı́ndice indica el mayor valor de la tensión aplicada al motor durante todo el experimento. Consumo Este ı́ndice expresa el consumo eléctrico total del motor, expresado en Julios, durante el experimento completo. 8.2. Controladores ensayados El controlador PFC desarrollado en el capı́tulo 7 se ensaya con dos variantes: Con restricciones de pasado en el polinomio de control (PFC-R) Sin restricciones en el polinomio de control (PFC-NR) Se ensaya además un controlador PID con el fin de realizar una comparación con los controladores predictivos realizados. Controlador PID El control PID se basa en proporcionar una actuación que es proporcional al error instantáneo, a la integral del error pasado, y a la derivada instantánea del error. Ası́, expresado en términos discretos: u((k + 1)t) = Kp e(kt) + Ki kt X 0 e(kt) + Kd ∆e(kt) ∆t e(kt) = r(kt) − y(kt) Debido al fuerte ruido que introduce el término derivativo, anulamos la constante Kd 8.2. Controladores ensayados 75 Figura 8.1: Esquema de control PID Kp Ki Kd 2 2.5 0 Cuadro 8.1: Parámetros del controlador PID Este controlador deberá responder suavemente ante referencias en escalón. Presentará pequeños retrasos y ganancias no unitarias ante referencias senoidales rápidas. Controlador PID rápido Se ensayó un controlador con la misma filosofı́a pero de comportamiento más rápido, con el objetivo de reducir el error cometido en seguimientos de referencias con cambios de velocidad. Al igual que en el caso anterior anulamos la constante Kd para evitar amplificar los ruidos. Kp Ki Kd 5 10 0 Cuadro 8.2: Parámetros del controlador PID rápido 76 Capı́tulo 8. Resultado de los experimentos sobre la plataforma Este controlador será suficientemente rápido en el seguimiento de referencias en rampa o senoidales, pero a cambio produce sobreoscilaciones demasiado bruscas cuando se introducen referencias en escalón. Este tipo de control no es muy indicado para el control del pedestal, ya que las elevadas aceleraciones, que se producirı́an en determinados momentos, provocarı́an cargas inerciales demasiado elevadas, que pueden causar daños por fatigas estructurales de los elementos que componen el pedestal. Controlador PFC con restricción de pasado (PFC-R) Las ecuaciones de este controlador se desarrollan en el capı́tulo 7. Consiste en un control predictivo lineal basado en modelo, usando como función de costes el error en posición, error en velocidad, consumo eléctrico, e incrementos de tensión. La ecuación base del polinomio de control es una recta, por lo que para el cálculo de la secuencia de actuaciones futuras, sólo quedan dos variables independientes: la pendiente y el offset. La restricción de pasado que se realiza en este controlador, consiste en fijar el offset de esta recta en el valor de última actuación. De esta forma, queda únicamente la pendiente de la recta como variable independiente a optimizar según la función de costes. Figura 8.2: Esquema de control PFC 8.2. Controladores ensayados 77 Grado del polinomio 1 Grado de restricción 1 Horizonte de predicción 30 Horizonte de control 30 Coste de error en posición 100 Coste de error en velocidad 1 Coste de incremento de tensión 1 Coste de consumo eléctrico 1 Cuadro 8.3: Parámetros del controlador PFC-R Este controlador deberá responder más suavemente ante referencias en escalón que el controlador PID rápido, además será igualmente rápido en el seguimiento de referencias en rampa o senoidales, por lo que está indicado para cualquier tipo de referencia. Por la estrategia del control se espera que el ruido se atenúe en gran medida. La introducción de la restricción en el polinomio de control, puede provocar ligeras desviaciones respecto de la solución virtualmente óptima. Controlador PFC sin restricción de pasado (PFC-NR) Este controlador es, básicamente, el mismo que el anterior, pero sin imponer ninguna restricción en el polinomio de control. Este controlador deberá responder de forma muy parecida al PFC-R, aunque al no tener la restricción del anterior pueden aparecer mayores ruidos. 78 Capı́tulo 8. Resultado de los experimentos sobre la plataforma Grado del polinomio 1 Grado de restricción 0 Horizonte de predicción 30 Horizonte de control 30 Coste de error en posición 100 Coste de error en velocidad 1 Coste de incremento de tensión 1 Coste de consumo eléctrico 1 Cuadro 8.4: Parámetros del controlador PFC-NR 8.3. Experimentos Se realizaron múltiples experimentos de seguimiento de trayectorias, de los que se destacan los que se muestran en los puntos siguientes. Se emplearon trayectorias en escalón, senoidales, triangulares, constantes, con variadas amplitudes, con el fin de representar lo mejor posible el comportamiento de los diferentes controladores. Se probo además el comportamiento de los controladores ante el ruido, al inyectar un ruido blanco de media nula en el sensor de posición (encoder). Para cada referencia adoptada, se representa el comportamiento de todos los controladores sobre la misma figura, para cada uno de los ı́ndices de valoración (Error en posición, Tensión aplicada, Consumo, y Ruido) Además se ofrece una comparación de los valores obtenidos para los distintos ı́ndices respecto al controlador PID. Representados como variación relativa respecto al valor del PID. 8.3. Experimentos 8.3.1. 79 Experimento de seguimiento de escalones Señal de ref erencia : Cuadrada Amplitud = 2o (pico a pico) F recuencia = 0,2 Hz Figura 8.3: Seguimiento de escalones 80 Capı́tulo 8. Resultado de los experimentos sobre la plataforma Experimento de seguimiento de escalones: tensión Figura 8.4: Tensión aplicada en el seguimiento de escalones 8.3. Experimentos Experimento de seguimiento de escalones: consumo Figura 8.5: Consumo acumulado en el seguimiento de escalones 81 82 Capı́tulo 8. Resultado de los experimentos sobre la plataforma Experimento de seguimiento de escalones: ruido Figura 8.6: Valores frecuenciales de la señal de control (medidos en dB) 8.3. Experimentos 8.3.2. 83 Experimento de seguimiento de señales senoidales Señal de ref erencia : Senoidal Amplitud = 20o (pico a pico) F recuencia = 0,2 Hz Figura 8.7: Seguimiento de referencia senoidal 84 Capı́tulo 8. Resultado de los experimentos sobre la plataforma Experimento de seguimiento de señales senoidales: tensión Figura 8.8: Tensión aplicada en el seguimiento de senoides 8.3. Experimentos Experimento de seguimiento de señales senoidales: consumo Figura 8.9: Consumo acumulado en el seguimiento de senoides 85 86 Capı́tulo 8. Resultado de los experimentos sobre la plataforma Experimento de seguimiento de señales senoidales: ruido Figura 8.10: Valores frecuenciales de la señal de control (medidos en dB) 8.3. Experimentos 8.3.3. 87 Experimento de seguimiento de triángulos Señal de ref erencia : T riangular Amplitud = 4o (pico a pico) F recuencia = 0,33 Hz Figura 8.11: Seguimiento de rampas 88 Capı́tulo 8. Resultado de los experimentos sobre la plataforma Experimento de seguimiento de triángulos: tensión Figura 8.12: Tensión aplicada en el seguimiento de rampas 8.3. Experimentos Experimento de seguimiento de triángulos: consumo Figura 8.13: Consumo acumulado en el seguimiento de rampas 89 90 Capı́tulo 8. Resultado de los experimentos sobre la plataforma Experimento de seguimiento de triángulos: ruido Figura 8.14: Valores frecuenciales de la señal de control (medidos en dB) 8.3. Experimentos 8.3.4. 91 Experimento de sensibilidad al ruido Señal de ref erencia : Constante Amplitud = 0o Ruido blanco añadido al encoder Figura 8.15: Referencia constante 92 Capı́tulo 8. Resultado de los experimentos sobre la plataforma Experimento de sensibilidad al ruido: tensión Figura 8.16: Tensión aplicada para referencia constante 8.3. Experimentos Experimento de sensibilidad al ruido: consumo Figura 8.17: Consumo acumulado para referencia constante 93 94 Capı́tulo 8. Resultado de los experimentos sobre la plataforma Experimento de sensibilidad al ruido: ruido Figura 8.18: Valores frecuenciales de la señal de control (medidos en dB) 8.3. Experimentos 8.3.5. Experimento de saturación Figura 8.19: Tensión aplicada para el seguimiento de escalones de gran amplitud 95 96 Capı́tulo 8. Resultado de los experimentos sobre la plataforma 8.4. Resultados obtenidos A la vista de los resultados obtenidos en los experimentos, realizados sobre la plataforma de orientación, se puede destacar para los controladores PFC-R y PFCNR ensayados, respecto del controlador PID: PFC-NR Error en posición (figura 8.20) El error cometido por el PFC-NR se reduce notablemente, sobre todo en el caso de referencias no constantes. En el caso de ruido en el sensor de posición, el posicionamiento final es muy ruidoso en el caso de referencias constantes. Tensión máxima aplicada (figura 8.21) Los valores de tensión máxima, aplicados por el controlador al motor, son superiores a los proporcionados por el PID para referencias triangulares. Dependiendo de la referencia pueden ser superiores o inferiores. Consumo (figura 8.22) EL controlador PFC-NR, logra disminuir notablemente el consumo eléctrico del motor, gracias a la aplicación del par de forma más suave. Aunque la presencia de ruidos puede elevar mucho el consumo. Ruido (figura 8.23) La señal de control se aplica, dependiendo de la referencia, a una frecuencia muy alta, bastando únicamente la discretización del encoder para inyectar ruido de alta frecuencia en la señal de control. PFC-R Error en posición (figura 8.20) El error cometido se reduce notablemente, sobre todo en el caso de referencias con velocidad no nula. Tensión máxima aplicada (figura 8.21) Los valores de tensión máxima, aplicados por el controlador al motor, son muy inferiores para referencias en escalón. El controlador PFC-R no reacciona tan bruscamente como el controlador PID, cuando se producen cambios en la referencia. Consumo (figura 8.22) EL controlador PFC-R, logra disminuir notablemente el consumo eléctrico del motor, gracias a la aplicación del par de forma más suave. Ruido (figura 8.23) La señal de control se aplica a una frecuencia muy baja, sin componentes de alta frecuencia, incluso con grandes ruidos en el sensor de posición. 8.4. Resultados obtenidos 97 Figura 8.20: Comparación del error cuadrático medio, de los controladores para diferentes referencias Figura 8.21: Comparación de la tensión máxima aplicada, de los controladores para diferentes referencias 98 Capı́tulo 8. Resultado de los experimentos sobre la plataforma Figura 8.22: Comparación del consumo, de los controladores para diferentes referencias Figura 8.23: Comparación de la componente de alta frecuencia de la señal de control, de los controladores para diferentes referencias Capı́tulo 9 Conclusiones 9.1. Comparación de controladores A partir de los experimentos realizados se muestra la tabla 9.1, que contiene la valoración de los distintos parámetros que se han considerado para evaluar la bondad de los controladores. En dicha tabla se observa que el controlador PFC-R aventaja a los demás en todos los parámetros. Para cada uno de los controladores se puede destacar: El controlador PID Este controlador tiene que utilizarse con el término derivativo muy bajo, debido a la gran amplificación del ruido que presenta ese término. Debido a esto, el PID pierde capacidad de sintonización. Este controlador produce saturaciones en el motor cuando se siguen referencias con variaciones bruscas, como es el caso de secuencias en escalón. El comportamiento del controlador varı́a notablemente según el tipo de referencia adoptada. De esta forma, un controlador multipropósito para seguimiento de referencias mixtas, se ve obligado a usar valores relajados en su sintonización, para evitar fuertes sobreoscilaciones. 99 100 Capı́tulo 9. Conclusiones PID PFC-R PFC-NR Sensibilidad al ruido Depende de la Muy baja Muy alta en el sensor de posición sintonización Comportamiento según Muy variable No depende No depende Variable Bajo Bajo Error cuadrático Muy variable Muy bajo Muy bajo medio según referencia Tensión máxima Muy alta Baja Variable aplicada Puede saturar Evita saturación Puede saturar tipo de referencia Consumo eléctrico del motor Cuadro 9.1: Comparación de controladores El controlador PFC-NR Debido a la ausencia de restricciones en el control, se pueden producir niveles de tensión demasiado elevados, por lo que satura el motor y el control pierde el carácter óptimo. Además estas saturaciones no predecidas pueden producir sobreoscilaciones. Presenta una gran sensibilidad al ruido en el sensor de posición. Esto hace que ante la presencia de ruido en el sensor de posición, el error de posición y el consumo aumenten notablemente, debido fundamentalmente al aumento de la tensión aplicada debido al ruido. El controlador PFC-R Su comportamiento no varı́a según el tipo de referencia adoptada, por lo que es el controlador multipropósito adecuado para el seguimiento de referencias mixtas. Presenta un magnı́fico comportamiento frente al ruido en el sensor de posición. El posible ruido que pueda aparecer en el sensor de posición afecta muy poco al controlador, que sigue utilizando una señal de control muy suave. 9.2. Valoración del controlador PFC-R 101 El control evita la saturación del motor al proporcionar bajos niveles de tensión, incluso para referencias bruscas en escalón. Reduce en buena medida el error de posición, independientemente de la referencia adoptada, sin necesidad de resintonización. El movimiento de la carga, ante cambios bruscos de la señal de referencia, se realiza de forma suave. El controlador actúa antes de que se produzca el cambio, para poder frenar o acelerar antes de que la inercia lo aleje de la trayectoria deseada. El consumo es igualmente reducido para cualquier referencia. La adición del coste en velocidad a la función de costes, aporta mayor estabilidad al controlador. Permite la sintonización para el seguimiento de trayectorias en posición o en velocidad, simplemente ajustando el parámetro asociado en la función de costes. Además de poderse sintonizar para reducir el consumo. 9.2. Valoración del controlador PFC-R A la vista de los resultados se puede concluir que, el controlador PFC-R es un controlador muy adecuado para el seguimiento de trayectorias de orientación, aventajando al clásico PID en todos los parámetros analizados. La adición de restricciones en el control convierte al PFC-R en un controlador mucho más indicado que el PFC-NR al dotarle de mayor rechazo del ruido. El controlador PFC-R: Responde de manera eficaz ante cualquier tipo de referencia. Presenta un elevado rechazo al ruido. Tiene una gran versatilidad, pudiéndose sintonizar con facilidad para: el control en posición, el control en velocidad,y para la reducción del consumo. 102 Capı́tulo 9. Conclusiones 9.3. Desarrollos futuros Para mejorar la eficacia del controlador, siguiendo la misma filosofı́a de control, se contempla la posibilidad de realizar las siguientes mejoras: Realización de un proceso de identificación del modelo en tiempo real, y su integración en el algoritmo de control para lograr obtener un controlador adaptativo, que no se vea influenciado por las variaciones de temperatura, desgaste, suciedad, y todos aquellos cambios, que hacen necesario ajustar los parámetros del modelo en el que se basa el controlador. Mejora del modelo de fricción empleado, especialmente a bajas velocidades, donde se notan más los efectos no lineales. Uso de giróscopos para medir la orientación de la plataforma. Bibliografı́a [1] The Control Handbook. Ed. IEEE Press, 1996. [2] Advanced Motion Controls. Catálogo. be15a series brushless servo amplifiers, 2001. [3] dSPACE. DS1102 PPC Controller Board, RTI Reference. 1999. [4] E.F.Camacho and C. Bordons. Model predictive control, 1999. [5] Eltra. Catálogo. eh-el53a / b encoder incremental, 2002. [6] K.J.Aström, C.Canudas de Wit, H. Olsson, and P. Lischinscky. A new model for control on systems with friction. 1999. [7] AB Motors. Catálogo. ld-series brushless servo motor, 2002. [8] Miguel Ángel Gómez Cordones. Control de plataforma giroestabilizada, 2002. 103