Académique Documents
Professionnel Documents
Culture Documents
TAREA 2
Modelacin y Simulacin de un
Robot de 2gdl
CONTROL AVANZADO
PRESENTA:
20 DE OCTUBRE DE 2015
Control Avanzado
Objetivos especficos
1)
2)
3)
4)
Desarrollo
Descripcin del robot experimental de dos grados de libertad:
Figura 1. Robot planar de dos grados de libertad ubicado en las instalaciones del Instituto
Tecnolgico de la Laguna (Laboratorio de Mecatrnica y Control).
Control Avanzado
Descripcin
Longitud del eslabn 1
Longitud del eslabn 2
Distancia al centro de masa (eslabn 1)
Distancia al centro de masa (eslabn 2)
Masa eslabn 1
Masa eslabn 2
Inercia eslabn 1 respecto al centro de masa
Inercia eslabn 2 respecto al centro de masa
Aceleracin de la gravedad
Notacin
l1
l2
lc1
lc2
m1
m2
I1
I2
g
Valor
0.450
0.450
0.091
0.048
23.902
3.880
1.266
0.093
9.81
Unidades
m
m
m
m
kg
kg
kg m2
kg m2
m/s2
11 ()
21 ()
1
12 () 1
(, ) 12 (, ) 1
()
] [ ] + [ 11
] [ ] + [ 1 ] = [ ]
22 () 2
21 (, ) 22 (, ) 2
2 ()
2
()
(, )
()
Dnde:
2
2
11 () = 1 1
+ 2 [12 + 2
+ 21 2 cos(2 )] + 1 + 2
2
12 () = 2 [2
+ 1 2 cos(2 )] + 2
2
21 () = 2 [2
+ 1 2 cos(2 )] + 2
2
22 () = 2 2
+ 2
11 (, ) = 2 1 2 sen(2 ) 2
12 (, ) = 2 1 2 sen(2 )[ 1 + 2 ]
21 (, ) = 2 1 2 sen(2 ) 1
22 (, ) = 0
1 () = [1 1 + 2 1 ] sen(1 ) + 2 2 sen(1 + 2 )
2 () = 2 2 sen(1 + 2 )
Control Avanzado
[ ]=[
]
2
1
1
)
()
[()
(,
()]
2
Con ayuda del paquete o software Matlab despejamos el vector [ 1 ], de la siguiente forma:
2
syms m11 m12 m21 m22;
syms c11 c12 c21 c22;
syms q1p q2p g1 g2 tau1 tau2;
M=[m11 m12;m21 m22];
C=[c11 c12;c21 c22];
qp=[q1p;q2p];
tau=[tau1;tau2];
g=[g1;g2];
qpp=inv(M)*(tau-C*qp-g);
pretty(qpp(1));
m12 (g2 - tau2 + c21 q1p + c22 q2p)
m22 (g1 - tau1 + c11 q1p + c12 q2p)
----------------------------------- - ----------------------------------m11 m22 - m12 m21
m11 m22 - m12 m21
pretty(qpp(2));
m21 (g1 - tau1 + c11 q1p + c12 q2p)
m11 (g2 - tau2 + c21 q1p + c22 q2p)
----------------------------------- - ----------------------------------m11 m22 - m12 m21
m11 m22 - m12 m21
Control Avanzado
pretty(qpp(1));
m12 (g2 - tau2 + c21 q1p + c22 q2p)
m22 (g1 - tau1 + c11 q1p + c12 q2p)
----------------------------------- - ----------------------------------2
2
- m12 + m11 m22
- m12 + m11 m22
pretty(qpp(2));
m12 (g1 - tau1 + c11 q1p + c12 q2p)
m11 (g2 - tau2 + c21 q1p + c22 q2p)
----------------------------------- - ----------------------------------2
2
- m12 + m11 m22
- m12 + m11 m22
1
[(12 21 22 11 ) 1 + (12 22 22 12 ) 2 + 22 1 12 2 22 1 + 12 2 ]
11 22 12 21
1
[(21 11 11 21 ) 1 + (21 12 11 22 ) 2 21 1 + 11 2 + 21 1 11 2 ]
[11 22 12 21
]
Control Avanzado
As, en los modelos estticos, la friccin se modela mediante un vector ( ) que solo
depende de la velocidad de la articulacin . Los efectos de friccin son locales, es decir, ( )
puede ser escrito como:
( ) = [
1 ( )
]
2 ( )
( )
]
( )
11 ()
21 ()
[
1 ( )
]=[
0
2 ( )
0 1
] [ ] = [ 1]
2
2
12 () 1
(, ) 12 (, ) 1
()
] [ ] + [ 11
][ ] + [ 1 ] + [
0
22 () 2
21 (, ) 22 (, ) 2
2 ()
11 ()
21 ()
1
0 1
] [ ] = [ ]
2
2
1
12 () 1
(, ) 12 (, ) 1
()
] [ ] + [ 11
] [ ] + [ 1 ] + [ 1 ] = [ ]
2
22 () 2
21 (, ) 22 (, ) 2
2 ()
2
Control Avanzado
Dinmica del robot en forma de variables de estado.
1
1
2
2
[ ]=[
]
1
1
() [() (, ) () ( )]
2
syms m11 m12 m21 m22;
syms c11 c12 c21 c22;
syms q1p q2p g1 g2 tau1 tau2 fv;
M=[m11 m12;m21 m22];
C=[c11 c12;c21 c22];
tau=[tau1;tau2];
g=[g1;g2];
qp=[q1p;q2p];
Fm=[fv 0;0 fv];
qpp=inv(M)*(tau-C*qp-g-Fm*qp);
pretty(qpp(1));
m12 (g2 - tau2 + c21 q1p + c22 q2p + fv q2p)
m22 (g1 - tau1 + c11 q1p + c12 q2p + fv q1p)
-------------------------------------------- - -------------------------------------------m11 m22 - m12 m21
m11 m22 - m12 m21
pretty(qpp(2));
m21 (g1 - tau1 + c11 q1p + c12 q2p + fv q1p)
m11 (g2 - tau2 + c21 q1p + c22 q2p + fv q2p)
-------------------------------------------- - -------------------------------------------m11 m22 - m12 m21
m11 m22 - m12 m21
1
2
[ ]=
1
2
1
2
1
[(12 21 22 11 22 ) 1 + (12 22 22 12 + 12 ) 2 + 22 1 12 2 22 1 + 12 2 ]
11 22 12 21
1
[(21 11 11 21 + 21 ) 1 + (21 12 11 22 11 ) 2 21 1 + 11 2 + 21 1 11 2 ]
[11 22 12 21
]
1 ( )
]=[
0
2 ( )
][ ]+ [
0
+ ( )
0 ( )
][
]=[
]
( )
+ ( )
1
12 () 1
(, ) 12 (, ) 1
()
+ ( 1 )
] [ ] + [ 11
][ ] + [ 1 ] + [ 1
] = [ ]
22 () 2
21 (, ) 22 (, ) 2
2 ()
2 + ( 2 )
2
Control Avanzado
syms m11 m12 m21 m22;
syms c11 c12 c21 c22;
syms q1p q2p g1 g2 tau1 tau2 fv fc;
M=[m11 m12;m21 m22];
C=[c11 c12;c21 c22];
tau=[tau1;tau2];
g=[g1;g2];
qp=[q1p;q2p];
Fm1=[fv 0;0 fv];
Fm2=[fc 0; 0 fc];
qpp=inv(M)*(tau-C*qp-g-Fm1*qp-Fm2*sign(qp));
pretty(qpp(1));
m12 (g2 - tau2 + c21 q1p + c22 q2p + fv q2p + fc sign(q2p))
----------------------------------------------------------- m11 m22 - m12 m21
m22 (g1 - tau1 + c11 q1p + c12 q2p + fv q1p + fc sign(q1p))
----------------------------------------------------------m11 m22 - m12 m21
pretty(qpp(2));
m21 (g1 - tau1 + c11 q1p + c12 q2p + fv q1p + fc sign(q1p))
----------------------------------------------------------- m11 m22 - m12 m21
m11 (g2 - tau2 + c21 q1p + c22 q2p + fv q2p + fc sign(q2p))
----------------------------------------------------------m11 m22 - m12 m21
Control Avanzado
Control Avanzado
" Parameter values:
l1=0.450
l2=0.450
lc1=0.091
lc2=0.048
m1=23.902
m2=3.880
I1=1.266
I2=0.093
g=9.81
END
Figura 2. Grafica obtenida como resultado de la simulacin en SIMNON con pares 1 = 0.785398
y 2 = 0.174533. Para las variables articulares q1 se muestra en color negro (inferior) y q2 en
color azul (superior).
Control Avanzado
Simulacin en el MATLAB-Simulink
Figura 4. Diagrama de bloques en Matlab-Simulink para la simulacin del robot de dos grados
de libertad en lazo abierto.
10
Control Avanzado
Funcin r2gdl implementada en el bloque Interpreted MATLAB Fcn
function [out] = r2gdl(x)
% Funcin R2GDL de Matlab para simular un robot de dos grados de libertad
% 20 de Octubre de 2015
q=[x(1);x(6)];
tau=[x(3);x(4)];
qp=[x(2);x(5)];
% Valores de los
l1 = 0.450;
l2 = 0.450;
lc1 = 0.091;
lc2 = 0.048;
m1 = 23.902;
m2 = 3.880;
I1 = 1.266;
I2 = 0.093;
g
= 9.81;
1)
2)
de masa (kg m^2)
de masa (kg m^2)
11
Control Avanzado
10
-2
10
Tiempo [s]
10
12
Control Avanzado
Figura 7. Diagrama de bloques en Matlab-Simulink para la simulacin del robot de dos grados
de libertad en lazo cerrado.
Figura 8. Esquema de control en lazo cerrado del robot de dos grados de libertad con
controlador Proporcional (P).
Ismael Medina Lpez
13
Control Avanzado
70
60
50
40
30
20
10
-10
10
Figura 9. Graficas obtenida de la simulacin en Matlab-Simulink del robot 2gdl con controlador
Proporcional (P).
Figura 10. Esquema de control en lazo cerrado del robot de dos grados de libertad con
controlador Proporcional-Derivativo (P).
14
Control Avanzado
50
45
40
35
30
25
20
15
10
5
0
10
Figura 11. Graficas obtenida de la simulacin en Matlab-Simulink del robot 2gdl con controlador
Proporcional-Derivativo (P).
Figura 12. Diagrama de bloques en Matlab-Simulink para la simulacin del robot de dos
grados de libertad en lazo cerrado con controlador PID, caso especial con 3 bloques step en
cascada.
15
Control Avanzado
50
45
40
35
30
25
20
15
10
5
0
10
Figura 13. Graficas obtenida de la simulacin en Matlab-Simulink del robot 2gdl con controlador
Proporcional-Integral-Derivativo (PID).
16
Control Avanzado
Simulacin en SIMNON
Las simulaciones se llevaron de acuerdo a las siguientes variantes para 5 diferentes controladores:
Controlador
Constante
Controlador Proporcional
(P)
Variable
Controlador
Proporcional-Derivativo
(PD)
Controlador PD con
compensacin de
gravedad (PD+g)
Controlador
Proporcional-IntegralDerivativo (PID)
Constante
Variable
Constante
Variable
Constante
Variable
Constante
Variable
Friccin viscosa
Friccin Viscosa + friccin de
Coulomb
Friccin viscosa
Friccin Viscosa + friccin de
Coulomb
Friccin viscosa
Friccin Viscosa + friccin de
Coulomb
Friccin viscosa
Friccin Viscosa + friccin de
Coulomb
Friccin viscosa
Friccin Viscosa + friccin de
Coulomb
Friccin viscosa
Friccin Viscosa + friccin de
Coulomb
Friccin viscosa
Friccin Viscosa + friccin de
Coulomb
Friccin viscosa
Friccin Viscosa + friccin de
Coulomb
Friccin viscosa
Friccin Viscosa + friccin de
Coulomb
Friccin viscosa
Friccin Viscosa + friccin de
Coulomb
Valor
10
10
5 sin ( )
2
5 sin ( )
2
Parmetro
1
2
Valor
30
30
Parmetro
1
2
Valor
10
10
20
0.5
20
0.5
17
Control Avanzado
Controlador Proporcional (P)
De acuerdo a la tabla anterior se presentaran cuatro graficas diferentes que corresponden cada
variante de los cinco controladores utilizados en el robot de dos grados de libertad.
CONTINUOUS SYSTEM 2GDL
" Version:
1.0
" Abstract:
" Description:
" Revision:
1.0
" Author:
ISMAEL MEDINA LOPEZ
" Created:
14/10/2015
" Inputs and outputs:
" INPUT
" OUTPUT
" States, derivates and time:
STATE q1 q2 qp1 qp2
DER
dq1 dq2 ddq1 ddq2
" TIME
" Initializations:
" Equations:
dq1=qp1
dq2=qp2
ddq11=(m22/(m11*m22-m12*m21))*(tau1-g1-c11*qp1-c12*qp2-fv*qp1)
ddq1=ddq11+(m12/(m11*m22-m12*m21))*(g2-tau2+c21*qp1+c22*qp2+fv*qp2)
ddq22=(m11/(m11*m22-m12*m21))*(tau2-g2-c21*qp1-c22*qp2-fv*qp2)
ddq2=ddq22+(m21/(m11*m22-m12*m21))*(g1-tau1+c11*qp1+c12*qp2+fv*qp1)
"
"
"
"
-fc*sign(qp1)
+fc*sign(qp2)
-fc*sign(qp2)
+fc*sign(qp1)
m11=m1*lc1*lc1+m2*(l1*l1+lc2*lc2+2*l1*lc2*cos(q2))+I1+I2
m12=m2*(lc2*lc2+l1*lc2*cos(q2))+I2
m21=m2*(lc2*lc2+l1*lc2*cos(q2))+I2
m22=m2*lc2*lc2+I2
c11=-m2*l1*lc2*sin(q2)*qp2
c12=-m2*l1*lc2*sin(q2)*(qp1+qp2)
c21=m2*l1*lc2*sin(q2)*qp1
c22=0
g1=(m1*lc1+m2*l1)*g*sin(q1)+m2*lc2*g*sin(q1+q2)
g2=m2*lc2*g*sin(q1+q2)
tau1=kp1*(qd1-q1)
tau2=kp2*(qd2-q2)
kp1=30
kp2=30
qd1=10
qd2=10
fv=0.5
" Parameter values:
18
Control Avanzado
l1=0.450
l2=0.450
lc1=0.091
lc2=0.048
m1=23.902
m2=3.880
I1=1.266
I2=0.093
g=9.81
END
a)
b)
19
Control Avanzado
c)
d)
Figura 14. Respuestas de las variables articulares del robot de 2gdl con controlador
Proporcional (P), para: a) Entrada qd constante con friccin viscosa, b) Entrada qd constante
con friccin viscosa ms friccin de Coulomb, c) Entrada qd variable con friccin viscosa, d)
Entrada qd variable con friccin viscosa ms friccin de Coulomb.
" +kd1*(((5*3.1416)/2)*cos((3.1416/2)*t)-qp1)
" +kd2*(((5*3.1416)/2)*cos((3.1416/2)*t)-qp2)
fv=0.5
fc=0.5
kp1=30
kp2=30
kd1=20
kd2=20
qd1=10
qd2=10
"
"
5*sin((3.1416/2)*t)
5*sin((3.1416/2)*t)
20
Control Avanzado
a)
c)
b)
d)
Figura 15. Respuestas de las variables articulares del robot de 2gdl con controlador ProporcionalDerivativo (PD), para: a) Entrada qd constante con friccin viscosa, b) Entrada qd constante con friccin
viscosa ms friccin de Coulomb, c) Entrada qd variable con friccin viscosa, d) Entrada qd variable con
friccin viscosa ms friccin de Coulomb.
21
Control Avanzado
Controlador Proporcional-Derivativo (PD) con compensacin de gravedad
g1=(m1*lc1+m2*l1)*g*sin(q1)+m2*lc2*g*sin(q1+q2)
g2=m2*lc2*g*sin(q1+q2)
tau1=kp1*(qd1-q1)-kd1*qp1+g1
tau2=kp2*(qd2-q2)-kd2*qp2+g2
fv=0.5
fc=0.5
kp1=30
kp2=30
kd1=20
kd2=20
qd1=10
qd2=10
"
"
5*sin((3.1416/2)*t)
5*sin((3.1416/2)*t)
a)
b)
22
Control Avanzado
c)
d)
Figura 16. Respuestas de las variables articulares del robot de 2gdl con controlador ProporcionalDerivativo (PD) con compensacin de gravedad, para: a) Entrada qd constante con friccin viscosa, b)
Entrada qd constante con friccin viscosa ms friccin de Coulomb, c) Entrada qd variable con friccin
viscosa, d) Entrada qd variable con friccin viscosa ms friccin de Coulomb
23
Control Avanzado
a)
b)
c)
d)
Figura 17. Respuestas de las variables articulares del robot de 2gdl con controlador Tanh-D con
compensacin de gravedad, para: a) Entrada qd constante con friccin viscosa, b) Entrada qd constante con
friccin viscosa ms friccin de Coulomb, c) Entrada qd variable con friccin viscosa, d) Entrada qd
variable con friccin viscosa ms friccin de Coulomb
24
Control Avanzado
Control Proporcional-Integral-Derivativo (PID)
STATE q1 q2 qp1 qp2 x1 x2
DER
dq1 dq2 ddq1 ddq2 dx1 dx2
.
.
.
dx1=qt1
dx2=qt2
tau1=kp1*qt1-kd1*qp1+ki1*x1
tau2=kp2*qt2-kd2*qp2+ki2*x2
qt1=(qd1-q1)
qt2=(qd2-q2)
fv=0.3
kp1=30
kp2=30
kd1=20
kd2=20
ki1=10
ki2=10
qd1=10
qd2=10
a)
b)
25
Control Avanzado
c)
d)
Figura 18. Respuestas de las variables articulares del robot de 2gdl con controlador Proporcional-IntegralDerivativo, para: a) Entrada qd constante con friccin viscosa, b) Entrada qd constante con friccin viscosa
ms friccin de Coulomb, c) Entrada qd variable con friccin viscosa, d) Entrada qd variable con friccin
viscosa ms friccin de Coulomb
Conclusin
En este documento se present el modelo dinmico de un sistema mecatrnico (robot) de dos
grados de libertad, el cual, puede ser motivo de un amplio estudio para el diseo de diferentes
controladores. En esta ocasin el sistema fue simulado con los controladores clsicos
Proporcional (P), Proporcional-Derivativo y Proporcional-Integral-Derivativo (PID), tanto en
Matlab-Simulink como en el paquete SIMORO. Se pudo constatar una gran similitud en la
obtencin de los resultados para cada uno de los controladores y por supuesto como la respuesta,
que es el comportamiento de las variables articulares, cambia significativamente con los
controladores, obteniendo mejores resultados cuando el controlador es ms robusto, el sistema
por lo tanto tendr un comportamiento ms estable.
Referencias Bibliogrficas
R. Kelly, V. Santibez & A. Lora. Control of Robot Manipulators in Joint Space. 2da
Ed. 2005. (pp. 92-95).
26