Você está na página 1de 8

Cinemtica de brazo manipulador de 2 GDL

J. Salomn Rodrguez
Modelado y Controladores de Robots j Departamento de Robtica
Universidad Politcnica de Guanajuato
Resumen
En este documento se presenta los sistemas que describen a un manipulador con dos grados de libertad,
como son, la cinemtica directa y diferencial, y una simulacin numrica hecha en Matlab comparando el
comportamiento de los valores deseados con los valores reales de dicho manipulador. Tambin se presenta
la representacion grca que demuestra que la conguracin de codo abajo ubica a un punto nal en las
mismas coordenadas que lo ubicara la conguracion codo arriba.mediante una simulacin numrica hecha
en Matlab comparando el comportamiento de los valores de ambas conguraciones de un manipulador de 2
grados de libertad.
1. Introduccin
Para comenzar a entender el comportamiento de un brazo manipulador se debe de entender como acta la
cinemtica del manipulador a observar, para esto hacemos uso de la cinemtica directa, inversa y diferencial
del manipulador de 2 GDL. El manipulador de 2 GDL se puede controlar segn nuestras necesidades para esto
se deben de considerar la posicin del manipulador as como la trayectoria deseada y al nal la posicin nal
segn la informacin que podamos obtener de nuestro entorno y de los diseos matemticos.
2. Objetivo
Analizar y observar el comportamiento de la cinemtica directa e inversa de un robot planar de 2 grados
de libertad (GDL), as como su simulacin numrica de seguimiento de trayectoria, utilizando el mtodo ODE4
Runge-Kutta con un paso jo de integracin de 1 ms, en un tiempo de simulacin de 1 segundos usando archivos
m-le y bloques de simulink R .
3. Desarrollo y anlisis de resultados
3.1. Cinemtica directa, inversa y diferencial
Considerando un modelo matemtico simplicado dado por la ecuacin 1, de un robot manipulador de 2
GDL. Se debe obtener la cinemtica directa y diferencial de un brazo manipulador de 2 GDL y realizar una
simulacin numrica en Simulink R para analizar el desempeo del controlador, aplicado a la ecuacin 1, con un
tiempo de 1:, utilizando el : ctodo:n: crico1n:oc 1ntta a un pasojo de integracionde 1ms. Considerando
una trayectoria dada por r = 1 co:(nt) e n = 1 :i:(nt), con n = 10. 1 = 1 y condiciones iniciales para tcta
de 1.

dr
dn

a1 co:(tcta1) + a2 co:(tcta1 + tcta2)


a1 :i:(tcta1) + a2 :i:(tcta1 + tcta2)

(1)
En la Figura 1 se muestra la representacin esquemtica del robot planar a analizar.
1
Figura 1 Representacin del modelo del robot 2GDL.
Para desarrollar el modelo matemtico se inici con el planteamiento para obtener la posicin nal de acuerdo
al movimiento de cada uno de los eslabones. Se presenta a continuacin en la ec. (2) se muestra la cinemtica
diferencial directa para el robot planar de 2 grados de libertad, que es denida como _ r = J
_
0, donde J es igual
a la matriz que contiene el resultado de las derivadas de las posicin de r e n. esta matriz se conoce como la
matriz jacobiana y por ultimo
_
0 contiene los valores de las variables a controlar.

_ r
_ n

a
1
sin0
1
a
2
sin(0
1
+ 0
2
) a
2
sin(0
1
+ 0
2
)
a
1
cos 0
1
+ a
2
cos(0
1
+ 0
2
) a
2
cos(0
1
+ 0
2
)

_
0
1
_
0
2

(2)
Conociendo la cinemtica del robot se procedio a denir una trayectoria de movimiento, esta trayectoria fue
una circunferencia de valor R para el radio. Esta trayectoria se muestra en la ec.(3).

rd
nd

cr + 1cos(nt)
cn + 1sin(nt)

(3)
Al momento de realizar la simulacin se obtienen los valores reales del sistema de coordenadas de los ejes
r y n, en este caso para obtener los valores de las variables a controlar del control de posicin de los ngulos,
se implemento la cinemtica inversa utilizando el mtodo graco, en la Figura 2 se muestra la representacin
graca de lo que se necesita para utilizar este mtodo, el cual consiste en conocer los valores reales de las
coordenadas de x y y del efector nal del robot , para que de esta forma se obtengan los valores de y c, por
ejemplo para obtener q1 que representa a 0
1
se obtiene mediante la resta de c, y por ultimo para obtener
q2 se requiere conocer el valor del coseno de 0
2
, este valor se obtiene mediante la ec.(4). Al conocer este dato
se puede saber el valor de 0
2
mediante la ec.(5).
2
Figura 2. Mtodo grco.
1 = cos 0
2
=
(r
2
+ n
2
a1
2
a2
2
)
2a1a2
(4)
0
2
= tan
1

