Control por Retroalimentación de Estado y Diseño de Observadores

37
17-4-2015 BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA Facultad de Ciencias de la Electrónica Control Moderno y Sus Aplicaciones Reporte Práctica 2 Control por Retroalimentación de estado y diseño de observadores Profesor: J. Fermi Guerrero Castellanos Alumnos: Acoltzi Romano Maritza Carballo Valderrábano Karla Hernández Aguilar Luis Adrian Herrera Medina Martín Raymundo Primavera 2015

Transcript of Control por Retroalimentación de Estado y Diseño de Observadores

Page 1: Control por Retroalimentación de Estado y Diseño de Observadores

17-4-2015

BENEMÉRITA UNIVERSIDAD

AUTÓNOMA DE PUEBLA

Facultad de Ciencias de la Electrónica

Control Moderno y Sus Aplicaciones

Reporte Práctica 2 Control por

Retroalimentación de estado y

diseño de observadores

Profesor: J. Fermi Guerrero

Castellanos

Alumnos:

Acoltzi Romano Maritza

Carballo Valderrábano Karla

Hernández Aguilar Luis Adrian

Herrera Medina Martín Raymundo

Primavera 2015

Page 2: Control por Retroalimentación de Estado y Diseño de Observadores

INTRODUCCIÓN

En ocasiones se requiere que en un sistema, después de un tiempo finito, todas las

variables de estado se puedan controlar por una señal de control que no esté sujeta a

ningún tipo de restricción, por lo que a éstos se les somete a un estudio de

controlabilidad y, en caso de que el sistema resulte controlable, se desarrolla un

controlador y/o un servosistema para alcanzar los requerimientos solicitados. Por otro

lado, no siempre se tienen la suficiente cantidad de sensores disponibles para

monitorear todas las variables de estado de un sistema; en algunos sistemas es

posible determinar el estado completo con la señal de salida del mismo, estos

sistemas son llamados observables, a los cuales se les diseña un observador para

cumplir con la propiedad mencionada.

Con la finalidad de comprender lo anteriormente expuesto, esta práctica se divide en

dos secciones; el primer apartado consiste en analizar la estabilidad, controlabilidad y

observabilidad de un sistema electromecánico, analizar cómo se pueden ver

afectados al modificar una variable del sistema y pensar en los posibles controladores

y observadores. El segundo apartado consiste en un sistema de un péndulo invertido,

del cual se obtiene su representación en variables de estado cuando se encuentra el

ángulo del péndulo en libre posición (no lineal) y cuando se busca que el sistema esté

en equilibrio, es decir, que este en posición vertical (lineal), posteriormente se analiza

la estabilidad, controlabilidad y observabilidad del sistema lineal, el cual se utiliza como

base para diseñar un controlador, un servosistema y un observador, los cuales son

implementados al sistema no lineal junto con el uso de un Joystick para determinar la

posición del carro que lleva al péndulo, simulándolo en tiempo real utilizando la

extensión Simulink de Matlab.

OBJETIVO

Comprender de una manera conceptual y práctica el uso de la representación en

variables de estado de un sistema LTI para el diseño de controladores y observadores.

Page 3: Control por Retroalimentación de Estado y Diseño de Observadores

MARCO TEÓRICO

Estado

El estado de un sistema dinámico es el conjunto más pequeño de variables (llamadas

variables de estado) tal que, el conocimiento de esas variables en un determinado

instante t0 junto con el conocimiento de los valores de la señal de entrada para los

instantes t ≥ t0, permite determinar el comportamiento y evolución del sistema para

cualquier instante de tiempo t ≥ t0. Las variables de estado se agrupan en el llamado

vector de estado y el espacio n dimensional que determinan los posibles valores de

esas variables, se denomina espacio de estados. La dinámica de un sistema se puede

describir en función del valor del vector de estados y de la señal de entrada.

Estabilidad

De acuerdo al Teorema de estabilidad: Si G(s) es la función de transferencia de un

sistema, ésta será estable si todos los polos de G(s) están en el semiplano izquierdo

del plano complejo.

La estabilidad de los sistemas dinámicos se refiere a que pequeñas perturbaciones

en las condiciones iniciales o en alguna de las variables que intervienen en la ecuación

del movimiento produzca un comportamiento suficientemente similar al

comportamiento sin dichas perturbaciones. Para sistemas deterministas descritos por

ecuaciones diferenciales la estabilidad del dicho sistema de ecuaciones obviamente

implica la estabilidad del sistema. Para esta práctica se hace uso del Criterio de

Estabilidad de Routh que estable que en un sistema realimentado es estable si todos

los polos de lazo cerrado se ubican en el semiplano izquierdo del plano s. Esto es lo

mismo a decir que todas las raíces de la ecuación característica tienen parte real

negativa. El criterio de estabilidad de Routh permite determinar si hay raíces con parte

real positiva, es decir que es sistema es inestable y sin necesidad de resolver el

polinomio.

Controlabilidad

Un sistema de control es completamente controlable o de estado completamente

controlable, si es posible transferir al sistema desde un estado inicial arbitrario a

cualquier estado deseado en un tiempo finito. También puede decirse que será

Page 4: Control por Retroalimentación de Estado y Diseño de Observadores

completamente controlable, si cada variable de estado se puede controlar en un

tiempo finito por una señal de control que no esté sujeta a ningún tipo de restricción.

Como es habitual nos centraremos en el estudio de la controlabilidad de sistemas LTI:

Siendo la señal u (kT) constante en el intervalo de tiempo kT ≤ t ≤ (k + 1) T. En este

caso, la controlabilidad de estado completo implica que existe una señal de control

constante entre cada tiempo de muestreo que transfiere al sistema, desde un estado

x (kT) cualquiera a un estado deseado xf en como mucho n periodos de muestreo,

donde n es el tamaño del vector de estados.

Recordemos que la solución de la ecuación de estados es:

de ahí se obtiene:

donde la matriz

es la llamada matriz de controlabilidad .

Supóngase un estado final arbitrario x (nT) = xf . Si el sistema fuera controlable debería

existir un vector de actuaciones que al multiplicarlo por la matriz de controlabilidad

diese como resultado xf − Gnx(0). Como xf y x(0) pueden ser cualquier par de valores

del vector de estado, es fácil entender que xf−Gnx(0) puede ser cualquier vector de Rn.

De esto se desprende que para que el sistema sea controlable, el espacio de vectores

generado por los vectores que forman la matriz de controlabilidad (es decir, sus

columnas) debe ser todo Rn. La condición necesaria y suficiente para que se cumpla

esto es que el rango de la matriz de controlabilidad sea n. Este resultado permite

enunciar el siguiente lema.

Page 5: Control por Retroalimentación de Estado y Diseño de Observadores

Dado un sistema LTI de orden n representado es condición necesaria y suficiente para

que el sistema sea completamente controlable que el rango de la matriz de

controlabilidad sea igual a n.

El sistema que cumpla la condición establecida en el lema 1 podrá alcanzar cualquier

estado como máximo en n periodos de muestreo, pero sólo si no existen restricciones

sobre la señal de control. En caso contrario, se tardaría más.

Si el sistema es controlable, se podrá determinar la secuencia de valores de la entrada

necesaria para llevar al sistema a xf resolviendo el sistema de ecuaciones.

Por otra parte, la controlabilidad se puede comprobar a partir de la función de

transferencia de un sistema observando si hay cancelaciones de polos y ceros. En el

caso de que las hubiese, el sistema no sería controlable. Por tanto, el sistema

no sería controlable pues existe una cancelación de un polo con un cero.

Observabilidad

Considérese un sistema autónomo:

El sistema autónomo es completamente observable si todo estado inicial x(0) se puede

