0% encontró este documento útil (0 votos)
38 vistas30 páginas

Tema 3

La cinemática del robot se centra en el estudio del movimiento del robot en relación a un sistema de referencia, abordando el problema cinemático directo e inverso. Se utiliza el algoritmo de Denavit-Hartenberg para describir la geometría espacial de los eslabones del robot mediante matrices de transformación homogénea. Además, se establece un modelo diferencial que relaciona las velocidades de las articulaciones con las del extremo del robot a través de la matriz Jacobiana.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
38 vistas30 páginas

Tema 3

La cinemática del robot se centra en el estudio del movimiento del robot en relación a un sistema de referencia, abordando el problema cinemático directo e inverso. Se utiliza el algoritmo de Denavit-Hartenberg para describir la geometría espacial de los eslabones del robot mediante matrices de transformación homogénea. Además, se establece un modelo diferencial que relaciona las velocidades de las articulaciones con las del extremo del robot a través de la matriz Jacobiana.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Cinemática del robot.

TEMA 3

Cinemática del robot.

1. Introduccción.

2. El problema cinemático directo.

3. Algoritmo de Denavit-Hartenberg.

4. El problema cinemático inverso.

5. Modelo diferencial. Matriz Jacobiana.

3-1
Cinemática del robot.

1. Introducción.

CINEMÁTICA DEL ROBOT

La Cinemática del robot estudia el movimiento del mismo con respecto a un


sistema de referencia. Así, la Cinemática se interesa por la descripción analítica del
movimiento espacial del robot como una función del tiempo, y en particular por las
relaciones entre la posición y la orientación del extremo final del robot con los valores
que toman sus coordenadas articulares.

Existen dos problemas fundamentales a resolver en la Cinemática del robot. El


primero de ellos se conoce como el problema cinemático directo, y consiste en
determinar cuál es la posición y orientación del extremo final del robot, con respecto a
un sistema de coordenadas que se toma como referencia, conocidos los valores de las
articulaciones y los parámetros geométricos de los elementos del robot. El segundo,
denominado problema cinemático inverso, resuelve la configuración que debe adoptar
el robot para una posición y orientación del extremo conocidas.

Problema cinemático directo e inverso

Denavit y Hartenberg propusieron un método sistemático para describir y


representar la geometría espacial de los elementos de una cadena Cinemática, y en
particular de un robot, con respecto a un sistema de referencia fijo. Este método utiliza
una matriz de transformación homogénea para describir la relación espacial entre dos
elementos rígidos adyacentes, reduciéndose el problema cinemático directo a encontrar
una matriz de transformación homogénea 44 que relacione la localización espacial del
extremo del robot con respecto al sistema de coordenadas de su base.

3-2
Cinemática del robot.

Por otra parte, la Cinemática del robot trata también de encontrar las relaciones
entre las velocidades del movimiento de las articulaciones y las del extremo. Esta
relación viene dada por el modelo diferencial expresado mediante la matriz Jacobiana.

2. El problema cinemático directo.

PROBLEMA CINEMÁTICO DIRECTO

Dado que un robot se puede considerar como una cadena Cinemática formada
por objetos rígidos o eslabones unidos entre sí mediante articulaciones, se puede
establecer un sistema de referencia fijo situado en la base del robot y describir la
localización de cada uno de los eslabones con respecto a dicho sistema de referencia. De
esta forma, el problema cinemático directo se reduce a encontrar una matriz homogénea
de transformación T que relacione la posición y orientación del extremo del robot
respecto del sistema de referencia fijo situado en la base del mismo. Esta matriz T será
función de las coordenadas articulares.

RESOLUCIÓN DEL PROBLEMA CINEMÁTICO DIRECTO MEDIANTE


MÉTODOS GEOMÉTRICOS

La resolución del problema cinemático directo consiste en encontrar las


relaciones que permiten conocer la localización y orientación espacial del extremo del
robot a partir de los valores de sus coordenadas articulares. En ciertos casos (robots de
pocos GDL) esto es fácil de encontrar mediante simples consideraciones geométricas:

Robot planar de 2 GDL


U
V

3-3
Cinemática del robot.

x  l1 cos q1  l2 cosq1  q2 
y  l1senq1  l2sen q1  q2 
z0
n o a  R z, q1  q2 

No existe un procedimiento específico para resolver el problema cinemático


directo mediante métodos geométricos, por lo que, en general, no es operativo para
robots con mayor número de grados de libertad.

RESOLUCIÓN DEL PROBLEMA CINEMÁTICO DIRECTO MEDIANTE


MATRICES DE TRANSFORMACIÓN HOMOGÉNEA

Para robots de más grados de libertad puede plantearse un método sistemático


basado en la utilización de las matrices de transformación homogénea.

En general, un robot de n grados de libertad está formado por n eslabones unidos


por n articulaciones, de forma que cada par articulación-eslabón constituye un grado de
libertad. A cada eslabón se le puede asociar un sistema de referencia solidario a él y,
utilizando las transformaciones homogéneas, es posible representar las rotaciones y
traslaciones relativas entre los distintos eslabones que componen el robot.
Normalmente, la matriz de transformación homogénea que representa la posición y
orientación relativa entre los sistemas asociados a dos eslabones consecutivos del robot
i-1
se suele denominar matriz Ai. Así pues, 0Al describe la posición y orientación del
sistema de referencia solidario al primer eslabón con respecto al sistema de referencia
solidario a la base, 1A2 describe la posición y orientación del segundo eslabón respecto
del primero, etc.

Del mismo modo, denominando 0Ak a las matrices resultantes del producto de
i-1
las matrices Ai con i desde 1 hasta k, se puede representar de forma total o parcial la
cadena cinemática que forma el robot. Así, por ejemplo, la posición y orientación del
sistema solidario con el segundo eslabón del robot con respecto al sistema de
coordenadas de la base se puede expresar mediante la matriz 0A2:

3-4
Cinemática del robot.

0
A2= 0A11A2

De manera análoga, la matriz 0A3 representa la localización del sistema del


tercer eslabón :
0
A3 = 0A11A22A3

Cuando se consideran todos los grados de libertad, a la matriz 0An se le suele


denominar T. Así, dado un robot de seis grados de libertad, se tiene que la posición y
orientación del eslabón final respecto de la base del robot vendrá dada por la matriz T:

T= 0A6 = 0A11A22A33A44A55A6

i-1
Cada matriz Ai depende, además de los parámetros geométricos de cada
eslabón, del grado de libertad qi, de modo que, en realidad, se tiene que:

T(q1,...,qn)= 0An(q1,...,qn)= 0A1(q1)1A2(q2)2A3(q3)...n-1An(qn)

La matriz T que representa el cambio de coordenadas entre el extremo del robot


y su base coincide con la matriz de transformación homogénea [n o a p] que
corresponde a la localización del extremo del robot y es la solución del problema
cinemático directo.

En el ejemplo anterior:

Robot planar de 2 GDL: asignación de bases


X2
Y2
1
A2 S2

0
A1 Y1

S1 X 1
Y0

S0 X
0

3-5
Cinemática del robot.

El paso de {S0} a {S1} se consigue con una translación l1 en X y una rotación q1


en torno al eje Z del sistema fijo {S0} (esto es equivalente a girar primero q1 sobre el eje
Z del sistema fijo y transladar l1 sobre en nuevo eje X). En cualquier caso:

 C1  S1 0 0  1 0 0 l1   C1  S1 0 l1C1 
    
S C1 0 0  0 1 0 0   S1 C1 0 l1 S1 
0
A1  R  z , q1   Tl1 ,0,0   1 
0 0 1 0  0 0 1 0  0 0 1 0 
    
0 0 0 1  0 0 0 1   0 0 0 1 

El paso de {S1} a {S2} se consigue con una translación l2 en X y una rotación q2


en torno al eje Z del sistema fijo {S1} (esto es equivalente a girar primero q2 sobre el eje
Z del sistema fijo y transladar l2 sobre en nuevo eje X). En cualquier caso:

 C2  S2 0 0  1 0 0 l2   C2  S2 0 l2C2 
    
S C2 0 0  0 1 0 0   S2 C2 0 l2 S 2 
1
A 2  R  z , q 2   Tl 2 ,0,0   2 
0 0 1 0  0 0 1 0  0 0 1 0 
    
 0 0 0 1  0 0 0 1   0 0 0 1 

Por tanto:

 C1C2  S1 S 2  C1S 2  S1C2 0 l1C1  l2C12   C12  S12 0 l1C1  l2C12 


   
 S C  C1S 2  S1S 2  C1C2 0 l1S1  l2 S12   S12 C12 0 l1S1  l2 S12 
T  A1 A 2   1 2
0 1
 0 
0 0 1 0 0 1 0
   
 0 0 0 1   0 0 0 1 
   

donde C12=cos (q1+q2) y S12=sen (q1+q2).

Como T  n o a p  , el vector p define la posición del extremo terminal respecto


la base del robot y la submatriz de rotación n o a define la orientación:

x  l1 cos q1  l2 cosq1  q2 
y  l1senq1  l2sen q1  q2 
z0
n o a  R z, q1  q2 

3-6
Cinemática del robot.

3. Algoritmo de Denavit-Hartenberg.

INTRODUCCIÓN

Aunque para describir la relación que existe entre dos elementos contiguos se
puede hacer uso de cualquier sistema de referencia ligado a cada elemento, la forma
habitual que se suele utilizar en robótica es la representación de Denavit-Hartenberg (D-
H). Denavit y Hartenberg propusieron en 1955 un método matricial que permite
establecer de manera sistemática un sistema de coordenadas {Si} ligado a cada eslabón i
de una cadena articulada, pudiéndose determinar a continuación las ecuaciones
cinemáticas de la cadena completa. Según la representación de D-H, escogiendo
adecuadamente los sistemas de coordenadas asociados a cada eslabón, será posible
pasar de uno al siguiente mediante 4 transformaciones básicas que dependen
exclusivamente de las características geométricas del eslabón.

Estas transformaciones básicas consisten en una sucesión de rotaciones y


traslaciones que permiten relacionar el sistema de referencia del elemento i con el
sistema del elemento i-1. Las transformaciones en cuestión son las siguientes (es
importante recordar que el paso del sistema {Si-1} al {Si} mediante estas 4
transformaciones está garantizado sólo si los sistemas {Si-1}y {Si} han sido definidos de
acuerdo a unas normas determinadas que se expondrán posteriormente):

1. Rotación alrededor del eje zi-1 un ángulo i.


2. Traslación a lo largo de zi-1una distancia di; vector di(0,0,di).
3. Traslación a lo largo de xi una distancia ai; vector ai(ai,0,0).
4. Rotación alrededor del eje xi un ángulo i.

Dado que el producto de matrices no es conmutativo, las transformaciones se


han de realizar en el orden indicado. De este modo, se tiene que:

i-1
Ai = T (z,i) T(0,0,di) T(ai,0,0) T(x,i)

y realizando el producto entre matrices:

3-7
Cinemática del robot.

 C i  S i 0 0  1 0 0 0  1 0 0 ai  1 0 0 0
    
i 1  S C i 0 0  0 1 0 0  0 1 0 0  0 C i  S i 0
Ai   i 
0 0 1 0  0 0 1 d i  0 0 1 0  0 S i C i 0
    
 0 0 0 1  0 0 0 1  0 0 0 1  0 0 0 1 

 C i  C  i S i S i S i ai C i 
 
 S C i C i  S i C  i a i S i 
 i
