Avance Practica 8

14
UNIVERSIDAD CATÓLICA DE SANTA MARÍA FACULTAD DE CIENCIAS E INGENIERÍAS FÍSICAS Y FORMALES ESCUELA PROFESIONAL DE INGENIERÍA MECÁNICA, MECÁNICA ELECTRICA Y MECATRÓNICA CURSO: ROBOTICA I TEMA: CINEMATICA DEL ROBOT – ALGORITMO DENAVIT- HARTENBERG INTEGRANTES: BEJARANO CARBAJAL, CARLOS TENORIO MARIN, EDGAR

description

avance practica 8 robotica

Transcript of Avance Practica 8

Page 1: Avance Practica 8

UNIVERSIDAD CATÓLICA DE SANTA MARÍA

FACULTAD DE CIENCIAS E INGENIERÍAS FÍSICAS Y FORMALES

ESCUELA PROFESIONAL DE INGENIERÍA MECÁNICA, MECÁNICA ELECTRICA Y MECATRÓNICA

CURSO:

ROBOTICA I

TEMA:

CINEMATICA DEL ROBOT – ALGORITMO DENAVIT-HARTENBERG

INTEGRANTES:

BEJARANO CARBAJAL, CARLOS

TENORIO MARIN, EDGAR

AREQUIPA - PERÚ

2016

CINEMÁTICA INVERSA Y MODELO DIFERENCIAL

Page 2: Avance Practica 8

I. OBJETIVOS

I.1. Aplicar y resolver problemas de cinemática inversa del robot y de modelo diferencial, empleando en la solución herramientas matemáticas y de software.

II. MARCO TEÓRICO

MODELO CINEMÁTICO INVERSO

La Cinemática inversa (IK) es la técnica que permite determinar el movimiento de una cadena de articulaciones para lograr que un actuador final se ubique en una posición concreta. El cálculo de la cinemática inversa es un problema complejo que consiste en la resolución de una serie de ecuaciones cuya solución normalmente no es única.

El objetivo de la cinemática inversa es encontrar los valores que deben tomar las coordenadas articulares del robot para que su extremo se posicione y oriente según una determinada localización espacial. Depende de la configuración del robot (existen soluciones múltiples).

Siempre que se especifica una posición de destino y una orientación en términos cartesianos, debe calcularse la cinemática inversa del dispositivo para poder despejar los ángulos de articulación requeridos. Los sistemas que permiten describir destinos términos cartesianos son capaces de mover el manipulador a puntos que nunca fueron capaces de mover el espacio de trabajo a los cuales tal vez nunca haya ido antes. A estos puntos los llamaremos puntos calculados.

El movimiento de una cadena cinemática ya sea si es un robot o un personaje animado es modelado por ecuaciones cinemáticas propias de la misma cadena. Estas ecuaciones definen la configuración de la cadena en términos de sus parámetros.

Por ejemplo las fórmulas de la cinemática inversa permiten el cálculo de los parámetros de unión del brazo de un robot para levantar un objeto. Ya que una de las Fórmulas similares es determinar las posiciones del esqueleto de un personaje animado que se va a mover de una manera en particular.

MÉTODOS

Page 3: Avance Practica 8

Entre los diversos métodos de solución mediante la cinemática inversa, se pueden distinguir los siguientes:

Métodos Geométricos

Se suele utilizar las primeras variables articulares.

Uso de relaciones geométricas y trigonométricas (resolución de triángulos).

Matrices de Transformación Homogénea

Se despejan la n variables en función de las componentes de los vectores.

Desacoplamiento Cinemático

En robots de 6 GDL. Separación y posicionamiento.

Otros Métodos de solución

Álgebra de tornillo. Cuaternios duales. Métodos iterativos.

MODELO DIFERENCIAL

El objetivo de esta cinemática consiste en expresar el modelo diferencial de un Robot Manipulador a través de la Matriz Jacobiana.

Como se ha estudiado en los puntos anteriores, la cinemática directa e inversa establece la relación entre las variables de las articulaciones y el efector final, ahora, en este punto la cinemática diferencial se presenta para dar la relación entre las velocidades, lineal y angular (rotacional) del efector final, esta dependencia se calcula a partir de una matriz, conocida como “Matriz Jacobiana”.

MATRIZ JACOBIANA

Expresar la velocidad es sencillo porque ella depende de la variación temporal de la posición (vector p), pero la situación se complica si se pretende obtener la velocidad angular del efector final como una función de los vectores que definen su orientación (n, s, a). Para lograr una representación mínima de la orientación mínima de la orientación es mejor utilizar los ángulos de Euler:

. Se tienen entonces seis variables

Page 4: Avance Practica 8

independiente, conocidas como espacio operacional del robot, que facilitan el estudio de trayectorias (variación de la posición y orientación en el tiempo) del efector final a través de sus derivadas y la relación que estas guardan con los parámetros articulares.

Derivando, se obtiene:

Entonces, se tiene que:

Page 5: Avance Practica 8

JACOBIANA INVERSA

