Вы находитесь на странице: 1из 12

Cálculo del Modelo Dinámico del Robot SCARA

Dr. Emmanuel Dean León.


U.P.I.I.T.A-IPN.

Resumen
En este documento se muestra paso a paso la metodologı́a para obtener el modelo dinámico de un
sistema robótico usando como herramienta los parámetros y matrices de transformación calculados con
el método de Denavit-Hartenberg directo.

1. Parametrización del Sistema


Suponga el sistema robótico mostrado en la Figura 1, el primer paso que debemos realizar para poder
calcular el modelo dinámico de dicho robot es definir los ejes de movimiento del sistema y los parámetros
de los eslabones, como se muestra en las figuras (2) y (3), respectivamente.

Figura 1: En la imagen se puede observar la disposición de los eslabones que conforman la arquitectura
SCARA. El sistema cuenta con 3 grados de libertad, de tipo R-R-P.

Figura 2: En la figura se muestran los ejes de movimiento de los eslabones, los cuales son importantes de
definir, ya que, con ellos, se estableceran los ejes zi del sistema.

1
Una vez definidos los ejes de movimiento definiremos la pose (posición y orientación) de los marcos
coordenados Oi con i = 0, 1, 2, 3.
Para este fin, colocaremos los marcos coordenados tomando en cuenta las siguientes reglas:

El origen Oi debe ser colocado en el eje de movimiento de eslabón i.


El eje xi debe ser paralelo e intersectar al eje zi−1 .

Tomando en cuenta las anteriores restricciones, los marcos coordenados tienen la siguiente disposición,
ver Figura 3.

q1 z1
l1
l2 z2
h2 x1
cm1 cm2 x2
h1 z0 z3 q2
cm2 x3

x0

Figura 3: En la figura se observa finalmente la disposición de los marcos coordenados que definen los
eslabones del sistema robótico, ası́ como el movimiento que realizan. La base del sistema está definida
como O0 .

Una vez definidos los marcos coordenados del robot manipulador, calcularemos la tabla de parámetros
de Denavit-Hartenberg (D-H).

2. Tabla de Parámetros de D-H


Para definir los parámetros de la tabla de D-H, debemos tomar en cuenta las siguientes definiciones:

Variable Definición
θi El ángulo medido sobre el eje zi−1 para colocar el eje xi−i en dirección y sentido de xi .
di La distancia en dirección de zi−1 para colocar el origen de xi−1 sobre el origen de xi .
ai La distancia en dirección de xi para colocar el origen de zi−1 sobre el origen de zi .
αi El ángulo medido sobre el eje xi para colocar el eje zi−i en dirección y sentido de zi .

Dadas las anteriores definiciones, la tabla de parámetros de Denavith-Hartenberg para los marcos
coordenados de los ejes de rotación y del efector final es (ver Figura 3):

i θi di ai α1
1 q1 h1 l1 0
2 q2 h2 l2 0
3 0 −q3 0 0

Cuadro 1: Tabla de parámetros de las articulaciones del robot y del efector final.

Mientras que, la tabla de parámetros de Denavith-Hartenberg para los marcos coordenados de los
centros de masa es (ver Figura 3):

2
icm θi di ai α1
1cm q1 h1 l11 0
2cm q2 h2 l21 0
3cm 0 −q3 0 0

Cuadro 2: Tabla de parámetros de los centros de masa del robot.

3. Transformaciones Homogéneas
El siguiente paso es calcular las transformaciones homogéneas entre marcos, para este fin, usaremos la
matriz de transformación homogénea de D-H, la cual se puede obtener de la siguiente forma:
i
Ti−1 = TRz ,θi Ttz ,di Ttx ,ai TRx ,αi
esto es,

    
cos θi − sin θi 0 0 1 0 0 0 1 0 0 ai 1 0 0 0
i
 sin θi cos θi 0 0   0 1 0 0   0 1 0 0   0 cos αi − sin αi 0 
Ti−1 =
 0
   
0 1 0  0 0 1 di   0 0 1 0   0 sin αi cos αi 0 
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
 
cos θi − sin θi cos αi sin θi sin αi ai cos θi
i
 sin θi cos θi cos αi − cos θi sin αi ai sin θi 
Ti−1 =
 0
 (1)
sin αi cos αi di 
0 0 0 1

3.1. Transformaciones para marcos de articulaciones y efector final


