proyecto de robots - udesc - cct · resolver la cinemática directa del manipulador de 6 dof con...

36
11.1 Control y programación de robots 11. 11. Solución cinemática inversa y directa de Solución cinemática inversa y directa de robots seriales robots seriales

Upload: dinhkhanh

Post on 11-Oct-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.1

Control y programación de robots

11. 11. Solución cinemática inversa y directa de Solución cinemática inversa y directa de robots serialesrobots seriales

Page 2: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.2

El alumno, tras recibir y estudiar esta clase, debe ser capaz de:

Comprender el modelado de la cinemática directa e inversa de los robots seriales y sus limitaciones

Page 3: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.3

Definición de las cinemáticasDefinición de las cinemáticas

Page 4: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.4

Page 5: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.5

Grados de libertad de un mecanismo

Asumiendo pares binarios (juntas que soportan dos eslabones), los grados de libertad (F) de un mecanismo están gobernados por la ecuación

F = λ (n - 1) –

Donde:

F = Grados de libertad del mecanismon = numero de eslabones del mecanismo j = numero de juntas (articulaciones binarias)ci = numero de restricciones impuestas por la junta

fi = grados de libertada permitidos por la junta

λ = grados de libertad del espacio en el cual trabaja el mecanismo

j

ii 1

c=¥

Page 6: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.6

criterio de Grubler's :

F = λ (n - j - 1) +

Ejemplo – robot rotacional de 6 ejes (ABB IRB 4400):

Refiriéndonos al a figura y de acuerdo a la anterior ecuación:

F = 6 (7 - 1) - 6 (5) = 6 “como era esperado”

o por la ecuación de Grubler's :

F = 6(7 – 6 –1) + 6 (1) = 6 “como era esperado”

Criterio de Grubler’s

j

ii 1

f=¥

Page 7: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.7

Grados de libertad redundantes

Los grados de libertad redundantes pueden generar grados de libertad pasivos, los cuales deben ser restado de la ecuación de Grubler's, para tener:

F = λ (n - j - 1) - - fp

Un grado de libertad pasivo ayuda a un eslabón intermedio a rotar libremente alrededor de un eje definido por las dos juntas

Un grado de libertad pasivo no puede transmitir par.

j

ii 1

f=¥

Page 8: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.8

Problemas de la cinemática de robots

Redundancia Mas grados de libertad que los que se necesitan

para resolver el posicionamiento de un robot Grados de libertad redundantes para evadir obstáculos Múltiples soluciones

Fijar soluciones de acuerdo a la aplicación Fijar soluciones por métodos geométricos que

optimizan restricciones Singularidades

Las singularidades de un mecanismo pueden reflejar comportamientos que dan como resultado: la reducción de la cadena cinemática o la ganancia de

grados de libertad sin control el atascamiento del mecanismo

Page 9: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.9

Singularidad de borde

Singularidad por el alineamiento de las juntas 4 y 6

Singularidades típicas

La relación esférica de las juntas pierde movilidad al caer sobre el eje de giro

Page 10: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.10

Análisis de posición: Soluciones cinemáticasAnálisis de posición: Soluciones cinemáticas

La solución cinemática directa La cinemática directa de un robot consiste en hallar la posición y

orientación del efector final a partir de los ángulos o desplazamientos de cada una de las articulaciones

La cinemática directa puede ser calculada la partir de la lectura de los sensores de posición de las articulaciones

Base

Efector final ?

?

f( )=xθrr

Page 11: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.11

Análisis de posición: Soluciones cinemáticasAnálisis de posición: Soluciones cinemáticas

La solución cinemática inversa La cinemática

1 1 2 2 3 3

1 1 2 2 3 3

x l cos( ) l cos( ) l cos( )

y l sin( ) l sin( ) l sin( )

θ θ θθ θ θ

= + += + +

Base

Efector final (x, y, z)1 = ?θ

2 = ?θ

3 = ?θ

1f ( )−=θ xr r

l1l2

l3

Page 12: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.12

Análisis de posición: Soluciones cinemáticasAnálisis de posición: Soluciones cinemáticas

La solución cinemática inversa

1 1 2 2 3 3

1 1 2 2 3 3

x l cos( ) l cos( ) l cos( )

y l sin( ) l sin( ) l sin( )

θ θ θθ θ θ

= + += + +

Base

Efector final (x, y, z)1 = ?θ

