Curso Fonaments Robòtica
Tema 3: Modelo Cinemático Profesor: Alberto Sanfeliu Cortés
[email protected]
Índice – Conceptos – Conceptos – Transformaciones – Transformaciones homogeneas – Representación – Representación de Denavit-Hatenberg – Modelo – Modelo cinemático directo – Modelo – Modelo cinemático inverso – Modelo – Modelo diferencial: matriz Jacobiana – Modelo – Modelo diferencial: fuerzas generalizadas
Conceptos
s
TCP a n
Conceptos
Variables ariabl es de articulación q1(t), … , qn(t)
Posición y orientación del TCP
Modelo Cinemático Directo
Modelo Cinemático Inverso
Posición y orientación del TCP
Variables ariabl es de articulación q1(t), … , qn(t)
Transformaciones Homogeneas Z
P V
Py
W U
Px X
Pz Y Pxyz=(Px,Py,Pz)T Puvw=(Pu,Pv,Pw)T
Transformaciones Homogeneas Matriz de rotación R Para relacionar el punto P en los sistemas de referencia (XYZ) y (UVW) basta con hallar una matriz R tal que: Pxyz= R Puvw
Como sabemos que Puvw = Pu iu + Py jy + Pw k w y que Pxyz = P ix + P jy + P k z podemos deducir que
& i xiu $ j i R $ y u $% k z iu =
i x jv j y jv k z jv
i x k w #
! donde R ' ! k z k w !"
j y k w
1
=
RT
Transformaciones Homogeneas Matrices de rotación sobre los ejes (X,Y,Z): :
R( x ,( )
R( z ,) )
=
0 0 # &1 $0 cos ( ' sen( ! $ ! $%0 sen( cos ( !"
=
&cos( ' sen( 0# $ sen( cos( 0! $ ! $% 0 0 1!"
R( y ,( )
=
& cos ( 0 sen( # $ 0 ! 1 0 $ ! $%' sen( 0 cos ( !"
Transformaciones Homogeneas Ejemplo: Determinar los puntos Auvw y Buvw con respecto al nuevo sistema de coordenadas UVW si este esta girado 60º con respecto al eje Z, conociendo que A (4,3,2) y B (6,2,4) xyz
=
T
xyz
=
T
Solución:
Auvw
Buvw
=
=
T
( R( z,60) ) A xyz
T
( R( z,60) ) B xyz
=
=
" 0, 5 0, 866 $ $ !0, 866 0, 5 $ 0 0 # " 0, 5 0, 866 $ $ !0, 866 0, 5 $ 0 0 #
0 %" 4 '$ 0 '$ 3 1 '$ 2
% ' ' '&
0 %" 6 % '$ ' 0 '$ 2 ' 1 '$# 4 '& &
=
=
" $ $ $ # " $ $ $ #
4, 598 %
' !1, 964 ' ' 2 & 4, 732 % ' !4,196 ' ' 4 &
Transformaciones Homogeneas Matriz de rotación completa
Basta con multiplicar las matrices de rotación de forma secuencial, siempre y cuando se tenga en cuenta si las rotaciones se hacen con respecto a los ejes antiguos (XYZ) o a los nuevos (UVW). Por ejemplo: 0 & ) c# 0 s# & )c! ´ s! 0& )1 0 ' $' $' $ R = R( y ,# ) R( z ,! ) R( x ," ) = 0 1 0 s! c! 0 0 c" * s" = ' $' $' $ '(* s# 0 c# $% '( 0 0 1$% '(0 s" c" $% ) c# c! s# s" * c# s! c" c# s! s" + s# c" & ' s! $ c! c" c! s" * ' $ '(* s# c! s# s! c" + c# s" c# c" * s# s! s" $% donde s! = sen! ; c! = cos!
Transformaciones Homogeneas Interpretación de las rotaciones: 1. 2.
Rotación siguiendo la notación de izquierda a derecha (se gira sobre los nuevos ejes (UVW)) Rotación siguiendo la notación de derecha a izquierda (se gira sobre los ejes antiguos (XYZ))
Nota: Hacer el ejemplo de las
R R( y ,90º ) R( z , 90º ) R( x ,90 º ) =
=
siguientes rotaciones cuyo valor debe ser siempre:
& 0 0 1# &0 ' 1 0# &1 0 0 # $ 0 1 0! $1 0 0! $0 0 ' 1! $ !$ !$ ! $%' 1 0 0!" $%0 0 1!" $%0 1 0 !"
=
&0 1 0 # $1 0 0 ! $ ! $%0 0 ' 1!"
Transformaciones Homogeneas Matriz de rotación de los ángulos de Euler ( !,",#)
Hay tres sistemas diferentes:
Sistema I
Sistema II
Sistema III
__________ __________ __________ ________
Secuencia de rotaciones
! respecto 0 Z
! respecto 0 Z
" respecto 0 X
# respecto 0U
# respecto 0V
# respecto 0Y
" respecto 0W " respecto 0W
! respecto 0 Z
Transformaciones Homogeneas Matriz de rotación del Sistema I de ángulos de Euler ( !,",#)
R* ,( ,)
= R
( z ,* ) R( u ,( ) R( w,) )
&c* c) ' s* c( s) ' c* s) ' s* c( c) s* s( # $ ! = s* c) + c* c( s) s* s) + c* c( c) ' c* s( ' $ ! $% s( s) s( c) c( ! "
Transformaciones Homogeneas Coordenadas homogeneas:
Se incluye un cuarto parámetro (la escala) en la representación de un punto. Es decir: ˆ (wP , wP , wP , w)T ! P ˆ ( P ˆ , P ˆ , P ˆ , w)T P ( P x , P y , P z )T ! P x y z x y z =
=
=
en robótica w 1 =
Y la matriz de transformación (ahora incluirá rotación y traslación) quedará:
& R x T $ % f x
3 3
=
1 3
P 3 x1 # 11 x1
Matriz de rotación Vector de posición # & ! $Transformación perspectiva ! Escalado " " % =
Transformaciones Homogeneas Matrices de rotación sobre los ejes (X,Y,Z):
T ( x ,* )
T ( z ,( )
=
=
0 &1 0 $0 c* ' s* $ $0 s* c* $ 0 %0 0 &c( ' s( 0 $ s( c( 0 $ $0 0 1 $ 0 0 %0
0#
! ! 0! ! 1" 0# ! 0 ! 0! ! 1" 0
T ( y ,) )
=
& c) $ 0 $ $' s) $ % 0
0 s) 0#
! ! 0 c) 0! ! 0 0 1"
1
0
0
Transformaciones Homogeneas Matriz de traslación
T ( x , y , z )
=
&1 $0 $ $0 $ %0
0
0 P x #
! ! 0 1 P z ! ! 0 0 1"
1
0 P y
Transformaciones Homogeneas Matriz general de rotación y traslación del TCP
T TCP
'1
T
TCP
=
=
& n x $n $ y $ n z $ %0 &n x $ $ s x $a x $ $% 0
s x
a x
s y
a y
s z
a z
0
0
n y
n z
s y
s z
a y
a z
0
0
P x #
! P y ! P z ! ! 1" T
' n P # T ! ' s P ! ' aT P ! ! 1 ! "
Representación de Denavit-Hatenberg DH es una metodología que permite describir la relación de traslación y rotación entre los elementos adyacentes de una cadena articulada. Para ello se establece en cada articulación un sistema de coordenadas cartesiano otornomal (Xi ,Yi, Zi ) donde i=1,2,…n (donde n es el número de grados de libertad). Cada sistema de coordenadas se establece sobre tres reglas: 1.El eje Zi-1 yace a lo largo del eje de la articulación 2.El eje Xi es normal al eje Z i-1 y apunta hacia fuera de él 3.El eje Yi completa el sistema de coordenadas
Representación de Denavit-Hatenberg Obtención matriz de rotación y traslación Articulación de Giro
Parámetros: ángulo girado sobre eje Zi-1 di : distancia sobre eje Zi-1 ai : distancia sobre eje Xi %i : ángulo girado sobre eje X i $i :
Cálculo matriz:
i #1
Ai
=
T ( Z
i #1
," i )T ( 0, 0, d i )T ( ai , 0, 0)T ( X i ,! i )
i-1
Ai
Representación de Denavit-Hatenberg Obtención matriz de rotación y traslación Articulación de Giro
i '1
Ai
i '1
Ai
=
T ( Z
'1 =
i '1
,) i )T ( 0, 0 , d i )T ( ai , 0 , 0 )T ( X i ,( i )
[T ( Z '1 ,) )T ( 0, 0, d )T ( a , 0, 0)T ( X ,( ) ] i
i
i
i
i
i
=
'1
&c) i $ s) $ i $0 $ %0
=
' c( i s) i
s( i s) i
c( i c) i
' s( i c) i
s( i
c( i
0
0
& c) i $' c( s) i i $ $ s( i s) i $ % 0
s) i
0
c( i c) i
s( i
' s( i c) i
c( i
0
0
i-1
ai c) i #
! ! d i ! ! 1 "
ai s) i
' ai # ' d i s( i !! ' d i c( i ! ! 1 "
Ai
Representación de Denavit-Hatenberg Obtención matriz de rotación y traslación Articulación de Prismática i-1
Ai Parámetros: ángulo girado sobre eje Zi-1 di : distancia sobre eje Zi-1 %i : ángulo girado sobre eje X i $i :
Cálculo matriz:
i #1
Ai
=
T ( Z
i #1
," i )T ( 0, 0, d i )T ( X i ,! i )
Representación de Denavit-Hatenberg Obtención matriz de rotación y traslación Articulación de Prismática i-1Ai
i '1
Ai
i '1
Ai
=
'1 =
T ( Z
i '1
,) i )T ( 0 , 0 , d i )T ( X i ,( i )
'1
[T ( Z '1 ,) )T ( 0, 0,d )T ( X ,( ) ] i
i
i
i
i
=
=
&c) i $ s) $ i $0 $ %0
' c( i s) i
s( i s) i
c( i c) i
' s( i c) i
s( i
c( i
0
0
& c) i $' c( s) i i $ $ s( i s) i $ % 0
s) i
0
c( i c) i
s( i
' s( i c) i
c( i
0
0
0#
! ! d i ! ! 1" 0
# ' d i s( i !! ' d i c( i ! ! 1 " 0
Representación de Denavit-Hatenberg Asignación del sistema de coordenadas en las articulaciones D1.Establecer el sistema de coordenadas de la base :
Establecer un sistema de coordenadas otonormal dextrógiro (X0 ,Y0 ,Z0 ) en la base soporte con el eje Z 0 estando a lo largo del eje de movimiento de la articulación 1 y apuntando hacia fuera del hombro del brazo robot. Los ejes X 0 e Y0 se pueden establecer convenientemente y son normales al eje Z0 . D2.Inicializar y repetir:
Para cada i, i = 1,…, n-1 realizar los pasos D3 a D6 D3.Establecer los ejes de la articulación:
Alinear el Zi con el eje de movimiento (giratorio o deslizante) de la articulación i+1. Para robots que tengan configuraciones de brazo levógiras, los ejes Z1 y Z2 están apuntando hacia fuera del hombre y el tronco del brazo del robot. D4. Establecer el origen de coordenadas del sistema de coordenadas i-ésimo:
Localizar el origen del sistema de coordenadas i-ésimo en la intersección de los ejes Z i y Zi-1 o en la intersección de las normales comunes entre los ejes Zi y Zi-1 y el eje Zi . D5.Establecer el eje Xi :
Establecer Xi = ± (Zi-1 x Zi )/!Zi-1 x Zi !o a lo largo de la normal común entre los ejes Zi-1 y Zi cuando son paralelos. D6. Establecer el eje Yi :
Asignar Yi = ± (Z i-1 x Zi )/!Zi-1 x Zi ! para completar el sistema de coordenadas dextrógiro. D7. Establecer el sistema de coordenadas de la mano:
Normalmente la articulación n-ésima es de tipo giratorio. Establecer Zn a lo largo de la dirección del eje Zn-1 y apuntando hacia afuera del robot. Establecer X n tal que sea normal a ambos ejes Zn-1 y Zn . Asignar Yn para
Modelo Cinemático Directo
Variables de articulación q1(t), … , qn(t)
Modelo Cinemático Directo
Posición y orientación del TCP
Modelo Cinemático Directo Modelo cinemático directo Se calcula de la siguiente forma i
T i 0 A1 1 A2 ...i "1 Ai
0
=
=
!
j "1
A j
con i 1,2,..., n =
j 1 =
siendo
0
T i
la
matriz del robot
0
T i
Modelo Cinemático Directo Ejemplo: Se pide el modelo cinemático directo del robot manipulador de la figura adjunta
Modelo Cinemático Directo Solución:
1) Tabla de los parámetros del robot Articulación
$i
%i
ai
di
1
90º
-90º
0
0
2
0º
0º
a2
d2
3
90º
90º
a3
0
4
0º
-90º
0
d4
5
0º
90º
0
0
6
0º
0º
0
d6
Modelo Cinemático Directo 2) Matrices de las articulaciones: &c( $ s( $ $0 $ %0 &c( $ s( $ $ 0 $ % 0 &c( $ s( $ $ 0 $
1
1
0
A1
=
3
3
2
A3
=
5
5
4
A5
=
0
0
' s(
0#
0
c( 1
0
'1
0
0
0
0
s( 3
0
' c(
1
! ! 0! ! 1"
1
A2
=
a3 c( 3 # a3 s( 3
3
1
0
0
0
0
1
s( 5
0
' c(
5
'1
0
0
0
! ! ! ! "
! ! 0! ! 0
0
a2 c( 2 #
2
c( 2
0
a2 s( 2
0
1
d 2
0
0
1
2
&c( 0 ' s( $ s( 0 c( $ $ 0 '1 0 $ 0 0 % 0 &c( ' s( 0 $ s( 0 c( $ $ 0 0 1 $
A4
4
4
3
4
=
6
A6
6
6
5
=
1
3) Modelo cinemático directo:
' s(
4
0#
0
2
&c( $ s( $ $ 0 $ % 0
6
0
0
T i
0
0 =
1
0
2
! ! ! ! "
# ! 0 ! d ! ! 1" 0# ! 0 ! d ! ! 0
4
6
1
3
4
5
A1 A2 A3 A4 A5 A6
Modelo Cinemático Inverso
Posición y orientación del TCP
Modelo Cinemático Inverso
Variables de articulación q1(t), … , qn(t)
Modelo Cinemático Inverso Objetivo:
Encontrar los parámetros de articulación dada la posición y orientación del TCP, es decir, dada la matriz 0Tn encontrar los valores "i
0
T n
' n x s x a x P x $ %n s a P " % y y y y " A A ...i ! Ai ...n! An % n z s z a z P z " % " &0 0 0 1# 0
=
=
1
1
1
2
1
Modelo Cinemático Inverso Ejemplo: Encontrar las variables de articulación de un robot con ángulos de Euler del Sistema I & n x s x a x P x # $n s a P ! y y y y ! 0 T 3 = $ = R * ,( ,) $ n z s z a z P z ! $ ! 0 0 0 1 % "
&c* c) ' s* c( s) ' c* s) ' s* c( c) s* s( $ s* c) + c* c( s) ' s* s) + c* c( c) ' c* s( $ = $ s( s) s( c) c( $ 0 0 0 %
0#
! ! 0! ! 1" 0
Modelo Cinemático Inverso Solución: Igualando miembro a miembro de izquierda a derecha tenemos c* c+ ! s* c) s+
n x
=
n y
= s
n z
= s
s x
=
* c+ + c* c) s+
) s+
s y
!c* s+ ! s* c) c+ = ! s* s+ + c* c) c+
s z
= s
a x
= s
a y
=
!c* s)
a z
=
c)
!
( s % # ' s) $ ( ! a % && ## ' s) $
) c+
"
+ = c 1 &
* s)
"
* = c
"
) = c
!1
!1
z
y
(a ) z
Modelo Cinemático Inverso Esta solución es inconsistente y mal condicionada porque: • La función arco coseno no se comporta bien en cuanto a su precisión en la determinación del ángulo, ya que es dependiente del valor del ángulo. Esto cos(")=cos(-") • Cuando sen(") se aproxima a cero o ±180º, las ecuaciones de # y $ dan soluciones imprecisas o indefinidas Un método más consistente es utilizar la función arco tangente , pues devuelve el cuadrante correcto. Para ello la solución consiste en premultiplicar la ecuación matricial anterior por su transformada inversa desconocida sucesivamente y de los elementos de la ecuación matricial resultante determinar el ángulo incógnita. Es decir: 0
T 3
=
R( z ," ) R(u ,# ) R( w,! ) se
( R( z ," ) ) $1 0T 3
=
convertirá
R(u ,# ) R( w,! ) si
( R( u ,# ) ) $1 ( R( z ," ) ) $1 0T 3
=
R( w,! )
en
no es suficiente se
calculará
Modelo Cinemático Inverso En el ejemplo anterior se obtendrá ( R( z ,* ) ) '1 0T 3
=
R( u ,( ) R( w,) )
& c* s* 0 0# & n x s x a x $' s* c* 0 0! $n s a $ ! $ y y y $ 0 0 1 0! $ n z s z a z $ !$ 0 0 0 1 % "% 0 0 0 y
de
0#
0 &1 0 ! $0 c( ' s( 0 !=$ 0! $0 s( c( ! $ 1 " %0 0 0
' s) 0 0# !$ ! 0 s) c) 0 0 !$ ! 0! $ 0 0 1 0! !$ ! 1" % 0 0 0 1" 0# &c)
aqui sale
a x c* + a y s* & n x c* + n y s* s x c* + s y s* $' n s* + n c* ' s s* + s c* ' a s* + a c* y x y x y $ x $ n z s z a z $ 0 0 0 %
0 ' s) & c) ! $c( s) c( c) ' s( 0 !=$ 0! $ s( s) s( c) c( ! $ 1" % 0 0 0 0#
0#
! ! 0! ! 1" 0
Modelo Cinemático Inverso Igualando los
elementos
(1,3)
& a x # ! ) = tag $ $'a ! % y " '1
a x c) + a y s) = 0
(
Igualando los
elementos
(1,1) y
(1,2)
c+ = n x c) + n y s)
& ' s x c) ' s y s) # ! + = tag $ $ n c) + n s) ! y % x " '1
s+ = ' s x c) ' s y s) (
Igualando los
elementos
(2,3) y
(3,3)
s* = a x s) ' a y c) c* = a z
(
& a x s) ' a y c) # !! * = tag $$ a z % " '1
Modelo Cinemático Inverso En general el método es: 0
0
1
1
1
T n A1 A2 ...i ! Ai ...n ! An =
pasar a
( 0 A1 ) !1 0T n 1 A2 ...i !1 Ai ...n !1 An =
(1 A2 ) !1 ( 0 A1 ) !1 0T n 2 A3 ...i !1 Ai ...n!1 An =
… ( n ! 2 An!1 ) !1 …(1 A2 ) !1 ( 0 A1 ) !1 0T n
=
n !1
An
Matriz Jacobiana Objetivo: Relacionar las velocidades lineales y angulares del TCP con las velocidades de las articulaciones Zi+1
Yi+1
Oi+1 k z(i+1)
Z0
V0(i+1) P0(i+1)
Xi+1
%i+1
O0
P0i
X0
0
V n
=
! # # "
$ & 0 ! W & % !n P
n
=
J n
Yi
! ! # ! 1 # ! ! # 2 # ! # ! " # '1 # ! ! " n
n
0
!n es P
Oi
V0i
Y0
0
Zi
P* i+1
$ & & & & & & & %
=
! J n(
donde
J n
Xi
es
!
Jacobiano
el vector velocidad obtenido derivando el vector posición de la matriz
obtenido de la representación Denavit-Hatenberg 0
el
0
T n
Matriz Jacobiana La Jacobiana de un robot se calcula de la siguiente forma: 0
V n
=
! # # "
0
! P n
! W n
0
$ & & %
=
! J n '
donde
J n
=
! "
J n1
La submatriz J ni tiene dos componentes: J ni
=
J n 2
(* ) *+
"
J ni ( v ) J ni ( w )
J nm
$ %
donde J ni ( v ) se refiere a las velocidades lineales
y J ni ( w ) se refiere a las velocidades angulares
Cálculo de la submatriz J ni(v) " 0 i!1 zi!1 x Pn Para articulación giratoria J ni ( v ) $ 0 $ zi!1 # " 0 % zi!1 ' Para articulación prismática J ni ( v ) $ $# 0 '& =
% ' ' &
=
donde 0 zi es el vector compuesto por los tres primeros valores de la 3º columna de la matriz 0 Ai
Matriz Jacobiana Cálculo de la submatriz J ni(w): Se obtiene a partir de la matriz de rotación, R (matriz de 3x3), de la matriz 0T n , es decir: 0
T n
! R P $ 0 # & donde Rn es la matriz de (3x3) de rotación " 0 1 %
=
Por definición
'
=
R! n RT n (1)
0
0
y por otro lado esta demostrado que :
! 0 # ' # w z # #" (w y =
(w z 0 w x
$ & (w x & (2) donde 0W n (w x , w y , w z )T & 0 & % w y
=
!. Igualando (1) y (2) se obtienen los valores ( w x , w y , w z )T en función de las variables de articulación ) ! La submatriz de la Jacobiana J ni ( w ) se obtiene separando esta matriz de la )
Matriz Inversa de la Jacobiana La matriz inversa de la Jacobiana es: ! !
=
"1
J n
# % % $
& ( ! ( W '
0
!n P
0
n
• Nota: En el caso de un robot manipulador, la matriz Jacobiana sólo se podrá invertir cuando sea cuadrada, que en este caso quiere decir que el número de grados de libertad deben ser seis. • Singularidades: Al ser la matriz Jacobiana dependiente de las variables articulares, pueden existir combinaciones de estas que hagan que la Jacobiana resulte nula. A estas configuraciones se les denomina singularidades: – Las singularidades representan configuraciones articulares desde las que el movimiento en ciertas direcciones es imposible. – En configuraciones singulares, a fuerzas y pares finitas del extremo pueden corresponderles fuerzas y pares infinitas de las articulaciones. – Lo mismo en el caso de velocidades. En configuraciones singulares se pierde al menos un grado de libertad.
Matriz Jacobiana Ejemplo: Dado el manipulador de dos grados de libertad de la figura, se pide determinar la velocidad de traslación ( p! ) y la de rotación (w 02 ) en O2 (el TCP), en función de la velocidades angulares de las articulaciones de revolución. 02
Matriz Jacobiana Solución: La velocidad de traslación es 0 P!2 0
W n
=
! 0 #" w2 x
0
w2 y
0
! 0 #" v2 x
=
0
v2 y
0
$
v2 z & y la angular %
$
w2 z & %
! ! $ ! 0 P! $ ! 1 2 & 0 # & # El vector velocidad global es V 2 J 2 # ! ! & # 0W n & " % " 2 % =
=
La Jacobiana se calculará mediante J 2
=
! J J " 21 22 0
donde z0
=
! 0 0 $ # z0 x P2 % # 0 z0 "
0
1
z1 x P2
=
0
z1
$ & & %
! 0 0 1 $T y 0 z ! 0 0 1 $T son los tres primeros valores 1 " % " % =
de la tercera columna de 0 A0 y de 0 A1 respectivamente
Matriz Jacobiana Cálculo de las matrices de rotación de las articulaciones: Las matrices de rotación del manipulador de la figura son ( s12
" c !s 1 $ 1 $ s1 c1 0 A1 = $ $ 0 0 $# 0 0
% ' 0 l1s1 ' ' , 1 0 ' 0 1 '& 0
l1c1
" c !s 0 2 $ 2 $ s2 c2 0 1 A2 = $ $ 0 0 1 $# 0 0 0
% ' l2 s2 ' ' 0 ' 1 '&
=
s en(! 1 + ! 2 ) y c12
l2 c2
y
=
cos(! 1 + ! 2 ):
" c !s 12 $ 12 $ s12 c12 0 A2 = $ 0 $ 0 $# 0 0
De aqui se obtienen:
" 0 0 1 % por ser , 0 A la matriz identidad 0 # & 0 " % z1 = 0 0 1 se obtiene de los 3 primeros valores de la tercera columna de # & 0 " % z2 = 0 0 1 se obtiene de los 3 primeros valores de la tercera columna de # & 0
z0
0
1
P2
=
=
" #
" P2 = #
T
l1c1 + l2 c12
l1s1 + l2 s12 T
l2 c12
l2 s12
0 %&
0 %&
0
A1
0
A2
0
l2 c12 + l1c1
0
l2 s12 + l1s1
1 0
0 1
% ' ' ' ' '&
Matriz Jacobiana Cálculo de la submatriz J 2v: i 0
z0 x 0 P2
0
=
l1c1 + l2 c12
0
1
z1 x P2
=
" !l s ! l s ) $ 1 1 2 12 0 1 = $ l1s1 + l2 s12 $ l1s1 + l2 s12 0 0 $# " !l s % k $ 2 12 ' 1 = $ l2 c12 ' $ ' 0 0 $# '& j
i
j
0
0
l2 c12
l2 s12
k
de aquí obtenemos la J 2v " !l s ! l s $ =$ l c +l c $ 0 $# 1 1
J 2 v
1 1
2 12
2
2
!l
s
2 12
l2 c12 0
% ' ' ' '&
% ' ' ' '&
Matriz Jacobiana Cálculo de la submatriz J 2w (método 1) Para hallar esta submatriz debemos tomar la matriz R de la matriz 0 A2 es decir:
" c !s 12 $ 12 R = $ s12 c12 $ 0 $# 0
0 %
'
0 '
'
1 '&
Se deriva con respecto al tiempo y se hace introducen las derivadas de las articulaciones
" ! s !c 12 12 dR ! dR ! $ ! R = !s12 ! 1 + ! 2 = $ c12 d !1 d ! 2 $ 0 $# 0
0 %
'
(
! 2 0 ' ! !1 + !
' 1 '&
)
Por otro lado sabemos que
" 0 !w w z y $ ( = $ w z !w x 0 $ 0 $# !w y w x
% " !s !c 0 %" c s12 12 12 12 ' $ ' $ ! T = (! !1 + ! ' = RT ! 2 ) $ c12 !s12 0 '$ !s12 c12 ' $ '$ 0 1 '&$# 0 0 $# 0 '&
Igualando obtenemos: w z
! !
= ! 1 + ! 2
De aqui la submatriz J 2 w sera
" w % " 0 0 % " ! % $ x ' ! 1 $ ' ' J 2 w = $ 0 0 ' puesto que $ w y ' = J 2 w $ $ ! $ ' ! 2 ' $ 1 1 ' # & w # & $# z '&
0 %
" !s c + s c !s s ! c c 0 % " 0 !1 0 % 12 12 12 12 ' $ 12 12 12 12 ' $ ' ! 2 ) $ c12 c12 + s12 s12 ! 2 ) $ 1 c12 s12 ! c12 s12 0 ' = (! !1 + ! 0 ' = (! !1 + ! 0 0 ' ' $ ' $ 0 0 1 ' 1 '& 0 0 1 '& # & $#
Matriz Jacobiana Cálculo de la submatriz J 2w (método 2) Puesto que hemos definido las matrices Jacobianas como : Para articulaciones giratorias J i 0
entonces, como z0
=
=
" $#
0
z0
0
z1
" 0 0 % ' % $ '& $ 0 0 ' $ 1 1 ' # & =
0
zi!1 x
" 0 0 1 %T y # &
La submatriz J 2 w sera J 2 w
=
" $ $ #
i!1
0
zi!1
0
z1
=
Pn
% ' si disponemos de los valores de ' &
" 0 0 1 %T # &
0
zi!1
Matriz Jacobiana Finalmente obtenemos
! P! $ ! J # 2 & = # 2v # 0W 2 & # J 2 w " % " 0
Nota : Las ! 2
=
! 'l s ' l s 'l s 2 12 # 1 1 2 12 l2 c12 # l c +l c $# 1 1 2 12 0 0 &%# 0 0 # 0 0 # 1 1 "
velocidades
(0 + k " ) rad ,
de
las
$ & ! 0 P! &! $ # 2 x & ! !1 & donde # 0 P! # 2 y " ! !2 &% # 0 w2 z & " & % articulaciones
k = 0,1,..., entonces
'1
( J 2 )
es
se
$ ! & # 'l1s1 ' l2 s12 'l2 s12 & = # l1c1 + l2 c12 l2c12 & # 1 1 & #" %
calculan
cero. Esta
invirtiendo configuración
la
$ &! ! !1 $ & " ! !2 &% &%
matriz
se llama
J 2 , pero
si
SINGULAR
Fuerzas Generalizadas Objetivo: Relacionar las fuerzas externas y los pares de las articulaciones a través de la Jacobiana.
Dada una fuerza externa generalizada (fuerza y par) sobre la articulación enésima: n e
F
=
! F n #" x
0
T
n y 0
F
n z 0
F
n x 0
n y 0
M
M
n z 0
M
$ &%
!
! F n $ # & # M n & " %
1
0
=
0
y los actuadores de las n primeras articulaciones que producen los pares de articulación siguientes "n
=
[
]
T
!
1
!
2
!
!
n
queremos saber la relación entre los dos
Fuerzas Generalizadas Para ello igualamos el trabajo realizado en cada articulación para mover un incremental de ángulo (o longitud) y el trabajo ejercido por las fuerzas generalizadas cuando el robot mueve ese ángulo (o longitud) y cuando no hay disipación de energía. Así se tendrá: n
dW
=
"! !" i
i
=
i 1
# $
! 1
! 2
!
! n
=
#
n
dW ' F x 0 $ =
n
F y 0
n
n
n
# !" 1 ' %T ' !" 2 & ' ! ' '$ !! n
n
F z 0 M x 0 M y 0 M z 0
% ( ( ( ( (& # ' ' ' ' T % ' (& ' ' ' ' ' ' $
y
! p0n x %( ! p0n y ( ( n ! p0 z ( # 0 % ! Pn ( ( n T ' ! ( ( F e ) ' ! 0 )n ( $ & !! 0n x ( ( !! 0n y ( ( !! 0n z ( & =
Fuerzas Generalizadas Ya que no hay disipación de energía podemos igualar ambas expresiones, con lo se tendrá: ! %" # 1 & ' ! 0 # T % P % " & ' n n T & 2 ! ! ! ! ! # ' F ( ) 1 2 n e " $ & ! ' 0 & % (n ' & ' " $ &" %! n '$ 0 0 ! 0 como además %! ! !%t , % Pn Pn %t y % ( n ! 0! # Pn T n T & ! () n ) ! (F e ) & 0 '' (F en )T J n! ! es decir " W n $ =
=
=
) n J nT (F en ) =
=
=
=
0
W n %t , se tendrá
Fuerzas Generalizadas Ejemplo: Dado el manipulador de dos grados de libertad de la figura, que está ejerciendo una fuerza contra una superficie horizontal en el punto O 2. Se pide determinar los pares en las articulaciones que igualan a las fuerzas externas (no hay fuerza en el eje z y el momento externo en M 02 = 0). Fy2
Fx2
Fuerzas Generalizadas Solución:
Se tiene que calcular ! 2 = J 2T ( F e ) donde ! 2 = "# La T = 2
J
La
matriz
! 1
de la Jacobiana
! 2
$T %
es (ver
ejemplo
anterior)
" &l s & l s l c + l c 0 0 0 1 $ ' 1 1 2 12 1 1 2 12 ( 0 0 0 1 (% l2 c12 '# &l2 s12
fuerza
generalizada
" 2 $ " 0 F 0 ( = ' ( A2 ) R F 2 F e = ' ' M 02 ( '# 0 # %
donde
M 02
=
0 es
un
se
calcula
de
la
siguiente
" c &s 0 $ 12 12 $ ' ( ( con ( 0 A2 ) R = ' s12 c12 0 ( (% ' ( 0 1 ( '# 0 % vector
nulo
" forma (donde F 2 = ' F x 2 #
F y 2
T $ F z 2 ( ) %