determinar de la observación de y(kT) durante un número finito de intervalos de

muestreo. Para que ello ocurra, cada transición del estado debe afectar a todos los

elementos del vector de salida.

La observabilidad juega un papel esencial en el control de aquellos sistemas en los

que algunas de las variables de estado no son accesibles, es decir, no son medibles

directamente. Nótese que se ha considerado un sistema autónomo. La razón de esto

es que la observabilidad de un sistema no autónomo se reduce a la del sistema

autónomo equivalente.

Se sabe que la solución de la ecuación de estado para el sistema autónomo es:

Page 6: Control por Retroalimentación de Estado y Diseño de Observadores

De ahí

La observabilidad completa implica que usando

se pueden determinar

donde xi(0) indica la iésima componente de x(0). Es decir el sistema es completamente

observable si las ecuaciones:

permiten determinar x1(0), x2(0), • • • , xn(0). Como y(kT) es un m-vector (asumiendo

que el sistema tiene m salidas) el sistema de ecuaciones anterior es en realidad un

sistema de n × m ecuaciones, en las que las incógnitas son las n componentes de

x(0).

Para que la solución de este sistema sea única debe haber entre ellas n ecuaciones

linealmente independientes. Esto se traduce en la siguiente condición de

observabilidad completa:

donde ∗ indica la conjugada traspuesta de una matriz y a la matriz que aparece en la

condición se la llama matriz de observabilidad.

Por otra parte, de una manera análoga a la de la controlabilidad, la observabilidad de

un sistema a partir de su función de transferencia se puede asegurar si ésta no

presenta cancelaciones de polos y ceros.

Finalmente, se enuncia a continuación una propiedad que será útil para poder obtener

la representación de un sistema en forma canónica, sin que por ello pueda

Page 7: Control por Retroalimentación de Estado y Diseño de Observadores

argumentarse que existe la posibilidad de variar la controlabilidad u observabilidad del

mismo.

Sea un sistema LTI dado en la forma usual, cuya matriz de controlabilidad es M y la

de observabilidad es N. Si se define una transformación como la anterior con:

siendo P una matriz invertible, entonces las matrices de controlabilidad y

observabilidad del sistema equivalente tienen el mismo rango que M y N .

Joystick

El puerto de Joystick es una entrada de 8 bits, cuatro indican el estado de los botones

de ambos joysticks y los otros cuatro, la posición X - Y de los joysticks.

Figura 1 Esquema de Conexión de Joystick

El registro de estado se lee por la E/S 200h. La estructura de datos del registro es

como sigue:

Tabla 1 Estructura de datos del Joystick

Bit 7 6 5 4 3 2 1 0

Joystick B B A A B B A A

Eje/Botón 2 1 2 1 Y X Y X

La posición de los ejes X - Y se puede calcular con la siguiente fórmula:

𝑇𝑖𝑒𝑚𝑝𝑜(𝜇𝑠) = 24.2 + 0.11𝑅 R

Donde:

R = Impedancia

Page 8: Control por Retroalimentación de Estado y Diseño de Observadores

Tiempo = Periodo detectado

El procedimiento para obtener la posición X - Y es:

1. Sacar un pulso por E/S 200h para activar el puerto de Joystick.

2. El bit del axis X - Y se mantiene a nivel alto hasta que se completa el tiempo de

descarga.

3. Reemplazar el tiempo de descarga detectado en la fórmula anterior. El valor de

R es lineal.

Algunas utilidades posibles del puerto de Joystick son:

Como puerto de cuatro entradas digitales, formado por los cuatro botones de

disparo, por ejemplo en una central de alarma.

Como puerto de cuatro entradas analógicas, formado por los ejes X - Y de

ambos Joystick, por ejemplo para colocar unas resistencias sensibles a la

temperatura (PTC o NTC) y fabricarnos un termómetro, o para colocar una

fotorresistencia, para hacernos un sensor lumínico o un fotómetro.

Todo queda en poder de la imaginación del diseñador.

Uso de un joystick en simulink

El modelo de joystick utilizado fue el control de mando de Ps2 con adaptador USB. En

este caso, solo se desea mover la posición del carro en el eje X, para lo cual se utilizó

solo la palanca izquierda en el eje X.

Figura 2 Joystick y palanca utilizada.

La interfaz con Simulink se realizó de la siguiente manera. Primero se instalaron los

controladores para usar el Joystick en la PC y se colocaron los componentes en

Simulink a utilizar como se muestra en la figura 3.

Page 9: Control por Retroalimentación de Estado y Diseño de Observadores

Figura 3 Elementos en Simulink.

En el cual se observa un selector, y la primera posición corresponde a la palanca

izquierda y al eje X. Luego se obtiene el Id del Joystick y se coloca en casillero que lo

requiere, en el elemento “Joystick Input”. Sin ganancia, el joystick responde a valores

de [-1,1], por esta razón se añade una ganancia de cualquier valor.

Figura 4 ID del Joystick

DESARROLLO

1. SISTEMA ELECTROMECÁNICO

Se consideró el sistema electromecánico mostrado en la figura 5.

Figura 5 Sistema Electromecánico

Teniendo como variables involucradas:

Tm(t): Par aplicado.

Page 10: Control por Retroalimentación de Estado y Diseño de Observadores

VA(t); I(t): Voltaje aplicado al motor y corriente de armadura, respectivamente.

Jm; JL; JF: Momento de Inercia equivalente del motor, carga intermedia y carga

final.

b1;b2: Coeficiente de fricción viscosa equivalente a los cojinetes del motor y

carga.

θm; θL; θF: ángulos de desplazamiento del motor, carga intermedia y carga final.

K: coeficiente de torsión de la flecha que une la carga intermedia con la carga

final.

Se modeló dicho sistema, dividiéndolo en subsistemas, para después relacionarlos

entre sí, las ecuaciones obtenidas para cada subsistema fueron:

Motor: 𝑉𝐴 = 𝑅𝐼 + 𝐿𝐼̇ + 𝐾𝑚𝜃�̇�

Masa M: 𝐽𝑚𝜃�̈� = 𝑇𝑚 − 𝑏1𝜃�̇� − 𝑇1

Engranes: 𝛼 =𝑁1

𝑁2= −

𝑇𝑚

𝑇𝑙=

𝜃𝑙

𝜃𝑚

Masa L: 𝐽𝑙𝜃�̈� = 𝑇𝑙 − 𝑏2𝜃�̇� − 𝐾(𝜃𝑙 − 𝜃𝑓)

Masa F: 𝐽𝑓𝜃�̈� = 𝐾(𝜃𝑙 − 𝜃𝑓)

Al hacer un poco de álgebra a las ecuaciones diferenciales anteriores se llegó las

siguientes expresiones:

𝐼̇ = −𝑅

𝐿𝐼 −

𝐾𝑚

𝐿𝜃�̇� +

1

𝐿𝑉𝑎

𝜃�̈� = −𝑏

𝐽𝜃�̇� −

𝑘

𝐽(𝛼𝜃𝑚 − 𝜃𝑓) +

𝐾𝑚

𝐽𝐼

𝜃�̈� = −𝑘

𝐽𝑓(𝛼𝜃𝑚 + 𝜃𝑓)

De las cuales las variables J, b y k fueron definidas como sigue:

𝐽 = 𝐽𝑚 + 𝐽𝐿𝛼2

𝑏 = 𝑏1 + 𝑏2𝛼2

𝑘 = 𝐾𝛼

Page 11: Control por Retroalimentación de Estado y Diseño de Observadores

Representación en variables de Estados

Tomando como variables de estado a la corriente del motor, las posiciones y

velocidades de los cuerpos m y f se llegó a que:

𝑋1 = 𝐼, 𝑋2 = 𝜃𝑚, 𝑋3 = 𝜃�̇�, 𝑋4 = 𝜃𝑓 , 𝑋5 = 𝜃�̇�

𝑋1̇ = −𝑅𝑎

𝐿𝑋1 −

𝐾𝑚

𝐿𝑋3 +

1

𝐿𝑉𝑎

𝑋2̇ = 𝑋3

𝑋3̇ = −𝑏

𝐽𝑋3 −

𝑘

𝐽(𝛼𝑋2 − 𝑋4) +

𝐾𝑚

𝐽𝑋1

𝑋4̇ = 𝑋5

𝑋5̇ = −𝑘

𝐽𝑓(𝛼𝑋2 + 𝑋4)

Por lo tanto el sistema puedo ser representado en espacio de estados como se

muestra a continuación:

(

𝑋1̇

𝑋2̇

𝑋3̇

𝑋4̇

𝑋5̇)

=

(

−𝑅𝑎

𝐿0 −

𝐾𝑚

𝐿0 0

0 0 1 0 0𝐾𝑚

𝐽−

𝑘𝛼

𝐽−

𝑏

𝐽

𝑘

𝐽0

0 0 0 0 1

0 −𝑘𝛼

𝐽𝑓0 −

𝑘

𝐽𝑓0)

(

𝑋1

𝑋2

𝑋3

𝑋4

𝑋5)

+

(

1 𝐿⁄0000 )

𝑉𝑎

Y, considerando que solo sensores de posición angular están disponibles, se tuvo:

𝑦 = (0 1 0 0 00 0 0 1 0

)

(

𝑋1

𝑋2

𝑋3

𝑋4

𝑋5)

Debido a la complejidad del sistema se optó por utilizar el software de Matlab para

realizar todos los análisis y cálculos que fueran necesarios para el desarrollo de este

ejercicio, el código del programa se encuentra en el Anexo 1.

Page 12: Control por Retroalimentación de Estado y Diseño de Observadores

Análisis de Estabilidad

Se analizó la estabilidad del sistema, utilizando los siguientes valores para las

variables del mismo.

𝑅 = 0.67Ω

𝑁1 = 1

𝑁2 = 2

𝐾𝑚 = 4.3 × 10−3

𝐽𝑚 = 3.4 × 10−5

𝐽𝐿 = 2.64 × 10−4

𝐽𝐹 = 2.64 × 10−4

𝑏1 = 0.47

𝑏2 = 0.47

K = 0.015

L = 2.75 × 10−6

Quedando el sistema expresado en varibles de estado como:

(

𝑋1̇

𝑋2̇

𝑋3̇

𝑋4̇

𝑋5̇)

=

(

−2.423 × 105 0 −1.56 × 103 0 00 0 1 0 040 −40 −5.87 × 103 −80 00 0 0 0 10 −30 0 −60 0)

(

𝑋1

𝑋2

𝑋3

𝑋4

𝑋5)

+

(

3.64 × 105

0000 )

𝑉𝑎

𝑦 = (0 1 0 0 00 0 0 1 0

)

(

𝑋1

𝑋2

𝑋3

𝑋4

𝑋5)

Definiendo a las matrices A, B y C como:

𝐴 =

(

−2.44 × 105 0 −1.56 × 103 0 00 0 1 0 043 −37.5 −5.87 × 103 −75 00 0 0 0 10 −28.41 0 −56.82 0)

𝐵 =

(

3.6364 × 105

0000 )

𝐶 = (0 1 0 0 00 0 0 1 0

)

Page 13: Control por Retroalimentación de Estado y Diseño de Observadores

Enseguida, se calcularon los eigenvalores de la matriz A del sistema para determinar

la estabilidad del sistema, usando la directiva eig(A), la cual generó los siguientes

valores:

𝜆1 = −2.4356 × 105

𝜆2 = −5875.3

𝜆3 = 1.5 × 10−18

𝜆4 = −3.19 × 10−3 + 7.53𝑖

𝜆5 = −3.19 × 10−3 − 7.53𝑖

Debido a los valores obtenidos, en especial 𝜆3 que a pesar de ser un valor muy

cercano a cero es positivo, seguido en impacto por 𝜆4 y 𝜆5 al ser números negativos

muy cercanos a 0, se concluyó que el sistema no es estable.

Análisis de controlabilidad

Continuando con la práctica se analizó la controlabilidad del sistema, recordando que

para hacerlo se debe hallar el determinante de la matriz controlabilidad definida como:

𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = [𝐵 𝐴𝐵 𝐴2𝐵 𝐴3𝐵 𝐴4𝐵]

Que para el sistema tiene los siguientes valores:

𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑

=

[ 3.64 × 105

0000

−8.86 × 1010

01.56 × 107

00

2.16 × 1016

1.56 × 107

−3.90 × 1012

00

−5.26 × 1021

−3.90 × 1012

9.51 × 1017

0−4.44 × 108

1.28 × 1027

9.51 × 1017

−2.32 × 1023

−4.44 × 108

1.11 × 1014 ]

Mediante la directiva det(CONTROLABILIDAD)se obtuvo el valor del determinante de

esta matriz el cual fue de:

𝑑𝑒𝑡(𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑) = 1.7544 × 1037

Al ser el determinante diferente de 0, se consideró que la matriz Controlabilidad era

de rango pleno, y, por tanto, que el sistema era controlable. Sin embargo, también se

utilizaron las directivas Co=ctrb(A,B)y rank(Co), las cuales calculan directamente la

Page 14: Control por Retroalimentación de Estado y Diseño de Observadores

matriz de controlabilidad del sistema y el rango de la misma, el resultado obtenido por

estas directivas fue de un rango igual a 2, el cual es menor que la dimensión de la

matriz A. Ante dicho resultado se concluyó que el sistema en realidad no era

controlable, a pesar de que el determinante de la matriz de controlabilidad sea

diferente de 0.

Análisis de Observabilidad

Posteriormente se supuso que solo se tenía un sensor para el ángulo θm, por lo que

la matriz C del sistema expresado en variables de estado cambió a:

𝐶 = (0 1 0 0 0)

Se realizó un análisis de observabilidad, recordando que para hacerlo se debe hallar

el determinante de la matriz observabilidad, definida como:

𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = [𝐶 𝐶𝐴 𝐶𝐴2 𝐶𝐴3 𝐶𝐴4]

Y que para el sistema tiene los siguientes valores:

𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑

=

[

0043

−1.07 × 107

2.62 × 1012

10

−37.52.20 × 105

−1.30 × 109

01

−58753.44 × 107

−1.86 × 1011

00

−754.41 × 105

−2.58 × 109

000

−754.41 × 105]

Mediante la directiva det(OBSERVABILIDAD)se obtuvo el valor del determinante de esta

matriz el cual fue de:

𝑑𝑒𝑡(𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑) = 1.4357 × 1016

Al ser el determinante diferente de 0, se consideró que la matriz Observabilidad era

de rango pleno y, por tanto, que el sistema era observable. De igual manera que lo

hecho con la controlabilidad, se utilizaron las directivas Ob=obsv(A,C)y rank(Ob), las

cuales calculan directamente la matriz de observabilidad del sistema y el rango de la

misma. El resultado obtenido por estas directivas fue de un rango igual a 5, el cual es

igual que la dimensión de la matriz A, ante dicho resultado se corroboró que el sistema

era observable.

Cambio de valor de K

Page 15: Control por Retroalimentación de Estado y Diseño de Observadores

Finalmente se propuso un nuevo valor para el coeficiente de torsión de la flecha con

un valor de 𝐾 = 15 × 107, teniendo como hipótesis que este cambio era provocado

porque el esfuerzo de torsión necesario para que la flecha que une a las masas l y f