2 = ?θ

3 = ?θ

1f ( )−=θ xr r

l1l2

l3

Numero de ecuaciones : 2

Numero de variables : 3

Posible numero infinito de soluciones !

Page 13: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.13

Análisis de posición: RedundanciaAnálisis de posición: Redundancia

DOF del mecanismo > DOF del efector final

Nuestro ejemplo

DOF mecanismo = 3 DOF efector final = 2

1 1 2 2 3 3

1 1 2 2 3 3

x l cos( ) l cos( ) l cos( )

y l sin( ) l sin( ) l sin( )

θ θ θθ θ θ

= + += + +

Page 14: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.14

Definición de las trasformaciones cinemáticasDefinición de las trasformaciones cinemáticas

Page 15: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.15

Solución cinemática directaSolución cinemática directa

Page 16: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.16

Cinemática directaCinemática directa

Page 17: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.17

Cinematica directa por matrices de transformaciónCinematica directa por matrices de transformación

Tabla de parámetros de D-H

Orientación de la muñeca

Posición

Page 18: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.18

Ejercicio practico: Cinemática directa con Ejercicio practico: Cinemática directa con matlabmatlab

Eslabón θ idi ai α i

1 θ1+π/2 l1 0 -π/2

2 θ2-π/2 0 a2 0

3 θ3+π 0 0 π/2

4 θ4l4 0 −π/2

5 θ50 0 π/2

6 θ6l6 0 0

Resolver la cinemática directa del manipulador de 6 dof con matlab

Page 19: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.19

Ejemplo: Robot serial 6 DOFEjemplo: Robot serial 6 DOF

% DIRECTKINEMATIC6 Direct Kinematic.% A06 = DIRECTKINEMATIC6(Q) devuelve la matriz de transformación del% primer sistema de coordenadas al último en función del vector Q % de variables articulares.%% See also DENAVIT.function A06 = directkinematic6(q)% Parámetros Denavit-Hartenberg del robotteta = q;d = [0.315 0 0 0.5 0 0.08];a = [0 0.45 0 0 0 0];alfa = [-pi/2 0 pi/2 -pi/2 pi/2 0];% Matrices de transformación homogénea entre sistemas de coordenadas consecutivosA01 = denavit(teta(1), d(1), a(1), alfa(1));A12 = denavit(teta(2), d(2), a(2), alfa(2));A23 = denavit(teta(3), d(3), a(3), alfa(3));A34 = denavit(teta(4), d(4), a(4), alfa(4));A45 = denavit(teta(5), d(5), a(5), alfa(5));A56 = denavit(teta(6), d(6), a(6), alfa(6));% Matriz de transformación del primer al último sistema de coordenadasA06 = A01 * A12 * A23 * A34 * A45 * A56;

Page 20: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.20

Ejemplo: Robot serial 6 DOFEjemplo: Robot serial 6 DOF

» q=zeros(6,1)

q =

0

0

0

0

0

0

» T=directkinematic6(q)

T =

1.0000 0 0 0.4500

0 1.0000 0 0

0 0 1.0000 0.8950

0 0 0 1.0000

Page 21: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.21

Cinemática inversaCinemática inversa

Page 22: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.22

Solución cinemática inversaSolución cinemática inversa

Page 23: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.23

Cinemática inversa de un robot serialCinemática inversa de un robot serial

La cinemática inversa consiste en hallar los valores de las coordenadas articulares del robot conocida la posición y orientación del extremo del robot.

A pesar de que en la literatura se pueden encontrar diversos métodos genéricos para la resolución de la cinemática inversa que pueden ser implementados en computadora, suele ser habitual la resolución por medio de métodos geométricos.

La mayor parte de los robots suelen tener cadenas cinemáticas relativamente sencillas, que facilitan la utilización de los métodos geométricos.

Page 24: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.24

Cinemática inversa de un robot serialCinemática inversa de un robot serial

Para muchos robots, si se consideran sólo los tres primeros grados de libertad, se tiene una estructura planar, una hoja que gira. Este hecho facilita la resolución del problema.

Asimismo los últimos tres grados de libertad suelen usarse para la orientación de la herramienta, lo cual permite una resolución geométrica desacoplada de la posición de la muñeca del robot y de la orientación de la herramienta.

Page 25: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.25

Cinemática inversa de un robot serialCinemática inversa de un robot serial