0 S i C i di 
 
 0 0 0 1 

donde i , ai , di , i son los parámetros D-H del eslabón i.

De este modo, basta con identificar los parámetros i , ai , di , i para obtener las
matrices A y relacionar así todos y cada uno los eslabones del robot. Como se ha
i-1
indicado, para que la matriz Ai, relacione los sistemas {Si}y {Si-1}, es necesario que
los sistemas se hayan escogido de acuerdo a unas determinadas normas. Éstas, junto con
la definición de los 4 parámetros D-H, conforman el siguiente algoritmo para la
resolución del problema cinemático directo.

ALGORITMO DE DENAVIT-HARTENBERG PARA LA OBTENCIÓN DEL


MODELO CINEMÁTICO DIRECTO

D-H 1. Numerar los eslabones comenzando con 1 (primer eslabón móvil) y acabando
con n (último eslabón móvil). Se numerará como eslabón 0 a la base fija del robot.

D-H 2. Numerar cada articulación comenzando por 1 (la correspondiente al primer


grado de libertad) y acabando en n.

D-H 3. Localizar el eje de cada articulación. Si ésta es rotativa, el eje será su propio eje
de giro. Si es prismática, será el eje a lo largo del cual se produce el desplazamiento.

D-H 4. Para i de 0 a n-1 situar el eje zi sobre el eje de la articulación i+l.

D-H 5. Situar el origen del sistema de la base {S0} en cualquier punto del eje z0. Los
ejes x0 e y0 se situarán de modo que formen un sistema dextrógiro con z0.

3-8
Cinemática del robot.

D-H 6. Para i de 1 a n-1, situar el sistema {Si} (solidario al eslabón i) en la intersección


del eje zi con la línea normal común a zi-1 y zi. Si ambos ejes se cortasen se situaría {Si}
en el punto de corte. Si fuesen paralelos {Si} se situaría en la articulación i+1.

D-H 7. Situar xi en la línea normal común a zi-1 y zi.

D-H 8. Situar yi de modo que forme un sistema dextrógiro con xi y zi.

D-H 9. Situar el sistema {Sn} en el extremo del robot de modo que zn coincida con la
dirección de zn-1 y xn sea normal a zn-1 y zn.

D-H 10. Obtener i como el ángulo que hay que girar en torno a zi-1 para que xi-1 y xi
queden paralelos.

D-H 11. Obtener di como la distancia, medida a lo largo de zi-1 que habría que desplazar
{Si-1} para que xi y xi-1 quedasen alineados.

DH 12. Obtener ai como la distancia medida a lo largo de xi (que ahora coincidiría con
el eje xi-1) que habría que desplazar el nuevo {Si-1} para que su origen coincidiese con
{Si}.

DH 13. Obtener i como el ángulo que habría que girar entorno a xi (que ahora
coincidiría con xi-1), para que el nuevo {Si-1} coincidiese totalmente con {Si}.

DH 14. Obtener las matrices de transformación i-1Ai.

DH 15. Obtener la matriz de transformación que relaciona el sistema de la base con el


del extremo del robot T = 0A11A2... n-1An.

DH 16. La matriz T define la orientación (submatriz de rotación) y posición (submatriz


de traslación) del extremo referido a la base en función de las n coordenadas articulares.

3-9
Cinemática del robot.

Los cuatro parámetros de D-H (i, di, ai, i) dependen únicamente de las
características geométricas de cada eslabón y de las articulaciones que le unen con el
anterior y siguiente. En concreto estos representan:

Parámetros de D-H para articulaciones giratorias

i Es el ángulo que forman los ejes xi-1 y xi medido en un plano perpendicular al eje zi-1,
utilizando la regla de la mano derecha. Se trata de un parámetro variable en
articulaciones giratorias.
di Es la distancia a lo largo del eje zi-1 desde el origen del sistema de coordenadas (i-1)-
ésimo hasta la intersección del eje zi-1 con el eje xi. Se trata de un parámetro variable en
articulaciones prismáticas.
ai Es la distancia a lo largo del eje xi que va desde la intersección del eje zi-1 con el eje xi
hasta el origen del sistema i-ésimo, en articulaciones giratorias. En el caso de
articulaciones prismáticas, se calcula como la distancia más corta entre los ejes zi-1 y zi.
i Es el ángulo de separación del eje zi-1 y el eje zi, medido en un plano perpendicular al
eje xi, utilizando la regla de la mano derecha.

Una vez obtenidos los parámetros D-H, el cálculo de las relaciones entre los
eslabones consecutivos del robot es inmediato, ya que vienen dadas por las matrices A,
que se calculan según la expresión general. Las relaciones entre eslabones no
consecutivos vienen dadas por las matrices T que, como ya se comentó anteriormente,
se obtienen como producto de un conjunto de matrices A.

3-10
Cinemática del robot.

Obtenida la matriz T, ésta expresará la orientación (submatriz (33) de rotación)


y posición (submatriz (31) de traslación) del extremo del robot en función de sus
coordenadas articulares, con lo que quedará resuelto el problema cinemático directo.

Ejemplo:

Resolver el problema cinemático directo del robot cilíndrico de la figura:

Robot cilíndrico de 4 GDL

Este robot posee 1 eslabón fijo, 4 eslabones móviles y 4 GDL asociados a sus
articulaciones: 2 giratorias y 2 prismáticas. Se numeran los eslabones de 0 a 4 y las
articulaciones de 1 a 4. A continuación, se determinan las bases asociadas a cada
eslabón y se determinan los parámetros de D-H:

Parámetros de D-H del robot cilíndrico