Usando los parémetros definidos en el Cuadro 1 y sustituyendolos en la matriz de la ecuación (1)
obtenemos las transformaciones homogéneas entre los marcos coordenados O0 − O1 , O1 − O2 y O2 − O3 ,
ecuaciones (2), (3) y (4), respectivamente.
 
cos q1 − sin q1 0 l1 cos q1
 sin q1 cos q1 0 l1 sin q1 
T10 = 
 0
 (2)
0 1 h1 
0 0 0 1
 
cos q2 − sin q2 0 l2 cos q2
 sin q2 cos q2 0 l2 sin q2 
T21 = 
 0
 (3)
0 1 h2 
0 0 0 1
 
1 0 0 0
 0 1 0 0 
T32 =  0 0 1 −q3 
 (4)
0 0 0 1
Sin embargo, se debe obtener la matriz de transformación de cada articulación respecto a la base del
sistema (en este caso O0 ), por lo que, usando las ecuaciones (2), (3) y (4), calcularemos las transformaciones
homogéneas entre los marcos O0 − O2 y O0 − O3 . Usando la regla de concatenación de transformaciones
entre marcos móviles, es fácil ver que la transformación homogénea de O0 − O2 se puede obtener como:
 
cos (q1 + q2 ) − sin (q1 + q2 ) 0 l2 cos (q1 + q2 ) + l1 cos q1
 sin (q1 + q2 ) cos (q1 + q2 ) 0 l2 sin (q1 + q2 ) + l1 sin q1 
T20 = T10 T21 =  
 0 0 1 h1 + h2 
0 0 0 1
 
cos (q1 + q2 ) − sin (q1 + q2 ) 0 l2 cos (q1 + q2 ) + l1 cos q1
 sin (q1 + q2 ) cos (q1 + q2 ) 0 l2 sin (q1 + q2 ) + l1 sin q1 
T20 =   (5)
 0 0 1 h1 + h2 
0 0 0 1

3
De igual forma, la transformación homogénea O0 − O3 se obtiene como:
 
cos (q1 + q2 ) − sin (q1 + q2 ) 0 l2 cos (q1 + q2 ) + l1 cos q1
 sin (q1 + q2 ) cos (q1 + q2 ) 0 l2 sin (q1 + q2 ) + l1 sin q1 
T30 = T20 T32 =  
 0 0 1 h1 + h2 − q3 
0 0 0 1
 
cos (q1 + q2 ) − sin (q1 + q2 ) 0 l2 cos (q1 + q2 ) + l1 cos q1
 sin (q1 + q2 ) cos (q1 + q2 ) 0 l2 sin (q1 + q2 ) + l1 sin q1 
T30 =   (6)
 0 0 1 h1 + h2 − q3 
0 0 0 1

3.2. Transformaciones de los centros de masa


Aplicando el mismo criterio, podemos calcular las matrices de transformación homogénea de cada centro
de masa y referidas respecto a la base del sistema O0 . Estas transformaciones son útiles para el cálculo de
la dinámica del robot manipulador. Ahora, sustituyendo los parámetros del Cuadro 2, en la ecuación (1)
podremos calcular las matrices de transformación homogénea.
 
cos q1 − sin q1 0 l11 cos q1
 sin q1 cos q1 0 l11 sin q1 
T101 =   0
 (7)
0 1 h1 
0 0 0 1
 
cos q2 − sin q2 0 l21 cos q2
 sin q2 cos q2 0 l21 sin q2 
T211 =   0

0 1 h2 
0 0 0 1
 
1 0 0 0
 0 1 0 0 
T321 =  0 0 1 −q3 

0 0 0 1
 
cos (q1 + q2 ) − sin (q1 + q2 ) 0 l21 cos (q1 + q2 ) + l1 cos q1
 sin (q1 + q2 ) cos (q1 + q2 ) 0 l21 sin (q1 + q2 ) + l1 sin q1 
T201 = T10 T211 =  
 0 0 1 h1 + h2 
0 0 0 1
 
cos (q1 + q2 ) − sin (q1 + q2 ) 0 l21 cos (q1 + q2 ) + l1 cos q1
 sin (q1 + q2 ) cos (q1 + q2 ) 0 l21 sin (q1 + q2 ) + l1 sin q1 
T201 =   (8)
 0 0 1 h1 + h2 
0 0 0 1
 
cos (q1 + q2 ) − sin (q1 + q2 ) 0 l2 cos (q1 + q2 ) + l1 cos q1
 sin (q1 + q2 ) cos (q1 + q2 ) 0 l2 sin (q1 + q2 ) + l1 sin q1 