gire será 1010 veces mayor al tomado en cuenta anteriormente, en otras palabras, que

en cierto punto se podría tomar a las masas l y f y la flecha que los une como una sola

flecha.

Al cambiar este valor, la matriz A del sistema también cambia, quedando como:

𝐴′ =

(

−2.44 × 105 0 −1.56 × 103 0 00 0 1 0 043 −3.5 × 1011 −5.87 × 103 −7.5 × 1011 00 0 0 0 10 −2.84 × 1011 0 −5.68 × 1011 0)

Se hizo un análisis de la estabilidad del nuevo sistema, usando la directiva eig(A), la

cual generó los siguientes valores:

𝜆1 = −2.4356 × 105

𝜆2 = −3538.2

𝜆3 = −1.47 × 10−8

𝜆4 = −1167.9 + 9.71 × 105𝑖

𝜆5 = −1167.9 + 9.71 × 105𝑖

Debido a los valores obtenidos, en especial 𝜆3 que a pesar de ser un valor negativo

es muy cercano a 0, se concluyó que el sistema era marginalmente estable.

De igual modo, se volvió a analizar la controlabilidad del sistema, teniendo la matriz

de controlabilidad los siguientes valores:

𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑′

=

[ 3.64 × 105

0000

−8.86 × 1010

01.56 × 107

00

2.16 × 1016

1.56 × 107

−3.90 × 1012

00

−5.26 × 1021

−3.90 × 1012

−4.91 × 1018

0−4.44 × 1018

1.28 × 1027

−4.91 × 1018

1.27 × 1024

−4.44 × 1018

1.11 × 1024 ]

Mediante la directiva det(CONTROLABILIDAD)se obtuvo el valor del determinante de

esta matriz el cual fue de:

Page 16: Control por Retroalimentación de Estado y Diseño de Observadores

𝑑𝑒𝑡(𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑′) = 1.7544 × 1057

Al ser el determinante diferente de 0, se consideró que la matriz Controlabilidad podía

ser de rango pleno, y, por tanto, que el sistema podía ser controlable. Sin embargo,

también se utilizaron las directivas Co=ctrb(A,B)y rank(Co), el resultado obtenido por

estas directivas fue de un rango igual a 3, el cual es menor que la dimensión de la

matriz A. Ante dicho resultado se pensó que el sistema en realidad no era controlable,

a pesar de que el determinante de la matriz de controlabilidad era diferente de 0; sin

embargo, al recordar la interpretación física del cambio de K, siendo ésta el coeficiente

de torsión de la flecha que une a las masas l y f, cuestión que físicamente es muy

difícil de controlar en un sistema mecánico, se consideró que la matriz A del sistema

podía haber disminuido su dimensión, pues las masas l y f y la flecha que las une

pueden verse como un solo cuerpo, por lo que el sistema podría llegar a ser

controlable.

Hipótesis de Control por retroalimentación y observador de estados

En base a los datos obtenidos se concluyó que el sistema no es controlable, por lo

que cualquier diseño de un control por retroalimentación no brindará los resultados

deseables, sin embargo, se quiso comprobar esto, por medio del diseño del control

por retroalimentación y su posterior simulación.

Se asumió que todo el estado era medible y se propusieron como polos en lazo

cerrado a 𝜆1,2 = −1 ± 𝑗, 𝜆3,4 = −4 ± 2𝑗 y 𝜆5 = 2𝑗. Para calcular la matriz K es necesario

conocer la función de transferencia del sistema lineal, por lo que se implementaron los

polos en lazo cerrado deseados, planteándose de la siguiente manera:

(𝑠 + 1 − 𝑗) ∗ (𝑠 + 1 + 𝑗) ∗ (𝑠 + 4 − 2𝑗) ∗ (𝑠 + 4 + 2𝑗) ∗ (𝑠 + 2𝑗)

Dando como resultado

𝑠5 + 10.0002𝑠4 + 33.002𝑠3 + 40.006𝑠2 + 16.007𝑠 + 0.0031

Se encontró el polinomio característico del sistema en lazo cerrado por medio de la

matriz |𝜆𝐼 − (𝐴 + 𝐵𝐾)|, dando como resultado

Page 17: Control por Retroalimentación de Estado y Diseño de Observadores

𝑠5 + (−3.636 × 105𝐾1 + 2.495 × 105)𝑠4

+ (−2.136 × 109𝐾1 − 1.526 × 107𝐾3 + 1.431 × 109𝐾5)𝑠3

+ (−3.429 × 107𝐾1 − 1.563 × 107𝐾2 + 2.331 × 107)𝑠2

+ (8.133 × 1010 − 1.213 × 1011𝐾1 + 8.884 × 108𝐾3 + 4.442 × 108𝐾5)𝑠

+ (4.442 × 108𝐾4 − 8.884 × 105𝐾2)

Se igualaron el polinomio característico del sistema en lazo cerrado con el polo

característico deseado.

40 = 0 − 𝑘1

56 = −14.7𝑘1 − 0.00001𝑘3

38 = 1.47 − 0.00001𝑘4 − 14.65𝑘2 − 0.9923𝑘1 + 3.664𝑘3

10 = 16.223 + 3.664𝑘4 − 0.9923𝑘2

Utilizando el método Gauss Jordan en Matlab se obtuvo:

𝑘1 = 0.68613

𝑘2 = 0.01403

𝑘3 = 2.19933

𝑘4 = 0.02806

𝑘5 = 7.8788 × 10−6

Dando como resultado la matriz K

𝐾 = [0.68613 0.01403 2.19933 0.02806 7.8788 × 10−6]

Para el diseño del servosistema se implementó la siguiente fórmula para hallar el

valor Kr.

𝐾𝑟 = [−𝐶(𝐴 + 𝐵𝐾)−1𝐵]−1

Implementando el software Matlab se tiene como resultado

𝐾𝑟 = 2.7764 × 1011

Este control se implementó utilizando el programa Simulink al sistema y se comprobó

que aún proponiendo un sistema de control por retroalimentación, el sistema seguirá

Page 18: Control por Retroalimentación de Estado y Diseño de Observadores

siendo inestable como se puede observar en las siguientes figuras, en donde se

muestran la entrada al sistema, la posición de m y de f, respectivamente.

Figura 6 Sistema sin controlabilidad

Figura 7 Sistema implementando controlabilidad

2. SISTEMA PÉNDULO INVERTIDO

Se consideró el sistema péndulo invertido mostrado en la figura 8.

Figura 8 Sistema Péndulo Invertido

Las ecuaciones de movimiento del sistema vienen dadas por las siguientes

ecuaciones no lineales:

Page 19: Control por Retroalimentación de Estado y Diseño de Observadores

[ 𝐼 + 𝑚𝑙2 𝑚𝑙 cos 𝜃𝑚𝑙 cos 𝜃 𝑀 + 𝑚

] [�̈��̈�] + [

𝛽�̇� − 𝑚𝑔𝑙 sin 𝜃

𝑏�̇� − (𝑚𝑙 sin 𝜃)�̇�2] = [

0𝑢]

Representación en variables de Estados

Se expresó al sistema en variables de estado, utilizando las siguientes variables:

𝑥1 = 𝑥, 𝑥2 = �̇�, 𝑥3 = 𝜃, 𝑥4 = �̇�

[𝐼 + 𝑚𝑙2 𝑚𝑙 cos 𝑥3

𝑚𝑙 cos 𝑥3 𝑀 + 𝑚] [

𝑥4̇

𝑥2̇] + [

𝛽𝑥4 − 𝑚𝑔𝑙 sin 𝑥3

𝑏𝑥2 − (𝑚𝑙 sin 𝑥3)𝑥42] = [

0𝑢]

