cinemática directa

Post on 18-Apr-2015

198 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Introducción a la cinemáica directa de robots manipuladores

TRANSCRIPT

CINEMÁTICA DIRECTA C O N T E N I D O

•  Introducción •  Representación de un punto •  Representación de la orientación •  Ejercicios 1 en Matlab® •  Matriz de transformación homogénea •  Relación entre marcos •  Matrices de transformación de un robot •  Ejercicios 2 en Matlab® •  Cinemática Directa de un Robot •  Ejemplo numérico de la Cinemática Directa

Por: Dr. Juan Antonio Rojas Estrada

INTRODUCCIÓN PROBLEMA DE CINEMÁTICA

DIRECTA

PROBLEMA DE CONTROL DE

FUERZA

PROBLEMA DE CINEMÁTICA

INVERSA

CONTROL DE POSICIÓN

GENERACIÓN DE TRAYECTORIAS

SIMULACIÓN

PROGRAMACIÓN DE ROBOTS

DINÁMICA

INTRODUCCIÓN ARTICULACIÓN, VARIABLE DE

UNIÓN

ACTUADOR

HERRAMIENTA O ELEMENTO TERMINAL

UNIÓN DE LA BASE

ESLABÓN

UNIÓN REVOLUTA

ESLABÓN

ACTUADOR

INTRODUCCIÓN

Uniones prismáticas, variable, distancia

Uniones revolutas, variable, ángulo

TIPOS DE UNIÓN

INTRODUCCIÓN

•  Cinemática. Rama de la física que estudia el movimiento sin tomar en cuenta qué lo produce

•  Dinámica. Rama de la física que estudia el movimiento tomando en cuenta qué lo produce

•  Control de fuerza. Además de controlar la posición del elemento terminal, se busca controlar la fuerza que sujeta o se ejerce sobre la herramienta o cuerpo rígido

•  Control de posición. Tarea esencial de un robot, llevar al elemento final a una posición en el espacio

•  Problema de Cinemática Directa. Dados los valores de las variables de unión, determina la posición en el espacio del elemento terminal

•  Problema de Cinemática Inversa. Establecido un punto a alcanzar en el espacio, determinar los posibles conjunto de valore de las variables de unión

•  Grados de Libertad (g.d.l.) El número de variables necesarias para posicionar un robot

REPRESENTACIÓN DE UN PUNTO

Punto en el espacio

P(x, y, z)

Sistema de ejes coordenados, Marco de referencia {A}

{A}

AP =xyz

⎢⎢⎢

⎥⎥⎥

Vector de posición

Representación matemática del punto en el espacio

AP

CUERPOS RÍGIDOS

Sistema de ejes coordenados, Marco de referencia {A}

{A}

Sistemas de ejes coordenados asignados a los cuerpos rígidos Marcos {B}, {C}, {D} y {E}

{B}

{C}

{D}

{E}

POSICIÓN DE CUERPOS RÍGIDOS

Sistema de ejes coordenados, Marco de referencia

{A}

Vectores de posición

Sistemas de ejes coordenados asignados a los cuerpos rígidos

{B}

{C}

{D}

{E} {E}

DEFINICIÓN DE PRODUCTO PUNTO

A i B = A B cosθ {A}

Proyección de v sobre u

Significado: La proyección indica “que cantidad” de v apunta en la dirección de u

Si las magnitudes de A y B son la unidad, entonces el producto punto es simplemente

A i B = cosθ

A = a1 a2 a3⎡⎣

⎤⎦T

A = a12 + a2

2 + a32

A =a1A

a2A

a3A

⎣⎢⎢

⎦⎥⎥

T

 indica vector unitario, esto es, la magnitud es 1. El superíndice T, Indica traspuesta

REPRESENTACIÓN DE LA ORIENTACIÓN

{C}

AP

{A} ZA

YA

XA

ZC

YC

XC

El sistema de ejes coordenados o marco de la herramienta {C}, esta descrito en referencia al marco {A}. Se observa que {C} no tiene la misma orientación que {A}

REPRESENTACIÓN DE LA ORIENTACIÓN

CAR =

r11 r12 r13r21 r22 r23r31 r32 r33

⎢⎢⎢

⎥⎥⎥=

XC i XA YC i XA ZC i XA

XC i YA YC i YA ZC i YAXC i ZA YC i ZA ZC i ZA

⎢⎢⎢⎢

⎥⎥⎥⎥

(1)

En palabras: La orientación del objeto cuyo sistema de ejes coordenados o marco es {C},respecto al marco de referencia {A}, se expresa mediante una matriz de rotación expresada por: que indica la orientación de {C} respecto a {A}, cada elemento de la matriz representa un producto punto de los ejes de {C}, con los de {A}