Page 26: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.26

Resolución por método geométrico, caso-1Resolución por método geométrico, caso-1

Page 27: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.27

Resolución por método geométrico, caso-1Resolución por método geométrico, caso-1

Page 28: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.28

Resolución cinemática inversa por matrices de Resolución cinemática inversa por matrices de transformacióntransformación

Page 29: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.29

Resolución por matrices de transformaciónResolución por matrices de transformación

Page 30: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.30

Resolución por matrices de transformaciónResolución por matrices de transformación

Page 31: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.31

Ejercicio practico: Cinemática con matlabEjercicio practico: Cinemática con matlab

Simular el desplazamiento de un robot de 6 dof en línea recta, dados el puntos de partida p1(x, y, z) y de llegada p2(x, 2, z).

p1

p2

Page 32: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.32

Ejercicio practico: Cinemática con matlabEjercicio practico: Cinemática con matlab

simular la cinemática inversa de un manipulador de 6 dof utilizando herramientas de matlab

1. Construir la tabla de parámetros de D-H.

2. Defina para este robot una de las dos opciones para el hombro y una de las dos opciones para la muñeca

3. Edite el script: inversekinematic6(T, codo, muñeca); y cambie los valores de la tabla de D-H por los del robot 6 DOF

4. Estudie detenidamente los scripts planifica6(p1, p2, n, s, a, CODO, MUNECA, NPUNTOS).m y inversekinematic6(T, codo, muneca).m

5. Realice las simulación

Page 33: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.33

Ejercicio practico: Cinemática inversa con matlabEjercicio practico: Cinemática inversa con matlab

Eslabón θ idi ai α i

1 θ1+π/2 l1 0 -π/2

2 θ2-π/2 0 a2 0

3 θ3+π 0 0 π/2

4 θ4l4 0 −π/2

5 θ50 0 π/2

6 θ6l6 0 0

Modelo del robot en base a D-H

Page 34: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.34

Ejercicio practico, cinemática inversa con matlabEjercicio practico, cinemática inversa con matlab

Page 35: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.35

Revisión: Funciones de matlabRevisión: Funciones de matlab

Código en Matlab. La función PLANIFICA6(P1,P2,N,S,A,CODO,MUÑECA, NPUNTOS) calcula la matriz de coordenadas articulares utilizada para graficar el movimiento del robot.

% PLANIFICA6 Planificación de trayectorias% MAT_Q = PLANIFICA6(P1, P2, N, S, A, CODO, MUNECA, NPUNTOS) realiza % una planificación de trayectoria en línea recta desde la coordenada% cartesiana P1 hasta la P2, de manera que la mano del manipulador % posee la orientación expresada por [N S A]. CODO = 1 indica codo del % robot arriba, es decir, que la articulación 3 se sitúa por encima de % la articulación 2, mientras que CODO = -1 indica codo abajo, es decir % que la articulación 2 se sitúa por encima de la 3. MUNECA = 1 indica que % la muñeca del robot se sitúa por debajo de la coordenada cartesiana, % mientras que MUNECA = -1 significa que la muñeca se sitúa por arriba.% NPUNTOS indica el número de puntos en los que se divide la trayectoria.% En MAT_Q se devuelve las coordenadas articulares, almacenadas por% columnas, correspondientes a cada uno de los puntos cartesianos en los % que se divide la trayectoria. MAT_Q es una matriz de NPUNTOS + 2 columnas % y 6 filas. %% See also INVERSEKINEMATIC6.

Page 36: Proyecto de robots - UDESC - CCT · Resolver la cinemática directa del manipulador de 6 dof con matlab. 11.19 Ejemplo: Robot serial 6 DOF ... orientación de la herramienta, lo cual

11.36

Revisión: Funciones de matlabRevisión: Funciones de matlab

function mat_q = planifica6(p1, p2, n, s, a, codo, muneca, npuntos)% Cálculo del vector unitariou = p2-p1;mu = sqrt(u(1)^2+u(2)^2+u(3)^2);u = (1/mu)*u;% Cálculo de la distancia entre puntosd = mu/(npuntos+1);for i=0:(npuntos+1) % Cálculo de la posición cartesiana actual de la mano del manipulador

p = p1+(i*d)*u; T = [n s a p]; % Cálculo de las coordenadas articulares q = inversekinematic6(T,codo,muneca); mat_q(:,i+1) = q;end