Está en la página 1de 22

DEPARTAMENTO DE INGENIERÍA MECATRÓNICA

Repaso de control en espacio de estados


Juan Pablo Cuesta
u18032148unimilitar.edu.co
Julian Sanchez Mogollon
u1803208@unimilitar.edu.co
Juan Pablo Valencia
u1803217@unimilitar.edu.co

Resumen—Tomando como base el modelo matemático de un III. M ARCO T EORICO


sistema masa resorte, se plantean diferentes reguladores que
permitan estabilizar el sistema y ası́ por medio del software Estado:
matlab, simular y comprobar los diferentes algoritmos y
diagrama de bloques creados. También, se realizan observadores El estado de un sistema dinámico es el conjunto más pequeño
por tres métodos distintos y el diseño de matrices empaquetadas de variables de modo que el conocimiento de estas variables
para los tres servosistemas. en t=t0, junto con el conocimiento de la entrada para t¿=t0,
determina por completo el comportamiento del sistema para
cualquier tiempo mayor o igual a t0.[1]
I. O BJETIVOS Variables de estados:
Realizar el modelo matemático de un sistema que presenta Las variables de estado de un sistema dinámico son las que
perturbaciones. forman el conjunto más pequeño de variables que determinan
Lograr diseñar un regulador por realimentación de estados
el estado del sistema dinámico. Si se necesitan al menos n
para entradas sub y crı́ticamente amortiguadas. variables x1, x2... xn para describir por completo el com-
portamiento de un sistema dinámico (por lo cual una vez
Diseñar reguladores que permitan actuar como filtro y que se proporciona la entrada para t¿=t0 y se especifica el
lograr que la perturbación no afecte al sistema. estado inicial t=t0 el estado futuro del sistema se determina
Aplicar las matrices A empaquetada y B empaquetada para
por completo), tales n variables son un conjunto de variables
lograr obtener un ess=0 ante entrada escalón. de estado.[2]
Espacio de estados:
Palabras clave—Modelado, Regulador, Algoritmo, Perturba-
ción. El espacio de n dimensiones cuyos ejes de coordenadas están
formados por el eje x1, eje x2..., eje xn se denominan espacio
de estados. Cualquier estado puede representarse mediante un
II. I NTRODUCCI ÓN punto en el espacio de estados.[3]
Existen muchos sistemas de la vida real que se pueden Función de transferencia:
expresar como un modelado matemático. Conociendo el Es una expresión matemática que caracteriza las relaciones
método de Newton Euler y Euler Lagrange, se pueden obtener de “Entrada – Salida” de sistemas sistemas lineales lineales
ecuaciones diferenciales que expresen a estos sistemas. A su invariantes invariantes en el tiempo. Se define como la relación
vez, tener perturbaciones que puedan inestabilizar el sistema y relación de la transformada de Laplace de la salida (función
asumirlas en el modelado y ası́ realizar matrices denominadas respuesta), a la transformada de Laplace de la entrada (fun-
espacios de estados que ayudaran a implementar distintos ción excitadora), bajo la suposición de condiciones iniciales
reguladores y lograr eliminar estas perturbaciones que no son cero.[4]
controlables.
Control por retroalimentación de estados:
En este informe se plantean las matrices y vectores de El estado de un sistema dinámico es una colección de variables
las formas canónicas controlable y observable. También que permiten la predicción del desarrollo de un sistema a
lograr implementar reguladores por realimentación de estados futuro. A continuación exploramos la idea de diseñar la
para respuestas sub y crı́ticamente amortiguados y a su dinámica de un sistema a través de realimentación de estados.
vez reguladores para las formas canónicas controlables y La ley de control por realimentación sera desarrollada paso a
observables. Y usar el software matlab, para lograr crear paso usando una única idea: la ubicación de los autovalores
algoritmos que permitan obtener las diferentes constantes de del sistema en lazo cerrado en posiciones deseadas. A Conti-
los reguladores, observadores y servosistemas. nuación se muestra la estructura del controlador por retro de
estados para cualquier planta asignada.[5]

1
Figura 4. Método de Transformada T

Donde α son los coeficientes de el polinomio deseado y a


Figura 1. Estructura controlador por retro de estados del polinomio caracterı́stico.[6]
IV. D ESARROLLO
Método de Igualación de Polos: Se sustituye la matriz K en IV-A. Modelo matemático
el polinomio caracterı́stico SI-A+BK y se iguala al polinomio
deseado.[6]
 
K = K1 K2 K3

SI − A + BK = (s − µ1 )(s − µ2 )...(s − µn )

Método de Ackerman:
Para el método Ackerman se supone que el sistema es
completamente controlable, para hallar el control se utiliza
la siguiente forma:

Figura 2. Método Ackerman

Donde K es las constantes a hallar. y la matriz φA es:

φA = An + α1 ∗ An− + ... + αn−1 ∗ A + αn ∗ I


 
Figura 5. Sistema Masa Resorte
Donde α son las constantes del polinomio deseado.[6]
Método de Transformada T: Tomando en cuenta el sistema mecánico masa resorte
mostrado en la figura 5 se realizo el diagrama de cuerpo
Se define la matriz de transformación de la siguiente ma-
libre de la masa M y de la varilla con longitud L. El modelo
nera:
matemático se hizo por el método de Newton Euler.