CAR

INFORMACIÓN COMPLETA EN ROBÓTICA

Representación de un punto

Representación de la orientación de un cuerpo rígido

Vector

Matriz

C{ } = CAR, APCORG{ }

En palabras: El objeto, cuyo marco es {C}, esta descrito por (orientación) y el vector de posición. El vector localiza el origen de {C} con respecto a {A}

CAR APCORG

APCORG

EJERCICIOS 1 EN MATLAB 1.  Introduzca en Matlab los vectores:

2.   Obtenga los vectores unitarios

3.   Introduzca en Matlab la matriz

4.   Evalúe la matriz para un valor de θ=30°

5.   Compruebe la matriz de rotación entre los macos {A} y {B} para θ=60°

6.   Obtenga el determinante y traspuesta de la matriz rotación anterior

v1 = 1 −1 2⎡⎣ ⎤⎦T

v2 = −1 1 0⎡⎣ ⎤⎦T

v3 = 1 −2 1⎡⎣ ⎤⎦T

v1, v2, v3

BAR =

cosθ −sinθ 0sinθ cosθ 00 0 1

⎜⎜

⎟⎟

{A}

YA

XB

ZB

YB

ZA

XA

{B}

θ

BAR =

1/ 2 − 3 / 2 03 / 2 1 / 2 00 0 1

⎜⎜⎜

⎟⎟⎟

MATRICES DE TRANSFORMACIÓN HOMOGÉNEA

BAR APBORG

10 0 0BAT =

La matriz de transformación homogénea, contiene la información de la posición y orientación de un marco referido a otro marco

(2)

MATRICES DE TRANSFORMACIÓN HOMOGÉNEA

cosθ −sinθ 0sinθ cosθ 00 0 1

APBORG

10 0 0BAT =

La matriz de transformación homogénea, matriz de 4X4 que da la posición y orientación del marco {B} referido al marco {A}

MATRICES DE TRANSFORMACIÓN HOMOGÉNEA

L1

L2

Robot de uniones revolutas de 4 g.d.l.

MATRICES DE TRANSFORMACIÓN HOMOGÉNEA

{A}

YA

XB

ZB

YBZA

XA

{B}

θ

Indica que los vectores son paralelos

APBORG

Marco {A} asignado al primer eslabón móvil L1 Marco {B} asignado al segundo eslabón L2

RELACIÓN ENTRE MARCOS DE REFERENCIA

{A}

YA

XB

ZB

YBZA

XA

{B}

θ

APBORG

APBORG =L100

⎜⎜⎜

⎟⎟⎟

•  El marco {B} esta desplazado respecto al marco {A} sobre el eje por el vector una distancia del valor de L1

•  El marco {B} esta rotado sobre el eje un valor de θ grados.

•  El marco {A} es el de referencia

XAAPBORG

ZA

OBSERVACIONES:

Coordenadas del vector de posición

Usando (1) para obtener la Matriz de rotación

BAR

RELACIÓN ENTRE MARCOS DE REFERENCIA

BAR =

XB i XA YB i XA ZB i XA

XB i YA YB i YA ZB i YAXB i ZA YB i ZA ZB i ZA

⎜⎜⎜⎜

⎟⎟⎟⎟

BAR =

cosθ cos(θ + 90) cos90

cos(90 −θ ) cosθ cos90

cos90 cos90 cos0

⎜⎜⎜

⎟⎟⎟

BAR =

cosθ −senθ 0senθ cosθ 00 0 1

⎜⎜

⎟⎟

{A}

YA

XB

ZB

XA

θ

{B} ZA

Usando las identidades:cos(A + B) = cosAcosB − senA senB y sen(A + B) = senAcosB + cosA senBcon: cos90 = 0 y sen90 = 1cos(90 −θ ) = cos90 cosθ + sen90senθcos(90 −θ ) = senθ ; cos(90 +θ ) = −senθ ;

NOTA: Dado que lo que interesa aquí es la orientación, se elimina el vector de posición y los marcos se empalman para mejor visualización de los ángulos

YBθ

RELACIÓN ENTRE MARCOS DE REFERENCIA

Usando (2), la matriz de transformación del marco {B} al marco {A} queda:

BAT =

BAR APBORG⎡⎣ ⎤⎦

0 0 0⎡⎣ ⎤⎦ 1[ ]

⎜⎜

⎟⎟ =

cosθ −senθ 0 L1senθ cosθ 0 00 0 1 00 0 0 1

⎜⎜⎜⎜

⎟⎟⎟⎟

MATRICES DE TRANSFORMACIÓN DE UN ROBOT

{2}

Y2

X3

Z3

Y3Z2

X2

{3}

θ3

Indica que los vectores son paralelos

{0},

X0,1