T301 = T20 T321 =   (9)
 0 0 1 h1 + h2 − q3 
0 0 0 1
Donde Ti01 , i = 1, 2, 3, representa la matriz de transformación homogénea de la base O0 al centro de
masa i.

4. Cálculo de Jacobianos para centros de masa


Ahora, para modelar la dinámica del robot SCARA, necesitamos calcular los Jacobianos de cada centro
de masa. La definición de Jacobiano se puede expresar mediante la siguiente ecuación:

4
Ẋ = J (q) q̇ (10)
   
ẋ q̇1

 ẏ 
 
 q̇2 
 
ż  = Jv (q)  . 
   
 (11)

 ωx 
 Jω (q)  . 


 ωy   . 
ωz q̇n

donde, Jv (q) ∈ ℜ3×n representa el Jacobiano de velocidades lineales y Jω (q) ∈ ℜ3×n es el Jacobiano de
velocidades angulares. En otras palabras, el Jacobiano J (q) ∈ ℜ6×n es una transformación que relaciona
el espacio de velocidades articulares q̇ ∈ ℜn con el espacio de velocidades operacionales (o cartesianas)
ẋ ∈ ℜ3 . Para poder calcular el Jacobiano de cada centro de masa del robot manipulador debemos definir
las siguientes variables:
Ejes de movimiento de cada centro de masa
     
0 0 0
Z0 =  0  , Z1 =  0  , Z3 =  0  (12)
1 1 1
Posición de cada centro de masa respecto a la base O0

     
l11 cos q1 l21 cos (q1 + q2 ) + l1 cos q1 l2 cos (q1 + q2 ) + l1 cos q1
O11 =  l11 sin q1  , O21 =  l21 sin (q1 + q2 ) + l1 sin q1  , O31 =  l2 sin (q1 + q2 ) + l1 sin q1  (13)
h1 h1 + h2 h1 + h2 − q3

Centro de giro del eslabón 2


 
l1 cos q1
O1 =  l1 sin q1 
h1

4.1. Jacobiano para el centro de masa 1 (cm1 )


Entonces, para el primer centro de masa tenemos el siguiente Jacobiano:
 
J11
J1 = ,
J12
donde, Ji , representa el Jacobiano del centro de masa i, Ji1 representa el Jacobiano de velocidades lineales
del centro de masa i, y Ji2 es el Jacobiano de velocidades angulares del centro de masa i.
Debido a que la primera articulación es de tipo revoluta, tenemos la siguiente expresión para los Jaco-
bianos del centro de masa 1.

" #
Z0 × (O11 − O0 ) 0 0
J11 = | {z }
Revoluta No afecta No afecta
" #
Z0 0 0
J12 = |{z}
Revoluta No afecta No afecta

donde,
 
−l11 sin q1
Z0 × (O11 ) =  l11 cos q1 
0
por lo que los Jacobianos de velocidad lineal y angular son:

5
 
−l11 sin q1 0 0
J11 =  l11 cos q1 0 0  (14)
0 0 0
 
0 0 0
J12 = 0 0 0  (15)
1 0 0

4.2. Jacobiano para el centro de masa 2 (cm2 )


Realizando el mismo procedimiento anterior, podemos calcular el Jacobiano del centro de masa 2.

 
J21
J2 =
J22
" #
Z0 × (O21 − O0 ) Z1 × (O21 − O1 ) 0
|{z}
J21 = | {z } | {z }
Revoluta Revoluta No afecta
" #
Z0 Z1 0
|{z}
J22 = |{z} |{z}
Revoluta Revoluta No afecta

donde,

 
−l21 sin (q1 + q2 ) − l1 sin q1
Z0 × (O21 ) =  l21 cos (q1 + q2 ) + l1 cos q1 
0
 
−l21 sin (q1 + q2 )
Z1 × (O21 − O1 ) =  l21 cos (q1 + q2 ) 
0

por lo que los Jacobianos del centro de masa 2 son:

 
−l21 sin (q1 + q2 ) − l1 sin q1 −l21 sin (q1 + q2 ) 0
J21 =  l21 cos (q1 + q2 ) + l1 cos q1 l21 cos (q1 + q2 ) 0  (16)
0 0 0
 
0 0 0
J22 = 0 0 0  (17)
1 1 0