Del mismo modo que se ha obtenido la relación directa que permite obtener las velocidades del extremo a partir de las velocidades articulares, puede obtenerse la relación inversa que permite calcular las velocidades articulares partiendo de las del extremo. En la obtención de la relación inversa pueden emplearse diferentes procedimientos, debido a que puede ser bastante complicada su obtención.

  Se tiene entonces,

Como se mencionó anteriormente, existen diversos métodos que permiten llegar a la obtención de la matriz Jacobiana inversa, el procedimiento más largo consiste en derivar parcialmente respecto a las variables que definen la posición y la orientación, cada una de las funciones obtenidas mediante el estudio cinemático inverso, tal como se muestra a continuación:

Page 6: Avance Practica 8

Realizado todos estos procedimientos, se llega a la conclusión de que es aconsejable buscar una solución más óptima como lo es realizar los cálculos a partir del estudio cinemático directo y de la matriz jacobiana, para luego invertir dicha matriz, el único problema que se presenta es que no siempre la matriz Jacobiana es cuadrada, y en caso de no serlo su determinante será nulo y no poseerá inversa.

Cuando J no es cuadrada se debe a la pretensión de conocer las seis variables

que caracterizan el espacio operacional completo   y no tener seis grados de libertad (más o menos de seis grados) en el robot manipulador estudiado. Mas de seis grados de libertad significa que cualquier posición y orientación se puede alcanzar sin mover una de las articulaciones, por lo que la velocidad articular puede asumirse como cero. Menos de 6 grados de libertad implica que es imposible que el efector final adquiera algunas orientaciones de manera que uno o varios de los ángulos de Euler puedan obviarse del estudio cinemático y trabajar nuevamente con una matriz cuadrada. En casos de que se trabaje de forma numérica y la matriz jacobiana inversa no exista, es conveniente el uso de una pseudo inversa (J*JT)-1.

PUNTOS SINGULARES

Entre una de las aplicaciones de la Matriz Jacobiana es común usarse para calcular los valores de los ángulos y desplazamientos para los cuales la matriz se singulariza, es decir, valores para los cuales no tiene inversa. Estos valores se conocen como singularidades y tienen la particularidad de lograr definir los límites del volumen de trabajo de los manipuladores. Para definir el volumen de trabajo del robot en estudio, los cálculos se resumen a hacer la matriz Jacobiana igual a cero.

Page 7: Avance Practica 8

IV. PROCEDIMIENTO

IV.1.1 Resolver el Problema Cinemático Directo para este robot, es decir, obtener x=f1(q1,q2), y=f2(q1,q2), por métodos geométricos y el método de Denavit-Hartenberg.

Métodos Geométricos

Posición:

x=q1+L . cos (30 )+L .cos (30+q2)

y=L . sen (30 )+L . sen (30+q2 )

z=0Orientacion:

[noa ]=Rotz (30+q2)

Denavit Hartenberg

Después de realizar el procedimiento de Denavit Hartenberg, se obtienen los siguientes datos:

Θ D1 A α

1 0 Q1+Lcos(30) Lsen(30) 902 60-Q2 0 L 0

Page 8: Avance Practica 8

0A1 =[cos (0)sen (0)−cos (90 ) sen (0)cos (90 ) cos(0)

sen (90 ) sen(0)−sen(90)cos (0)

Lsen (30 ) cos (0)Lsen (30 ) sen (0)

0 sen(90) cos(90) q1+Lcos(30)0 0 0 1

]1A2 =

[cos (60−q2)sen (60−q2)−cos (0 ) sen(60−q2)cos (0 )cos (60−q2)

sen (0 ) sen(60−q2)−sen(0)cos (60−q2)

Lcos(60−q2)Lsen(60−q2)

0 sen(0) cos(0) 00 0 0 1

]IV.1.2. Resolver el Problema Cinemático Inverso para este robot, es decir, obtener q1=g1(x,y); q2=g2(x,y), q3=g3(x,y).

q1=x−L∗cos (30 )−L∗cos (sen−1 ( y−Lsen(30))

L)¿

q2=sen−1 ( y−Lsen(30))

L−30

IV.1.3. Elaborar un programa en MATLAB que permita obtener la cinemática inversa del Robot de 2GDL dados los valores de las variables de localización espacial.

clear allclose allclc L=input('L=');x=input('X=');y=input('Y='); q1=x-L*cos(pi/6)-L*cos((asin(y-L*sin(pi/6)))/L);q2=asin((y-L*sin(pi/6))/L)-pi/6;

IV.1.4. Obtener la expresión de la matriz Jacobiana analítica de este robot.

J=[1 −Lsen(30+q 2)0 Lcos (30+q 2) ]

IV.1.5. Obtener la expresión de la matriz Jacobiana de este robot.

Page 9: Avance Practica 8

Ja=¿

IV.1.6. Buscar e interpretar las configuraciones singulares si es que existen.

IV.1.7. Calcular la posición y velocidad del extremo para los siguientes valores: L = 1m; (q1,q2) = (1 m,π/6 rad); (q’1,q’2) = (0.2 m/seg, π/10 rad/seg).

