Modelado y Control de un Helicóptero Quadrotor
Short Description
Download Modelado y Control de un Helicóptero Quadrotor...
Description
GUILHERME VIANNA RAFFO
MODELADO Y CONTROL DE UN ´ HELICOPTERO QUADROTOR
SEVILLA 2007
UNIVERSIDAD DE SEVILLA
PROGRAMA OFICIAL DE POSGRADO EN INGENIER´IAS
MODELADO Y CONTROL DE UN ´ HELICOPTERO QUADROTOR
Tesis presentada en la Universidad de Sevilla como uno de los requisitos para la obtenci´on del grado de Master en Autom´atica, Rob´otica y Telem´atica.
POR
GUILHERME VIANNA RAFFO
Sevilla, Diciembre de 2007. i
ii
´ MODELADO Y CONTROL DE UN HELICOPTERO QUADROTOR Guilherme Vianna Raffo Esta Tesis se juzg´o adecuada para la obtenci´on del T´ıtulo de Master en Autom´atica, ´ Rob´otica y Telem´atica, Area de Conocimiento en Ingenier´ıa de Sistemas y Autom´atica, y aprobada en su forma final por el Programa Oficial de Posgrado en Ingenier´ıas de la Universidad de Sevilla.
Prof. D. Francisco Rodr´ıguez Rubio, Dr. Director
Prof. D. Manuel Gil Ortega Linares, Dr. Director
Prof. D. Francisco Rodr´ıguez Rubio, Dr. Coordinador del Master en Autom´ atica, Rob´otica y Telem´atica de la Universidad de Sevilla
Tribunal Examinador:
Prof. D. Anibal Ollero Baturone, Dr.
´ Prof. D. Teodoro Alamo Cantarero, Dr.
Prof. D. Francisco Salas G´ omez, Dr.
iii
iv
A mi novia Clarice y a mis Padres. v
AGRADECIMENTOS Agradezco a mis padres, Paulo Eduardo y Ana Maria, por haberme incentivado a venir a estudiar en Espa˜ na. A mi novia, Clarice, por haberme apoyado mismo de lejos, por la paciencia y por venir a vivir bien cerca de mi. Agradezco a mis queridos abuelos, Adalberto y Maria Suzana el est´ımulo y por hablar conmigo casi todos los d´ıas, que me hace que la nostalgia sea un poco menor. A mis hermanos Marcelo y Gustavo y mis hermanas Daniela y Paula el apoyo desde Brasil. A mi sobrina Isabela por las muchas conversaciones que ya tuvimos. Me gustar´ıa agradecer a mis directores de tesis, Prof. Francisco Rodr´ıguez Rubio y Prof. Manuel Gil Ortega Linares, la ayuda y dedicaci´on en estos dos primeros a˜ nos del doctorado. Agradezco a mis amigos J¨orn Klaas Gruber y Antonio Ferramosca las muchas ayudas prestadas durante mi estancia en Sevilla, por las correcciones de ingl´es en los art´ıculos y por tener un o´ıdo para mi todos los d´ıas. Me gustar´ıa agradecer a Prof. Julio Elias Normey Rico el compa˜ nerismo, amistad y dedicaci´on ofrecida. Agradezco a los Prof. Manuel Vargas y Prof. Francisco Salas el apoyo ofrecido en la elaboraci´on de esta tesis. Agradezco a Isabel Jurado las traducciones y correcciones realizadas en este trabajo. Agradezco, tambi´en, al Departamento de Ingenier´ıa de Sistemas y Autom´atica, por la oportunidad de desarrollar mi investigaci´on en la Universidad de Sevilla. Al Ministerio de Educaci´on y Ciencia, MEC, por la concesi´on de la beca FPI y a los profesores del Departamento. A todos los amigos que hice durante estos dos a˜ nos en Sevilla. Agradezco a los colegas del curso de m´aster en Autom´atica, Rob´otica y Telem´atica la ayuda concedida para concluir mi tesis..
vi
Resumen de la Tesis presentada en la Universidad de Sevilla como uno de los requisitos necesarios para la obtenci´ on del grado de Master en Autom´ atica, Rob´otica y Telem´atica.
´ MODELADO Y CONTROL DE UN HELICOPTERO QUADROTOR Guilherme Vianna Raffo
Diciembre/2007
Directores:
Prof. D. Francisco Rodr´ıguez Rubio, Dr. Prof. D. Manuel Gil Ortega Linares, Dr.
´ Area de Concentraci´on:
Ingenier´ıa de Sistemas y Autom´atica
Palabras-clave:
Veh´ıculo A´ereo Aut´onomo, Modelado, Control H∞ Lineal, Control H∞ No Lineal, Backstepping, Control Robusto, Control Predictivo, Seguimiento de Trayectorias
N´ umero de P´aginas:
En este trabajo se ha realizado el modelado y desarrollo de estrategias de control para solucionar el problema de seguimiento de referencia de un veh´ıculo a´ereo aut´onomo: un helic´optero miniatura quadrotor. Para comprender el funcionamiento del helic´optero quadrotor, se ha realizado un estudio del sistema, y posteriormente se ha modelado, completando y corrigiendo algunos modelos publicados anteriormente. El modelo din´amico se ha obtenido v´ıa dos formulaciones matem´aticas distintas: la de Newton-Euler y la de Lagrange-Euler. El control de seguimiento de trayectoria del helic´optero se ha llevado a cabo mediante cinco estrategias de control, de forma que se garantice la robustez ante perturbaciones e incertidumbres param´etricas del sistema. Para la s´ıntesis de los controladores se ha utilizado teor´ıas como control mediante linealizaci´on por realimentaci´on, Backstepping, H∞ lineal y no lineal, y control predictivo basado en modelo. La validez de las estructuras de control presentadas fueron corroboradas mediante resultados de simulaci´on en presencia de incertidumbres en los par´ametros del modelo y de perturbaciones en los movimientos de traslaci´on y rotaci´on. Para realizar ensayos experimentales se ha puesto en marcha una plataforma de pruebas compuesta por un helic´optero quadrotor comercial en escala miniatura, una unidad de medici´on inercial inal´ambrica y un ordenador de tierra. Se ha desarrollado un interfaz entre el ordenador y el helic´optero bajo la aplicaci´on LabViewr. Se han realizado experimentos preliminares con la plataforma de pruebas empezando con controladores b´asicos para la estabilizaci´on del helic´optero quadrotor, y mostrando la eficacia del sistema desarrollado.
vii
Abstract of Thesis presented to Universidad de Sevilla as a partial fulfillment of the requirements for the degree of Master in Automatica, Robotic and Telematic.
MODELLING AND CONTROL OF A QUADROTOR HELICOPTER Guilherme Vianna Raffo
December/2007
Advisors:
Prof. D. Francisco Rodr´ıguez Rubio, Dr. Prof. D. Manuel Gil Ortega Linares, Dr.
Area of Concentration:
Automation and Systems Engineering
Keywords:
Unmanned Aerial Vehicle, Modelling, Linear H∞ Control, Nonlinear H∞ Control, Backstepping Approach, Robust Control, Predictive Control, Path Tracking
Number of Pages:
In this work the modeling and development of strategies to solve tracking problem for an unmanned aerial vehicles, the quadrotor helicopter, is presented. The system is studied, to understand how it works, and then it is modeled, completing and revising some models previously published. The dynamic modeled is obtained by means of two different mathematical formulations: the Newton-Euler one and the Lagrange-Euler one. The helicopter tracking control is carried out using five control strategies, so that robustness in presence of disturbances and parametric uncertainties is fulfilled. The controllers synthesis is carried out basing on theories like feedback linearization, Backstepping, linear and non linear H∞ , and model predictive control. The validation of the presented control strategies is corroborated using results of some simulations in presence of model parametric uncertainties and disturbances in translation and rotation movements. A testing platform is started up to make experimental tests. This platform is composed by a commercial quadrotor helicopter, a wireless inercial sensor and a desktop PC. An interface between the PC and the helicopter is developed using a LabViewr environment. Some tests using basic controllers to stabilize the quadrotor helicopter have been made, showing system efficacy.
viii
´Indice general
´Indice general
IX
´Indice de Figuras
´Indice de Tablas
XII
XVIII
Lista de Abreviaturas
Lista de S´ımbolos
XXI
XXIII
1. Introducci´ on
1
1.1. Motivaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.3. Organizaci´on del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2. Descripci´ on y Modelado del Helic´ optero QuadRotor 2.1. Descripci´on del UAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 9
2.2. Modelado del UAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3. Orientaci´on del helic´optero . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4. Formulaci´on de Newton-Euler . . . . . . . . . . . . . . . . . . . . . . . . . 15
´Indice general
x
2.5. Formulaci´on de Lagrange-Euler . . . . . . . . . . . . . . . . . . . . . . . . 20
3. Estructuras de Control
29
3.1. Control con desacoplamiento entrada-salida y linealizaci´on exacta por realimentaci´on din´amica (Mistler et al., 2001) . . . . . . . . . . . . . . . . . 31 3.1.1. Resultados de simulaci´on . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2. Control basado en Backstepping (Bouabdallah y Siegwart, 2005) . . . . . . 42 3.2.1. Control Backstepping del sub-sistema de rotaci´on . . . . . . . . . . 44 3.2.2. Control Backstepping del sub-sistema de traslaci´on . . . . . . . . . 45 3.2.3. Resultados de simulaci´on . . . . . . . . . . . . . . . . . . . . . . . . 46 3.3. Control Backstepping/H∞ no lineal (Raffo et al., 2008a) . . . . . . . . . . 51 3.3.1. Control H∞ no lineal . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.3.2. Resultados de simulaci´on . . . . . . . . . . . . . . . . . . . . . . . . 56 3.4. CPBM con control H∞ no lineal (Raffo et al., 2008b) . . . . . . . . . . . . 62 3.4.1. Estrategia de CPBM para seguimiento de trayectoria . . . . . . . . 62 3.4.2. Resultados de simulaci´on . . . . . . . . . . . . . . . . . . . . . . . . 69 3.5. Control robusto H∞ de los seis grados de libertad . . . . . . . . . . . . . . 75 3.5.1. Control H∞ lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.5.2. Control H∞ con realimentaci´on de estados v´ıa lmis . . . . . . . . . 78 3.5.3. Control H∞ de los movimientos de traslaci´on
. . . . . . . . . . . . 80
3.5.4. Resultados de simulaci´on . . . . . . . . . . . . . . . . . . . . . . . . 84
4. Descripci´ on del Equipo
89
xi 4.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.2. Helic´optero en miniatura quadrotor . . . . . . . . . . . . . . . . . . . . . . 90 4.3. Unidad de medici´on inercial . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.3.1. Protocolo de comunicaci´on . . . . . . . . . . . . . . . . . . . . . . . 93 4.4. Tarjeta de adquisici´on de datos . . . . . . . . . . . . . . . . . . . . . . . . 94 4.5. Interfaz ordenador-helic´optero quadrotor . . . . . . . . . . . . . . . . . . . 94 4.5.1. Lectura y escritura de la IMU . . . . . . . . . . . . . . . . . . . . . 95 4.5.2. Generador del tren de pulsos . . . . . . . . . . . . . . . . . . . . . . 97 4.5.3. Lazo de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.6. Resultados experimentales . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5. Conclusiones
105
Bibliograf´ıa
111
xii
´Indice general
´Indice de figuras
2.1. Esquema de funcionamiento del helic´optero quadrotor. . . . . . . . . . . . .
9
2.2. Esquema del helic´optero quadrotor. . . . . . . . . . . . . . . . . . . . . . . 10 2.3. Rotaci´on de los ´angulos de Tait-Bryan del sistema de coordenadas inercial al sistema de coordenadas fijado al helic´optero (Space y Spazio, 1997). . . . 13 2.4. Sistema din´amico dividido en dos sub-sistemas interconectados. . . . . . . 27
3.1. Diagrama de Bloques para el control con linealizaci´on por realimentaci´on del helic´optero quadrotor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2. Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica sin perturbaciones externas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.3. Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica sin perturbaciones externas.
38
3.4. Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica sin perturbaciones externas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.5. Evoluci´on temporal de la entrada de control cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica sin perturbaciones externas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.6. Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica con perturbaciones externas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.7. Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica con perturbaciones externas.
40
xiv
´Indice de figuras
3.8. Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica con perturbaciones externas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.9. Evoluci´on temporal de la entrada de control cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica con perturbaciones externas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.10. Estructura de control Backstepping. . . . . . . . . . . . . . . . . . . . . . . 43 3.11. Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping sin perturbaciones externas. . 46 3.12. Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping sin perturbaciones externas. . . . . . 47 3.13. Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping sin perturbaciones externas. . . . 47 3.14. Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping sin perturbaciones externas. 48 3.15. Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping con perturbaciones externas. . . . . . 48 3.16. Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping con perturbaciones externas. . . 49 3.17. Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping con perturbaciones externas. 49 3.18. Estructura de control Backstepping/H∞ no lineal. . . . . . . . . . . . . . . 51 3.19. Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal sin perturbaciones externas.
57
3.20. Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal sin perturbaciones externas. . . . . . 58 3.21. Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal sin perturbaciones externas. . . 58 3.22. Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal sin perturbaciones externas. 59
´Indice de figuras 3.23. Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal con perturbaciones externas.
xv
59
3.24. Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal con perturbaciones externas. . . . . 60 3.25. Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal con perturbaciones externas. . . 60 3.26. Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal con perturbaciones externas. 61 3.27. Estructura de control CPBM con H∞ no lineal. . . . . . . . . . . . . . . . 62 3.28. Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal sin perturbaciones externas. . . . . 70 3.29. Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal sin perturbaciones externas. . . . . . . . . 70 3.30. Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal sin perturbaciones externas. . . . . . 71 3.31. Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal sin perturbaciones externas. . . 71 3.32. Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal con perturbaciones externas. . . . 72 3.33. Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal con perturbaciones externas. . . . . . . . . 72 3.34. Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal con perturbaciones externas. . . . . . 73 3.35. Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal con perturbaciones externas. . . 73 3.36. Estructura de control robusto H∞ de los seis grados de libertad. . . . . . . 75 3.37. Formulaci´on General del problema de control (Ortega y Rubio, 2004). . . . 76 3.38. Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control robusto para los seis grados de libertad sin perturbaciones externas. 84
xvi
´Indice de figuras
3.39. Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control robusto para los seis grados de libertad sin perturbaciones externas. . . . . 85 3.40. Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control robusto para los seis grados de libertad sin perturbaciones externas. . . 85 3.41. Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control robusto para los seis grados de libertad sin perturbaciones externas. 86 3.42. Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control robusto para los seis grados de libertad con perturbaciones externas. 86 3.43. Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control robusto para los seis grados de libertad con perturbaciones externas. . . . . 87 3.44. Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control robusto para los seis grados de libertad con perturbaciones externas. . 87 3.45. Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control robusto para los seis grados de libertad con perturbaciones externas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.1. Estructura de control del helic´optero quadrotor. . . . . . . . . . . . . . . . 89 4.2. Helic´optero Draganflyer V Ti Pro R/C. . . . . . . . . . . . . . . . . . . . . 90 4.3. C´amara de v´ıdeo inal´ambrica ccd. . . . . . . . . . . . . . . . . . . . . . . 91 4.4. Electr´onica embebida en el helic´optero. . . . . . . . . . . . . . . . . . . . . 91 4.5. Unidad de medici´on inercial Inertia-Linkr . . . . . . . . . . . . . . . . . . . 92 4.6. Pantalla principal del controlador del helic´optero en LabViewr . . . . . . . 95 4.7. Pantalla de la imu Inertia-Linkr . . . . . . . . . . . . . . . . . . . . . . . . 96 4.8. Pantalla del generador de tren de pulsos. . . . . . . . . . . . . . . . . . . . 97 4.9. Tren de pulsos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.10. Pantalla para determinar los valores de referencia y habilitar la estimaci´on de la posici´on xyz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.11. Control de orientaci´on para el helic´optero quadrotor. . . . . . . . . . . . . . 100
´Indice de figuras
xvii
4.12. Oscilaciones experimentales. . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.13. Oscilaciones simuladas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.14. Se˜ nales de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.15. Orientaci´on del helic´optero quadrotor. . . . . . . . . . . . . . . . . . . . . . 103
xviii
´Indice de figuras
´Indice de cuadros
2.1. Principales efectos f´ısicos actuantes sobre un helic´optero (Bouabdallah et al., 2004a). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
xx
´Indice de cuadros
Lista de Abreviaturas CAS CCD CPBM DOF DSP FM GPC GPS HJBI IMU LMI LQ LQI MEMS MIMO NCS PDE PID PD R/C RSSI SAS SISO UAV VTOL
Control Augmentation Systems Charge Coupled Device Control Predictivo Basado en Modelo Degrees Of Freedom Digital Signal Processor Frequency Modulation Generalized Predictive Controller Global Positioning System Hamilton-Jacobi-Bellman-Isaacs Inertial Measurement Unit Linear Matrix Inequality Linear Quadratic Link Quality Indication Micro-Eletrical Mechanical Systems Multiple Input Multiple Output Networked Control System Partial Differential Equation Proporcional - Integral - Derivativo Proporcional - Derivativo Remote Control Receive Signal Strength Indicator Stability Augmentation Systems Single Input Single Output Unmanned Aerial Vehicle Vertical Take-Off and Landing
xxii
Lista de Abreviaturas
Lista de S´ımbolos S´ımbolos x xT x˙ x0 xref x ˜ k I
vector de orden n compuesto de los elementos xi , i = 1 . . . n, x ∈ ℜn vector traspuesto de x derivada temporal de x condici´on inicial de x valor de referencia de la variable x vector del error, x ˜ = x − xref instante de muestreo matriz identidad de dimensi´on apropiada
Notaci´ on usada en los controladores V (x) Hωz (s) kHωz (s)k∞ W L2 ω1 ω2 ω3 ωu kxk2Q N1 N2 Nu N Q R J yˆ(k + j|k) Px , Hx P, H ∆
funci´on de Lyapunov con respecto a la variable x funci´on de transferencia entre la se˜ nal de entrada ω y la se˜ nal de salida z norma H∞ de la funci´on de transferencia Hωz (s) matriz de ponderaci´on para el controlador H∞ no lineal ganancia de la norma L2 ponderaci´on del error de velocidad en el control H∞ no lineal ponderaci´on del error de posici´on en el control H∞ no lineal ponderaci´on de la integral del error de posici´on en el control H∞ no lineal ponderaci´on del esfuerzo de control en el control H∞ no lineal norma-2 de la variable x ponderada de Q, x′ Qx inicio del horizonte de predicci´on de los estados final del horizonte de predicci´on de los estados horizonte de control horizonte de predicci´on matriz de ponderaci´on del error de los estados matriz de ponderaci´on del esfuerzo de control funci´on objetivo del cpbm valor de y en el instante k + j predicho en el instante k matrices de predicci´on para el estado matrices de predicci´on para la salida operador diferencia, ∆ = 1 − z −1
xxiv
Lista de S´ımbolos
Notaci´ on usada en el modelo S(.) RI RB
matriz anti-sim´etrica matriz de rotaci´on del cuerpo r´ıgido con respecto al sistema inercial matriz de rotaci´on expresada en el sistema de coordenadas del cuerpo r´ıgido I = (~x, ~y, ~z ) sistema de coordenadas cartesianas inercial B = (~xL , ~yL, ~zL ) sistema de coordenadas cartesianas locales del cuerpo r´ıgido F vector de fuerzas de traslaci´on aplicadas al modelo Fξ vector de fuerzas de traslaci´on aplicadas al modelo expresado en el sistema de coordenadas globales Fd vector de perturbaciones de traslaci´on aplicadas al modelo τ vector de pares aplicados al modelo τη vector de pares de control aplicadas al modelo expresado en el sistema de coordenadas globales τd vector de perturbaciones de pares aplicadas al modelo L funci´on lagrangiana Ec energ´ıa cin´etica total Ep energ´ıa potencial total qi coordenada generalizada i rj punto en el sistema de coordenadas j expresado en el sistema de coordenadas i i vj velocidad del punto j rj expresado en el sistema de coordenadas i Wη Jacobiano expresado en coordenadas locales J Jacobiano expresado en coordenadas globales M(η) matriz de inercia del sub-sistema de rotaci´on C(η, η) ˙ matriz de los t´erminos de Coriolis y centr´ıpetos del sub-sistema de rotaci´on
Cap´ıtulo 1 Introducci´ on
1.1.
Motivaci´ on
Los sistemas de control de vuelo han despertado un gran inter´es en los u ´ltimos a˜ nos, debido al reto que supone tanto conseguir veh´ıculos a´ereos totalmente aut´onomos, o no tripulados (en ingl´es nombrados uav’s - Unmanned Aerial Vehicles), como por poder ayudar a un pilotaje m´as sencillo e intuitivo de los mismos. Este tipo de veh´ıculo puede verse tanto en el ´ambito militar como en el civil, con aplicaciones desarrolladas para tareas de b´ usqueda y rescate, vigilancia comercial, espionaje, filmaci´on cinematograf´ıa, inspecci´on en situaciones donde se realicen vuelos en condiciones hostiles (Pallet y Ahmad, 1991), as´ı como la realizaci´on de maniobras acrob´aticas, entre otras. Hasta hace poco tiempo, desarrollar un veh´ıculo a´ereo en escala miniatura y controlado de manera aut´onoma era un sue˜ no de muchos investigadores, los cuales estaban limitados por las restricciones impuestas por el hardware hasta entonces existente. Lo que hizo posible la construcci´on de robots a´ereos aut´onomos fue los recientes avances tecnol´ogicos en actuadores y sensores en escala reducida (mems - Micro Electromechanical Systems), as´ı como en el almacenamiento de energ´ıa y en el procesamiento de datos. Adem´as, el desarrollo de sistemas de control para este tipo de veh´ıculos no es trivial, debido principalmente a la din´amica tan compleja inherente en los sistemas aerodin´amicos, los cuales son multivariables, subactuados y adem´as presentan diversas caracter´ısticas no lineales. Esto significa que las leyes cl´asicas de control lineales y monovaribales pueden tener muy limitada su cuenca de atracci´on, provocando inestabilidades cuando se opera en condiciones no muy lejanas a las de equilibrio. Por otra parte, las t´ecnicas desarrolladas
2
1 Introducci´on
para robots totalmente actuados tampoco se aplican directamente al caso de sistemas mec´anicos no lineales subactuados (Fantoni y Lozano, 1995). Para aumentar tanto la fiabilidad como las prestaciones de estos sistemas, se suele requerir estrategias de control avanzadas que permitan tener en cuenta, por una parte, la complejidad de estos sistemas, y por otra, las incertidumbres propias de cualquier modelado. Tales requisitos pueden ser posibles utilizando t´ecnicas de modelado no lineal y de teor´ıa de control no lineal moderna, lo que permite alcanzar un alto desempe˜ no en vuelos aut´onomos (Castillo et al., 2005), y en distintas condiciones de vuelo (vuelo estacionario, vuelo en punto fijo, aterrizaje/despegue, ...). Los objetivos de un sistema de control de vuelo pueden clasificarse en tres fases, en funci´on de la autonom´ıa que alcance el sistema:
Sistema para incrementar la estabilidad (del ingl´es sas: Stability Augmentation Systems): Este tipo de sistemas persigue ayudar al pilotaje del veh´ıculo, estabilizando el sistema con un control de bajo nivel. As´ı se evita que el piloto deba actuar en base al comportamiento din´amico de un sistema, que una vez alejado de cierto punto de equilibrio, deja de ser intuitivo para el razonamiento humano; Sistemas para incrementar el comportamiento (del ingl´es cas: Control Augmentation Systems): Estos sistemas est´an en un nivel jer´arquico superior a los sas. As´ı, adem´as de estabilizar al veh´ıculo, estos sistemas deben ser capaces de proporcionar una respuesta con ciertas prestaciones a referencias que d´e el piloto, como por ejemplo, el seguimiento del ´angulo de cabeceo; Sistemas de pilotaje autom´atico (del ingl´es Autopilots): Constituyen el nivel de control jer´arquicamente superior. Son sistemas de control totalmente autom´aticos que son capaces de realizar por s´ı solos ciertos tipos de maniobras, como por ejemplo, el despegue, el aterrizaje, o vuelo estacionario a cierta altura.
En el ´ambito del control de vuelo, uno de los sistemas m´as estudiados han sido los aviones. Sin embargo, uno de los conceptos que normalmente se utilizan para desarrollar leyes de control aplicadas a un uav es el vtol (Vertical Take-Off and Landing). Un tipo de aeronave que actualmente est´a siendo muy referenciada en el ´ambito de control es el helic´optero en la configuraci´on quadrotor. En comparaci´on con los aeroplanos, este tipo de aeronave posee una mayor agilidad para maniobrar. Sin embargo, su control se hace mucho m´as complejo, entre otros motivos, por la mayor inestabilidad de su din´amica. Seg´ un Castillo et al. (2005), este tipo de helic´optero consigue un vuelo estacionario estable y preciso a trav´es del balance de las fuerzas de propulsi´on ejercidas por las cuatro h´elices accionadas por sus respectivos motores el´ectricos.
1.1 Motivaci´on
3
Son muchas las ventajas que tienen este tipo de helic´optero con respecto a las de uno convencional, entre ellas se pueden citar las siguientes:
El aumento de la capacidad de carga debido a la suma de los empujes generados por los cuatro rotores; La alta maniobrabibilidad, lo cual permite el despegue y el aterrizaje, as´ı como vuelos en entornos complicados; La sencillez del dise˜ no mec´anico, lo cual proporciona el control del movimiento a trav´es de accionamiento directo de los rotores variando sus velocidades. En un helic´optero convencional, la velocidad de giro de las h´elices suele ser constante, controlando el movimiento mediante la variaci´on de los ´angulos de ataque de las palas (c´ıclico y colectivo). Esto requiere transmisiones entre los rotores, adem´as de elementos mec´anicos de precisi´on para poder variar los mencionados ´angulos; Los motores el´ectricos en lugar de motores de combusti´on, lo cual hacen de estos helic´opteros un veh´ıculo especialmente interesante para su uso en el interior de edificios, ya que no contaminan el aire con residuos de la combusti´on.
Como desventajas, este tipo de helic´optero presenta un aumento de peso y un aumento en el consumo de energ´ıa debido a los motores extras. Desde el punto de vista de control, la construcci´on de este tipo de helic´optero miniatura est´a lejos de simplificar el problema: m´as bien sucede lo contrario. Esto se debe a que los pares y fuerzas necesarios para controlar el sistema son aplicados no s´olo a trav´es de efectos aerodin´amicos, sino tambi´en a trav´es del efecto de acoplamiento que aparece entre la din´amica de los rotores y la del cuerpo de la maqueta, como consecuencia del principio de acci´on-reacci´on originado en la aceleraci´on y desaceleraci´on de los grupos motor-h´elice (efecto que no sucede en el control con velocidad de h´elices constantes). Estos efectos de acoplamiento tienen implicaciones en el control de la din´amica del sistema. Por ejemplo, si se consideran como salidas a controlar la posici´on y el ´angulo de gui˜ nada, una linealizaci´on por realimentaci´on est´atica de la din´amica completa del helic´optero quadrotor da lugar a una matriz singular haciendo que el desacoplamiento entrada-salida sea inviable, por lo que no se puede emplear esta t´ecnica directamente (Mistler et al., 2001). Este hecho, unido con las incertidumbres de modelado, especialmente en el rango de alta frecuencia, hace que el sistema sea incluso m´as dif´ıcil de controlar que un helic´optero convencional, al menos empleando t´ecnicas b´asicas de control. As´ı que, el inter´es por el desarrollo de controladores para el helic´optero quadrotor en escala reducida est´a demostrado en diversas publicaciones que han sido realizadas en los u ´ltimos a˜ nos. En Mistler et al. (2001) se utiliz´o un modelo no lineal que representa tanto la
4
1 Introducci´on
cinem´atica como la din´amica del veh´ıculo, y a trav´es de las Leyes de Newton se obtuvo las ecuaciones din´amicas para el helic´optero quadrotor. En este modelo se consider´o las fuerzas y momentos aerodin´amicos actuantes en el uav. Para realizar la tarea de seguimiento de trayectoria se demostr´o que no se pueden desacoplar las salidas por linealizaci´on por realimentaci´on est´atica, y se propuso un controlador con desacoplamiento entrada-salida y linealizaci´on exacta por realimentaci´on din´amica, siendo corroborado mediante simulaci´on, donde se han considerado todos los estados medibles. Esta estrategia se mostr´o estable y robusta en presencia de viento y de incertidumbres param´etricas. En Bouabdallah et al. (2004a) se present´o el dise˜ no de un quadrotor para laboratorio, as´ı como una estrategia de control para el mismo, basada en la estabilizaci´on del subsistema de rotaci´on mediante funciones de Lyapunov, junto con un control de la altura mediante linealizaci´on por realimentaci´on. En Bouabdallah et al. (2004b), lo mismos autores presentaron un modelo din´amico para el helic´optero quadrotor a trav´es de la formulaci´on de Lagrange-Euler, considerando adem´as las din´amicas de los rotores. En este art´ıculo se realiz´o una comparaci´on entre dos t´ecnicas de control: pid y lq. Para el dise˜ no del controlador pid se consider´o el modelo linealizado en torno al origen y para el dise˜ no del control LQ se us´o una estructura bilineal. Se presentaron resultados experimentales donde el control pid se mostr´o m´as eficaz que el control ´optimo por considerar las din´amicas de los rotores. En Mederreg et al. (2004) se mostraron resultados de simulaci´on para un control basado en t´ecnicas de Backstepping utilizando un observador del estado, mientras que en Mahony y Hamel (2004) se combin´o est´a t´ecnica con un control basado en Lyapunov. En Bouabdallah y Siegwart (2005) se describi´o de nuevo la misma plataforma utilizada en los art´ıculos anteriores, pero en ´este, el modelo din´amico del helic´optero quadrotor se obtuvo a trav´es del formalismo de Newton-Euler. Para el dise˜ no del controlador, las ecuaciones del sistema fueron escritas en variables de estado y divididas en dos sub-sistemas: el de rotaci´on angular y el de traslaci´on lineal. Se presentaron dos t´ecnicas de control: Backstepping y Sliding-Mode. En primer lugar se control´o el sub-sistema de rotaci´on angular utilizando funciones de Lyapunov, con el objetivo de estabilizar el helic´optero en una posici´on deseada. Posteriormente se control´o la altura y el movimiento lineal en el plano xy. Se emplearon simulaciones para sintonizar los controladores, los cuales se validaron con resultados experimentales en el sistema real. Otros trabajos, como (Madani y Benellegue, 2006a,b), tambi´en han utilizado la t´ecnica de Backstepping para controlar el helic´optero quadrotor. Trabajos m´as recientes pueden encontrarse en Rong y Ozguner (2006), donde se sintetiz´o un controlador basado en modos deslizantes; en Lara et al. (2006), donde se presentaron nuevos resultados para calcular los m´argenes de robustez del sistema de control para un quadrotor utilizando un pd multivariable para estabilizar la posici´on del veh´ıculo; o en Castillo et al. (2005, 2007), donde se dise˜ naron controladores no lineales para la esta-
1.1 Motivaci´on
5
bilizaci´on del sistema basados en an´alisis de Lyapunov y en la t´ecnica de saturaciones anidadas. Adicionalmente al control inercial, el helic´optero quadrotor ha sido tambi´en controlado mediante realimentaci´on por visi´on artifical. En Metni et al. (2005), se considera un modelo din´amico mec´anico general del uav apto para realizar vuelos casi estacionarios. La estimaci´on de la posici´on y orientaci´on se realiz´o a trav´es de visi´on utilizando una t´ecnica de control servo visual basada en homograf´ıas. As´ı, se dedujo una ley de control basada en Backstepping que fuerza la trayectoria a seguir a trav´es de una secuencia de im´agenes pre-grabadas en entornos desconocidos. La trayectoria deseada se obtiene a trav´es de un operador que ense˜ na cada paso preliminarmente, siendo comparadas la imagen actual y la imagen deseada a una imagen de referencia por las matrices homogr´aficas en cada paso. Para determinar el vector de traslaci´on se estima la informaci´on de la profundidad de referencia usando una ley de control adaptativa. En Altug et al. (2002) y Tournier et al. (2006) se ha utilizado una c´amara en tierra para obtener la posici´on y orientaci´on del helic´optero, y una c´amara montada sobre el veh´ıculo utilizando patrones de Moir´e para obtener una estimaci´on de los seis grados de libertad, respectivamente. Como se deduce de lo anteriormente expuesto, se han aplicado diversas estrategias de control al helic´optero quadrotor. Sin embargo, la mayor´ıa de ellas no considera la presencia de perturbaciones externas y ni incertidumbres en los par´ametros del modelo. Por lo tanto, una de las propuestas de este trabajo es utilizar la teor´ıa de control H∞ , introducida por van der Schaft en su prominente art´ıculo (van der Schaft, 1992), para mejorar el desempe˜ no del sistema frente a perturbaciones e incertidumbres (Ortega et al., 2005). El objetivo de la teor´ıa de control H∞ es limitar (minimizar) la relaci´on entre la energ´ıa de la se˜ nal de error y la energ´ıa de la se˜ nal de perturbaci´on. En un planteamiento general, la t´ecnica no lineal para esta teor´ıa considera dos ecuaciones en derivadas parciales de Hamilton-Jacobi-Bellman-Isaacs (HJBI PDEs), las cuales sustituyen a las ecuaciones de Riccati en el caso de la formulaci´on del control H∞ lineal. El principal problema en el caso no lineal es que no existe un m´etodo general para resolver estas ecuaciones (HJBI PDEs). En Ortega et al. (2005) se propuso una estrategia para sistemas mec´anicos considerando la ecuaci´on din´amica del error. En tal estrategia se aplica un control H∞ no lineal formulado v´ıa teor´ıa de juegos, la cual provee, a trav´es de una soluci´on anal´ıtica, una ganancia constante similar a los resultados obtenidos con procedimientos de linealizaci´on por realimentaci´on. El helic´optero quadrotor ha sido controlado usando controladores H∞ lineales basados en modelos linealizados. En Chen y Huzmezan (2003), por ejemplo, se present´o un
6
1 Introducci´on
modelo no lineal simplificado para el movimiento del UAV. El problema de seguimiento de trayectoria se dividi´o en dos partes: en primer lugar se busc´o la estabilizaci´on de las velocidades angulares y de la velocidad vertical a trav´es de un controlador H∞ de 2DOF utilizando la t´ecnica de loop shaping. La misma t´ecnica se ha utilizado para controlar, en un bucle externo a ´este, las velocidades longitudinal y lateral, el ´angulo de gui˜ nada y la altura. Para resolver el problema de seguimiento se dise˜ no´ un cpbm (Control Predictivo Basado en Modelo) lineal basado en un modelo que agrega los bucles internos y el modelo del helic´optero. En Park et al. (2005) se utiliz´o un algoritmo de compensaci´on de la din´amica para el control del sistema, y en Mokhtari et al. (2005) se presentaron resultados de simulaci´on con la aplicaci´on de una linealizaci´on por realimentaci´on junto con un controlador H∞ lineal externo. Adem´as de las incertidumbres param´etricas y posibles perturbaciones que afectan el sistema, muchas de estas aplicaciones de control asumen que los valores calculados nunca alcanzar´an los limites de saturaci´on de los actuadores, aunque en la pr´actica esto no es verdad. Por lo tanto, el cpbm viene a ser un m´etodo de control que presenta caracter´ısticas muy interesantes cuando se trata de controlar sistemas mec´anicos y para realizar seguimiento de trayectoria. Por ejemplo, cuando el veh´ıculo est´a muy lejos de su destino, las se˜ nales de control generadas son normalmente m´as altas que las admisibles. Sin embargo, los veh´ıculos est´an dotados de partes mec´anicas y electr´onicas, las cuales est´an sujetas a limitaciones f´ısicas del sistema. As´ı, cuando las restricciones pueden ser consideradas, los algoritmos de cpbm se presentan como una interesante elecci´on. El cpbm calcula acciones de control para un determinado horizonte de tiempo futuro, de tal manera que la predicci´on de la salida de la planta siga cerca de la referencia, minimizando una determinada funci´on de coste multiobjetivo respecto a determinadas variables de decisi´on y considerando un conjunto de restricciones (Camacho y Bordons, 1998). Para hacer esto, los valores de las salidas predichas son calculadas como una funci´on de valores pasados de las entradas y salidas, y de se˜ nales de control futuras, haciendo uso de un modelo expl´ıcito del proceso y sustituyendo en la funci´on de coste, obteniendo una expresi´on cuya minimizaci´on conduce a los valores deseados. Se puede obtener una soluci´on anal´ıtica para una funci´on de coste cuadr´atica, si el modelo es lineal y no existen restricciones; en caso contrario se deben usar m´etodos iterativos de optimizaci´on (Camacho y Bordons, 1998). Debido a su formulaci´on, el cpbm tambi´en permite el uso de referencias previamente conocidas para el calculo de la ley de control (Normey-Rico et al., 1999). Dado que las trayectorias son normalmente conocidas y usando una adecuada instrumentaci´on en el veh´ıculo que informe sobre su desplazamiento y localizaci´on, o bien con informaci´on del entorno donde se encuentra (usando, por ejemplo, gps, mapas digitales, etc), el controlador predictivo se presenta como una t´ecnica muy apropiada para esta tarea. Adem´as de
1.2 Objetivos
7
conducir el veh´ıculo suavemente, esta t´ecnica permite mejorar la autonom´ıa del mismo, aparte de de ser f´acilmente extendido a sistemas multivariables. Como desventaja se puede considerar el elevado coste computacional introducido, que puede hacer que sea imposible realizar aplicaciones reales. En este trabajo, adem´as de presentar diversos algoritmos de control propuestos en la literatura, se desarrollar´an tres estrategias de control para seguimiento de trayectoria del helic´optero quadrotor. Las estrategias ser´an presentadas en un orden de comprehensi´on del sistema a ser controlado y mejor´ıa de las prestaciones propuestas. As´ı, en la primera estructura desarrollada por el autor se utiliza una ley de control basada en Backstepping para los movimientos de traslaci´on y un controlador H∞ no lineal para estabilizaci´on de los movimientos de rotaci´on. En la segunda estrategia se realiza el seguimiento de referencia a trav´es de un controlador predictivo basado en el modelo de error obtenido v´ıa linealizaciones sucesivas, y la estabilizaci´on se realiza a trav´es del controlador H∞ no lineal. Para finalizar, en la tercera estructura se ha dise˜ nado un controlador robusto para los movimientos de de traslaci´on v´ıa s´ıntesis de control H∞ con realimentaci´on de estados usando lmis. Para la estabilizaci´on del helic´optero quadrotor se mantuvo el controlador H∞ no lineal.
1.2.
Objetivos
Este trabajo tiene como objetivo principal el desarrollo e implementaci´on de algoritmos de control robusto y predictivo para resolver el problema de seguimiento de trayectoria de un veh´ıculo a´ereo aut´onomo. El uav que ser´a utilizado es un helic´optero de cuatro rotores en escala reducida. Inicialmente, se realizar´a un estudio de modelos basados en leyes f´ısicas del helic´optero quadrotor propuestos en la literatura, con la finalidad de obtener un modelo que represente el comportamiento del veh´ıculo en presencia de diversas formas de perturbaciones y que sea adecuado al prototipo utilizado en este trabajo. A partir de estos modelos, se desarrollar´an t´ecnicas de control de forma que se garantice la robustez en el problema de seguimiento de trayectoria que ha de realizar el helic´optero quadrotor. Los resultados de simulaci´on ser´an utilizados para realizar pruebas comparativas entre las distintas estrategias de control desarrolladas en este trabajo y t´ecnicas de control propuestas en la literatura. Finalmente, una vez desarrolladas las estrategias de control, ´estas ser´an implementadas
8
1 Introducci´on
en el helic´optero quadrotor utilizando un sistema de control remoto, donde un ordenador en tierra se comunica con la aeronave v´ıa comunicaci´on inal´ambrica.
1.3.
Organizaci´ on del trabajo
Este trabajo est´a dividido como sigue:
En el Cap´ıtulo 2 se describe el helic´optero quadrotor, comentando algunas caracter´ısticas de funcionamiento, y luego se realiza el modelado de un helic´optero miniatura en la configuraci´on de cuatro rotores. Inicialmente, se presenta la matriz de rotaci´on del veh´ıculo, as´ı como sus ecuaciones cinem´aticas. Despu´es, se presentar´an las ecuaciones din´amicas para los movimientos de rotaci´on y traslaci´on a trav´es de dos formulaciones matem´aticas: Newton-Euler y Lagrange-Euler. Tales modelos ser´an presentados tambi´en en formas adecuadas para el dise˜ no de los controladores. El Cap´ıtulo 3 presenta cinco estructuras de control para resolver el problema de seguimiento de trayectorias. Primero se describe una estrategia basada en el desacoplamiento entrada-salida con linealizaci´on por realimentaci´on din´amica. Despu´es se desarrollar´a una estrategia basada en la t´ecnica de Backstepping. La estrategia siguiente utiliza la estructura de Backstepping para el control de la traslaci´on, mientras que para la estabilizaci´on del sub-sistema de rotaci´on se desarrolla una estructura de control H∞ no lineal. La cuarta y quinta estructuras de control utilizan el controlador H∞ no lineal para estabilizaci´on del helic´optero, mientras para seguimiento de trayectorias se desarrollan una ley de control predictivo basado en el modelo de error con linealizaciones sucesivas, y una ley de control H∞ lineal v´ıa LMIs, suponiendo los estados del sub-sistema de rotaci´on par´ametros inciertos. Cada estrategia de control se corrobora a trav´es de resultados de simulaci´on, mientras los resultados experimentales son presentados solo para los controladores de estabilizaci´on del sistema. En el Cap´ıtulo 4 se presenta el equipo utilizado, describiendo las caracter´ısticas del helic´optero, las instrumentaci´on utilizada, as´ı como los programas desarrollados para controlar el uav de forma remota, y resultados preliminares obtenidos experimentalmente . El Cap´ıtulo 5 finaliza con las conclusiones del trabajo y las perspectivas futuras de investigaci´on.
Cap´ıtulo 2 Descripci´ on y Modelado del Helic´ optero QuadRotor
2.1.
Descripci´ on del UAV
El veh´ıculo a´ereo utilizado en este trabajo es un helic´optero en miniatura en la configuraci´on de cuatro rotores coplanarios (quadrotor ), como presentado en la Figura 2.1. El movimiento del uav se origina a partir de los cambios de velocidad de los rotores. Cada rotor consta de un motor el´ectrico de corriente continua, un mecanismo de engranaje y un rotor de palas. Para lograr movimiento hacia adelante la velocidad del rotor trasero debe ser aumentada y, simult´aneamente, la velocidad del rotor delantero debe ser disminuida. El desplazamiento lateral se ejecuta con el mismo procedimiento, pero usando los rotores de la derecha y de la izquierda. El movimiento de gui˜ nada (yaw) se obtiene a partir de la diferencia en el par de torsi´on entre cada par de rotores, o sea, se acelera los dos rotores con sentido horario mientras se desacelera los rotores con sentido anti-horario, y vice-versa. U3
U2
F2
F1
U1
F3
F4
U4
Figura 2.1: Esquema de funcionamiento del helic´optero quadrotor.
10
2.2.
2 Descripci´on y Modelado del Helic´optero QuadRotor
Modelado del UAV
En esta secci´on se desarrollar´a el modelado basado en leyes f´ısicas que describan la posici´on y orientaci´on del helic´optero quadrotor. El modelo din´amico del helic´optero se presenta bajo dos formulaciones matem´aticas: la de Newton-Euler y la de Lagrange-Euler. Para obtener tal modelo din´amico se supone el veh´ıculo como un cuerpo r´ıgido en el espacio, sujeto a una fuerza principal (empuje) y tres momentos (pares). En la figura 2.2 se muestra las fuerzas que ejercen las distintas h´elices para generar el movimiento del veh´ıculo. φ
zL
yL
xL ψ
θ
ξ z
y
x
Figura 2.2: Esquema del helic´optero quadrotor. El par para generar un movimiento de balanceo o de roll (´angulo φ) se realiza mediante un desequilibrio entre las fuerzas f2 y f4 (ver figura 2.2). Para el movimiento de cabeceo o de pitch (´angulo θ), el desequilibrio se realizar´a entre las fuerzas f1 y f3 . El movimiento en el ´angulo de gui˜ nada o de yaw (´angulo ψ) se realizar´a por el desequilibrio ente los conjuntos de fuerzas (f1 , f3 ) y (f2 , f4 ). Este movimiento ser´a posible ya que los rotores 1 y 3 giran en sentido contrario a los rotores 2 y 4. Finalmente, el empuje total, que har´a que el helic´optero se desplace perpendicularmente al plano de los rotores, se obtendr´a como suma de las cuatro fuerzas que ejercen los rotores. Estos tipos de veh´ıculos son sistemas de vuelo de estructura ligera, por lo que el modelo din´amico debe incluir los efectos girosc´opicos resultantes tanto del cuerpo r´ıgido rotando en el espacio, como de la rotaci´on de las cuatro h´elices (Bouabdallah et al., 2004a). En la Tabla 2.1 se describen tales efectos, donde C representan t´erminos constantes, Ω es la velocidad del rotor, JR es el momento de inercia rotacional del rotor alrededor de su eje, l es la distancia del centro de masa a los rotores, J es el momento de inercia del cuerpo r´ıgido y φ, θ y ψ son los ´angulos de Tait-Bryan.
2.3 Orientaci´on del helic´optero
11
Cuadro 2.1: Principales efectos f´ısicos actuantes sobre un helic´optero (Bouabdallah et al., 2004a). Efectos
Fuentes
Efectos Aerodin´amicos
- Rotaci´on de los rotores - Giro de h´elices
Pares Inerciales Opuestos
Formulaci´on
CΩ2
- Cambio en la velocidad rotaci´on de los rotores
JR Ω˙
Efectos de la Gravedad
- Posici´on del centro de masa
l
Efectos Girosc´opicos
- Cambio en la orientaci´on del cuerpo r´ıgido
Jθψ
- Cambio en la orientaci´on del plano
Fricci´on
de los rotores
JR Ωθ, φ
- Todos los movimientos del helic´optero
˙ θ, ˙ ψ˙ C φ,
Por otra parte, un helic´optero es un sistema mec´anico subactuado con 6 grados de libertad y solamente 4 entradas de control. Debido a las diversas complejidades presentadas, se realizar´an algunas consideraciones para desarrollar el modelado, tal como se sugiere en Koo y Sastry (1999). As´ı, se despreciar´an los efectos de los momentos causados por el cuerpo r´ıgido sobre las din´amicas traslacionales, as´ı como el efecto suelo. El centro de masa se asume coincidente con el origen del sistema de coordenadas fijo al helic´optero, y se supone que la estructura del helic´optero es sim´etrica, lo que resulta en la matriz de inercia diagonal.
2.3.
Orientaci´ on del helic´ optero
Antes de obtener el modelo din´amico del helic´optero, se presentar´a c´omo estimar la posici´on y orientaci´on del veh´ıculo con respecto a un sistema de coordenadas de referencia inercial. El helic´optero, como s´olido r´ıgido, est´a caracterizado por un sistema de coordenadas ligado a ´el y con origen en su centro de masa (ver Figura 2.2). Este sistema se define considerando B = {~xL , ~yL, ~zL } como el sistema de coordenadas fijo al helic´optero, donde el eje ~xL es la direcci´on normal de ataque del helic´optero, ~yL es ortogonal a ~xL y es positivo hacia estribor en el plano horizontal, mientras que ~zL est´a orientado en sentido ascendiente y ortogonal al plano ~xL O~yL. El sistema de coordenadas inercial I = {~x, ~y , ~z}
12
2 Descripci´on y Modelado del Helic´optero QuadRotor
se considerar´a fijo con respecto a la tierra. En este trabajo se designar´a el vector ξ = {x, y, z} como la posici´on del centro de masa del helic´optero con respecto al sistema inercial I. As´ı mismo, la orientaci´on del veh´ıculo se supondr´a dada por una matriz de rotaci´on RI : B → I, donde RI ∈ SO(3) es una matriz de rotaci´on ortonormal (Fantoni y Lozano, 1995). La rotaci´on de un UAV o, en l´ıneas m´as generales, la de un cuerpo r´ıgido puede ser obtenida utilizando diversos m´etodos como, por ejemplo: a´ngulos de Euler, cuaternios, etc. A trav´es de 12 definiciones independientes de los ´angulos de Euler se puede representar la orientaci´on relativa de dos sistemas de coordenadas. Los m´as populares son la convenci´onx (giro alrededor de z, x′ , z ′′ ), convenci´on-y (giro alrededor de z, y ′ , z ′′ ) y convenci´on-xyz (giro alrededor de x, y ′, z ′′ ). Esta u ´ltima convenci´on es muy utilizada para aplicaciones de ingenier´ıa aeroespacial y se nombra ´angulos de Tait-Bryan, tambi´en conocidos por “´angulos Cardano” (Space y Spazio, 1997; Dziugys y Peters, 2001; Bouabdallah et al., 2006). Por lo tanto, los ´angulos de Tait-Bryan son tres ´angulos usados para describir una rotaci´on general en el espacio Euclideo tridimensional a trav´es de tres rotaciones sucesivas en torno de ejes del sistema m´ovil en el cual est´an definidos. As´ı, en este trabajo se usar´an los ´angulos de Tait-Bryan para describir la orientaci´on de un helic´optero. As´ı, la configuraci´on de la rotaci´on de un cuerpo r´ıgido en el espacio es realizada a trav´es de tres rotaciones sucesivas: 1. Rotaci´on seg´ un ~x de φ: el primer giro es el correspondiente al ´angulo de roll o de balanceo, φ, y se realiza alrededor del eje ~x. x1 1 0 0 xL y1 = 0 cos φ − sin φ yL (2.1) z1 0 sin φ cos φ zL
2. Rotaci´on seg´ un ~y de θ: el segundo giro se realiza alrededor del eje ~y a partir del nuevo eje ~yL, con el ´angulo pitch o ´angulo de cabeceo, θ para dejar el eje ~zL en su posici´on final. x2 cosθ 0 sin θ x1 y2 = 0 1 0 y1 (2.2) z2 −sinθ 0 cos θ z1 3. Rotaci´on seg´ un ~z de ψ: el tercer giro y u ´ltima rotaci´on corresponde al ´angulo de guin ˜ada o yaw, ψ, alrededor del eje ~z a partir del nuevo eje ~zL para llevar el helic´optero a su posici´on final. x cosψ −sinψ 0 x2 y = sinψ cosψ 0 y2 (2.3) z 0 0 1 z2
2.3 Orientaci´on del helic´optero
13
Esta representaci´on sufre de una singularidad en θ = ±pi/2. Sin embargo, en φ y ψ se permite un giro de 360◦ . La Figura 2.3 representa las tres rotaciones. ψ
Z1 Z
z
φ θ
y
ψ centro de masa
θ
X
X2
φ
Y1
θ
Y
ψ
x
φ
Figura 2.3: Rotaci´on de los ´angulos de Tait-Bryan del sistema de coordenadas inercial al sistema de coordenadas fijado al helic´optero (Space y Spazio, 1997).
A partir de las rotaciones presentadas anteriormente, se definen las matrices de rotaci´on que representan la orientaci´on del cuerpo r´ıgido rotando alrededor de cada eje como sigue: 1 0 0 cos θ 0 senθ 1 0 , R (x, φ) = 0 cos φ −senφ , R (y, θ) = 0 0 senφ cos φ −senθ 0 cos θ (2.4) cos ψ −senψ 0 R (z, ψ) = senψ cos ψ 0 0 0 1 La matriz de rotaci´on completa de B respecto a I, llamada Matriz Coseno Directa, viene dada por (Bouabdallah et al., 2006): RI = R (z, ψ) · R (y, θ) · R (x, φ)
cos ψ −senψ 0 cos θ 0 senθ 1 0 0 1 0 · 0 cos φ −senφ RI = senψ cos ψ 0 · 0 0 0 1 −senθ 0 cos θ 0 senφ cos φ
cos ψ cos θ cosψsenθsenφ − senψcosφ cosψsenθcosφ+senψsenφ RI = senψ cos θ senψsenθsenφ + cosψcosφ senψsenθcosφ − cosψsenφ −senθ cos θsenφ cos θcosφ
(2.5)
14
2 Descripci´on y Modelado del Helic´optero QuadRotor
La matriz de rotaci´on expresada en el sistema de coordenadas B es la traspuesta de RI , debido su propiedad de ortonormalidad, y viene dada por: cos ψ cos θ senψ cos θ −senθ RB = cosψsenθsenφ − senψcosφ senψsenθsenφ + cosψcosφ cos θsenφ cosψsenθcosφ+senψsenφ senψsenθcosφ − cosψsenφ cos θcosφ A partir de la matriz de rotaci´on (2.5) generada por las tres rotaciones sucesivas y su propiedad de ortonormalidad, relacionando la derivada de la matriz ortonormal con una cierta matriz anti-sim´etrica (Craig, 1989), se puede obtener las ecuaciones cinem´aticas de rotaci´on del veh´ıculo que establecen las relaciones entre las velocidades angulares. Sea una matriz ortonormal R, donde: R T R = In
(2.6)
˙ T R + RT R ˙ = 0n R
(2.7)
˙ S = RT R
(2.8)
ST + S = 0n
(2.9)
y su derivada en el tiempo es:
Definiendo: se obtiene a partir de (2.7) que: donde S una matriz anti-sim´etrica. La relaci´on entre la derivada de la matriz ortonormal y la matriz anti-sim´etrica es la siguiente: ˙ S = R−1 R
(2.10)
Por lo tanto, las ecuaciones cinem´aticas para determinar la postura del helic´optero, suponiendo la matriz de rotaci´on (2.5), vienen dadas por: ˙ I = RI · S(ω) R
(2.11)
donde ω = [p q r]T son las velocidades angulares en el sistema de coordenadas fijado al cuerpo r´ıgido y S(ω) (S(ω)(·) = ω × ·) es la siguiente matriz anti-sim´etrica (Olfati-Saber, 2001): 0 −r q 0 −p S(ω) = r (2.12) −q p 0 As´ı, manipulando matem´aticamente la ecuaci´on (2.11) se obtiene la siguiente relaci´on: ˙ φ 1 sin φ tan θ cos φ tan θ p θ˙ = 0 cos φ − sin φ q (2.13) ˙ 0 sin φ sec θ cos φ sec θ r ψ
2.4 Formulaci´on de Newton-Euler
15
˙ θ, ˙ ψ) ˙ es una funci´on discontinua. Estas La variaci´on de los ´angulos de Tait-Bryan (φ, derivadas son distintas de las velocidades angulares en el sistema de coordenadas del cuerpo r´ıgido (p, q, r) las cuales son f´ısicamente medibles con gir´oscopos, por ejemplo. Normalmente, se utilizan Unidades de Medici´on Inercial (en ingl´es: Inertial Measurement Unit - imu) para medir las rotaciones y calcular directamente los ´angulos de Tait-Bryan (Bouabdallah et al., 2006). La relaci´on entre las velocidades angulares en el sistema fijado al cuerpo y la variaci´on en el tiempo de los ´angulos de Tait-Bryan se obtiene a trav´es de la inversi´on del Jacobiano de (2.13), y viene dada por: ˙ φ p 1 0 − sin θ q = 0 cos φ sin φ cos θ θ˙ r 0 − sin φ cos φ cos θ ψ˙
(2.14)
El movimiento rotacional del helic´optero viene dado por las componentes de las velocidades angulares en los tres ejes: velocidad angular de balanceo (p), velocidad angular de cabeceo (q), y velocidad angular de gui˜ nada (r), sobre los ejes ~xL , ~yL y ~zL respectivamente. Estas velocidades rotacionales son debidas a los pares ejercidos sobre el sistema ligado al cuerpo del helic´optero producidas por las fuerzas externas, las cuales definen los diferentes momentos en los tres ejes: momento de balanceo (L), momento de cabeceo (M), y momento de gui˜ nada (N) sobre los ejes ~xL , ~yL y ~zL respectivamente (Esteban, 2005). El movimiento de traslaci´on viene dado por las componentes de la velocidad v = [u0 v0 w0 ]T en los tres ejes inerciales con relaci´on a la velocidad absoluta del helic´optero expresada en B, V = [uL vL wL ]T . Las velocidades v y V est´an relacionadas por la expresi´on: v = RI · V
2.4.
(2.15)
Formulaci´ on de Newton-Euler
En esta secci´on se obtendr´an las ecuaciones din´amicas del helic´optero mediante la formulaci´on de Newton-Euler. Las ecuaciones din´amicas de un cuerpo r´ıgido sujeto a fuerzas externas aplicadas al centro de masa y expresadas en el sistema de coordenadas ligado al cuerpo se pueden obtener a trav´es de la formulaci´on de Newton-Euler como sigue:
mI3×3 0 0 J
˙ V ω˙
+
ω × mV ω × Jω
=
F + Fd τ + τd
(2.16)
16
2 Descripci´on y Modelado del Helic´optero QuadRotor
donde J ∈ ℜ3×3 es la matriz de inercia, I3×3 ∈ ℜ3×3 es la matriz identidad, V es el vector velocidad traslacional (en B), ω es el vector velocidad angular (en B) y m es la masa total del helic´optero. De acuerdo con la suposiciones realizadas al inicio del cap´ıtulo, la matriz de inercia de puede suponer diagonal: Ixx 0 0 J = 0 Iyy 0 (2.17) 0 0 Izz T Considerando el vector de estado ξ v η ω donde ξ y v ∈ ℜ3 representan respectivamente la posici´on y velocidad lineal expresadas en I, η = [φ θ ψ] y ω ∈ ℜ3 la velocidad angular expresada en B, se pueden escribir las ecuaciones de movimiento de un cuerpo r´ıgido como sigue: ξ˙ = v mv˙ = RI Fb (2.18) ˙ I = RI S(ω) R Jω˙ = −ω × Jω + τb ˙ I. donde ξ˙ = v = RI V y S(ω) = RTI R
Tal como se expuso en la introducci´on del cap´ıtulo, el helic´optero quadrotor es un sistema mec´anico subactuado con 6 grados de libertad y s´olo 4 actuadores (la fuerza principal y los tres momentos actuantes sobre ´el producidos por las cuatro h´elices). Por otra parte, Fb ∈ B y τb ∈ B son las fuerzas y pares externos aplicados al cuerpo del helic´optero, y consisten en su propio peso, en el vector de fuerzas aerodin´amicas, en el empuje y en los pares desarrollados por los cuatro motores. Estas fuerzas y pares pueden ser expresados de la siguiente forma: 4 P 2 bΩi + AT RI Fb = −mg · E3 + RIE3 i=1 (2.19) 4 P τb = − JR (ω × E3 ) · Ωi + τa + AR i=1
Con las ecuaciones de fuerzas y pares (2.19), el modelo din´amico (2.18) se puede reescribir como sigue: ξ˙ = v ! 4 X b AT Ω2i + v˙ = −g · E3 + RIE3 m i=1 m (2.20) ˙ R = R S(ω) I I 4 P Jω˙ = −ω × Jω − JR (ω × E3 ) · Ωi + τa + AR i=1
donde:
2.4 Formulaci´on de Newton-Euler
17
Los vectores AT = [Ax Ay Az ]T y AR = [Ap Aq Ar ]T son las fuerzas y pares aerodin´amicos que act´ uan sobre el helic´optero, y son calculados a partir de los coeficientes aerodin´amicos Ci como Ai = 21 ρaire Ci W 2 (ρaire es la densidad del aire, W es la velocidad del helic´optero con respecto al aire) (Mistler et al., 2001). g es la constante gravitacional (g = 9,81m/s2 ). JR es el momento de inercia rotacional del rotor alrededor de su eje. b es el coeficiente de empuje aplicado por los rotores. Ωi es la velocidad angular del i -en´esimo rotor.
El sumatorio de fuerzas traslacionales que act´ uan sobre el helic´optero, tal como se presenta en la ecuaci´on (2.19), est´a compuesto por el empuje total generado por la suma de los cuatro rotores, por la fuerza gravitacional y por la fuerza aerodin´amica. La fuerza principal U1 , o entrada principal de control, aplicada al helic´optero viene dada por (Castillo et al., 2005): ! ! 4 4 X X fi = bΩ2i (2.21) U1 = i=1
i=1
donde fi es la fuerza de empuje generada por cada rotor. El par τa en la ecuaci´on (2.19) es el vector de pares de control aplicados al helic´optero. Este se obtiene a trav´es del esfuerzo de torsi´on τMi generado por cada motor el´ectrico considerando la din´amica de cada disco del motor como un sistema desacoplado en la variable generalizada Ωi , que denota la velocidad angular de un motor alrededor de su eje. El esfuerzo de tensi´on del motor es opuesto a la fricci´on aerodin´amica del motor τdrag = kτ Ω2i , donde kτ > 0 es una constante. As´ı, a trav´es de la segunda Ley de Newton se obtiene (Castillo et al., 2005): JR Ω˙ i = −τdrag + τMi
(2.22)
τMi = τdrag = kτ Ω2i
(2.23)
Cuando Ω˙ i = 0 se tiene que:
El momento aplicado en el cuerpo r´ıgido a lo largo de un eje es la diferencia entre el momento generado por cada motor en el otro eje. Como ya ha sido comentado anteriormente, el movimiento de cabeceo (pitch) se obtiene debido a la diferencia de empuje entre el rotor frontal y el rotor trasero, mientras el movimiento de balanceo (roll) se obtiene mediante la diferencia de empuje entre el rotor de la izquierda y el rotor de la derecha. El movimiento de gui˜ nada (yaw) se obtiene por la diferencia de pares entre los dos rotores que giran en sentido horario y los dos rotores que giran en sentido anti-horario. Estos
18
2 Descripci´on y Modelado del Helic´optero QuadRotor
movimientos deben ser logrados con la fuerza principal constante (Castillo et al., 2005). As´ı, el par de control aplicado en los tres ejes viene dado por: (f2 − f4 ) l lb (Ω22 − Ω24 ) l · U2 (f3 − f1 ) l = l · U3 lb (Ω23 − Ω21 ) τa = (2.24) 4 P 2 2 2 2 k (Ω + Ω − Ω − Ω ) U τMi τ 4 1 3 2 4 i=1
donde l es la distancia entre los motores y el centro de gravedad.
Cada motor se puede considerar como un disco r´ıgido rotando alrededor de su eje ~z con una velocidad Ωi . El eje de rotaci´on del motor se mueve con la velocidad angular del eje de referencia, lo cual produce los siguientes movimientos girosc´opicos: τGa = −
4 X i=1
JR (ω × E3 ) · Ωi
(2.25)
donde JR es el momento de inercia del motor alrededor de su eje. As´ı, usando la ecuaciones (2.14), (2.15), (2.21) y (2.24), y definiendo el nuevo vector de estados como (Mistler et al., 2001): ζ = [x y
z
u0
v0
w0
φ θ
ψ
p q
r
]T
(2.26)
la ecuaci´on del movimiento (2.20) se puede reescribir en la siguiente forma:
x˙ = u0 y˙ = v0
z˙ = w0 Ax 1 (cos ψ sin θ cos φ + sin ψ sin φ) · U1 + u˙ 0 = m m Ay 1 (sin ψ sin θ cos φ − cos ψ sin φ) · U1 + v˙ 0 = m m 1 Az w˙ 0 = −g + (cos θ cos φ) · U1 + m m ζ˙ = ˙ φ = p + q sin φ tan θ + r cos φ tan θ θ˙ = q cos φ − r sin φ ψ˙ = q sin φ sec θ + r cos φ sec θ p˙ = (Iyy − Izz ) qr − JR Ω q + l U2 + Ap Ixx Ixx Ixx Ixx Aq (I − I ) J Ω l zz xx R q˙ = pr + p+ U3 + Iyy Iyy Iyy Iyy (I − I ) 1 A xx yy r r˙ = pq + U4 + Izz Izz Izz
(2.27)
La ecuaci´on diferencial no lineal (2.27) se puede escribir en una forma m´as compacta, como: 4 X ˙ζ = f (ζ) + gi (ζ) Ui (2.28) i=1
2.4 Formulaci´on de Newton-Euler
19
donde:
u0
v0 w0 A x m Ay m Az −g + m f (ζ) = p + q sin φ tan θ + r cos φ tan θ q cos φ − r sin φ q sin φ sec θ + r cos φ sec θ JR Ω Ap (Iyy − Izz ) qr − q+ I I I xx xx xx (I − Ixx ) JR Ω Aq zz pr + p+ Iyy Iyy Iyy Ar (Ixx − Iyy ) pq + Izz Izz h
g1 (ζ) = g2 (ζ) = g3 (ζ) = g4 (ζ) =
0 0 0
g14
g15
g16
,
0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
l
0 0
Ixx
0 0 0 0 0 0 0 0 0 0
l
0
Iyy
0 0 0 0 0 0 0 0 0 0 0
1 Izz
iT
T
T
T
con 1 (cos ψ sin θ cos φ + sin ψ sin φ) m 1 (sin ψ sin θ cos φ − cos ψ sin φ) g15 = m 1 g16 = (cos θ cos φ) m
g14 =
El modelo matem´atico (2.28) puede asumirse como suficientemente preciso en la representaci´on de todos movimientos funcionales de un veh´ıculo a´ereo aut´onomo (Mistler et al., 2001). Sin embargo, no es adecuado para dise˜ no de control porque este depende de fuerzas y momentos aerodin´amicos, los cuales son desconocidos en la presencia de vientos y turbulencias imprevisibles, y de efectos girosc´opicos que se consideran desconocidos debido a que no se tiene acceso a las velocidades de los motores. En consecuencia, estos t´erminos ser´an despreciados durante la fase de dise˜ no de control y ser´an considerados como perturbaciones externas.
20
2 Descripci´on y Modelado del Helic´optero QuadRotor
2.5.
Formulaci´ on de Lagrange-Euler
Las ecuaciones de movimiento del helic´optero se pueden expresar mediante la aplicaci´on directa de la formulaci´on de Lagrange-Euler, la cual est´a basada en el concepto de energ´ıa mec´anica (cin´etica y potencial): d ∂L ∂L Γi = − (2.29) dt ∂ q˙i ∂qi L = Ec − Ep donde:
L es la funci´on lagrangiana Ec es la energ´ıa cin´etica total Ep es la energ´ıa potencial total qi es la coordenada generalizada q˙i es la primera derivada respecto al tiempo de la coordenada generalizada Γi son las fuerzas/pares generalizados dados por fuerzas/pares no conservativos
Para desarrollar las ecuaciones de Lagrange-Euler, se vuelve a considerar el sistema de coordenadas inercial I = [~x ~y ~z ] y el sistema de coordenadas ligado al helic´optero B = [~xL ~yL ~zL ]. Para un cuerpo r´ıgido evolucionando en el espacio tridimensional, las coordenadas generalizadas se pueden escribirse como (Castillo et al., 2007): q = [x y
z
φ θ
ψ]T ∈ ℜ6
donde ξ = [x y z]T ∈ ℜ3 es la posici´on del centro de masa del helic´optero expresada en I, y η = [φ θ ψ]T ∈ ℜ3 son los ´angulos de Tait-Bryan descritos en el Apartado 2.3. El Lagrangiano para el helic´optero viene dado por: L(q, q) ˙ = EcT rans + EcRot − Ep
(2.30)
donde EcT rans es la energ´ıa cin´etica traslacional y EcRot es la energ´ıa cin´etica rotacional. Inicialmente, se va a desarrollar el t´ermino de la energ´ıa cin´etica traslacional, lo cual requiere el conocimiento de la velocidad de cada coordenada generalizada. La velocidad
2.5 Formulaci´on de Lagrange-Euler
21
lineal viene dada por la ecuaci´on (2.15), donde ξ˙ = v, y por lo tanto el cuadrado de la velocidad es: ξ˙2 (x, y, z) = (x˙ 2 + y˙ 2 + z˙ 2 ) = ξ˙T ξ˙ As´ı, la energ´ıa cin´etica traslacional puede ser escrita mediante la siguiente expresi´on: Z 1 m m EcT rans = ξ˙2 (x, y, z) dm = ξ˙2 (x, y, z) = ξ˙T ξ˙ 2 2 2 Para desarrollar el t´ermino de la energ´ıa cin´etica rotacional, consid´erese un punto rB fijo y en reposo en el sistema de coordenadas B. Sea I rB el mismo punto B rB con respecto al sistema de coordenadas inercial I, y RI la matriz de rotaci´on que relaciona el desplazamiento espacial del sistema de coordenadas B con respecto a I. El vector I rB vendr´a dado por (Fu et al., 1987): B
I
rB = R I B rB
I
rBx = (cos ψ cos θ)xL + (cosψsenθsenφ − senψcosφ)yL + (cosψsenθcosφ+senψsenφ)zL rBy = (senψ cos θ)xL + (senψsenθsenφ + cosψcosφ)yL + (senψsenθcosφ − cosψsenφ)zL I rBz = (−senθ)xL + (cos θsenφ)yL + (cos θcosφ)zL
I
As´ı, la velocidad de B rB expresada en I se obtiene por la derivada con respecto al
tiempo de I rB como sigue:
d ˙ I · B rB rB = RI · B rB = R dt = − sin ψ cos θ ψ˙ − cos ψ sin θ θ˙ xL + − sin ψ sin θ sin φψ˙ + cos ψ cos θ sin φθ˙ + cos ψ sin θ cos φφ˙ − cos ψ cos φψ˙ + sin ψ sin φφ˙ yL + − sin ψ sin θ cos φψ˙ + cos ψ cos θ cos φθ˙ − cos ψ sin θ sin φφ˙ + cos ψ sin φψ˙ + sin ψ cos φφ˙ zL ˙ ˙ = cos ψ cos θ ψ − sin ψ sin θ θ xL + cos ψ sin θ sin φψ˙ + sin ψ cos θ sin φθ˙ + sin ψ sin θ cos φφ˙ − sin ψ cos φψ˙ − cos ψ sin φφ˙ yL + cos ψ sin θ cos φψ˙ + sin ψ cos θ cos φθ˙ − sin ψ sin θ sin φφ˙ + sin ψ sin φψ˙ − cos ψ cos φφ˙ zL = −cos θ θ˙ xL + ˙ ˙ − sin θ sin φθ + cos θ cos φφ yL + − sin θ cos φθ˙ − cos θ sin φφ˙ zL I
Iv Bx
Iv By
Iv Bz
vB =
d dt
I
22
2 Descripci´on y Modelado del Helic´optero QuadRotor
Tras obtener la velocidad del punto I rB , se puede calcular la energ´ıa cin´etica de rotaci´on. Sea EcRot la energ´ıa cin´etica de rotaci´on en B expresada en I, y sea dEcRot la energ´ıa cin´etica de una part´ıcula con masa diferencial dm en B, entonces (Fu et al., 1987): dEcRot
1 = 2
I
vB2
1 I 2 I 2 I 2 vBx + v By + vBz dm dm = 2
(2.31)
As´ı, el cuadrado de la velocidad del punto I vB es: I
I v2 B
vB2
=
I 2 vBx
+
I 2 v By
+
I 2 v Bz
= x2L ψ˙ 2 cos2 θ + θ˙ 2 + yL2 ψ˙ 2 sin2 θ + cos2 θcos2 φ + ψ˙ −2φ˙ sin θ − 2θ˙ cos φ sin φ cos θ + θ˙ 2 sin2 φ + φ˙ 2 + 2 2 2 2 2 2 2 2 ˙ ˙ ˙ ˙ ˙ ˙ zL ψ sin θ + cos θsin φ + ψ −2φ sin θ + 2θ cos φ sin φ cos θ + θ cos φ + φ + 2xL yL ψ˙ 2 cos θ sin θ sin φ + ψ˙ θ˙ sin θ cos φ − φ˙ cos θ sin φ − θ˙φ˙ cos φ + 2xL zL ψ˙ 2 cos θ sin θ cos φ + ψ˙ −θ˙ sin θ sin φ − φ˙ cos θ cos φ + θ˙ φ˙ sin φ + 2yL zL −ψ˙ 2 cos2 θ sin φ cos φ + ψ˙ θ˙ cos θ − 2θ˙ cos θ cos2 φ + θ˙ 2 sin φ cos φ
Reescribiendo la ecuaci´on anterior se tiene: I
vB2
2 2 2 ˙ ˙ ˙ ˙ = + ψ sin θ − 2ψ φ sin θ + φ + (x2L + zL2 ) ψ˙ 2 sin2 φ cos2 θ + 2ψ˙ θ˙ cos φ sin φ cos θ + θ˙2 cos2 φ + (x2L + yL2 ) ψ˙ 2 cos2 φ cos2 θ − 2ψ˙ θ˙ cos φ sin φ cos θ + θ˙2 sin2 φ + 2xL yL ψ˙ 2 cos θ sin θ sin φ + ψ˙ θ˙ sin θ cos φ − φ˙ cos θ sin φ − θ˙φ˙ cos φ + 2xL zL ψ˙ 2 cos θ sin θ cos φ + ψ˙ −θ˙ sin θ sin φ − φ˙ cos θ cos φ + θ˙φ˙ sin φ + 2 2 2 2 ˙ ˙ ˙ ˙ ˙ 2yLzL −ψ cos θ sin φ cos φ + ψ θ cos θ − 2θ cos θ cos φ + θ sin φ cos φ (yL2
zL2 )
Por tanto, resolviendo la ecuaci´on (2.31) con el cuadrado de la velocidad se obtiene la energ´ıa cin´etica de rotaci´on como sigue:
EcRot
1 = 2
Z
I
vB2 dm
2.5 Formulaci´on de Lagrange-Euler
EcRot =
23
1 2
Z
yL2 + zL2 dm ψ˙ 2 sin2 θ − 2ψ˙ φ˙ sin θ + φ˙ 2 +
1 2
Z
x2L + zL2 dm ψ˙ 2 sin2 φ cos2 θ + 2ψ˙ θ˙ cos φ sin φ cos θ + θ˙ 2 cos2 φ +
1 2
Z
x2L + yL2 dm ψ˙ 2 cos2 φ cos2 θ − 2ψ˙ θ˙ cos φ sin φ cos θ + θ˙ 2 sin2 φ +
Z
xL yL dm ψ˙ 2 cos θ sin θ sin φ + ψ˙ θ˙ sin θ cos φ − φ˙ cos θ sin φ − θ˙φ˙ cos φ +
Z
xL zL dm ψ˙ 2 cos θ sin θ cos φ + ψ˙ −θ˙ sin θ sin φ − φ˙ cos θ cos φ + θ˙ φ˙ sin φ +
Z
yL zL dm −ψ˙ 2 cos2 θ sin φ cos φ + ψ˙ θ˙ cos θ − 2θ˙ cos θ cos2 φ + θ˙ 2 sin φ cos φ
(2.32)
A partir de las hip´otesis realizadas anteriormente, los t´erminos de los productos cruzados de la matriz de inercia pueden ser considerados nulos y la matriz de inercia es diagonal: R Ixx = R (yL2 + zL2 ) dm Iyy = R (x2L + zL2 ) dm Izz = R (x2L + yL2 ) dm Ixy = R (xL yL)dm = 0 Ixz = R (xL zL )dm = 0 Iyz = (yL zL )dm = 0 La energ´ıa cin´etica puede ser reescrita de la siguiente forma:
EcRot
=
2 1 2 1 2 1 ˙ ˙ ˙ ˙ ˙ ˙ Ixx φ − ψ sin θ + Iyy θ cos φ + ψ sin φ cos θ + Izz θ sin φ − ψ cos φ cos θ 2 2 2 (2.33)
o de una forma m´as compacta utilizando las ecuaciones (2.14) y (2.17): 1 1 1 1 EcRot = Ixx p2 + Iyy q 2 + Izz r 2 = ω T Jω 2 2 2 2
(2.34)
Denominando Wη como el Jacobiano que relaciona ω con η˙ en la ecuaci´on (2.14), se puede definir la siguiente matriz: J = J (η) = Wη T JWη
(2.35)
por lo que la ecuaci´on de la energ´ıa cin´etica (2.34) se puede reescribir en funci´on de coordenadas generalizadas η como sigue: 1 EcRot = η˙ T J η˙ (2.36) 2
24
2 Descripci´on y Modelado del Helic´optero QuadRotor
La energ´ıa potencial Ep expresada en t´erminos de las coordenadas generalizadas viene dada por: Ep = mgz (2.37) Las ecuaciones del movimiento completo se obteniene a partir del Lagrangiano (2.30) y se obtendr´an a partir de la siguiente expresi´on: d ∂L ∂L Fξ = − (2.38) τη dt ∂ q˙i ∂qi ˆ es donde τη ∈ ℜ3 representa los momentos de balanceo, cabeceo y gui˜ nada, y Fξ = RI F la fuerza traslacional aplicada al helic´optero debido principalmente a la entrada de control principal U1 en la direcci´on del eje z, con ˆ = RI U1 + AT RI F E3 Puesto que el Lagrangiano no contiene t´erminos en la energ´ıa cin´etica combinando ξ˙ con η, ˙ las ecuaciones de Lagrange-Euler pueden ser divididas en la din´amica de traslaci´on y la din´amica de rotaci´on, siendo la ecuaci´on de Lagrange-Euler para el movimiento de traslaci´on: ˙ = Ec L(ξ, ξ) − Ep T ras ˙ ∂L ξ, ξ˙ ∂L ξ, ξ˙ d ∂L ξ, ξ ˙ = mξ¨ = −mgE3 , = mξ , ˙ ˙ ∂ξ dt ∂ξ ∂ξ ˙ ∂L ξ, ξ˙ ∂L ξ, ξ d − = Fξ dt ∂ξ ∂ ξ˙
(2.39)
mξ¨ + mgE3 = Fξ
(2.40)
Reescribiendo (2.40) en funci´on del vector de estados ξ se tiene: 1 A x¨ = m (cos ψ sin θ cos φ + sin ψ sin φ) U1 + mx A y¨ = m1 (sin ψ sin θ cos φ − cos ψ sin φ) U1 + my z¨ = −g + m1 (cos θ cos φ) U1 + Amz Para las coordenadas de η las ecuaciones de Lagrange-Euler son: d ∂L (η, η) ∂L (η, η) ˙ ˙ − = τη dt ∂ η˙ ∂η ˙ ˙ d ∂L (η, η) d ∂L (η, η) ∂L (η, η) ˙ ∂L (η, η) ˙ = τφ , = τθ − − dt ∂φ dt ∂θ ∂ φ˙ ∂ θ˙ ˙ d ∂L (η, η) ∂L (η, η) ˙ = τψ − dt ∂ψ ∂ ψ˙
(2.41)
,
2.5 Formulaci´on de Lagrange-Euler
25
Resolviendo las ecuaciones arriba se obtiene: ∂L (η, η) ˙ ∂φ
2 2 2 2 2 ˙ ˙ ˙ ˙ ˙ ˙ = Iyy −ψ θ cos θ sin φ + ψ θ cos θ cos φ + ψ sin φ cos φ cos θ − θ sin φ cos φ +Izz −ψ˙ 2 sin φ cos φ cos2 θ + ψ˙ θ˙ cos θ sin2 φ − ψ˙ θ˙ cos θ cos2 φ + θ˙ 2 sin φ cos φ
∂L (η, η) ˙ ∂θ
= Ixx −ψ˙ φ˙ cos θ + ψ˙ 2 cos θ sin θ + Iyy −θ˙ψ˙ sin φ cos φ sin θ − ψ˙ 2 sin2 φ cos θ sin θ +Izz −ψ˙ 2 sin θ cos θ cos2 φ + ψ˙ θ˙ sin θ sin φ cos φ
∂L (η, η) ˙ ∂ψ
= 0
∂L (η, η) ˙ ˙ ∂φ
= Ixx φ˙ − ψ˙ sin θ
∂L (η, η) ˙ ˙ ∂θ
= θ˙ Iyy cos2 φ + Izz sin2 φ + ψ˙ (Iyy cos φ sin φ cos θ − Izz cos φ sin φ cos θ)
∂L (η, η) ˙ ˙ ∂ψ
˙ xx sin θ + θ˙ ((Iyy − Izz ) cos φ sin φ cos θ) = −φI ˙ xx sin2 θ + ψI ˙ yy sin2 φ cos2 θ + ψI ˙ zz cos2 φ cos2 θ +ψI
Y por lo tanto:
d dt
∂L (η, η) ˙ ˙ ∂φ
= Ixx φ¨ − ψ¨ sin θ − φ˙ ψ˙ cos θ
d dt
∂L (η, η) ˙ ∂ θ˙
= Iyy θ¨ cos2 φ − 2θ˙φ˙ cos φ sin φ + ψ¨ cos φ sin φ cos θ − ψ˙ φ˙ sin2 φ cos θ +ψ˙ φ˙ cos2 φ cos θ − ψ˙ θ˙ cos φ sin φ sin θ +Izz θ¨ sin2 φ + 2θ˙ φ˙ cos φ sin φ − ψ¨ cos φ sin φ cos θ + ψ˙ φ˙ sin2 φ cos θ −ψ˙ φ˙ cos2 φ cos θ + ψ˙ θ˙ cos φ sin φ sin θ
d dt
∂L (η, η) ˙ ˙ ∂ψ
= Ixx −φ¨ sin θ − φ˙ θ˙ cos θ + ψ¨ sin2 θ + 2ψ˙ θ˙ sin θ cos θ +Iyy θ¨ cos φ sin φ cos θ − θ˙φ˙ sin2 φ cos θ + θ˙ φ˙ cos2 φ cos θ − θ˙ 2 cos φ sin φ sin θ + ψ¨ sin2 φ cos2 θ + 2ψ˙ φ˙ sin φ cos φ cos2 θ − 2ψ˙ θ˙ sin2 φ cos θ sin θ +Izz −θ¨ cos φ sin φ cos θ + θ˙ φ˙ sin2 φ cos θ − θ˙φ˙ cos2 φ cos θ + θ˙ 2 cos φ sin φ sin θ + ψ¨ cos2 φ cos2 θ − 2ψ˙ φ˙ cos φ sin φ cos2 θ − 2ψ˙ θ˙ cos θ sin θ cos2 φ
26
2 Descripci´on y Modelado del Helic´optero QuadRotor
y as´ı, se reescribe las ecuaciones de Lagrange-Euler para el movimiento de rotaci´on como sigue: d ∂L (η, η) ˙ ∂L (η, η) ˙ − = τη dt ∂ η˙ ∂η ∂L (η, η) ˙ ˙ d ∂L (η, η) − dt ∂φ ∂ φ˙ τ φ d ∂L (η, η) ∂L (η, η) ˙ ˙ = τθ − dt ˙ ∂θ ∂θ τψ d ∂L (η, η) ˙ ∂L (η, η) ˙ − dt ∂ψ ∂ ψ˙ El modelo matem´atico se puede presentar en la forma general, donde (Castillo et al., 2007): M(η)¨ η + C(η, η) ˙ η˙ = τη (2.42) con M(η) = J (η), o sea:
M(η) =
Ixx
0
0
Iyy cos2 φ + Izz sin2 φ
−Ixx sin θ (Iyy − Izz ) cos φ sin φ cos θ
−Ixx sin θ (Iyy − Izz ) cos φ sin φ cos θ Ixx sin2 θ + Iyy sin2 φ cos2 θ + Izz cos2 φ cos2 θ (2.43)
y
c11 c12 c13 C (η, η) ˙ = c21 c22 c23 c31 c32 c33
donde c11 = 0
c12 = (Iyy − Izz ) θ˙ cos φ sin φ + ψ˙ sin2 φ cos θ + (Izz − Iyy ) ψ˙ cos2 φ cos θ − Ixx ψ˙ cos θ
c13 = (Izz − Iyy ) ψ˙ cos φ sin φ cos2 θ c21 = (Izz − Iyy ) θ˙ cos φ sin φ + ψ˙ sin2 φ cos θ + (Iyy − Izz ) ψ˙ cos2 φ cos θ + Ixx ψ˙ cos θ
c22 = (Izz − Iyy ) φ˙ cos φ sin φ
c23 = −Ixx ψ˙ sin θ cos θ + Iyy ψ˙ sin2 φ cos θ sin θ + Izz ψ˙ cos2 φ sin θ cos θ
c31 = (Iyy − Izz ) ψ˙ cos2 θ sin φ cos φ − Ixx θ˙ cos θ c32 = (Izz − Iyy ) θ˙ cos φ sin φ sin θ + φ˙ sin2 φ cos θ + (Iyy − Izz ) θ˙ cos2 φ cos θ +Ixx ψ˙ sin θ cos θ − Iyy ψ˙ sin2 φ sin θ cos θ − Izz ψ˙ cos2 φ sin θ cos θ
c33 = (Iyy − Izz ) φ˙ cos φ sin φ cos2 θ − Iyy θ˙ sin2 φ cos θ sin θ − Izz θ˙ cos2 φ cos θ sin θ +Ixx θ˙ cos θ sin θ
As´ı, las ecuaciones del movimiento de rotaci´on del helic´optero obtenidas a partir de la formulaci´on de Lagrange-Euler pueden ser reescritas mediante la siguiente expresi´on
2.5 Formulaci´on de Lagrange-Euler
27
matricial: η¨ = M(η)−1 (τη − C(η, η) ˙ η) ˙
(2.44)
Para finalizar, en la figura 2.4 se muestra como el sistema puede ser dividido en dos subsitemas interconectados: Subsistema de traslación
x x&
U1 Subsistema de rotación
φ U 2 U 3 U 4
φ& θ
φ ,θ ,ψ
y y& z z&
θ& ψ ψ&
Figura 2.4: Sistema din´amico dividido en dos sub-sistemas interconectados.
El sub-sistema de rotaci´on, cuyas salidas ser´an los tres ´angulos de Tait-Bryan que fijan la orientaci´on del veh´ıculo, y cuyas entradas ser´an los tres pares (U2 , U3 y U4 ) que permiten girarlo. El sub-sistema de traslaci´on, cuyas salidas (posici´on x, y y z del veh´ıculo en el espacio) depender´an del empuje total, U1 , adem´as de la orientaci´on del sistema.
28
2 Descripci´on y Modelado del Helic´optero QuadRotor
Cap´ıtulo 3 Estructuras de Control En este cap´ıtulo se utilizan cinco estrategias de control para resolver el problema de seguimiento de trayectoria, siendo dos de ellas presentadas en Mistler et al. (2001); Bouabdallah y Siegwart (2005). Se buscan, como objetivos de desempe˜ no de los controladores, error nulo de seguimiento y robustez en presencia de incertidumbres param´etricas y perturbaciones externas que puedan afectar al helic´optero. La primera estrategia est´a basada en Mistler et al. (2001), donde se utiliza una ley de control con desacoplamiento entrada-salida y linealizaci´on exacta por realimentaci´on din´amica. En esta estrategia se utiliza el modelo din´amico que se obtuvo a partir de la formulaci´on de Newton-Euler. La segunda estructura de control utilizada fue presentada en Bouabdallah y Siegwart ´ (2005). Esta se basa en la t´ecnica de Backstepping y supone que el helic´optero ya est´a en vuelo estacionario, de modo que se permite simplificar el modelo a trav´es de la aproximaci´on de peque˜ no ´angulo. La tercera estrategia de control que se desarrolla en este trabajo, se basa en una estructura de control descentralizada, donde se dise˜ na un controlador para la estabilizaci´on del helic´optero utilizando t´ecnicas de control H∞ no lineal para sistemas mec´anicos. Para controlar los movimientos de traslaci´on se utiliza el controlador propuesto en Bouabdallah y Siegwart (2005), que usa funciones de Lyapunov, basado en la t´ecnica de Backstepping. La cuarta estrategia de control se plantea a partir de la estructura anterior, donde se utiliza el mismo controlador H∞ no lineal para los movimientos de rotaci´on. El problema de seguimiento de trayectoria se soluciona a trav´es de un controlador predictivo, donde se permite utilizar trayectorias futuras conocidas, una caracter´ıstica de gran relevancia para el control de robots m´oviles. El cpbm fue desarrollado utilizando la t´ecnica de linealizaciones sucesivas y basado en el modelo del error.
30
3 Estructuras de Control
Para la quinta estructura de control se dise˜ na un controlador con el objetivo de garantizar la robustez del sub-sistema de traslaci´on en presencia de incertidumbres param´etricas en los t´erminos de masa y inercia del helic´optero y cuando se aplican vientos mantenidos sobre el veh´ıculo. Para esto se utiliza la s´ıntesis de control H∞ lineal con realimentaci´on de estados v´ıa lmis, suponiendo la posici´on angular del quadrotor como par´ametros inciertos del sub-sistema de traslaci´on. La estabilizaci´on del uav se obtiene a partir del controlador H∞ no lineal. A continuaci´on se presentan cada una de las estrategias, as´ı como los resultados de simulaci´on, y resultados experimentales de la estabilizaci´on del sistema.
3.1 Control con desacoplamiento entrada-salida y linealizaci´on exacta por realimentaci´on din´amica (Mistler et al., 2001) 31
3.1.
Control con desacoplamiento entrada-salida y linealizaci´ on exacta por realimentaci´ on din´ amica (Mistler et al., 2001)
En este apartado se presenta el controlador desarrollado en Mistler et al. (2001), el cual trata de una ley de control por realimentaci´on din´amica y un cambio de variables en el espacio de estados con el objetivo de transformar el sistema no lineal descrito por la ecuaci´on (2.28) en un sistema lineal y controlable. Este problema es conocido como linealizaci´on exacta por realimentaci´on (Mistler et al., 2001). Adem´as, se reduce el sistema por el enfoque entrada-salida para trabajar con un conjunto de sistemas siso (single inputsingle output) independientes, siendo este el problema de desacoplamiento entrada-salida. En Mistler et al. (2001) se demuestra que utilizando una ley de control por realimentaci´on est´atica no es posible resolver estos dos problemas para el sistema (2.28). Siendo as´ı, se propone una ley de control por realimentaci´on din´amica. Inicialmente, se prueba que, utilizando una ley de control por realimentaci´on est´atica, el sistema en bucle cerrado no es realizable. As´ı, en el primer paso, para no complicar el problema de control, se elige el n´ umero de salidas igual al n´ umero de entradas, conT siderando las variables ξ = [x y z] y el ´angulo de gui˜ nada (yaw), ψ, como variables controladas del sistema. Por lo tanto, el vector de salidas es γ(ζ) = h(ζ) = [x y z ψ]T . Se asume tambi´en que todo el vector de estados, ζ, del sistema es medible y se propone una ley de control con realimentaci´on de estados est´atica de la siguiente forma: U = α(ζ) + β(ζ)v
(3.1)
donde v es un vector de entrada de referencia externa, α(ζ) = [α1 (ζ) α2 (ζ) α3 (ζ) α4 (ζ)]T y β(ζ) ∈ ℜ4x4 . En el segundo paso, se define el grado relativo del sistema, donde {r1 , r2 , r3 , r4 } es el vector de grado relativo para el sistema (2.28). Esto estipula exactamente el n´ umero de veces que hay que diferenciar una salida i para que en el u ´ltimo componente aparezca expl´ıcitamente el vector de entradas U. As´ı, usando derivadas de Lie, se tiene: ri = inf k, ∃j, 1 ≤ j ≤ 4, Lgj Lfk−1 hi 6= 0 y
(r )
γ1 1 (r ) γ2 2 (r ) γ3 3 (r ) γ4 4
= b(ζ) + ∆(ζ)U
32
3 Estructuras de Control
donde
Lg1 Lrf 1 −1 h1 (ζ) · · · Lg4 Lrf 1 −1 h1 (ζ) .. .. .. ∆(ζ) = . . . r4 −1 r4 −1 Lg1 Lf h4 (ζ) · · · Lg4 Lf h4 (ζ)
Lrf 1 h1 (ζ) .. b(ζ) = . r4 Lf h4 (ζ)
(3.2)
(3.3)
El principal resultado sobre el problema de desacoplamiento entrada-salida es que este problema tiene soluci´on si, y s´olo si, la matriz ∆(ζ) es no singular. En este caso, la realimentaci´on de estados est´atica (3.1) con (Mistler et al., 2001):
α(ζ) = −∆−1 (ζ)b(ζ) β(ζ) = ∆−1 (ζ)
(3.4)
transforma el sistema en bucle cerrado en lineal y desacoplado desde el punto de vista de entrada-salida, proporcionando y (ri) = vi para todo i, 1 ≤ i ≤ 4. Sin embargo, para el sistema no lineal (2.28) el grado relativo es r1 = r2 = r3 = r4 = 2.
3.1 Control con desacoplamiento entrada-salida y linealizaci´on exacta por realimentaci´on din´amica (Mistler et al., 2001) 33 Por lo tanto, la matriz ∆(ζ) se calcula como sigue: ∂ ∂h1 (cos ψ cos φ sin θ + sin φ sin ψ) 1 ∆11 = Lg1 Lf h1 (ζ) = · f (ζ) · g1 (ζ) = ∂ζ ∂ζ m ∂ ∂h 1 ∆12 = Lg2 L1f h1 (ζ) = · f (ζ) · g2 (ζ) = 0 ∂ζ ∂ζ ∂ ∂h1 1 · f (ζ) · g3 (ζ) = 0 ∆13 = Lg3 Lf h1 (ζ) = ∂ζ ∂ζ ∂ ∂h1 1 · f (ζ) · g4 (ζ) = 0 ∆14 = Lg4 Lf h1 (ζ) = ∂ζ ∂ζ ∂ ∂h2 (sin ψ cos φ sin θ − sin φ cos ψ) 1 ∆21 = Lg1 Lf h2 (ζ) = · f (ζ) · g1 (ζ) = ∂ζ ∂ζ m ∂ ∂h2 · f (ζ) · g2 (ζ) = 0 ∆22 = Lg2 L1f h2 (ζ) = ∂ζ ∂ζ ∂ ∂h2 1 · f (ζ) · g3 (ζ) = 0 ∆23 = Lg3 Lf h2 (ζ) = ∂ζ ∂ζ ∂ ∂h2 1 · f (ζ) · g4 (ζ) = 0 ∆24 = Lg4 Lf h2 (ζ) = ∂ζ ∂ζ (cos θ cos φ) ∂ ∂h3 1 · f (ζ) · g1 (ζ) = ∆31 = Lg1 Lf h3 (ζ) = ∂ζ ∂ζ m ∂ ∂h 3 ∆32 = Lg2 L1f h3 (ζ) = · f (ζ) · g2 (ζ) = 0 ∂ζ ∂ζ ∂ ∂h3 1 · f (ζ) · g3 (ζ) = 0 ∆33 = Lg3 Lf h3 (ζ) = ∂ζ ∂ζ ∂h ∂ 3 · f (ζ) · g4 (ζ) = 0 ∆34 = Lg4 L1f h3 (ζ) = ∂ζ ∂ζ ∂ ∂h4 1 · f (ζ) · g1 (ζ) = 0 ∆41 = Lg1 Lf h4 (ζ) = ∂ζ ∂ζ ∂ ∂h4 1 · f (ζ) · g2 (ζ) = 0 ∆42 = Lg2 Lf h4 (ζ) = ∂ζ ∂ζ (l sin φ sec θ ∂ ∂h4 1 · f (ζ) · g3 (ζ) = ∆43 = Lg3 Lf h4 (ζ) = ∂ζ ∂ζ Iyy ∂ ∂h (cos φ sec θ 4 ∆44 = Lg4 L1f h4 (ζ) = · f (ζ) · g4 (ζ) = ∂ζ ∂ζ Izz y entonces:
∆11 ∆21 ∆(ζ) = ∆31 0
0 0 0 0 0 0 0 0 0 0 ∆43 ∆44
Como se muestra, la matriz ∆(ζ) es singular para todo ζ y, por lo tanto, el problema de desacoplamiento entrada-salida no se resuelve para el sistema (2.28) a trav´es de una ley de control est´atica de realimentaci´on de estados (Mistler et al., 2001). La matriz ∆(ζ) es (2) (2) (2) siempre singular porque las derivadas γ1 , γ2 y γ3 est´an todas afectadas por la entrada (2) U1 y ninguna por U2 , U3 , U4 . Para solucionar este problema, se propone encontrar γ1 , (2) (2) γ2 y γ3 independientes de U1 , esto es, retrasar la aparici´on de U1 para las derivadas de (2) (2) (2) orden superior de γ1 , γ2 y γ3 y esperar que las otras entradas aparezcan antes. Para
34
3 Estructuras de Control
¯1 : lograr este resultado, se elige U1 igual a un doble integrador dado por U U1 = κ κ˙ = ε ¯1 ε˙ = U
(3.5)
y por consistencia de notaci´on, se define: ¯2 U2 = U ¯3 U3 = U ¯ U4 = U4 Ahora la entrada U1 ya no es una entrada para el sistema (2.28), pero se transforma en el estado interno κ para el nuevo sistema din´amico (3.6), que es definido como sigue: ¯ ¯ +g ¯ U) ¯ ζ˙ = ¯ f(ζ) ¯(ζ,
(3.6)
donde ζ¯ = [x y
z
u0
v0
w0
φ θ
ψ
κ ǫ p q
r
]T
y
u0 v0 w0
A x 4 + g (φ, θ, ψ)κ 1 m Ay + g15(φ, θ, ψ)κ m Az 6 + g1 (φ, θ, ψ)κ −g + m p + q sin φ tan θ + r cos φ tan θ ¯ , f ζ¯ = q cos φ − r sin φ q sin φ sec θ + r cos φ sec θ ǫ 0 (I − I ) J Ω A yy zz R p qr − q + Ixx Ixx Ixx (Izz − JR Ω Aq Ixx ) pr + p + I I I yy yy yy Ar (Ixx − Iyy ) pq + Izz Izz ¯ = 0 0 0 0 0 0 0 0 0 0 1 0 0 0 T ¯ g1 (ζ) T l ¯ = 0 0 0 0 0 0 0 0 0 0 0 ¯ g2 (ζ) 0 0 I xx T l ¯ 0 ¯ g3 (ζ) = 0 0 0 0 0 0 0 0 0 0 0 0 Iyy T 1 ¯ ¯ g4 (ζ) = 0 0 0 0 0 0 0 0 0 0 0 0 0 Izz Con el nuevo sistema se puede resolver el problema de desacoplamiento entrada-salida para el sistema (2.28) a trav´es de una ley de control de realimentaci´on din´amica si este
3.1 Control con desacoplamiento entrada-salida y linealizaci´on exacta por realimentaci´on din´amica (Mistler et al., 2001) 35 problema se resuelve por realimentaci´on est´atica para el sistema extendido (3.6). El vector de grado relativo para el sistema (3.6) est´a dado por: r1 = r2 = r3 = 4;
r4 = 2
y se tiene:
(r )
γ1 1 (r ) γ2 2 (r ) γ3 3 (r ) γ4 4
¯ + ∆(ζ) ¯U ¯ = b(ζ)
¯ y b(ζ) ¯ son calculados usando las ecuaciones (3.2) y (3.3). donde ∆(ζ) ¯ est´a dada por: La matriz ∆(ζ) cos(φ) cos(ψ) sin(θ)+sin(φ) sin(ψ)
¯ = ∆(ζ)
m
sin(ψ))d − κ (sin(φ) cos(ψ) sin(θ)−cos(φ) mIx
κ cos(ψ) cos(θ)d mIy
cos(φ) sin(ψ) sin(θ)−sin(φ) cos(ψ) m
cos(ψ))d − κ (sin(φ) sin(ψ) sin(θ)+cos(φ) mIx
κ sin(ψ) cos(θ)d mIy
0
cos(φ) cos(θ) m
cos(θ)κ d − sin(φ)mIx
− κ sin(θ)d mIy
0
0
0
sin(φ)d cos(θ)Iy
cos(φ) cos(θ)Iz
0
¯ es no singular en cualquier punto caracterizado por κ 6= 0, Se ve que la matriz ∆(ζ) −π/2 < φ < π/2, −π/2 < θ < π/2. Por lo tanto, el problema de desacoplamiento entradasalida se resuelve para el sistema (2.28) a trav´es de una ley de control por realimentaci´on din´amica dada por: ¯ = α(ζ) ¯ + β(ζ)v ¯ U (3.7) ¯ y β(ζ) ¯ calculados a partir de (3.4). con α(ζ) Adem´as, como el sistema extendido (3.6) tiene dimensi´on n = 14, la condici´on r1 + r2 + r3 + r4 = n se cumple y, por tanto, el sistema puede ser transformado por realimentaci´on din´amica en un sistema que, en coordenadas adecuadas, es completamente ¯ se da por: lineal y controlable. El cambio de coordenadas λ = Φ(ζ) λ1 = h1 ζ¯ = x λ8 = L3f h2 ζ¯ = y (3) λ2 = Lf h1 ζ¯ = x˙ λ9 = h3 ζ¯ =z 2 ¯ λ3 = Lf h1 ζ = x¨ λ10 = Lf h3 ζ¯ = z˙ λ4 = L3f h1 ζ¯ = x(3) λ11 = L2f h3 ζ¯ = z¨ λ5 = h2 ζ¯ = y λ12 = L3f h3 ζ¯ = z (3) λ6 = Lf h2 ζ¯ = y˙ λ13 = h4 ζ¯ = ψ λ7 = L2f h2 ζ¯ = y¨ λ14 = Lf h4 ζ¯ = ψ˙ En las nuevas coordenadas, el sistema se escribe como: λ˙ = Aλ + Bv γ = Cλ
(3.8)
36
3 Estructuras de Control
donde
A1 0 A= 0 0 0 0 A1 = 0 0 0 0 B2 = 0 0 C1 = 1
0 A1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
C1 0 B1 0 0 B2 0 0 0 C1 , B= B3 , C = 0 0 A1 0 B4 0 A2 0 0 0 0 0 0 0 0 0 0 1 0 , B1 = , A2 = 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 , B3 = 0 0 0 0 , B4 = 0 0 0 0 0 1 0 0 , C2 = 1 0
0 0 0 0 C1 0 0 C2 0 0 0 0 0 0 0 0 0 1
Para controlar el sistema (3.8), los autores proponen la siguiente ley de control por realimentaci´on: (4) (3) (3) x − x¨d ) − c1 (x˙ − x˙ d ) − c0 (x − xd ) v1 = xd − c3 x − xd − c2 (¨ (4) (3) y − y¨d ) − c1 (y˙ − y) ˙ − c0 (y − yd ) v2 = yd − c3 y (3) − yd − c2 (¨ (4) (3) z − z¨d ) − c1 (z˙ − z˙d ) − c0 (z − z) v3 = zd − c3 z (3) − zd − c2 (¨ v4 = ψ¨d − c5 ψ˙ − ψ˙ d − c4 (ψ − ψd ) donde los coeficientes ci son los par´ametros de ajuste del controlador y (xd , yd, zd , ψd ) es la trayectoria deseada. En la Figura 3.1 se representa el diagrama de bloques completo de la estructura de control presentada. MATLAB Function
var_zref xrdot4
Varible lambda
yrdot4 zrdot4 psiddot
K*u
lambda 1 s
Gain
Trayectoria de Referencia
1 s kappa
MATLAB Function
u1 (x,y,z)
u2
Demux
(dx,dy,dz)
u3
Exact Linearization
u4
draganfly_Mistler_Mod
Atras Perturbación Arot Traslacional Perturbación Rotacional
(phi,theta,psi) (p,q,r)
DRAGANFLY
du/dt du/dt
Figura 3.1: Diagrama de Bloques para el control con linealizaci´on por realimentaci´on del helic´optero quadrotor.
3.1 Control con desacoplamiento entrada-salida y linealizaci´on exacta por realimentaci´on din´amica (Mistler et al., 2001) 37
3.1.1.
Resultados de simulaci´ on
Se realizaron varias simulaciones para evaluar el controlador propuesto en Mistler et al. (2001). La trayectoria de referencia utilizada es una helicoidal vertical dada por las siguientes ecuaciones: xd =
1 2
cos
t 2
, yd =
1 2
sin
t 2
, zd = 1 +
t , 10
ψd =
π 3
Se supone que el helic´optero empieza en la posici´on (x, y, z) = (0,0,0.5)m ,con orientaci´on (φ, θ, ψ) = (0,0,0.5)rad. Los par´ametros del modelo utilizados aqu´ı, y durante todo el trabajo, fueron los del art´ıculo (Mistler et al., 2001), y son: m = 0,7kg, l = 0,3m, g = 9,81m/s2 y Ixx = Iyy = Izz = 1,2416. Se presentan dos resultados, en el primero se considera una incertidumbre de ±20 % en los par´ametros de inercia del modelo y sin tener en cuenta perturbaciones externas. La segunda simulaci´on se realiz´o s´olo con el modelo nominal, pero se consideraron perturbaciones externas, que fueron escalones mantenidos en los momentos aerodin´amicos, o sea, en t = 5s se introdujo Ar = 5Nm, en t = 15s se afect´o al sistema con Ap = 10Nm, y en t = 25s se aplic´o la u ´ltima perturbaci´on con amplitud Aq = 10Nm. Las ganancias del controlador son las siguientes: c0 = 625, c1 = 500, c2 = 150, c3 = 20, c4 = c5 = 4. Las resultados de ambas simulaciones se presentan en las Figuras 3.2 - 3.9. Referencia Inercia nominal Inercia +20% Inercia −20% 4.5 4 3.5 3 z
2.5 2 1.5 1
0.5 0.5 0.5 0 0
y
−0.5
−0.5
x
Figura 3.2: Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica sin perturbaciones externas.
38
3 Estructuras de Control x 0.5 Referencia Inercia nominal Inercia +20% Inercia −20%
0
−0.5
0
5
10
15 y
20
25
30
0.5 Referencia Inercia nominal Inercia +20% Inercia −20%
0
−0.5
0
5
10
15 z
20
25
30
6 Referencia Inercia nominal Inercia +20% Inercia −20%
4 2 0
0
5
10
15 tiempo [s]
20
25
30
Figura 3.3: Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica sin perturbaciones externas.
φ 0.02 Inercia Nominal Inercia +20% Inercia −20%
0 −0.02 −0.04 −0.06
0
5
10
15
20
25
30
0.3 Inercia Nominal Inercia +20% Inercia −20%
θ
0.2 0.1 0 −0.1
0
5
10
15
20
25
30
ψ
1.5
Referencia Inercia nominal Inercia +20% Inercia −20%
1 0.5 tiempo [s] 0
0
5
10
15
20
25
30
Figura 3.4: Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica sin perturbaciones externas.
3.1 Control con desacoplamiento entrada-salida y linealizaci´on exacta por realimentaci´on din´amica (Mistler et al., 2001) 39 u2
u1 8.5
20 Inercia nominal Inercia +20% Inercia −20%
8 7.5
10
7
5
6.5
0
6
0
10
20
Inercia nominal Inercia +20% Inercia −20%
15
−5
30
0
10
tiempo [s]
20
30
tiempo [s]
u3
u4
200
4 Inercia nominal Inercia +20% Inercia −20%
150 100
2
50
1
0
0
−50
0
10
20
Inercia nominal Inercia +20% Inercia −20%
3
−1
30
0
10
tiempo [s]
20
30
tiempo [s]
Figura 3.5: Evoluci´on temporal de la entrada de control cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica sin perturbaciones externas.
Referencia Inercia nominal
4 3.5 3
z
2.5 2 1.5 1 0.5 2 2
1 1
0 0 −1 y
−1 −2
−2
x
Figura 3.6: Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica con perturbaciones externas.
40
3 Estructuras de Control x 2 Referencia Inercia nominal
1 0 −1 −2
0
5
10
15 y
20
25
30
2 Referencia Inercia nominal
1 0 −1 −2
0
5
10
15 z
20
25
30
4 Referencia Inercia Nominal
3 2 1 0
0
5
10
15 tiempo [s]
20
25
30
Figura 3.7: Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica con perturbaciones externas.
φ 1.5 Inercia nominal 1 0.5 0 −0.5
0
5
10
15 θ
20
25
30
1 Inercia nominal 0.5 0 −0.5
0
5
10
15 ψ
20
25
30
150 Referencia Inercia nominal 100 50 0
0
5
10
15 tiempo [s]
20
25
30
Figura 3.8: Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica con perturbaciones externas.
3.1 Control con desacoplamiento entrada-salida y linealizaci´on exacta por realimentaci´on din´amica (Mistler et al., 2001) 41 u1
u2
12
200 Inercia nominal
Inercia nominal
11
0
10 −200 9 −400 8 −600
7 6
0
10
20
30
−800
0
10
tiempo [s]
20
30
tiempo [s]
u3
u4
200
200 Inercia nominal
Inercia nominal 0
0 −200 −200
−400 −600
−400 −800 −600
0
10
20 tiempo [s]
30
−1000
0
10
20
30
tiempo [s]
Figura 3.9: Evoluci´on temporal de la entrada de control cuando se aplica la estrategia de control con linealizaci´on por realimentaci´on din´amica con perturbaciones externas. Se puede percibir a trav´es de las gr´aficas que este controlador es robusto frente a incertidumbres param´etricas, pero cuando se aplican perturbaciones externas en los momentos aerodin´amicos, que pueden interpretarse como acciones de vientos que causan rotaci´on del helic´optero, el controlador no fue capaz de rechazarlas. Esto se debe a que en la ley de control no se considera el efecto integral en los t´erminos de rotaci´on. En la parte de traslaci´on, s´ı se considera el efecto integral, y como se muestra en Mistler et al. (2001), se rechazan vientos mantenidos, que se pueden considerar como fuerzas aerodin´amicas.
42
3 Estructuras de Control
3.2.
Control basado en Backstepping (Bouabdallah y Siegwart, 2005)
La estrategia de control que se presenta en este apartado fue elaborada en Bouabdallah y Siegwart (2005). Se trata de utilizar la t´ecnica de Backstepping para controlar el helic´optero quadrotor con objetivos de estabilizaci´on y seguimiento de trayectoria. Primero, se considera el modelo del helic´optero cuando ´este ejecuta vuelo estacionario, o sea, se supone que la variaci´on de los ´angulos de Tait-Bryan es peque˜ na. As´ı, utilizando las ecuaciones de movimiento obtenidas a trav´es de la formulaci´on de Lagrange-Euler, aislando las aceleraciones y aplicando la aproximaci´on del peque˜ no ´angulo al sistema de rotaci´on (cos φ ≈ cos θ ≈ cos ψ ≈ 1, sin φ ≈ φ, sin θ ≈ θ, sin ψ ≈ ψ) se obtiene el siguiente modelo:
x¨ = m1 (cos ψ sin θ cos φ + sin ψ sin φ) U1 + Amx y¨ = m1 (sin ψ sin θ cos φ − cos ψ sin φ) U1 + Amy z¨ = −g + 1 (cos θ cos φ) U1 + Az m m JR Ω ˙ zz ) ˙ ˙ l θ ψ − θ + φ¨ = (IyyI−I U + IAxxp 2 Ixx Ixx xx xx ) ˙ ˙ l θ¨ = (IzzI−I φψ + JIRyyΩ φ˙ + Iyy U3 + IAyyq yy ¨ (Ixx −Iyy ) ˙ ˙ φ= θ φ + 1 U4 + Ar Izz
Izz
(3.9)
Izz
Para dise˜ nar el controlador se reescribe el sistema (3.9) en la forma de espacio de ˙ estados X = f(X, U) introduciendo X = (x1 . . . x12 ) como el vector de estados del sistema, siendo:
x1 x2 x3 x4 x5 x6
=φ = x˙ 1 = φ˙ =θ = x˙ 3 = θ˙ =ψ = x˙ 5 = ψ˙
x7 = z x8 = x˙ 7 = z˙ x9 = x x10 = x˙ 9 = x˙ x11 = y x12 = x˙ 11 = y˙
A partir de (3.9) y con el nuevo vector de estados se puede escribir el sistema de la
3.2 Control basado en Backstepping (Bouabdallah y Siegwart, 2005)
43
siguiente forma:
˙ X = f (X, U) =
con:
a1 a2 a3 a3 a5
x2 x4 x6 a1 + x4 a2 Ω + b1 U2 x4 x2 x6 a3 + x2 a4 Ω + b2 U3 x6 x4 x2 a5 + b3 U4 x8 −g + (cos x1 cos x3 ) Um1 x10 ux Um1 x12 uy Um1
(3.10)
= (Iyy − Izz )/Ixx b1 = l/Ixx = −JR /Ixx b2 = l/Iyy = (Izz − Ixx )/Iyy b3 = 1/Izz = JR /Iyy = (Ixx − Iyy )/Izz
(3.11)
ux = (cos x5 sin x3 cos x1 + sin x5 sin x1 ) uy = (sin x5 sin x3 cos x1 − cos x5 sin x1 )
(3.12)
Esto es u ´til para ver que el sistema de rotaci´on no depende de las componentes de traslaci´on, como ya se hab´ıa comentado anteriormente. Por otro lado, las traslaciones dependen de los ´angulos. Se puede imaginar el sistema completo descrito por (3.10) constituido por dos sub-sistemas, el de rotaciones angulares y el de traslaciones lineales, conforme Figura 3.10.
Quad-Rotor Backstepping Traslación
φr , θ r
x
U1
x
xr , yr , zr
Subsistema de rotación
φ
G.Tray.
U2
ψr Backstepping Rotación
Subsistema de traslación
U3 U4
φ θ
x, y, z
y
φ ,θ ,ψ
y z
z
θ ψ ψ
Figura 3.10: Estructura de control Backstepping.
φ ,θ ,ψ
44
3 Estructuras de Control
3.2.1.
Control Backstepping del sub-sistema de rotaci´ on
Utilizando la t´ecnica de Backstepping se puede dise˜ nar la ley de control forzando al sistema a seguir la trayectoria de referencia. Para ello, como primer paso se define el error de seguimiento como sigue (Bouabdallah y Siegwart, 2005): z1 = x1d − x1
(3.13)
Seg´ un el teorema de Lyapunov, y considerando que la funci´on Lyapunov V (z1 ) presentada a continuaci´on es definida positiva y su derivada con respecto al tiempo es semidefinida negativa: 1 V (z1 ) = z12 (3.14) 2 V˙ (z1 ) = z1 (x˙ 1d − x2 ) (3.15) la estabilizaci´on de z1 puede ser obtenida introduciendo la siguiente entrada de control virtual x2 : x2 = x˙ 1d + α1 z1 (3.16) con α1 > 0. La derivada de la funci´on de Lyapunov se escribe como: V˙ (z1 ) = −α1 z12
(3.17)
permitiendo proseguir con un cambio de variables realizando: z2 = x2 − x˙ 1d − α1 z1
(3.18)
Para anular este nuevo error, se realizar´a un segundo paso considerando la siguiente funci´on de Lyapunov aumentada: 1 V (z1 , z2 ) = (z12 + z22 ) 2
(3.19)
donde su derivada temporal viene dada por: V˙ (z1 , z2 ) = z2 (a1 x4 x6 + a2 x4 Ω + b1 U2 ) − z2 (¨ x1d − α1 (z2 + α1 z1 )) − z1 z2 − α1 z12
(3.20)
Por lo tanto, si se considera la referencia en aceleraci´on nula (¨ x1d = 0), se obtiene la siguiente se˜ nal de control U2 , satisfaciendo V˙ (z1 , z2 ) < 0: U2 = con
1 (z1 − a1 x4 x6 − a2 x4 Ω − α1 (z2 + α1 z1 ) − α2 z2 ) b1
z1 = x1d − x1 z2 = x2 − x˙ 1d − α1 z1
(3.21)
3.2 Control basado en Backstepping (Bouabdallah y Siegwart, 2005)
45
que estabiliza el sistema aumentado, ya que con esta se˜ nal de control se obtiene que: V˙ (z1 , z2 ) = −α1 z12 − α2 z22 < 0
(3.22)
N´otese c´omo el t´ermino α2 z2 con α2 > 0 se a˜ nade para estabilizar z1 . Se realizan los mismos pasos para obtener U3 y U4 : 1 (z3 − a3 x2 x6 − a4 x2 Ω − α3 (z4 + α3 z3 ) − α4 z4 ) b2 1 U4 = (z5 − a5 x2 x4 − α5 (z6 + α5 z5 ) − α6 z6 ) b3 z3 = x3d − x3 z4 = x4 − x˙ 3d − α3 z3 z5 = x5d − x5 z6 = x6 − x˙ 5d − α5 z5
U3 =
con
3.2.2.
(3.23) (3.24)
Control Backstepping del sub-sistema de traslaci´ on
Control de altura La entrada de control de la altura U1 se logra usando la misma t´ecnica presentada en la secci´on anterior: m U1 = (z7 + g − α7 (z8 + α7 z7 ) − α8 z8 ) (3.25) cos x1 cos x3 con z7 = x7d − x7 z8 = x8 − x˙ 7d − α7 z7 Control del movimiento lineal en el plano xy El modelo (3.9) refleja que el movimiento a trav´es de los ejes x e y depende de la entrada de control U1 . De hecho U1 es el vector de empuje total, dise˜ nado para obtener el movimiento lineal deseado. Si se considera ux y uy las orientaciones de U1 responsables del movimiento a trav´es de los ejes x e y, respectivamente, se puede sacar de (3.12) los ´angulos de balanceo, φ, y de cabeceo, θ, necesarios para calcular las se˜ nales de control ux ˙ y uy , satisfaciendo V (z1 , z2 ) < 0. m ux = (z9 − α9 (z10 + α9 z9 ) − α10 z10 ) (3.26) U1 m uy = (z11 − α11 (z12 + α11 z11 ) − α12 z12 ) (3.27) U1
46
3.2.3.
3 Estructuras de Control
Resultados de simulaci´ on
Los resultados presentados en este apartado sirven para analizar la estrategia de control propuesta en Bouabdallah y Siegwart (2005). La trayectoria de referencia, condiciones iniciales y par´ametros del helic´optero son los mismos presentados en el caso anterior. Se presentan nuevamente dos resultados, en el primero se considera la incertidumbre de ±20 % en los par´ametros de inercia del modelo, sin tener en cuenta perturbaciones externas. La segunda simulaci´on se realiz´o tambi´en considerando incertidumbres param´etricas, y adem´as, se consideraron perturbaciones externas, donde se aplicaron escalones mantenidos en los momentos aerodin´amicos, o sea, en t = 5s se introdujo Ar = 5Nm y en t = 15s se afect´o al sistema con Ap = 10Nm. Los par´ametros de los controladores se ajustaron con los siguientes valores: α1 = 100, α2 = 1, α3 = 100, α4 = 1, α5 = 100, α6 = 1, α7 = 100, α8 = 3, α9 = 15, α10 = 3, α11 = 15 y α12 = 3. En las Figuras 3.11-3.17 se presentan los resultados obtenidos para la estrategia de control en cuesti´on.
Referencia Inercia nominal Inercia +20% Inercia −20% 6 5
z
4 3 2 1 0 1 1
0.5 0.5
0 0 −0.5 y
−0.5 −1
−1
x
Figura 3.11: Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping sin perturbaciones externas.
3.2 Control basado en Backstepping (Bouabdallah y Siegwart, 2005)
47
x 1 Referencia Inercia nominal Inercia +20% Inercia −20%
0.5 0 −0.5 −1
0
5
10
15
20 y
25
30
35
40
1 Referencia Inercia nominal Inercia +20% Inercia −20%
0.5 0 −0.5 −1
0
5
10
15
20 z
25
30
35
40
6 Referencia Inercia nominal Inercia +20% Inercia −20%
4 2 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.12: Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping sin perturbaciones externas. φ 0.6 Referencia Inercia nominal Inercia +20% Inercia −20%
0.4 0.2 0 −0.2
0
5
10
15
20 θ
25
30
35
40
1.5 Referencia Inercia nominal Inercia +20% Inercia −20%
1 0.5 0 −0.5
0
5
10
15
20 ψ
25
30
35
40
1.5 Referencia Inercia nominal Inercia +20% Inercia −20%
1 0.5 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.13: Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping sin perturbaciones externas.
48
3 Estructuras de Control u1
u2
120
2500 Inercia nominal Inercia +20% Inercia −20%
100
Inercia nominal Inercia +20% Inercia −20%
2000 1500
80
1000 60 500 40
0
20 0
−500 0
10
20 tiempo [s]
30
40
−1000
0
10
20 tiempo [s]
u3
30
40
u4
8000
600 Inercia nominal Inercia +20% Inercia −20%
6000
Inercia nominal Inercia +20% Inercia −20%
400
4000 200 2000 0
0 −2000
0
10
20 tiempo [s]
30
−200
40
0
10
20 tiempo [s]
30
40
Figura 3.14: Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping sin perturbaciones externas. x 2000 Referencia Inercia nominal Inercia +20% Inercia −20%
0 −2000 −4000
0
5
10
15
20 y
25
30
35
40
5000 Referencia Inercia nominal Inercia +20% Inercia −20%
0 −5000 −10000 −15000
0
5
10
15
20 z
25
30
35
40
6 Referencia Inercia nominal Inercia +20% Inercia −20%
4 2 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.15: Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping con perturbaciones externas.
3.2 Control basado en Backstepping (Bouabdallah y Siegwart, 2005)
49
φ 2 Referencia Inercia nominal Inercia +20% Inercia −20%
1 0 −1 −2
0
5
10
15
20 θ
25
30
35
40
1.5 Referencia Inercia nominal Inercia +20% Inercia −20%
1 0.5 0 −0.5
0
5
10
15
20 ψ
25
30
35
40
8 Referencia Inercia nominal Inercia +20% Inercia −20%
6 4 2 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.16: Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping con perturbaciones externas. u1
u2
120
3000 Inercia nominal Inercia +20% Inercia −20%
100
Inercia nominal Inercia +20% Inercia −20%
2000
80 1000 60 0 40 −1000
20 0
0
10
4
1.5
20 tiempo [s]
30
40
−2000
0
10
u3
x 10
20 tiempo [s]
30
40
u4 600 Inercia nominal Inercia +20% Inercia −20%
1 0.5
Inercia nominal Inercia +20% Inercia −20%
400 200
0 0 −0.5 −200
−1
−400
−1.5 −2
0
10
20 tiempo [s]
30
40
−600
0
10
20 tiempo [s]
30
40
Figura 3.17: Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando la t´ecnica de Backstepping con perturbaciones externas. A trav´es de las gr´aficas obtenidas con la estrategia de control presentada en este apartado se observa un buen funcionamiento del helic´optero para el problema de seguimiento de trayectoria cuando se consideran incertidumbres en los par´ametros del sistema. Sin embargo, cuando se aplicaron perturbaciones externas mantenidas, el controlador no fue capaz de rechazarlas.
50
3 Estructuras de Control
Como se muestra en las Figuras 3.15-3.17, el helic´optero se hace inestable y diverge de la trayectoria de referencia. Cabe destacar que las perturbaciones introducidas en la simulaci´on son momentos aerodin´amicos. No se consideraron perturbaciones en el subsistema de traslaci´on.
3.3 Control Backstepping/H∞ no lineal (Raffo et al., 2008a)
3.3.
51
Control Backstepping /H∞ no lineal (Raffo et al., 2008a)
En este apartado se desarrolla una estrategia de control que tiene como objetivo estabilizar de forma robusta el subsistema de rotaci´on, siendo capaz de mantener el buen funcionamiento del helic´optero cuando ´este est´a sujeto a perturbaciones que generan momentos aerodin´amicos. Para ello se utiliza una ley de control H∞ no lineal que es robusta ante la presencia de incertidumbres y capaz de rechazar perturbaciones mantenidas. Una vez estabilizado el subsistema de rotaci´on, se implementar´a el controlador del subsistema de traslaci´on lineal desarrollado en el Apartado 3.2.2. En el diagrama de bloques de la Figura 3.18 se representa la estructura de control en cuesti´on.
H∞
Figura 3.18: Estructura de control Backstepping/H∞ no lineal.
Para desarrollar el controlador se utiliza el modelo obtenido v´ıa la formulaci´on de Lagrange-Euler presentado en el cap´ıtulo 2. A continuaci´on se expone una breve introducci´on de la teor´ıa de control H∞ no lineal aplicada a sistemas mec´anicos totalmente actuados, y despu´es se presenta el controlador desarrollado para la estabilizaci´on del helic´optero quadrotor.
52
3.3.1.
3 Estructuras de Control
Control H∞ no lineal
La ecuaci´on din´amica de un sistema mec´anico suave de orden n, que se ve afectado por una perturbaci´on desconocida, puede ser la siguiente: x˙ = f(x, t) + g(x, t)u + k(x, t)ω ,
(3.28)
donde u ∈ ℜp es el vector de entradas de control, ω ∈ ℜq es el vector de perturbaciones externas y x ∈ ℜn es el vector de estados. El desempe˜ no puede ser definido usando la (m+p) variable de coste z ∈ ℜ dada por la expresi´on: h(x) z=W , (3.29) u donde h(x) ∈ ℜm representa el vector objetivo cuya magnitud se desea controlar, y W ∈ ℜ(m+p)×(m+p) es una matriz de ponderaci´on. Si los estados x son accesibles, entonces se puede formular el problema H∞ ´optimo de la forma (van der Schaft, 1992): Hallar el m´ınimo valor de γ ∗ ≥ 0 tal que para cualquier γ ≥ γ ∗ exista una realimentaci´on de estado u = u(x, t), tal que la ganancia L2 de ω a z sea menor o igual que γ, esto es: Z Z T
0
kzk22 dt
T
≤γ
2
0
kωk22 dt .
(3.30)
El t´ermino interno de la integral de la izquierda en la desigualdad (3.30) puede ser escrito como: T T h(x) 2 T T kzk2 = z z = h (x) u W W u y la matriz sim´etrica definida positiva WT W puede ser particionada como: Q S T W W= ST R
(3.31)
Las matrices Q y R son sim´etricas y definidas positivas y el hecho de que WT W > 0 garantiza que Q − SR−1 ST > 0. Bajo estas hip´otesis, se puede calcular una se˜ nal de control ´optima u∗ (x, t) para el sistema (3.28) si existe una soluci´on suave V (x, t), con V (x0 , t) ≡ 0 para t ≥ 0, para la siguiente ecuaci´on de HJBI (van der Schaft, 2000): ∂V ∂T V 1 ∂T V 1 ∂V T −1 T + f(x, t) + k(x, t)k (x, t)−g(x, t)R g (x, t) − 2 ∂t ∂x 2 ∂x γ ∂x (3.32) T ∂ V 1 − g(x, t)R−1 ST h(x) + hT (x) Q − SR−1 ST h(x) = 0 ∂x 2
3.3 Control Backstepping/H∞ no lineal (Raffo et al., 2008a)
53
p para cada γ > σm´ax (R) ≥ 0, donde σm´ax significa el m´aximo valor singular. En tal caso, la ley de control ´optimo por realimentaci´on de estados se obtiene como sigue (W. Feng and I. Postlethwaite , 1994): ∂V (x, t) T T ∗ −1 S h(x) + g (x, t) u = −R . (3.33) ∂x Control H∞ no lineal del sub-sistema de rotaci´ on El controlador H∞ no lineal se utiliza el modelo din´amico para los movimientos de rotaci´on (2.42) obtenido a partir de la formulaci´on de Lagrange-Euler en el Cap´ıtulo 2, donde τη representa los pares de control y perturbaciones externas. En aras de la claridad, τη se puede redefinir como: τη = τηa + τηd donde τηa representa el vector de pares de control respecto a los momentos de balanceo, cabeceo y gui˜ nada, y τηd representa el resto de la perturbaciones a las cuales est´a sujeto el sistema. Como primer paso para dise˜ nar la ley de control, se define el vector del error de seguimiento de la siguiente forma: η˙ − η˙ d η˜˙ x ˆ = R η˜ = R η − η d (3.34) d η − η dt η˜dt donde η d y η˙ d ∈ ℜn representa la posici´on de la trayectoria deseada y la velocidad de la misma, respectivamente. N´otese que en el vector del error se ha incluido un t´ermino integral que permitir´a lograr un error nulo en r´egimen permanente ante perturbaciones mantenidas aplicadas al sistema (Ortega et al., 2005). Para el sub-sistema de rotaci´on se propone la siguiente ley de control: ˆ˙ + C(η, η)Tˆ ˙ x + T1 −1 u η + C(η, η) ˙ η˙ − T1 −1 M(η)Tx τηa = M(η)¨
(3.35)
Esta ley de control se puede separar en tres partes: la primera de ellas, consistente en los dos primeros t´erminos de la ecuaci´on, est´a destinada a compensar la din´amica del sistema (2.42). La segunda parte consiste en los t´erminos que incluyen el vector del error x ˆ y su ˙ derivada, x ˆ. En caso de que τηd ≡ 0, estos dos t´erminos de la ley de control permitir´ıan un seguimiento perfecto, lo cual significa que ellos representan el esfuerzo de control principal necesario para ejecutar la tarea. Finalmente, el tercer t´ermino incluye un vector u que representa el esfuerzo de control adicional necesario para rechazar perturbaciones (Ortega et al., 2005).
54
3 Estructuras de Control
En este punto hay que hacer notar que, a pesar de que la ley de control anterior pueda parecer un sistema mal planteado, posteriormente se mostrar´a (ver ecuaci´on (3.42)) que el par que se calcula no depende de la aceleraci´on de las coordenadas generalizadas, aunque s´ı de la referencia de aceleraci´on. La matriz T en (3.35) se puede dividir en los siguientes t´erminos: T=
T1 T2 T3
con T1 = ρI, donde ρ es un escalar positivo e I es la matriz identidad de orden n. Sustituyendo la ecuaci´on de la ley de control (3.35) en la ecuaci´on de Lagrange-Euler que representa al sistema (2.42), y definiendo ω = M(η)T1 M−1 (η)τηd , se tiene: M(η)Tx ˆ˙ + C(η, η)Tˆ ˙ x=u+ω
(3.36)
Esta ecuaci´on representa la ecuaci´on din´amica del error del sistema. Teniendo en cuenta esta ecuaci´on no lineal, el problema de control H∞ no lineal se puede formular como sigue: “Hallar una ley de control u(t) tal que la relaci´on entre la energ´ıa de la variable de T y la energ´ıa de las se˜ nales de perturbaci´on ω sea menor que coste z = W hT(ˆ x) uT un nivel de atenuaci´on preestablecido γ”. Teniendo en cuenta la definici´on del vector de error, x ˆ, y la definici´on de la variable de coste, z, se consideran las siguientes estructuras para las matrices Q y S en (3.31): Q1 Q12 Q13 S1 Q = Q12 Q2 Q23 , S = S2 . Q13 Q23 Q3 S3 Para aplicar los resultados te´oricos presentados en el Apartado 3.3.1 es necesario reescribir la ecuaci´on din´amica no lineal del error (3.36) en la forma normal del problema H∞ no lineal (v´ease ecuaci´on (3.28)). Esto puede ser realizado mediante las siguientes transformaciones: x ˆ˙ = f(ˆ x, t) + g(ˆ x, t)u + k(ˆ x, t)ω , (3.37) −M(η)−1 C(η, η) ˙ 0 0 T1 −1 I − T1 −1 T2 −I + T1 −1 (T2 − T3 ) T0 , f (ˆ x, t) = T0 −1 0 I −I M(η)−1 0 g (ˆ x, t) = k (ˆ x, t) = T0 −1 0
3.3 Control Backstepping/H∞ no lineal (Raffo et al., 2008a) donde I es la matriz identidad, 0 una matriz de T1 T2 0 I T0 = 0 0
55
ceros, ambos de orden n, y T3 I . I
(3.38)
Como se expuso en el Apartado 3.3.1, la soluci´on de la ecuaci´on de HJBI depende de la elecci´on de la variable de coste, z, y particularmente de la elecci´on de la funci´on h(ˆ x) (ver (3.29)). En este trabajo, esta funci´on se considera igual al vector de error, esto es, h(ˆ x) = x ˆ. Una vez elegida esta funci´on, para calcular la ley de control, u, hay que encontrar la soluci´on, V (ˆ x, t), para la ecuaci´on de HJBI (3.32) planteada en el apartado anterior. El siguiente teorema ayudar´a a hallar esta soluci´on. Teorema: Sea V (ˆ x, t) la funci´on escalar: M(η) 0 0 1 T T V (ˆ x, t) = x ˆ T0 0 Y X−Y 2 0 X−Y Z+Y
ˆ T0 x
,
(3.39)
donde X, Y y Z ∈ ℜn×n son matrices constantes, sim´etricas, y definidas positivas tal que h i Z − XY−1 X + 2X > 0, y T0 es como definido en (3.38). Sea T = T1 T2 T3 la matriz que aparece en (3.36). Si estas matrices verifican la siguiente ecuaci´on: 0 Y X T −1 T 1 T T S +T =0 Y 2X Z + 2X + Q + 2 T T − S + T R γ X Z + 2X 0
(3.40)
entonces, la funci´on V (ˆ x, t) constituye una soluci´on para la ecuaci´on de HJBI (3.32), para un valor suficientemente alto de γ. La demostraci´on de este teorema puede encontrarse en Ortega et al. (2005). ⋄ La matriz T = T1 T2 T3 puede ser calculada resolviendo algunas ecuaciones algebraicas de Riccati (ver (Ortega et al., 2005)). Una vez calculada la matriz T, sustituyendo V (ˆ x, t) en (3.33), la ley de control u∗ correspondiente al ´ındice ´optimo γ, seg´ un el criterio de la ganancia L2 , viene dada por la expresi´on: u∗ = −R−1 ST + T x ˆ (3.41)
56
3 Estructuras de Control
Finalmente, si se sustituye la ley de control (3.41) en (3.35), y tras realizar algunas manipulaciones matem´aticas, la ley de control ´optima puede ser reescrita como:
τη∗a donde:
Z = M(η)¨ η + C(η, η) ˙ η˙ − M(η) KD η˜˙ + KP η˜ − KI η˜dt d
KD = T1 −1 T2 + M(η)−1 C(η, η)T ˙ 1 + M(η)−1 R−1 S1 T + T1 KP = T1 −1 T3 + M(η)−1 C(η, η)T ˙ 2 + M(η)−1 R−1 S2 T + T2 KI = −T1 −1 M(η)−1 C(η, η)T ˙ 3 + M(η)−1 R−1 S3 T + T3
(3.42)
Se puede obtener un caso particular cuando las submatrices de ponderaci´on que componen WT W verifiquen (Ortega et al., 2005): Q1 = ω12 I,
Q2 = ω22 I,
Q12 = Q13 = Q23 = 0,
Q3 = ω32 I,
R = ωu2 I,
(3.43)
S1 = S2 = S3 = 0.
En este caso, se obtienen las siguientes expresiones anal´ıticas para las distintas ganancias: p ω22 + 2ω1 ω3 1 −1 KD = C(η, η) ˙ + 2I , I + M(η) ω1 ωu ω3 KP = I + ω1
p ω22 + 2ω1 ω3 1 −1 C(η, η) ˙ + 2I , M(η) ω1 ωu
1 ω3 −1 C(η, η) ˙ + 2I . KI = M(η) ω1 ωu Estas ecuaciones tienen una propiedad importante: las expresiones de las ganancias no dependen del par´ametro γ. Por lo tanto, para este caso particular, se dispone de expresiones anal´ıticas para calcular la soluci´on ´optima (Ortega et al., 2005). Finalmente, es conveniente se˜ nalar que el controlador presentado en este trabajo puede ser interpretado como un esquema de control de par calculado, con un controlador H∞ no lineal externo.
3.3.2.
Resultados de simulaci´ on
Para corroborar la eficacia de la estructura de control propuesta utilizando el controlador basado en la t´ecnica Backstepping junto con el controlador H∞ no lineal para
3.3 Control Backstepping/H∞ no lineal (Raffo et al., 2008a)
57
el problema de seguimiento de trayectoria, considerando la presencia de perturbaciones externas e incertidumbres param´etricas, se han realizado dos conjuntos de simulaciones, como para los casos anteriores. La trayectoria de referencia, condiciones iniciales, par´ametros del helic´optero y tasas de incertidumbres en los par´ametros son los mismos que se utilizaron en los dem´as casos previamente presentados. La primera simulaci´on se ha realizada sin considerar perturbaciones externas. En la segunda simulaci´on se ha considerado perturbaciones externas, donde se han aplicado escalones mantenidos en los momentos aerodin´amicos, o sea, en t = 5s se introdujo Ar = 5Nm, en t = 15s se afect´o al sistema con Ap = 10Nm, y en t = 25s se aplic´o la u ´ltima perturbaci´on con amplitud de Aq = 10Nm. Los par´ametros del controlador descrito en el Apartado 3.2.2 se han ajustado con los siguientes valores: α7 = 100, α8 = 3, α9 = 15, α10 = 3, α11 = 15 y α12 = 3. Mientras el controlador H∞ no lineal se ha sintonizado con las siguientes ganancias: ω1 = 1,9, ω2 = 3,0, ω3 = 2,5 y ωu = 0,02 En las Figuras 3.19-3.26 se presentan los resultados obtenidos para la estrategia de control propuesta. Referencia Inercia Nominal Inercia +20% Inercia −20% 5.5 5 4.5 4 3.5 z [m]
3 2.5 2 1.5 1 0.5 0 0.5 0 −0.5 y [m]
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
x [m]
Figura 3.19: Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal sin perturbaciones externas.
58
3 Estructuras de Control x 1 Reference Nominal inertia Inertia +20% Inertia −20%
0.5 0 −0.5 −1
0
5
10
15
20 y
25
30
35
40
1 Reference Nominal inertia Inertia +20% Inertia −20%
0.5 0 −0.5 −1
0
5
10
15
20 z
25
30
35
40
6 Reference Nominal inertia Inertia +20% Inertia −20%
4 2 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.20: Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal sin perturbaciones externas. φ [rad] 0.6 Referencia Inercia Nominal Inercia +20% Inercia −20%
0.4 0.2 0 −0.2
0
5
10
15
20 θ [rad]
25
30
35
40
1.5 Referencia Inercia Nominal Inercia +20% Inercia −20%
1 0.5 0 −0.5
0
5
10
15
20 ψ [rad]
25
30
35
40
1.5 Referencia Inercia Nominal Inercia +20% Inercia −20%
1 0.5 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.21: Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal sin perturbaciones externas.
3.3 Control Backstepping/H∞ no lineal (Raffo et al., 2008a) u1
59
u2
120
12000 Inercia nominal Inercia +20% Inercia −20%
100
Inercia nominal Inercia +20% Inercia −20%
10000 8000
80
6000 60 4000 40
2000
20 0
0 0
10
4
4
20 tiempo [s]
30
40
−2000
10
20 tiempo [s]
u3
x 10
30
40
u4 4000 Inercia nominal Inercia +20% Inercia −20%
3
2000
1
1000
0
0
0
10
20 tiempo [s]
30
Inercia nominal Inercia +20% Inercia −20%
3000
2
−1
0
40
−1000
0
10
20 tiempo [s]
30
40
Figura 3.22: Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal sin perturbaciones externas. Referencia Inercia Nominal Inercia +20% Inercia −20% 5.5 5 4.5 4 3.5 3 z [m] 2.5 2 1.5 1 0.5 0 0.6 0.4
0.6
0.2
0.4 0 −0.2 −0.4 −0.6 y [m]
−0.6
−0.4
−0.2
0
0.2
x [m]
Figura 3.23: Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal con perturbaciones externas.
60
3 Estructuras de Control x 1 Referencia Inercia Nominal Inercia +20% Inercia −20%
0.5 0 −0.5 −1
0
5
10
15
20 y
25
30
35
40
1 Referencia Inercia Nominal Inercia +20% Inercia −20%
0.5 0 −0.5 −1
0
5
10
15
20 z
25
30
35
40
6 Referencia Inercia Nominal Inercia +20% Inercia −20%
4 2 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.24: Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal con perturbaciones externas. φ [rad] 0.6 Referencia Inercia Nominal Inercia +20% Inercia −20%
0.4 0.2 0 −0.2
0
5
10
15
20 θ [rad]
25
30
35
40
1.5 Referencia Inercia Nominal Inercia +20% Inercia −20%
1 0.5 0 −0.5
0
5
10
15
20 ψ [rad]
25
30
35
40
1.5 Referencia Inercia Nominal Inercia +20% Inercia −20%
1 0.5 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.25: Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal con perturbaciones externas.
3.3 Control Backstepping/H∞ no lineal (Raffo et al., 2008a) u1
61
u2
120
12000 Inercia nominal Inercia +20% Inercia −20%
100
Inercia nominal Inercia +20% Inercia −20%
10000 8000
80
6000 60 4000 40
2000
20 0
0 0
10
4
4
20 tiempo [s]
30
40
−2000
20 tiempo [s]
30
40
u4 4000 Inercia nominal Inercia +20% Inercia −20%
2000
1
1000
0
0
10
20 tiempo [s]
30
Inercia nominal Inercia +20% Inercia −20%
3000
2
0
10
u3
x 10
3
−1
0
40
−1000
0
10
20 tiempo [s]
30
40
Figura 3.26: Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando Backstepping/H∞ no lineal con perturbaciones externas. Se puede notar que la estrategia de control propuesta utilizando el controlador H∞ no lineal en el sub-sistema de rotaci´on presenta un buen desempe˜ no cuando el helic´optero recibe vientos permanentes actuando como momentos sobre el mismo. La estructura aplicada mantuvo la robustez, presentada en la estrategia anterior, ante incertidumbres param´etricas.
62
3.4.
3 Estructuras de Control
CPBM con control H∞ no lineal (Raffo et al., 2008b)
En este apartado se desarrolla una estructura de control para el problema seguimiento de trayectoria del helic´optero quadrotor utilizando una estrategia de control predictivo basado en modelo para el sub-sistema de traslaci´on, en cascada con el controlador H∞ no lineal para el sub-sistema de rotaci´on, presentado en el Apartado 3.3.1 (v´ease la Figura 3.27).
H∞
Figura 3.27: Estructura de control CPBM con H∞ no lineal. El control del sub-sistema de traslaci´on lineal se realiza mediante una estrategia de control predictivo lineal que utiliza linealizaciones sucesivas para obtener el modelo del error en cada paso de muestreo. Esta estrategia es ventajosa cuando el helic´optero recorre un trayecto previamente calculado, as´ı, como se destaca en Camacho y Bordons (1998), el control predictivo es bastante favorable en rob´otica y en procesos en lote, cuando la trayectoria de referencia futura es conocida a priori. A continuaci´on se presenta el controlador predictivo utilizado para el seguimiento de trayectoria aplicado al helic´optero quadrotor.
3.4.1.
Estrategia de CPBM para seguimiento de trayectoria
El controlador que se desarrolla aqu´ı utiliza el m´etodo de cpbm lineal en espacio de estados a trav´es del modelo del error, el cual se obtiene realizando linealizaciones sucesivas
3.4 CPBM con control H∞ no lineal (Raffo et al., 2008b)
63
a lo largo de la trayectoria de referencia. Se sintetizan dos controladores predictivos para el sub-sistema de traslaci´on. En el primer paso se controla la altura a trav´es de la entrada U1 , mientras que en el segundo paso se utiliza esta se˜ nal como par´ametro variante con el tiempo para calcular las entradas virtuales para el movimiento lineal en el plano xy. Antes de desarrollar el controlador para el helic´optero se introduce el concepto del m´etodo de cpbm lineal en espacio de estados.
Control predictivo utilizando espacio de estados Considerando que la referencia es conocida en cualquier instante futuro de la trayectoria, es posible, a trav´es de linealizaciones sucesivas a lo largo de la trayectoria de referencia, obtener una descripci´on lineal y variante en el tiempo del modelo del sistema (Raffo, 2005). As´ı, el modelo en espacio de estados discreto y variante en el tiempo usado por el algoritmo en cuesti´on para obtener las predicciones futuras est´a dado por: x(k + 1) = A(k) · x(k) + B(k) · u(k) . y(k) = C(k) · x(k)
(3.44)
Por lo tanto, considerando el sistema de arriba y los horizontes de predicci´on, N2 , y de control, Nu , las predicciones de los estados est´an descritas como sigue (Rossiter, 2003): ˆ = Px (k|k) · x(k|k) + Hx (k|k) · u x , ˆ = P(k|k) · x(k|k) + H(k|k) · u y
con x(k + 1|k) x(k + 2|k) .. .
ˆ= x x(k + N2 − 1|k) x(k + N2 |k) ∆
y
,
Px (k|k) =
B(k|k) A(k + 1|k) · B(k|k) .. .
Hx (k|k) = α(k, 1, 2) · B(k|k) α(k, 1, 1) · B(k|k) ∆
y(k + 1|k) y(k + 2|k) .. .
ˆ= y y(k + N2 − 1|k) y(k + N2 |k) ∆
∆
,
A (k |k ) A (k |k ) A (k + 1 |k ) .. . α(k, 0, 2) α(k, 0, 1) 0 B(k + 1|k) .. .
(3.45)
u(k|k) u(k + 1|k) .. .
u= u(k + Nu − 2|k) u(k + Nu − 1|k) ∆
, ··· ··· .. .
0 0 .. .
α(k, 2, 2) · B(k + 1|k) · · · 0 α(k, 2, 1) · B(k + 1|k) · · · B(k + Nu − 1|k)
,
64
3 Estructuras de Control
donde α(k, j, l) est´a definido como: ∆
α(k, j, l) =
N 2 −l Y
A(k + i|k) .
(3.46)
i=j
Estas ecuaciones de predicci´on no consideran el modelo de perturbaci´on de forma expl´ıcita. Sin embargo, la acci´on integral puede ser incluida en el modelo para garantizar error nulo en r´egimen permanente de la siguiente manera: u = −K(ˆ x − xr ) + ur ,
(3.47)
donde xr y ur son, respectivamente, los valores de referencia calculados fuera de l´ınea de los estados y entradas de control, y est´an definidos por: xr (k + 1|k) ur (k|k) xr (k + 2|k) ur (k + 1|k) ∆ ∆ .. .. xr = , u = . r . . xr (k + N2 − 1|k) ur (k + Nu − 2|k) xr (k + N2 |k) ur (k + Nu − 1|k) As´ı, dada una ley de control que garantice que x(k) = xr (k) , l´ım u(k) = ur (k) k→∞ entonces y(k) = yr (k), donde yr es la trayectoria de referencia. Usando la ecuaci´on de predicci´on (3.45) y considerando que los estados y entradas de referencia son conocidos se puede asegurar que el m´ınimo de la funci´on de coste, dada por (3.48), es consistente con error cero de seguimiento (Rossiter, 2003), donde se minimiza la funci´on de coste en forma de una norma-2 ponderada por Q y R: J=
N2 X j=1
kyr (k + j|k) − yˆ(k +
j|k)k2Q
+
N u −1 X j=0
ku(k + j|k) − ur (k + j|k)k2R .
(3.48)
Se acepta frecuentemente que la funci´on de coste es consistente con error cero de seguimiento, teniendo que Q agrega t´erminos de la forma C′ C, donde yr − y = C(xr − x). La funci´on de coste (3.48) puede ser escrita y optimizada de la siguiente forma: m´ın J = [ˆ x − xr ]′ Q [ˆ x − xr ] + [u − ur ]′ R [u − ur ] , u
(3.49)
´ la cual penaliza los desv´ıos a partir del valor de r´egimen permanente. Esta difiere de la funci´on del gpc (Generalized Predictive Control), pues optimiza la distancia de las
3.4 CPBM con control H∞ no lineal (Raffo et al., 2008b)
65
entradas al valor de r´egimen permanente, al rev´es de los incrementos de la se˜ nal de control. Las matrices de ponderaci´on de los estados, Q, y de las entradas, R, son positivas definidas y diagonales (Rossiter, 2003). En ausencia de restricciones en los estados y en el control, la ley de control puede ser obtenida de forma algebraica minimizando la funci´on de coste (3.49), la cual resulta ser una realimentaci´on de estados, dada por: −1
u = [H′x · Q · Hx + R]
· [H′x · Q · (xr − Px · x(k)) + R · ur ] .
(3.50)
Debido a la caracter´ıstica de horizonte deslizante del cpbm, solamente u(k) es necesario en cada instante k (Camacho y Bordons, 1998).
CPBM utilizando modelo del error para movimiento lineal en el plano xy En el primer paso se define el modelo del error para las din´amicas de traslaci´on del helic´optero quadrotor. Para obtenerlo se considera la existencia de un helic´optero de referencia virtual sobre la trayectoria a seguir, la cual ser´a descrita por el mismo modelo del veh´ıculo, en el caso, el modelo de traslaci´on. Para esto, se considera que la trayectoria de referencia se obtiene fuera de l´ınea y var´ıa con el tiempo. El objetivo de utilizar esta estrategia, para entradas de referencia no-nulas, es calcular una ley de control lineal que haga que el error entre el veh´ıculo y la referencia sea nulo (Nelson y Cox, 1988). Como el controlador predictivo ser´a usado s´olo para el control de los movimientos de traslaci´on, se utiliza el modelo descrito por la ecuaci´on (2.41) considerando las fuerzas aerodin´amicas nulas. Este sub-sistema se reescribe de la forma del espacio de estados x ˆ˙ (t) = f(ˆ x(t), u ˆ(t)), donde x ˆ(t) = [z(t) w0 (t) x(t) u0 (t) y(t) v0 (t)]T . A trav´es de un cambio de variables se suponen entradas virtuales de control para el movimiento lineal en el plano xy, y el sistema (2.41) con el nuevo vector de estados se puede escribir de la siguiente forma: w0 (t) U (t) −g + (cos θ(t) cos φ(t)) 1 m u0 (t) x ˆ˙ (t) = f(ˆ x(t), u ˆ (t)) = (3.51) U (t) 1 u (t) x m v0 (t) U1 (t) uy (t) m con: ux (t) = (cos ψ(t) sin θ(t) cos φ(t) + sin ψ(t) sin φ(t)) (3.52) uy (t) = (sin ψ(t) sin θ(t) cos φ(t) − cos ψ(t) sin φ(t))
66
3 Estructuras de Control
A partir de (2.41) se puede ver que el movimiento a trav´es de los ejes x y y dependen de la entrada U1 . De hecho, U1 es el vector de empuje total designado a obtener el movimiento de traslaci´on deseado. As´ı, ux y uy se puede considerar como las orientaciones de U1 responsables de los movimientos a trav´es de los ejes x y y, respectivamente. Para obtener el modelo del error se define un robot de referencia con el mismo modelo del veh´ıculo: w0ref (t) −g + (cos θ(t) cos φ(t)) U1ref (t) m u (t) 0 ref x ˆ˙ ref (t) = f(ˆ xref (t), u ˆref (t)) = (3.53) U1 (t) u (t) x ref m v (t) 0ref U1 (t) uyref (t) m donde x ˆ˙ ref (t) = [zref (t) w0ref (t) xref (t) u0ref (t) yref (t) v0ref (t)]T y u ˆref (t) = T [U1ref uxref uyref ] son los estados y las entradas de control de referencia, respectivamente.
Como se puede ver, en las din´amicas de xref y yref no se utiliza la se˜ nal de control U1ref , pues con el procedimiento utilizado, que ser´a presentado a continuaci´on, la se˜ nal de control U1 viene dada por el controlador de la altura y se considera en este paso como un par´ametro variante con el tiempo. Lo mismo se considera para los ´angulos φ(t), θ(t), ψ(t), los cuales se suponen par´ametros variantes con el tiempo. El modelo linealizado puede ser obtenido a trav´es de un modelo del error entre el sistema (3.51) y el sistema de referencia (3.53). Para ello, se expande el t´ermino derecho de la ecuaci´on (3.51) a trav´es de Series de Taylor en torno a un punto de operaci´on de la trayectoria de referencia y se desprecian los t´erminos de orden superior. As´ı, se tiene: ∂f(ˆ x(t), u ˆ(t), t) ˙x ˆ(t) = f(ˆ xref (t), u ˆref (t), t) + x(t) − x ˆref (t)) xˆ=ˆxref · (ˆ ∂ˆ x(t) u ˆ =ˆ uref . (3.54) ∂f(ˆ x(t), u ˆ(t), t) + u(t) − u ˆref (t)) xˆ=ˆxref · (ˆ ∂ˆ u(t) u ˆ =ˆ uref
Sustrayendo la ecuaci´on (3.53) de la (3.54) se obtiene el modelo del error de traslaci´on para el helic´optero propuesto: ∂f(ˆ x (t), u ˆ (t), t) ∂f(ˆ x (t), u ˆ (t), t) ·x ˜(t) + ˜(t) , (3.55) x ˜˙ (t) = xˆ=ˆxref · u x ˆ=ˆ xref ∂ˆ x(t) ∂ˆ u(t) u ˆ =ˆ uref
u ˆ =ˆ uref
donde x ˜(t) = x ˆ(t) − x ˆref (t) representa el error con respecto al modelo de referencia y
3.4 CPBM con control H∞ no lineal (Raffo et al., 2008b)
67
u ˜(t) = u ˆ (t) − u ˆref (t) es la perturbaci´on de la entrada de control. As´ı, 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ∂f(ˆ x(t), u ˆ(t), t) A(t) = = 0 0 0 0 0 0 x ˆ=ˆ xref ∂ˆ x(t) u ˆ =ˆ uref 0 0 0 0 0 1 0 0 0 0 0 0 0
B(t) =
∂f(ˆ x(t), u ˆ(t), t) xˆ=ˆxref ∂ˆ u(t)
u ˆ =ˆ uref
como:
0
0
1 cos θ(t) cos φ(t) 0 m 0 0 U1 (t) = 0 m 0 0 0 0
0 0 0
(3.56)
,
(3.57)
0 U1 (t) m son los jacobianos de (3.51) con respecto a x ˆ(t) y u ˆ (t), respectivamente, calculados en torno al punto (ˆ xref (t), u ˆref (t), t). El modelo del error dado por (3.55) se puede escribir de la siguiente manera: x ˜˙ (t) = A(t) · x ˜(t) + B(t) · u ˜(t) . (3.58) A trav´es del m´etodo de discretizaci´on de Euler, se tiene el siguiente modelo discreto lineal variante con el tiempo: x ˜(k + 1) = A(k) · x ˜(k) + B(k) · u ˜(k) , con
A(k) =
0
1 0 0 0 0 0
T 1 0 0 0 0
0 0 1 0 0 0
0 0 T 1 0 0
0 0 0 0 1 0
0 0 0 0 T 1
0
T cos θ(t) cos φ(t) 0 m 0 0 B(k) = T U 1 (t) 0 m 0 0 0 0
(3.59)
(3.60)
0 0 0 0
,
(3.61)
0 T U1 (t) m donde T es el per´ıodo de muestreo y, como la se˜ nal de control es actualizada solamente en los instantes de tiempo tk = kT , siendo k el instante de muestreo, se denota de forma simplificada como x(k) = x(kT ) y u(k) = u(kT ).
68
3 Estructuras de Control
A partir de este an´alisis, el problema de seguimiento de trayectoria para un helic´optero aut´onomo puede ser entendido como: encontrar las entradas de control, dentro de un intervalo de valores posibles, de tal forma que permitan llevar los estados del sistema (3.58) de una condici´on inicial x ˜0 hasta el origen (Sun, 2005), esto es: lim x ˜=0.
t→∞
Por consiguiente, para calcular el controlador predictivo basado en el modelo del error (3.55), teniendo en cuenta que las din´amicas de traslaci´on dependen s´olo de la fuerza de empuje, U1 , ´este se divide en dos sub-sistemas: el del error de altura y el del error de movimiento en el plano xy, y son dados por: 0 z˜(k) 1 1 + T x ˜z (k + 1) = U˜1 (k) (3.62) w˜0 (k) 0 T cos θ (k) cos φ (k) ref ref m
1 0 x ˜xy (k + 1) = 0 0
T 1 0 0
0 0 1 0
x˜(k) 0 u˜0 (k) 0 T y˜(k) v˜0 (k) 1
0 T U1 (k) + m 0 0
0 u˜x (k) 0 u˜y (k) 0 T U (k) m 1
(3.63)
As´ı, utilizando el modelo de la altura , se reescribe primero la ley de control predictivo descrita en (3.50) en funci´on de (3.62): i h ˜ 1r , ˜ 1 = [Hz ′ · Qz · Hz + Rz ]−1 · Hz ′ · Qz · (˜ ˜z (k)) + Rz · U xzr − Pz · x U
(3.64)
con los errores de los estados de referencia calculados como la diferencia del valor de la referencia futura en relaci´on al actual y, los errores de las entradas de referencia como la diferencia del valor futuro en relaci´on al valor en el paso anterior. Por lo tanto, se tiene: xzr (k + 1|k) − xzr (k|k) xzr (k + 2|k) − xzr (k|k) ∆ .. x ˜zr = ; . xzr (k + N2 − 1|k) − xzr (k|k) xzr (k + N2 |k) − xzr (k|k)
˜1 U ref
U1ref (k|k) − U1ref (k − 1|k) U1ref (k + 1|k) − U1ref (k − 1|k) .. .
= U1ref (k + Nu − 2|k) − U1ref (k − 1|k) U1ref (k + Nu − 1|k) − U1ref (k − 1|k) ∆
.
A partir de (3.64) se obtiene U1 (k) = U˜1 (k) + U1ref (k), y con esto se pasa al pr´oximo paso, donde se calculan las entradas virtuales de control para el movimiento en el plano
3.4 CPBM con control H∞ no lineal (Raffo et al., 2008b)
69
xy. La ley de control se obtiene con el procedimiento anterior, utilizando el modelo del error (3.63), y est´a dada por: −1 ˜xyr − Pxy · x ˜xy (k) + Rxy · u ˜xyr , u ˜xy = [Hxy ′ · Qxy · Hxy + Rxy ] · Hxy ′ · Qxy · x (3.65) T donde u ˜xy = [˜ ux (k) u˜y (k)] , y uxref (k) ux (k) u˜x (k) = + uyref (k) uy (k) u˜y (k) Los estados y entradas de control del error de referencia se obtienen de la misma manera que para el caso del controlador de la altura. A partir de ux (k) y uy (k), y con la relaci´on dada por (3.52) se obtiene la referencia de los ´angulos de balanceo (roll), φ(k), y cabeceo (pitch), θ(k), que son utilizados como referencia por el controlador H∞ no lineal en los movimientos de rotaci´on del helic´optero.
3.4.2.
Resultados de simulaci´ on
Para comprobar el desempe˜ no de esta estrategia de control en la tarea de seguimiento de trayectoria, teniendo en cuenta perturbaciones externas e incertidumbres en los par´ametros, se han realizado diversas simulaciones. Nuevamente se utiliz´o el mismo protocolo para presentar los resultados, utilizando la misma trayectoria de referencia, condiciones iniciales, par´ametros del helic´optero y tasas de incertidumbres de los casos anteriores. As´ı que, la primera simulaci´on se ha realizado sin considerar perturbaciones externas, as´ı como, la segunda simulaci´on se consideraron perturbaciones externas, donde se aplicaron escalones mantenidos en los momentos aerodin´amicos, o sea, en t = 5s se introdujo Ar = 5Nm, en t = 15s se afect´o el sistema con Ap = 10Nm, y en t = 25s se aplic´o la u ´ltima perturbaci´on con amplitud de Aq = 10Nm. Se utilizaron las mismas ganancias del controlador H∞ no lineal del caso anterior: ω1 = 0,05, ω2 = 0,5, ω3 = 3,5 y ωu = 0,02. Para el cpbm se ajustaron los par´ametros como sigue: 1 0 , Rz = 0,01 N2z = Nuz = 3Inz , Qz = 0 1 5 0 0 0 0 1 0 0 150 0 , Rxy = N2xy = Nuxy = 3Inxy , Qxy = 0 0 5 0 0 150 0 0 0 1 y se consider´o un periodo de muestreo de T = 0,1s.
Las Figuras 3.28 - 3.35 presentan los resultados logrados a partir de la estructura de control con cpbm y H∞ no lineal.
70
3 Estructuras de Control
Referencia Inercia nominal Inercia +20% Inercia −20% 5 4.5 4 3.5
z
3 2.5 2 1.5 1 0.5 1 1
0.5 0.5
0 0 −0.5
−0.5 −1
y
−1
x
Figura 3.28: Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal sin perturbaciones externas.
x 1 Referencia Inercia nominal Inercia +20% Inercia −20%
0.5 0 −0.5 −1
0
5
10
15
20 y
25
30
35
40
1 Referencia Inercia nominal Inercia +20% Inercia −20%
0.5 0 −0.5 −1
0
5
10
15
20 z
25
30
35
40
6 Referencia Inercia nominal Inercia +20% Inercia −20%
4 2 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.29: Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal sin perturbaciones externas.
3.4 CPBM con control H∞ no lineal (Raffo et al., 2008b)
71
φ 0.02 Referencia Inercia nominal Inercia +20% Inercia −20%
0 −0.02 −0.04
0
5
10
15
20 θ
25
30
35
40
0.15 Referencia Inercia nominal Inercia +20% Inercia −20%
0.1 0.05 0 −0.05
0
5
10
15
20 ψ
25
30
35
40
1.5 Referencia Inercia nominal Inercia +20% Inercia −20%
1 0.5 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.30: Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal sin perturbaciones externas. u1
u2
25
1000 Inercia nominal Inercia +20% Inercia −20%
20
Inercia nominal Inercia +20% Inercia −20% 500
15 10 0 5 0
0
10
20 tiempo [s]
30
40
−500
2.5 Inercia nominal Inercia +20% Inercia −20%
20 tiempo [s]
30
40
u4
x 10
Inercia nominal Inercia +20% Inercia −20%
2
1000
1.5
500
1
0
0.5
−500
0
−1000
10
4
u3 2000 1500
0
0
10
20 tiempo [s]
30
40
−0.5
0
10
20 tiempo [s]
30
40
Figura 3.31: Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal sin perturbaciones externas.
72
3 Estructuras de Control Referencia Inercia nominal Inercia +20% Inercia −20% 5 4.5 4 3.5 z
3 2.5 2 1.5 1 0.5 1
1
0.5 0.5
0 0
y −0.5
x −0.5 −1
−1
Figura 3.32: Trayectoria xyz del helic´optero quadrotor cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal con perturbaciones externas. x 1 Referencia Inercia nominal Inercia +20% Inercia −20%
0.5 0 −0.5 −1
0
5
10
15
20 y
25
30
35
40
1 Referencia Inercia nominal Inercia +20% Inercia −20%
0.5 0 −0.5 −1
0
5
10
15
20 z
25
30
35
40
6 Referencia Inercia nominal Inercia +20% Inercia −20%
4 2 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.33: Evoluci´on temporal de la posici´on cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal con perturbaciones externas.
3.4 CPBM con control H∞ no lineal (Raffo et al., 2008b)
73
φ 0.04 Referencia Inercia nominal Inercia +20% Inercia −20%
0.02 0 −0.02 −0.04
0
5
10
15
20 θ
25
30
35
40
0.15 Referencia Inercia nominal Inercia +20% Inercia −20%
0.1 0.05 0 −0.05
0
5
10
15
20 ψ
25
30
35
40
1.5 Referencia Inercia nominal Inercia +20% Inercia −20%
1 0.5 0
0
5
10
15
20 tiempo [s]
25
30
35
40
Figura 3.34: Evoluci´on temporal de la orientaci´on cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal con perturbaciones externas. u1
u2
25
1000 Inercia nominal Inercia +20% Inercia −20%
20 15
0
10
−500
5
−1000
0
0
10
20 tiempo [s]
30
40
−1500
2.5 Inercia nominal Inercia +20% Inercia −20%
1000
0
10
4
u3 2000 1500
Inercia nominal Inercia +20% Inercia −20%
500
20 tiempo [s]
30
40
u4
x 10
Inercia nominal Inercia +20% Inercia −20%
2 1.5
500 1 0 0.5
−500
0
−1000 −1500
0
10
20 tiempo [s]
30
40
−0.5
0
10
20 tiempo [s]
30
40
Figura 3.35: Evoluci´on temporal de las entradas de control cuando se aplica la estrategia de control utilizando cpbm y H∞ no lineal con perturbaciones externas. Se puede ver que la estrategia de control propuesta utilizando el controlador H∞ no lineal en el sub-sistema de rotaci´on mantuvo el buen desempe˜ no del caso anterior cuando el helic´optero recibe vientos permanentes actuando como momentos sobre el mismo. En el control de los movimientos de traslaci´on el cpbm present´o un seguimiento de la trayectoria m´as suave, principalmente en el inicio del trayecto, donde el helic´optero parte de
74
3 Estructuras de Control
una condici´on distinta de la trayectoria. Esto se puede justificar porque tal controlador considera, en el c´alculo de la se˜ nal de control, la referencia futura, y as´ı, intenta predecir el camino suavizando el desplazamiento. Adem´as, esta estructura de control tambi´en tiene una buena robustez ante incertidumbres param´etricas, al igual que la estrategia presentada anteriormente.
3.5 Control robusto H∞ de los seis grados de libertad
3.5.
75
Control robusto H∞ de los seis grados de libertad
En este apartado se presenta una estrategia de control robusto de los seis grados de libertad utilizando la teor´ıa de control H∞ para resolver el problema de seguimiento de trayectoria. Con esta estructura se busca que el sistema sea robusto ante cualquier tipo de perturbaci´on, inclusive la mantenida, y considerando todos los par´ametros con incertidumbres. Al igual que en el apartado anterior, en ´este se desarrolla solamente el controlador para los movimientos de traslaci´on lineal del helic´optero. Para esto se propone un controlador H∞ lineal con realimentaci´on de estados v´ıa formulaci´on de lmis, y dise˜ nado para sistemas inciertos. Para la estabilizaci´on de los movimientos rotacionales se ha utilizado el controlador H∞ no lineal v´ıa teor´ıa de juegos presentado en el Apartado 3.3 (v´ease la Figura 3.36).
H∞
H∞
Figura 3.36: Estructura de control robusto H∞ de los seis grados de libertad.
A continuaci´on se hace una breve introducci´on del control H∞ lineal y su formulaci´on v´ıa lmis para realimentaci´on de estados. Para finalizar, se presentan algunos resultados de simulaci´on.
3.5.1.
Control H∞ lineal
Se pueden describir un gran n´ umero de controladores de importancia pr´actica usando diagramas de bloques como se presenta en la Figura 3.37. El problema de dise˜ no del
76
3 Estructuras de Control
controlador puede ser formulado como un problema de optimizaci´on H∞ . En esta figura, P (s) es la planta generalizada, K(s) es el controlador, u son las se˜ nales de control, v las variables medibles, ω las se˜ nales ex´ogenas y z son las variables de error de inter´es.
Figura 3.37: Formulaci´on General del problema de control (Ortega y Rubio, 2004).
La norma H∞ de la funci´on de transferencia en bucle cerrado de ω a z, Hωz , se define como la mayor ganancia de su respuesta en frecuencia. Una de las maneras de determinar la norma H∞ de un sistema nominal es a trav´es de su respuesta en frecuencia. Para sistemas siso se puede utilizar el diagrama de Bode para obtener la m´axima ganancia del sistema con respecto a todas las frecuencias. Por otra parte, en el caso mimo la idea de m´odulo no se aplica y debe ser sustituida por la norma espectral de la matriz de transferencia, donde la respuesta frecuencial puede ser obtenida a trav´es de la noci´on de la descomposici´on en valores singulares. As´ı, para sistemas siso la norma H∞ puede ser descrita como el pico de resonancia de la respuesta en frecuencia, que es la mayor ganancia que el sistema es capaz de ofrecer a la se˜ nal de entrada, kHωz (s)k∞ = m´ax |H(jω)| = Mr . ω
(3.66)
y para sistemas mimo, a trav´es de un diagrama de Bode que se puede obtener para la funci´on kHωz (jω)k∞ = σ ¯ {Hωz (jω)}, la norma H∞ del sistema corresponde al m´aximo pico de resonancia de esa funci´on dando origen a la funci´on: kHωz (s)k∞ = sup σ ¯ {Hωz (jω)}
(3.67)
ω
Como ya se ha dicho, la norma H∞ de un sistema representa la mayor ganancia de su respuesta en frecuencia y tambi´en puede verse como la mayor ganancia en t´erminos de energ´ıa que el sistema puede ofrecer a una se˜ nal de entrada. Esta interpretaci´on es bastante u ´til y provee una definici´on alternativa para la norma H∞ . Por el teorema de Parseval se tiene: Z ∞ Z ∞ 1 1 2 2 kw(t)k2 = W (jω) ∗ W (jω)dω , kz(t)k2 = Z(jω) ∗ Z(jω)dω 2π 0 2π 0 donde W (jω), Z(jω) son las transformadas de Fourier de las se˜ nales ω(t), z(t). Como
3.5 Control robusto H∞ de los seis grados de libertad Z(jω) = Hωz (jω)W (jω) se tiene: Z ∞ 1 2 kz(t)k2 = W (jω) ∗ Hwz (jω) ∗ W (jω) ∗ Hwz (jω)dω 2π 0 Z ∞ 1 (¯ σ {Hwz (jω)})2 W (jω) ∗ W (jω)dω ≤ 2π 0
77
(3.68)
2 Z ∞ 1 ≤ sup σ ¯ {Hwz (jω)} W (jω) ∗ W (jω)dω 2π 0 ω Esta u ´ltima expresi´on se puede escribir en la siguiente forma: kz(t)k2 ≤ kHwz (s)k∞ kw(t)k2 donde se nota que la norma H∞ de un sistema tambi´en puede verse como la mayor ganancia en t´erminos de energ´ıa que el sistema puede ofrecer a una se˜ nal de entrada. Si se elige la se˜ nal de entrada W (jω) adecuadamente puede tenerse la igualdad kz(t)k2 = kHwz (s)k∞ kw(t)k2 . Para ello basta elegir ω(t) = V0 sen(ω0 t)GT (t) donde V0 es el autovector de Hwz (jω0 )∗ Hwz (jω0 ) correspondiente a su mayor autovalor, ω0 es la frecuencia donde se da el supω σ ¯ {Hωz (jω)} y GT (t) es la funci´on puerta que define el truncamiento de la se˜ nal para T suficientemente grande. Los elementos del vector V0 son las amplitudes de los senos de cada componente del vector ω(t). A partir de esta relaci´on se puede definir la versi´on en el dominio del tiempo de la norma H∞ como (Trofino et al., 2003): kz(t)k2 kHwz (s)k∞ = sup (3.69) w6=0 kw(t)k2 El problema de control H∞ ´optimo con esta configuraci´on consiste en calcular un controlador que minimice la tasa γ entre la energ´ıa de la variable de coste z y la energ´ıa del vector de los se˜ nales ex´ogenos ω. Este problema ´optimo no est´a resuelto a´ un, pero la soluci´on existe para el problema sub-´optimo (Ortega y Rubio, 2004), donde una idea muy com´ un consiste en determinar num´ericamente un l´ımite superior γ para kHωz (s)k∞ utilizando la definici´on (3.69), o sea, se busca un escalar positivo tal que: kHwz (s)k∞ < γ .
(3.70)
Se limita el tratamiento a los controladores sub-´optimos, ya que encontrar controladores H∞ ´optimos es una tarea dif´ıcil, y en la pr´actica, esos controladores pueden presentar propiedades indeseables y los c´alculos pueden conducir a problemas num´ericos (S´anchezPe˜ na y Sznaier, 1998). As´ı, para el problema H∞ sub-´optimo la tasa de energ´ıa γ puede ser calculada como la norma H∞ de la matriz de transferencia en bucle cerrado de ω para z, Hωz (s), buscando
78
3 Estructuras de Control
el m´ınimo a trav´es de un proceso iterativo (Ortega et al., 2006). Este problema se puede resolver de distintas maneras, como por ejemplo por la ecuaci´on de Riccati, por la matriz Hamiltoniana o por lmi (Trofino et al., 2003). En este trabajo se resuelve el problema H∞ sub-´optimo a trav´es de la formulaci´on por lmis, que ser´a presentada a continuaci´on.
3.5.2.
Control H∞ con realimentaci´ on de estados v´ıa lmis
Inicialmente, se presenta c´omo determinar la norma H∞ v´ıa lmi (Trofino et al., 2003). Observese que la condici´on deseada: sZ ∞ kz(t)k2 z(t)′ z(t) kHwz (s)k∞ = sup = sup dt < γ , (3.71) w(t)′ w(t) w6=0 kw(t)k2 w6=0 0 se puede reescribir como ya se present´o para el caso no lineal, de la siguiente forma: Z ∞ Z ∞ ′ 2 z(t) z(t)dt < γ w(t)′ w(t)dt . (3.72) 0
0
Como el sistema es exponencialmente estable y las condiciones iniciales son nulas, se considera el problema de determinar una funci´on de Lyapunov V (x) = x(t)′ P x(t), donde la matriz P es una matriz sim´etrica definida positiva, tal que: V˙ (x) + z(t)′ z(t) − γ 2 w(t)′ w(t) < 0 ,
(3.73)
donde V˙ (x) es la derivada de V (x) para las trayectorias del sistema. Observese que si se encuentra V (x) que satisfaga la condici´on (3.73) entonces se satisface (3.71) por tanto (3.72). El inter´es de la condici´on anterior es que se puede expresar como una lmi. As´ı, para la s´ıntesis de un controlador H∞ con realimentaci´on de estados v´ıa lmis se considera el siguiente sistema lineal: x˙ (t) = Ax (t) + Bu (t) + Bω ω (t) z (t) = Cz x (t) + Duz u (t) + Dωz ω (t) u(t) = Kx(t)
(3.74)
donde x(t) ∈ ℜn representa el vector de estados, u(t) ∈ ℜm la se˜ nal de control, A, Bu y Bω son matrices del sistema con dimensiones apropiadas, Cz , Duz y Dωz son matrices de ponderaci´on con dimensiones apropiadas y K es una matriz de ganancia del controlador a ser determinada. En bucle cerrado el sistema (3.74) se queda: x˙ (t) = (A + BK) x (t) + Bω ω (t) z (t) = (Cz + Duz K) x (t) + Dωz ω (t)
(3.75)
3.5 Control robusto H∞ de los seis grados de libertad
79
Utilizando la expresi´on (3.73), poniendo el sistema (3.75) en esta formulaci´on, utilizando el complemento de Schur y algunos cambios de variables, entonces la norma H∞ del sistema (3.75) est´a dada por el siguiente problema de optimizaci´on: Q > 0, ′ AQ + QA′ + BY + Y ′ B ′ Bω QCz′ + Y ′ Dωz m´ın γ : ′ 0, A(δ)Q + QA(δ)′ + B(δ)Y + Y ′ B(δ)′ ∗ ∗ m´ın γ : ∗ 0, A(v1 )Q + QA(v1 )′ + B(v1 )Y + Y ′ B(v1 )′ ∗ ∗ ∗
View more...
Comments