2
p
1 1
2
1
2
!
(5)
El siguiente paso es construir todo el sistema del robot planar de 2 grados de libertad en el software
de SIMULINK el cual consiste de 4 bloques principales, ver Figura 3. Al inicio se encuentra la descripcin
matemtica de circunferencia que se desea obtener la cual incluye los valores del radio, frecuencia (.) y adems
este bloque depende de la unidad de tiempo. Las salidas de este bloque pasan a un bloque de derivada para
obtener la primera derivada de estos valores, seguido se encuentra el bloque de la sinemtica directa este bloque
necesita conocer los valores reales de 0
1
y 0
2
y tambin los valores reales de r y n.deseadas, esto, para obtener las
entradas de control
_
0
1
y
_
0
2
que son las entradas que necesita el tercer bloque que es el de la cinemtica inversa
del robot. Este tercer bloque se encarga de realizar las operaciones para obtener los valores de las posiciones
reales del robot respecto a las coordenadas r y n, dichas salidas se gracan en bloques de PLOT XY para
observar el comportamiento real, de igual manera se graca los valores deseados.
Figura 3 Sistema completo representado en bloques de simulink.
El cdigo utilizado contiene datos jos de los valores de los eslabones y las operaciones matriciales corre-
spondientes que se obtuvieron en su anlisis. Este cdigo se muestra a continuacin. Donde se puede observar
que se realizo un archivo m para cada uno de los 2 bloques de :1n:ctio: que contienen operaciones. Algunos
datos como es el caso de la matriz Jacobiana se encuentran en la primera seccin.
function salida=R2GDLfunction(j)
%tarea1 de tpicos de robtica 2-13 septiembre 2010
%entradas
teta1=j(1);
dxd=j(2);
dyd=j(3);
teta2=j(4);
%constantes
3
a1=1; %[m]
a2=1; %[m]
%Elementos de la matriz J
j11=-(a1*sin(teta1)+a2*sin(teta1+teta2));
j12=-(a2*sin(teta1+teta2));
j21= (a1*cos(teta1)+a2*cos(teta1+teta2));
j22= (a2*cos(teta1+teta2));
%Matriz J
J=[j11 j12;...
j21 j22];
dX=[dxd;dyd];
dteta=JndX;
dteta1=dteta(1,1);
dteta2=dteta(2,1);
%vector de salida
salida=[dteta1;dteta2];
En la Figura 4 se muestra los resultados de la simulacin, en los cuales se realiza una circunferencia que
tiene un oset de 200 unidades en x y 200 en y.
Figura 4 resultados de la simulacin
En la Figura 5 se muestra la trayectoria deseada y como se puede observar se cumple con el movimiento que
se propuso.
4
Figura 5 se muestra la trayectoria deseada
3.2. Conguraciones del manipulador
Utilizando el mtodo de la cinemtica inversa del manipulador se pretende demostrar que los efectos de la
conguracin de codo abajo son los mismos que los de la conguracin codo arriba, con el n de evitar algunos
obstculos que se pudieran encontrar a la hora de realizar alguna tarea.
Se plantea primeramente la ecuacin que describe el comportamiento de la variable 01 en la ecuacin 6
01 = arctan

n
r

arctan

a2 sin(02)
a1 + a2 cos (02)

(6)
cos (02) =

r
2
+ n
2
a1
2
a2
2
2 a1 a2

= 1 (7)
recordando que:
cos
2
(02) + sin
2
(02) = 1 (8)
Obtenemos:
sin
2
(02) = 1 cos
2
(02) (9)
Dividiendo ambos lados de la ecuacin por cos (02) tenemos que:
sin(02)
cos (02)
=

p
1 1
2
1
(10)
Aplicando una identidad trigonomtrica simplicamos a:
02 = arctan

p
1 1
2
1
!
(11)
donde 02 est compuesto por 02
1
y 02
2
02
1
= arctan

p
1 1
2
1
!
(12)
02
2
= arctan

p
1 1
2
1
!
(13)
5
Por ltimo utilizamos estos resultados para realizar las grcas en simulink utilizando bloques de m-function
sobre el sistema mostrado en la gura 3.
Figura 6 Sistema con las conguraciones de codo abajo y codo arriba.
Para obtener las dos conguraciones de 02 se utiliz un bloque de simulink donde se aplicaba la funcin de
matlab ata:2 en el segundo bloque se utilizaron los valores obtenidos de 02 para obtener los valores de 01. Por
ltimo se grac cada una de las respuestas de salida.
function salida=R2GDLteta(j)
%tarea1 de tpicos de robtica 2-13 septiembre 2010
%entradas
x=j(1);
y=j(2);
%constantes
a1=1; %[m]
a2=1; %[m]
%Elementos de D
D=((x^2)+(y^2)-(a1^2)-(a2^2))/(2*a1*a2);
num=sqrt(1-D^2);
den=D;
teta21=atan2(num,den);
teta22=atan2(-num,den);
%vector de salida
salida=[teta21;teta22];
function salida=R2GDLteta1(j)
%tarea1 de tpicos de robtica 2-13 septiembre 2010
%entradas
x=j(1);
y=j(2);
teta21=j(3);
teta22=j(4);
6
%constantes
a1=1; %[m]
a2=1; %[m]
%Elementos
teta11=atan(y/x)-atan((a2*sin(teta21))/(a1+a2*cos(teta21)));
teta12=atan(y/x)-atan((a2*sin(teta22))/(a1+a2*cos(teta22)));
%vector de salida
salida=[teta11;teta12];
Figura 6 Resultados de simulacin de 02
Figura 6 Resultados de simulacin de 01
4. Conclusiones generales
Se conrm el correcto funcionamiento de la cinemtica del robot planar mediante la simulacin, vericando
cada paso del procedimiento utilizado para obtener los valores requeridos para su movimiento. En la simulacin
se observaron algunas caractersticas que no se tenan claras acerca de las entradas de cada uno de los bloques
que contienen las operaciones correspondientes a cada una de las partes del sistema del robot.
De manera grca se observa que el valor numrico de 01
1
y 01
2
, as como, 02
1
y 02
2
son similares pero se
observa que estn en distintos planos.
7
5. Bobliografa
Referencias
[1] Notas de control cinemtico de velocidad, Prof Esteban Chvez Conde: asignatura de tpicos de robtica 2.
ndice
1. Introduccin 1
2. Objetivo 1
3. Desarrollo y anlisis de resultados 1
3.1. Cinemtica directa, inversa y diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3.2. Conguraciones del manipulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Conclusiones generales 7
5. Bobliografa 8
8