x=q1+L . cos (30 )+L .cos (30+q2)

y=L . sen (30 )+L . sen (30+q2 )

x=1+cos (30 )+cos (30+π /6)x=1+0.866+0.5=2.366

y=sen (30 )+sen (30+π /6 )y=0.5+0.866=1.366

[ xy ]=[1 −Lsen (30+q2)0 Lcos (30+q2) ][q1q2]

[ xy ]=[1 −0.8660 0.5 ][ 1π /6]

[ xy ]=[0.546560.2618 ]IV.1.8. Elaborar un programa en MATLAB que permita obtener el modelo diferencial del Robot de 2GDL dados los valores de las velocidades articulares o las velocidades de la localización espacial.

clear allclcdisp('Elija una opcion:');disp('1. Ingresar velocidades articulares:')disp('2. Ingresar velocidades de localizacion espacial:')o=input('');if o==1 L1=input('') L2=input('') q1=input('') q2=input('') x=L1*cosd(q1)+L2*cosd(q1+q2); y=L1*sind(q1)+L2*sind(q1+q2); J=[-L1*sind(q1)-L2*sind(q1+q2),-L2*sind(q1+q2);L1*cosd(q1)+L2*cosd(q1+q2),L2*cosd(q1+q2)] Q=[q1;q2] V=J*Q

Page 10: Avance Practica 8

vx=V(1,1) vy=V(2,1)else if o==2 L1=input('') L2=input('') x=input('') y=input('') q2=acosd(((x^2)+(y^2)-(L1^2)-(L2^2))/(2*L1*L2)); q1=atan(-x/y)-atan((L2*sind(q2))/(L1+(L2*cosd(q2)))); syms q1; syms q2; JI=[diff(q1,x),diff(q1,y);diff(q2,x),diff(q2,y)] D=[x;y] VQ=JI*D vq1=VQ(1,1) vq2=VQ(2,1) endend

IV.2. Sea el robot SCARA de la figura 2, se pide:

Figura 2

IV.2.1. Resolver el problema cinemático inverso para este robot. (RESOLVER BASANDOSE EN LA SOLUCIÓN DEL PCD SEGÚN LABORATORIO ANTERIOR) (VERIFICAR LA CORRECTA ASIGNACIÓN DE LOS SISTEMAS)

Θ D1 A α

1 Q1 L1 L2 02 Q2 0 L3 03 0 -Q3 0 0

4 Q4 0 0 0

Page 11: Avance Practica 8

0A1 =[cos (q1 )sen (q1 )

−cos (0 ) sen (q1 )cos (0 ) cos (q1 )

sen (0 ) sen (q1 )−sen (0 )cos (q1 )

L2cos (q1 )L2 sen (q1 )

0 sen (0 ) cos (0 ) L10 0 0 1

]1A2 =[cos (q1 )

sen (q1 )−cos (0 ) sen (q2 )cos (0 ) cos (q2 )

sen (0 ) sen (q2 )−sen (0 ) cos (q2 )

L2cos (q1 )L2 sen (q1 )

0 sen (0 ) cos (0 ) L10 0 0 1

]2A3 =[cos (0 )

sen (0 )−cos (0 ) sen (0 )cos (0 ) cos (0 )

sen (0 ) sen (0 )−sen (0 ) cos (0 )

00

0 sen (0 ) cos (0 ) −q 30 0 0 1

] 3A4 =[cos (q 4 )

sen (q4 )−cos (0 ) sen (q2 )cos (0 ) cos (q2 )

sen (0 ) sen (q 4 )−sen (0 ) cos (q4 )

00

0 sen (0 ) cos (0 ) 00 0 0 1

]T =

q1=tan−1( xy)

q2=cos−1 ( y−L2∗sin q1

L3)

q3=L1−z

q4=cos−1( x−L2∗cos q1

L3)

IV.2.2. Determinar el modelo diferencial del robot. (TODAS LAS JACOBIANAS)

IV.2.3. Determinar las configuraciones singulares del robot SCARA, si es que existen

IV.2.4. Elaborar los programas en MATLAB que permitan obtener los modelos cinemático inverso y el modelo diferencial dados los datos adecuados.clear allclose allclc l1=input('L1=');l2=input('L2=');l3=input('L3=');

Page 12: Avance Practica 8

x=input('X=');y=input('Y=');z=input('Z='); q1=atan(x/y);q2=acos((y-l2*sin(atan(x/y)))/l3);q3=l1-z;q4=acos((x-l2*cos(atan(x/y)))/l3); syms q1;syms q2;syms q3;syms q4; JI=[diff(q1,x),diff(q1,y),diff(q1,z);diff(q2,x),diff(q2,y),diff(q2,z);diff(q3,x),diff(q3,y),diff(q3,z);diff(q4,x),diff(q4,y),diff(q4,z)]D=[x;y;z]VQ=JI*Dvq1=VQ(1,1)vq2=VQ(2,1)vq3=VQ(3,1)vq4=VQ(4,1)

IV.2.5. Calcular la posición y velocidad del extremo del robot estableciendo algunos valores de prueba.