Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MODELADO Y CONTROL DE UN
HELICÓPTERO QUADROTOR
SEVILLA
2007
UNIVERSIDAD DE SEVILLA
MODELADO Y CONTROL DE UN
HELICÓPTERO QUADROTOR
POR
i
ii
MODELADO Y CONTROL DE UN HELICÓPTERO
QUADROTOR
Esta Tesis se juzgó adecuada para la obtención del Tı́tulo de Master en Automática,
Robótica y Telemática, Área de Conocimiento en Ingenierı́a de Sistemas y Automática,
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. Prof. D. Manuel Gil Ortega Linares, Dr.
Director Director
Tribunal Examinador:
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ña.
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.
Agradezco a mis amigos Jörn Klaas Gruber y Antonio Ferramosca las muchas ayudas
prestadas durante mi estancia en Sevilla, por las correcciones de inglés en los artı́culos y
por tener un oı́do para mi todos los dı́as.
Agradezco a los Prof. Manuel Vargas y Prof. Francisco Salas el apoyo ofrecido en la
elaboración de esta tesis.
A todos los amigos que hice durante estos dos años en Sevilla. Agradezco a los cole-
gas del curso de máster en Automática, Robótica y Telemática 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ón del grado de Master en Automática, Robótica y Telemática.
Diciembre/2007
Número de Páginas:
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.
December/2007
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 mathe-
matical 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 presen-
ce 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 stra-
tegies 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
Índice general
Índice general IX
1. Introducción 1
1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3. Estructuras de Control 29
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5. Conclusiones 105
Bibliografı́a 111
xii Índice general
Índice de figuras
Sı́mbolos
Introducción
1.1. Motivación
Los sistemas de control de vuelo han despertado un gran interés en los últimos años,
debido al reto que supone tanto conseguir vehı́culos aéreos totalmente autónomos, o no
tripulados (en inglés nombrados uav’s - Unmanned Aerial Vehicles), como por poder
ayudar a un pilotaje más sencillo e intuitivo de los mismos.
Este tipo de vehı́culo puede verse tanto en el ámbito militar como en el civil, con apli-
caciones desarrolladas para tareas de búsqueda y rescate, vigilancia comercial, espionaje,
filmación cinematografı́a, inspección en situaciones donde se realicen vuelos en condiciones
hostiles (Pallet y Ahmad, 1991), ası́ como la realización de maniobras acrobáticas, entre
otras.
Hasta hace poco tiempo, desarrollar un vehı́culo aéreo en escala miniatura y controlado
de manera autónoma era un sueño de muchos investigadores, los cuales estaban limitados
por las restricciones impuestas por el hardware hasta entonces existente. Lo que hizo
posible la construcción de robots aéreos autónomos fue los recientes avances tecnológicos
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.
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écnicas de modelado no lineal
y de teorı́a de control no lineal moderna, lo que permite alcanzar un alto desempeño
en vuelos autónomos (Castillo et al., 2005), y en distintas condiciones de vuelo (vuelo
estacionario, vuelo en punto fijo, aterrizaje/despegue, ...).
Sistema para incrementar la estabilidad (del inglés sas: Stability Augmentation Sys-
tems): 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ámico de un sistema, que una vez alejado de cierto punto de
equilibrio, deja de ser intuitivo para el razonamiento humano;
En el ámbito del control de vuelo, uno de los sistemas más 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á siendo muy referenciada en el ámbito de control es el
helicóptero en la configuración quadrotor. En comparación con los aeroplanos, este tipo
de aeronave posee una mayor agilidad para maniobrar. Sin embargo, su control se hace
mucho más complejo, entre otros motivos, por la mayor inestabilidad de su dinámica.
Según Castillo et al. (2005), este tipo de helicóptero consigue un vuelo estacionario
estable y preciso a través del balance de las fuerzas de propulsión ejercidas por las cuatro
hélices accionadas por sus respectivos motores eléctricos.
1.1 Motivación 3
Son muchas las ventajas que tienen este tipo de helicóptero con respecto a las de uno
convencional, entre ellas se pueden citar las siguientes:
cinemática como la dinámica del vehı́culo, y a través de las Leyes de Newton se obtuvo las
ecuaciones dinámicas para el helicóptero quadrotor. En este modelo se consideró las fuerzas
y momentos aerodinámicos actuantes en el uav. Para realizar la tarea de seguimiento
de trayectoria se demostró que no se pueden desacoplar las salidas por linealización por
realimentación estática, y se propuso un controlador con desacoplamiento entrada-salida y
linealización exacta por realimentación dinámica, siendo corroborado mediante simulación,
donde se han considerado todos los estados medibles. Esta estrategia se mostró estable y
robusta en presencia de viento y de incertidumbres paramétricas.
Trabajos más recientes pueden encontrarse en Rong y Ozguner (2006), donde se sinteti-
zó un controlador basado en modos deslizantes; en Lara et al. (2006), donde se presentaron
nuevos resultados para calcular los márgenes de robustez del sistema de control para un
quadrotor utilizando un pd multivariable para estabilizar la posición del vehı́culo; o en
Castillo et al. (2005, 2007), donde se diseñaron controladores no lineales para la esta-
1.1 Motivación 5
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ño del sistema frente a perturbaciones e incertidumbres (Ortega et al.,
2005).
En Ortega et al. (2005) se propuso una estrategia para sistemas mecánicos conside-
rando la ecuación dinámica del error. En tal estrategia se aplica un control H∞ no lineal
formulado vı́a teorı́a de juegos, la cual provee, a través de una solución analı́tica, una
ganancia constante similar a los resultados obtenidos con procedimientos de linealización
por realimentación.
Ası́, cuando las restricciones pueden ser consideradas, los algoritmos de cpbm se pre-
sentan como una interesante elección. El cpbm calcula acciones de control para un de-
terminado horizonte de tiempo futuro, de tal manera que la predicción de la salida de la
planta siga cerca de la referencia, minimizando una determinada función de coste mul-
tiobjetivo respecto a determinadas variables de decisión y considerando un conjunto de
restricciones (Camacho y Bordons, 1998). Para hacer esto, los valores de las salidas pre-
dichas son calculadas como una función de valores pasados de las entradas y salidas, y de
señales de control futuras, haciendo uso de un modelo explı́cito del proceso y sustituyendo
en la función de coste, obteniendo una expresión cuya minimización conduce a los valores
deseados. Se puede obtener una solución analı́tica para una función de coste cuadrática,
si el modelo es lineal y no existen restricciones; en caso contrario se deben usar métodos
iterativos de optimización (Camacho y Bordons, 1998).
conducir el vehı́culo suavemente, esta técnica permite mejorar la autonomı́a del mismo,
aparte de de ser fácilmente extendido a sistemas multivariables. Como desventaja se puede
considerar el elevado coste computacional introducido, que puede hacer que sea imposible
realizar aplicaciones reales.
1.2. Objetivos
Los resultados de simulación serán utilizados para realizar pruebas comparativas entre
las distintas estrategias de control desarrolladas en este trabajo y técnicas de control
propuestas en la literatura.
Finalmente, una vez desarrolladas las estrategias de control, éstas serán implementadas
8 1 Introducción
El Capı́tulo 5 finaliza con las conclusiones del trabajo y las perspectivas futuras de
investigación.
Capı́tulo 2
U3 U2
F2 F1
U1
F3 F4
U4
Para obtener tal modelo dinámico 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élices para generar el movimiento del
vehı́culo.
zL
yL xL
ψ
θ
ξ
z
y x
Estos tipos de vehı́culos son sistemas de vuelo de estructura ligera, por lo que el modelo
dinámico debe incluir los efectos giroscópicos resultantes tanto del cuerpo rı́gido rotando
en el espacio, como de la rotación de las cuatro hélices (Bouabdallah et al., 2004a). En
la Tabla 2.1 se describen tales efectos, donde C representan términos 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 ángulos de Tait-Bryan.
2.3 Orientación del helicóptero 11
Cuadro 2.1: Principales efectos fı́sicos actuantes sobre un helicóptero (Bouabdallah et al.,
2004a).
En este trabajo se designará el vector ξ = {x, y, z} como la posición del centro de masa
del helicóptero con respecto al sistema inercial I. Ası́ mismo, la orientación del vehı́culo
se supondrá dada por una matriz de rotación RI : B → I, donde RI ∈ SO(3) es una
matriz de rotación ortonormal (Fantoni y Lozano, 1995).
Por lo tanto, los ángulos de Tait-Bryan son tres ángulos usados para describir una
rotación general en el espacio Euclideo tridimensional a través de tres rotaciones sucesivas
en torno de ejes del sistema móvil en el cual están definidos. Ası́, en este trabajo se usarán
los ángulos de Tait-Bryan para describir la orientación de un helicóptero.
2. Rotación según ~y de θ: el segundo giro se realiza alrededor del eje ~y a partir del
nuevo eje ~yL, con el ángulo pitch o ángulo de cabeceo, θ para dejar el eje ~zL en su
posición final.
x2 cosθ 0 sin θ x1
y2 = 0 1 0 y1 (2.2)
z2 −sinθ 0 cos θ z1
3. Rotación según ~z de ψ: el tercer giro y última rotación corresponde al ángulo de gui-
ñada o yaw, ψ, alrededor del eje ~z a partir del nuevo eje ~zL para llevar el helicóptero
a su posición final.
x cosψ −sinψ 0 x2
y = sinψ cosψ 0 y2 (2.3)
z 0 0 1 z2
2.3 Orientación del helicóptero 13
ψ
Z1 Z
z
φ
y
ψ θ
Y1
φ
centro de masa Y
θ ψ
X X2
x
φ
Figura 2.3: Rotación de los ángulos de Tait-Bryan del sistema de coordenadas inercial al
sistema de coordenadas fijado al helicóptero (Space y Spazio, 1997).
A partir de la matriz de rotación (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étrica (Craig, 1989), se puede obtener las ecuaciones cinemáticas de
rotación del vehı́culo que establecen las relaciones entre las velocidades angulares.
R T R = In (2.6)
Definiendo:
S = RT Ṙ (2.8)
se obtiene a partir de (2.7) que:
ST + S = 0n (2.9)
donde S una matriz anti-simétrica. La relación entre la derivada de la matriz ortonormal
y la matriz anti-simétrica es la siguiente:
S = R−1 Ṙ (2.10)
Por lo tanto, las ecuaciones cinemáticas para determinar la postura del helicóptero,
suponiendo la matriz de rotación (2.5), vienen dadas por:
La variación de los ángulos de Tait-Bryan (φ̇, θ̇, ψ̇) es una función discontinua. Estas
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óscopos, por ejemplo.
Normalmente, se utilizan Unidades de Medición Inercial (en inglés: Inertial Measurement
Unit - imu) para medir las rotaciones y calcular directamente los ángulos de Tait-Bryan
(Bouabdallah et al., 2006).
El movimiento rotacional del helicóptero viene dado por las componentes de las velo-
cidades angulares en los tres ejes: velocidad angular de balanceo (p), velocidad angular
de cabeceo (q), y velocidad angular de guiñada (r), sobre los ejes ~xL , ~yL y ~zL respectiva-
mente. Estas velocidades rotacionales son debidas a los pares ejercidos sobre el sistema
ligado al cuerpo del helicóptero 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ñada (N) sobre los ejes ~xL , ~yL y ~zL respectivamente (Esteban, 2005).
T
Considerando el vector de estado ξ v η ω donde ξ y v ∈ ℜ3 representan
respectivamente la posición 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(ω)
Jω̇ = −ω × Jω + τb
Por otra parte, Fb ∈ B y τb ∈ B son las fuerzas y pares externos aplicados al cuerpo
del helicóptero, y consisten en su propio peso, en el vector de fuerzas aerodinámicas, 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
RI Fb = −mg · E3 + RIE3 bΩi + AT
i=1
P4 (2.19)
τb = − JR (ω × E3 ) · Ωi + τa + AR
i=1
Con las ecuaciones de fuerzas y pares (2.19), el modelo dinámico (2.18) se puede
reescribir como sigue:
ξ˙ = v
!
4
b X AT
Ω2i +
v̇ = −g · E3 + RIE3
m i=1 m
(2.20)
Ṙ I = R I S(ω)
P4
Jω̇ = −ω × Jω − JR (ω × E3 ) · Ωi + τa + AR
i=1
donde:
2.4 Formulación de Newton-Euler 17
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 )
(f3 − f1 ) l l · U2
τa =
P 4
=
lb (Ω23 − Ω21 ) l · U3 (2.24)
2 2 2 2
τMi k τ (Ω1 + Ω 3 − Ω 2 − Ω4 ) U 4
i=1
Cada motor se puede considerar como un disco rı́gido rotando alrededor de su eje ~z
con una velocidad Ωi . El eje de rotación del motor se mueve con la velocidad angular del
eje de referencia, lo cual produce los siguientes movimientos giroscópicos:
4
X
τGa = − JR (ω × E3 ) · Ωi (2.25)
i=1
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ón diferencial no lineal (2.27) se puede escribir en una forma más compacta,
como:
X4
ζ̇ = f (ζ) + gi (ζ) Ui (2.28)
i=1
2.4 Formulación de Newton-Euler 19
donde:
u0
v0
w0
Ax
m
Ay
m
Az
−g +
m
f (ζ) =
p + q sin φ tan θ + r cos φ tan θ
,
q cos φ − r sin φ
q sin φ sec θ + r cos φ sec θ
(Iyy − Izz ) JR Ω Ap
qr − q+
(I − Ixx Ixx Ixx
zz Ixx ) JR Ω Aq
pr + p+
Iyy Iyy Iyy
(Ixx − Iyy ) Ar
pq +
h Izz Izz iT
g1 (ζ) = 0 0 0 g14 g15 g16 0 0 0 0 0 0
T
l
g2 (ζ) = 0 0 0 0 0 0 0 0 0 0 0
Ixx T
l
g3 (ζ) = 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
Izz
con
1
g14 = (cos ψ sin θ cos φ + sin ψ sin φ)
m
1
g15 = (sin ψ sin θ cos φ − cos ψ sin φ)
m
1
g16 = (cos θ cos φ)
m
L = Ec − Ep
donde:
L es la función lagrangiana
qi es la coordenada generalizada
q = [x y z φ θ ψ]T ∈ ℜ6
donde EcT rans es la energı́a cinética traslacional y EcRot es la energı́a cinética rotacional.
lineal viene dada por la ecuación (2.15), donde ξ˙ = v, y por lo tanto el cuadrado de la
velocidad es:
ξ˙2 (x, y, z) = (ẋ2 + ẏ 2 + ż 2 ) = ξ˙T ξ˙
Ası́, la energı́a cinética traslacional puede ser escrita mediante la siguiente expresión:
1 m m
Z
EcT rans = ξ˙2 (x, y, z) dm = ξ˙2 (x, y, z) = ξ˙T ξ˙
2 2 2
I d I d
RI · B rB = ṘI · B rB
vB = rB =
dt dt
Iv = − sin ψ cos θ ψ̇ − cos ψ sin θ θ̇ xL +
Bx
− 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
Iv = cos ψ cos θ ψ̇ − sin ψ sin θ θ̇ xL +
By
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
Iv = −cos θ θ̇ xL +
Bz
− sin θ sin φθ̇ + cos θ cos φφ̇ yL +
− sin θ cos φθ̇ − cos θ sin φφ̇ zL
22 2 Descripción y Modelado del Helicóptero QuadRotor
Tras obtener la velocidad del punto I rB , se puede calcular la energı́a cinética de rota-
ción. Sea EcRot la energı́a cinética de rotación en B expresada en I, y sea dEcRot la energı́a
cinética de una partı́cula con masa diferencial dm en B, entonces (Fu et al., 1987):
1 1 I 2 I 2 I 2
I
vB2
dEcRot = dm = vBx + v By + vBz dm (2.31)
2 2
I 2 I 2
I
vB2 = I 2
vBx + v By + v Bz
I v2 = x2L ψ̇ 2 cos2 θ + θ̇ 2 +
B
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 φ
2
I
vB2 = (yL2 + zL2 ) 2
ψ̇ sin θ − 2ψ̇ φ̇ sin θ + φ̇ + 2
(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 φ
1
Z
EcRot = I
vB2 dm
2
2.5 Formulación de Lagrange-Euler 23
1
Z
yL2 + zL2 dm ψ̇ 2 sin2 θ − 2ψ̇ φ̇ sin θ + φ̇2 +
EcRot =
2
1
Z
x2L + zL2 dm ψ̇ 2 sin2 φ cos2 θ + 2ψ̇ θ̇ cos φ sin φ cos θ + θ̇ 2 cos2 φ +
2
1
Z
x2L + yL2 dm ψ̇ 2 cos2 φ cos2 θ − 2ψ̇ θ̇ cos φ sin φ cos θ + θ̇ 2 sin2 φ +
2
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ótesis realizadas anteriormente, los términos de los productos cru-
zados 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
Las ecuaciones del movimiento completo se obteniene a partir del Lagrangiano (2.30)
y se obtendrán a partir de la siguiente expresión:
Fξ d ∂L ∂L
= − (2.38)
τη dt ∂ q̇i ∂qi
RI F̂ = RIE3 U1 + AT
∂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 (η, η̇)
= −φ̇Ixx sin θ + θ̇ ((Iyy − Izz ) cos φ sin φ cos θ)
∂ ψ̇
+ψ̇Ixx sin2 θ + ψ̇Iyy sin2 φ cos2 θ + ψ̇Izz cos2 φ cos2 θ
Y por lo tanto:
d ∂L (η, η̇)
= Ixx φ̈ − ψ̈ sin θ − φ̇ψ̇ cos θ
dt ∂ φ̇
d ∂L (η, η̇)
= Iyy θ̈ cos2 φ − 2θ̇φ̇ cos φ sin φ + ψ̈ cos φ sin φ cos θ − ψ̇ φ̇ sin2 φ cos θ
dt ∂ θ̇
+ψ̇ φ̇ cos2 φ cos θ − ψ̇ θ̇ cos φ sin φ sin θ
+Izz θ̈ sin2 φ + 2θ̇ φ̇ cos φ sin φ − ψ̈ cos φ sin φ cos θ + ψ̇ φ̇ sin2 φ cos θ
−ψ̇ φ̇ cos2 φ cos θ + ψ̇ θ̇ cos φ sin φ sin θ
d ∂L (η, η̇)
= Ixx −φ̈ sin θ − φ̇θ̇ cos θ + ψ̈ sin2 θ + 2ψ̇ θ̇ sin θ cos θ
dt ∂ ψ̇
+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ón y Modelado del Helicóptero QuadRotor
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ón del helicóptero obtenidas a partir de
la formulación de Lagrange-Euler pueden ser reescritas mediante la siguiente expresión
2.5 Formulación 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
U1
x&
Subsistema
de rotación y
φ ,θ ,ψ y&
φ
z
φ&
U 2
z&
θ
U 3
U
θ&
4 ψ
ψ&
El sub-sistema de rotación, cuyas salidas serán los tres ángulos de Tait-Bryan que
fijan la orientación del vehı́culo, y cuyas entradas serán los tres pares (U2 , U3 y U4 )
que permiten girarlo.
Estructuras de Control
La primera estrategia está basada en Mistler et al. (2001), donde se utiliza una ley
de control con desacoplamiento entrada-salida y linealización exacta por realimentación
dinámica. En esta estrategia se utiliza el modelo dinámico que se obtuvo a partir de la
formulación de Newton-Euler.
A continuación se presentan cada una de las estrategias, ası́ como los resultados de
simulación, y resultados experimentales de la estabilización del sistema.
3.1 Control con desacoplamiento entrada-salida y linealización exacta por realimentación
dinámica (Mistler et al., 2001) 31
En Mistler et al. (2001) se demuestra que utilizando una ley de control por realimen-
tación estática no es posible resolver estos dos problemas para el sistema (2.28). Siendo
ası́, se propone una ley de control por realimentación dinámica.
Inicialmente, se prueba que, utilizando una ley de control por realimentación estática,
el sistema en bucle cerrado no es realizable. Ası́, en el primer paso, para no complicar
el problema de control, se elige el número de salidas igual al número de entradas, con-
siderando las variables ξ = [x y z]T y el ángulo de guiñada (yaw), ψ, como variables
controladas del sistema. Por lo tanto, el vector de salidas es γ(ζ) = h(ζ) = [x y z ψ]T .
Se asume también que todo el vector de estados, ζ, del sistema es medible y se propone
una ley de control con realimentación de estados estática de la siguiente forma:
y
(r )
γ1 1
(r )
γ2 2
= b(ζ) + ∆(ζ)U
(r )
γ3 3
(r )
γ4 4
32 3 Estructuras de Control
donde
Lg1 Lrf 1 −1 h1 (ζ) · · · Lg4 Lrf 1 −1 h1 (ζ)
∆(ζ) = .. .. .. (3.2)
.
. .
r4 −1 r4 −1
Lg1 Lf h4 (ζ) · · · Lg4 Lf h4 (ζ)
Lrf 1 h1 (ζ)
b(ζ) =
..
(3.3)
.
r4
Lf h4 (ζ)
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és de una ley
de control estática de realimentación de estados (Mistler et al., 2001). La matriz ∆(ζ) es
(2) (2) (2)
siempre singular porque las derivadas γ1 , γ2 y γ3 están 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ón 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
lograr este resultado, se elige U1 igual a un doble integrador dado por Ū1 :
U1 = κ
κ̇ = ε (3.5)
ε̇ = Ū1
y por consistencia de notación, se define:
U2 = Ū2
U3 = Ū3
U4 = Ū4
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ámico (3.6), que es definido como sigue:
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
−g + + g1 (φ, θ, ψ)κ
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 − Ixx ) JR Ω Aq
pr + p +
Iyy Iyy Iyy
(Ixx − Iyy ) Ar
pq +
Izz Izz
T
ḡ1 (ζ̄) = 0 0 0 0 0 0 0 0 0 0 1 0 0 0
T
l
ḡ2 (ζ̄) = 0 0 0 0 0 0 0 0 0 0 0 0 0
I xx T
l
ḡ3 (ζ̄) = 0 0 0 0 0 0 0 0 0 0 0 0 0
Iyy
T
1
ḡ4 (ζ̄) = 0 0 0 0 0 0 0 0 0 0 0 0 0
Izz
problema se resuelve por realimentación estática para el sistema extendido (3.6). El vector
de grado relativo para el sistema (3.6) está dado por:
r1 = r2 = r3 = 4; r4 = 2
y se tiene:
(r )
γ1 1
(r )
γ2 2
= b(ζ̄) + ∆(ζ̄)Ū
(r )
γ3 3
(r )
γ4 4
donde ∆(ζ̄) y b(ζ̄) son calculados usando las ecuaciones (3.2) y (3.3).
λ8 = L3f h2 ζ̄ = y (3)
λ1 = h1 ζ̄ = x
λ2 = Lf h1 ζ̄ = ẋ λ9 = h3 ζ̄ =z
2
λ3 = Lf h1 ζ̄ = ẍ λ10 = Lf h3 ζ̄ = ż
3 (3)
λ4 = Lf h1 ζ̄ = x λ11 = L2f h3 ζ̄ = z̈
λ5 = h2 ζ̄ = y λ12 = L3f h3 ζ̄ = z (3)
λ6 = Lf h2 ζ̄ = ẏ λ13 = h4 ζ̄ = ψ
2
λ7 = Lf h2 ζ̄ = ÿ λ14 = Lf h4 ζ̄ = ψ̇
λ̇ = Aλ + Bv
(3.8)
γ = Cλ
36 3 Estructuras de Control
donde
A1 0 0 0 B1 C1 0 0 0
0 A1 0 0 B2 0 C1 0 0
A= 0 , B= B3 , C = 0 0
0 A1 0 C1 0
0 0 0 A2 B4 0 0 0 C2
0 1 0 0 0 0 0 0
0 0 1 0
0 1 0 0 0 0
A1 =
0 , A2 = , B1 =
0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0
0 0 0 0 0 0 0 0
B2 =
0 0 0 0 0 , B4 = 0
, B3 =
0 0 0 0 0 1
0 1 0 0 0 0 1 0
C1 = 1 0 0 0 , C2 = 1 0
Para controlar el sistema (3.8), los autores proponen la siguiente ley de control por
realimentación:
(4) (3) (3)
v1 = xd − c3 x − xd − c2 (ẍ − ẍd ) − c1 (ẋ − ẋd ) − c0 (x − xd )
(4) (3)
v2 = yd − c3 y (3) − yd − c2 (ÿ − ÿd ) − c1 (ẏ − ẏ) − c0 (y − yd )
(4) (3)
v3 = zd − c3 z (3) − zd − c2 (z̈ − z̈d ) − c1 (ż − żd ) − c0 (z − z)
v4 = ψ̈d − c5 ψ̇ − ψ̇d − c4 (ψ − ψd )
donde los coeficientes ci son los parámetros de ajuste del controlador y (xd , yd, zd , ψd ) es
la trayectoria deseada.
var_zref MATLAB
Function
xrdot4 Varible lambda
yrdot4
u4 draganfly_Mistler_Mod
(phi,theta,psi)
Atras
(p,q,r)
Perturbación Arot
Traslacional du/dt
DRAGANFLY
Perturbación
Rotacional
du/dt
Figura 3.1: Diagrama de Bloques para el control con linealización por realimentación del
helicóptero quadrotor.
3.1 Control con desacoplamiento entrada-salida y linealización exacta por realimentación
dinámica (Mistler et al., 2001) 37
Referencia
Inercia nominal
Inercia +20%
Inercia −20%
4.5
3.5
2.5
z
1.5
0.5
0.5
0.5
0
0
−0.5 −0.5
y x
Figura 3.2: Trayectoria xyz del helicóptero quadrotor cuando se aplica la estrategia de
control con linealización por realimentación dinámica sin perturbaciones externas.
38 3 Estructuras de Control
x
0.5
Referencia
Inercia nominal
Inercia +20%
0 Inercia −20%
−0.5
0 5 10 15 20 25 30
y
0.5
Referencia
Inercia nominal
Inercia +20%
0 Inercia −20%
−0.5
0 5 10 15 20 25 30
z
6
Referencia
Inercia nominal
4 Inercia +20%
Inercia −20%
2
0
0 5 10 15 20 25 30
tiempo [s]
φ
0.02
Inercia Nominal
0 Inercia +20%
Inercia −20%
−0.02
−0.04
−0.06
0 5 10 15 20 25 30
0.3
Inercia Nominal
0.2 θ Inercia +20%
Inercia −20%
0.1
−0.1
0 5 10 15 20 25 30
1.5 ψ
Referencia
Inercia nominal
1 Inercia +20%
Inercia −20%
0.5
tiempo [s]
0
0 5 10 15 20 25 30
u1 u2
8.5 20
Inercia nominal Inercia nominal
Inercia +20% Inercia +20%
8 Inercia −20% 15 Inercia −20%
7.5 10
7 5
6.5 0
6 −5
0 10 20 30 0 10 20 30
tiempo [s] tiempo [s]
u3 u4
200 4
Inercia nominal Inercia nominal
Inercia +20% Inercia +20%
150 Inercia −20% 3 Inercia −20%
100 2
50 1
0 0
−50 −1
0 10 20 30 0 10 20 30
tiempo [s] tiempo [s]
Referencia
Inercia nominal
3.5
2.5
z
1.5
0.5
2
1 2
1
0
0
−1
−1
y −2 −2 x
Figura 3.6: Trayectoria xyz del helicóptero quadrotor cuando se aplica la estrategia de
control con linealización por realimentación dinámica con perturbaciones externas.
40 3 Estructuras de Control
x
2
Referencia
1 Inercia nominal
−1
−2
0 5 10 15 20 25 30
y
2
Referencia
1 Inercia nominal
−1
−2
0 5 10 15 20 25 30
z
4
Referencia
3 Inercia Nominal
0
0 5 10 15 20 25 30
tiempo [s]
φ
1.5
Inercia nominal
1
0.5
−0.5
0 5 10 15 20 25 30
θ
1
Inercia nominal
0.5
−0.5
0 5 10 15 20 25 30
ψ
150
Referencia
Inercia nominal
100
50
0
0 5 10 15 20 25 30
tiempo [s]
u1 u2
12 200
Inercia nominal Inercia nominal
11 0
10
−200
9
−400
8
7 −600
6 −800
0 10 20 30 0 10 20 30
tiempo [s] tiempo [s]
u3 u4
200 200
Inercia nominal Inercia nominal
0
0
−200
−200 −400
−600
−400
−800
−600 −1000
0 10 20 30 0 10 20 30
tiempo [s] tiempo [s]
Se puede percibir a través de las gráficas que este controlador es robusto frente a incer-
tidumbres paramétricas, pero cuando se aplican perturbaciones externas en los momentos
aerodinámicos, que pueden interpretarse como acciones de vientos que causan rotación
del helicóptero, 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érminos de rotación.
Primero, se considera el modelo del helicóptero cuando éste ejecuta vuelo estacionario,
o sea, se supone que la variación de los ángulos de Tait-Bryan es pequeña. Ası́, utilizando
las ecuaciones de movimiento obtenidas a través de la formulación de Lagrange-Euler,
aislando las aceleraciones y aplicando la aproximación del pequeño ángulo al sistema de
rotación (cos φ ≈ cos θ ≈ cos ψ ≈ 1, sin φ ≈ φ, sin θ ≈ θ, sin ψ ≈ ψ) se obtiene el siguiente
modelo:
φ̈ = (IxxI−I yy )
1
θ̇ φ̇ + Izz U4 + IAzzr
zz
x1 =φ x7 = z
x2 = ẋ1 = φ̇ x8 = ẋ7 = ż
x3 =θ x9 = x
x4 = ẋ3 = θ̇ x10 = ẋ9 = ẋ
x5 =ψ x11 = y
x6 = ẋ5 = ψ̇ x12 = ẋ11 = ẏ
siguiente forma:
x2
x4 x6 a1 + x4 a2 Ω + b1 U2
x4
x2 x6 a3 + x2 a4 Ω + b2 U3
x6
x4 x2 a5 + b3 U4
Ẋ = f (X, U) = (3.10)
x8
−g + (cos x1 cos x3 ) Um1
x10
ux Um1
x12
uy Um1
con:
a1 = (Iyy − Izz )/Ixx b1 = l/Ixx
a2 = −JR /Ixx b2 = l/Iyy
a3 = (Izz − Ixx )/Iyy b3 = 1/Izz (3.11)
a3 = JR /Iyy
a5 = (Ixx − Iyy )/Izz
Esto es útil para ver que el sistema de rotación no depende de las componentes de tras-
lación, como ya se habı́a comentado anteriormente. Por otro lado, las traslaciones depen-
den de los ángulos. 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 Subsistema
de traslación
U1 x
Backstepping
Traslación φr , θ r x x, y, z
xr , yr , zr Subsistema y
de rotación
φ φ ,θ ,ψ y
G.Tray.
U2 z
ψr φ
z
Backstepping U3 θ
Rotación θ φ ,θ ,ψ
U4
ψ
ψ
z1 = x1d − x1 (3.13)
z2 = x2 − ẋ1d − α1 z1 (3.18)
Para anular este nuevo error, se realizará un segundo paso considerando la siguiente
función de Lyapunov aumentada:
1
V (z1 , z2 ) = (z12 + z22 ) (3.19)
2
donde su derivada temporal viene dada por:
que estabiliza el sistema aumentado, ya que con esta señal de control se obtiene que:
V̇ (z1 , z2 ) = −α1 z12 − α2 z22 < 0 (3.22)
Control de altura
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ámetros del helicóptero son los mismos presentados en el caso anterior.
Referencia
Inercia nominal
Inercia +20%
Inercia −20%
3
z
0
1
0.5 1
0.5
0
0
−0.5
−0.5
y −1 −1 x
Figura 3.11: Trayectoria xyz del helicóptero quadrotor cuando se aplica la estrategia de
control utilizando la técnica de Backstepping sin perturbaciones externas.
3.2 Control basado en Backstepping (Bouabdallah y Siegwart, 2005) 47
x
1
Referencia
0.5 Inercia nominal
Inercia +20%
0 Inercia −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
y
1
Referencia
0.5 Inercia nominal
Inercia +20%
0 Inercia −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
z
6
Referencia
Inercia nominal
4 Inercia +20%
Inercia −20%
2
0
0 5 10 15 20 25 30 35 40
tiempo [s]
−0.2
0 5 10 15 20 25 30 35 40
θ
1.5
Referencia
1 Inercia nominal
Inercia +20%
0.5 Inercia −20%
−0.5
0 5 10 15 20 25 30 35 40
ψ
1.5
Referencia
Inercia nominal
1 Inercia +20%
Inercia −20%
0.5
0
0 5 10 15 20 25 30 35 40
tiempo [s]
u1 u2
120 2500
Inercia nominal Inercia nominal
100 Inercia +20% 2000 Inercia +20%
Inercia −20% Inercia −20%
1500
80
1000
60
500
40
0
20 −500
0 −1000
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
u3 u4
8000 600
Inercia nominal Inercia nominal
Inercia +20% Inercia +20%
6000 Inercia −20% Inercia −20%
400
4000
200
2000
0
0
−2000 −200
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
Figura 3.14: Evolución temporal de las entradas de control cuando se aplica la estrategia
de control utilizando la técnica de Backstepping sin perturbaciones externas.
x
2000
Referencia
Inercia nominal
0 Inercia +20%
Inercia −20%
−2000
−4000
0 5 10 15 20 25 30 35 40
y
5000
Referencia
0 Inercia nominal
Inercia +20%
−5000 Inercia −20%
−10000
−15000
0 5 10 15 20 25 30 35 40
z
6
Referencia
Inercia nominal
4 Inercia +20%
Inercia −20%
2
0
0 5 10 15 20 25 30 35 40
tiempo [s]
φ
2
Referencia
1 Inercia nominal
Inercia +20%
0 Inercia −20%
−1
−2
0 5 10 15 20 25 30 35 40
θ
1.5
Referencia
1 Inercia nominal
Inercia +20%
0.5 Inercia −20%
−0.5
0 5 10 15 20 25 30 35 40
ψ
8
Referencia
6 Inercia nominal
Inercia +20%
4 Inercia −20%
0
0 5 10 15 20 25 30 35 40
tiempo [s]
20 −1000
0 −2000
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
4 u3 u4
x 10
1.5 600
Inercia nominal Inercia nominal
1 Inercia +20% 400 Inercia +20%
Inercia −20% Inercia −20%
0.5
200
0
0
−0.5
−200
−1
−1.5 −400
−2 −600
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
Figura 3.17: Evolución temporal de las entradas de control cuando se aplica la estrategia
de control utilizando la técnica de Backstepping con perturbaciones externas.
A través de las gráficas obtenidas con la estrategia de control presentada en este apar-
tado se observa un buen funcionamiento del helicóptero para el problema de seguimiento
de trayectoria cuando se consideran incertidumbres en los parámetros del sistema. Sin
embargo, cuando se aplicaron perturbaciones externas mantenidas, el controlador no fue
capaz de rechazarlas.
50 3 Estructuras de Control
En este apartado se desarrolla una estrategia de control que tiene como objetivo es-
tabilizar de forma robusta el subsistema de rotación, siendo capaz de mantener el buen
funcionamiento del helicóptero cuando éste está sujeto a perturbaciones que generan mo-
mentos aerodinámicos.
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ón, se implementará el controlador del subsistema de traslación
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ón.
H∞
Hallar el mı́nimo valor de γ ∗ ≥ 0 tal que para cualquier γ ≥ γ ∗ exista una realimenta-
ción de estado u = u(x, t), tal que la ganancia L2 de ω a z sea menor o igual que γ, esto
es: Z T Z T
kzk22 dt ≤γ 2
kωk22 dt . (3.30)
0 0
Bajo estas hipótesis, se puede calcular una señal de control óptima u∗ (x, t) para el
sistema (3.28) si existe una solución suave V (x, t), con V (x0 , t) ≡ 0 para t ≥ 0, para la
siguiente ecuación de HJBI (van der Schaft, 2000):
∂T V 1 ∂T V 1
∂V T −1 T ∂V
+ f(x, t) + 2
k(x, t)k (x, t)−g(x, t)R g (x, t) −
∂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áx (R) ≥ 0, donde σmáx significa el máximo valor singular. En tal caso,
la ley de control óptimo por realimentación de estados se obtiene como sigue (W. Feng
and I. Postlethwaite , 1994):
∗ −1 T T ∂V (x, t)
u = −R S h(x) + g (x, t) . (3.33)
∂x
Como primer paso para diseñar 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
Esta ley de control se puede separar en tres partes: la primera de ellas, consistente en los
dos primeros términos de la ecuación, está destinada a compensar la dinámica del sistema
(2.42). La segunda parte consiste en los términos que incluyen el vector del error x̂ y su
˙ En caso de que τη ≡ 0, estos dos términos de la ley de control permitirı́an un
derivada, x̂. d
seguimiento perfecto, lo cual significa que ellos representan el esfuerzo de control principal
necesario para ejecutar la tarea. Finalmente, el tercer término 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á (ver ecuación (3.42)) que el
par que se calcula no depende de la aceleración de las coordenadas generalizadas, aunque
sı́ de la referencia de aceleración.
Esta ecuación representa la ecuación dinámica del error del sistema. Teniendo en
cuenta esta ecuación 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ón entre la energı́a de la variable de
T
coste z = W hT(x̂) uT y la energı́a de las señales de perturbación ω sea menor que
un nivel de atenuación preestablecido γ”.
Para aplicar los resultados teóricos presentados en el Apartado 3.3.1 es necesario re-
escribir la ecuación dinámica no lineal del error (3.36) en la forma normal del problema
H∞ no lineal (véase ecuación (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
f (x̂, t) = T0 −1 T1 −1 I − T1 −1 T2 −I + T1 −1 (T2 − T3 ) T0 ,
0 I −I
M(η)−1
g (x̂, t) = k (x̂, t) = T0 −1 0
0
3.3 Control Backstepping/H∞ no lineal (Raffo et al., 2008a) 55
donde X, Y y Z ∈ ℜn×n son matrices constantes, simétricas, 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ón:
0 Y X
1 T T
T −1 T
Y 2X Z + 2X + Q + 2 T T − S + T R S +T =0 (3.40)
γ
X Z + 2X 0
entonces, la función V (x̂, t) constituye una solución para la ecuación de HJBI (3.32), para
un valor suficientemente alto de γ.
La matriz T = T1 T2 T3 puede ser calculada resolviendo algunas ecuaciones
algebraicas de Riccati (ver (Ortega et al., 2005)).
Z
τη∗a = M(η)η̈ + C(η, η̇)η̇ − M(η) KD η̃˙ + KP η̃ − KI
d
η̃dt (3.42)
donde:
KD = T1 −1 T2 + M(η)−1 C(η, η̇)T1 + M(η)−1 R−1 S1 T + T1
Se puede obtener un caso particular cuando las submatrices de ponderación que com-
ponen WT W verifiquen (Ortega et al., 2005):
Q1 = ω12 I, Q2 = ω22 I, Q3 = ω32 I, R = ωu2 I, (3.43)
Q12 = Q13 = Q23 = 0, S1 = S2 = S3 = 0.
En este caso, se obtienen las siguientes expresiones analı́ticas para las distintas ganan-
cias: p
ω22 + 2ω1 ω3
−1 1
KD = I + M(η) C(η, η̇) + 2 I ,
ω1 ωu
p
ω22 + 2ω1 ω3
ω3 −1 1
KP = I + M(η) C(η, η̇) + 2 I ,
ω1 ω1 ωu
ω3 −1 1
KI = M(η) C(η, η̇) + 2 I .
ω1 ωu
Estas ecuaciones tienen una propiedad importante: las expresiones de las ganancias
no dependen del parámetro γ. Por lo tanto, para este caso particular, se dispone de
expresiones analı́ticas para calcular la solución óptima (Ortega et al., 2005).
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.5
0.6
0.4
0 0.2
0
−0.2
−0.5 −0.4
−0.6
y [m] x [m]
Figura 3.19: Trayectoria xyz del helicóptero quadrotor cuando se aplica la estrategia de
control utilizando Backstepping/H∞ no lineal sin perturbaciones externas.
58 3 Estructuras de Control
x
1
Reference
0.5 Nominal inertia
Inertia +20%
0 Inertia −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
y
1
Reference
0.5 Nominal inertia
Inertia +20%
0 Inertia −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
z
6
Reference
Nominal inertia
4 Inertia +20%
Inertia −20%
2
0
0 5 10 15 20 25 30 35 40
tiempo [s]
φ [rad]
0.6
Referencia
0.4 Inercia Nominal
Inercia +20%
0.2 Inercia −20%
−0.2
0 5 10 15 20 25 30 35 40
θ [rad]
1.5
Referencia
1 Inercia Nominal
Inercia +20%
0.5 Inercia −20%
−0.5
0 5 10 15 20 25 30 35 40
ψ [rad]
1.5
Referencia
Inercia Nominal
1 Inercia +20%
Inercia −20%
0.5
0
0 5 10 15 20 25 30 35 40
tiempo [s]
u1 u2
120 12000
Inercia nominal Inercia nominal
100 Inercia +20% 10000 Inercia +20%
Inercia −20% Inercia −20%
8000
80
6000
60
4000
40
2000
20 0
0 −2000
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
4 u3 u4
x 10
4 4000
Inercia nominal Inercia nominal
Inercia +20% Inercia +20%
3 Inercia −20% 3000 Inercia −20%
2 2000
1 1000
0 0
−1 −1000
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
Figura 3.22: Evolución 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.2 0
−0.2
−0.4 −0.4
−0.6 −0.6
y [m] x [m]
Figura 3.23: Trayectoria xyz del helicóptero quadrotor cuando se aplica la estrategia de
control utilizando Backstepping/H∞ no lineal con perturbaciones externas.
60 3 Estructuras de Control
x
1
Referencia
0.5 Inercia Nominal
Inercia +20%
0 Inercia −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
y
1
Referencia
0.5 Inercia Nominal
Inercia +20%
0 Inercia −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
z
6
Referencia
Inercia Nominal
4 Inercia +20%
Inercia −20%
2
0
0 5 10 15 20 25 30 35 40
tiempo [s]
φ [rad]
0.6
Referencia
0.4 Inercia Nominal
Inercia +20%
0.2 Inercia −20%
−0.2
0 5 10 15 20 25 30 35 40
θ [rad]
1.5
Referencia
1 Inercia Nominal
Inercia +20%
0.5 Inercia −20%
−0.5
0 5 10 15 20 25 30 35 40
ψ [rad]
1.5
Referencia
Inercia Nominal
1 Inercia +20%
Inercia −20%
0.5
0
0 5 10 15 20 25 30 35 40
tiempo [s]
u1 u2
120 12000
Inercia nominal Inercia nominal
100 Inercia +20% 10000 Inercia +20%
Inercia −20% Inercia −20%
8000
80
6000
60
4000
40
2000
20 0
0 −2000
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
4 u3 u4
x 10
4 4000
Inercia nominal Inercia nominal
Inercia +20% Inercia +20%
3 Inercia −20% 3000 Inercia −20%
2 2000
1 1000
0 0
−1 −1000
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
Figura 3.26: Evolución temporal de las entradas de control cuando se aplica la estrategia
de control utilizando Backstepping/H∞ no lineal con perturbaciones externas.
H∞
u = −K(x̂ − xr ) + ur , (3.47)
la cual penaliza los desvı́os a partir del valor de régimen permanente. Ésta difiere de
la función del gpc (Generalized Predictive Control), pues optimiza la distancia de las
3.4 CPBM con control H∞ no lineal (Raffo et al., 2008b) 65
En el primer paso se define el modelo del error para las dinámicas de traslación del
helicóptero quadrotor. Para obtenerlo se considera la existencia de un helicóptero de re-
ferencia virtual sobre la trayectoria a seguir, la cual será descrita por el mismo modelo
del vehı́culo, en el caso, el modelo de traslación. 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á usado sólo para el control de los movimientos de
traslación, se utiliza el modelo descrito por la ecuación (2.41) considerando las fuerzas
aerodinámicas nulas. Este sub-sistema se reescribe de la forma del espacio de estados
˙
x̂(t) = f(x̂(t), û(t)), donde x̂(t) = [z(t) w0 (t) x(t) u0 (t) y(t) v0 (t)]T .
A partir de (2.41) se puede ver que el movimiento a través 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ón deseado. Ası́, ux y uy se puede considerar como las orientaciones de U1
responsables de los movimientos a través 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 0ref
(t)
x̂˙ ref (t) = f(x̂ref (t), ûref (t)) = U1 (t) (3.53)
u x ref
(t)
m
v 0ref (t)
U1 (t)
uyref (t)
m
donde x̂˙ ref (t) = [zref (t) w0ref (t) xref (t) u0ref (t) yref (t) v0ref (t)]T y ûref (t) =
[U1ref uxref uyref ]T son los estados y las entradas de control de referencia, respectiva-
mente.
Como se puede ver, en las dinámicas de xref y yref no se utiliza la señal de control
U1ref , pues con el procedimiento utilizado, que será presentado a continuación, la señal
de control U1 viene dada por el controlador de la altura y se considera en este paso como
un parámetro variante con el tiempo. Lo mismo se considera para los ángulos φ(t), θ(t),
ψ(t), los cuales se suponen parámetros variantes con el tiempo.
El modelo linealizado puede ser obtenido a través de un modelo del error entre el
sistema (3.51) y el sistema de referencia (3.53). Para ello, se expande el término derecho
de la ecuación (3.51) a través de Series de Taylor en torno a un punto de operación de la
trayectoria de referencia y se desprecian los términos de orden superior. Ası́, se tiene:
˙x̂(t) = f(x̂ref (t), ûref (t), t) + ∂f(x̂(t), û(t), t)
∂x̂(t) x̂=x̂ref · (x̂(t) − x̂ref (t))
û=ûref
. (3.54)
∂f(x̂(t), û(t), t)
+ x̂=x̂ref · (û(t) − ûref (t))
∂û(t)
û=ûref
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
0 0 0
1
cos θ(t) cos φ(t) 0 0
m
∂f(x̂(t), û(t), t)
0 0 0
B(t) = =
U1 (t) , (3.57)
∂û(t) x̂=x̂ref 0 0
û=ûref
m
0 0 0
U1 (t)
0 0
m
son los jacobianos de (3.51) con respecto a x̂(t) y û(t), respectivamente, calculados en
torno al punto (x̂ref (t), û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) · ũ(t) . (3.58)
con
1 T 0 0 0 0
0 1 0 0 0 0
0 0 1 T 0 0
A(k) = (3.60)
0 0 0 1 0 0
0 0 0 0 1 T
0 0 0 0 0 1
0 0 0
T
cos θ(t) cos φ(t) 0 0
m
0 0 0
B(k) = T U1 (t)
, (3.61)
0 0
m
0 0 0
T U1 (t)
0 0
m
donde T es el perı́odo de muestreo y, como la señal 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
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ámicas de traslación dependen sólo de la fuerza de
empuje, U1 , éste 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:
1 1 z̃(k) 0
x̃z (k + 1) = + T Ũ1 (k) (3.62)
0 T w̃0 (k) m
cos θref (k) cos φref (k)
1 T 0 0 x̃(k) 0 0
T U1 (k)
0 1 0 0 ũ0 (k) 0 ũx (k)
x̃xy (k + 1) =
0
+ m (3.63)
0 1 T ỹ(k) 0 0 ũy (k)
T
0 0 0 1 ṽ0 (k) 0 U (k)
m 1
con los errores de los estados de referencia calculados como la diferencia del valor de la
referencia futura en relación al actual y, los errores de las entradas de referencia como la
diferencia del valor futuro en relación 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)
U1ref (k|k) − U1ref (k − 1|k)
U1ref (k + 1|k) − U1ref (k − 1|k)
..
∆
Ũ1ref = .
.
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) = Ũ1 (k) + U1ref (k), y con esto se pasa al próximo
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á dada por:
−1
ũxy = [Hxy ′ · Qxy · Hxy + Rxy ] · Hxy ′ · Qxy · x̃xyr − Pxy · x̃xy (k) + Rxy · ũxyr ,
(3.65)
T
donde ũxy = [ũx (k) ũy (k)] , y
ux (k) ũx (k) uxref (k)
= +
uy (k) ũy (k) uyref (k)
A partir de ux (k) y uy (k), y con la relación dada por (3.52) se obtiene la referencia
de los ángulos de balanceo (roll), φ(k), y cabeceo (pitch), θ(k), que son utilizados como
referencia por el controlador H∞ no lineal en los movimientos de rotación del helicóptero.
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%
4.5
3.5
3
z
2.5
1.5
0.5
1
0.5 1
0.5
0
0
−0.5
−0.5
y −1 −1 x
Figura 3.28: Trayectoria xyz del helicóptero quadrotor cuando se aplica la estrategia de
control utilizando cpbm y H∞ no lineal sin perturbaciones externas.
x
1
Referencia
0.5 Inercia nominal
Inercia +20%
0 Inercia −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
y
1
Referencia
0.5 Inercia nominal
Inercia +20%
0 Inercia −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
z
6
Referencia
Inercia nominal
4 Inercia +20%
Inercia −20%
2
0
0 5 10 15 20 25 30 35 40
tiempo [s]
φ
0.02
Referencia
Inercia nominal
0 Inercia +20%
Inercia −20%
−0.02
−0.04
0 5 10 15 20 25 30 35 40
θ
0.15
Referencia
0.1 Inercia nominal
Inercia +20%
0.05 Inercia −20%
−0.05
0 5 10 15 20 25 30 35 40
ψ
1.5
Referencia
Inercia nominal
1 Inercia +20%
Inercia −20%
0.5
0
0 5 10 15 20 25 30 35 40
tiempo [s]
10
0
5
0 −500
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
u3 4 u4
x 10
2000 2.5
Inercia nominal Inercia nominal
1500 Inercia +20% 2 Inercia +20%
Inercia −20% Inercia −20%
1000 1.5
500 1
0 0.5
−500 0
−1000 −0.5
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
Figura 3.31: Evolución 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%
4.5
3.5
3
z
2.5
1.5
0.5
1
0.5 1
0.5
0
0
y
−0.5 x
−0.5
−1 −1
Figura 3.32: Trayectoria xyz del helicóptero quadrotor cuando se aplica la estrategia de
control utilizando cpbm y H∞ no lineal con perturbaciones externas.
x
1
Referencia
0.5 Inercia nominal
Inercia +20%
0 Inercia −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
y
1
Referencia
0.5 Inercia nominal
Inercia +20%
0 Inercia −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
z
6
Referencia
Inercia nominal
4 Inercia +20%
Inercia −20%
2
0
0 5 10 15 20 25 30 35 40
tiempo [s]
φ
0.04
Referencia
0.02 Inercia nominal
Inercia +20%
0 Inercia −20%
−0.02
−0.04
0 5 10 15 20 25 30 35 40
θ
0.15
Referencia
0.1 Inercia nominal
Inercia +20%
0.05 Inercia −20%
−0.05
0 5 10 15 20 25 30 35 40
ψ
1.5
Referencia
Inercia nominal
1 Inercia +20%
Inercia −20%
0.5
0
0 5 10 15 20 25 30 35 40
tiempo [s]
15 0
10 −500
5 −1000
0 −1500
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
u3 4 u4
x 10
2000 2.5
Inercia nominal Inercia nominal
1500 Inercia +20% 2 Inercia +20%
Inercia −20% Inercia −20%
1000
1.5
500
1
0
0.5
−500
−1000 0
−1500 −0.5
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
Figura 3.35: Evolución temporal de las entradas de control cuando se aplica la estrategia
de control utilizando cpbm y H∞ no lineal con perturbaciones externas.
una condición distinta de la trayectoria. Esto se puede justificar porque tal controlador
considera, en el cálculo de la señal de control, la referencia futura, y ası́, intenta prede-
cir el camino suavizando el desplazamiento. Además, esta estructura de control también
tiene una buena robustez ante incertidumbres paramétricas, al igual que la estrategia
presentada anteriormente.
3.5 Control robusto H∞ de los seis grados de libertad 75
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ón, inclusive la mantenida, y considerando todos los parámetros con
incertidumbres.
H∞
H∞
Figura 3.37: Formulación General del problema de control (Ortega y Rubio, 2004).
y para sistemas mimo, a través de un diagrama de Bode que se puede obtener para la
función kHωz (jω)k∞ = σ̄{Hωz (jω)}, la norma H∞ del sistema corresponde al máximo
pico de resonancia de esa función dando origen a la función:
donde W (jω), Z(jω) son las transformadas de Fourier de las señales ω(t), z(t). Como
3.5 Control robusto H∞ de los seis grados de libertad 77
donde se nota que la norma H∞ de un sistema también puede verse como la mayor
ganancia en términos de energı́a que el sistema puede ofrecer a una señal de entra-
da. Si se elige la señal 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ón puerta que define el
truncamiento de la señal 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ón
se puede definir la versión 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
Ası́, para el problema H∞ sub-óptimo 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és de un proceso iterativo (Ortega et al., 2006). Este problema se puede
resolver de distintas maneras, como por ejemplo por la ecuación de Riccati, por la matriz
Hamiltoniana o por lmi (Trofino et al., 2003).
Inicialmente, se presenta cómo determinar la norma H∞ vı́a lmi (Trofino et al., 2003).
Observese que la condición deseada:
sZ
∞
kz(t)k2 z(t)′ z(t)
kHwz (s)k∞ = sup = sup dt < γ , (3.71)
w6=0 kw(t)k2 w6=0 0 w(t)′ w(t)
se puede reescribir como ya se presentó 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
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ón (3.73) entonces se satisface (3.71) por tanto
(3.72). El interés de la condición anterior es que se puede expresar como una lmi.
Q > 0,
AQ + QA′ + BY + Y ′ B ′ Bω QCz′ + Y ′ Dωz
′
mı́n γ : (3.76)
Q,Y
Bω′ −γInω ′
Dωz <0
Cz Q + Dωz Y Dωz −γInz
Q > 0,
A(δ)Q + QA(δ)′ + B(δ)Y + Y ′ B(δ)′ ∗ ∗
mı́n γ : (3.78)
Q,P
Bω (δ)′ −γInz ∗ <0
Cz (δ)Q + Dωz (δ)Y Dωz (δ) −γInz
donde ∗ representa los términos que pueden ser deducidos por simetrı́a. Además, debido
80 3 Estructuras de Control
˙
x̃(t) = A(t) · x̃(t) + Bu (t) · ũ(t) + Bω (t) · ω̂(t) . (3.82)
Siendo ası́, a partir del modelo del error de traslación (3.82) y utilizando la sı́ntesis de
control H∞ con realimentación de estados para sistemas inciertos vı́a lmis se calcula la
ley de control para resolver el problema de seguimiento de trayectoria de forma robusta.
Como se realizó para el caso del cpbm, se divide el modelo del error de los movimientos
de traslación en dos sub-sistemas. Ası́, se diseñan dos controladores H∞ lineales para el
sub-sistema de traslación. El primero controla la altura a través de la entrada U1 , mientras
el segundo utiliza esta señal como parámetro variante con el tiempo para calcular las
entradas virtuales para el movimiento lineal en el plano xy.
Por otro lado, utilizando el modelo del error (3.82) para diseñar un controlador por
realimentación de estados no serı́a posible rechazar perturbaciones externas mantenidas.
Ası́, para tener esto en cuenta, se considera el siguiente vector del error aumentado:
z̃ z − zref
w̃0 w0 − w0ref
R R
z̃ (z − zref )dt
x̃
x − xref
x̃ = u˜0
R R
= u0 − u0
ref
(3.83)
x̃ (x − xref )dt
ỹ y − y ref
v˜0 v0 − v0
R R ref
ỹ (y − yref )dt
Notese que en el vector del error se ha incluido un término integral. Este término
permitirá lograr un error nulo en régimen permanente cuando se apliquen perturbaciones
mantenidas al sistema (Ortega et al., 2005).
Por consiguiente, para calcular los controladores basados en el modelo del error (3.82)
y con el vector del error aumentado se tienen los siguientes modelos:
0 1 0 0
z̃(t)
x̃z (t) = 0 0 0 + m1 cos θ(t) cos φ(t) Ũ1 (1) (3.84)
w̃0 (t)
1 0 0 0
0 1 0 0 0 0 0 0
1
0 0 0 0 0 0
x̃(t)
U
m 1
(t) 0
1 0 0 0 0 0 ũ0 (t)
0 0 ũx (k)
x̃xy (t) = + (3.85)
0 0 0 0 1 0
ỹ(t) 0 0 ũy (k)
1
0 0 0 0 0 0 ṽ0 (t) 0 U
m 1
(t)
0 0 0 1 0 0 0 0
82 3 Estructuras de Control
0 1 0 0 0
Az (δ(t)) = 0 0 0 Buz (δ(t)) = m1 cos θ(t) cos φ(t) Bωz (δ(t)) = 1
m
1 0 0 0 0
2 0 0 0 0
Czz (δ(t)) = 0 2 0 Duzz (δ(t)) = 1 Dωzz (δ(t)) = 1
0 0 5 0 1
(3.86)
′
donde δ(t) = [φ(t) θ(t)] es el vector de parámetros inciertos. Los posibles valores para
los parámetros están dentro de un conjunto compacto definido por δ(t) ∈ [−45◦ , 45◦] ×
[−45◦ , 45◦ ]. ∆ = Co {v1 , . . . , v4 } es un politopo de vértices vi conocidos.
Kz = YQ−1
(3.88)
Ũ1 = Kz x̃z
A partir de (3.88) se obtiene U1 (t) = Ũ1 (t) + U1ref (t), y con esto se pasa al próximo
paso, donde se calculan las entradas virtuales de control para el movimiento en el plano
xy. El modelo del error del movimiento en el plano xy se reescribe con las siguientes
3.5 Control robusto H∞ de los seis grados de libertad 83
matrices:
0 1 0 0 0 0 0 0
1
0 0 0 0 0 0
U (t)
m 1
0
1 0 0 0 0 0 0 0
Axy (δ(t)) = Buxy (δ(t)) =
0 0 0 0 1 0
0 0
1
0 0 0 0 0 0 0 U (t)
m 1
0 0 0 1 0 0 0 0
0 0 15 0 0 0 0 0
1 0 0 5 0 0 0 0
m
0 0 0 0 10 0 0 0
Bωxy (δ(t)) =
0
Czxy (δ(t)) = (3.89)
0
0 0 0 15 0 0
0 1
m
0 0 0 0 5 0
0 0 0 0 0 0 0 10
0 0 0 0
1 0
1 0
10 0 1 0
Buzxy (δ(t)) = Dωzxy (δ(t)) =
0 0
0 0
0 1 0 1
0 10 0 1
donde δ(t) = [U1 (t)]′ es el vector de parámetros inciertos. Para este controlador se con-
sideró solamente el valor de U1 en vuelo con velocidad vertical constante, que es de
U1 = m ∗ g = 6,867N. Ası́ que, sólo dos lmis se usan en la optimización.
Kxy = YQ−1
(3.90)
ũxy 1 = Kxy x̃xy
A partir de ux (t) y uy (t), y con la relación dada por (3.52) se obtiene la referencia
de los ángulos de balanceo (roll), φ(t), y cabeceo (pitch), θ(t), que son utilizados como
referencia por el controlador H∞ no lineal en los movimientos de rotación del helicóptero.
84 3 Estructuras de Control
En las Figuras 3.38 - 3.45 se presentan los resultados logrados a partir de la estructura
de control con H∞ vı́a realimentación de estados para el sub-sistema de traslación y H∞
no lineal para el sub-sistema de rotación.
Referencia
Masa nominal
Masa +20%
Masa −20%
3
z
0
1
0.5 1
0.5
0
0
−0.5
−0.5
y −1 −1 x
Figura 3.38: Trayectoria xyz del helicóptero quadrotor cuando se aplica la estrategia de
control robusto para los seis grados de libertad sin perturbaciones externas.
3.5 Control robusto H∞ de los seis grados de libertad 85
x
1
Referencia
0.5 Masa nominal
Masa +20%
0 Masa −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
y
1
Referencia
0.5 Masa nominal
Masa +20%
0 Masa −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
z
6
Referencia
Masa nominal
4 Masa +20%
Masa −20%
2
0
0 5 10 15 20 25 30 35 40
tiempo [s]
−0.5
0 5 10 15 20 25 30 35 40
θ
2
Referencia
Masa nominal
1 Masa +20%
Masa −20%
0
−1
0 5 10 15 20 25 30 35 40
ψ
1.5
Referencia
Masa nominal
1 Masa +20%
Masa −20%
0.5
0
0 5 10 15 20 25 30 35 40
tiempo [s]
u1 u2
25 6000
Masa nominal Masa nominal
Masa +20% Masa +20%
Masa −20% 4000 Masa −20%
20
2000
15
0
10
−2000
5 −4000
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
6 u3 u4
x 10
0.5 4000
Masa nominal Masa nominal
0 Masa +20% Masa +20%
Masa −20% 3000 Masa −20%
−0.5
2000
−1
1000
−1.5
−2 0
−2.5 −1000
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
Figura 3.41: Evolución temporal de las entradas de control cuando se aplica la estrategia
de control robusto para los seis grados de libertad sin perturbaciones externas.
Referencia
Masa nominal
Masa +20%
Masa −20%
4.5
3.5
3
z
2.5
1.5
0.5
1
0.5 1
0.5
0
0
−0.5
−0.5
y −1 −1 x
Figura 3.42: Trayectoria xyz del helicóptero quadrotor cuando se aplica la estrategia de
control robusto para los seis grados de libertad con perturbaciones externas.
3.5 Control robusto H∞ de los seis grados de libertad 87
x
1
Referencia
0.5 Masa nominal
Masa +20%
0 Masa −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
y
1
Referencia
0.5 Masa nominal
Masa +20%
0 Masa −20%
−0.5
−1
0 5 10 15 20 25 30 35 40
z
6
Referencia
Masa nominal
4 Masa +20%
Masa −20%
2
0
0 5 10 15 20 25 30 35 40
tiempo [s]
−0.5
0 5 10 15 20 25 30 35 40
θ
2
Referencia
Masa nominal
1 Masa +20%
Masa −20%
0
−1
0 5 10 15 20 25 30 35 40
ψ
1.5
Referencia
Masa nominal
1 Masa +20%
Masa −20%
0.5
0
0 5 10 15 20 25 30 35 40
tiempo [s]
u1 4 u2
x 10
25 2
Masa nominal Masa nominal
Masa +20% Masa +20%
Masa −20% 1 Masa −20%
20
0
15
−1
10
−2
5 −3
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
6 u3 u4
x 10
0.5 4000
Masa nominal Masa nominal
0 Masa +20% Masa +20%
Masa −20% 3000 Masa −20%
−0.5
2000
−1
1000
−1.5
−2 0
−2.5 −1000
0 10 20 30 40 0 10 20 30 40
tiempo [s] tiempo [s]
Figura 3.45: Evolución temporal de las entradas de control cuando se aplica la estrategia
de control robusto para los seis grados de libertad con perturbaciones externas.
Ası́, la estrategia presentada aquı́ garantiza robustez para todos los tipos de perturba-
ciones externas actuantes sobre el helicóptero, cuando éste funcione dentro del conjunto
convexo determinado para la optimización de las lmis.
Capı́tulo 4
4.1. Introducción
,QWHUID]
:,5(/(66*+] ,(((
6LVWHPD2SHUDWLYR
Figura 4.1: Estructura de control del helicóptero quadrotor.
un mando a distancia (en inglés Remote Control - r/c) que está conectado al ordenador
de tierra mediante una tarjeta de adquisición de datos de la marca National InstrumentTM .
El Draganflyer V Ti Pro R/C trae de fábrica una micro cámara de vı́deo inalámbrica
ccd (del inglés Charge Coupled Device) de 1/4” (Figura 4.3), con resolución de 430 lı́neas,
que está sujetada a la estructura del helicóptero por un sistema que aumenta la resistencia
y reduce vibraciones. El transmisor de vı́deo opera a una frecuencia de 2.4GHz y a una
potencia de 50mW. Una antena circular polarizada, conectada a un sistema receptor,
capta las señales enviadas por el transmisor de la cámara y las envı́a al ordenador remoto.
Además, el helicóptero quadrotor posee una electrónica embebida (Figura 4.4) que está
4.2 Helicóptero en miniatura quadrotor 91
constituida por 4 sensores térmicos, tres giróscopos, un receptor fm (del inglés Frequency
Modulation) de doble conversión a 72MHz y un dsp (del inglés Digital Signal Processor )
que se encarga de comunicarse con el mando a distancia, controlar la velocidad de los
motores basándose en la cantidad de aceleración y velocidades angulares que requiera el
piloto, y estabilizar el helicóptero cuando sean activados los sensores térmicos.
La estructura del helicóptero es de fibra de carbono y nylon, y las hélices son moldeadas
por inyección de nylon de alta resistencia. El helicóptero mide 76cm de diámetro, y sin
considerar la unidad de medición inercial, presenta una masa de 525g.
En general estos sensores poseen la misma configuración para el puerto serie COM,
donde la tasa de transmisión es siempre 115.2K baudios.
En este protocolo el ordenador remoto controla qué datos salen del sensor emitiendo
uno o más comandos (en algunos casos, los bytes adicionales de datos deben seguir al
byte de comando). Cada comando enviado a la imu hará que ésta transmita un dato
o un número fijo de bytes. El sensor puede operar según dos modos de comunicación,
94 4 Descripción del Equipo
Para comunicar el ordenador de tierra con el mando a distancia, con el fin de transmitir
al helicóptero las señales de control, se ha utilizado la tarjeta de adquisición de datos NI
USB-6251 de la marca comercial National InstrumentsTM .
La tarjeta tiene dos salidas analógicas, lo cual es suficiente puesto que la señal de
control se envı́a multiplexada por una de las salidas.
Las salidas analógicas de esta tarjeta pueden alcanzar una velocidad de transmisión de
2.86MHz, que es necesaria para conseguir generar el tren de pulsos que codifica la señal
de control en cada tiempo de muestro.
Adicionalmente, la tarjeta dispone de un buffer de 4096 bytes que puede ser utilizado
para almacenar una forma de onda determinada, y gestionar el vaciado del buffer hacia la
salida analógica según la tasa de muestreo seleccionada. Esta funcionalidad de la tarjeta
es utilizada para recibir y almacenar en un solo envı́o el tren de pulsos de la señal de
control previamente programada, siendo la tarjeta la encargada de gestionar el tiempo de
salida de los datos del buffer.
donde se asigna a cada lazo un valor de prioridad y el periodo de ejecución de cada ciclo.
En la Figura 4.6 se presenta la pantalla principal del programa.
la tasa transmisión de datos, las señales de lqi (Link Quality Indication) y rssi (Receive
Signal Strength Indicator ), ası́ como la medición del ancho de banda.
Siendo ası́, se ha desarrollado un programa que genere tal tren de pulsos. La pantalla
donde se configura el generador del tren de pulsos e informa sobre su estado, se exhibe en
la Figura 4.8.
En el primer paso se configura la frecuencia del tren de pulsos, ası́ como su amplitud.
En esta etapa también se define la configuración de la tarjeta de adquisición de datos,
fijando la salida analógica que se utilizará, los lı́mites inferior y superior de la tensión de
salida, y el tamaño del buffer utilizado por la tarjeta.
El tren de pulsos se genera cada 22, 5ms, teniendo cada pulso un ancho de banda de
800µs cuando el ciclo de trabajo está al 100 %. Un canal tiene una duración mı́nima de
98 4 Descripción del Equipo
920µs y máxima de 2120µs. Siendo los primeros 400µs un tiempo muerto entre el final
del pulso del canal anterior y el inicio del pulso del canal actual. Cada canal puede ser
ajustado independientemente, utilizando la función Trimmer, si es necesario compensar
algún desequilibrio del helicóptero. Además, cada canal puede ser habilitado de manera
aislada, haciendo que la acción generada por el lazo de control no sea enviada al mando,
y ası́, se mantiene el valor de defecto. En la Figura 4.9 se presenta un ejemplo del tren de
pulsos.
El lazo de control se ejecuta a un nivel superior que el de los dos anteriores. En cada
ciclo se leen los datos suministrados por el sensor, y basándose en estos, se ejecutan los
controladores desarrollados, los cuales suministran las señales de control enviadas al lazo
de generación del tren de pulsos. En la Figura 4.6 se presenta, además de la portada
principal del programa, la interfaz de los controladores disponibles.
entre otras cosas. La Figura 4.10 muestra la pantalla en la que se determinan los valores
de referencia, se habilita y dibuja la estimación de la posición en el triedro xyz basada
en las medidas de aceleraciones lineales del sensor, y en la que se traza la gráfica de las
señales de control aplicadas.
Figura 4.10: Pantalla para determinar los valores de referencia y habilitar la estimación
de la posición xyz.
Una vez realizados todos los trámites iniciales, se pasa a la etapa de elección del
controlador a utilizar. El programa está pensado para que se pueda trabajar tanto en
bucle abierto como en bucle cerrado. En bucle abierto se han programado dos funciones,
una donde se aplican escalones a las entradas de control del helicóptero, y otra donde se
generan entradas senoidales con amplitud y frecuencia ajustables.
te trabajo, un controlador pid. Para trabajos futuros se implementarán las leyes aquı́
desarrolladas. La manera en la que este programa está pensado es ventajosa debido a su
carácter genérico, pudiendo implementarse fácilmente otros controladores a partir de un
archivo .dll.
Para realizar una estimación de los parámetros del sistema se han pesado y medido
las distintas partes del equipo. Sin embargo, dado que el sistema no permite tener un
acceso directo al control de la velocidad de los motores, se han realizado experimentos de
identificación en bucle cerrado para determinar la relación entre los pares ejercidos por la
propulsión de las hélices y las señales de control Ui que se envı́an desde la computadora
de tierra.
4.6 Resultados experimentales 101
φ
20
10
−10
−20
0 1 2 3 4 5 6 7 8 9 10
θ
20
10
−10
−20
0 1 2 3 4 5 6 7 8 9 10
ψ
4
−2
−4
0 1 2 3 4 5 6 7 8 9 10
tiempo [s]
φ
20
10
−10
−20
0 1 2 3 4 5 6 7 8 9 10
θ
20
10
−10
−20
0 1 2 3 4 5 6 7 8 9 10
ψ
20
10
−10
−20
0 1 2 3 4 5 6 7 8 9 10
tiempo [s]
La relación de ganancias resultantes ha sido del orden de 3.5 veces mayor la señal de
control del modelo frente a la señal de control del sistema real.
80
U1 [%]
60
40
20
10 15 20 25 30 35 40 45 50 55
100
U2 [%]
50
0
10 15 20 25 30 35 40 45 50 55
80
U3 [%]
60
40
20
10 15 20 25 30 35 40 45 50 55
60
U4 [%]
50
40
10 15 20 25 30 35 40 45 50 55
tiempo (s)
20
10
φ (º)
−10
−20
10 15 20 25 30 35 40 45 50 55
20
10
θ (º)
−10
−20
10 15 20 25 30 35 40 45 50 55
10
5
ψ (º)
−5
−10
10 15 20 25 30 35 40 45 50 55
tiempo (s)
Conclusiones
Alcanzada la robustez del sub-sistema de rotación, y con bastante éxito, se buscó lo-
grar un controlador eficaz para los movimientos de traslación. Siendo ası́, en una cuarta
estrategia se propuso un controlador predictivo debido a sus caracterı́sticas que permite
el uso de trayectorias futuras conocidas, el cual genera entradas de control suaves y con-
sidera restricciones en el momento del cálculo de la ley de control, a pesar de que en este
trabajo no fueron utilizados ningún tipo restricciones. El algoritmo de cpbm lineal utili-
107
zado considera que el vehı́culo sigue un helicóptero virtual de referencia sobre el camino
deseado, originando el modelo del error. El modelo del error es no lineal y variante con
el tiempo, por lo tanto, se han realizado linealizaciones sucesivas a lo largo de la trayec-
toria de referencia. Esta estructura de cpbm utiliza el modelo del sistema en espacio de
estados, y como ya se ha comentado, se ha implementado para controlar los movimientos
de traslación. Se diseñaron dos controladores predictivos, uno para el control de la altura,
y otro, a través de un cambio de variables y considerando entradas virtuales de control,
para el movimiento lineal en el plano (x, y).
Además de estos artı́culos, a lo largo del máster se han publicado los siguientes traba-
jos:
Para finalizar, se detallan posibles lı́neas de continuación del trabajo expuesto en esta
tesis:
Combinación del control con ángulo de palas variables y con velocidad del rotor
variable. En helicópteros convencionales se suelen utilizar como variables de control
los ángulos de ataque de las palas (cı́clico y colectivo), implementando un lazo
interno de control para regular la velocidad de giro del rotor (esto es, se controla
con velocidad del rotor constante) Raffo et al. (2006). Sin embargo, en helicópteros
en miniatura, la filosofı́a de las señales de control suele ser justo la contraria. Debido
a que ambos enfoques tienen sus ventajas e inconvenientes, se propone estudiar la
posibilidad de realizar un control de aeronaves donde se utilicen ambas filosofı́as
simultáneamente.
Malis, E, Benhimane, S. A unified approach to visual tracking and servoing. Robotics and
Autonomous Systems, 52(1):39–52, 2005.
N. Metni, T. Hamel, y F. Derkx. Visual Tracking Control of Aerial Robotic Systems with
Adptive Depth Estimation. In Proc. of the CDC/ECC, pages 6078–6084, Seville, Spain,
2005.
M. M. Space y A. Spazio. The Hipparcos and Tycho Catalogues - The Hipparcos Satellite
Operations, Volume 2. Technical Report ESA SP-1200, European Space Agency, 1997.
A. van der Schaft. L2 -Gain and Passivity Techniques in Nonlinear Control. Springer-
Verlag, New York, 2000.
A. van der Schaft. L2 -Gain Analysis of Nonlinear Systems and Nonlinear State Feedback
Control. IEEE Trans. Automat. Control, 37(6):770–784, 1992.