4.3. Jacobiano para el centro de masa 3 (cm3 )


Nuevamente usando el mismo procedimiento, calculamos el Jacobiano del centro de masa 3 de la si-
guiente forma:

 
J31
J3 =
J32
" #
Z0 × (O31 − O0 ) Z1 × (O31 − O1 ) Z2
J31 = | {z } | {z }
Revoluta Revoluta Prismático
" #
Z0 Z1 0
|{z}
J32 = |{z} |{z}
Revoluta Revoluta Prismático

donde,

6
 
−l2 sin (q1 + q2 ) − l1 sin q1
Z0 × (O31 ) =  l2 cos (q1 + q2 ) + l1 cos q1 
0
 
−l2 sin (q1 + q2 )
Z1 × (O31 − O1 ) =  l2 cos (q1 + q2 ) 
0

por lo que, finalmente, los Jacobianos del centro de masa 3 son:

 
−l2 sin (q1 + q2 ) − l1 sin q1 −l2 sin (q1 + q2 ) 0
J31 =  l2 cos (q1 + q2 ) + l1 cos q1 l2 cos (q1 + q2 ) 0  (18)
0 0 1
 
0 0 0
J32 = 0 0 0  (19)
1 1 0

Tomando las ecuaciones (14-19) obtenemos los Jacobianos de los centros de masa como:

 
−l11 sin q1 0 0

 l11 cos q1 0 0 

 0 0 0 
J1 =  

 0 0 0 

 0 0 0 
1 0 0
 
−l21 sin (q1 + q2 ) − l1 sin q1 −l21 sin (q1 + q2 ) 0

 l21 cos (q1 + q2 ) + l1 cos q1 l21 cos (q1 + q2 ) 0 

 0 0 0 
J2 =  

 0 0 0 

 0 0 0 
1 1 0
 
−l2 sin (q1 + q2 ) − l1 sin q1 −l2 sin (q1 + q2 ) 0
 l2 cos (q1 + q2 ) + l1 cos q1 l2 cos (q1 + q2 ) 0 
 
 0 0 1 
J3 =  

 0 0 0 

 0 0 0 
1 1 0

donde, Ji ∈ ℜ6×3 representa el Jacobiano del centro de masa i respecto a la base O0 .

5. Matriz de inercia H (q)


Los Jacobianos de velocidad lineal y angular de los centros de masa serán útiles para el cálculo de la
matriz de inercia H (q) por lo que los definiremos nuevamente:
Jacobiano del centro de masa 1:
   
−l11 sin q1 0 0 0 0 0
J11 =  l11 cos q1 0 0  , J12 =  0 0 0 
0 0 0 1 0 0
Jacobiano del centro de masa 2:
   
−l21 sin (q1 + q2 ) − l1 sin q1 −l21 sin (q1 + q2 ) 0 0 0 0
J21 =  l21 cos (q1 + q2 ) + l1 cos q1 l21 cos (q1 + q2 ) 0  , J22 =  0 0 0 
0 0 0 1 1 0
Jacobiano del centro de masa 3:

7
   
−l2 sin (q1 + q2 ) − l1 sin q1 −l2 sin (q1 + q2 ) 0 0 0 0
J31 =  l2 cos (q1 + q2 ) + l1 cos q1 l2 cos (q1 + q2 ) 0  , J32 =  0 0 0 
0 0 1 1 1 0
También, para el cálculo de la matriz de inercia H (q) ∈ ℜn×n , debemos definir las matrices de rotación
del centro de masa respecto a la base O0 :

   
cos q1 − sin q1 0 cos (q1 + q2 ) − sin (q1 + q2 ) 0
R1 =  sin q1 cos q1 0  , R2 =  sin (q1 + q2 ) cos (q1 + q2 ) 0  ,
0 0 1 0 0 1
 
cos (q1 + q2 ) − sin (q1 + q2 ) 0
R3 =  sin (q1 + q2 ) cos (q1 + q2 ) 0 
0 0 1

donde, Ri ∈ SO (3) es la matriz de rotación del centro de masa i. A su vez, debemos definir los tensores
de Inercia calculados respecto a cada centro de masa:
     
I111 I112 I113 I211 I212 I213 I311 I312 I313
I1 =  I112 I122 I123  , I2 =  I212 I222 I223  , I3 =  I312 I322 I323 
I113 I123 I133 I213 I223 I233 I313 I323 I333
donde, Ii ∈ ℜ3×3 es el tensor de inercia del eslabón i respecto al centro de masa i.
Ahora, la matriz de inercia H (q) se puede calcular tomando en cuenta los dos tipos de desplazamiento
que puede presentar un objeto en el centro de masa de cada eslabón:

Inercias generadas por desplazamientos lineales:

T
Hi1 = mi Ji1 Ji1 (20)

Inercias generadas por desplazamientos angulares:

T
Hi2 = Ji2 Ri Ii RiT Ji2 (21)
La matriz de Inercias H (q) se puede obtener entonces como:

n X
X 2
H (q) = Hij
i=1 j=1
Xn
T T

H (q) = mi Ji1 Ji1 + Ji2 Ri Ii RiT Ji2 (22)
i=1

Entonces, calculando las matrices definidas por las ecuaciones (20-21), obtenemos la matriz de inercia
para cada eslabón como:
Matriz de inercia centro de masa 1:

 2

m1 l11 0 0
T
H11 = m1 J11 J11 =  0 0 0 
0 0 0
 
I133 0 0
T
H12 = J12 R1 I1 R1T J12 =  0 0 0 
0 0 0

Matriz de inercia centro de masa 2:

8
 
m2 l12 + 2m2 (cos q2 ) l1 l21 + m2 l21
2 2
m2 l21 + l1 m2 (cos q2 ) l21 0
T 2 2
H21 = m2 J21 J21 =  m2 l21 + l1 m2 (cos q2 ) l21 m2 l21 0 
0 0 0
 
I233 I233 0
T
H22 = J22 R2 I2 R2T J22 =  I233 I233 0 
0 0 0

Matriz de inercia centro de masa 2:

 
m3 l12 + 2m3 (cos q2 ) l1 l2 + m3 l22 m3 l22 + l1 m3 (cos q2 ) l2 0
T
H31 = m3 J31 J31 =  m3 l22 + l1 m3 (cos q2 ) l2 l22 m3 0 
0 0 m3
 
I333 I333 0
T
H32 = J32 R3 I3 R3T J32 =  I333 I333 0 
0 0 0

Finalmente la Matriz H (q) es:


 
h11 h12 h13
H (q) =  h21 h22 h23  (23)
h31 h32 h33
con:

h11 = I133 + I233 + I333 + l12 m2 + l12 m3 + l22 m3 + m1 l11


2 2
+ m2 l21 + 2l1 l2 m3 cos q2 + 2l1 m2 l21 cos q2
h12 = m3 l22 + l1 m3 (cos q2 ) l2 + m2 l21
2
+ l1 m2 (cos q2 ) l21 + I233 + I333
h13 = 0
h21 = h12
h22 = m3 l22 + m2 l21
2
+ I233 + I333
h23 = 0
h31 = h13
h32 = h23
h33 = m3

Una vez definido los n×n elementos de la matriz de inercia H (q), usaremos estos términos para calcular
la matriz de aceleraciones centrı́petas y de Corollı́.

6. Matriz de aceleraciones centrı́petas y de Corollı́


Para calcular la matriz C (q, q̇) debemos calcular las derivadas parciales de la matriz de inercia H (q)
respecto a las variables de posición articular q ∈ ℜn .
 
0 0 0
∂H
= 0 0 0 
∂q1
0 0 0
 
−2l1 (l2 m3 + l21 m2 ) sin q2 −l1 (l2 m3 + l21 m2 ) sin q2 0
∂H
=  −l1 (l2 m3 + l21 m2 ) sin q2 0 0 
∂q2 0 0 0
 
0 0 0
∂H
= 0 0 0 
∂q3
0 0 0
De lo anterior podemos definir la siguiente lista:

9
∂h11
= −2l1 (l2 m3 + l21 m2 ) sin q2
∂q2
∂h12 ∂h21
= ≡ −l1 (l2 m3 + l21 m2 ) sin q2
∂q2 ∂q2

Con las anteriores definiciones podemos calcular la matriz C (q, q̇) usando la siguiente igualdad:

     
1 ∂hkj ∂hk1 ∂h1j 1 ∂hkj ∂hk2 ∂h2j 1 ∂hkj ∂hk3 ∂h3j
CkJ = q̇1 + − + q̇2 + − + q̇3 + − (24)
2 ∂q1 ∂qj ∂qk 2 ∂q2 ∂qj ∂qk 2 ∂q3 ∂qj ∂qk
∂h ∂h
Tomando en cuenta que ∂qkj
1
= ∂qkj
3
= 0, ∀k, j, entonces la ecuación (24) toma la siguiente forma:
     