Z0,1Y0,1

{1}

{4}

Y4

X4

Z4

θ4

θ1

θiθ1θ2θ3θ4

θ2

di0

ai−1 ai−1i

1234

0

−90

0

0

00L1L2

000

Tabla DH del robot

DH = Denavit-Hartenberg

MATRICES DE TRANSFORMACIÓN DE UN ROBOT

Eje i-1

Eje i

Eje i+1

Zi−1Yi−1

Xi−1

Xi

YiZi

θi

ai

di

α i−1

ai−1

Eslabón i-1

Eslabón i

Indican vectores paralelos y

PARÁMETROS = Torsión de eslabón = Longitud de eslabón = Corrimiento de eslabón = Ángulo de unión

α i−1

ai−1diθi

DEFINICIÓN DE PARÁMETROS = Ángulo de a alrededor de

= Distancia a a lo largo de

= Distancia a a lo largo de

= Ángulo de a alrededor de

α i−1

ai−1diθi

Zi−1 Zi Xi−1

Zi−1 Zi Xi−1

Xi−1 Xi Zi

Xi−1 Xi Zi

MATRICES DE TRANSFORMACIÓN DE UN ROBOT

Matriz de transformación de la unión i-1 a la unión i

ii−1T =

cθi −sθi 0 ai−1sθicα i−1 cθicα i−1 −sα i−1 −sα i−1disθisα i−1 cθisα i−1 cα i−1 cα i−1di0 0 0 1

⎜⎜⎜⎜

⎟⎟⎟⎟

Las matrices de transformación, del caso del robot, de acuerdo a la tabla DH

10T =

cθ1 −sθ1 0 0sθ1 cθ1 0 00 0 1 00 0 0 1

⎜⎜⎜⎜

⎟⎟⎟⎟

21T =

cθ2 −sθ2 0 00 0 1 0

−sθ2 −cθ2 0 00 0 0 1

⎜⎜⎜⎜

⎟⎟⎟⎟

32T =

cθ3 −sθ3 0 L1sθ3 cθ3 0 00 0 1 00 0 0 1

⎜⎜⎜⎜

⎟⎟⎟⎟

43T =

cθ4 −sθ4 0 L2sθ4 cθ4 0 00 0 1 00 0 0 1

⎜⎜⎜⎜

⎟⎟⎟⎟

EJERCICIOS 2 EN MATLAB

1.  Obtenga la matriz de transformación :

2.   Dada la descripción DH de un robot

Obtenga las matrices de transformación de

Cada eslabón. Use Matlab

BAR =

cosθ −sinθ 0sinθ cosθ 00 0 1

⎜⎜

⎟⎟

{A}

YA

XB

ZB

YB

ZA

XA

{B}

θ

BAT

APBORG

θiθ10θ3

di0

ai−1 ai−1i

123

0

90

0

000

d2L2

Tabla DH del robot

θ = 30

CINEMÁTICA DIRECTA DE UN ROBOT

La transformación total desde el último eslabón hasta el eslabón inmóvil Se obtiene multiplicando las todas las matrices de transformación, esto es, N0T = 1

0T i 21T ii N

N−1T

Para el caso del robot analizado 40T = 1

0T i 21T i 3

2T i 43T

40T =

cθ1 −sθ1 0 0sθ1 cθ1 0 00 0 1 00 0 0 1

⎜⎜⎜⎜

⎟⎟⎟⎟

i

cθ2 −sθ2 0 00 0 1 0

−sθ2 −cθ2 0 00 0 0 1

⎜⎜⎜⎜

⎟⎟⎟⎟

i

cθ3 −sθ3 0 L1sθ3 cθ3 0 00 0 1 00 0 0 1

⎜⎜⎜⎜

⎟⎟⎟⎟

i

cθ4 −sθ4 0 L2sθ4 cθ4 0 00 0 1 00 0 0 1

⎜⎜⎜⎜

⎟⎟⎟⎟

43T =

r11 r12 r13 r14r21 r22 r23 r24r31 r32 r33 r34r41 r42 r43 r44

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

cθ = cosθ; sθ = senθ

