Anda di halaman 1dari 13

UNIVERSIDAD CATLICA DE SANTA

MARA

FACULTAD DE CIENCIAS E INGENIERAS FSICAS


Y FORMALES
ESCUELA PROFESIONAL DE INGENIERA
MECNICA, MECNICA ELECTRICA Y
MECATRNICA
CURSO:
ROBOTICA I
TEMA:
CINEMATICA DEL ROBOT ALGORITMO DENAVITHARTENBERG
INTEGRANTES:
BEJARANO CARBAJAL, CARLOS
TENORIO MARIN, EDGAR

AREQUIPA - PER

2016

CINEMTICA INVERSA Y MODELO DIFERENCIAL


I. OBJETIVOS
I.1. Aplicar y resolver problemas de cinemtica inversa del robot y de modelo diferencial,
empleando en la solucin herramientas matemticas y de software.

II. MARCO TERICO

MODELO CINEMTICO INVERSO


La Cinemtica inversa (IK) es la tcnica que permite determinar el movimiento de una
cadena de articulaciones para lograr que un actuador final se ubique en una posicin
concreta. El clculo de la cinemtica inversa es un problema complejo que consiste en la
resolucin de una serie de ecuaciones cuya solucin normalmente no es nica.
El objetivo de la cinemtica inversa es encontrar los valores que deben tomar las
coordenadas articulares del robot para que su extremo se posicione y oriente segn una
determinada localizacin espacial. Depende de la configuracin del robot (existen
soluciones mltiples).

Siempre que se especifica una posicin de destino y una orientacin en trminos


cartesianos, debe calcularse la cinemtica inversa del dispositivo para poder despejar los
ngulos de articulacin requeridos. Los sistemas que permiten describir destinos trminos
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 cinemtica ya sea si es un robot o un personaje animado es
modelado por ecuaciones cinemticas propias de la misma cadena. Estas ecuaciones
definen la configuracin de la cadena en trminos de sus parmetros.
Por ejemplo las frmulas de la cinemtica inversa permiten el clculo de los parmetros de
unin del brazo de un robot para levantar un objeto. Ya que una de las Frmulas similares
es determinar las posiciones del esqueleto de un personaje animado que se va a mover de
una manera en particular.

MTODOS
Entre los diversos mtodos de solucin mediante la cinemtica inversa, se pueden
distinguir los siguientes:

Mtodos Geomtricos
Se suele utilizar las primeras variables articulares.
Uso de relaciones geomtricas y trigonomtricas (resolucin de tringulos).

Matrices de Transformacin Homognea


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

Desacoplamiento Cinemtico

En robots de 6 GDL.

Separacin y posicionamiento.

Otros Mtodos de solucin

lgebra de tornillo.

Cuaternios duales.

Mtodos iterativos.

MODELO DIFERENCIAL
El objetivo de esta cinemtica consiste en expresar el modelo diferencial de un Robot
Manipulador a travs de la Matriz Jacobiana.
Como se ha estudiado en los puntos anteriores, la cinemtica directa e inversa
establece la relacin entre las variables de las articulaciones y el efector final, ahora,
en este punto la cinemtica diferencial se presenta para dar la relacin 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 variacin temporal de
la posicin (vector p), pero la situacin se complica si se pretende obtener la
velocidad angular del efector final como una funcin de los vectores que definen su
orientacin (n, s, a). Para lograr una representacin mnima de la orientacin
mnima de la orientacin es mejor utilizar los ngulos de Euler:
. Se
tienen
entonces
seis
variables
independiente, conocidas como espacio operacional del robot, que facilitan el
estudio de trayectorias (variacin de la posicin y orientacin en el tiempo) del
efector final a travs de sus derivadas y la relacin que estas guardan con los
parmetros articulares.

Derivando, se obtiene:

Entonces, se tiene que:

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

Se tiene entonces,

Como se mencion anteriormente, existen diversos mtodos que permiten llegar a


la obtencin de la matriz Jacobiana inversa, el procedimiento ms largo consiste en
derivar parcialmente respecto a las variables que definen la posicin y la
orientacin, cada una de las funciones obtenidas mediante el estudio cinemtico
inverso, tal como se muestra a continuacin:

Realizado todos estos procedimientos, se llega a la conclusin de que es


aconsejable buscar una solucin ms ptima como lo es realizar los clculos a
partir del estudio cinemtico 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 pretensin de conocer las seis variables
que caracterizan el espacio operacional completo

y no tener seis

grados de libertad (ms o menos de seis grados) en el robot manipulador


estudiado. Mas de seis grados de libertad significa que cualquier posicin y
orientacin 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
cinemtico y trabajar nuevamente con una matriz cuadrada. En casos de que se
trabaje de forma numrica 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 comn 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 lmites
del volumen de trabajo de los manipuladores. Para definir el volumen de trabajo del
robot en estudio, los clculos se resumen a hacer la matriz Jacobiana igual a cero.

IV. PROCEDIMIENTO