Figura 3. Matrices que conforman la matriz de transformación

T = WM

Después se define el polinomio deseado y se hacen las


operaciones siguientes: Figura 6. DCL cuerpo 1

2
Teniendo en cuenta el DCL de la figura 6 se realizo una Teniendo en cuenta que si gira en contra de las manecillas
sumatoria de fuerzas y teniendo en cuenta que no se encuentra del reloj es negativo y las distintas direcciones de cada
una fuerza que actué directamente sobre este objeto, está componente que actúa sobre el cuerpo se obtiene la segunda
sumatoria es igual a cero. A su vez, al observar la figura 5 ecuación diferencial..
se presenta una perturbación que esta afectando a la posición
x2 y ya que K2 pertenece tanto al cuerpo M como al cuerpo X
de longitud L, esta perturbación también afecta a este primer τ =0
cuerpo.

K2 x1 L K2 (x2 + P )L 3B2 (v3 + 3Ṗ )L 3Fa L


X − + + + =0
F =0 4 4 4 4
Se despeja las fuerzas que actúan sobre este cuerpo.

M v̇1 + K1 x1 + B1 v1 + K2 x1 − K2 (x2 + P ) = 0
Tomando en cuenta esta ecuación diferencial, se despeja K2 x1 L K2 (x2 + P )L 3B2 (v3 + 3Ṗ )L 3Fa L
− + + =−
la aceleración para obtener nuestra primera ecuación que 4 4 4 4
ayudara a realizar el espacio de estados. Y tomando la A continuación se realiza un remplazo de X2 y X3
relación de que x2=Lθ/4. teniendo en cuenta la siguiente relación:

1 Lθ 3Lθ̇
v̇1 = [−K1 x1 − B1 v1 − K2 x1 + K2 (x2 + P )] x2 = y v3 =
M 4 4

1 K2 Lθ 1 K2 x1 L K2 θL2 9B2 θ̇L2 K2 P L 9B2 Ṗ L 3Fa L


v̇1 = [−K1 x1 − B1 v1 − K2 x1 + ] + [K2 P ] (1) − + + + + =−
M 4 M 4 16 16 4 4 4
Ya que se obtiene una segunda derivada de la posición X1 Se despeja la derivada theta punto.
se crea una nueva ecuación que sera igual a:

16 K2 x1 K2 θL 3Fa 16 K2 P 9B2 Ṗ
ẋ1 = v1 (2) θ̇ = [ − − ]− [ + ] (3)
9B2 L 4 16 4 9B2 L 4 4

IV-B. Espacio de Estados


Con el modelo matemático del sistema masa resorte, y
las ecuaciones 1, 2 y 3, se procede a obtener el espacio
de estados del sistema. Y también teniendo en cuenta las
siguientes ecuaciones generales de espacios de estados.

ẋ(t) = Ax(t) + Bu(t) + EP (t) + F Ṗ (t)

y = Cx + Du

0 1 0
      
Figura 7. DCL cuerpo 2
ẋ1 x1 0
 v̇1  =  −(K1 +K2 ) −B 1 K2 L    
v1 + 0  fa (t)
M M 4M
16K2 K2 4
Observando la figura 7 en este caso, se realiza una sudatoria θ̇ 36B2 L 0 − 9B θ − 3B2L
2

de torques tomando como punto de análisis el apoyo que 


0
  
0
se encuentra a 1/4 metros de la distancia L de izquierda a
+  − K42  P +  0  Ṗ
derecha, en esta figura 7 se denota como la letra ’A’. En 16K2
− 36B 2L
−4/L
este caso, no se tiene un torques que afecte directamente
al sistema, por ende, la sudatoria de torques es igual a  
C= 1 0 0 D=0
cero. También, se declara la perturbación que esta afectando
directamente a X2 . En principio para las formas canónicas se facilita el calculo
de las matrices obteniendo la función de transferencia del

3
     
sistema, para ello, se calcula el denominador de la función 0 0 0
de transferencia donde se realizo un código en matlab en el + 0 u(t) +  −3B2  P +  0  Ṗ
K2 3B1 B2
que se obtiene realizando el determinante de SI-A. Se utilizo 1 3 − M
−3B2
el comando ss2tf de matlab que permite obtener la función a h
−K2
i
partir de las matrices de espacio de estados. C = 3M B2 0 0
Por lo que el denominador de sera :
IV-B2. Forma canónica observable: El algoritmo para
3 2 9B2 B1
+ M K2 9B2 K2 + 9B2 K1 + B1 K2 encontrar la forma canónica observable es el siguiente:
s +s +s
9B2 M 9B2 M
K1 K2
+
9B2 M
Por lo tanto el denominador de esta función, y las matrices
T y Q se realiza la forma canónica controlable y observable
con ayuda de matlab.

IV-B1. Forma canónica controlable: Nos indica si la


evolución de una o varias de sus dinámicas (estados) pueden
ser modificadas por las entradas del sistema (control).La
siguiente representación en el espacio de estados se denomina
forma canónica controlable:

      
ẋ1 0 1 0 x1 0 Figura 9. Algoritmo Forma Canónica Observable.
 v̇1  =  0 0 1   v1  + 0 u(t)