Desarrollando las ecuaciones se tuvo lo siguiente:

1. (𝐼 + 𝑚𝑙2)𝑥4̇ + (𝑚𝑙 cos 𝑥3)𝑥2̇ + 𝛽𝑥4 − 𝑚𝑔𝑙 sin 𝑥3 = 0

2. (𝑚𝑙 cos 𝑥3)𝑥4̇ + (𝑀 + 𝑚)𝑥2̇ + 𝑏𝑥2 − (𝑚𝑙 sin 𝑥3)𝑥42 = 𝑢

Se resuelve el sistema de ecuaciones anterior, despejando 𝑥4̇ de la ecuación 1,

sustituyéndolo en la ecuación 2, para obtener la siguiente expresión:

3. 𝑥2̇ =(𝑢 + (𝑚𝑙 sin 𝑥3)𝑥4

2 − 𝑏𝑥2)(𝐼 + 𝑚𝑙2) + (𝑚𝑙 cos 𝑥3)(𝛽𝑥4 − 𝑚𝑔𝑙 sin 𝑥3)

(𝑚𝑙 cos 𝑥3)(−𝑚𝑙 cos 𝑥3) + (𝑀 + 𝑚)(𝐼 + 𝑚𝑙2)

Se sustituye la ecuación 3 en la 2 y se obtiene:

𝑥4̇ =(𝑢 − 𝑏𝑥2 + (𝑚𝑙 sin 𝑥3)𝑥4

2)(𝑚𝑙 cos 𝑥3) + (𝑀 + 𝑚)(𝛽𝑥4 − 𝑚𝑔𝑙 sin 𝑥3)

(𝑚𝑙 cos 𝑥3)(𝑚𝑙 cos 𝑥3) − (𝑀 + 𝑚)(𝐼 + 𝑚𝑙2)

Simulación del sistema

Para la simulación de este sistema se realizó en Simulink un diagrama a bloques

correspondiente al espacio de estados de las ecuaciones anteriores como se muestra

en la Figura 9. Para un manejo más sencillo de la simulación se definieron unas

nuevas variables del sistema, éstas son:

𝑟1 = 𝑚𝑙

𝐼 + 𝑚𝑙2

𝑟2 = 𝑚𝑔𝑙

𝑟3 = 𝑚𝑙

𝑟4 = 𝐼 + 𝑚𝑙2

Page 20: Control por Retroalimentación de Estado y Diseño de Observadores

𝑟5 = 𝑀 + 𝑚

Quedando las ecuaciones del espacio de estados como sigue:

𝑥1̇ = 𝑥2

𝑥2̇ =(𝑢 + (𝑟3 sin 𝑥3)𝑥4

2 − 𝑏𝑥2)𝑟4 + (𝑟3 cos 𝑥3)(𝛽𝑥4 − 𝑟2 sin 𝑥3)

𝑟4𝑟5 − 𝑟32 cos 𝑥3

𝑥3̇ = 𝑥4

𝑥4̇ =−(𝑢 − 𝑏𝑥2 + (𝑟3 sin 𝑥3)𝑥4

2)(𝑟3 cos 𝑥3) − 𝑟5(𝛽𝑥4 − 𝑟2 sin 𝑥3)

𝑟4𝑟5 − 𝑟32 cos 𝑥3

Figura 9 Diagrama a bloques del sistema péndulo invertido no lineal

Para mejor organización de la simulación también se realizaron 3 susbsistemas, el

primero llamado Denominador está formado por el denominador de ambas ecuaciones

como se muestra en la figura 10.

Figura 10 Denominador del sistema

Page 21: Control por Retroalimentación de Estado y Diseño de Observadores

El segundo susbsistema genera como salida el numerador de la ecuación que

conforma a 𝑥2̇ como se muestra en la figura 11.

Figura 11 Coeficientes x_2 ̇

El tercer subsistema tiene como salida al numerador de la ecuación que conforma a

𝑥4̇ como se muestra en la figura 12.

Figura 12 Coeficientes x_4 ̇

En la figura 13 que a continuación se muestra, se observa claramente como el péndulo

cae 180° de su posición inicial. Cabe mencionar que en el momento en que cae el

péndulo ejerce una fuerza sobre el carro puesto que en la simulación se aprecia un

ligero cambio de posición de éste.

Page 22: Control por Retroalimentación de Estado y Diseño de Observadores

Figura 13 Simulación del péndulo en el sistema no lineal

Linealización del sistema

Si se considera que el sistema se encuentra cerca del punto de equilibrio en la posición

vertical hacia arriba, es decir,𝜃 ≈ 0, entonces es posible hacer la aproximación 𝜃 ≈

0 = sin 𝜃 y cos 𝜃 ≈ 1. Haciendo estas aproximaciones el sistema se puede expresar

en la forma �̇� = 𝐴𝑥 + 𝐵𝑢, como se ve en el siguiente desarrollo.

Se tenía al sistema de la siguiente manera:

[ 𝐼 + 𝑚𝑙2 𝑚𝑙 cos 𝜃𝑚𝑙 cos 𝜃 𝑀 + 𝑚

] [�̈��̈�] + [

𝛽�̇� − 𝑚𝑔𝑙 sin 𝜃

𝑏�̇� − (𝑚𝑙 sin 𝜃)�̇�2] = [

0𝑢]

Se hicieron las aproximaciones indicadas anteriormente:

[𝐼 + 𝑚𝑙2 𝑚𝑙𝑚𝑙 𝑀 + 𝑚

] [�̈��̈�] + [𝛽�̇� − 𝑚𝑔𝑙𝜃

𝑏�̇�] = [

0𝑢]

Utilizando las siguientes variables de estado:

𝑥1 = 𝑥, 𝑥2 = �̇�, 𝑥3 = 𝜃, 𝑥4 = �̇�

El sistema puede ser expresado como:

(𝐼 + 𝑚𝑙2)𝑥4̇ + (𝑚𝑙)𝑥2̇ + 𝛽𝑥4 − 𝑚𝑔𝑙𝑥3 = 0

(𝑚𝑙)𝑥4̇ + (𝑀 + 𝑚)𝑥2̇ + 𝑏𝑥2 = 𝑢

Resolviendo el sistema de ecuaciones obtenemos las siguientes expresiones:

𝑥1̇ = 𝑥2

𝑥2̇ =(𝑢 − 𝑏𝑥2)𝑟4 + 𝑟3(𝛽𝑥4 − 𝑟2𝑥3)

𝑟4𝑟5 − 𝑟32

Page 23: Control por Retroalimentación de Estado y Diseño de Observadores

𝑥3̇ = 𝑥4

𝑥4̇ =−(𝑢 − 𝑏𝑥2)(𝑟3) − 𝑟5(𝛽𝑥4 − 𝑟2𝑥3)

𝑟4𝑟5 − 𝑟32

Expresando al sistema en su representación en variables de estados se tiene:

(

𝑋1̇

𝑋2̇

𝑋3̇

𝑋4̇)

=

(

0 1 0 0

0 𝑏𝑟4

𝑟4𝑟5 − 𝑟32

−𝑟2𝑟3𝑟4𝑟5 − 𝑟32

𝛽𝑟3

𝑟4𝑟5 − 𝑟32

0 0 0 1

0 𝑏𝑟3

𝑟4𝑟5 − 𝑟32

𝑟2𝑟5𝑟4𝑟5 − 𝑟32

−𝛽𝑟5

𝑟4𝑟5 − 𝑟32)

(

𝑋1

𝑋2

𝑋3

𝑋4

) +

(

0𝑟4

𝑟4𝑟5 − 𝑟32

0−𝑟3

𝑟4𝑟5 − 𝑟32)

𝑢