ARTICULACIÓN  d a 
1 q1 l1 0 0
2 90º d2 0 90º
3 0 d3 0 0
4 q4 l4 0 0

3-11
Cinemática del robot.

Con estos datos, se obtienen las matrices de transformación homogénea:

 C1  S1 0 0  0 0 1 0
   
S C1 0 0  1 0 0 0
0
A1   1 ,
1
A2  
0 0 1 l1  0 1 0 d2 
   
0 0 0 1  0 0 0 1 
 
1 0 0 0  C4  S4 0 0
   
0 1 0 0 S C4 0 0
2
A3   ,
3
A4   4
0 0 1 d3  0 0 1 l4 
   
0 0 0 1   0 0 0 1 
 

El producto de las cuatro matrices proporciona la solución del problema


cinemático directo:

  S1C 4 S1 S 4 C1 C1 d 3  l 4 
 
 CC  C1 S 4 S1 S1 d 3  l 4    n o a p 
T A1 A 2 A 3 A 4   1 4
0 1 2 3
 
S4 C4 0 d 2  l1   0 0 0 1 
 
 0 0 0 1 
 

4. Problema cinemático inverso.

El objetivo del problema cinemático inverso consiste en encontrar los valores


que deben adoptar las coordenadas articulares del robot q = [ql, q2, ... ,qn]T para que su
extremo se posicione y oriente según una determinada localización espacial.

Así como es posible abordar el problema cinemático directo de una manera


sistemática a partir de la utilización de matrices de transformación homogéneas, e
independientemente de la configuración del robot, no ocurre lo mismo con el problema
cinemático inverso, siendo el procedimiento de obtención de las ecuaciones fuertemente
dependiente de la configuración del robot.

Se han desarrollado algunos procedimientos genéricos susceptibles de ser


programados, de modo que un computador pueda, a partir del conocimiento de la
cinemática del robot (con sus parámetros de Denavit-Hartenberg, por ejemplo) obtener
la n-upla de valores articulares que posicionan y orientan su extremo. El inconveniente

3-12
Cinemática del robot.

de estos procedimientos es que se trata de métodos numéricos iterativos, cuya velocidad


de convergencia e incluso su convergencia en sí no está siempre garantizada.

A la hora de resolver el problema cinemático inverso es mucho más adecuado


encontrar una solución cerrada, en general, utilizando métodos geométricos. Esto es,
encontrar una relación matemática explícita de la forma:

qk = fk(x,y,z,,,)
k = 1... n (GDL)

Este tipo de solución presenta, entre otras, las siguientes ventajas:

1. En muchas aplicaciones, el problema cinemático inverso ha de resolverse en tiempo


real (por ejemplo, en el seguimiento de una determinada trayectoria). Una solución
de tipo iterativo no garantiza tener la solución en el momento adecuado.

2. Al contrario de lo que ocurría en el problema cinemático directo, con cierta


frecuencia la solución del problema cinemático inverso no es única, existiendo
diferentes n-uplas [ql, ..., qn]T que posicionan y orientan el extremo del robot del
mismo modo. En estos casos una solución cerrada permite incluir determinadas
reglas o restricciones que aseguren que la solución obtenida sea la más adecuada de
entre las posibles (por ejemplo, límites en los recorridos articulares).

No obstante, a pesar de las dificultades comentadas, la mayor parte de los robots


poseen cinemáticas relativamente simples que facilitan en cierta medida la resolución de
su problema cinemático inverso.

Los métodos geométricos permiten obtener normalmente los valores de las


primeras variables articulares, que son las que consiguen posicionar el robot
(prescindiendo de la orientación de su extremo). Para ello utilizan relaciones
trigonométricas y geométricas sobre los elementos del robot. Se suele recurrir a la
resolución de triángulos formados por los elementos y articulaciones del robot.

3-13
Cinemática del robot.

Como alternativa para resolver el mismo problema se puede recurrir a manipular


directamente las ecuaciones correspondientes al problema cinemático directo obtenidas
a partir de las matrices de transformación homogénea. Es decir, puesto que éste
establece la relación:

n o a p
   t ij 
0 0 0 1

donde los elementos tij son función de las coordenadas articulares [ql , ... , qn]T, es
posible pensar que mediante ciertas combinaciones de las 12 ecuaciones planteadas se
puedan despejar las n variables articulares qi en función de las componentes de los
vectores n, o, a y p. Sin embargo, en la práctica esta tarea no es trivial siendo en
muchas ocasiones tan compleja que obliga a desecharla.

Por otra parte, si se consideran robots con 6 GDL, capaces de orientar y


posicionar su extremo en el espacio, el método del desacoplo cinemático permite en
determinados tipos de robots, resolver los primeros grados de libertad dedicados al
posicionamiento independientemente de la resolución de los últimos grados de libertad
que determinan la orientación.

RESOLUCIÓN DEL PROBLEMA CINEMÁTICO INVERSO MEDIANTE


MÉTODOS GEOMÉTRICOS

Como se ha indicado, este procedimiento es adecuado para robots de pocos


grados de libertad o para el caso de que se consideren sólo los primeros grados de
libertad, dedicados a posicionar el extremo. El procedimiento en sí se basa en encontrar
suficiente número de relaciones geométricas en las que intervendrán las coordenadas del
extremo del robot, sus coordenadas articulares y las dimensiones físicas de sus
elementos.

Para mostrar el procedimiento a seguir se va a aplicar el método a la resolución


del problema cinemático inverso de un robot con 3 GDL de rotación (estructura típica
articular) como el de la figura.

3-14
Cinemática del robot.

El dato de partida son la coordenadas (px, py, pz) referidas a {S0} en las que se
quiere posicionar su extremo.

Robot articular