θ̇ −a3 −a2 −a1 θ 1 Al utilizar el código anterior con variables simbólicas,la
forma general canónica observable se muestra a continuación.
Se utilizo matlab para sacar las matrices de la siguiente
manera:
      
ẋ1 0 0 −an x1 bn − an b0
 v̇1  = 1 0 −an−1   v1  + bn−1 − an−1 b0  u
θ̇ 0 1 −a1 θ b1 − a1 b0]
 
  x1
C = 0 0 1  v1  + b0 u
θ

   K1 K2
  
K2
0 0 − 9B

ẋ1 2M
x1 3B2 M
1 B2 −9B2 K2
 v̇1  = 
1 0 − B1 K2 +9K   v1 + 0  u

9M B2
θ̇ 9B1 B2 +M K2 θ
0 1 − 9M B 2
0
   
0 0
+  k2
M
 P +  0  Ṗ
Figura 8. Algoritmo Forma Canónica controlable. 0 − k2
M
 
Al utilizar el anterior código utilizando variables simbólicas,   x1
para el sistema dado, la forma canónica controlable general C = 0 0 1  v1 
sera: θ
IV-B3. Constantes del sistema: Para la solución de este
  laboratorio se asumieron los siguientes valores de constantes:
ẋ1
 v̇1  = M =1
θ̇ K1 = 0,1
K2 = 0,1
B1 = 0,1
  
0 1 0 x1
 0 0 1   v1  B2 = 0,1
K1 K2 1 B2 −9B2 K2
− 9B2M
− B1 K2 +9K
9M B2 − 9B19M
B2 +M K2
B2 θ L = 0,5

4
Con estos valores se hallo la función de transferencia del Para la forma observable del sistema:
sistema y las respectivas matrices:
Función de transferencia:

Figura 10. Constantes de la función de transferencia del sistema

Por lo tanto la función sera:


X1 (s) −0,3333
G(s) = = 3
F (s) s + 0,2111s2 + 0,2111s + 0,0111
Matrices del sistema:
Dados los valores anteriores, se muestran las matrices A,
B, C , E y F en la siguiente figura: Figura 13. Espacio de estados a controlar para la forma canónica observable

IV-C. Diseñar un regulador por realimentación de estados


con respuestas subamortiguada y crı́ticamente amortiguada.

Para resolver este item se utilizaron los siguientes parame-


tros:
Se utilizo un Ts =1 segundo y un ζ=0.8 para generar una
respuesta subamortiguada

4 4
Wn = = =5
Ts ∗ ζ 0,8 ∗ 1
A partir de esos valores se obtiene el polinomio deseado
donde se sabe que debe ser de tercer orden, por lo que se
añade un polo no dominante para obtener el mismo orden que
Figura 11. Espacio de estados a controlar en la forma canónica controlable la matriz A:

Para la forma canónica del sistema:


(S 2 + 2 ∗ ζ ∗ Wn ∗ S + Wn2 )(S + 10 ∗ ζ ∗ Wn2 )
Ası́ obteniendo en matlab los siguientes valores del polino-
mio deseado.

Figura 14. Polinomio deseado subamortiguado

Ahora bien, para realizar el regulador se utilizo el método


de Ackerman, para ası́ hallar las constantes de control que
estabilicen el sistema en 1 segundo con una respuesta subamor-
tiguada.
Teniendo en cuenta que no se añade ninguna acción integral
Figura 12. Espacio de estados a controlar de la forma controlable al sistema, se trabaja con la matriz A, B y C:

5
A partir de esos valores generamos nuestro polinomio
A2 B
 
S= B AB deseado donde se sabe que debe ser de cuarto orden, por lo
que se configura de la siguiente forma:
Y ası́ hallar las constantes del regulador de la siguiente
forma: (S 2 + 2 ∗ ζ ∗ Wn ∗ S + Wn2 )(S + 5 ∗ ζ ∗ Wn2 )
1 (S −1 )φA
 
K= 0 0 Ası́ obteniendo en matlab los siguientes valores de nuestro
polinomio deseado.
De esta forma mediante el desarrollo de las operaciones en
matlab se obtuvo las siguientes constantes:

Figura 18. Polinomio deseado crı́ticamente amortiguado

Para hallar las constantes se utiliza el mismo método ante-


Figura 15. Constantes para el sistema subamortiguado rior pero ahora con el nuevo polinomio deseado mostrado en
la imagen anterior. Ası́ se obtuvieron las siguientes constantes
Con esas constantes se realiza la siguiente simulación en y la simulación en simulink.
diagrama de bloques para lograr ver la respuesta del sistema
bajo estas constantes por retroalimentación.

Figura 19. Constantes para respuesta crı́ticamente amortiguada

Figura 16. Simulación

Figura 20. Simulación 2

Figura 17. Respuesta subamortiguada

Por otro lado, se utilizo un Ts =1 segundo y un ζ=1 para


conseguir una respuesta crı́ticamente amortiguada

4,5 4,5
Wn = = = 4,5 Figura 21. Respuesta crı́ticamente amortiguada
Ts ∗ ζ 1∗1

6
IV-D. Desarrollar los algoritmos pertinentes para calcular
las constantes K de la ley de control, para los tres modelos,
usando:

IV-D1. Igualación de polos: Para igualación de polos, se


realiza el siguiente algoritmo para hallar las constantes de
control y posteriormente simular el sistema con la mismas
para observar su comportamiento. En primer lugar se hallan Figura 24. Simulación implementado
las matrices AP y BP (a partir de las matrices A y B) que
utilizaremos en el desarrollo, de la siguiente forma:

 
BP = B K1 K2 K3

 
AP = A − BP

A esa matriz que nos genera matlab AP le aplicamos la


siguiente operación para hallar el polinomio caracterı́stico con
nuestras constantes como incógnitas para luego solucionar.

Pc = det(SI − AP )
Figura 25. Respuesta del sistema ante un control por asignación de polos
Para hallar las constantes igualamos los valores del poli-
nomio caracterı́stico con las del polinomio deseado que se
mostró en la figura 6 ya que se utilizo el mismo tiempo de
estabilización y una respuesta subamortiguada con un valor de
cita de 0.8, a partir de esa solución se obtienen las constantes
de control.
Variables de estado
Ası́ se obtuvo los siguientes valores de nuestro polinomio
caracterı́stico:

Figura 22. Valores polinomio caracterı́stico

Como se explico anteriormente se iguala el polinomio


deseado y caracterı́stico obteniendo las siguientes cons- Figura 26. Señal de error del sistema ante un control por asignación de polos
tantes:
Forma canónica controlable.
Los valores del polinomio caracterı́stico para hallar las
constantes son los siguientes:

Figura 23. Constantes de control mediante igualación de polos Figura 27. Polinomio caracterı́stico para forma canónica controlable

Con esas constantes se realizo la siguiente simulación y Ya con los polinomios el deseado y el caracterı́stico,
se obtuvo la respuesta que se muestra en las siguientes se halla las contantes del regulador, sus valores son los
imágenes. siguientes:

7
Figura 28. Constantes canónica controlable asignación de polos
Figura 32. Constantes canónica observable asignación de polos

La respuesta que se obtuvo a partir de las constantes La respuesta que se obtuvo a partir de las constantes
halladas es la siguiente: halladas es la siguiente:

Figura 29. Respuesta del sistema canónico controlable ante un control por Figura 33. Respuesta del sistema canónico observable ante un control por
Asignación de polos asignación de polos

Figura 30. Señal de error del sistema canónico controlable ante un control
por Asignación de polos
Figura 34. Señal de error del sistema canónico observable ante un control
por Asignación de polos

Forma canónica observable. IV-D2. Ackerman: Anteriormente se habı́a explicado la


Los valores del polinomio caracterı́stico para hallar las forma para hallar las constantes mediante el método de Ac-
constantes son los siguientes: kerman, como se hizo en el punto anterior con los reguladores.:

A2a Bb
 
S = BB Aa Bb

De igual forma queda la ecuación para hallar las constantes


Figura 31. Polinomio caracterı́stico para forma canónica observable
de controlabilidad de la siguiente manera.

Ya con los polinomios el deseado y el caracterı́stico, se 


K= 0 0 1 (S −1 )φA

hallan las contantes del regulador, sus valores son los
siguientes: Variables de estado

8
Mediante el método de Ackerman se lograron obtener La respuesta que se obtuvo a partir de las constantes
las siguientes contantes para luego implementarlas en el halladas es la siguiente:
control.

Figura 35. Constantes de control mediante Ackerman

Con esas constantes se realizo la misma simulación que


se muestra en la imagen 16 y se obtuvo la respuesta que
se muestra en la siguiente imagen.

Figura 39. Respuesta del sistema canónico controlable ante un control por
Ackerman

Figura 36. Respuesta del sistema ante un control por Ackerman

Figura 40. Señal de error del sistema canónico controlable ante un control
por Ackerman

Forma canónica observable.


Las contantes resultantes por este método para la forma
Figura 37. Señal de error del sistema ante un control por Ackerman canónica observables son:

Forma canónica controlable.


De la misma forma se hallan las constantes para el espa-
cio de estados de forma canónica controlable obteniendo
los siguientes resultados:

Figura 41. Constantes canónica observable Ackerman

La respuesta que se obtuvo a partir de las constantes


Figura 38. Constantes canónica controlable Ackerman halladas es la siguiente:

9
Figura 44. Constantes de control mediante Transformada T

Con esas constantes se realizo la misma simulación que


se muestra en la imagen 16 y se obtuvo la respuesta que
se muestra en la siguiente imagen.

Figura 42. Respuesta del sistema canónico observable ante un control por
Ackerman

Figura 45. Respuesta del sistema ante un control por transformada T

Figura 43. Señal de error del sistema canónico observable ante un control
por Ackerman

IV-D3. Transformada T: Para realizar el regulador por la


transformada T sacamos nuestro polinomio caracterı́stico con
la matriz A inmediata de la siguiente forma:

Pc = det(SI − A)

Para este caso necesitamos hallar la matriz M que se forma


de la siguiente forma:
  Figura 46. Señal de error del sistema ante un control por transformada T
