T2 Robot3d 17100565
T2 Robot3d 17100565
Tabla 1 de parámetros
CM1 CM1 0 0 q1
i ai ❑i di ❑i
1 a1 Pi/2 0 q2
CM2 Xcm2 0 Ycm2 q2
2 a3 Pi/2 0 q2+pi/
2
CM3 0 0 a2-cm3+q3 0
3 0 0 a2+q3 0
Cinemática Directa
[ ]
i−1
cos ( θ i ) −sin ( θ i ) cos ( α i ) sin ( θi ) sin ( α i ) a i cos ( θi )
sin ( θ i) cos ( θi ) cos ( α i ) −cos ( θi ) sin ( α i ) ai sin ( θ i )
T= (1.0)
0 sin ( α i ) cos ( α i ) di
i 0 0 0 1
[ ]
0
cos (q 1) 0 sin(q 1) a 1∗cos (q 1)
sin(q 1) 0 −cos (q 1) a 1∗sin (q 1)
T= (1.1)
0 1 0 0
1 0 0 0 1
[ ]
1
−sin (q 2) 0 cos (q 2) −a 3∗sin(q 2)
T = cos (q 2) 0 sin(q 2) a 3∗cos (q 2) (1.2)
0 1 0 0
2 0 0 0 1
[ ]
2
1 0 0 0
0 1 0 0
T= (1.3)
0 0 1 a 2+ q 3
3 0 0 0 1
T0CM1 =
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
T1CM2 =
[ 0, 0, 1, Ycm2]
[ 0, 0, 0, 1]
T2CM3 =
[ 1, 0, 0, 0]
[ 0, 1, 0, 0]
[ 0, 0, 1, a2 - cm3 + q3]
[ 0, 0, 0, 1]
Matriz de Transformacion - T0CM2
T0CM2 =
[ 0, 0, 0, 1]
T0CM3 =
[ 0, 0, 0, 1]
Comprobaciones
Cuando
[ ]
90°
q⃗ = 90° ( 2.0 )
10
[ ]
0
0 1 0
R= −1 0 0 (2.1)
3 0 0 1
[ ]
0
0
P= a 1−a3 (2.2)
3 a 2+10
[ ]
0
0 1 0 0
−1 0 0 a1−a 3
T= (2.3)
0 0 1 a 2+10
3 0 0 0 1
V (t )=J v q̇ (4.0)
[ ]
d d d
d q1
( p x(q ) )
d q2
(t )
( p x(q ) ) … ( px )
d q n (q )
( t) (t )
d d d
d q 1 ( y(q ) ) d q 2 ( y(q ) ) d q n ( y(q ) )
Jv = p (t )
p … p
(t )
(4.2)
( t)
d d d
( p ) ( p ) …+ d q ( p z(q ) )
d q 1 z(q ) d q 2 z(q )
(t ) ( t) (t )
n
z n−1(4.5)
0 0 0
n ω =ρ1 ∙ q˙(1 ) ⃗
z 0 + ρ2 ∙ 1 R (t ) q˙(2 ) ⃗
z 1+ …+ ρn ∙ n−1 R (t ) q˙(n )⃗
[]
q˙(1)
0
n ω =[ ρ1 ⃗
z0 ρ 2 01 R( t ) ⃗ z n−1 ] q˙(2) (4.6)
z 1 ⋯ ρ n n−10 R( t )⃗
⋮
q˙( n)
En donde,
J ω=¿ [ ρ 1 ⃗
z 0 ρ2 01 R(t ) ⃗ z n−1 ]
z 1 ⋯ ρ n n−10 R(t ) ⃗
[ ]
qp 2∗sin (q 1)
0
3 ω = −qp 2∗cos (q 1) (4.7)
qp 1
Matriz jacobiana
[ 0, sin(q1), 0]
[ 0, -cos(q1), 0]
[ 1, 0, 0]
Matrices de transformación de centros de masa
Con la tabla 2 se realiza las matrices de transformación de los centros de masa
usando la ecuación 1.0.
(6.0)
(6.1)
(6.2)
(6.3)
(6.4)
Las ecuaciones que se utilizan para obtener el lagrangiano son las que se
muestran a continuación:
1 0 T 0 10 T 0 i 0 T 0
E ki = mi ⋅ . vi ⋅ . v i + . ωi ⋅ i R ⋅ . I ⋅ i R ⋅ . ωi ( 6.6 )
2 2
T
E pi =mi ∙ g ∙ pi ( 6.7 )
Eslabón I
La matriz de transformación del primer centro de masa está dada por la ecuación
6.0.
Eslabón 2
La matriz de transformación del centro de masa del eslabón 2 esta dada por la
ecuación 6.3.
Energía cinética y energía potencial del eslabón 2
Para conocer la energía cinética es necesario conocer las velocidades lineales y
angulares del centro de masa del eslabón.
Ek2 =
Eslabón 3
La matriz de tranformación del centro de masa del eslabón 3 esta dada por la
ecuación 6.4.
Vcm3 =
qp3*cos(q1)*cos(q2) - qp2*(cos(q1)*sin(q2)*(a2 - cm3 + q3) +
a3*cos(q1)*cos(q2)) - qp1*(a1*sin(q1) + cos(q2)*sin(q1)*(a2 - cm3 + q3) -
a3*sin(q1)*sin(q2))
qp1*(a1*cos(q1) - a3*cos(q1)*sin(q2) + cos(q1)*cos(q2)*(a2 - cm3 + q3)) -
qp2*(sin(q1)*sin(q2)*(a2 - cm3 + q3) + a3*cos(q2)*sin(q1)) +
qp3*cos(q2)*sin(q1)
qp3*sin(q2) + qp2*(cos(q2)*(a2 - cm3 + q3) - a3*sin(q2))
Ek3 =
Lagrangiano
Para obtener el lagrangiano se utilizan las energías cinéticas y potenciales de los
centros de masa del robot.
ʆ =Ek t −Ept ( 6.8 )
2 2 2 2 2 2 2
L=(qp 1 ∗(m1∗cm 1 + Izz 1))/2+( Iyy 2∗qp 1 )/ 2+( Iyy 3∗qp 2 )/ 2+( Izz 2∗qp 2 )/ 2+( Izz 3∗qp 1 )/ 2+( m3∗qp 3 )/2
Vector τ
Una vez obtenido el lagrangiano podemos obtener el vector tao que nos muestra
cuales son las fuerzas torques necesarios para cada eslabón.
Los elementos de este vector se pueden obtener con la ecuación 7.0.
d ∂ʆ ∂ʆ
Tao i= − ( 7.0 )
dt ∂ q̇ i ∂ qi
%Vector Tao
for i=1:3
dL_dQp=simplify(diff(L,Qp(i)));
dt_dL_dQp=diff(dL_dQp,qp1)*qpp1 + diff(dL_dQp,qp2)*qpp2 + diff(dL_dQp,qp3)*qpp3
+ diff(dL_dQp,q1)*qp1 + diff(dL_dQp,q2)*qp2 + diff(dL_dQp,q3)*qp3;
dL_dq=simplify(diff(L,Q(i)));
Tao(i)=simplify(dt_dL_dQp-dL_dq);
end
Tao =
TaoA =
TaoB =
[][ ][ ] [ ][ ] [ ]
f1 D11 D12 D13 q¨1 C 11 C12 C 13 q̇ 1 G1
f2 = D21 D22 D23 q¨2 + C 21 C22 C 23 q̇ 2 + G2 ( 7.5 )
τ3 D31 D32 D33 q¨3 C 31 C32 C 33 q̇ 3 G3
Tao i=( Di 1 ) q̈1 + ( Di 2 ) q¨2+ ( Di3 ) q¨3 + ( C i1 ) q˙1+ ( Ci 2 ) q̇2 + ( C i 3 ) q̇3 +Gi ( 7.6 )
Matriz D
La matriz D es una matriz única y simétrica la cual nos puede servir para
comprobar el robot.
[ ][ ]
D11 D12 D13 q̈ 1
D21 D22 D23 q̈ 2 ( 7.7 )
D31 D32 D33 q̈3
2
D11 =(Iyy 2+ Izz 1+m 2∗(a 1∗cos (q 1)+Ycm2∗sin(q 1)+ Xcm 2∗cos (q 1)∗cos(q 2)) +m2∗( a 1∗sin (q 1)−Ycm2∗co
D12=−Xcm 2∗Ycm 2∗m 2∗sin (q 2) ( 7.7 .2 ) D13=0 ( 7.7 .3 ) D21=−Xcm 2∗Ycm 2∗m 2∗sin (q 2) ( 7.7 .4 )
2 2 2 2 2
D22=m 2∗Xcm 2 + m3∗a 2 −2∗m3∗a 2∗cm3+ 2∗m 3∗a 2∗q 3+ m3∗a 3 +m 3∗cm3 −2∗m 3∗cm3∗q 3+m 3∗q 3
D23=−a3∗m 3 ( 7.7.6 ) D31=0 ( 7.7 .7 ) D32=−a 3∗m 3 ( 7.7 .8 ) D33=m 3 (7.7 .9 )
Matriz C
[ ][ ]
C11 C 12 C 13 q̇1
C21 C 22 C 23 q̇2 ( 8.0 )
C31 C 32 C 33 q̇3
C 11=m 3∗qp 3∗cos(q 2)∗(a1+ a 2∗cos (q 2)−cm3∗cos (q 2)−a 3∗sin(q 2)+ q 3∗cos (q 2))−qp 2∗((Ixx 3∗sin(2∗q 2
2 2
C 12=−qp 1∗(( Ixx 3∗sin(2∗q 2))/2−(Izz 3∗sin( 2∗q 2))/2+(Xcm 2 ∗m 2∗sin(2∗q 2))/2+(a 2 ∗m3∗sin(2∗q 2))/2−
C 13=m3∗qp 1∗cos(q 2)∗(a 1+ a 2∗cos(q 2)−cm3∗cos (q 2)−a3∗sin (q 2)+ q 3∗cos( q 2)) ( 8.1.3 )
2 2
C 21=qp 1∗((Ixx 3∗sin(2∗q 2)) /2−(Izz 3∗sin(2∗q 2))/2+(Xcm 2 ∗m2∗sin( 2∗q 2))/2+(a 2 ∗m3∗sin(2∗q 2))/2−(
C 22=m3∗qp 3∗(a 2−cm 3+q 3) ( 8.1.5 )C 23=m3∗qp 2∗(a2−cm 3+q 3) ( 8.16 )
C 31=−m3∗qp 1∗cos(q 2)∗(a 1+ a 2∗cos (q 2)−cm3∗cos (q 2)−a3∗sin(q 2)+ q 3∗cos(q 2)) ( 8.1.7 )
C 32=−m3∗qp 2∗(a2−cm 3+q 3) ( 8.1.8 ) C 33=0 ( 8.1.9 )
Vector G
[]
G1
G2 ( 8.2 )
G3
G1=0 (8.2 .3)G2=g∗m3∗(cos(q 2)∗(a 2−cm 3+q 3)−a 3∗sin(q 2))+ Xcm 2∗g∗m 2∗cos (q 2)(8.2 .4)
G3=g∗m3∗sin (q 2) ( 8.2 .5 )
Simulink
Figura 2: Tao=0
Figura 3: Tao=1
Figura 4: Tao=0 ; Friccion=1
CONTROL PD
Figura 7: GRAFICA 3D
Figura 8: GRAFICA 2D
[ ]
q̈1 ¿ 2 ¿ 3 ¿ 4 ¿ 5 ¿ 6 ¿ 7 ¿ 8 ¿ 9 ¿10 0 0
Y ( q , q̇ , q̈ )= 0 ¿ 14 ¿ 15 q̈ 1 s2 ¿ 17 ¿ 18 ¿ 19 ¿ 20 ¿ 21 ¿ 22 q̈2 g c 2 (9.0)
0 0 ¿ 27 0 0 ¿ 30 ¿ 31 0 0 ¿ 34 0 0
2
¿ 2= q̈1 c 2 −q̇1 q̇2 s 22
2 2 2 2
¿ 3=q3 q̈1 c 2 +2 q 3 q̇1 q̇3 c 2 −q3 q̇ 1 q̇ 2 s22
2
¿ 4= q̇2 c2 + q̈ 2 s 2
2 1
¿ 5= q̇1 q̇2−2 q̇ 1 q̇2 c 2 − q̈1 s 22
2
2 2
¿ 6=q3 q̈ 1 c 2 + q̇ 1 q̇ 3 c 2 −q 3 q̇1 q̇2 s 22
2
¿ 7=q3 q̈ 1 s22 + q̇ 1 q̇ 3 s22−2 q 3 q̇ 1 q̇2 +4 q3 q̇1 q̇ 2 c 2
¿ 8=q̈1 c 2−q̇ 1 q̇ 2 c2
¿ 9=q̈1 s 2 + q̇ 1 q̇ 2 c 2
1
¿ 14= q̈1 s 22
2
2 1 2 2
¿ 15=q3 q̈2 +2 q 3 q̇ 2 q̇ 3 + g q3 c 2+ q3 q̇1 s 22
2
1 2
¿ 17= q̇1 c 22
2
1 1 2
¿ 18=q3 q̈ 2+ q̇2 q̇3 + g c 2+ q 3 q̇ 1 s22
2 2
2
¿ 19= q̈3 + g s 2−q 3 q̇1 c22
1 2
¿ 20= q̇1 s 2
2
−1 2
¿ 21= q̇ c
2 1 2
1 2
¿ 22= q 3 q̇1 s 2
2
2 2 2
¿ 27=q̈3 −q3 q̇ 2 + g s2−q3 q̇1 c 2
−1 2 1 2 2
¿ 30= q̇ − q̇ c
2 2 2 1 2
2
¿ 31= q̈2−q̇ 1 c 2 s 2
−1 2
¿ 34= q̇ c
2 1 2
[ ]
2 2 2 2 2
I yy2 + I zz1 + I zz3 +cm1 m1 +Y cm2 m2+ a1 m2 +a 1 m3+ a3 m3
2 2 2 2
I xx3−I zz3 + X cm2 m2 + a2 m3−a3 m3 +cm3 m3 −2 a2 cm3 m3
m3
−X cm Y cm m22 2
2 a 2 a 3 m3−2 a 3 cm3 m3
2 a 2 m3−2 cm3 m3
θ= (9.1)
−a 3 m3
2 X cm a 1 m2 +2 a1 a2 m3 −2 a1 cm3 m3
2
−2 a1 a3 m3
2 a1 m 3
2 2 2 2
I yy3 + I zz2 +cm3 m3 + X cm2 m2 +a2 m3+ a3 m3 −2 a2 cm3 m3
X cm2 m2
COMPROBACION EN MATLAB
%REGRESOR Y VECTOR DE PARAMETROS LINEALES
R=[qpp1,qpp1*cos(q2)^2 - qp1*qp2*sin(2*q2),q3^2*qpp1*cos(q2)^2 +
2*q3*qp1*qp3*cos(q2)^2 - q3^2*qp1*qp2*sin(2*q2),qp2^2*cos(q2) +
qpp2*sin(q2),(-1/2)*qpp1*sin(2*q2) + qp1*qp2 -
2*qp1*qp2*cos(q2)^2,q3*qpp1*cos(q2)^2 + qp1*qp3*cos(q2)^2 -
q3*qp1*qp2*sin(2*q2),q3*qpp1*sin(2*q2) + qp1*qp3*sin(2*q2) - 2*q3*qp1*qp2
+ 4*q3*qp1*qp2*cos(q2)^2,qpp1*cos(q2) - qp1*qp2*sin(q2),qpp1*sin(q2) +
qp1*qp2*cos(q2),q3*qpp1*cos(q2) + qp1*qp3*cos(q2) -
q3*qp1*qp2*sin(q2),0,0;
0,(1/2)*qp1^2*sin(2*q2), q3^2*qpp2 + 2*q3*qp2*qp3 + g*q3*cos(q2) +
(1/2)*q3^2*qp1^2*sin(2*q2),qpp1*sin(q2),(1/2)*qp1^2*cos(2*q2),q3*qpp2 +
qp2*qp3 + (1/2)*g*cos(q2) + (1/2)*q3*qp1^2*sin(2*q2),qpp3 + g*sin(q2) -
q3*qp1^2*cos(2*q2),(1/2)*qp1^2*sin(q2),(-1/2)*qp1^2*cos(q2),
(1/2)*q3*qp1^2*sin(q2),qpp2,g*cos(q2);
0,0,qpp3 - q3*qp2^2 + g*sin(q2) - q3*qp1^2*cos(q2)^2,0,0,(-1/2)*qp2^2
+ (-1/2)*qp1^2*cos(q2)^2,qpp2 - qp1^2*cos(q2)*sin(q2),0,0,(-
1/2)*qp1^2*cos(q2),0,0]
V=[Iyy2 + Izz1 + Izz3 + cm1^2*m1 + Ycm2^2*m2 + a1^2*m2 + a1^2*m3 +
a3^2*m3;Ixx3 - Izz3 + Xcm2^2*m2 + a2^2*m3 - a3^2*m3 + cm3^2*m3 -
2*a2*cm3*m3;m3;-Xcm2*Ycm2*m2;2*a2*a3*m3 - 2*a3*cm3*m3;2*a2*m3 -
2*cm3*m3;-a3*m3;2*Xcm2*a1*m2 + 2*a1*a2*m3 - 2*a1*cm3*m3;-
2*a1*a3*m3;2*a1*m3;Iyy3 + Izz2 + cm3^2*m3 + Xcm2^2*m2 + a2^2*m3 + a3^2*m3
- 2*a2*cm3*m3;Xcm2*m2]
TaoC=simplify(R*V)