IV.1.1 Resolver el Problema Cinemtico Directo para este robot, es decir, obtener x=f1(q1,q2),
y=f2(q1,q2), por mtodos geomtricos y el mtodo de Denavit-Hartenberg.

Mtodos Geomtricos
Posicin:

x=q 1+ L . cos ( 30 ) + L. cos ( 30+ q 2)

y=L . sen ( 30 ) + L . sen ( 30+q 2 )


z=0
Orientacion:

[ n o a ]=Rotz (30+ q 2)

Denavit Hartenberg
Despus de realizar el procedimiento de Denavit Hartenberg, se obtienen los siguientes
datos:

1
2

A1 =

D1

Q1+Lcos(3
0)

Lsen(30)

90

60-Q2

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


sen (0) cos ( 90 ) cos (0) sen(90) cos( 0) Lsen ( 30 ) sen( 0)
0 sen(90) cos( 90) q 1+ Lcos (30)
0 0 0 1

A2 =

cos(60q 2) cos ( 0 ) sen(60q 2) sen ( 0 ) sen(60q 2) Lcos (60q 2)


sen (60q 2) cos ( 0 ) cos(60q 2) sen(0) cos(60q 2) Lsen (60q 2)
0 sen(0) cos (0) 0
0 0 0 1

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

q1 =xLcos (30 )Lcos (

sen1 ( yLsen(30) )
)
L

sen1 ( yLsen( 30) )


q 2=
30
L

IV.1.3. Elaborar un programa en MATLAB que permita obtener la cinemtica inversa del
Robot de 2GDL dados los valores de las variables de localizacin espacial.

clear all
close all
clc
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 expresin de la matriz Jacobiana analtica de este robot.

J=

1 Lsen(30+ q 2)
0 Lcos(30+q 2)

IV.1.5. Obtener la expresin de la matriz Jacobiana de este robot.

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

IV.1.7. Calcular la posicin y velocidad del extremo para los siguientes valores: L = 1m; (q1,q2)
= (1 m,/6 rad);
(q1,q2) = (0.2 m/seg, /10 rad/seg).

x=q 1+ L . cos ( 30 ) + L. cos ( 30+ q 2)

y=L . sen ( 30 ) + L . sen ( 30+q 2 )


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

[][
[][
[][

][ ]

x
1 Lsen(30+ q 2) q 1
=
y
0 Lcos(30+ q 2) q 2

][ ]

x
1 0.866 1
=
y
0
0.5
/6

x
= 0.54656
y
0.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 localizacin
espacial.

clear all
clc
disp('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
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)
end
end

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

Figura 2

IV.2.1. Resolver el problema cinemtico inverso para este robot. (RESOLVER BASANDOSE EN
LA SOLUCIN DEL PCD
SEGN LABORATORIO ANTERIOR) (VERIFICAR LA CORRECTA ASIGNACIN DE LOS
SISTEMAS)

A1 =

A2 =

[
[

D1

Q1

L1

L2

Q2

L3

-Q3

Q4

cos ( q 1 ) cos ( 0 ) sen ( q 1 ) sen ( 0 ) sen ( q 1 )


sen ( q 1 ) cos ( 0 ) cos ( q 1 ) sen ( 0 ) cos ( q 1 )
0 sen ( 0 ) cos ( 0 ) L1
0 0 0 1

L2 cos ( q 1 )
L2 sen ( q 1 )

cos ( q 1 ) cos ( 0 ) sen ( q 2 ) sen ( 0 ) sen ( q 2 ) L 2cos ( q 1 )


sen ( q 1 ) cos ( 0 ) cos ( q 2 ) sen ( 0 ) cos ( q 2 ) L2 sen ( q 1 )
0 sen ( 0 ) cos ( 0 ) L1
0 0 0 1

]
]

A3 =

A4 =

[
[

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


sen ( 0 ) cos ( 0 ) cos ( 0 ) sen ( 0 ) cos ( 0 ) 0
0 sen ( 0 ) cos ( 0 ) q 3
0 0 0 1

cos ( q 4 ) cos ( 0 ) sen ( q 2 ) sen ( 0 ) sen ( q 4 ) 0


sen ( q 4 ) cos ( 0 ) cos ( q 2 ) sen ( 0 ) cos ( q 4 ) 0
0 sen ( 0 ) cos ( 0 ) 0
0 0 0 1

T=

1 x
q1 =tan ( )
y

q 2=cos1 (

y L2sin q 1
)
L3

q3 =L1z

q 4=cos (

x L2cos q 1
)
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 cinemtico
inverso y el modelo diferencial dados los datos adecuados.
clear all
close all
clc
l1=input('L1=');
l2=input('L2=');
l3=input('L3=');
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
syms
syms
syms

q1;
q2;
q3;
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*D
vq1=VQ(1,1)
vq2=VQ(2,1)
vq3=VQ(3,1)
vq4=VQ(4,1)
IV.2.5. Calcular la posicin y velocidad del extremo del robot estableciendo algunos valores de
prueba.