Pc (1) Pc (2) 1
M = Pc (2) 1 0
1 0 0 Forma canónica controlable.
Mediante el proceso descrito anteriormente se obtuvo las
Ya que para poder hallar las constantes por este método se constantes del regulador:
realiza ası́:

 
K = Pc (1) − P d(4) Pc (2) − P d(3) Pc (3) − P d(2)

(SM )−1

Variables de estado Figura 47. Constantes canónica controlable transformada T


Realizando en matlab el procedimiento explicado ante-
riormente de transformada T se obtuvieron las siguientes La respuesta que se obtuvo a partir de las constantes
constantes: halladas es la siguiente:

10
Figura 48. Respuesta del sistema canónico controlable ante un control por Figura 51. Respuesta del sistema canónico observable ante un control por
transformada T transformada T

Figura 52. Señal de error del sistema canónico observable ante un control
por transformada T

IV-E. Diseñar el observador por los 3 métodos


Figura 49. Señal de error del sistema canónico controlable ante un control Observadores de estado:
por transformada T En el laboratorio se ha supuesto que todas las variables
de estado estaban disponibles para su realimentación, sin
embargo,en la practica, no todas la variables de estado están
Forma canónica observable. accesibles para su realimentación por lo cual es necesario
incorporar observadores de estado.
Lo mas importante para el observador es tener en cuenta
Mediante el proceso descrito anteriormente se obtuvo las que el tiempo de establecimiento es diez veces menor que
constantes del regulador para la forma canónica observable: el tiempo que se usa en la planta, por lo que el polinomio
generado fue:

Figura 53. Contantes del polinomio observador

Figura 50. Constantes canónica observable transformada T IV-E1. Igualación de polos: En primer lugar se halla la
matriz AP (a partir de las matrices A y C) que utilizaremos
en el desarrollo, de la siguiente forma:
  
K1
La respuesta que se obtuvo a partir de las constantes AP = A − C K2 
halladas es la siguiente: K3

11
A esa matriz que nos genera matlab AP le aplicamos la Con estas formulas se despejaron las variables y el resultado
siguiente operación para hallar el polinomio caracterı́stico con fue el siguiente:
nuestras constantes como incógnitas para luego solucionar.

Pc = det(SI − AP )
Para hallar las constantes igualamos los valores del polino-
mio caracterı́stico y el resultado fue:
Figura 57. Contantes K observador por Tranformada T

A continuación se puede apreciar la simulación que se


realizo para el observador. Para los tres métodos se utiliza
la misma simulación.

Figura 54. Contantes K del observador por igualación.

IV-E2. Ackerman: Para utilizar Ackerman se utilizo la


siguiente formula:

Figura 55. Ecuacion Ackerman para los constantes del observador.

Figura 58. Simulación con observador de estados


Con esta ecuación, se genero la matriz φA y se utilizo la
formula, de la cual se hallaron las siguientes constantes: La respuesta que se obtuvo de esta simulación se muestra
en la siguiente imagen:

Figura 56. Contantes K del observador por Ackerman.

IV-E3. Transformada T: Para realizar el regulador por la


transformada T sacamos nuestro polinomio caracterı́stico con
la matriz A inmediata de la siguiente forma:

Pc = det(SI − A)
Para este caso necesitamos hallar la matriz W y la matriz Figura 59. Respuesta del observador
N de la siguiente forma:
 
Pc (1) Pc (2) 1
W = Pc (2) 1 0
1 0 0 IV-F. Diseñar el Servosistema con compensador integrante,
calculando las matrices empaquetadas del sistema.
N = C AC A2 C
 
Primero al tener una contante integradora, el polinomio
sera de 4 orden por lo que el polinomio deseado tendrá los

Pc (1) − P olDes (4)
 siguientes parámetros:
Ke = (W N )−1 Pc (2) − P olDes (3)
Pc (3) − P olDes (2) Ts = 1

12
ζ = 0,8
Con estos parámetros hallamos el polinomio deseado:

Figura 60. Contantes del polinomio deseado

Para revisar su correcto funcionamiento se utilizo la siguien-


te simulación:

Figura 63. Gráfica del control por Igualación de polos

Figura 61. Simulación Servosistema

IV-F1. Igualación Polos: Como en el caso del regulador,


primero generamos las matrices AP y BP (a partir de las
matrices A y B) que utilizaremos en el desarrollo, de la
siguiente forma:
  Figura 64. Señal de error del sistema c ante un control por Igualación de
BP = B K1 K2 K3 Polos

 
AP = A − BP ; −C 0 IV-F2. Ackerman: Para empezar ,se generan las matrices
A empaquetada (Aa), que contiene la matriz A y la matriz C
Despues hallamos un polinomio caracterı́stico de la siguien- generando una matriz 4x4 y B empaquetada (Bb) para generar
te manera: una matriz 4x1 con el siguiente código:
Pc = det(SI − AP )
Con el polinomio caracterı́stico y el polinomio deseado apli-
camos la siguiente formula:
K=
  Figura 65. Código para generar las matrices empaquetadas.
Pc (4) − Pd (2) Pc (3) − Pd (3) Pc (2) − Pd (4) Pc − Pd (5)
Al despejar las variables K1 K2 K3 el resultado sera el Después se genera la matriz S de la siguiente manera:
siguiente:
A2a Bb A3a Bb
 
S = BB Aa B b