Como se puede apreciar, este robot posee una estructura planar, es decir, fijada
una variable articular, los movimientos del robot siempre están contenidos en un plano,
quedando este plano definido por el ángulo de la primera variable articular q1. El valor
de q1 se obtiene inmediatamente como:

 py 
q1  arctg 
 px 

Considerando ahora únicamente los elementos 2 y 3 que están situados en un


plano y utilizando el teorema del coseno, se tendrá:

r 2  p x2  p y2  p x2  p y2  p z2  l22  l32
  cos q3 
r 2  p z2  l22  l32  2l2l3 cos q3  2l2l3

Esta expresión permite obtener q3 en función del vector de posición del extremo
p. No obstante, y por las ventajas computacionales que supone, es más conveniente
utilizar la expresión de la arcotangente en lugar del arcoseno. Puesto que:

3-15
Cinemática del robot.

  1  cos 2 q 
sen q3   1  cos 2 q3 , se tendrá que q3  arctg 3 .
 cos q3 
 

Como se ve, existen 2 posibles soluciones para q3 según se tome el signo


positivo o el signo negativo en la raíz. Éstas corresponden a las configuraciones de codo
arriba y codo abajo del robot.

Configuraciones del robot

El cálculo de q2 se hace a partir de la diferencia entre  y : q2     .


Siendo:
 
 pz   pz 
  arctg   arctg 2 
 
 px  p y 
r 2

 l sen q3 
  arctg 3 
 l2  l3 cos q3 

De nuevo los dos posibles valores según la elección del signo dan lugar a dos
valores diferentes de q2 correspondientes a las configuraciones codo arriba y abajo.

Las expresiones para q1, q2 y q3 resuelven el problema cinemático inverso para


el robot de 3GDL considerado.

3-16
Cinemática del robot.

RESOLUCIÓN DEL PROBLEMA CINEMÁTICO INVERSO A PARTIR DE LAS


MATRICES DE TRANSFORMACIÓN HOMOGÉNEA

Se trata de obtener los valores que deben tener las coordenadas articulares del
robot para que su extremo alcance una determinada posición y orientación manipulando
las relaciones obtenidas en el problema directo, obteniendo las relaciones inversas. Se
va a aplicar este método al robot polar de la siguiente figura. Es un robot de 3 GDL, 2
giros y un desplazamiento.

Robot polar de 3 GDL

El robot posee 1 eslabón fijo y 3 eslabones móviles, con 2 articulaciones


giratorias y 1 prismática. Se numeran los eslabones de 0 a 3 y las articulaciones de 1 a
3. Después, se determinan las bases asociadas a cada eslabón y los parámetros de D-H:

Parámetros de D-H del robot polar

ARTICULACIÓN  d a 
1 q1 l1 0 90º
2 q2 0 0 -90º
3 0 q3 0 0

3-17
Cinemática del robot.

Con estos datos, se obtienen las matrices de transformación homogénea:

 C1 0  S1 0  C2 0  S2 0 1 0 0 0
     
S 0 C1 0 1  S2 0 C2 0 2 0 1 0 0
0
A1   1  , A2  , A3  
0 1 0 l1  0 1 0 0 0 0 1 q3 
     
0 0 0 1  0 0   0 1 
  0 1 0 0

El producto de las tres matrices proporciona la solución del problema cinemático


directo:

 C1C 2  S1  C1S 2  q3C1 S 2 


 
S C C1  S1 S 2  q3 S1 S 2   n o a p 
T  A1 A 2 A 3   1 2
0 1 2
 
S 0 C2 q2C 2  l1   0 0 0 1 
 2 
 0 0 0 1 
 

Supuesta conocida una localización de destino para el extremo del robot definida
por los vectores n, o, a y p, se trata de manejar directamente las 12 ecuaciones
resultantes de T para despejar q1, q2 y q3. Sin embargo, este proceso es complejo y
conduce a ecuaciones trascendentes sin solución analítica. En lugar de esto, puede ser
más sencillo aplicar el siguiente procedimiento:

n o a p
T 0 A 1 1 A 2 2 A 3  
0 0 0 1
  0 A 1  
-1

T1 A 2 2 A 3 y también 1 A 2  
1 0
A1 
-1
T 2 A 3
 

Sustituyendo en  0
A1 
-1
T 1 A 2 2 A 3 :

 C1 S1 0 0  n x ox ax p x   C2 0  S2 0  1 0 0 0
     
0 0 1  l1  n y oy ay py   S2 0 C2 0  0 1 0 0
S 
 C1 0 0  n z oz az pz   0 1 0 0  0 0 1 q3 
 1     
0 0 0 1  0 0 0 1   0 0 0 1  0 0 0 1 

 C1 S1 0 0  n x ox ax p x   C2 0  S2  S 2 q3 
    
0 0 1  l1  n y oy ay py   S2 0 C2 C 2 q3 
S 
 C1 0 0  n z oz az pz   0 1 0 0 
 1    
0 0 0 1  0 0 0 1   0 0 0 1 

3-18
Cinemática del robot.

Se buscan relaciones que expresen q1 en función de valores conocidos. En


concreto, comparando el elemento (3,4):

py  py 
S1 p x  C1 p y  0  tan q1   q1  arctan 
px  px 

Sustituyendo en A  
1
2
1 0
A1 
-1
T 2 A 3 :

 C2 S2 0 0  C1 S1 0 0  n x ox ax px   1 0 0 0
     
 0 0 1 0  0 0 1  l1  n y oy ay py  0 1 0 0
S 
 C2 0 0  S1  C1 0 0  n z oz az pz   0 0 1 q3 
 2     
 0 0 0 1  0 0 0 1  0 0 0 1   0 0 0 1 

 C 2 C1 C 2 S1 S2  l1 S 2  n x ox ax px   1 0 0 0
    
  S1 C1 0 0  n y oy ay py  0 1 0 0
 S C 
 S 2 S1 C2  C 2 l1  n z oz az pz   0 0 1 q3 
 2 1    
 0 0 0 1  0 0 0 1   0 0 0 1 

