Universidad de La Salle Universidad de La Salle
Ciencia Unisalle Ciencia Unisalle
Ingeniería en Automatización Facultad de Ingeniería
2021
Análisis y aplicación de desigualdades matriciales lineales a un Análisis y aplicación de desigualdades matriciales lineales a un
problema de control no lineal problema de control no lineal
Alejandro Rodríguez Ortiz Universidad de La Salle, Bogotá
Follow this and additional works at: https://ciencia.lasalle.edu.co/ing_automatizacion
Part of the Controls and Control Theory Commons
Citación recomendada Citación recomendada Rodríguez Ortiz, A. (2021). Análisis y aplicación de desigualdades matriciales lineales a un problema de control no lineal. Retrieved from https://ciencia.lasalle.edu.co/ing_automatizacion/793
This Trabajo de grado - Pregrado is brought to you for free and open access by the Facultad de Ingeniería at Ciencia Unisalle. It has been accepted for inclusion in Ingeniería en Automatización by an authorized administrator of Ciencia Unisalle. For more information, please contact [email protected].
Analisis y aplicacion de desigualdadesmatriciales lineales a un problema de
control no lineal
Alejandro Rodrıguez Ortiz
Universidad de La Salle
Facultad de Ingenierıa
Programa de Ingenierıa en Automatizacion
Bogota D.C, Colombia
2021
Analisis y aplicacion de desigualdadesmatriciales lineales a un problema de
control no lineal
Alejandro Rodrıguez Ortiz
Tesis o trabajo de grado presentada(o) como requisito parcial para optar al tıtulo de:
Ingenierio en Automatizacion
Director(a):
Msc. Jose Fabian Salazar Caceres
Codirector(a):
Ph.D. Ricardo Coracao de Leao Fontoura de Oliveira
Lınea de Investigacion:
Teorıa de control
Universidad de La Salle
Facultad de Ingenierıa
Programa de Ingenierıa en Automatizacion
Bogota D.C, Colombia
2021
iii
Nota de aceptacion:
Firma del Director
Ing. Jose Fabian Salazar Caceres
Firma del Jurado
Ing. Cesar Hernan Rodrıguez Garavito
Firma del Jurado
Ing. Jorge Eliecer Rangel Dıaz
Bogota D.C, 02 marzo de 2021
Dedicatoria
Dedicado a mis padres, mi hermana y mis abuelas,
y todas las personas que hicieron parte de este proceso.
”Todo lo puedo en Cristo que me fortalece.”
Filipenses 4:13
Agradecimientos
Al culminar esta etapa quiero expresar mi gratitud hacia las personas que contribuyeron
de forma significativa en mi formacion, ası quiero agradecer:
A Dios por permitir cada logro en mi vida y darme salud para terminar este desafıo y por
el que existen todas las cosas.
Al apoyo incondicional de mi familia que son el motor de mi motivacion y quienes hicieron
posible que alcanzara este objetivo. Por cada consejo de mi madre que fue fundamental en
mi desarrollo infundiendo disciplina y responsabilidad y ademas mi heroına que me enseno
que todo lo puedo lograr, a mi padre por tener su apoyo incondicional y quien me enseno a
ver la cosas desde varias perspectivas, y donde me mostro que con determinacion se realizan
las cosas donde ”nunca nos partimos solo nos doblamos”. A mi abuela Dora que siempre
estuvo a mi cuidado y pendiente de cada cosa que necesite , a mi abuela Natividad quien
me enseno el valor del trabajo duro. A mis tıas que con sabidurıa me mostraron el camino
y lo hicieron mas llevadero, ası como tambien a toda mi familia en general por estar en esta
etapa de mi vida.
A mis asesor de tesis al Prof. Fabian Salazar por su voluntad de compartir conocimiento en
esta etapa tan importante.
A meu orientador Prof. Ricardo C. L. F. Oliveira quem sempre teve disposicao para ajudar
e solucionar minhas duvidas, alem de contribuir na parte profissional e despertar minha cu-
riosidade na pesquisa, tambem contribuiu na parte pessoal com dicas para tomar decisoes
importantes na minha vida.
El apoyo de Hernan Alzate y Orlando Carvajal que contribuyeron de forma significativa
en mi desarrollo profesional impulsandome a ver nuevos horizontes, ası tambien el apoyo
incondicional de Sandra y Mauricio a quienes llevo en mi corazon y que siempre estuvieron
prestos para ayudar.
A mis amigos Alexandre, Laury, David, Eliab, Sebastian y Miguel por su amistad y por estar
presentes en cada decision importante y por contribuir en mi formacion orientandome a lo
largo de este camino.
vi
A personas que aunque no estuvieron a lo largo del camino fueron fundamentales para ter-
minar este proceso como la familia Rincon, amigos de la Iglesia Adventista. Y el gran apoyo
de Tatiana y Sara por convencerme de que todo es posible y que hicieron parte de la recta
final de este proceso.
vii
Resumen
Las desigualdades matriciales lineales (LMIs, por sus siglas en ingles) tienen una impor-
tante aplicacion en la teorıa de control reduciendo los problemas en el calculo de la solucion
con el fin de convertirlo en un problema de optimizacion convexa que puede ser solucionado
numericamente utilizando metodos como punto interior especializados en programacion se-
midefinida. Las LMIs son normalmente utilizadas para evaluar estabilidad, control robusto,
entre otros. Teniendo en cuenta lo anterior el siguiente trabajo da conocer la teorıa fun-
damental de las LMIs encaminado a mostrar su estructura y metodos de solucion y una
aplicacion disenando un controlador para un sistema no lineal en este caso el pendulo in-
vertido doble, con un modelo matematico desarrollado con el metodo Euler-Lagrange. Es
importante resaltar la relevancia que tienen las desigualdades matriciales lineales, dado que
estan bastante consolidadas y los beneficios que presenta al permitir representar varias tecni-
cas de control de la literatura agregando robustez.
Palabras clave: Desigualdades Matriciales Lineales, Realimentacion de estados, Ro-
bustez, Estabilidad, Optimizacion.
Contenido
Agradecimientos V
Resumen VII
Lista de figuras IX
Lista de tablas 1
1. Introduccion 2
2. Fundamentos Matematicos 4
2.1. Desigualdades matriciales lineales . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Optimizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3. Analisis de Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1. Sistema LTI politopico con incertidumbres . . . . . . . . . . . . . . . 9
2.3.2. Estabilidad de Sistemas Lineales . . . . . . . . . . . . . . . . . . . . . 10
2.4. Diseno de Control por LMIs . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5. Realimentacion de estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3. Implementacion del Algoritmo IPM 16
3.1. Resultados de implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4. Modelo dinamico pendulo invertido doble 19
4.1. Pendulo invertido doble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.1. Transformacion de coordenadas . . . . . . . . . . . . . . . . . . . . . 20
4.1.2. Modelado por Euler-Lagrange . . . . . . . . . . . . . . . . . . . . . . 23
4.1.3. Analisis no lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1.4. Linealizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1.5. Analisis del sistema lineal . . . . . . . . . . . . . . . . . . . . . . . . 34
5. Implementacion del controlador por LMI 37
5.1. Seguimiento de referencia robusto . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2. Ganancias de realimentacion de estados . . . . . . . . . . . . . . . . . . . . . 38
5.2.1. Resultados en simulacion . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.2. Resultados en implementacion fısica . . . . . . . . . . . . . . . . . . . 40
Contenido ix
6. Conclusiones 44
Bibliografıa 45
A. Anexo: Algoritmo control de realimentacion de estados 47
Lista de Figuras
2-1. Descripcion de un politopo con N = 5 vertices. . . . . . . . . . . . . . . . . . 11
2-2. Resultado de generar 1000 puntos uniformemente distribuidos dentro del po-
litopo, 100 puntos igualmente espaciados para cada segmento de recta entre
cualquier par de vertices (i, j) y 150 puntos uniformemente distribuidos dentro
del subpolitopo formado por cada trıo (i, j, k) de vertices. . . . . . . . . . . . 12
2-3. Region de ubicacion de polos. . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4-1. Convenciones de pendulo invertido doble basado en [1]. . . . . . . . . . . . . 20
4-2. Resultado de generar 1000 puntos uniformemente distribuidos dentro del po-
litopo, 100 puntos igualmente espaciados para cada segmento de recta entre
cualquier par de vertices (i, j) y 150 puntos uniformemente distribuidos dentro
del subpolitopo formado por cada trıo (i, j, k) de vertices. . . . . . . . . . . . 34
5-1. Diagrama de control, realimentacion de estados con seguimiento de referencia
robusto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5-2. Simulacion del control por realimentacion de estados con seguimiento de re-
ferencia robusto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5-3. Implementacion del control por realimentacion de estados con seguimiento de
referencia robusto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5-4. Senal de control que corresponde a la tension aplicada al motor de la base. . 42
5-5. Perturbacion para el control de realimentacion de estados con seguimiento de
referencia robusto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Lista de Tablas
3-1. Convergencia del Algoritmo 1 considerando un limite de iteraciones de 100. 18
4-1. Parametros fısicos del pendulo invertido doble. . . . . . . . . . . . . . . . . 29
1. Introduccion
En el analisis de sistemas y la teorıa de control han surgido gran variedad de problemas que
han sido solucionados usando herramientas como la optimizacion convexa o casi convexa,
en donde acaba generando una representacion del problema en terminos de desigualdades
matriciales lineales (del ingles, Linear Matrix Inequalities — LMIs) [2]. Por lo tanto pueden
ser solucionados numericamente utilizando metodos de puntos interiores especializados en
programacion semidefinida que reducen la complejidad del problema.
La historia de las LMIs toma relevancia alrededor de 1890 con la teorıa de Lyapunov en el
analisis de sistemas, esta teorıa busca definir que el comportamiento de un sistema descrito
por una ecuacion diferencial es estable, es decir, que todas sus trayectorias convergen para
cero. Esta teorıa permite ser adaptada a sistemas lineares continuos en el tiempo, donde
puede ser formulado directamente en terminos de LMIs y se considera que el problema esta
solucionado[2, 3]. Dada la relevancia que tienen las LMIs alrededor de 1980 surgen algorit-
mos de convergencia global como elipsoide, proyeccion y planos de corte, que posteriormente
fue desarrollado el metodo de puntos interiores que trata con complejidad polinomial dada
el gran numero de variables que puede generar dicha representacion [4].
En la teorıa de control tambien se desarrollaron avances importantes en el diseno de contro-
ladores y filtros que fueron representados en terminos de LMIs. En particular, las LMIs son
muy utilizadas en casos donde los sistemas cuenten con incertidumbres parametricas, que
permite el analisis de estabilidad, control y filtros robustos. Debido a esto es posible tratar
modelos con saturacion, no lineales o sistemas no autonomos (variantes en el tiempo)[5, 6].
Como motivacion principal se presenta toda la teorıa fundamental de las LMIs encaminado a
mostrar cada etapa desde su definicion presentando fundamentos matematicos, conceptos de
optimizacion y herramientas algebraicas; solucion para desarrollar un algoritmo que permita
la sıntesis de LMIs para un caso simple de analisis de estabilidad e aplicacion a un sistema
dinamico fısico analizando estabilidad y una LMI que permita el diseno de controladores
donde se vuelve desafiador evitar terminos bilineales (multiplicidad de variables) [3].
Para motivar el enfoque propuesto en este trabajo, es tomado en consideracion un sistema
dinamico denominado pendulo invertido doble en su variante especifica del pendulo de Furu-
ta, esta basado en un movimiento rotacional de su base donde esta ubicado el actuador que
3
busca mantener en equilibrio el pendulo [1]. El sistema descrito es conocido como el tıpico
sistema no linear inestable que puede mostrar comportamientos caoticos, ademas dada su
construccion fısica en la que cuenta con un numero mayor de articulaciones que actuadores,
por tanto, torna desafiador el diseno de un controlador estabilizante, y obliga a implementar
controladores robustos. Dada su complejidad es el punto de partida para la aplicacion en
robotica, industria aeroespacial y vehıculos [7].
2. Fundamentos Matematicos
Los objetivos de esta seccion son presentar notaciones y conceptos que se utilizaran, para
introducir conceptos de optimizacion y de desigualdades matriciales lineales y relaciones de
equivalencia que permiten la manipulacion algebraica [8].
Notacion 1 (Elemento de matriz). Sea A ∈ M(n,m) e i ≤ m, j ≤ m, i, j ∈ N∗; (A)i,j es
el elemento en la linea i, y en la columna j.
Notacion 2 (Producto matricial). Sea m,n, p ∈ N∗, A ∈ M(m,n), B ∈ M(n, p), AB
indica el producto matricial convencional definido como (AB)i,j =∑n
k=1(A)i,k(B)j,k.
Notacion 3 (Adicion y sustraccion matricial). Sea m,n ∈ N∗, A,B ∈ M(m,n), A + B
indica la suma matricial tradicional, definida como (A+B)i,j = (A)i,j+(B)i,j e A−B indica
la diferencia matrical tradicional, definida como (A− B)i,j = (A)i,j − (B)i,j.
Notacion 4 (Producto de Kronecker). Sea A ∈ M(m,n), B ∈ M(p, q) el productor de
Kronecker A⊗ B es la matriz de dimension mp× nq
a11B . . . a1nB...
. . ....
am1B . . . amnB
Notacion 5 (Transposicion). Sea A ∈ M(m,n), A′ ∈ M(n,m) indica la transpuesta de la
matriz A, esto es, (A′)j,i = (A)i,j.
Notacion 6 (Complemento simetrico). Dada una matriz A ∈M(n, n), He(A) := A+A′ es
una matriz simetrica y la notacion He(·) ha sido utilizada en varios trabajos relacionados.
El origen de esta notacion es la palabra “Hermitiana” que generaliza el concepto de simetrıa
para la matrices sobre el conjunto de los numeros complejos.
Notacion 7 (Matriz definida-negativa). Una matriz definida-negativa de dimension n es
una matriz A ∈ M(n, n), representada con la notacion A ≺ 0, tal que para cualquier vector
x ∈M(n, 1), x 6= 0⇒ x′Ax < 0.
Notacion 8 (Matriz semidefinida-negativa). Una matriz semidefinida-negativa de dimen-
sion n es una matriz A ∈M(n, n), representada con la notacion A � 0, tal que para cualquier
vector x ∈M(n, 1), x′Ax ≤ 0.
2.1 Desigualdades matriciales lineales 5
Notacion 9 (Matriz definida-positiva). Una matriz definida-positiva de dimension n es
una matriz A ∈ M(n, n), representada con la notacion A ≻ 0, tal que para cualquier vector
x ∈M(n, 1), x 6= 0⇒ x′Ax > 0.
Notacion 10 (Matriz semidefinida-positiva). Una matriz semidefinida-positiva de dimen-
sion n es una matriz A ∈M(n, n), representada con a notacion A � 0, tal que para cualquier
vector x ∈M(n, 1), x′Ax ≥ 0.
2.1. Desigualdades matriciales lineales
Una desigualdad matricial lineal tiene la forma:
F (x) , F0 +
m∑
i=1
xiFi > 0 (2-1)
donde x ∈ Rm corresponde a las variables y las matrices Fi = F T
i ∈ Rn×n, i = 0, . . . , m es
dada y corresponde al numero de variables que son coeficientes de una matriz semidefinida
positiva [2]. Y es equivalente a un conjunto de n desigualdades polinomiales en x lo que
significa que los menores principales de F (x) deben ser positivos.
La principales herramientas para la manipulacion de matricial y poder llegar a formas LMIs
sin afectar los mınimos principales, son presentadas a continuacion.
Definicion 1 (Transformacion de congruencia). Una transformacion de congruencia aplica-
da a una matriz A consiste en multiplicar una matriz de transformacion T de rango completo
por la derecha, y la traspuesta por la izquierda, y se representa como T ′AT . De esta manera
sea A ∈M(n, n) una matriz con senal, y T ∈M(n,m) una matriz de rango completo m ≤ n
[3]. El resultado de la transformacion de congruencia T ′AT es una matriz de dimension
m×m con la misma senal que A, i.e.
1. A ≺ 0⇒ T ′AT ≺ 0
2. A � 0⇒ T ′AT � 0
3. A ≻ 0⇒ T ′AT ≻ 0
4. A � 0⇒ T ′AT � 0
Lema 1 (Complemento de Schur). Sean las matrices A ∈ S(n), B ∈ M(n,m), C ∈ S(m),
entonces las sigueintes desigualdades matriciales son equivalentes [5]:
1.
[
A B
B′ C
]
≻ 0
2. A ≻ 0 e C − B′A−1B ≻ 0
2.2 Optimizacion 6
3. C ≻ 0 e A− BC−1B′ ≻ 0
Lema 2 (Lema de Finsler). Considere w ∈ M(n, 1), Q ∈ S(n) e B ∈ M(m,n) con rango
menor que n, y B⊥ una base para el espacio nulo de B (es decir, BB⊥ = 0) [7]. Entonces,
las siguientes condiciones son equivalentes:
1. w′Qw ≺ 0, ∀w 6= 0 : Bw = 0
2. B⊥′QB⊥ ≺ 0
3. ∃µ ∈ R : Q− µB′B ≺ 0
4. ∃X ∈M(n,m) : Q+ XB + B′X ′ ≺ 0
Lo presentado anteriormente es con el objetivo de poder contornar problemas donde el diseno
de controladores torne la desigualdad matricial bilineal (del ingles, Bilinear Matrix Inequa-
lities — BMIs), es decir, encontrar productos de variables y los metodos de optimizacion
presentados en este trabajo no pueden proporcionar una solucion.
Un caso de aplicacion muy conocido en la teorıa de control en el que se puede representar
una forma LMI a partir de de una forma BMI, es el caso de la ecuacion algebraica de Riccati
(del ingles, Algebraic Riccati Equation — ARE) [2], definida como:
ATP + PA+ PBR−1BTP +Q < 0 (2-2)
donde A, B, Q = QT , R = RT > 0 son matrices dadas con dimensiones apropiadas, y
P = P T es variable. Se puede observar el termino PBR−1BTP es cuadratico en la variable
P , esto puede ser expresado como una LMI usando el complemento de Schur obteniendo la
siguiente expresion[
−ATP − PA−Q PB
BTP R
]
> 0 (2-3)
2.2. Optimizacion
Desde 1988, se han desarrollado metodos de punto interior (del ingles, Interior Point Method
— IPM) para los problemas estandar, como el problema de valores propios para ver la
dispersion o varianza de los datos, sin embargo, este metodo tiene una gran aplicacion en la
teorıa de control desde que surgieron algoritmos que convergen en tiempo polinomial para
la solucion de LMIs. Los algoritmos de punto interior definen una direccion de busqueda
en cada punto interior de la region factible [9, 10, 11, 12]. El problema de optimizacion
programacion semidefinida (del ingles, Semidefinite Programming — SDP) surge cuando
consideramos optimizar una funcion lineal de una matriz simetrica X , sujeta a restricciones
2.2 Optimizacion 7
lineales en la matriz y adicional de que X sea positivo o semi-definido. El problema SDP en
el caso primal es definido como:
minimicex
C •X
sujeto a Ai •X = bi, para i = 1, . . . , m,
X � 0
(2-4)
donde C ∈ Sn, Ai ∈ Sn y X ∈ Sn, con m que corresponde al numero de restricciones del
problema de optimizacion, y en el caso dual esta definido como:
maximicey
bTy
sujeto am∑
i=1
yi + Z = C
Z � 0
(2-5)
donde Z ∈ Sn, y Sn define el espacio vectorial de matrices n × n simetricas reales. La
dimension del espacio se puede definir como:
n =n(n + 1)
2(2-6)
donde n indica el numero de variables del problema de optimizacion. Es necesario considerar
que el espacio Sn puede ser asignado al espacio Rn considerando
svec(K) =[
K11,√2K12, . . . ,
√2K1j , K22, . . . ,
√2K2j , . . . , Kij
]T
(2-7)
con Kij que esta definida como la componente en la fila i y la columna j de la matrizK ∈ Sn.
Lo cual es util para poder tener una mejor manipulacion algebraica en la complementacion
del algoritmo.
Algo para destacar, es que dados los problemas SDP primal y dual (2-4) y (2-5) tienen
soluciones optimas finitas con valores optimos iguales, pero cada problema define un limite
superior e inferior respectivamente. La diferencia entre los valores objetivo de los problemas
primal y dual define la factibilidad de la solucion, esa diferencia µ es definida como
µ =
(
C •X − bTy)
n(2-8)
Ademas, asumiendo que los valores de la solucion primal y dual son optimos e iguales,
tenemos que
C • Z = 0 (2-9)
2.2 Optimizacion 8
Los IPM primal-dual para SDP utilizan el siguiente sistema de ecuaciones para definir el
paso de Newton y medir la proximidad a la optimizacion [9]:
Ai •∆X = rpi para i = 1, . . . , m
(
m∑
i=1
∆yiAi) + ∆Z = Rd
X∆Z +∆XZ = Rc
(2-10)
donde cada uno de los residuos primal, dual y el residuo complementario son definidos como:
rpi = bi − Ai •X para i = 1, . . . , m
Rd = C − Z −m∑
i=1
∆yiAi
Rc = uI −XZ
(2-11)
donde u define la brecha de dualidad objetivo.
Para la solucion del sistema de ecuaciones en (2-11) usando eliminacion gaussiana obtenemos
la siguiente solucion:
∆z = rd − AT∆y
∆X =(
X ⊗ Z−1)
(AT∆y − rd) +(
I ⊗ Z−1)
rc
M∆y = g
(2-12)
donde es aplicado el complemento de Schur en la matriz M y tenemos la siguiente relacion
M = A(
X ⊗ Z−1)
AT
g = rp + A(
X ⊗ Z−1)
rd − A(
I ⊗ Z−1)
rc(2-13)
Computando la solucion de (2-13) para poder obtener ∆y, como consecuencia es solucionado
el sistema de ecuaciones en (2-12).
En el caso de la SDP, los algoritmos IPM requieren un proceso de simetrizacion. Dado que
la solucion ∆X de (2-10) no es necesariamente simetrica, por esta razon reemplazamos ∆X
con su parte simetrica de la siguiente forma:
∆X ← 1
2(∆X +∆XT ) (2-14)
Esta solucion con simetrizacion es llamada direccion HKM como se muestra en [9].
2.3 Analisis de Sistemas 9
Para solucionar las ecuaciones (2-10) se adopta un valor para u = 0 con el objetivo encontrar
la direccion (∆X,∆y,∆Z) y poder actualizar el punto adoptando una longitud de paso
θ ∈ [0, 1], de modo que los puntos de se actualizan como
X∗ = X + θ∆X
y∗ = y + θ∆y
Z∗ = Z + θ∆Z
(2-15)
Uno de los metodos mas efectivos son los metodos de prediccion-correccion, en los que un
paso de prediccion resuelve (2-10) - (2-11) configurando u = 0 para estimar una brecha de
dualidad objetivo u, y un paso de corrector que resuelve las ecuaciones nuevamente usando la
brecha de dualidad estimada. Todos estos metodos se clasifican como IPM. En este trabajo
es aplicado el metodo de prediccion-correccion.
2.3. Analisis de Sistemas
En el enfoque de las LMIs, la estabilidad asintotica de un sistema linear e invariante en el
tiempo (LTI, del ingles Linear Time Invariant) puede ser verificada a traves de problemas
de optimizacion, y pueden emitirse condiciones con el uso de funciones de Lyapunov, con las
ventajas que ofrece al evaluar la estabilidad robusta considerando un politopo de matrices
que describe las incertidumbres asociadas al sistema lineal [5].
2.3.1. Sistema LTI politopico con incertidumbres
Un sistema LTI politopico con incertidumbres es definido de la siguiente forma:
x(t) = A(α)x(t) +B(α)u(t),
y(t) = C(α)x(t)(2-16)
donde x ∈ Rn, y ∈ R
p y u ∈ Rm son respectivamente los vectores de estados, salidas
medidas y entradas de control. Las matrices A(α) ∈ Rn×n, B(α) ∈ R
n×m e C(α) ∈ Rp×n son
incertidumbres de dependen del vector de parametros con incertidumbres α = (α1, . . . , αN)
en la forma
(A,B,C) (α) =N∑
i=1
αi(Ai, Bi, Ci), α ∈ ΛN
donde N define el numero de vertices y siendo ΛN el simplex unitario dado por
ΛN ,{
ξ ∈ RN :
N∑
i=1
ξi = 1, ξi ≥ 0}
En el analisis de estabilidad y el control de sistemas con incertidumbres, las matrices del
sistema LTI descritas son llamadas matrices politopicas debido a que su dinamica no se
2.3 Analisis de Sistemas 10
conoce con precision, las cuales pueden representar una amplia gama de incertidumbres. Es
importante destacar que para que el sistema sea invariante en el tiempo es necesario que α
sea tambien invariante en el tiempo.
2.3.2. Estabilidad de Sistemas Lineales
El analisis de estabilidad para sistemas esta fuertemente consolidada y definida por la teorıa
de Lyapunov, y para tener claridad en los terminos tratados a lo largo del trabajo se presentan
las siguiente definiciones
Definicion 2 (Estabilidad asintotica). Un sistema LTI es asintoticamente estable para cual-
quier estado inicial x(0), la respuesta homogenea tiende a cero, y se define como:
lımt→∞
||x(t)|| = 0
Definicion 3 (Estabilidad exponencial). Um sistema LTI es exponencialmente estable para
cualquier estado inicial en una vecindad del origen x(0) < δ, la respuesta homogenea se
aproxima exponencialmente del origen, y se define como:
∃α, β > 0 ||x(t)|| < αe−βt ∀ t > 0
Si consideremos un sistema LTI las dos definiciones anteriores son equivalentes. Con el ob-
jetivo de obtener condiciones que permitan evaluar la estabilidad asintotica partimos de la
funcion cuadratica de Lyapunov a continuacion
Lema 3. Sea la funcion de Lyapunov v(x) := x′Px, con la matriz P ≻ 0 y x(t) la respuesta
homogenea de un sistema LTI, entonces el sistema es asintoticamente estable si v(x(t)) es
estrictamente decreciente en el tiempo [8].
De la funcion anterior y considerando el sistema (2-16) con entrada nula con el objetivo de
evaluar la dinamica del sistemas, un aspecto importante de la teorıa de Lyapunov es verificar
la positividad de la funcion de Lyapunov
v(x) > 0, ∀ x 6= 0 (2-17)
y es valida para un P ≻ 0, a continuacion se verifica si la funcion es decreciente
∂
∂t(v(x(t))) < 0
x(t)′ P x(t) + x(t)′ P x(t) < 0
(A(α)x)′P x+ x′ P (A(α)x) < 0
x′(A(α)′P + P A(α))x < 0, ∀ x 6= 0
(2-18)
tenemos que la funcion de Lyapunov es decreciente en el caso de que A(α)′P + P A(α) sea
definido negativo. La construccion realizada sirve para tratar la estabilidad de sistemas con
2.3 Analisis de Sistemas 11
incertidumbres y la definicion formal de la condicion que evalua la estabilidad asintotica en
terminos de LMIs, se define a continuacion:
Lema 4. Sea P = P T ≻ 0, y la funcion de Lyapunov v : R(n, 1) → R, v(x) := x′Px;
el sistema (2-16) es asintoticamente estable para todo α en ΛN si y solo si es verificada la
siguiente desigualdad
A(α)′P + P A(α) ≺ 0, ∀α ∈ ΛN (2-19)
Como α ∈ ΛN , garantizar que la matriz A(α) sea estable define un problema de dimension
infinita dado que existen infinitos sistemas a los cuales es necesario verificar la estabilidad.
En el analisis de sistemas lineales con incertidumbres existen dos tipos de enfoques que
pueden ser representados como matrices politopicas
Incertidumbre en los parametros asociados al modelo.
Linealizacion en diferentes puntos de operacion.
Cada uno de los enfoques mencionados definen una region como se ilustra en la Figura 2-1
A1
A2
A3
A4
A5
Figura 2-1.: Descripcion de un politopo con N = 5 vertices.
Una representacion valida para conocer la dinamica del sistema con incertidumbre, puede
ser dada a partir de una ilustracion en el lugar de las raıces generando puntos uniforme-
mente distribuidos, igualmente espaciados para cada segmento de recta entre cualquier par
de vertices y uniformemente distribuidos dentro del subpolitopo formado por cada trıo de
vertices. Partiendo de la definicion en 2.3.1 para definir una matriz politopica con N = 4 es
representada por:
A(α) = α1A1 + α2A2 + α3A3 + α4A4, α ∈ ΛN
2.3 Analisis de Sistemas 12
Como ejemplo para ilustrar lo descrito anteriormente, se toma como ejemplo el siguienteconjunto de matrices aleatorias que describen la matriz politopica anterior:
A1 =
−6,3229 2,3279 −0,2916 −0,17160,5117 −2,4921 −0,3794 2,2665
−1,0157 0,6041 −3,7217 0,0829
0,2522 0,5873 −0,9449 −5,0450
A2 =
−0,0353 0,6411 −1,4379 0,1229
−0,2843 −0,7282 0,3780 −0,9294−1,0948 −1,4001 −1,0694 0,9690
0,5591 1,7016 −2,8302 −0,1322
A3 =
−1,8167 −0,9822 1,1370 0,4953
0,1652 −1,3357 −1,3871 −0,95460,2066 0,1483 −0,7917 0,3069
1,4310 −0,8860 −0,8732 −3,5015
A4 =
−2,6156 −0,8847 −2,6585 −1,20690,1725 −2,4437 0,1813 0,3197
0,1457 −1,4975 −1,8171 0,3621
−0,0404 −1,2686 0,2256 −1,7749
donde el mayor autovalor encontrado es:
λmax = −0,24 + 8,67i
y los α asociados al mayor autovalor λmax:
αmax =[
0,3169 0,5134 0,1299 0,0398]
esa combinacion de puntos descrita anteriormente ilustra la siguiente nube de autovalores
representados en el lugar geometrico de las raıces, y que representa la dinamica aproximada
que puede tener ese sistema con incertidumbre, como se muestra a continuacion:
-6 -5 -4 -3 -2 -1 0 1
Re
-1.5
-1
-0.5
0
0.5
1
1.5
Im
Figura 2-2.: Resultado de generar 1000 puntos uniformemente distribuidos dentro del po-
litopo, 100 puntos igualmente espaciados para cada segmento de recta entre
cualquier par de vertices (i, j) y 150 puntos uniformemente distribuidos dentro
del subpolitopo formado por cada trıo (i, j, k) de vertices.
2.4 Diseno de Control por LMIs 13
En el enfoque donde los vertices del politopo son definidos por incertidumbre en los parame-
tros asociados al modelo, cada vertice es definido con los limites superior e inferior que
describe la franja de incertidumbre. Por ejemplo en el caso de un sistema masa-resorte-
amortiguador donde su dinamica esta definida como:
A =
[
0 1
− km− b
m
]
(2-20)
donde m = 1 kg equivale a la masa, k ∈ [2, 5] N/m es la constante de elasticidad, b ∈[3, 7] Ns/m es la constante de amortiguacion, el resultando de la dos incertidumbres en
el modelo en las variables k, b generan un politopo de cuatro vertices como se muestra a
continuacion.
A1 =
[
0 1
−2 N/m1 kg
−3 Ns/m1 kg
]
A2 =
[
0 1
−2 N/m1 kg
−7 Ns/m1 kg
]
A3 =
[
0 1
−5 N/m1 kg
−3 Ns/m1 kg
]
A4 =
[
0 1
−5 N/m1 kg
−7 Ns/m1 kg
] (2-21)
Por otro lado, cuando hay una linealizacion en diferentes puntos de operacion, y genera una
matriz que describe la dinamica del sistema alrededor de ese punto, en este caso cada punto
de operacion describe un vertice del politopo.
2.4. Diseno de Control por LMIs
En la literatura de control hay metodos consolidados por LMIs que permiten disenar contro-
ladores robustos para sistemas lineales con incertidumbres, con el objetivo de implementar
una ley de control como la realimentacion de estados las condiciones de estabilidad que tra-
tan sistemas con incertidumbres pueden ser adaptadas para tratar el sistema en lazo cerrado.
Unos de los problemas que surgen al implementar una ley de control es que dejamos de te-
ner una representacion en terminos de LMIs, pero el problema puede ser contorneado con
herramientas algebraicas [3].
2.5. Realimentacion de estados
Escogiendo la siguiente ley de control por realimentacion de estados:
u(t) = Kx(t) (2-22)
y tiene la siguiente lazo cerrado considerando el sistema (2-16), tenemos que:
x(t) = (A(α) +B(α)K)x(t),
y(t) = C(α)x(t)(2-23)
2.5 Realimentacion de estados 14
Sera investigado el diseno del vector de ganancias K que estabiliza el sistema en lazo cerrado,
es decir, que garantiza que la matriz (A(α) + B(α)K) tenga autovalores con parte real
estrictamente negativa (estabilidad de Hurwitz). Al introducir la matriz en lazo cerrado en
la desigualdad (2-19) que garantiza la estabilidad asintotica, tenemos que:
(A(α) +B(α)K)′P + P (A(α) +B(α)K) ≺ 0, (2-24)
al expandir la desigualdad tenemos que:
A(α)′P +K ′B(α)′P + P A(α) + PB(α)K ≺ 0, (2-25)
se puede notar la bilinealidad entre P y K. Para contornear ese problema es aplicada una
transformacion de congruencia aplicando la inversa de la matriz P , obteniendo:
P−1A(α)′PP−1 + P−1K ′B(α)′PP−1 + P−1P A(α)P−1 + P−1PB(α)KP−1 ≺ 0, (2-26)
simplificando el termino anterior con PP−1 = I, tenemos que:
P−1A(α)′ + P−1K ′B(α)′ + A(α)P−1 +B(α)KP−1 ≺ 0, (2-27)
para finalizar con el proceso y poder tener una forma LMI realizamos cambios de variable
asumiendo W = P−1 y Z = KW . La condicion linealizada es dada por las siguiente LMIs:
WA(α)′ + Z ′B(α)′ + A(α)W +B(α)Z ≺ 0,
W ≻ 0,(2-28)
Como detalles importantes en el momento de disenar un controlador debemos incluir los
criterios de desempeno, localizando los polos es regiones determinadas del semi-plano com-
plejo para poder tener una tasa de decaimiento, y un factor de amortiguamiento del sistema
deseada. En el caso de la tasa de decaimiento, esta es asociada al autovalor con mayor parte
real y puede ser asignada adicionando el termino 2βW adaptado de [13], obteniendo:
WA(α)′ + Z ′B(α)′ + A(α)W +B(α)Z + 2βW ≺ 0,
W ≻ 0,(2-29)
donde β define el polo con mayor parte real.
Para imponer una limitacion del factor de amortiguamiento adaptamos de [13] la siguiente
LMI:[
sinθ (WA(α)′ + Z ′B(α)′ +A(α)W +B(α)Z) cosθ (−WA(α)′ − Z ′B(α)′ +A(α)W +B(α)Z)
cosθ (WA(α)′ + Z ′B(α)′ −A(α)W −B(α)Z) sinθ (WA(α)′ + Z ′B(α)′ +A(α)W +B(α)Z)
]
≺ 0
(2-30)
Los criterios de desempeno son representados en la Figura 2-3
2.5 Realimentacion de estados 15
θ
α Re
Im
Figura 2-3.: Region de ubicacion de polos.
3. Implementacion del Algoritmo IPM
En este capitulo se presenta la metodologıa para la implementacion del algoritmo de metodo
de punto interior basado programacion semidefinida. Uno de los aspectos importantes en
la solucion de este tipo de problemas es llevar cualquier LMI a una representacion patron
en la que esta descrita el problema SDP para primal en (2-4) y dual en (2-5). Para poder
mostrar una metodologıa completa sera evaluada la estabilidad de un sistema aplicando la
condicion de estabilidad asintotica presentada en (2-19). Para llevar una LMI a la forma
patron, verificamos que una LMI F (x) que contiene un unico vector de variables x ∈ Rm
puede ser escrito de la forma:
F (x) , F0 + F1 x1 + · · ·+ Fm xm � 0 (3-1)
Primero definimos los sistemas para los cuales va a ser evaluada la estabilidad. Son definidos
dos sistemas uno estable y otro inestable con el objetivo de observar la convergencia del
algoritmo en cada caso independiente, los sistemas son los siguientes:
Aestable =
[
0 1
−3 −4
]
Ainestable =
[
1 1
−3 −4
]
(3-2)
Para evaluar la estabilidad asintotica dada la desigualdad (2-19) y adoptando la estructura
propuesta en 3-1 obtenemos la siguiente desigualdad:
(A′F1 + F1A)x1 + (A′F2 + F2A)x2 + (A′F3 + F3A)x3 < 0 (3-3)
donde cada Fi, con i = 1, 2, 3 esta definido de la siguiente forma:
X =
[
x1 x2
x2 x3
]
=
[
1 0
0 0
]
x1 +
[
0 1
1 0
]
x2 +
[
0 0
0 1
]
x3 (3-4)
se puede notar que cada una de las matrices Fi mantiene su propiedad de simetrıa para que
la solucion del algoritmo sea factible en el caso de encontrar una solucion.
Para definir las variables del problema presentadas en (2-4) y (2-5) debe ser realizada una
vectorizacion para definir la variable A del problema SDP, para este objetivo es realizada la
vectorizacion para cada restriccion correspondiente a cada variable xi, de la siguiente forma:
A =
nvec(A1)T
...
nvec(Am)T
(3-5)
17
De la forma anterior puede ser incluida cada restriccion, y considerando los sistemas pro-
puestos en (3-2) obtenemos las siguientes matrices que definen las restricciones para cada
caso
nvec(Aestable) =
0 −1 −1 0
6 4 4 −20 3 3 8
nvec(Ainestable) =
−2 −1 −1 0
6 3 3 −20 3 3 8
(3-6)
Como restriccion adicional es necesario imponer que X > 0 lo cual genera una matriz A
adicional y su forma en el espacio nvec, se define como:
nvec(X) =
−1 0 0 0
0 −1 −1 0
0 0 0 −1
(3-7)
Dado que la estructura ya esta definida es posible aplicar el algoritmo 1 presentado a conti-
nuacion:
Algorithm 1 Metodo de IPM Prediccion - Correccion [14]
Entradas: A,b,C,X0 ← Diag(n) ∗ 1, y0, Z0 ← Diag(n) ∗ 1tol ← Criterio de convergencia
Mientras k < 100 Resuelva
(X, y, Z)← (Xk, yk, Zk);
Etapa de Prediccion
u = 0, Calcular (∆X,∆y,∆Z);
θ ← Calcular el tamano del paso
X = X + θ∆X , y = y + θ∆y, Z = Z + θ∆Z ;
u← (X • Z)/n;Calcular tol;
Si tol < 10−6 Entonces
Retorna (Xk+1, yk+1, Zk+1)← (Xk, yk, Zk)
Fin Si
Etapa de Correccion
Calcular (∆X,∆y,∆Z);
θ ← 1
X = X + θ∆X , y = y + θ∆y, Z = Z + θ∆Z ;
(Xk+1, yk+1, Zk+1)← (Xk, yk, Zk);
Actualizar rp y rd;
Calcular tol;
Si tol < 10−6 Entonces
Retorna (Xk+1, yk+1, Zk+1)← (Xk, yk, Zk)
Fin Si
Fin Mientras
3.1 Resultados de implementacion 18
3.1. Resultados de implementacion
Despues de haber aplicado el algoritmo 1, se presenta el resultado para cada sistema definido
en 3-2. El algoritmo proporciona una matriz X definida simetrica, definida para los dos casos
como:
Xestable =
[
1,1654 0,1664
0,1664 0,1666
]
Xinestable =
[
5,7684 1,3421
1,3421 0,3123
]
× 106 (3-8)
para verificar que las restricciones impuestas, verificamos la positividad de la matrizX(estable,inestable)
realizando el calculo de los autovalores, los cuales son:
eig(Xestable) =
[
0,1396
1,1924
]
eig(Xinestable) =
[
−1,02776,0807× 106
]
(3-9)
Se puede notar que la matriz Xinestable no cumple con la definicion de positividad de la matriz
y no sera considerada para la verificacion de la LMI correspondiente a (2-19). Considerando
Xestable es verificada que la LMI 2-19), es definida como:
[
0 1
−3 −4
]′ [
1,1654 0,1664
0,1664 0,1666
]
+
[
1,1654 0,1664
0,1664 0,1666
] [
0 1
−3 −4
]
< 0 (3-10)
sea definida negativa que corresponde a la condicion de estabilidad, Ahora es verificada la
LMI definida en (3-10) sea definida negativa como corresponde en la condicion de estabilidad,
los autovalores son los siguientes:
eig(LMIestable) =
[
−0,9996−0,9986
]
(3-11)
De esta manera son verificadas las dos LMIs solucionadas a traves del metodo de optimizacion
IPM. La convergencia del metodo revela cuando existe una solucion factible como se muestra
en la Tabla 3-1
Tabla 3-1.: Convergencia del Algoritmo 1 considerando un limite de iteraciones de 100.
Iteraciones Tiempo Solucion
Aestable 13 0.049 s Factible
Ainestable 100 0.2688 s Infactible
4. Modelo dinamico pendulo invertido
doble
4.1. Pendulo invertido doble
Para la definicion del modelo matematico es preciso entender cuales son las variables que
seran utilizadas en el modelado, observando las caracterısticas del sistema que posee 3 grados
de libertad, y cada una de sus articulaciones tiene un movimiento rotacional; por este motivo
son definidas posiciones y velocidades angulares relacionadas en la siguiente expresion:
θ(t) = Posicion angular del motor de la base giratoria
α(t) = Posicion angular del primer enlace
φ(t) = Posicion angular del segundo enlace
θ(t) = Velocidad angular del motor de la base giratoria
α(t) = Velocidad angular del primer enlace
φ(t) = Velocidad angular del segundo enlace
(4-1)
En la Figura 4-1 el pivote del brazo giratorio se adjunta al sistema SRV02 y corresponde al
actuador de la plata. El brazo tiene una longitud de Lr, un momento de inercia de Jr, y su
angulo, θ . El pendulo inferior de tamano corto tiene una longitud total de Lp1 y un centro
de masa de lp1. El momento de inercia alrededor de su centro de masa es Jp1 y tiene una
masa de Mp1. El pendulo de tamano mediano superior tiene una longitud total de Lp2, un
centro de masa de lp2, un momento de inercia de Jp2 y una masa de Mp2. La bisagra entre
los dos pendulos tiene una masa de Mh.
4.1 Pendulo invertido doble 20
Figura 4-1.: Convenciones de pendulo invertido doble basado en [1].
4.1.1. Transformacion de coordenadas
Primero son presentadas las matrices de transformacion que proporcionan las posiciones
absolutas del pendulo en relacion con la base del motor. La base de coordenadas desde la
base hasta la punta del brazo es T01, y se define como:
T01 =
cos(θ(t)) − sin(θ(t)) 0 Lr cos(θ(t))
sin(θ(t)) cos(θ(t)) 0 Lr sin(θ(t))
0 0 1 0
0 0 0 1
(4-2)
La transformacion de coordenadas desde la punta del brazo hasta el centro de masa del
enlace 1 es T12 y esta definida como:
T12 =
1 0 0 0
0 cos(α(t)) − sin(α(t)) −lp1 sin(α(t))0 sin(α(t)) cos(α(t)) lp1 cos(α(t))
0 0 0 1
(4-3)
4.1 Pendulo invertido doble 21
La transformacion de coordenadas desde la punta del brazo hasta la bisagra es T1h y esta
definida como:
T1h =
1 0 0 0
0 cos(α(t)) − sin(α(t)) −Lp1 sin(α(t))
0 sin(α(t)) cos(α(t)) Lp1 cos(α(t))
0 0 0 1
(4-4)
La transformacion de coordenadas desde la bisagra al centro de masa del enlace 2 es Th3 y
esta definida como:
Th3 =
1 0 0 0
0 cos(φ(t)) − sin(φ(t)) −lp2 sin(φ(t))0 sin(φ(t)) cos(φ(t)) lp2 cos(φ(t))
0 0 0 1
(4-5)
La transformacion de coordenadas desde centro de masa del enlace 1 relativo a la coordenada
base es T02 = T01T12 y esta definida como:
T02 =
cos(θ(t)) − sin(θ(t)) cos(α(t)) sin(θ(t)) sin(α(t)) sin(θ(t))lp1 sin(α(t)) + Lr cos(θ(t))
sin(θ(t)) cos(θ(t)) cos(α(t)) − cos(θ(t)) sin(α(t)) − cos(θ(t))lp1 sin(α(t)) + Lr sin(θ(t))
0 sin(α(t)) cos(α(t)) lp1 cos(α(t))
0 0 0 1
(4-6)
La transformacion de coordenadas desde la bisagra a la coordenada de la base es T0h = T01T1h
y esta definida como:
T0h =
cos(θ(t)) − sin(θ(t)) cos(α(t)) sin(θ(t)) sin(α(t)) sin(θ(t))Lp1 sin(α(t)) + Lr cos(θ(t))
sin(θ(t)) cos(θ(t)) cos(α(t)) − cos(θ(t)) sin(α(t)) − cos(θ(t))Lp1 sin(α(t)) + Lr sin(θ(t))
0 sin(α(t)) cos(α(t)) Lp1 cos(α(t))
0 0 0 1
(4-7)
La transformacion de coordenadas desde el centro de masa del enlace 2 relativo a la coorde-
nada de la base es T03 = T0hTh3 y esta definida como:
T03 =
cos(θ(t)) t12 t13 t14sin(θ(t)) t22 t23 t24
0 t32 t33 t340 0 0 1
(4-8)
con
t12 = − sin(θ(t)) cos(α(t)) cos(φ(t)) + sin(θ(t)) sin(α(t)) sin(φ(t))
t13 = sin(θ(t)) cos(α(t)) sin(φ(t)) + sin(θ(t)) sin(α(t)) cos(φ(t))
t14 = sin(θ(t)) cos(α(t))lp2 sin(φ(t)) + sin(θ(t)) sin(α(t))lp2 cos(φ(t)) + sin(θ(t))Lp1 sin(α(t)) + Lr cos(θ(t))
t22 = cos(θ(t)) cos(α(t)) cos(φ(t)) − cos(θ(t)) sin(α(t)) sin(φ(t))
t23 = − cos(θ(t)) cos(α(t)) sin(φ(t)) − cos(θ(t)) sin(α(t)) cos(φ(t))
t24 = − cos(θ(t)) cos(α(t))lp2 sin(φ(t)) − cos(θ(t)) sin(α(t))lp2 cos(φ(t)) − cos(θ(t))Lp1 sin(α(t)) + Lr sin(θ(t))
t32 = sin(α(t)) cos(φ(t)) + cos(α(t)) sin(φ(t))
t33 = − sin(α(t)) sin(φ(t)) + cos(α(t)) cos(φ(t))
t34 = − sin(α(t))lp2 sin(φ(t)) + cos(α(t))lp2 cos(φ(t)) + Lp1 cos(α(t))
(4-9)
4.1 Pendulo invertido doble 22
Las coordenadas cartesianas generalizadas del pendulo son definidas para las siguientes re-
laciones:
Posicion cartesiana de la punta del brazo
x1 = Lr cos(θ(t))
y1 = Lr sin(θ(t))
z1 = 0
(4-10)
Posicion cartesiana del centro de masa al enlace 1
x2 = sin(θ(t))lp1 sin(α(t)) + Lr cos(θ(t))
y2 = − cos(θ(t))lp1 sin(α(t)) + Lr sin(θ(t))
z2 = lp1 cos(α(t))
(4-11)
Posicion cartesiana del centro de masa de bisagra
xh = sin(θ(t))Lp1 sin(α(t)) + Lr cos(θ(t))
yh = − cos(θ(t))Lp1 sin(α(t)) + Lr sin(θ(t))
zh = Lp1 cos(α(t))
(4-12)
Posicion cartesiana del centro de masa al enlace 2
x3 = sin(θ(t)) cos(α(t))lp2 sin(φ(t)) + sin(θ(t)) sin(α(t))lp2 cos(φ(t))+
sin(θ(t))Lp1 sin(α(t)) + Lr cos(θ(t))
y3 = − cos(θ(t)) cos(α(t))lp2 sin(φ(t))− cos(θ(t)) sin(α(t))lp2 cos(φ(t))−cos(θ(t))Lp1 sin(α(t)) + Lr sin(θ(t))
z3 = − sin(α(t))lp2 sin(φ(t)) + cos(α(t))lp2 cos(φ(t)) + Lp1 cos(α(t))
(4-13)
4.1 Pendulo invertido doble 23
Las velocidades asociadas a cada una de las posiciones se definen como la derivada con
respecto al tiempo, como se definen a continuacion
x1 = −Lr sin(θ(t)) ˙θ(t)
y1 = Lr cos(θ(t)) ˙θ(t)
z1 = 0
x2 = cos(θ(t))θ(t)lp1 sin(α(t)) + sin(θ(t))lp1 cos(α(t))α(t)− Lr sin(θ(t))θ(t)
y2 = sin(θ(t))θ(t)lp1 sin(α(t))− cos(θ(t))lp1 cos(α(t)) ∗ α(t) + Lr cos(θ(t))θ(t)
z2 = −lp1 sin(α(t))α(t)xh = cos(θ(t))θ(t)Lp1 sin(α(t)) + sin(θ(t))Lp1 cos(α(t))α(t)− Lr sin(θ(t))θ(t)
yh = sin(θ(t))θ(t)Lp1 sin(α(t))− cos(θ(t))Lp1 cos(α(t))α(t) + Lr cos(θ(t))θ(t)
zh = −Lp1 sin(α(t))α(t)
x3 = cos(θ(t))θ(t) cos(α(t))lp2 sin(φ(t))− sin(θ(t)) sin(α(t))α(t)lp2 sin(φ(t))+
sin(θ(t)) cos(α(t))lp2 cos(φ(t))φ(t) + cos(θ(t))θ(t) sin(α(t))lp2 cos(φ(t))+
sin(θ(t)) cos(α(t))α(t)lp2] cos(φ(t))− sin(θ(t)) sin(α(t))lp2 sin(φ(t))φ(t)+
cos(θ(t))θ(t)Lp1 sin(α(t)) + sin(θ(t))Lp1 cos(α(t))α(t)− Lr sin(θ(t))θ(t)
y3 = sin(θ(t))θ(t) cos(α(t))lp2 sin(φ(t)) + cos(θ(t)) sin(α(t))α(t)lp2 sin(φ(t))−cos(θ(t)) cos(α(t))lp2 cos(φ(t))φ(t) + sin(θ(t))θ(t) sin(α(t))lp2 cos(φ(t))−cos(θ(t)) cos(α(t))α(t)lp2 cos(φ(t)) + cos(θ(t)) sin(α(t))lp2 sin(φ(t))φ(t)+
sin(θ(t))θ(t)Lp1 sin(α(t))− cos(θ(t))Lp1 cos(α(t))α(t) + Lr cos(θ(t))θ(t)
z3 = − cos(α(t))α(t)lp2 sin(φ(t))− sin(α(t))lp2 cos(φ(t))φ(t)−sin(α(t))α(t)lp2 cos(φ(t))− cos(α(t))lp2 sin(φ(t))φ(t)− Lp1] sin(α(t))α(t)
(4-14)
Definidas cada una de las posiciones y velocidades absolutas pueden ser consideradas en el
calculo de las energıas cineticas y potenciales, lo cual se define a continuacion.
4.1.2. Modelado por Euler-Lagrange
Para obtener el modelo que describe el comportamiento de la planta es utilizado el metodo
de Lagrange para encontrar las ecuaciones de movimiento del sistema, este metodo se utiliza
a menudo para sistemas mas complicados, como manipuladores de robots con multiples ar-
ticulaciones. La ecuacion de Euler-Lagrange permite obtener la dinamica de las ecuaciones
que describen los movimientos rotacionales del brazo giratorio y el pendulo con respecto a
la tension del servomotor.
Inicialmente es calculado el Lagrangiano, el cual es definido por la diferencia entre la energıa
potencial y la energıa cinetica, como se describe a continuacion:
L = T − U (4-15)
4.1 Pendulo invertido doble 24
La energıa potencial total del sistema VT es unicamente definida por la energıa gravitacional
del sistema, es definida como:
Vg = Vg1 + Vgh + Vg2 (4-16)
donde Vg1 es la energıa potencial del centro de masa en el enlace 1, Vgh es la energıa potencial
de la bisagra, Vg2 es la energıa potencial del centro de masa en el enlace 2, cada una de estas
variables son definidas como:
Vg1 = mp1glp1 cos(α(t))
Vgh = mhgLp1 cos(α(t))
Vg2 = mp2g(− sin(α(t))lp2 sin(φ(t)) + cos(α(t))lp2 cos(φ(t)) + Lp1 cos(α(t)))
(4-17)
La energıa potencial total del sistema se define como
VT = mp1glp1] cos(α(t)) +mh]gLp1] cos(α(t)) +mp2]g(− sin(α(t))lp2 sin(φ(t))+
cos(α(t))lp2 cos(φ(t)) + Lp1 cos(α(t)))(4-18)
La energıa cinetica total se puede expresar en terminos de las coordenadas generalizadas y
sus primeras derivadas, definimos ası la energıa cinetica total como:
TT = Tr1 + Tr2 + Tr3 + T t1 + T t2 + T th + T t3 (4-19)
Cada una de las variables que compone la energıa cinetica total son definidas a continuacion
Energıa cinetica debido a la rotacion del brazo
Tr1 =
(
1
2
)
Jrθ(t)2 (4-20)
Energıa cinetica de rotacion del enlace 1
Tr2 = 0 (4-21)
Energıa cinetica de rotacion del enlace 2
Tr3 = 0 (4-22)
Energıa cinetica de traslacion del enlace 1
T t2 =
(
1
2
)
mp1((cos(θ(t))θ(t)lp1 sin(α(t)) + sin(θ(t))lp1 cos(α(t))α(t)−
Lr sin(θ(t))θ(t))2 + (sin(θ(t))θ(t)lp1 sin(α(t))− cos(θ(t))lp1
cos(α(t))α(t) + Lr cos(θ(t))θ(t))2 + l2p1 sin(α(t))
2α(t)2)
(4-23)
4.1 Pendulo invertido doble 25
Posicion cartesiana del centro de masa al enlace 2
T th =
(
1
2
)
mh((cos(θ(t)))θ(t)Lp1 sin(α(t))) + sin(θ(t)))L[p1] cos(α(t)))α(t)−
Lr sin(θ(t)))θ(t))2 + (sin(θ(t)))θ(t)Lp1 sin(α(t)))− cos(θ(t)))Lp1
cos(α(t)))α(t) + Lr cos(θ(t)))θ(t))2 + L2
p1 sin(α(t)))2α(t)2)
(4-24)
Energıa cinetica de traslacion del enlace 2
T t3 =
(
1
2
)
mp2((cos(θ(t)))θ(t) cos(α(t)))lp2 sin(φ(t)))− sin(θ(t))) sin(α(t)))
α(t)lp2 sin(φ(t))) + sin(θ(t))) cos(α(t)))lp2 cos(φ(t)))φ(t) + cos(θ(t)))θ(t)
sin(α(t)))lp2 cos(φ(t))) + sin(θ(t))) cos(α(t)))α(t)lp2 cos(φ(t)))− sin(θ(t)))
sin(α(t)))lp2 sin(φ(t)))φ(t) + cos(θ(t)))θ(t)Lp1 sin(α(t))) + sin(θ(t)))Lp1
cos(α(t)))α(t)− Lr sin(θ(t)))θ(t))2 + (sin(θ(t)))θ(t) cos(α(t)))lp2
sin(φ(t))) + cos(θ(t))) sin(α(t)))α(t)lp2 sin(φ(t)))− cos(θ(t))) cos(α(t)))lp2
cos(φ(t)))φ(t) + sin(θ(t)))θ(t) sin(α(t)))lp2 cos(φ(t)))− cos(θ(t))) cos(α(t)))
α(t)lp2 cos(φ(t))) + cos(θ(t))) sin(α(t)))lp2 sin(φ(t)))φ(t) + sin(θ(t)))θ(t)
Lp1 sin(α(t)))− cos(θ(t)))Lp1 cos(α(t)))α(t) + Lr cos(θ(t)))θ(t))2+
(− cos(α(t)))α(t)lp2 sin(φ(t)))− sin(α(t)))lp2 cos(φ(t)))φ(t)− sin(α(t)))
α(t)lp2 cos(φ(t)))− cos(α(t)))lp2 sin(φ(t)))φ(t)− Lp1 sin(α(t)))α(t))2)
(4-25)
La energıa cinetica total se define considerando las variables definidas anteriormente, y se
define como:
T = h1 − h2 + h3 + h4 − h5 + h6 + h7 + h8 − h9 + h10 + h11 (4-26)
4.1 Pendulo invertido doble 26
h1 = T t1 +
(
1
2
)
Jrθ(t)2 −
(
1
2
)
cos(α(t))2θ(t)2L2p1mh −
(
1
2
)
cos(α(t))2θ(t)2L2p1mp2
h2 =
(
1
2
)
cos(α(t))2θ(t)2L2p1mp1 +
(
1
2
)
θ(t)2 cos(φ(t))2l2p2mp2 +
(
1
2
)
θ(t)2 cos(α(t))2l2p2mp2
h3 = α(t)φ(t)l2p2mp2 − cos(α(t))2 cos(φ(t))2θ(t)2l2p2mp2 + α(t)2 cos(φ(t))Lp1lp2mp2
h4 = θ(t)2 cos(φ(t))Lp1lp2mp2 − cos(α(t))2 cos(φ(t))θ(t)2Lp1lp2mp2 + cos(φ(t))α(t)φ(t)Lp1lp2mp2
h5 = cos(α(t))α(t)θ(t)Lp1Lrmh − cos(α(t))α(t)θ(t)Lp1Lrmp2 − cos(α(t))α(t)θ(t)LrLp1mp1
h6 =
(
1
2
)
α(t)2L2p1mh +
(
1
2
)
α(t)2L2p1mp2 +
(
1
2
)
α(t)2L2p1mp1 +
(
1
2
)
θ(t)2L2rmh
h7 =
(
1
2
)
θ(t)2L2rmp1 +
(
1
2
)
θ(t)2L2rmp2 +
(
1
2
)
θ(t)2L2p1mh +
(
1
2
)
θ(t)2L2p1mp2
h8 =
(
1
2
)
θ(t)2L2p1mp1 +
(
1
2
)
α(t)2l2p2mp2 +
(
1
2
)
φ(t)2l2p2mp2
h9 = cos(α(t)) cos(φ(t))α(t)θ(t)Lrlp2mp2 − cos(α(t)) cos(φ(t))φ(t)θ(t)Lrlp2mp2
h10 = sin(α(t)) sin(φ(t))φ(t)θ(t)Lrlp2mp2 + θ(t)2 cos(α(t)) sin(α(t)) sin(φ(t)) cos(φ(t))l2p2mp2
h11 = θ(t)2 cos(α(t)) sin(α(t)) sin(φ(t))Lp1lp2mp2 + sin(α(t)) sin(φ(t))α(t)θ(t)Lrlp2mp2
(4-27)
Las ecuaciones de Euler-Lagrange pueden ser definidas para N grados de libertad partiendo
de la construccion previa del Lagrangiano L, las ecuaciones de Lagrange pueden ser escritas
como:
∂
∂t
(
∂
∂qiL
)
−(
∂
∂qiL
)
= Qi para i = 1, . . . , N (4-28)
donde Qi son combinaciones de fuerzas externas y llamadas fuerzas generalizadas, qi, . . . , qNson N coordenadas independientes que describen el sistema y son llamadas coordenadas
generalizadas.
La construccion de la ecuacion (4-28) para el primer grado de libertad, es definida como:
h12 + h13 + h14 + h15 + h16 + h17 + h18 + h19 − h20 − h21−h22 − h23 − h24 + h25 − h26 − h27 − h28 + h29+
h30 + h31 + h32 + h33 − h34 − h35 = −Br θ(t) + U1 (4-29)
Considerando los coeficientes definidos en (4-30), fueron segmentadas las ecuaciones con el
4.1 Pendulo invertido doble 27
objetivo de dar legibilidad al texto y organizacion, definidos a continuacion:
h12 = (sin(α(t)) cos(φ(t))Lrlp2mp2 + cos(α(t)) sin(φ(t))Lrlp2mp2
h13 = sin(α(t))Lp1Lrmh + sin(α(t))Lp1Lrmp2 + sin(α(t))Lrlp1mp1)α(t)2
h14 = ((2 sin(α(t)) cos(φ(t))Lrlp2mp2 + 2 cos(α(t)) sin(φ(t))Lrlp2mp2)φ(t)
h15 = (4 sin(α(t)) cos(α(t)) cos(φ(t))2l2p2mp2
h16 = 4 cos(α(t))2 sin(φ(t)) cos(φ(t))l2p2mp2
h17 = 4 sin(α(t)) cos(α(t)) cos(φ(t))Lp1lp2mp2
h18 = 4 cos(α(t))2 sin(φ(t))Lp1lp2mp2 + 2 sin(α(t)) cos(α(t))L2p1mh
h19 = 2 sin(α(t)) cos(α(t))L2p1mp2 + 2 sin(α(t)) cos(α(t))l2p1mp1
h20 = 2 sin(α(t)) cos(α(t))l2p2mp2 − 2 sin(φ(t)) cos(φ(t))l2p2mp2
h21 = 2 sin(φ(t))Lp1lp2mp2)θ(t))α(t) + (sin(α(t)) sin(φ(t))Lrlp2mp2
h22 = cos(α(t)) cos(φ(t))Lrlp2mp2 − cos(α(t))Lp1Lrmh − cos(α(t))Lp1Lrmp2
h23 = cos(α(t))Lrlp1mp1)α(t) + (sin(α(t)) sin(φ(t))Lrlp2mp2
h24 = cos(α(t)) cos(φ(t))Lrlp2mp2)φ(t)
h25 = (2 sin(α(t)) cos(α(t)) sin(φ(t)) cos(φ(t))l2p2mp2
h26 = 2 cos(α(t))2 cos(φ(t))2l2p2mp2 + 2 sin(α(t)) cos(α(t)) sin(φ(t))Lp1lp2mp2
h27 = 2 cos(α(t))2 cos(φ(t))Lp1lp2mp2 − cos(α(t))2L2p1mh − cos(α(t))2L2
p1mp2
h28 = cos(α(t))2l2p1mp1 + cos(α(t))2l2p2mp2 + cos(φ(t))2l2p2mp2
h29 = 2 cos(φ(t))Lp1lp2mp2 + L2p1mh + L2
p1mp2 + L2rmh + L2
rmp1 + L2rmp2
h30 = l2p1mp1 + Jr)θ(t) + (sin(α(t)) cos(φ(t))Lrlp2mp2
h31 = cos(α(t)) sin(φ(t))Lrlp2mp2)φ(t)2 + (4 sin(α(t)) cos(α(t)) cos(φ(t))2l2p2mp2
h32 = 4 cos(α(t))2 sin(φ(t)) cos(φ(t))l2p2mp2
h33 = 2 sin(α(t)) cos(α(t)) cos(φ(t))Lp1lp2mp2 + 2 cos(α(t))2 sin(φ(t))Lp1lp2mp2
h34 = 2 sin(α(t)) cos(α(t))l2p2mp2 − 2 sin(φ(t)) cos(φ(t))l2p2mp2
h35 = 2 sin(φ(t))Lp1lp2mp2)θ(t)φ(t)
(4-30)
para el segundo grado de libertad, es definida como:
h36 + h37 + h38 − h39 − h40 − h41 − h42 − h43−h44 + h45 + h46 − h47 − h48 = −Bp1 ∗ α(t) (4-31)
Considerando los coeficientes definidos en (4-32), definidos a continuacion:
4.1 Pendulo invertido doble 28
h36 = −2α(t) sin(φ(t))φ(t)Lp1lp2mp2 + (2 cos(φ(t))Lp1lp2mp2 + L2p1mh + L2
p1mp2
h37 = l2p1mp1 + l2p2mp2)α(t) + (cos(φ(t))Lp1lp2mp2 + l2p2mp2)φ(t)
h38 = (sin(α(t)) sin(φ(t))Lrlp2mp2 − cos(α(t)) cos(φ(t))Lrlp2mp2
h39 = cos(α(t))Lp1Lrmh − cos(α(t))Lp1Lrmp2 − cos(α(t))Lrlp1mp1)θ(t)
h40 = sin(φ(t))φ(t)2Lp1lp2mp2 + (−2 sin(α(t)) cos(α(t)) cos(φ(t))2l2p2mp2
h41 = 2 cos(α(t))2 sin(φ(t)) cos(φ(t))l2p2mp2
h42 = 2 sin(α(t)) cos(α(t)) cos(φ(t))Lp1lp2mp2
h43 = 2 cos(α(t))2 sin(φ(t))Lp1lp2mp2 − sin(α(t)) cos(α(t))L2p1mh
h44 = sin(α(t)) cos(α(t))L2p1mp2 − sin(α(t)) cos(α(t))l2p1mp1
h45 = sin(α(t)) cos(α(t))l2p2mp2 + sin(φ(t)) cos(φ(t))l2p2mp2
h46 = sin(φ(t))Lp1lp2mp2)θ(t)2 − sin(α(t)) cos(φ(t))glp2mp2
h47 = cos(α(t)) sin(φ(t))glp2mp2 −mhgLp1 sin(α(t))− sin(α(t))gLp1mp2
h48 = mp1glp1 sin(α(t))
(4-32)
para el tercer grado de libertad, es definida como:
h49 + h50 − h51 − h52 − h53 + h54 = −Bp2φ(t) (4-33)
Considerando los coeficientes definidos en (4-34), definidos a continuacion:
h49 = sin(φ(t))Lp1lp2mp2α(t)2 + lp2mp2(cos(φ(t))Lp1
h50 = lp2)α(t) + φ(t)l2p2mp2 + lp2mp2(sin(α(t)) sin(φ(t))Lr
h51 = cos(α(t)) cos(φ(t))Lr)θ(t) + lp2mp2(−2 sin(α(t)) cos(α(t)) cos(φ(t))2lp2h52 = 2 cos(α(t))2 sin(φ(t)) cos(φ(t))lp2 − sin(α(t)) cos(α(t)) cos(φ(t))Lp1
h53 = cos(α(t))2 sin(φ(t))Lp1 + sin(α(t)) cos(α(t))lp2 + sin(φ(t)) cos(φ(t))lp2
h54 = sin(φ(t))Lp1)θ(t)2 + lp2mp2(− sin(α(t)) cos(φ(t))g − cos(α(t)) sin(φ(t))g)
(4-34)
La tabla de parametros de la planta fısica se definen en la tabla 4-1
4.1 Pendulo invertido doble 29
Tabla 4-1.: Parametros fısicos del pendulo invertido doble.
Parametro Sımbolo Valor
Masa del enlace 1 Mp1 0,26 kg
Masa del enlace 2 Mp2 0,13 kg
Masa del brazo de la base Mr 0,097 kg
Longitud del enlace 1 Lp1 0,34 m
Longitud del enlace 2 Lp2 0,2 m
Longitud de la base Lr 0,22 m
Momento de inercia del enlace 1 Jp1 0,0012 kg.m2
Momento de inercia del enlace 2 Jp2 3,2341x10−4 kg.m2
Momento de inercia de la base Jr 9,9829x10−4 kg.m2
Coeficiente de viscosidad en el eje del enlace 1 Dp1 0,0024 N.m.s/rad
Coeficiente de viscosidad en el eje del enlace 2 Dp2 0,0024 N.m.s/rad
Coeficiente de viscosidad en la base Dr 0,0024 N.m.s/rad
Longitud del centro de masa del enlace 1 lp1 0,0619 m
Longitud del centro de masa del enlace 2 lp2 0,1556 m
Longitud del centro de masa de la base lr 0,1635 m
Gravedad g 9,81 m/s2
4.1.3. Analisis no lineal
Los sistemas no lineales presentan una caracterıstica importante que es poseer multiples
puntos de equilibro pueden ser dados en una vecindad o puntos aislados, que es diferente a
los sistemas lineales dado que solo tienen un punto de equilibrio. Los puntos de equilibrio
pueden ser estable o asintoticamente estable, y dada su condicion inicial converge a un punto
de equilibrio, o por el contrario no converge en el caso de no presentar estabilidad asintotica.
Para encontrar los puntos de equilibrio del sistema, se consideran las ecuaciones (4-33), (4-
31) y (4-29), para las cuales es calculada la solucion no lineal y es expresada en terminos de
las variables θ(t), α(t), φ(t), θ(t), α(t), φ(t). Para fines practicos es presentado el sistemas
de ecuaciones donde ya fue reemplazado valores de los parametros de la planta considerando
la Tabla 4-1. El sistema con los siguientes puntos de equilibrio:
4.1 Pendulo invertido doble 30
θ(t)
α(t)
φ(t)
θ(t)
α(t)
φ(t)
=
0
0
180◦
0
0
0
,
0
180◦
0
0
0
0
,
0
0
0
0
0
0
,
(4-35)
Debemos considerar los siguientes puntos de equilibrio para realizar la linealizacion alrededor
de ese punto de operacion, sin embargo se debe tener en cuenta que uno de los puntos de
equilibrio por construccion fısica del pendulo invertido doble el angulo φ es imposible que
pueda rotar a un angulo 180◦.
4.1.4. Linealizacion
Los sistemas lineales son aquellos que tienen que cumplir propiedades importantes como la
superposicion y la homogeneidad. Para las ecuaciones (4-29), (4-31) y (4-33) que muestra
la dinamica del sistema para cada coordenada generalizada, describen un comportamiento
no lineal y en el caso del pendulo invertido doble presenta un comportamiento caotico.
Para la aplicacion de la tecnica de control presentada en este trabajo debe ser linelizada su
dinamica en torno de un punto de operacion. Para este objetivo es presentada la funcion de
linealizacion, definida como
F = f(z0) +
(
∂f(z)
∂z1
)∣
∣
∣
∣
z=z0
(z1 − a) +
(
∂f(z)
∂z2
)∣
∣
∣
∣
z=z0
(z2 − b) (4-36)
Despues de ser aplicada la linealizacion considerando un punto de equilibrio [0, 0, 0, 0, 0, 0]
que fue definido en la ecuacion (4-35), y es representado en el espacio de estados
x(t) = Ax(t) +Bu(t),
y(t) = Cx(t)(4-37)
Donde las variables de estado son definidas como:
xT =[
θ α φ θ α φ]
(4-38)
y el vector de salidas corresponde a las posiciones angulares
yT =[
x1 x2 x3
]
(4-39)
4.1 Pendulo invertido doble 31
Despues de realizar la linealizacion las matrices de estado son definidas, como:
A =
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
0 a42−Mp1lp1LrMp2g(−lp1+Lp1)
JT
−Dr(MhL2
p1+Mp1l2p1)
JTa45 a46
0 a52−Mp2g(−L2
rlp1Mp1+Lp1L2rMp1+JrLp1)
JT
−DrLr(MhLp1+Mp1lp1)
JTa55 a56
0 a62 a63 a64 a65 a66
(4-40)
definiendo los coeficientes como:
a42 = Lrg(M2p1l
2p1 + 2Mp1lp1MhLp1 +MhL
2p1Mp2 +Mp1 ∗ l2p1Mp2 +M2
hL2p1)
a45 = −LrDp1(MhLp1 +Mp1lp1)/JT
a46 = LrDp2(−Mp1l2p1 +Mp1lp1lp2 +MhLp1lp2 +Mp1lp1Lp1)/lp2JT
a52 = g(L2rlp1Mp1Mp2 + Lp1L
2rMhMp2 + Lp1L
2rM
2h + L2
rlp1M2p1 + JrLp1Mh + Jrlp1Mp1+
Lp1L2rMhMp1 + L2
rlp1MhMp1)/JT
a55 = −Dp1(Jr +Mp1L2r +MhL
2r)/JT
a56 = Dp2(Jrlp2 + JrLp1 − L2rlp1Mp1 + Lp1L
2rMp1 + L2
rlp2Mh + L2rlp2Mp1)/lp2JT
a62 = −g/lp2(Lp1L2rlp1M
2p1 + Lp1L
2rlp2MhMp1 + L2
rlp1lp2MhMp1 + Lp1L2rlp2M
2h+
L2rlp1lp2M
2p1 −Mp1l
2p1L
2rMp2 + L2
rlp1lp2Mp1Mp2 + Lp1L2rlp2MhMp2 + JrLp1lp2Mh+
Jrlp1lp2Mp1 −Mp1l2p1Jr + Lp1Jrlp1Mp1 −Mp1l
2p1MhL
2r + L2
rLp1Mp2Mp1lp1+
Mp1lp1L2rMhLp1 − L2
rM2p1l
2p1)/JT
a63 = g/lp2(JrLp1lp2Mp2 + JrL2p1Mp2 + L2
p1L2rMp1Mp2 +Mp1l
2p1L
2rMp2 + Lp1L
2rlp2Mp1Mp2−
L2rlp1lp2Mp1Mp2 +Mp1l
2p1Jr +MhL
2p1Jr +MhL
2p1Mp1L
2r +Mp1l
2p1MhL
2r−
2L2rLp1Mp2Mp1lp1 − 2Mp1lp1L
2rMhLp1)/JT
a64 = DrLr/lp2(−Mp1l2p1 +Mp1lp1lp2 +MhLp1lp2 +Mp1lp1Lp1)/JT
a65 = Dp1/lp2(Jrlp2 + JrLp1 − L2rlp1Mp1 + Lp1L
2rMp1 + L2
rlp2Mh + L2rlp2Mp1)/JT
a66 = −Dp2(−2L2rLp1Mp2Mp1lp1 − 2Mp1lp1L
2rMhLp1 + 2Lp1L
2rlp2Mp1Mp2 + JrL
2p1Mp2+
Mp2Jrl2p2 +MhL
2p1Jr +Mp1l
2p1Jr + 2JrLp1lp2Mp2 − 2L2
rlp1lp2Mp1Mp2+
MhL2p1Mp1L
2r +Mp1l
2p1MhL
2r +Mp1l
2p1L
2rMp2 + L2
p1L2rMp1Mp2 +Mp2L
2rl
2p2Mh+
Mp2Lr2l2p2Mp1)/l
2p2JTMp2
(4-41)
4.1 Pendulo invertido doble 32
la matriz de entrada, se define como:
B =
0
0
0
(MhL2p1 +Mp1l
2p1)/JT
Lr(MhLp1 +Mp1lp1)/JT
−Lr/lp2(−Mp1l2p1 +Mp1lp1lp2 +MhLp1lp2 +Mp1lp1Lp1)/JT
(4-42)
la matriz de salidas del sistemas, se define como:
C =
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
(4-43)
por ultimo la matriz de transferencia directa entre la entrada y la salida, se define como:
D =
0
0
0
(4-44)
Considerando la tabla 4-1 de parametros y calculando las matrices de estado con las ecua-
ciones (4-40), (4-42), (4-43) y (4-44), obtenemos los siguientes matrices:
A1 =
0 0 0 1,0000 0 0
0 0 0 0 1,0000 0
0 0 0 0 0 1,0000
0 290,8388 −15,8492 −18,5542 −0,7514 0,9959
0 256,2284 −28,8925 −14,1375 −0,6985 1,1442
0 −339,5954 127,4288 18,7373 1,1442 −3,1098
(4-45)
B1 =
0
0
0
84,9910
64,7595
−85,8298
(4-46)
para poder generar los vertices del politopo que describe la region convexa, es linealizado
en otros puntos de operacion cercanos al punto de equilibrio definido anteriormente. Para
el siguiente vertice tenemos la linealizacion en el punto de operacion φ = 5◦ y tiene las
4.1 Pendulo invertido doble 33
siguientes matrices de estado
A2 =
0 0 0 1,0000 0 0
0 0 0 0 1,0000 0
0 0 0 0 0 1,0000
0 293,3731 −16,0550 −0,9946 −0,7584 1,0070
0 258,3396 −29,1310 −0,7584 −0,7048 1,1559
0 −343,0267 127,8047 1,0070 1,1559 −3,1349
(4-47)
B2 =
0
0
0
414,4317
315,9997
−419,5886
(4-48)
y por ultimo para el tercer vertice tenemos la linealizacion en el punto de operacion φ = 10◦
y tiene las siguientes matrices de estado
A3 =
0 0 0 1,0000 0 0
0 0 0 0 1,0000 0
0 0 0 0 0 1,0000
0 301,0140 −16,6633 −1,0203 −0,7796 1,0410
0 264,7275 −29,8317 −0,7796 −0,7240 1,1917
0 −353,4735 128,8982 1,0410 1,1917 −3,2118
(4-49)
B3 =
0
0
0
425,1238
324,8417
−433,7403
(4-50)
Con una matriz de salida definida para las tres operaciones de linealizacion definida como :
C =
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
(4-51)
la representacion grafica en el lugar geometrico de las raıces del sistema politopico descrito
anteriormente genera el siguiente conjunto de autovalores:
4.1 Pendulo invertido doble 34
-25 -20 -15 -10 -5 0 5 10 15
Re
-10
-8
-6
-4
-2
0
2
4
6
8
10
Im
Figura 4-2.: Resultado de generar 1000 puntos uniformemente distribuidos dentro del po-
litopo, 100 puntos igualmente espaciados para cada segmento de recta entre
cualquier par de vertices (i, j) y 150 puntos uniformemente distribuidos dentro
del subpolitopo formado por cada trıo (i, j, k) de vertices.
4.1.5. Analisis del sistema lineal
De acuerdo al analisis de estabilidad de sistemas lineales, el analisis de los polos del sistema
proporcionan informacion sobre la estabilidad o inestabilidad del sistema de acuerdo a la
ubicacion el el plano complejo, en el caso donde los polos se encuentran en el semiplano
izquierdo decimos que el sistema es Hurwitz estable, con tan solo un polo en el semiplano
derecho consideramos el sistema como inestable. Para el calculo de los autovalores de la
matriz dinamica. Tenemos que
det (λI −A) = 0 (4-52)
Por definicion los autovalores del sistema son los siguientes:
λ =
0
0
−29,521112,2702
7,2300
−10,1977−2,1440
(4-53)
Se puede notar que el sistema que fue linealizado en el punto de operacion donde se considero
el pendulo vertical, es un punto inestable dado los dos polos positivos.
4.1 Pendulo invertido doble 35
En el diseno de controladores es importante analizar el concepto de controlabilidad, por que
es una manera de medir cuales son los polos que pueden ser desplazados considerando una
accion de control u(t). De acuerdo a la literatura la matriz de controlabilidad es contruida
de la siguiente forma:
Ctrb =[
B AB A2B . . . An−1B]
(4-54)
donde n es definida como el numero de estados. Considerando las matrices (4-45) y (4-46)
Ctrb =
0 84,9910 −1,7111× 103 54,8787× 103 −1,5472× 106 46,3281× 106
0 64,7595 −1,3450× 103 46,4153× 103 −1,2918× 106 39,0644× 106
0 −85,8298 1,9335× 103 −72,5420× 103 2,0101× 106 −61,7254× 106
84,9910 −1,7111× 103 54,8787× 103 −1,5472× 106 46,3281× 106 −1,3580× 109
64,7595 −1,3450× 103 46,4153× 103 −1,2918× 106 39,0644× 106 −1,1419× 109
−85,8298 1,9335× 103 −72,5420× 103 2,0101× 106 −61,7254× 106 1,7995× 109
(4-55)
Para que el sistema sea completamente controlable, la matriz ce controlabilidad en (4-55)
debe tener rango completo, es decir, debe tener lineas y columnas linealmente independien-
tes, en este caso el Rango(Ctrb)= 6 lo que significa que es de rango completo, de esta manera
se confirma que el sistema es controlable en todos sus estados.
La matriz de observabilidad representa una propiedad interesante por que define si el sistema
tiene la posibilidad de que sean reconstruidos sus estados. De acuerdo a la literatura la matriz
de observabilidad es contruida de la siguiente forma:
Obsv =
C
CA
CA2
. . .
CAn−1
(4-56)
La matriz de observabilidad fue calculada para el sistema del pendulo invertido doble, y es
mostrado a continuacion:
4.1 Pendulo invertido doble 36
Obsv =
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
0 290,8388 −15,8492 −18,5542 −751,3823× 10−3 995,8537× 10−3
0 256,2284 −28,8925 −14,1375 −698,5428× 10−3 1,1442
0 −339,5954 127,4288 18,7373 1,1442 −3,10980 290,8388 −15,8492 −18,5542 −751,3823× 10−3 995,8537× 10−3
0 256,2284 −28,8925 −14,1375 −698,5428× 10−3 1,1442
0 −339,5954 127,4288 18,7373 1,1442 −3,10980 −5,9270× 103 442,6803 373,5418 306,4445 −38,28310 −4,6793× 103 390,0564 293,6260 268,6482 −47,32890 6,7988× 103 −726,3058 −422,1021 −358,0318 157,0684
0 −5,9270× 103 442,6803 373,5418 306,4445 −38,28310 −4,6793× 103 390,0564 293,6260 268,6482 −47,32890 6,7988× 103 −726,3058 −422,1021 −358,0318 157,0684
0 200,1610× 103 −19,6527× 103 −11,9805× 103 −6,4655× 103 1,2844× 103
0 170,3058× 103 −18,4467× 103 −10,1328× 103 −5,1417× 103 1,1370× 103
0 −267,8413× 103 37,0495× 103 15,8365× 103 7,5458× 103 −2,0448× 103
0 200,1610× 103 −19,6527× 103 −11,9805× 103 −6,4655× 103 1,2844× 103
0 170,3058× 103 −18,4467× 103 −10,1328× 103 −5,1417× 103 1,1370× 103
0 −267,8413× 103 37,0495× 103 15,8365× 103 7,5458× 103 −2,0448× 103
0 −5,5772× 106 540,3517× 103 337,7608× 103 215,1490× 103 −42,9754× 103
0 −4,6506× 106 454,0467× 103 282,0036× 103 182,8122× 103 −37,9567× 103
0 7,2337× 106 −729,5749× 103 −438,8262× 103 −287,3512× 103 67,8130× 103
0 −5,5772× 106 540,3517× 103 337,7608× 103 215,1490× 103 −42,9754× 103
0 −4,6506× 106 454,0467× 103 282,0036× 103 182,8122× 103 −37,9567× 103
0 7,2337× 106 −729,5749× 103 −438,8262× 103 −287,3512× 103 67,8130× 103
0 167,9555× 106 −17,0458× 106 −10,1138× 106 −6,0305× 106 1,2565× 106
0 141,7492× 106 −14,5882× 106 −8,5281× 106 −5,0336× 106 1,0621× 106
0 −224,2842× 106 23,8987× 106 13,4752× 106 7,8417× 106 −1,7063× 106
(4-57)
Para verificar que el sistema sea observable, al igual que en el caso anterior debe ser calculado
el rango de esta matriz y asi ver que la matriz es linealmente independiente. El Rango(Obsv)=
6 y verifica que el sistema es completamente observable.
5. Implementacion del controlador por
LMI
Aquı abordaremos aspectos importantes sobre la implementacion del controlador, ademas el
diseno del controlador sera aplicado en el modelo matematico considerando el politopo con
vertices definidos por cada una de las linealizaciones desarrollado para el pendulo invertido
doble.
Las condiciones de diseno presentadas son dadas en termino de LMIs dependientes de
parametros, es decir, LMIs que dependen de α, y para poder obtener un controlador se
imponen estructuras polinomiales de grado 1 para simplicidad en la solucion. Ademas las
LMIs finitas son obtenidas por medio de un parser llamado ROLMIP [15] que genera la
estructura polinomial y que ademas trabaja sobre YALMIP [16] el cual permite construir las
LMI e implementarla para un gran numero de algoritmos de optimizacion en el caso de este
trabajo fue implementado MOSEK [4]. Las condicion de diseno fue programada en Matlab
(R2014b) 64 bits, y el computador utilizado posee las siguientes caracterısticas: Windows
10, Intel Core i7-8750H (3.90 GHz), 16 GB RAM.
Uno de los problemas identificados en la implementacion y que por construccion del con-
trolador basado en una realimentacion de estados es su dificultad para tener un error de
posicion nulo, este problema es contornado utilizando la siguiente metodologıa.
5.1. Seguimiento de referencia robusto
Como el e objetivo es buscar corregir el problema que tiene la realimentacion de estados
para hacer seguimiento de referencia, es decir, que el error en regimen permanente sea nulo,
introducimos el error como un nuevo estado, de esta manera tenemos que:
e(t) = y(t)− r(t)
e(t) = Cx(t)− r(t)(5-1)
La nueva representacion de estados se define como:
A(α) =
[
A(α) 0
−C(α) 0
]
, B(α) =
[
B(α)
0
]
,
C(α) =[
C(α) 0]
5.2 Ganancias de realimentacion de estados 38
y la ley de control tendra una nueva constante que sera aplicada para el estado adicional que
corresponde a la integral del error, y se define como:
u(t) =[
K Ke
]
[
x(t)
xe(t)
]
(5-2)
donde Ke es una ganancia que multiplica la integral del error para hazer seguimiento de
referencia en la practica.
r
+
+
+
++
−e
Ke
−K
u ∫∫ x xxey
A
B C
Figura 5-1.: Diagrama de control, realimentacion de estados con seguimiento de referencia
robusto.
5.2. Ganancias de realimentacion de estados
En el calculo de ganancias que corresponden al controlador de realimentacion de estados,
son tomadas en consideracion las dinamicas del pendulo invertido doble definidas en (4-40),
(4-47) y (4-49) con sus matrices de entrada ya establecidas en (4-42), (4-48) y (4-50); de esta
manera incluirlas dentro de las matrices politopicas como estan definidas en (2-16). Con la
siguiente descripcion en lazo cerrado:
x(t) = (A(α) +B(α)K)x(t),
y(t) = C(α)x(t)(5-3)
Considerando la definicion anterior del sistema en lazo cerrado para el calculo del controlador
son implementadas las siguientes LMIs dependientes de parametros:
WA(α)′ + Z ′B(α)′ + A(α)W +B(α)Z + 2βW ≺ 0,[
cosθ (WA(α)′ + Z′B(α)′ + A(α)W +B(α)Z) sinθ (WA(α)′ − Z′B(α)′ − A(α)W + B(α)Z)
sinθ (WA(α)′ + Z′B(α)′ − A(α)W −B(α)Z) cosθ (WA(α)′ + Z′B(α)′ + A(α)W + B(α)Z)
]
≺ 0
W ≻ 0,
(5-4)
con Z = KW para obtener la ganancia de realimentacion de la forma K = ZW−1. El
algoritmo de implementacion se encuentra en el Anexo A. Las constantes de realimentacion
5.2 Ganancias de realimentacion de estados 39
considerando el estado adicional generado por la estructura de control de la figura 5-1,
y como criterios de diseno son escogidos β = 5 y θ = 40 arbitrariamente. Las ganancias
obtenidas de la solucion del metodo de optimizacion son las siguientes:
K =[
−1,3395 26,6933 71,8332 −1,1328 9,3316 7,2106 −0,5176]
(5-5)
donde la ultima componente del vector de ganancia obtenido corresponde a la ganancia de la
integral del error que realiza el seguimiento de referencia robusto, de esta forma es definida
Ke = −0,5176. Para validar que la ganancia encontrada es estabilizante para todo el conjuntode puntos infinitos de la region convexa se evalua los vertices para los cuales los autovalores
encontrados estan ubicados en el semiplano izquierdo, como se muestra a continuacion:
eig(A1) =
−1,0380 + 0,0000i
−0,1341 + 0,0000i
−0,0642 + 0,0000i
−0,0497 + 0,0000i
−0,0251 + 0,0000i
−0,0105 + 0,0033i
−0,0105− 0,0033i
× 102 eig(A2) =
−5,1746 + 0,0000i
−0,1878 + 0,0000i
−0,0976 + 0,0000i
−0,0251 + 0,0000i
−0,0094 + 0,0187i
−0,0094− 0,0187i
−0,0063 + 0,0000i
× 102
eig(A3) =
−5,5008 + 0,0000i
−0,1788 + 0,0000i
−0,0977 + 0,0000i
−0,0253 + 0,0000i
−0,0095 + 0,0188i
−0,0095− 0,0188i
−0,0063 + 0,0000i
× 102
(5-6)
Cada uno de los vertices garantiza que el sistema en lazo cerrado es Hurwitz, es importante
resaltar que dado que pertenece a un conjunto infinito, puede haber la posibilidad que
para un punto especifico del conjunto el sistema sea inestable por ende esta solucion solo
proporciona un certificado de estabilidad, es decir, se garantiza estabilidad para un cierto
numero de sistemas pero no para el conjunto completo de sistemas.
5.2.1. Resultados en simulacion
La simulacion realizada considerando la estructura de control planteada en la Figura (5-1)
y una condicion inicial con φ = 5◦. Los resultados obtenidos son los siguientes:
5.2 Ganancias de realimentacion de estados 40
0 0.2 0.4 0.6 0.8 1 1.2 1.4-150
-100
-50
0
50
100
150
y(t)
s
θαφ
θαφ
Figura 5-2.: Simulacion del control por realimentacion de estados con seguimiento de refe-
rencia robusto.
Como se puede observar en la simulacion cada uno de los estados converge para el punto
de equilibrio. Garantizando estabilidad asintotica, es decir, que para una condicion inicial
dada fuera del punto de equilibrio puede ser llevado el sistema a estabilidad en el punto de
equilibrio.
5.2.2. Resultados en implementacion fısica
En la implementacion de la planta fısica se utilizaron las mis ganancias calculadas conside-
rando la estructura de control que tiene el seguimiento de referencia robusto y obtenemos la
siguiente respuesta:
5.2 Ganancias de realimentacion de estados 41
0 5 10 15 20 25 30-200
-150
-100
-50
0
50
100
150
200
250
y(t)
s
θαφθαφ
Figura 5-3.: Implementacion del control por realimentacion de estados con seguimiento de
referencia robusto.
Podemos observar que cada uno de los estados tienen a cero lo que demuestra estabilidad
asintotica, esta implementacion fue realizada considerando una condicion inicial proxima al
punto de equilibrio.1.
Es importante ver que la entrada de control al sistema no presenta saturacion ya que se
mantiene en el rango de [−5, 5] V que es el valor maximo que puede recibir el motor de la
planta. Es importante resaltar que esto puede ser ajustado con los criterios de desempeno
evitando que las ganancias del controlador sean demasiado grandes al exigir una tasa de
decaimiento del sistema demasiado rapida.
1El vıdeo de la implementacion lo podemos observar en: https://youtu.be/EibicqjcDq4
5.2 Ganancias de realimentacion de estados 42
0 5 10 15 20 25 30-3
-2
-1
0
1
2
3
4
5
y(t)
s
u(t)
Figura 5-4.: Senal de control que corresponde a la tension aplicada al motor de la base.
Ademas tambien presentada la respuesta ante perturbaciones que tiene el sistema con el
control por realimentacion de estados. Se puede notar que fueron causadas dos perturbaciones
en el sistema y que en los dos casos el controlador tiene la robustez de mantenerse en
equilibrio.
5.2 Ganancias de realimentacion de estados 43
0 5 10 15 20 25 30-200
-150
-100
-50
0
50
100
150
200
250
300
y(t)
s
θαφθαφ
Figura 5-5.: Perturbacion para el control de realimentacion de estados con seguimiento de
referencia robusto.
Todos los experimentos fueron desarrollados con el paquete de Simulink utilizando todas las
herramientas de conexion que provee Quanser para conectar con la planta.
6. Conclusiones
En este trabajo se desarrollo una tematica completa en todo lo relacionado a las LMIs y su
implementacion en el area de analisis de sistemas lineales y de la teorıa control. Mostrando
como es solucionado este problema a traves de algoritmos de optimizacion especıficamente
algoritmos IPM, y como partiendo de la ecuacion cuadratica de Lyapunov que evalua estabi-
lidad asintotica puede ser dada una solucion desde el area de optimizacion; ademas mostrar
herramientas algebraicas que pueden ayudar a buscar representaciones LMIs en el caso de
la implementacion de controladores por realimentacion de estados.
Este proyecto presento como un sistema no lineal con diferentes puntos de operacion cercanos
a un punto de equilibrio pueden ser considerados en el calculo de un controlador abordado
desde la parte de sistemas lineales invariantes en el tiempo, y es interesante como las LMIs
permiten considerar varias dinamicas que corresponden a las linealizaciones en diferentes
puntos y proporcionan un controlador por realimentacion de estados, de esta manera, dando
robustez, garantizando estabilidad en cada dinamica a partir de una unica ganancia estatica.
Las LMIs demostraron que tiene todas las herramientas para poder generar controladores
robustos incluyendo en su desarrollo criterios de desempeno que permiten hacer ubicacion
de polos. El pendulo invertido doble represento un desafıo dada su complejidad y comporta-
miento caotico, sin embargo el controlador demostro la capacidad de controlar este tipo de
sistemas sin aumentar la complejidad de la implementacion o el costo computacional, dado
que unicamente proporciona un vector de ganancias.
Como trabajos futuros es importante considerar la relevancia que tienen las LMIs en la teorıa
de control, de esta manera implementar otros criterios de desempenos como normas H∞ y
H2 y ver como responden ante perturbaciones. Ademas es interesante ver el comportamiento
en este tipo de sistemas pendulares con controladores dinamicos que pueden ser calculados
a partir de representaciones LMIs donde deberan ser analizados problemas de restriccion en
la estructura de las matrices generadas.
Bibliografıa
[1] Rotary Double Inverted Pendulum User Manual. Quanser Inc., 2012.
[2] MOORE, Ramon E, et al. Linear Matrix Inequalities in System and Control Theory
SIAM Studies in Applied Mathematics, 1994. ISBN 089871334X.
[3] GEROMEL, J.C.; PERES, P.L.D. y SOUZA, S.R. Convex analysis of output feed-
back control problems: robust stability and performance. En: IEEE Transactions on
Automatic Control, tomo 41, No 7, 1996. ISSN 0018-9286.
[4] ANDERSEN, Erling D y ANDERSEN, Knud D. The MOSEK interior point optimizer
for linear programming: an implementation of the homogeneous algorithm. En: High
performance optimization. Springer, 2000, pags. 197–232.
[5] OLIVEIRA, R. C L F, et al. An LMI characterization of polynomial parameter-
dependent Lyapunov functions for robust stability. En: Proceedings of the 44th IEEE
Conference on Decision and Control, and the European Control Conference, CDC-ECC
’05, tomo 2005, 2005, pags. 5024–5029.
[6] OLIVEIRA, Ricardo CLF y PERES, Pedro LD. Parameter-dependent LMIs in robust
analysis: Characterization of homogeneous polynomially parameter-dependent solutions
via LMI relaxations. En: IEEE Transactions on Automatic Control, tomo 52, No 7, 2007,
pags. 1334–1340.
[7] MONTAGNER, VF, et al. State feedback control of switched linear systems: An LMI
approach. En: Journal of Computational and Applied Mathematics, tomo 194, No 2,
2006, pags. 192–206.
[8] BASICOS PEDRO D PERES, Conceitos L y L F OLIVEIRA, Ricardo C. IA892 –
Analise e Controle de Sistemas Lineares por Desigualdades Matriciais Lineares (LMIs)
Aula 0: Conceitos Basicos. URL http://www.dt.fee.unicamp.br/{~}ricfow/IA892/
conceitos_basicos.pdf.
[9] ALIZADEH, Farid; HAEBERLY, Jean-Pierre A. y OVERTON, Michael L. Primal-Dual
Interior-Point Methods for Semidefinite Programming: Convergence Rates, Stability and
Numerical Results. En: SIAM Journal on Optimization, tomo 8, No 3, 1998, pags. 746–
768.
Bibliografıa 46
[10] ALIZADEH, Farid. Interior point methods in semidefinite programming with applica-
tions to combinatorial optimization. En: SIAM journal on Optimization, tomo 5, No 1,
1995, pags. 13–51.
[11] ALIZADEH, Farid; HAEBERLY, Jean-Pierre A y OVERTON, Michael L. Primal-dual
interior-point methods for semidefinite programming: convergence rates, stability and
numerical results. En: SIAM Journal on Optimization, tomo 8, No 3, 1998, pags. 746–
768.
[12] VANDENBERGHE, Lieven y BOYD, Stephen. Semidefinite programming. En: SIAM
review, tomo 38, No 1, 1996, pags. 49–95.
[13] CHILALI, Mahmoud y GAHINET, Pascal. H∞ design with pole placement constraints:
an lmi approach. En: IEEE Transactions on automatic control, tomo 41, No 3, 1996,
pags. 358–367.
[14] PARK, Sungwoo. Matrix reduction in numerical optimization. Tesis Doctoral, 2011.
[15] AGULHARI, Cristiano M, et al. Algorithm 998: The Robust LMI Parser—A toolbox
to construct LMI conditions for uncertain systems. En: ACM Transactions on Mathe-
matical Software (TOMS), tomo 45, No 3, 2019, pags. 1–25.
[16] LOFBERG, Johan. YALMIP: A toolbox for modeling and optimization in MATLAB.
En: 2004 IEEE international conference on robotics and automation (IEEE Cat. No.
04CH37508). IEEE, 2004, pags. 284–289.
[17] OLIVEIRA, Maurfcio C De y SKELTON, Robert E. Stability tests for constrained
linear systems. En: Perspectives in robust control, , No 0, 2001, pags. 241–257.
[18] NISE, Norman S y ROMO, Jorge Humberto. Sistemas de control para ingenierıa. Patria
Cultural, 2002.
[19] FELIPE, Alexandre; OLIVEIRA, Ricardo CLF y PERES, Pedro LD. An iterative LMI
based procedure for robust stabilization of continuous-time polytopic systems. En: 2016
American Control Conference (ACC). IEEE, 2016, pags. 3826–3831.
[20] LACERDA, Marcio J.; OLIVEIRA, Ricardo C.L.F. y PERES, Pedro L.D. Robust H2
and H∞ filter design for uncertain linear systems via LMIs and polynomial matrices.
En: Signal Processing, tomo 91, No 5, 2011, pags. 1115 – 1122. ISSN 0165-1684.
A. Anexo: Algoritmo control de
realimentacion de estados
Script A.1: Diseno del controlador por realimentacion de estados.
1 function output = state feedback(A,B,beta,angulo d)2 % function output = state feedback(A,B,beta,angulo d)
3 %4 % Calcula una ganacia por realimentacion de estados robusto para sistemas
5 % lineales continuos en el tiempo por LMIs. Las LMIs programa das usan
6 % YALMIP y ROLMIP que soportan un algoritmo para LMIs(En este caso MOSEK).7 %
8 % Entradas: A - > Matriz que contiene la dinamica del sistema.9 % B -> Matriz que corresponde a dinamica de la
10 % entrada.
11 % beta - > Valor del mayor autovalor posible para una12 % solucion.
13 % angulo d - > Angulo que define la region donde estan los14 % polos.
15 % Salidas: out.feas - > Verifica la solucion del algoritmo.
16 % out.W - > Matriz de Lyapunov.17 % out.cpusec s - > Tiempo solucion de las LMIs (segundos).
18 % out.delta - > Verificaion de la fatibilidad de la solucion.19 % out.K - > Vector de ganancia estabilizante.
20 % out.Acl - > Matriz politopica en malla cerrada
21 % (Realimentacion de estados).22 %
23 % Fecha: 15/10/202024 % Autor: [email protected]
25
26 % Conversion angulo de grados a radianes
27 angulo = deg2rad(angulo d);
28
29 % Inicio calculo de tiempo del algoritmo
30 t=clock;31
32 % Definicion de dimensiones
33 n=size(A,1);34 m=size(B,2);
48
35
36 % Identifica si son matrices politopicas
37 if iscell(A)38 N = length(A);
39 n = size(A {1},1);
40 A = rolmipvar(A, 'A' , N, 1);41 maxPole = @(A)(max(cellfun(@(a)(max(real(eig(a)))), ve rtices(A))));
42 else43 N = 0;
44 n = size(A,1);
45 maxPole = @(A)(max(real(eig(A))));46 warning( 'Sin incerteza en A' );
47 end48 if iscell(B)
49 m = size(B {1}, 2);
50 if (N == 1)51 N = length(B);
52 elseif (N ~= length(B))53 error( 'Incompatible tamano de B' );
54 end55 B = rolmipvar(B, 'B' , N, 1);
56 else
57 m = size(B, 2);58 warning( 'Sin incerteza en B' );
59 end60
61 % Grado del polinomio de la relajacion del la incertidumbre
62 options.degree = 0;63 output.feas = 0;
64
65 % Definicion de las variables
66 if N == 1
67 Z = sdpvar(m,n, 'full' );68 W = sdpvar(n,n, 'symmetric' );
69 else70 Z = rolmipvar(m,n, 'Z' , 'full' , N, options.degree);
71 W = rolmipvar(n,n, 'W' , 'symmetric' ,N, options.degree);72 end
73
74 % Construccion de las LMIs75 T11 = sin(angulo) * (W* A'+A * W+Z'* B'+B * Z);
76 T12 = cos(angulo) * (-W * A'+A * W-Z' * B'+B * Z);77 T21 = cos(angulo) * (W* A'-A * W+Z'* B'-B * Z);
78 T22 = sin(angulo) * (W* A'+A * W+Z'* B'+B * Z);
79 LMIs = [W * A'+A * W+Z'* B'+B * Z+2* beta * W<=0, W>= 0, [T11,T12;T21,T22] <=0];80
81 % Solucion de las LMIs atraves del algortimo de optimizacion82 sol = solvesdp(LMIs,[],sdpsettings( 'verbose' ,0, 'solver' , 'mosek' ));
49
83
84 % Tiempo de solucion de la LMI
85 output.cpusec s = sol.solvertime;86
87 % Verificacion factivilidad dela solucion
88 output.delta = min(checkset(LMIs));89 output.feas = 0;
90 if output.delta > 091 % Obtencion de variables de la solucion
92 output.W = double(W);
93 Z=double(Z);94
95 % Cambios de variable para recuperar vector de ganancia96 output.K = Z * inv(output.W);
97
98 %Evaluar mayor autovalor del sistema politopico en malla ce rrada99 maxPole(value(A+B * output.K));
100 if maxPole(value(A+B * output.K)) < 0101 output.feas = 1;
102 output.Acl = A+B * output.K;103 end
104 else
105 return ;106 end
Top Related