Despues se genera la matrizφA:

φA = A4a A3a PDes (2) A2a PDes (3)


 
Aa PDes (4) IPDes (5)

Para terminar se hallan las constantes:

1 S −1 φA
 
Figura 62. Contantes de control por Igualación de polos Ke = 0 0 0

A continuación se simulan estos resultados: Dando como resultado:

13
 
Pc (1) Pc (2) Pc (3) 1
Pc (2) Pc (3) 1 0
M =
Pc (3)

1 0 0
1 0 0 0

T = SM

Y para finalizar hallamos las contantes para el sistema con


esta formula:
Figura 66. Constantes del Control.
K=
Se utilizo el montaje anteriormente mostrado con el obser-
0 − Pd (5) Pc (1) − Pd (4) Pc (3) − Pd (4) Pc (2) − Pd (5) (T )− 1
 
vador y el resultado fue el siguiente:
Con esto en mente el resultado fue el siguiente:

Figura 70. Constantes de control por transformada T.

Para terminar simulamos el sistema con estas constantes:


Figura 67. Control por Ackerman.

Figura 71. Simulación del control con Transformada T

Figura 68. Señal de error del sistema c ante un control por Ackerman

IV-F3. Transformada T: Para la transformada T utiliza-


mos las matrices A empaquetada y B empaquetada otra vez:

Figura 69. Código para generar las matrices empaquetadas.

Después hallamos un polinomio caracterı́stico con A empa-


quetada:
Pc = det(SI − Aa )
Generamos la matriz de transformación de la siguiente manera:
S = BB Aa Bb A2a Bb A3a Bb
 
Figura 72. Señal de error del sistema ante un control por transformada T

14
Como se puede apreciar los controladores poseen una En la siguiente pagina se anexa el código utilizado.
respuesta muy similar, por lo que el uso de cualquier método
llegara a una misma respuesta.

V. C ONCLUSIONES
Cuando un sistema presenta perturbaciones, el diseño
e implementación de reguladores permiten que estos
actúen como filtro y por ende, lograr que estas entradas
no controlables puedan ser eliminadas o reducidas a un
valor que ya no afecta al sistema.

Otro factor importante para que la perturbación sea


atenuada, es la retroalimentación del sistema, por lo que
el uso de servosistemas con retroalimentación negativa
es una opción viable para mitigar señales no deseadas
en el control de sistemas.

Los observadores sirven para estimar estados internos no


medibles mediante las mediciones tanto de entrada como
de salida del sistema a analizar. Como se puede ver en
la gráfica el observador presenta un comportamiento sin
perturbación por esta estimación.

Los métodos para hallar las constantes K, llegan a


una respuesta muy similar al compararlos entre ellos.
Por lo que es criterio del diseñador el método que utilice.

La implementación del método de Ackerman en


algoritmos fue mas cómoda y sencilla que los otros dos
métodos. ya que las matrices que se utilizan para generar
la respuesta son fáciles de modificar para diferentes
casos como el regulador y el controlador.

Es importante resaltar la diferencia entre un regulador y


un controlador, ya que aunque su método de obtención
es parecido, el regulador no puede eliminar el error
en estado estacionario, mientras que el controlador,
gracias a la implementación de un integrador logra esta
condición.

R EFERENCIAS
[1] El modelado de espacio de estado. http://www.ehu.eus/izaballa/Control/
Apuntes/lec4.pdf. Recuperado el 4 de Agosto de 2020.
[2] Variables de estado. https://controlautomaticoeducacion.com/
sistemas-dinamicos-lineales/variables-de-estado-espacio-de-estados/.
Recuperado el 5 de Agosto de 2020.
[3] Modelado y control en el espacio de estados. http://www.ieec.uned.es/
investigacion/Dipseil/PAC/archivos/Modelos2. Recuperado el 4 de Agosto
de 2020.
[4] Funcion de transferencia. https://controlautomaticoeducacion.com/
analisis-de-sistemas/funcion-de-transferencia/. Recuperado el 4 de
Agosto de 2020.
[5] Control moderno y optimo. http://bionanouni.wdfiles.com/local--files/
teaching-mt227-horario/Clase05-03.pdf. Recuperado el 4 de Agosto de
2020.
[6] Colocación de Polos http://web.mit.edu/16.31/www/Fall06/1631 topic13.
pdf. Recuperado el 18 de Agosto de 2020.

15
syms K_1 K_2 K_3 K_I KC_1 KC_2 KC_3 KO_1 KO_2 KO_3 s

M = 1;
k1 = 0.1;
k2 = 0.1;
b1 = 0.1;
b2 = 0.1;
L = 0.5;

%%%VARIABLES DE ESTADO
A = [0 1 0; -((k1+k2)/M) -(b1)/M (k2*L)/(M*4); (16*k2)/(36*b2*L) 0 -(k2)/(9*b2)]
B = [0; 0 ; -(4)/(3*b2*L)];
C = [1 0 0];
D = 0;

E = [0; k2/M; -(16*k2)/(36*b2*L)]


F = [0; 0; -4/L]

%%%FORMA CANONICA CONTROLABLE