1 ∂hk1 ∂h1j 1 ∂hkj ∂hk2 ∂h2j 1 ∂hk3 ∂h3j
CkJ = q̇1 − + q̇2 + − + q̇3 − (25)
2 ∂qj ∂qk 2 ∂q2 ∂qj ∂qk 2 ∂qj ∂qk
Finalmente, calcularemos los diferentes términos Ckj para k, j = 1, 2, 3, como se muestra a continuación:

     
1 ∂h11 ∂h11 1 ∂h11 ∂h12 ∂h21 1 ∂h13 ∂h31
C11 = q̇1 − + q̇2 + − + q̇3 −
2 ∂q1 ∂q1 2 ∂q2 ∂q1 ∂q1 2 ∂q1 ∂q1
 
1 ∂h11
C11 = q̇2
2 ∂q2
C11 = −l1 (l2 m3 + l21 m2 ) q̇2 sin q2

     
1 ∂h11 ∂h12 1 ∂h12 ∂h12 ∂h22 1 ∂h13 ∂h32
C12 = q̇1 − + q̇2 + − + q̇3 −
2 ∂q2 ∂q1 2 ∂q2 ∂q2 ∂q1 2 ∂q2 ∂q1
   
1 ∂h11 ∂h12
C12 = q̇1 + q̇2
2 ∂q2 ∂q2
C12 = −l1 (l2 m3 + l21 m2 ) q̇1 sin q2 − l1 (l2 m3 + l21 m2 ) q̇2 sin q2

     
1 ∂h11 ∂h13 1 ∂h13 ∂h12 ∂h23 1 ∂h13 ∂h33
C13 = q̇1 − + q̇2 + − + q̇3 −
2 ∂q3 ∂q1 2 ∂q2 ∂q3 ∂q1 2 ∂q3 ∂q1
C13 = 0

     
1 ∂h21 ∂h11 1 ∂h21 ∂h22 ∂h21 1 ∂h23 ∂h31
C21 = q̇1 − + q̇2 + − + q̇3 −
2 ∂q1 ∂q2 2 ∂q2 ∂q1 ∂q2 2 ∂q1 ∂q2
   
1 ∂h11 1 ∂h21 ∂h21
C21 = q̇1 − + q̇2 −
2 ∂q2 2 ∂q2 ∂q2
 
1 ∂h11
C21 = q̇1 −
2 ∂q2
C21 = l1 (l2 m3 + l21 m2 ) q̇1 sin q2

     
1 ∂h21 ∂h12 1 ∂h22 ∂h22 ∂h22 1 ∂h23 ∂h32
C22 = q̇1 − + q̇2 + − + q̇3 −
2 ∂q2 ∂q2 2 ∂q2 ∂q2 ∂q2 2 ∂q2 ∂q2
 
1 ∂h21 ∂h12
C22 = q̇1 −
2 ∂q2 ∂q2
C22 =0

10
     
1 ∂h21 ∂h13 1 ∂h23 ∂h22 ∂h23 1 ∂h23 ∂h33
C23 = q̇1 − + q̇2 + − + q̇3 −
2 ∂q3 ∂q2 2 ∂q2 ∂q3 ∂q2 2 ∂q3 ∂q2
C23 = 0

     
1 ∂h31 ∂h11 1 ∂h31 ∂h32 ∂h21 1 ∂h33 ∂h31
C31 = q̇1 − + q̇2 + − + q̇3 −
2 ∂q1 ∂q3 2 ∂q2 ∂q1 ∂q3 2 ∂q1 ∂q3
C31 = 0

     
1 ∂h31 ∂h12 1 ∂h32 ∂h32 ∂h22 1 ∂h33 ∂h32
C32 = q̇1 − + q̇2 + − + q̇3 −
2 ∂q2 ∂q3 2 ∂q2 ∂q2 ∂q3 2 ∂q2 ∂q3
C32 = 0

     
1 ∂h31 ∂h13 1 ∂h33 ∂h32 ∂h23 1 ∂h33 ∂h33
C33 = q̇1 − + q̇2 + − + q̇3 −
2 ∂q3 ∂q3 2 ∂q2 ∂q3 ∂q3 2 ∂q3 ∂q3
C33 =0

