análisis y aplicación de desigualdades matriciales

60
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].

Upload: others

Post on 07-Jul-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análisis y aplicación de desigualdades matriciales

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].

Page 2: Análisis y aplicación de desigualdades matriciales

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

Page 3: Análisis y aplicación de desigualdades matriciales

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

Page 4: Análisis y aplicación de desigualdades matriciales

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

Page 5: Análisis y aplicación de desigualdades matriciales

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

Page 6: Análisis y aplicación de desigualdades matriciales

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.

Page 7: Análisis y aplicación de desigualdades matriciales

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.

Page 8: Análisis y aplicación de desigualdades matriciales

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.

Page 9: Análisis y aplicación de desigualdades matriciales

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

Page 10: Análisis y aplicación de desigualdades matriciales

Contenido ix

6. Conclusiones 44

Bibliografıa 45

A. Anexo: Algoritmo control de realimentacion de estados 47

Page 11: Análisis y aplicación de desigualdades matriciales

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

Page 12: Análisis y aplicación de desigualdades matriciales

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

Page 13: Análisis y aplicación de desigualdades matriciales

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

Page 14: Análisis y aplicación de desigualdades matriciales

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].

Page 15: Análisis y aplicación de desigualdades matriciales

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.

Page 16: Análisis y aplicación de desigualdades matriciales

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

Page 17: Análisis y aplicación de desigualdades matriciales

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

Page 18: Análisis y aplicación de desigualdades matriciales

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)

Page 19: Análisis y aplicación de desigualdades matriciales

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].

Page 20: Análisis y aplicación de desigualdades matriciales

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

Page 21: Análisis y aplicación de desigualdades matriciales

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

Page 22: Análisis y aplicación de desigualdades matriciales

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

Page 23: Análisis y aplicación de desigualdades matriciales

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.

Page 24: Análisis y aplicación de desigualdades matriciales

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)

Page 25: Análisis y aplicación de desigualdades matriciales

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

Page 26: Análisis y aplicación de desigualdades matriciales

2.5 Realimentacion de estados 15

θ

α Re

Im

Figura 2-3.: Region de ubicacion de polos.

Page 27: Análisis y aplicación de desigualdades matriciales

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)

Page 28: Análisis y aplicación de desigualdades matriciales

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

Page 29: Análisis y aplicación de desigualdades matriciales

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

Page 30: Análisis y aplicación de desigualdades matriciales

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.

Page 31: Análisis y aplicación de desigualdades matriciales

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)

Page 32: Análisis y aplicación de desigualdades matriciales

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)

Page 33: Análisis y aplicación de desigualdades matriciales

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)

Page 34: Análisis y aplicación de desigualdades matriciales

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)

Page 35: Análisis y aplicación de desigualdades matriciales

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)

Page 36: Análisis y aplicación de desigualdades matriciales

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)

Page 37: Análisis y aplicación de desigualdades matriciales

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

Page 38: Análisis y aplicación de desigualdades matriciales

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:

Page 39: Análisis y aplicación de desigualdades matriciales

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

Page 40: Análisis y aplicación de desigualdades matriciales

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:

Page 41: Análisis y aplicación de desigualdades matriciales

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)

Page 42: Análisis y aplicación de desigualdades matriciales

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)

Page 43: Análisis y aplicación de desigualdades matriciales

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

Page 44: Análisis y aplicación de desigualdades matriciales

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:

Page 45: Análisis y aplicación de desigualdades matriciales

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.

Page 46: Análisis y aplicación de desigualdades matriciales

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:

Page 47: Análisis y aplicación de desigualdades matriciales

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.

Page 48: Análisis y aplicación de desigualdades matriciales

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]

Page 49: Análisis y aplicación de desigualdades matriciales

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

Page 50: Análisis y aplicación de desigualdades matriciales

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:

Page 51: Análisis y aplicación de desigualdades matriciales

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:

Page 52: Análisis y aplicación de desigualdades matriciales

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

Page 53: Análisis y aplicación de desigualdades matriciales

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.

Page 54: Análisis y aplicación de desigualdades matriciales

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.

Page 55: Análisis y aplicación de desigualdades matriciales

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.

Page 56: Análisis y aplicación de desigualdades matriciales

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.

Page 57: Análisis y aplicación de desigualdades matriciales

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.

Page 58: Análisis y aplicación de desigualdades matriciales

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);

Page 59: Análisis y aplicación de desigualdades matriciales

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' ));

Page 60: Análisis y aplicación de desigualdades matriciales

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