Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
Figura 4. Método de Transformada T
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:
T = WM
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.
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
16 K2 x1 K2 θL 3Fa 16 K2 P 9B2 Ṗ
ẋ1 = v1 (2) θ̇ = [ − − ]− [ + ] (3)
9B2 L 4 16 4 9B2 L 4 4
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
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.
ẋ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:
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:
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:
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:
BP = B K1 K2 K3
AP = A − BP
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 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
A2a Bb
S = BB Aa Bb
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 39. Respuesta del sistema canónico controlable ante un control por
Ackerman
Figura 40. Señal de error del sistema canónico controlable ante un control
por Ackerman
9
Figura 44. Constantes de control mediante Transformada T
Figura 42. Respuesta del sistema canónico observable ante un control por
Ackerman
Figura 43. Señal de error del sistema canónico observable ante un control
por Ackerman
Pc = det(SI − A)
K = Pc (1) − P d(4) Pc (2) − P d(3) Pc (3) − P d(2)
(SM )−1
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
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
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:
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
1 S −1 φA
Figura 62. Contantes de control por Igualación de polos Ke = 0 0 0
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
Figura 68. Señal de error del sistema c ante un control por Ackerman
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.
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;
% 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);
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);
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
AP=[A-BP];
SI=eye(3)*s;
PC=det(SI-AP);
V=coeffs(PC,s);
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]
APC=[AC-BPC];
SI=eye(3)*s;
PCC=det(SI-APC);
VC=coeffs(PCC,s);
KC1_1=double(ksC.KC_1);
KC2_1=double(ksC.KC_2);
KC3_1=double(ksC.KC_3);
APO=[AO-BPO];
SI=eye(3)*s;
PCO=det(SI-APO);
VO=coeffs(PCO,s);
KO1_1=double(ksO.KO_1);
KO2_1=double(ksO.KO_2);
KO3_1=double(ksO.KO_3);
%%%%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;
AAC=(AC^3)+(AC^2*Pd_o3(2))+(AC*Pd_o3(3))+(I*Pd_o3(4));
KAC=[0 0 1]*(SC^-1)*AAC;
I=eye(3);
AAO=(AO^3)+(AO^2*Pd_o3(2))+(AO*Pd_o3(3))+(I*Pd_o3(4));
KAO=[0 0 1]*(SO^-1)*AAO;
%%%%TRANSFORMADA T
%%%%VARIABLES DE ESTADO
PCT=det(SI-A);
PCTV=coeffs(PCT,s)
KT1=double(KT(1));
KT2=double(KT(2));
KT3=double(KT(3));
4
%%%%FORMA CANONICA CONTROLABLE
PCTC=det(SI-AC);
PCTVC=coeffs(PCTC,s);
KT1C=double(KTC(1));
KT2C=double(KTC(2));
KT3C=double(KTC(3));
PCTO=det(SI-AO);
PCTVO=coeffs(PCTO,s);
KT1O=double(KTO(1));
KT2O=double(KTO(2));
KT3O=double(KTO(3));
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;
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);
AIPO=A-([L1;L2;L3]*C);
PCI=det(SI-AIPO);
PCI_1=coeffs(PCI,s);
L1_1=double(kso.L1);
L2_1=double(kso.L2);
L3_1=double(kso.L3);
%%%%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
PCTo=det(SI-A);
PCTVo=coeffs(PCTo,s);
To=M*OTC';
KeT=inv(To)*KoT;
KeT_1=-double(KeT);