Sustituyendo con los valores de cada variable del sistema en el espacio de estados,

éste puede ser expresado como sigue:

(

𝑋1̇

𝑋2̇

𝑋3̇

𝑋4̇)

= (

0000

1−0.0992

00.3663

0000

00.3663

1−16.1238

)(

𝑋1

𝑋2

𝑋3

𝑋4

) + (

00.9923

0−3.664

)𝑢

Por medio de Matlab se comprobó este espacio de estados, utilizando este comando

para declarar las variables del sistema del péndulo:

syms ('theta11','I1','m1','l1','M1','Beta1','b1','theta1','x11','u1')

Se declaró el modelo lineal del sistema, por medio de las matrices de las variables de

estado y de la entrada:

Ab=[I1+m1*(l1)^2 m1*l1;m1*l1 m1+M1]

Z=[-Beta1*theta11;-b1*x11+u1]

Se obtuvieron las ecuaciones de las variables 𝑥2̇ y 𝑥4̇ y así se comprobó la matriz

anterior

x=inv(Ab)*Z

Con valores asignados a las variables se declaró la matriz A en Matlab para obtener

valores numéricos de la misma

A22=(-b*(I+m*l^2))/((I+m*l^2)*(M+m)-(m*l)^2);

A24=(Beta*m*l)/((I+m*l^2)*(M+m)-(m*l)^2);

A42=(-b*(m*l))/(((m*l)^2)-(M+m)*(I+m*(l)^2));

Page 24: Control por Retroalimentación de Estado y Diseño de Observadores

A44=(Beta*(m+M))/(((m*l)^2)-(M+m)*(I+m*(l)^2));

A=[0 1 0 0;0 A22 0 A24;0 0 0 1;0 A42 0 A44]

Análisis de Estabilidad

Se calcularon los eigenvalores de la matriz A del sistema expresado en variables de

estado para determinar la estabilidad del sistema, usando la directiva eig(A), la cual

generó los siguientes valores:

𝜆1 = 0

𝜆2 = −18.292

𝜆3 = −0.0909

𝜆4 = 2.1597

Al analizar los valores obtenidos, debido a que una de las raíces fue igual a cero y otra

fue positiva, se concluyó que el sistema era inestable.

Análisis de controlabilidad

Para determinar si el sistema linealizado es controlable es necesario conocer la

determinante de la matriz de 𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑, es decir

𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = |𝐵 𝐴𝐵 𝐴2𝐵 𝐴3𝐵 𝐴4𝐵|

Que tiene como valores:

𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = |

0 0.90961 −0.09055 0.136440.90961 −0.09055 0.13644 −2.3914

0 −0.00077 0.34589 −5.6413−0.00077 0.34589 −5.6413 104.68

| = −3.766 ≠ 0

Debido a que la determinante de la matriz fue diferente de cero, se pensó que el

sistema es controlable, se usaron las directivas Co=ctrb(A,B)y rank(Co)para

corroborarlo, el resultado obtenido de un rango igual a 4, el cual es igual que la

dimensión de la matriz A, por lo que se concluyó que el sistema era controlable.

Análisis de control por retroalimentación

Se asume que todo el estado es medible, por lo tanto para diseñar un control por

retroalimentación de estado posicionando los polos en lazo cerrado en 𝜆1,2 = −1 ± 𝑗

Page 25: Control por Retroalimentación de Estado y Diseño de Observadores

y en 𝜆3,4 = −4 ± 2𝑗 de tal forma que el sistema linealizado sea asintóticamente

estable, es necesario conocer la función de transferencia del sistema lineal para

calcular la matriz K.

Para obtener la función en lazo cerrado del sistema lineal, se implementan los polos

en lazo cerrado deseados, por ello se plantean de la siguiente manera:

(𝑠 + 1 − 𝑗) ∗ (𝑠 + 1 + 𝑗) ∗ (𝑠 + 4 − 2𝑗) ∗ (𝑠 + 4 + 2𝑗)

Dando como resultado

𝑠4 + 10𝑠3 + 38𝑠2 + 56𝑠 + 40

Se encuentra el polinomio característico del sistema en lazo cerrado por medio de la

matriz |𝜆𝐼 − (𝐴 + 𝐵𝐾)|, dando como resultado

𝑠4 + (3.664𝑘4 − 0.9923𝑘2 + 16.223)𝑠3

+ (1.47 − 0.00003𝑘4 − 14.65𝑘2 + 3.664𝑘3 + 39.692)𝑠2 + (586.297

− 0.00001𝑘3)𝑠

Se igualaron el polinomio característico del sistema en lazo cerrado con el polo

característico deseado.

40 = 35.91𝑘1

56 = −3.59 − 14.66𝑘1 − 36𝑘2

38 = −0.9923𝑘1 − 14.7𝑘2 + 3.664𝑘3 − 38.03

10 = 16.223 + 3.664𝑘4 − 𝑘2

Utilizando el método Gauss Jordan en Matlab se obtuvo:

𝑘1 = 1.1139

𝑘2 = 2.1089

𝑘3 = 29.225

𝑘4 = −1.1228

Dando como resultado la matriz K

𝐾 = [1.1139 2.1089 29.225 −1.1228]

Page 26: Control por Retroalimentación de Estado y Diseño de Observadores

Análisis de servosistema

Para poder diseñar un servosistema es necesario tener en cuenta las matrices A, B,

C y K calculada previamente, debido a que la ecuación siguiente corresponde al valor

Kr.

𝐾𝑟 = [−𝐶(𝐴 + 𝐵𝐾)−1𝐵]−1

Implementando el software Matlab (ver Anexo 2) se tiene como resultado

𝐾𝑟 = −1.1139

Implementación de joystick al sistema

Por medio del joystick se pretendió introducir una señal de entrada, que proporcionaba

la posición deseada del carro, para corroborar que el control fuera el adecuado,

midiendo la posición del péndulo, el cual, al variar la posición del carro, tiene que

seguir vertical. El diagrama de conexión en Simulink es el mostrado en la siguiente

figura:

Figura 14 Diagrama de conexión de joystick con matriz K y Kr, para el control del péndulo invertido modelado de forma no

lineal.

Se observa que en el sistema no lineal el péndulo permanece en posición vertical

cuando la posición del carro es modificada por el joystick (figura 15), es decir, la planta

obedece al controlador no lineal cuando se implementa el control por

retroalimentación, sin embargo, cuando el cambio de posición del carro es drástica de

tal manera que el péndulo se aleja considerablemente de su posición inicial (figura

16), éste cae abruptamente (figura 17).

Page 27: Control por Retroalimentación de Estado y Diseño de Observadores

Figura 15 Medición de la posición del carro y del péndulo

Figura 16 Posición del péndulo fuera de su rango de control

Figura 17 Péndulo después de exceder su rango de control

Diseño de Observador

Posteriormente se supuso que solo se tenía presupuesto para comprar dos sensores,

por lo que se eligió que las variables de estado a medir fueran la posición lineal del

carrito y la angular del péndulo, de tal forma que el sistema linealizado fuera

observable, por lo que la matriz C del sistema expresado en variables de estado

cambió a:

Page 28: Control por Retroalimentación de Estado y Diseño de Observadores

𝐶 = (1 0 0 00 0 1 0

)

Se realizó un análisis de observabilidad, utilizando las directivas Ob=obsv(A,C)y

rank(Ob), las cuales calculan directamente la matriz de observabilidad del sistema y

el rango de la misma, respectivamente. La matriz obtenida con estas instrucciones es:

𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 =

[ 1 0 0 00 0 1 00 1 0 00 0 0 1 0 −0.09923 −0.89783 0.366460 0.36646 39.505 −16.1240 0.14414 14.566 −6.84310 −5.9453 −637.31 299.63 ]