% AC = [0 1 0; 0 0 1;-((k1*k2)/(9*b2*M)) -(((b1*k2)+(9*k1*b2)-(9*b2*k2))/(9*M*b2)) -(((9*b1*b2)
% BC = [0;0;1];
% CC = [((3*k2)/(9*b2*M)) 0 0];
% DC = 0;
%
% Fc=ss2tf(AC,F,CC,DC);
% Ec=ss2tf(AC,E,CC,DC);

%%%FORMA CANONICA OBSERVABLE


%
% AO = [0 0 -((k1*k2)/(9*b2*M)); 1 0 -(((b1*k2)+(9*k1*b2)-(9*b2*k2))/(9*M*b2));0 1 -(((9*b1*b2)
% BO = [((3*k2)/(9*b2*M)); 0 ; 0];
% CO = [1 0 0];
% DO = 0;

% Fo=ss2tf(A,F,C,D);
% Eo=ss2tf(A,E,C,D);
%
% EO = [0; Eo(3); Eo(4)];
% FO = [0; 0; Fo(4)];

%%%POLINOMIO DESEADO
ts=1;
cita=0.8;
wn=4/(cita*ts);

Pd_o2=[1 2*wn*cita wn*wn];


P_nd=[1 10*wn*cita];

Pd_o3=conv([1 2*wn*cita wn*wn],[1 10*wn*cita]);


Pd_o4=conv(Pd_o3,[1 10*wn*cita]);
Pd_o5=conv(Pd_o4,[1 10*wn*cita]);

1
%%%Cambio a forma canonica controlable
SI=eye(3)*s;
PCT=det(SI-A);
PCTV=coeffs(PCT,s)
M=[PCTV(2) PCTV(3) 1; PCTV(3) 1 0;1 0 0];
S=[B, A*B ,(A^2)*B];

AC=double(inv(S*M)*A*(S*M));
BC=double(inv(S*M)*B);
CC=double(C*(S*M))
EC = double(inv(S*M)*E);
FC =double(inv(S*M)*F);

%%%Cambio a forma canonica observable


Ct=transpose(C);
At=transpose(A);
OTC=[(Ct) (At)*(Ct) ((At^2))*(Ct)];
OTC_1=transpose(OTC);
% PCTo=det(SI-A);
% PCTVo=coeffs(PCTo,s);
% MO=[PCTVo(1) PCTVo(2) 1; PCTVo(2) 1 0;1 0 0];
To=inv(M*OTC_1);

AO=double(inv(To)*A*To);
BO=double(inv(To)*B);
CO=double(C*To);
EO=double(inv(To)*E);
FO=double(inv(To)*F);

%%%%IGUALACION DE POLOS

%%%%VARIABLES DE ESTADO

BP=B*[K_1 K_2 K_3];

AP=[A-BP];

SI=eye(3)*s;

PC=det(SI-AP);

V=coeffs(PC,s);

k= [V(3)-Pd_o3(2), V(2)-Pd_o3(3), V(1)-Pd_o3(4)];

ks= solve(k, [K_1 K_2 K_3]);

K1_1=double(ks.K_1);
K2_1=double(ks.K_2);
K3_1=double(ks.K_3);

2
KIP=[K1_1 K2_1 K3_1]

%%%%FORMA CANONICA CONTROLABLE

BPC=BC*[KC_1 KC_2 KC_3];

APC=[AC-BPC];

SI=eye(3)*s;

PCC=det(SI-APC);

VC=coeffs(PCC,s);

kC= [VC(3)-Pd_o3(2), VC(2)-Pd_o3(3), VC(1)-Pd_o3(4)];

ksC= solve(kC, [KC_1 KC_2 KC_3]);

KC1_1=double(ksC.KC_1);
KC2_1=double(ksC.KC_2);
KC3_1=double(ksC.KC_3);

KIPC=[KC1_1 KC2_1 KC3_1];

%%%%FORMA CANONICA OBSERVABLE

BPO=BO*[KO_1 KO_2 KO_3];

APO=[AO-BPO];

SI=eye(3)*s;

PCO=det(SI-APO);

VO=coeffs(PCO,s);

kO= [VO(3)-Pd_o3(2), VO(2)-Pd_o3(3), VO(1)-Pd_o3(4)];

ksO= solve(kO, [KO_1 KO_2 KO_3]);

KO1_1=double(ksO.KO_1);
KO2_1=double(ksO.KO_2);
KO3_1=double(ksO.KO_3);

KIPO=[KO1_1 KO2_1 KO3_1];

%%%%ACKERMAN

%%%%VARIABLES DE ESTADO
I=eye(3);

3
S=[B, A*B ,(A^2)*B];

AA=(A^3)+(A^2*Pd_o3(2))+(A*Pd_o3(3))+(I*Pd_o3(4));

K=[0 0 1]*(S^-1)*AA;

K1=[K(1) K(2) K(3)];

%%%%FORMA CANONICA CONTROLABLE


I=eye(3);

SC=[BC, AC*BC ,(AC^2)*BC] ;

AAC=(AC^3)+(AC^2*Pd_o3(2))+(AC*Pd_o3(3))+(I*Pd_o3(4));

KAC=[0 0 1]*(SC^-1)*AAC;

K1AC=[KAC(1) KAC(2) KAC(3)]

%%%%FORMA CANONICA OBSERVABLE

I=eye(3);

SO=[BO, AO*BO ,(AO^2)*BO] ;

AAO=(AO^3)+(AO^2*Pd_o3(2))+(AO*Pd_o3(3))+(I*Pd_o3(4));

KAO=[0 0 1]*(SO^-1)*AAO;

K1AO=[KAO(1) KAO(2) KAO(3)];

%%%%TRANSFORMADA T

%%%%VARIABLES DE ESTADO

PCT=det(SI-A);

PCTV=coeffs(PCT,s)

M=[PCTV(2) PCTV(3) 1; PCTV(3) 1 0;1 0 0];

KT=[PCTV(1)-Pd_o3(4) PCTV(2)-Pd_o3(3) PCTV(3)-Pd_o3(2)]*(inv(S*M));

KT1=double(KT(1));
KT2=double(KT(2));
KT3=double(KT(3));

KT_1=-[KT1 KT2 KT3];

4
%%%%FORMA CANONICA CONTROLABLE

PCTC=det(SI-AC);

PCTVC=coeffs(PCTC,s);

MC=[PCTVC(2) PCTVC(3) 1; PCTVC(3) 1 0;1 0 0];

KTC=[PCTVC(1)-Pd_o3(4) PCTVC(2)-Pd_o3(3) PCTVC(3)-Pd_o3(2)]*(inv(SC*MC));

KT1C=double(KTC(1));
KT2C=double(KTC(2));
KT3C=double(KTC(3));

KTC_1=-[KT1C KT2C KT3C];

%%%%FORMA CANONICA OBSERVABLE

PCTO=det(SI-AO);

PCTVO=coeffs(PCTO,s);

MO=[PCTVO(2) PCTVO(3) 1; PCTVO(3) 1 0;1 0 0];

KTO=[PCTVO(1)-Pd_o3(4) PCTVO(2)-Pd_o3(3) PCTVO(3)-Pd_o3(2)]*(inv(SO*MO));

KT1O=double(KTO(1));
KT2O=double(KTO(2));
KT3O=double(KTO(3));

KTO_1=-[KT1O KT2O KT3O];

clear all

syms L1 L2 L3 s

M = 1;
k1 = 0.1;
k2 = 0.1;
b1 = 0.1;
b2 = 0.1;
L = 0.5;

%%%VARIABLES DE ESTADO
A = [0 1 0; -((k1+k2)/M) -(b1)/M (k2*L)/(M*4); (16*k2)/(36*b2*L) 0 -(k2)/(9*b2)];
B = [0; 0 ; -(4)/(3*b2*L)];
C = [1 0 0];
D = 0;

E = [0; -k2/M; -(16*k2)/(36*b2*L)];


F = [0; 0; -4/L];

5
%%%FORMA CANONICA CONTROLABLE
%%%Cambio a forma canonica controlable
SI=eye(3)*s;
PCT=det(SI-A);
PCTV=coeffs(PCT,s)
M=[PCTV(2) PCTV(3) 1; PCTV(3) 1 0;1 0 0];
S=[B, A*B ,(A^2)*B];

AC=double(inv(S*M)*A*(S*M));
BC=double(inv(S*M)*B);
CC=double(C*(S*M));

EC = double(inv(S*M)*E);
FC =double(inv(S*M)*F);

SI=eye(3)*s;

%%%POLINOMIO DESEADO
tso=1/10;
citao=0.8;
wno=4/(citao*tso);

Pd_o2o=[1 2*wno*citao wno*wno];


P_ndo=[1 10*wno*citao];

Pd_o3o=conv([1 2*wno*citao wno*wno],[1 10*wno*citao]);


Pd_o4o=conv(Pd_o3o,[1 10*wno*citao]);
Pd_o5o=conv(Pd_o4o,[1 10*wno*citao]);

%%%%IGUALACION DE POLOS OBSERVADOR

AIPO=A-([L1;L2;L3]*C);

PCI=det(SI-AIPO);

PCI_1=coeffs(PCI,s);

Ke= [PCI_1(3)-Pd_o3o(2), PCI_1(2)-Pd_o3o(3), PCI_1(1)-Pd_o3o(4)];

kso= solve(Ke, [L1 L2 L3]);

L1_1=double(kso.L1);
L2_1=double(kso.L2);
L3_1=double(kso.L3);

KeIP=[L1_1 ;L2_1 ;L3_1];

%%%%ACKERMAN

6
I=eye(3);

AAo=(A^3)+(A^2*Pd_o3o(2))+(A*Pd_o3o(3))+(I*Pd_o3o(4));

CAO=[C;C*A;C*(A^2)];
CAO_1=inv(CAO);

KeA=AAo*CAO_1*[0;0;1];

%%%%TRANSFORMADA T

OTC=[C' A'*C' (A^2)'*C'];

PCTo=det(SI-A);

PCTVo=coeffs(PCTo,s);

M=[PCTVo(1) PCTVo(2) 1; PCTVo(2) 1 0;1 0 0];

To=M*OTC';

KoT=[[PCTVo(1)-Pd_o3o(4); PCTVo(2)-Pd_o3o(3) ;PCTVo(3)-Pd_o3o(2)]];

KeT=inv(To)*KoT;

KeT_1=-double(KeT);

También podría gustarte