Comparando el elemento (1,4):

C 2 C1 p x  C 2 S1 p y  S 2 p z  l1 S 2  0  C 2 C1 p x  S1 p y   S 2  p z  l1   0 

C1 p x  S1 p y
tan q 2   . Teniendo en cuenta que: S1 p x  C1 p y  0 
p z  l1

px2  p y2
C1 p x  S1 p y  p  p  q2  arctan
2 2

l1  pz
x y

Por último, considerando el elemento (3,4) se tiene:

 S 2 C1 p x  S 2 S1 p y  C 2 p z  C 2 l1  q3  q3  C2  pz  l1   S2 px2  p y2

3-19
Cinemática del robot.

5. Modelo diferencial. Matriz Jacobiana.

Además de relacionar las variables articulares con la posición y orientación del


extremo del robot, la cinemática del robot se ocupa de establecer la relación entre las
velocidades de las coordenadas articulares y las de la posición y orientación del
extremo, o lo que es equivalente, estudiar el efecto que un movimiento diferencial de las
variables articulares tiene sobre las variables en el espacio de la tarea. Esta relación
queda definida por el modelo diferencial.

El modelo diferencial queda establecido por medio de la matriz Jacobiana del


robot. Esta matriz relaciona el vector de velocidades articulares q1 , q 2 ,..., q n  con otro
vector de velocidades expresado en un espacio distinto:

- Una posibilidad es elegir un espacio donde las velocidades de la localización del


extremo del robot se expresen en coordenadas cartesianas y ángulos de Euler:
x, y , z,,,  , obteniéndose la denominada Jacobiana analítica del manipulador.

- Otra posibilidad es elegir un espacio donde las velocidades de la localización del


extremo del robot se expresen mediante los vectores de velocidad lineal y angular:
v , v , v , ,
x y z x y ,  z , obteniéndose la Jacobiana geométrica del manipulador.

En ambos casos, la matriz Jacobiana directa permite obtener una relación entre
las velocidades del extremo del robot a partir de los valores de las velocidades de cada
articulación.

Por otra parte, la matriz Jacobiana inversa permite conocer las velocidades
articulares necesarias para obtener un vector concreto de velocidades del extremo.

JACOBIANA ANALÍTICA

Esta matriz relaciona el vector de velocidades articulares q1 , q 2 ,..., q n  con el

 
vector de velocidades de la localización del extremo del robot x , y , z,,, .

3-20
Cinemática del robot.

Jacobiana analítica directa e inversa

Jacobiana analítica directa


Velocidades de las Velocidades de la localización
articulaciones del extremo del robot
q1 , q 2 ,..., q n  x, y , z,,, 
Jacobiana analítica inversa

El método más directo para obtener la Jacobiana directa consiste en diferenciar


las ecuaciones correspondientes al modelo cinemático directo. Así, para un robot de n
GDL:

x  f x q1 ,..., qn  y  f y q1 ,..., qn  z  f z q1 ,..., qn 

  f q1 ,..., qn    f q1 ,..., qn    f q1 ,..., qn 

Derivando respecto del tiempo las expresiones anteriores:

n
f x n f y n
f z
x   q i y   q i z   q i
i 1 qi i 1 qi i 1 qi
n f  n
f n f
  
i 1 qi
qi   
 
i 1 qi
qi   
  

i 1 qi
q i

Expresado en forma matricial:

 x   q1 
   
 y      f x f x 
  
 z      q1 qn 
   J a   con J a      
       f f 
        
 
 
   q1 qn 
 q 
   n

La matriz Ja se denomina matriz Jacobiana analítica. Como cada uno de los


elementos de esta matriz depende de los valores de las coordenadas articulares qi, el
valor de la Jacobiana será diferente en cada uno de los puntos del espacio articular.

3-21
Cinemática del robot.

Ejemplo:

Obtener la matriz Jacobiana analítica del robot SCARA de la figura:

Robot SCARA

Utilizando el formalismo de Denavit-Hartenberg, se obtendrían las matrices de


transformación homogénea y la composición de las mismas resolvería el problema
cinemático directo:
 C124  S124 0 l3C12  l2C1 
 
S C124 0 l3 S12  l2 S1 
T A1 A 2 A 3 A 4   124
0 1 2 3

0 0 1 l1  q3 
 
 0 0 0 1 
 
De donde:
x  l3C12  l2C1 , y  l3 S12  l2 S1 , z  l1  q3

  0 ,   0 ,   q1  q 2  q 4
Por tanto:
  l3 S12  l2 S1   l3 S12 0 0
 
 l3C12  l2C1 l3C12 0 0
 0 0 1 0
Ja   
 0 0 0 0
 0 0 0 0 

 1 1 0 1 

3-22
Cinemática del robot.

Luego, si el robot se encuentra en un instante determinado en una configuración


 
dada por: q1  rad; q2  rad; q3  0.75 m; q4  0 rad, con velocidades articulares:
6 4
  
q1  rad/s; q 2  rad/s; q 3  1 m/s; q 4  rad/s, siendo l1  l 2  1 m, la localización
2 2 4
de su extremo variará a una velocidad dada por:

 x    1.465  0.965 0 0   3.81


     
 y   1.124 0.258 0 0   / 2   2.17 
 z   0  
0 1 0   / 2   1 
    

   0 0 0 0  1   0 
    0  
   0 0 0   / 4   0 
   1 1 0 1   3.93 
    

JACOBIANA GEOMÉTRICA

Relaciona las velocidades articulares con la velocidad lineal y angular del