El rango de esta matriz fue de 4, valor que es igual que la dimensión de la matriz A,

ante dicho resultado se concluyó que el sistema era observable.

Para el diseño de un observador se propusieron como polos del observador a 𝜆1,2 =

−4 ± 4𝑗 y en 𝜆3,4 = −16 ± 8𝑗, polos que son cuatro veces mayor al del control para

un asegurar un tiempo de respuesta del observador mayor al tiempo de respuesta del

controlador, por lo que el polinomio característico del observador quedó definido

como:

𝑠4 + 40𝑠3 + 608𝑠2 + 3584𝑠 + 10240

Para el cálculo de la matriz L del observador, son necesarios los coeficientes del

polinomio característico del observador en forma de vector (𝑝 =

[40 608 3584 10240]), la matriz A y la matriz C. Además fue necesario hacer uso

de la función L=place(A',C',p), la cual genera los coeficientes de la matriz L. El

resultado de la matriz L es la siguiente:

𝐿 = [−4290.3 4.984 × 105

2032.6 −1.187 × 106 2130.7 −1.731 × 106

−10198 5.998 × 106 ]

Simulación/Animación del Sistema

Finalmente se simuló el sistema no lineal y lineal con el observador, servosistema y

control a lazo cerrado desarrollados en la práctica, asimismo, se dispuso de un joystick

para mover el carro en la posición deseada. El diagrama de lo anteriormente

mencionado se muestra en la figura 18, donde se pueden identificar el sistema no

Page 29: Control por Retroalimentación de Estado y Diseño de Observadores

lineal, al cual se le aplica el observador del sistema lineal y el control por

retroalimentación y servosistema desarrollados por el sistema linealizado.

Fig. 18 Sistema no lineal, con observador implementado en sistema lineal.

En la figura 19 están representadas la salida del observador (línea morada) y el estado

del sistema no lineal (línea amarilla, recordando que solo dos de las cuatro variables

de estado alimentan al observador), midiendo la posición del carro en la primera

gráfica, la velocidad del carro en la segunda gráfica, la posición del péndulo en la

tercera gráfica y la velocidad del péndulo en la cuarta gráfica. Analizando las imágenes

se ve que el observador sigue muy de cerca al estado del sistema no lineal.

Page 30: Control por Retroalimentación de Estado y Diseño de Observadores

Fig. 19 Gráficas de sistema no lineal con observador.

Sin embargo, cuando el péndulo sale del rango donde es controlable, se puede ver

que se presenta la inestabilidad y el observador se pierde en la tercera y cuarta gráfica,

de posición y velocidad del péndulo, respectivamente, esto debido a que el observador

está diseñado para el sistema linealizado.

Figura 18 Gráficos del observador en el sistema no lineal tras una perturbación

Page 31: Control por Retroalimentación de Estado y Diseño de Observadores

PARÁMETROS

Los parámetros para el sistema electromecánico se encuentran en la Tabla 2.

Tabla 2 Parámetros para el sistema electromecánico

Los parámetros para el sistema péndulo invertido se encuentran en la Tabla 3.

Tabla 3 Parámetros para el sistema péndulo invertido

CONCLUSIONES

Debido a los resultados de cada ejercicio se pudo concluir que la controlabilidad,

observabilidad y control por retroalimentación de estado, son parteaguas para los

sistemas de control; puesto que aun cuando se tiene un sistema no linealizado, como

fue el caso del péndulo invertido, se puede tener un rango de control del sistema si se

hace un estudio y análisis del mismo sistema pero de su forma linealizada. Sin

embargo este control viene limitado a las condiciones de linealización, puesto que si

se sale de los márgenes de las mismas, el sistema no podrá ser alterado por el sistema

de control propuesto, pues se alejaría del sistema linealizado.

Page 32: Control por Retroalimentación de Estado y Diseño de Observadores

Por otro lado, se pudo apreciar que en ciertos sistemas lineales, al cambiar algunas

variables físicas, como en el sistema electromecánico al cambiar el coeficiente de

torsión de la flecha, se logra mejorar la estabilidad del sistema y también su

controlabilidad, pues en casos como el mencionado, se torna muy difícil controlar esas

variables.

Finalmente, se pudo ver que al realizar observadores a partir de sistemas lineales e

implementarlos en sistemas no lineales, éstos son útiles en un rango donde el sistema

no lineal no sufra cambios brucos para alejarlos de la linealización, tal como sucedió

con el sistema de control.

BIBLIOGRAFÍA

[1] K. Ogata, Ingeniería de Control Moderna, Pearson Educación, Tercera edición,

1998, pp. 58, 59,60, 85.

ANEXOS

Anexo 1 Programa en Matlab para resolver el ejercicio 1

%% Práctica 2 Ejercicio 1 %Sistema Electromecánico

%% VALORES DE DATOS R=0.67; KM=4.3*10^(-3); JM=3.4*10^(-5); JL=2.64*10^(-4); JF=2.64*10^(-4); B1=0.47; B2=0.47; Ks=0.015; L=2.75*10^(-6);

%VARIABLES PARA EL ESPACIO DE ESTADOS k=Ks/2; b=(B1)+(B2/4); j=(JL/4)+(JM);

%% MATRICES DEL ESPACIO DE ESTADOS A= [-R/L 0 -KM/L 0 0;0 0 1 0 0;KM/j -k/(2*j) -b/j -k/j 0;0 0 0 0 1;0 -

Ks/(2*JF) 0 -Ks/JF 0]; B=[1/L; 0; 0; 0; 0]; C=[0 1 0 0 0; 0 0 0 1 0];

%% ESTABILIDAD eig(A) %cálculo de los

eigenvalores de la matriz A

Page 33: Control por Retroalimentación de Estado y Diseño de Observadores

%% CONTROLABILIDAD A2=A^(2); A3=A^(3); A4=A^(4);

CONTROLABILIDAD=[B A*B A2*B A3*B A4*B]; %Matriz de controlabilidad

CONTROLABLE=det(CONTROLABILIDAD) %determinante de la matriz

de controlabilidad

Co=ctrb(A,B); %Obtención de matriz de

controlabilidad por Matlab rank(Co) %Rango de la matriz de

controlabilidad

%% OBSERVABILIDAD C2=[0 1 0 0 0]; OBSERVABILIDAD=[C2; C2*A; C2*A2; C2*A3; C2*A4]; %Matriz de observabilidad

OBSERVABLE=det(OBSERVABILIDAD) %determinante de la matriz

de observabilidad

Ob=obsv(A,C); %Obtención de matriz de

observabilidad por Matlab rank(Ob) %Rango de la matriz de

observabilidad

%% CAMBIO DE k EN LAS VARIABLES Y MATRICES DEL ESPACIO DE ESTADOS

K2s=15*10^(7); %Valor nuevo de K k2s=K2s/2;

A21=[-R/L 0 -KM/L 0 0;0 0 1 0 0;KM/j -k2s/(2*j) -b/j -k2s/j 0;0 0 0 0 1;0 -

K2s/(2*JF) 0 -K2s/JF 0]; %Nueva matriz A

eig(A21) %Estabilidad de la matriz

A21

% CONTROLABILIDAD NUEVO ESPACIO DE ESTADOS A22=A21^(2); A33=A21^(3); A44=A21^(4);

CONTROLABILIDAD2=[B A21*B A22*B A33*B A44*B]; %Matriz de controlabilidad

de A21

CONTROLABLE2=det(CONTROLABILIDAD2) %determinante de la matriz

de controlabilidad

Co=ctrb(A21,B); %Obtención de matriz de

controlabilidad por Matlab rank(Co) %Rango de la matriz de

controlabilidad

%% CONTROL POR RETROALIMENTACIÓN (K)