CINEMÁTICA DIRECTA DE UN ROBOT r11 = −cθ4 cθ1sθ2sθ3 − cθ1cθ2cθ3( )− sθ4 cθ1cθ2sθ3 + cθ1cθ3sθ2( )r12 = −cθ4 cθ1cθ2sθ3 + cθ1cθ3sθ2( ) + sθ4 cθ1sθ2sθ3 − cθ1cθ2cθ3( )r13 = −sθ1r14 = L1cθ1cθ2 − L2 cθ1sθ2sθ3 − cθ1cθ2cθ3( )r21 = cθ4 cθ3cθ2sθ1 − sθ1sθ2sθ3( )− sθ4 cθ2sθ1sθ3 + cθ3sθ1sθ2( )r22 = −cθ4 cθ3sθ1sθ2 + cθ2sθ1sθ3( )− sθ4 cθ2cθ3sθ1 − sθ1sθ2sθ3( )r23 = cθ1r24 = L2 cθ2cθ3sθ1 − sθ1sθ2sθ3( ) + L1cθ2sθ1r31 = −cθ4 cθ2sθ3 + cθ3sθ2( )− sθ4 cθ2cθ3 − sθ2sθ3( )r32 = sθ4 cθ2sθ3 + cθ3sθ2( )− cθ4 cθ2cθ3 − sθ2sθ3( )r33 = 0r34 = −L1sθ2 − L2 cθ2sθ3 + cθ3sθ2( )r41 = 0r42 = 0r43 = 0r44 = 1

Donde las submatrices

40R =

r11 r12 r13r21 r22 r23r31 r32 r33

⎜⎜⎜

⎟⎟⎟y

0P =r14r24r34

⎜⎜⎜

⎟⎟⎟

Denotan respectivamente la orientación y la posición en la Muñeca del robot

El conjunto de las ecuaciones de arriba denotan las ecuaciones de la cinemática directa del robot

APLICACIÓN DE LA CINEMÁTICA DIRECTA DE UN ROBOT

{2}

Y2

X3

Z3

Y3Z2

X2

{3}

θ3

Indica que los vectores son paralelos

{0},

X0,1

Z0,1

Y0,1

{1}

{4}

X4

Z4

θ1

θ2

H

H es la distancia del origen del marco {4} Al punto entre la tenaza a lo largo del eje X4

4P =H00

⎜⎜

⎟⎟

El punto tiene las coordenadas respecto al marco {4}

4P

APLICACIÓN DE LA CINEMÁTICA DIRECTA DE UN ROBOT

0PX = L1cθ1cθ2 − H cθ4 cθ1sθ2sθ3 − cθ1cθ2cθ3( ) + sθ4 cθ1cθ2sθ3 + cθ1cθ3sθ2( )⎡⎣ ⎤⎦ − L2 cθ1sθ2sθ3 − cθ1cθ2cθ3( )0PY = L1cθ2sθ1 − H cθ4 sθ1sθ2sθ3 − cθ2cθ3sθ1( ) + sθ4 cθ2sθ1sθ3 + cθ3sθ1sθ2( )⎡⎣ ⎤⎦ − L2 sθ1sθ2sθ3 − cθ2cθ3sθ1( )0PZ = −L2 cθ2sθ3 + cθ3sθ2( )− L1sθ2 − H cθ4 cθ2sθ3 + cθ3sθ2( ) + sθ4 cθ2cθ3 − sθ2sθ3( )⎡⎣ ⎤⎦

A partir de la matriz de transformación general, se obtiene cualquier posición y orientación de una herramienta referida al marco de referencia, marco {0}, la posición del punto entre la tenaza descrita por el vector se describe referido al marco de referencia por el vector como

4P0P

0P = 40T 4P

0P =

r11 r12 r13 r14r21 r22 r23 r24r31 r32 r33 r34r41 r42 r43 r44

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

H001

⎜⎜⎜⎜

⎟⎟⎟⎟

APLICACIÓN DE LA CINEMÁTICA DIRECTA DE UN ROBOT

Primer caso: L1 = 1, L2 =1 y H = 1, θ1 = θ2 =θ3 =θ4 =0, El vector es 0P

>> [px,py,pz,T,TN] = robotejPN(0,0,0,0,1,1) px = 2 py = 0 pz = 0

TN = 1 0 0 2 0 0 1 0 0 -1 0 0 0 0 0 1 >> P0=TN*P4 P0 = H + 2 0 0 1 >> eval(P0) ans = 3 0 0

Ejemplos numéricos

APLICACIÓN DE LA CINEMÁTICA DIRECTA DE UN ROBOT

Segundo caso: L1 = 1, L2 =1 y H = 1, θ2 = -90° ; θ1 = θ3 =θ4 = 0 El vector es

0P

>> [px,py,pz,T,TN] = robotejPN(0,-90,0,0,1,1) px = -0.0084 py = 0 pz = 2.0000 TN = -0.0042 1.0000 0 -0.0084 0 0 1.0000 0 1.0000 0.0042 0 2.0000 0 0 0 1.0000

>> P0=TN*P4 P0 = - (1211622740714113*h)/288230376151711744 - 1211622740714113/144115188075855872 0 (2251779918085443*h)/2251799813685248 + 2251779918085443/1125899906842624 1 >> eval(P0) ans = -0.0126 0 3.0000 1.0000

top related