extremo del robot expresadas en el sistema de referencia de la base del robot {S0}:

 x   q1 
   
 y    
 z    
   J 
 x    
   
 x    
   q 
 x  n

Jacobiana geométrica directa e inversa

Jacobiana geométrica directa


Velocidades de las Velocidades lineales y
articulaciones angulares del extremo del robot
q1 , q 2 ,..., q n  v , v , v , ,
x y z x y , z 
Jacobiana geométrica inversa

Puede obtenerse directamente a partir de la transformación homogénea:

3-23
Cinemática del robot.

n o a p
T   
0 0 0 1

La velocidad lineal del extremo respecto del sistema vendrá dada por las
derivadas respecto del tiempo de las coordenadas (x,y,z) del extremo del robot:

dx dy dz
vx   x  p x , v y   y  p y , v z   z  p z
dt dt dt

Por tanto, la relación de la velocidad lineal del extremo del robot v x , v y , v z  con

las velocidades articulares q1 , q 2 ,..., q n  será la misma que la de x , y , z  definida en la

Jacobiana analítica pudiendo ser obtenida a partir del vector p   p x , p y , p z de la matriz

T que expresa la posición del extremo del robot en función de las coordenadas
articulares.

Para obtener la relación de la velocidad angular  x ,  y ,  z  con las velocidades

articulares, se considera la submatriz de rotación R  [n o a] de la matriz T del robot.


  RT  R  R
Como R es ortonormal: R  R T  I . Derivando respecto del tiempo: R  T  0.
  R T , cumpliéndose que Ω  ΩT  0 . Se trata de una
Se define la matriz Ω como Ω  R
matriz antisimétrica cuyos elementos vienen dados por el vector de velocidades
angulares  x ,  y ,  z  :

 0  z y 
 
Ω   z 0  x 
 x 0 
 y

En resumen, se puede obtener la Jacobiana geométrica de un robot a partir de la


n o a p
matriz T    . Las velocidades del extremo del robot v x , v y , v z  pueden
0 0 0 1
obtenerse derivando respecto del tiempo el vector p   p x , p y , p z y las velocidades

angulares  x ,  y ,  z  a partir de la matriz Ω, que se define a partir de la submatriz de


  RT .
rotación R  [n o a] como Ω  R

3-24
Cinemática del robot.

Este procedimiento de obtención de la matriz Jacobiana geométrica no es válido


para su implementación computacional pues se necesita derivar p y R respecto del
tiempo lo que suele ser excesivamente complejo. Existen métodos numéricos
alternativos para resolver este problema.

Ejemplo:

Obtener la matriz Jacobiana geométrica del robot SCARA anterior.

En la matriz Jacobiana geométrica (o simplemente, Jacobiana) las tres primeras


filas relacionan las velocidades lineales con las articulares y las tres últimas relacionan
las velocidades angulares con las articulares. Así, se pueden considerar Jv y Jω.

 x 
 
 y   q1   q1 
 z     J  
q 2    q 2 
v
 J 
 x   q     q 
   3   J   3 
 q   q 
 x  4  4
 
 x

La matriz T obtenida anteriormente es:

 C124  S124 0 l3C12  l2C1 


 
S C124 0 l3 S12  l2 S1 
T 0 A 4   124
0 0 1 l1  q3 
 
 0 0 0 1 
 
De donde:
p x  l3C12  l2C1 , p y  l3 S12  l2 S1 , p z  l1  q3

Por tanto, la matriz Jv se obtendrá así:

 l3 S12  l2 S1 q1  l3 S12 q 2


dp x
vx 
dt

3-25
Cinemática del robot.

dp y
vy   l3C12  l2C1 q1  l3 S12 q 2
dt
dp z
vz   q 3
dt

Y la matriz Jv será:

  l3 S12  l2 S1   l3 S12 0 0


 
J v   l3C12  l2C1 l3C12 0 0
 0 0 1 0 

Para obtener la matriz Jω primero se calcula Ω a partir de R:

 C124  S124 0   S124  C124 0


   
R   S124 C124 
0   R   C124  S124 0 q1  q 2  q 4 
 0 0 1   0 0 0 
 

Por tanto Ω será:

  S124  C124  S124  0 1 0 


T
0  C124 0
    
  R  q  q  q  C
ΩR T
 S124 0  S124 C124 0   q1  q 2  q 4  1 0 0 
1 2 4 124
 0 0 0  0 0 1  0 0 0
  

 0  z y 
 
Comparando con Ω    z 0   x    x ,  y ,  z   0,0,1  q1  q 2  q 4 
 x 0 
 y

Y la submatriz Jω es:

  l3 S12  l2 S1   l3 S12 0 0


 
 l3C12  l2C1 l3C12 0 0
 0 0 0 0 
  0 0 1 0
J   0 0 0 0  J   
1 1 0 1  0 0 0 0
   0 0 0 0 

 1 1 0 1 

3-26
Cinemática del robot.

MÉTODO NUMÉRICO PARA OBTENER LA JACOBIANA GEOMÉTRICA

Este método posibilita la obtención de la matriz Jacobiana geométrica sin tener


que calcular derivadas respecto del tiempo. Se basa en la propagación de las velocidades
y permite relacionar las velocidades articulares con las velocidades lineales y angulares
del extremo del robot medidas respecto el sistema fijo de la base a partir de las matrices
i-1
Ai. Estas matrices contienen la información de los vectores directores y origen del
sistema {Si} en la base {Si-1}:

 i-1 n i i 1
oi i-1
ai pi 
i-1
i 1
A i   
 0 0 0 1 

Sea 0zi el vector unitario orientado según el eje de la articulación i+1 definido en
i 1
el sistema de coordenadas de la base del robot {S0}. Se tiene que: z i  i 1 a i .