Page 34: Control por Retroalimentación de Estado y Diseño de Observadores

syms ('s','k1','k2','k3','k4','k5')

%Función de transferencia en lazo cerrado f=sym((s+1-j)*(s+1+j)*(s+4-2*j)*(s+4+2*j)*(s+2*j)) den_fun_lazocerrado=expand(f) %s^5 + 10.0002*s^4 + 33.002*s^3 + 40.00659983999*s^2 +

16.007999799968*s+0.00319999996

%Polinomio Característico K=[k1 k2 k3 k4 k5] SI=s*eye(5 pols=SI-(A+(B*K)) valores_para_k=det(pols)

%Resultado de la igualación del polinomio característico y el denominador %de lazo cerrado

%444214876.033058*k4-888429752.066116*k2+81331299586.7769*s-

121384297520.661*s*k1-888429752.066116*k3*s+444214876.033058*k5*s-

34297520.661157*k1*s^2 %-2136363636.36364*k1*s^3-15636363.6363636*k2*s^2-363636.363636364*k1*s^4-

15636363.6363636*k3*s^3+23313145.661157*s^2+1431430967.04545*s^3 %+249511.363636364*(s^4)+s^5

%Resultado factorizado de la igualación del polinomio característico y el %denominador de la función de transferencia de lazo cerrado

%444214876.033058*k4-888429752.066116*k2 %(81331299586.7769-121384297520.661*k1-

888429752.066116*k3+444214876.033058*k5)*s %(-34297520.661157*k1-15636363.6363636*k2+23313145.661157)*s^2 %(-2136363636.36364*k1-15636363.6363636*k3+1431430967.04545)*s^3 %(-363636.363636364*k1+249511.363636364)*(s^4) %+s^5

% Obtención de K's por medio de Gauss Jordan KG=[0 -888429752.066116 0 444214876.033058 0;-121384297520.661 0 -

888429752.066116 0 444214876.033058;-34297520.661157 -15636363.6363636 0 0

0;-2136363636.36364 0 -15636363.6363636 0 0;-363636.363636364 0 0 0 0] SG=[0.00319999996;16.007999799968/81331299586.7769;40.00659983999/23313145.

661157;33.002/1431430967.04545;10.0002/249511.363636364] MG=[0 -888429752.066116 0 444214876.033058 0 0.00319999996;-

121384297520.661 0 -888429752.066116 0 444214876.033058 16.007999799968-

81331299586.7769;-34297520.661157 -15636363.6363636 0 0 0 40.00659983999-

23313145.661157;-2136363636.36364 0 -15636363.6363636 0 0 33.002-

1431430967.04545;-363636.363636364 0 0 0 0 10.0002-249511.363636364] rref(MG)

% Matriz K k1=0.68612874945 k2=-0.0140319904947583 k3=-2.19933335812261 k4=-0.0280639809823129 k5=7.87880277336403e-06 K=[k1 k2 k3 k4 k5]

% Servosistema (Kr) p=inv(A+(B*K))

Page 35: Control por Retroalimentación de Estado y Diseño de Observadores

kr=[-C*(p)*B] Kr=1/3.60185094683417e-12

Anexo 2 Programa en Matlab para resolver el ejercicio 2 %% Práctica 2 Ejercicio 2

%% VALORES DE DATOS

M=1 %Kg m=0.1%Kg b=0.1%N/m/s Beta=0.1%N/m/s l=0.25%m I=0.00052%(Kg) (m^2) (2)= (ml^2)/12 g= 9.8%m/s^2

% VARIABLES PARA EL DIAGRAMA SIMULINK NO LINEAL r1=m*l/(I+m*l^2); r2=m*g*l; r3=m*l; r4=I+m*l^2; r5=M+m;

d=r4*r5-r3^2;

%% 3.SISTEMA LINEAL syms ('theta11','I1','m1','l1','M1','Beta1','b1','theta1','x11','u1') Ab=[I1+m1*(l1)^2 m1*l1;m1*l1 m1+M1] Z=[-Beta1*theta11;-b1*x11+u1] x=inv(Ab)*Z

A22=((- b)*(m*l^2 + I))/(M*m*l^2 + I*m + I*M); A23=(l*m*(- g*l*m))/(M*m*l^2 + I*m + I*M); A24= (l*m*(Beta))/(M*m*l^2 + I*m + I*M); A42=-(l*m*(- b))/(M*m*l^2 + I*m + I*M); A43=- ((M + m)*(- g*l*m))/(M*m*l^2 + I*m + I*M); A44=-((M + m)*(Beta))/(M*m*l^2 + I*m + I*M);

A=[0 1 0 0;0 A22 A23 A24;0 0 0 1;0 A42 A43 A44]

%% 4.ESTABILIDAD estabilidad=eig(A) %Asignación de estabilidad a los eigenvalores

%% 5.CONTROLABILIDAD B=[0;1/((M+m)-(m*l)^2);0;-m*l/(M+m)*(I+m*l^2)-(m*l)^2] %Asignación

de valores a matriz B e=[B A*B (A^2)*B (A^3)*B] %Cálculo matriz e sin determinante C=[1 0 0 0] %Asignación de valores a matriz C controlabilidad=det(e) %Cálculo de controlabilidad

ctrb(A,B)%matriz de controlabilidad rank(ans)%si es controlable o no = dimension de matriz A

%% 6. CONTROL POR RETROALIMENTACIÓN (K) syms ('s','k1','k2', 'k3','k4') K=[k1 k2 k3 k4]

Page 36: Control por Retroalimentación de Estado y Diseño de Observadores

%Polinomio característico SI=s*eye(4) pols=SI-(A+(B*K)) valores_para_k=det(pols) expand(valores_para_k)

%Resultado de la igualación del polinomio característico y el denominador %de lazo cerrado

%(-3.25417766051011e-05*k3+ 586.297273526824)*s %(3.664*k3+39.692-14.6574318381706*k2-3.25417766051011e-

05*k4+1.46584579302257)*s^2 %(-0.9923*k2+3.664*k4+16.2235414834359)*s^3 %s^4

%como no tenemos terminos en la constante %40=35.91k1 %56=-3.59 -14.66k1+36k2 %38=-0.99k1-14.7k2+3.7k3-38.03 %10=16.223+3.664k4-k2

% Obtención de K's por medio de Gauss Jordan KG=[35.91 0 0 0 40;-14.66 36 0 0 56+3.59;-0.99 -14.7 +3.7 0 38+38.03;0 -1

0 3.664 10-16.223] SG=[56;38;10] rref(KG)

% Matriz K k1=1.11389585073796 k2=2.1088809214394 k3=29.2252179560513 k4=-1.12284909349361

%% SERVOSISTEMA (Kr) C1=[1 1 1 1];

K=[k1 k2 k3 k4] p=inv(A+(B*K)) kr=[-C1*(p)*B] Kr=1/kr

%% OBSERVADOR

C=[1 0 0 0;0 0 1 0]

Ob=obsv(A,C) %Obtención de matriz de

observabilidad por Matlab rank(Ob) %Rango de la matriz de

observabilidad

%l %(s+4+4j)*(s+4-4j)*(s+16+8j)*(s+16-8j) %s^4 + 40*s^3 + 608*s^2 + 3584*s + 10240 %4_veces_alfa=40,608,3584,10240 p=[40,608,3584,10240] %syms ('I','l1','l2','l3','l4','I5','l6','l7','l8')

Page 37: Control por Retroalimentación de Estado y Diseño de Observadores

%L=[l1 l2;l3 l4;l5 l6;l7 l8] %SI=I*eye(4) %pols=A+(L*C) %pols1=SI-pols %pol=det(pols1) L=place(A',C',p)