Beruflich Dokumente
Kultur Dokumente
ruedas
W. Bravo
**
Resumen
La deteccion e identificacion de fallas en sistemas
presenta un a rea de oportunidad para investigadores
hoy en da. En este trabajo se aplican conocimientos
teoricos sobre deteccion e identificacion de fallas en un
sistema real. El sistema en cuestion es un vehculo de
dos ruedas.
2. Sistema
Se elige un modelo sencillo de 3 grados de libertad.
Unicamente
nos da informacion suficiente para hablar
de estabilidad del vehculo al moverse, mas no da la
dinamica completa del movimiento real.
El modelo es de la forma
x = Ax + Bu
1. Introduccion
Para este trabajo se consideran vehculos de dos
ruedas, existen dos posibles configuraciones para ellos,
con ambas ruedas en una sola lnea y con ruedas en configuracion paralela. Se consideran u nicamente vehculos de dos ruedas en una sola lnea como son motocicletas y bicicletas.
El resto de este trabajo esta dispuesto como se describe
a continuacion. En la seccion 2 se presenta el sistema.
En la seccion 3 se describe el procedimiento para detectar e identificar una falla. En la seccion 4 se presenta
un ejemplo de aplicacion de control por reconfiguracion
en el sistema con falla. En la seccion 5 se muestran los
resultados graficamente. Finalmente en la seccion 6 se
encuentran las conclusiones del trabajo.
En la seccion de Apendices se encuentran los valores de
los parametros completos del modelo utilizado ademas
del codigo de MATLAB utilizado para la simulacion.
1.1. Objetivo
El objetivo de este trabajo es utilizar conceptos
teoricos sobre deteccion e identificacion de fallas en una
aplicacion real.
* El autor pertenece al programa de maestra en control del Instituto de Ingeniera de la Universidad Nacional Autonoma de Mexico,
Ciudad Universitaria 04510, CDMX, Mexico.
** walteraugusto@hotmail.com
= Cx + Du
Donde:
Ld 0 Lo 0
0
0
0 0
Sd Soo So 0
0
1
0 0
0
0 Ro 0
0 Ldt
0
0
B = S0t Sdt
0
0
0
0
0 1 0 0 0
C = 0 0 0 1 0
0 0 0 0 1
0 0
D = 0 0
0 0
0
1
A=
Sdd
0
0
x=
(1)
(2)
(3)
(4)
(5)
u=
(6)
Donde
, a ngulo de giro del vehculo (Roll angle)
, a ngulo de la direccion (Steer angle)
, a ngulo de direccion de avance (Direction angle)
, par de la direccion
, cambio de peso del conductor
Antecedentes
Parametros
Variables
v (velocidad) Lo , Ro
v (velocidad) Sdd
v (velocidad) Soo
Descripcion
M
m
g
h
hm
Ie
v
L
Ixs
Ip
Cc
Ct
f
Masa total
Masa del condutor
Aceleracion
Altura
Altura
Momento de inercia
Angulo
de avance
Velocidad
Base de la rueda
Tasa de variacion entre masas
Radio de la llanta
Momento de incercia
Momento de inercia
Coeficiente de curva
Coeficiente de inclinacion
Desplazamiento de la rueda
Consecuencias
Sujeto
a falla
NO
NO
NO
NO
NO
NO
NO
SI
NO
NO
NO
NO
NO
NO
NO
NO
(7)
Tabla 1. Analisis
de parametros.
La mayor parte de los parametros considerados para este sistema (recordando que se eligio un modelo sencillo) son constantes, se obtienen de manera geometrica
y no estan sujetos a fallas. Si alguno de estos elementos
fallarala motocicleta o bicicleta no podra funcionar
en el vector de parametros. Esto se puede hacer debido a que se consideran multiplicativas las fallas. Si se
define como = 0 + , donde corresponde a la
alteracion del vector de parametros debido a la falla y
0 es el vector de parametros nominales.
Se puede ordenar el vector de parametros para separar entre las fallas de interes y las que no interesan
( = [ ] Rd+ f ). Los primeros d elementos del
vector son desviaciones despreciables y los u ltimos f
elementos corresponden a las fallas multiplicativas.
El modelo se puede expresar como
x(t)
= A(0 + )x(t) + B(0 + )u(t)
y(t) = C(0 + )x(t)
Desarrollando lo anterior para un sistema lineal en
los parametros se obtiene lo siguiente El modelo se puede expresar como
x(t)
= A(0 )x(t) + B(0 )u(t) + E1 + F1
y(t) = C(0 )x(t) + E2 + F2
Figura 1. Principio de coherencia
En este ejemplo, se propone un control que reconfigure sus parametros a traves de un cambio en la estructura para cumplir con el objetivo de control, que en este
caso es mantener los valores propios de la matriz del
(8)
(9)
x = Ax + Bu + Eu
y = Cx
4. Reconfiguracion de control
Se considera la siguiente matriz de firma de fallas.
f1
r0
r1
r2
f2
x = Mx(t) + Nr(t)
(10)
Los conjuntos R y T definen una familia de comportamientos en lazo cerrado que son aceptables.
Tambien se considera una falla como admisible si
existe una ley de control u(t) = K f x(t) + G f r(t) tal que
A f + B f K f R y B f G f T.
Para una falla admisible el concepto de reconfiguracion implica que el control representado por las matrices K f y G f pueda ser disenado para atender la situacion
de falla produciendo un desempeno admisible.
Se partira de un control de retroalimentacion en el
sistema nominal, para despues hacer el control de reconfiguracion. Un esquema general [1] puede verse en
(Figura 2). Se hace de esta forma para poder aplicar el
control en caso de falla al control nominal sin necesidad
de modificar el control nominal.
474,75 + 474,07i
474,75 474,07i
148,90 + 149,55i
148,90 149,55i
008,94 + 000,00i
Y del sistema con fallas:
482,02
+ 474,23i
482,02
474,23i
714,33
+ 000,00i
064,56
+ 000,00i
000,00
+ 000,00i
Utilizando asignacion de polos en la matriz con fallas se obtiene la siguiente matriz de retroalimentacion
K f , misma que ayudara a recuperar la estabilidad del
sistema.
1773400
2915,9
(14)
Ademas para cumplir con el esquema propuesto
(Figura 1) se calcula una matriz de ganancias KR como
sigue
Kf =
Figura 2. Esquema general
Para el sistema nominal se utiliza un controlador
LQR. La matriz A nominal y la matriz A con fallas,
ademas de la matriz de retroalimentacion Kn se presenta
a continuacion.
0
1
An =
14,5
0
0
0
1
Af =
0,0018
0
0
0,0221
Kn =
0,0679
4813,7 0
0
0
45,6
0
0
0
5,7
0
0
0
5,7
1
0
521,3
0
0,2445
0
0
0
0,0001 0
0
0
0
492,4086 45,6318 0
1,0000
0
0
0
0,0007
0
(12)
0,0602
31,6595
0,3006
0,0122
46,9994
0,0958
(11)
70,7103
0,2173
(13)
Se obtienen los siguientes valores propios del sistema nominal:
4
9,1774
0,1096 145,5973
10,1089 0,0240 0,2353
KR = K f Kn
0,3327 9,2376
0,0234 21,5506
0,1909
0,0361
(15)
173300
2916,1
(16)
Los polos del sistema con falla utilizando la matriz
de ganancia (KR + Kn ) quedan como sigue:
KR =
521,3
0
0,2445
0
0
0,3547
0,0445
98,5979
0,1395
474,75 + 474,07i
474,75 474,07i
148,90 + 149,55i
148,90 149,55i
008,94 + 000,00i
5. Graficas
Se hicieron simulaciones del sistema perturbado
ante un escalon, siguiendo una senal de referencia tambien de escalon. Se puede ver que el control nominal
mantiene estabilidad ademas de proporcionar valores de
las variables de interes en magnitudes fsicamente posibles (Figura 3). Cuando el sistema falla el control nominal no puede estabilizarlo (Figura 4). En (Figura 5) se
ve la respuesta deseada del sistema con falla pero utilizando un controlador que para implementarse requerira
alterar el controlador nominal. Finalmente en (Figura 6)
se presenta la respuesta del sistema perturbado ante una
falla siendo controlado a traves de una reconfiguracion
del controlador nominal, lo que es perfectamente realizable.
6. Conclusiones
El diagnostico de fallas en un sistema no tiene una
metodologa aplicable para todo sistema arbitrariamente. Debe hacerse con cuidado y verificar las condiciones de cada uno de los sistemas. Para el caso en estudio
fue un modelo nominal linealizado sencillo donde dadas las condiciones fsicas reales del sistema se pudo
identificar la u nica falla posible. Existen otros modelos
con mas grados de libertad que pueden dar mas informacion y por lo mismo permitir mas grados de libertad
en la deteccion de las fallas. Dada la simplicidad del
modelo se pudo identificar el parametro a fallar, habra
sistemas donde u nicamente sea posible la deteccion de
falla en alguna vecindad, localidad, o algun punto de
operacion y no se pueda hacer identificacion. Se utilizaron esquemas de control lineales para hacer el ejemplo
practico, demostrando la eficacia de controladores reconfigurados, pues permiten una implementacion mas
limpia.
Referencias
[1] Cepeda, C. & Alcorta, E. Control de sistemas LTI con
Tolerancia a Fallas Admisibles. Congreso anual 2010 de
la Asociacion de Mexico de Control Automatico, Puerto
Vallarta, Jalisco, Mexico, 2010.
[2] Verde, C. Monitoreo y diagnostico automatico de fallas en sistemas dinamicos. Trillas, Ciudad de Mexico,
Mexico, 2013.
[3] Ooms, W., Literature Review, in Motorcycle Modeling and Control. Eindhoven, Neatherlands: Technische
Universiteit Eindhoven, 2011, pp. 4-30.
[4] Schmitt, T., Zimmer, D. & Cellier F., A Virtual Motorcycle Rider Based on Automatic Control Design. in Proceedings 7th Modelica Conference, The Modelica Association, Como, Italy, 2009, pp. 19-28.
[5] Inoue, G. & Yasunobu, S., An Intelligent MIMO Control
for Two-Wheeled Vehicle. en Fuzzy Systems Conference, IEEE. London, England, 2007, pp. 1-6.
[6] Schmitt, T., Eigenvalue Analysis. en Modeling of a Motorcycle in Dymola/Modelica, Dornbirn, Austria: Vorarlberg University of Applied Sciences, 2009, pp. 5969.
[7] Ctms.engin.umich.edu Control Tutorials for MATLAB
and Simulink - Home).
Disponible en lnea:
http://ctms.engin.umich.edu/CTMS/index.php?aux=Home
[Ultimo
acceso: 27-04-16].
[8] Prado, A. Diagnostico de fallas con modelos de Bond
Graph. Tesis, Instituto de Ingeniera UNAM, Ciudad de
Mexico, Mexico, 2010.
Apendices
Apendice A. Parametros.
= 150;
= 70 0,55;
= 9,8;
= 0,461;
hm
= 0,54;
Ie
= 1,3;
= 8;
pi/2;
= 1,414;
= 30,7/150;
= 0,305;
Ixs
= 1,3063;
Ip
= 0,72;
Cc
= 11,2;
Ct
= 0,94;
= 0,116;
Ld
= 521,2846
Lo
= 4813,7
Sdd
= 14,4571
Sd
= 0,2445
Soo
= 5,7193
So
= 45,6318
Ro
= 5,6577
Ldt
S0t
= 15163
= 0,7655
S0t
= 0,7655 1013
Sdt
= 0,2848 1013
Apendice B. MATLAB
64
65
66
67
68
70
69
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
%1.2 Ecuaciones
Mu=I_p/I_xs;
Lambda=sqrt((M*g*alpha*sin(eta))/I_xs);
Tau=f/2*Rho;
L_d=(M*g*h)/I_e;
L_dt=(m*g/I_e)*(1-(M*h*(h+h_m)/I_e));
L_o=-(M*h/I_e*L)*v2*sin(eta);
R_o=(v/L)*sin(eta);
S_dd=(Mu/Rho)*v*sin(eta);
S_oo=-((sin(eta)2)/L)*v-2*Rho*Lambda2*
C_c*(sin(eta)/v)*Tau2;
S_d=-cos(eta)*L_d+Lambda2*(1-C_t)*Tau;
S_o=(sin(eta)*cos(eta)*(1+(2*I_p/M*h*Rho)
*(L_d/g)
-(Mu/Rho))*v2)/L-(L_d*alpha*
sin(eta)*cos(eta)*(2*Rho/h)
+Lambda2*(C_c*sin(eta)-(1-C_t)*cos(eta)))*Tau;
S_ot=1/I_xs;
S_dt=-cos(eta)*L_dt;
49
51
52
53
54
55
56
59
60
61
62
63
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
96
97
98
99
100
101
102
103
%2.2 Ecuaciones
Mu=I_p/I_xs;
Lambda=sqrt((M*g*alpha*sin(eta))/I_xs);
Tau=f/2*Rho;
L_d=(M*g*h)/I_e;
L_dt=(m*g/I_e)*(1-(M*h*(h+h_m)/I_e));
L_o=-(M*h/I_e*L)*v2*sin(eta);
R_o=(v/L)*sin(eta);
S_dd=(Mu/Rho)*v*sin(eta);
S_oo=-((sin(eta)2)/L)*v-2*Rho*Lambda
2*C_c*(sin(eta)/v)*Tau2;
S_d=-cos(eta)*L_d+Lambda2*(1-C_t)*Tau;
S_o=(sin(eta)*cos(eta)*(1+(2*I_p/M*h*Rho)
*(L_d/g)-(Mu/Rho))
*v2)/L-(L_d*alpha*sin(eta)*cos(eta)*
(2*Rho/h)+Lambda2*
(C_c*sin(eta)-(1-C_t)*cos(eta)))*Tau;
S_ot=1/I_xs;
S_dt=-cos(eta)*L_dt;
104
105
106
107
108
109
110
111
112
113
114
116
117
118
119
120
121
122
123
124
57
58
73
115
48
50
72
95
28
29
71
125
126
%%Seccion 3. Controlador
%3.1 LQR
Q = Cn'*Cn;
Q(2,2) = 1000; %Delta (Roll angle)
Q(4,4) = 2000; %Omega (Steer angle)
Q(5,5) = 5000; %Theta (Direction angle)
R = [1 0; 0 1];
Kn = lqr(An,(Bn+En),Q,R);
Dc = [Dn];
Cc = [Cn];
Bc = [Bn+En];
Ac = [(An-Bc*Kn)];
polesn=eig(Ac);
127
128
129
130
131
KR=Kf-Kn;
132
133
134
135
136
137
199
138
139
140
141
142
145
146
147
=
=
=
=
[Df];
[Cf];
[Bf+Ef];
[Af-Bccc*(Kn+KR)];
Dl
Cl
Bl
Al
[Df];
[Cf];
[Bf+Ef];
[(Af-Bl*Kn)];
150
151
152
155
156
157
160
161
162
163
164
167
168
169
172
173
174
177
178
179
182
183
184
185
188
189
190
191
192
193
194
195
196
197
209
211
212
213
214
216
217
218
219
221
222
223
224
226
227
228
229
230
%4.2 Ecuaciones
Mu=I_p/I_xs;
Lambda=sqrt((M*g*alpha*sin(eta))/I_xs);
Tau=f/2*Rho;
L_d=(M*g*h)/I_e;
L_dt=(m*g/I_e)*(1-(M*h*(h+h_m)/I_e));
L_o=-(M*h/I_e*L)*v2*sin(eta);
R_o=(v/L)*sin(eta);
S_dd=(Mu/Rho)*v*sin(eta);
S_oo=-((sin(eta)2)/L)*v-2*Rho*Lambda2*
C_c*(sin(eta)/v)*Tau2;
S_d=-cos(eta)*L_d+Lambda2*(1-C_t)*Tau;
S_o=(sin(eta)*cos(eta)*(1+(2*I_p/M*h*Rho)*
(L_d/g)-(Mu/Rho))*v2)/L-(L_d*alpha*sin(eta)
*cos(eta)*(2*Rho/h)+Lambda2*(C_c*sin(eta)
-(1-C_t)*cos(eta)))*Tau;
S_ot=1/I_xs;
S_dt=-cos(eta)*L_dt;
231
233
234
235
236
238
239
240
241
243
244
245
246
247
[y4,t,x4]=lsim(sys_lqqq,r,t);
[ax4,hlines4] = plotyyy(t,y(:,1),t,y(:,2),t,
y(:,3),ylabels);
title('Step Response
with A_f-(B_f+E_f)*(K_n+K_R)');
186
187
208
242
[y3,t,x3]=lsim(sys_lqq,r,t);
[ax3,hlines3] = plotyyy(t,y(:,1),t,y(:,2),
t,y(:,3),ylabels);
title('Step Response with A_f-(B_f+E_f)*K_f');
180
181
207
237
[y2,t,x2]=lsim(sys_l,r,t);
[ax2,hlines2] = plotyyy(t,y(:,1),t,y(:,2),
t,y(:,3),ylabels);
title('Step Response with A_f-(B_f+E_f)*K_n');
175
176
206
232
[y1,t,x1]=lsim(sys_lq,r,t);
[ax1,hlines1] = plotyyy(t,y(:,1),t,y(:,2),
t,y(:,3),ylabels);
title('Step Response with A_n-(B_n+E_n)*K_n');
170
171
204
225
%3.5 Graficas
t = 0:0.5:120;
r =[0.9*ones(size(t)) ; 0.9*ones(size(t))];
ylabels{1}='Roll Angle';
ylabels{2}='Steering Angle';
ylabels{3}='Direction Angle';
165
166
203
220
%3.4 Polos
polesl=eig(Al);
polesnn=eig(Acc);
polesnnn=eig(Accc);
158
159
202
215
sys_lq = ss(Ac,Bc,Cc,Dc);
sys_l = ss(Al,Bl,Cl,Dl);
sys_lqq = ss(Acc,Bcc,Ccc,Dcc);
sys_lqqq = ss(Accc,Bccc,Cccc,Dccc);
153
154
201
210
=
=
=
=
148
149
200
205
Dccc
Cccc
Bccc
Accc
143
144
198
248
249
250
251
252
253
%%Seccion 4. Residuos
%4.1 Falla (v->inf)
M=150; %Masa total [Kg]
m=70*0.55; %Masa del conductor
%(parte superior) [Kg]
g=9.8; %Aceleracion [N/Kg]
h=0.461; %Altura al CM (Centro de masa)
%desde el suelo [m]
h_m=0.54; %Altura al CM del conductor
%desde el CM [m]
I_e=1.3; % Momento de inercia alrededor
254
%4.5 Residuos
[ynom,t,xnom]=lsim(sys_lq,r,t);
[ymin,t,xmin]=lsim(sys_lqq,r,t);
[ymax,t,xmax]=lsim(sys_lqq2,r,t);
r0=ynom-ynom;
r1=ynom-ymin;
r2=ynom-ymax;