Por lo que la matriz C (q, q̇) tiene la siguiente forma:

 
−l1 (l2 m3 + l21 m2 ) q̇2 sin q2 −l1 (l2 m3 + l21 m2 ) q̇1 sin q2 − l1 (l2 m3 + l21 m2 ) q̇2 sin q2 0
C (q, q̇) =  l1 (l2 m3 + l21 m2 ) q̇1 sin q2 0 0 
0 0 0
(26)
La matriz C (q, q̇) debe cumplir con la siguiente propiedad:

Definición 1 Sea H (q) la matriz de inercia de un robot de n gdl, definiendo a C (q, q̇) en términos de los
elementos de H (q), de acuerdo a la ecuación (24) entonces, la matriz N (q, q̇) = Ḣ (q) − 2C (q, q̇) es una
matriz anti-simétrica, esto es, los componentes njk de N (q, q̇) satisfacen la relación njk = −nkj .

Para validar la Definición 1, calcularemos la matriz N (q, q̇).

N (q, q̇) = Ḣ − 2C (q)

 
0 l1 (sin q2 ) (l2 m3 + m2 l21 ) (2q̇1 + q̇2 ) 0
N (q, q̇) =  −l1 (sin q2 ) (l2 m3 + m2 l21 ) (2q̇1 + q̇2 ) 0 0  (27)
0 0 0
con
 
−2l1 (l2 m3 + l21 m2 ) sin q2 −l1 (l2 m3 + l21 m2 ) sin q2 0
Ḣ =  −l1 (l2 m3 + l21 m2 ) sin q2 0 0 
0 0 0
Es evidente que la definición de N (q, q̇), ecuación (27), es una matriz anti-simétrica, ya que cumple con
njk = −nkj .

7. Vector de pares gravitacionales


Los pares gravitacionales se obtienen a través de la energı́a potencial del sistema, la cual se puede
generar por dos elementos:

La energı́a potencial debido a la masa:

11
La energı́a potencial debido a resortes:
Para calcular la energı́a potencial de las masas, requerimos de la posición de cada centro de masa,
dichas posiciones las definimos en la ecuación (13). Entonces la energı́a potencial de las masas será:

n
X
P1 = mi GT Oi1
i=1
3
X
P1 = GT mi Oi1
i=1
con
 
3
X l2 m3 cos (q1 + q2 ) + m2 l21 cos (q1 + q2 ) + l1 m2 cos q1 + l1 m3 cos q1 + m1 l11 cos q1
mi Oi =  l2 m3 sin (q1 + q2 ) + m2 l21 sin (q1 + q2 ) + l1 m2 sin q1 + l1 m3 sin q1 + m1 l11 sin q1 
i=1 h1 m1 + h1 m2 + h1 m3 + h2 m2 + h2 m3 − m3 q3
y  
0
G= 0 
g
por lo que la energı́a potencial proporcionada por las masas es:

P1 = gh1 m1 + gh1 m2 + gh1 m3 + gh2 m2 + gh2 m3 − gm3 q3 (28)


Por otro lado, la energı́a potencial generada por los resortes es:

n
X 1
P2 = Ki qi2
i=1
2
1 1 1
P2 = K1 q12 + K1 q22 + K1 q32
2 2 2
La energı́a potencial total es la suma de las energı́as potenciales:
1 1 1
P = gh1 m1 + gh1 m2 + gh1 m3 + gh2 m2 + gh2 m3 − gm3 q3 + K1 q12 + K1 q22 + K1 q32
2 2 2
El vector de pares gravitacionales será entonces:
 ∂P   
∂q1 K1 q1
 ∂P  
g =  ∂q 2
= K1 q2  (29)
∂P K q − gm
∂q 1 3 3
3

8. Modelo dinámico del robot SCARA


Por último, el modelo dinámico del robot manipulador tipo SCARA tiene la siguiente forma:

H (q) q̈ + C (q, q̇) q̇ + g (q) = τ − Dq̇


3×3
donde H (q) ∈ ℜ está definida por la ecuación (23), los términos de C (q, q̇) ∈ ℜ3×3 se pueden ver en la
ecuación (26), el vector g (q) está expresado en la ecuación (29) y
 
τ1
τ =  τ2 
F3
con τi es el par de las articulaciones i y F3 es la fuerza de entrada para el eslabón 3. La matriz D de
fricciones viscosas es:
 
β1 0 0
D =  0 β2 0 
0 0 β3

12

Вам также может понравиться