Sea ipn el vector que va desde el origen del sistema{Si} hasta el extremo del
robot (origen del sistema{Sn}) expresado en la base del robot{S0}. Se tiene que:
i
p n 0 p n 0 pi .

Conocidos los vectores 0zi y ipn, la matriz Jacobiana se puede obtener como una
matriz 6×n (n=GDL) expresada por columnas como:

J  J 1 J2  Jn 

 0 z i 1i 1 p n 
 0  si la articulación i es de rotación
 z i 1 
donde J i   0
  z i 1  si la articulación i es de translación
  0 

Ejemplo:

Obtener la matriz Jacobiana geométrica del robot SCARA anterior.

3-27
Cinemática del robot.

Es necesario disponer de todas las matrices de transformación homogénea:

 C1  S1 0 l2C1   C2  S2 0 l3 C 2 
   
S C1 0 l2 S1  1 S C2 0 l3 S 2 
0
A1   1  A2   2
0 0 1 l1 0 0 1 0 
   
 0 0 0 1    0 1 
 0 0

1 0 0 0  C4  S4 0 0
   
0 1 0 03 S C4 0 0
2
A3    A4   4
0 0 1 q3 0 0 1 0
   
0 0 0 1  0 0 0 1 
 

Y después, se calculan las matrices 0A2,0A3 y 0A4:

 C12  S12 0 l3C12  l2C1   C12  S12 0 l3C12  l2C1 


   
S C12 0 l3 S12  l2 S1  0 S C12 0 l3 S12  l2 S1 
0
A 2   12  A 3   12
0 0 1 l1 0 0 1 l1  q3 
   
 0 0 0 1   
   0 0 0 1 
 C124  S124 0 l3C12  l2C1 
 
S C124 0 l3 S12  l2 S1 
T 0 A 4   124
S 0 1 l1  q3 
 2 
 0 0 0 1 
 
Se calculan los vectores 0zi y ipn:

0
z 0  0,0,1 , 0 z1  0,0,1 , 0 z 2  0,0,1 , 0 z 3  0,0,1 , 0 z 4  0,0,1
T T T T T

0
p 4  l3C12  l2C1 , l3 S12  l2 S1 , l1  q3 
T

1
p 4  l3C12 , l3 S12 , q3 
T

2
p 4  0,0, q3 
T

3
p 4  0,0,0
T

Los grados de libertad 1, 2 y 4 son de rotación y el 3 de translación por lo que:

 0 z 0 0 p 4   0 z 1 1 p 4   0 z2   0 z 3 3 p 4 

J1   0       
z  , J2   0 z  , J3   0  , J4   0 z 
 0   1     3 

3-28
Cinemática del robot.

i j k  l3 S12  l2 S1 
0
z 0 0 p 4  0 0 1   l3C12  l2C1 
l3C12  l2C1 l3 S12  l2 S1 l1  q3  0 

i j k  l3 S12 
0
z1  p 4 
1
0 0 1   l3C12 
l3C12 l3 S12 q3  0 

i 0 
j k
0
z 3  p 4  0 0 1  0
3

0 0 q3 0

Por tanto:
  l3 S12  l2 S1    l3 S12  0  0
       
 l3C12  l2C1   l3C12  0  0
 0   0   1   0
J1    , J2    , J3    , J4   
 0   0  0  0
 0       0
   0  0  
 1   1  0 1
       

Con lo que finalmente:


  l3 S12  l2 S1   l3 S12 0 0
 
 l3C12  l2C1 l3C12 0 0
 0 0 1 0
J  
 0 0 0 0
 0 0 0 0 

 1 1 0 1 

JACOBIANA INVERSA

Del mismo modo que se ha obtenido la relación directa entre las velocidades del
extremo del robot y las velocidades articulares, puede obtenerse la relación inversa que
permite calcular las velocidades articulares partiendo de las del extremo. Esta relación
puede obtenerse mediante diferentes procedimientos.

Supuesta conocida la Jacobiana directa, puede calcularse la relación inversa


invirtiendo simbólicamente la matriz Jacobiana:

3-29
Cinemática del robot.

 q1   x   q1   x 
       
    y     y 
    z     z 
   J -a1   o bien    J -1  
         x 
         
       y
 q     q   
 n    n  z

Pero, en la práctica, este método es de difícil realización. Primeramente, exige


que el robot disponga de 6 GDL para que la matriz sea cuadrada, además de que sus
elementos son funciones trigonométricas de tratamiento complejo, haciendo este
procedimiento inviable. Una alternativa consistiría en evaluar numéricamente la
Jacobiana directa antes de realizar la inversión, lo cual implica que como ésta cambia a
medida que el robot se mueve, debe ser recalculada constantemente.

Además, puede ocurrir que existan valores para los cuales la matriz Jacobiana no
sea invertible por ser su determinante (Jacobiano) nulo. Las configuraciones del robot
para las que esto ocurre se denominan configuraciones singulares. Esto significa que
un incremento infinitesimal de las coordenadas cartesianas supondría un incremento
infinito en las coordenadas articulares (velocidad inalcanzable). Por ello, en las
inmediaciones de estas configuraciones se pierde alguno de los grados de libertad del
robot. Las singularidades pueden ser de dos tipos:

- En los límites del espacio de trabajo del robot: se presentan cuando el extremo
del robot se encuentra en algún punto del límite del espacio de trabajo (interior o
exterior).
- En el interior del espacio de trabajo del robot: tienen lugar en la zona de trabajo
y se producen por el alineamiento de dos o más eslabones o ejes del robot.

Otra posibilidad es obtener la Jacobiana inversa a partir del modelo cinemático


inverso como:
 f1 f1 
 

 q1  f1  x, y, z , , , 
 x 
J -a1       , con 
 f n f n  qn  f n  x, y, z, , , 
 x  
  

3-30

También podría gustarte