Está en la página 1de 25

TEMA3

CINEMÁTICA DE ROBOTS INDUSTRIALES

DEFINICIÓN

Un robot industrial es una maquinaria estacionaria o con movilidad limitada que consta de un
manipulador usado en procesos de montaje y producción industrial.

Un manipulador generalmente consta de una secuencia de cuerpos rígidos, llamados enlaces


o eslabones (links) conectados unos a otros mediante articulaciones (joins). Todos juntos
forman una cadena cinemática abierta.

Se dice que una cadena cinemática es abierta si cada enlace está unido mediante
articulaciones al enlace anterior y al siguiente, excepto el primer enlace, que tiene uno de cuyos
extremos fijo y el último que presenta un extremo libre.

ESLABONES

Los eslabones articulados permiten la movilidad del extremo libre y deben constar de una
estructura rígida, no deformable, en lo posible ligera, resistente y con dimensiones apropiadas
para las tareas a realizar.

En la práctica hay que considerar muchos otros factores tales como el coste, las necesidades
para alojar los accionadores, árboles de transmisión y cajas de engranaje, el comportamiento
vibracional, el comportamiento no elástico tal como el pandeo y la necesidad de alcanzar un
espacio de trabajo determinado.

ARTICULACIONES

Una articulación esta conformada exclusivamente por la unión de dos eslabones y puede ser
del siguiente tipo:

D15422, Robótica, Grupo 1, 2021 1


IG R,\008
ESQUEMA ARTIC L.ACIÓN LIBERTAD

PRISMA.11~

CILINDRICA 2

PLANAR 2

ESltRICA
{ RÓTULA)

GRADOS DE LIBERTAD

El número de grados de libertad es la cantidad de movimientos independientes de un sistema


mecánico. Generalmente, en cadenas cinemáticas abiertas, cada par eslabón-articulación
tiene un sólo grado de libertad, bien rotacional o traslacional. El número de grados de libertad
de un brazo robot es igual a la suma de los grados de libertad de todas las articulaciones.

Para definir la posición y orientación de un objeto en un espacio tridimensional (3D) son


necesarios y suficientes seis parámetros. La posición del objeto puede definirse en
coordenadas cartesianas (x, y, z) en relación con un punto de referencia fijado y la orientación
requiere tres ángulos. Para ello se usa coordenadas rectangulares, cilíndricas o esféricas.

<Un mayor número de grados de libertad conlleva un aumento de la flexibilidad en el


posicionamiento del elemento terminal. Aunque la mayoría de las aplicaciones industriales

D15422, Robótica, Grupo 1, 2021 2


requieren 6 grados de libertad, como las de la soldadura, otras más complejas reciben un
número mayor, tal es el caso en las labores de montaje. Tareas más sencillas y con
movimientos más limitados, como las de la paletización suelen exigir 4 o 5 grados de libertad .

CLASIFICACION DE LOS ROBOTS INDUSTRIALES

Los robots pueden clasificarse según diferentes criterios, entre ellos:

Clasificación por la Geometría

La estructura típica de un manipulador consiste en un brazo compuesto por elementos con


articulaciones entre ellos. En el extremo libre se coloca una pinza o aprehensor o un dispositivo
especial para realizar operaciones.

Se consideran, en primer lugar, las estructuras más utilizadas como brazo de un robot
manipulador. Estas estructuras tienen diferentes propiedades en cuanto a espacio de trabajo
y accesibilidad a posiciones determinadas. En la siguiente figura se muestran las cuatro
configuraciones básicas.

3T

e índrica
p
2T
lR

Potar

1T p
2R

Angular

3R p

D15422, Robótica, Grupo 1, 2021 3


Cartesianos: las articulaciones hacen desplazar linealmente una pieza sobre otra.

Esta configuración tiene tres articulaciones prismáticas o traslacional (3D o estructura PPP) y
se emplea bastante en estructuras industriales, tales como pórticos para el transporte de
cargas voluminosas. La especificación de posición de un punto se efectúa mediante las
coordenadas cartesianas. Los valores que deben tomar las variables articulares corresponden
directamente a las coordenadas que toma el extremo del brazo. Esta configuración no resulta
adecuada para acceder a puntos situados en espacios relativamente cerrados y su volumen
de trabajo es pequeño cuando se compara con el que puede obtenerse con otras
configuraciones.

Cilíndricos : constan de al menos un eje de revolución total o parcial

Esta configuración tiene dos articulaciones prismáticas y una de rotación (2 T, 1 R) . La primera


articulación es normalmente de rotación (estructura RPP) . La posición se especifica de forma
natural en coordenadas cilíndricas. Esta configuración puedes ser de interés en una célula
flexible, con el robot situado en el centro de la célula sirviendo a diversas máquinas dispuestas
radialmente a su alrededor. El volumen de trabajo de esta estructura RPP (o de la PRP),
suponiendo un radio de giro de 360 grados y un rango de desplazamiento de L, es el de un
toro de sección cuadrada de radio interior L y radio exterior 2L. Se demuestra que el volumen
resultante es:

D15422, Robótica, Grupo 1, 2021 4


Polar : constan de diferentes combinaciones de articulaciones:

Está configuración se caracteriza por dos articulaciones de rotación y una prismática (2 R, 1 T


o estructura RRP) . En este caso las variables articulares expresan la posición del extremo del
tercer enlace en coordenadas polares.

En un manipulador con tres enlaces de longitud L, el volumen de trabajo de esta estructura,


suponiendo un radio de giro de 360 grados y un rango de desplazamiento de L, es el que existe
entre una esfera de radio 2L y otra concéntrica de radio L.

Esféricos: constan de ejes de rotación que hacen pivotar una pieza sobre otra .

Esta configuración es una estructura con tres articulaciones de rotación (3 R o RRR). La


posición del extremo final se especifica de forma natural en coordenadas angulares.

La estructura tiene un mejor acceso a espacios cerrados y es fácil desde el punto de vista
constructivo. Es muy empleada en robots manipuladores industriales, especialmente en tareas
de manipulación que tengan una cierta complejidad. La configuración angular es la más
utilizada en educación y actividades de investigación y desarrollo. En esta estructura es posible
conseguir un gran volumen de trabajo. Si la longitud de sus tres enlaces es de L, suponiendo
un radio de giro de 360 grados, el volumen de trabajo sería el de una esfera de radio 2L.

Configuración SCARA.
D15422, Robótica, Grupo 1, 2021 5
Esta configuración está especialmente diseñada para realizar tareas de montaje en un plano.
Está constituida por dos articulaciones de rotación con respecto a dos ejes paralelos, y una de
desplazamiento en sentido perpendicular al plano.

Para llevar a cabo los cálculos y de esta forma asegurar su correcto funcionamiento del robot
en cuanto a la cinemática y dinámica se refiere, se toma en consideración la siguiente teoría
que tiene por objeto crear las bases de un modelo matemático del sistema.

Clasificación por el tipo de control :

a) No servocontrolados : son aquellos cuyas articulaciones tiene un número fijo de


posiciones, (normalmente dos), con topes y sólo se desplazan para ubicarse en
cualquiera de los topes. Generalmente son de rápida acción y constan de accionamiento
neumático. Los robots de este tipo son los más fáciles de controlar.
b) Servo-controlados : en ellos cada articulación lleva un sistema que permite detectar la
posición, velocidad y aceleración de la misma, ello permite que la articulación pueda ser
completamente controlada para ubicarse en cualquier posición.
c) Servo-controlados punto a punto : Para controlarlos sólo se les indican los puntos
iniciales y finales de la trayectoria; el controlador calcula la trayectoria a seguir en base
a ciertos algoritmos.
d) Controlados por computadora: Este tipo de robots contiene una computadora como
dispositivo principal de control, en la cual se almacenan todas las instrucciones que el
robot debe seguir.

Por el tipo de accionamiento:

a) Hidráulicos, que permite el accionamiento por medio de un fluido cuasi incompresible


como el aceite, se caracterizan por su capacidad para desplazar grandes cargas y son
robustos, rápidos y relativamente económicos. Presentan las desventajas de ser
propensos a las fugas de aceite (contaminante), caros y difíciles de mantener

D15422, Robótica, Grupo 1, 2021 6


b) Neumáticos: Tienen similares características que los de accionamiento hidráulicos,
aunque manipulan cargas de menor peso. Las fugas no son contaminantes, son menos
precisos dada la compresibilidad del aire y son más fáciles de mantener.
c) Eléctricos: Son los más fáciles de controlar y mantener, presentan una baja relación
par/peso; tienen gran versatilidad y son accionados por diferentes actuadores o motores
eléctricos.

Clasificación por la accesibilidad del manipulador

Lo que se pretende con un manipulador es situar el extremo terminal en un punto del espacio,
haciendo además que la dirección por la que se aproxima a ese punto sea la deseada, lo cual
en algunos casos no es posible debido a la estructura del manipulador. En este sentido, los
robots se clasifican también como:

a) Totalmente Accesible si el manipulador puede situarse en cualquier punto y con


cualquier orientación que su construcción mecánica lo permita.
b) Parcialmente accesible si el extremo terminal puede alcanzarlos, pero no en todas las
orientaciones con las que puede alcanzar otros puntos.

También se define el espacio de accesibilidad total (en su caso, parcial) de un robot como el
conjunto de todos los puntos del espacio totalmente (parcialmente) accesibles para ese robot.

La accesibilidad viene limitada por varios factores : de tipo geométrico (el punto está demasiado
alejado para alcanzarlo, aun con el manipulador totalmente extendido) , de tipo mecánico (unos
enlaces del robot chocan con otros, impidiendo así el acceso a ciertas áreas) o de tipo
constructivo (las articulaciones tienen límites a su movimiento, angular o lineal).

Muy relacionado con el concepto de accesibilidad está el de manipulabilidad, que tiene que
ver con la dificultad de controlar el robot para que acceda a ciertos puntos. Existen puntos
llamados singularidades que, aun siendo accesibles, requieren ciertas precauciones para
llevar el extremo del manipulador hasta ellos.

CINEMATICA DE LOS ROBOTS INDUSTRIALES

La cinemática consiste en el estudio de la ubicación de los robots en el espacio de trabajo del


mismo.

El problema de la cinemática puede dividirse en dos partes:

D15422, Robótica, Grupo 1, 2021 7


Cinemática directa, determina la posición del extremo libre del manipulador, dadas las
dimensiones de los eslabones y el estado de las articulaciones.

Cinemática inversa, determina los estados que adoptarán las articulaciones del manipulador
para que el extremo libre adopte una posición y orientación deseada.

CINEMATICA DIRECTA

La cinemática directa permite conocer la localización y orientación del term inal libre extremo
del robot, dados los estados de todas las articulaciones.

TRANSFORMACION BIDIMENSIONAL

La transformación en dos dimensiones constituye una transición obligatoria para el estudio de


la transformación en tres dimensiones, motivo por el que se realizará una rápida revisión de
este tema.

La representación bidimensional (o en el plano), utiliza el sistema de coordenadas


rectangulares en la que cada punto está definido por dos valores: (x, y) .

Dado una representación gráfica, las transformaciones básicas aplicables son : el


escalamiento, la traslación y la rotación .

El Escalamiento

El escalamiento permite alterar el tamaño del objeto, en base a un factor de escala


determinado; si el factor es menor a 1, el objeto reducirá de tamaño; por el contrario, si el factor
es mayor a 1, el objeto aumentará de tamaño.

En el escalamiento bidimensional un objeto puede escalarse uniformemente en cada una de


las dos dimensiones o escalarse independientemente "º en cada
coordenada, con lo cual el objeto escalado no será ., 80

proporcional al original. "


80

50

Las expresiones que permiten el escalamiento son : .,


30

x'=x*fx y'=y*fy

donde fx y fy son los factores de escala en cada eje.

Y x' y y' son las nueva coordenadas del objeto escalado.

Ej. ejecutar en matlab los siguientes comandos:

axis([O 100 O 100]) ;


X=[30 70 90 30];
Y=[40 20 70 40];
line(x,y)
D15422, Robótica, Grupo 1, 2021 8
pause ;
U=X/2;
V=y/2;
line(u ,v)
pause;
U=U/2;
V=V/2 ;
line(u ,v)

Ej. un ejemplo de escalamiento desproporcionado es el


siguiente: 100

90

80

axis([O 100 O 1001) ;


X=[30 70 90 30];
Y=[40 20 70 40];
line(x,y)
pause ;pause;
U=X/2;
V=y/3 ;
line(u,v)
pause;
U=U/5;
V=V/2;
line(u ,v)

Puede observarse que el gráfico escalado no mantiene las características del original.

La Traslación

La traslación consiste en el desplazamiento de un objeto en uno o los dos ejes.

La siguiente figura muestra el proceso del desplazamiento :

Se observa que los desplazamientos en cualquiera de los ejes son totalmente independientes
y se deducen las siguientes expresiones:

x'=x+dx

y'=y+dy

Ej.

axis([O 100 O 1001) ;

D15422, Robótica, Grupo 1, 2021 9


X=[30 70 90 30];
Y=[40 20 70 40];
line(x,y)
pause;
U=X-1 O;
V=y+20;
line(u,v)

Escalamiento referido a un punto fijo (xf,yf)

Para lograr el escalamiento respecto a un punto fijo cualquiera, se debe realizar una
combinación de desplazamientos y escalamientos simpes, logrando que el escalamiento
pueda ser referido a cualquier punto fijo diferente del origen del sistema de coordenadas; para
conseguir ello, se desplaza el punto fijo al origen del sistema de coordenadas, se realiza el
escalamiento y luego se vuelve al sistema de coordenadas original, por ejemplo:

axis([O 100 O 100]) ; 100

X=[30 70 90 30]; 90

80
Y=[40 20 70 40]; 70

line(x,y) 80

50
pause ; 40

X1 =X-30; 30

20
y1=y-40 ; 10

line(x1 ,y1 ); o"""---'-~..1........,_~...,_,__~~~~


o m 20 30 40 50 ao ro ao oo ~

pause;
X2=X1/2;
y2=y1/2;
line(x2,y2)
pause;
U=X2+30;
V=y2+40;
line(u,v)

es más conveniente desarrollar una expresión directa para esta transformación de la forma:

para el eje x:

x1 =X-pfx

x2=x1 *Sx=(x-pfx)*Sx

x'=x2+pfx = (x-pfx)*Sx+pfx = x*Sx + (1-Sx}pfx

D15422, Robótica, Grupo 1, 2021 10


idem para y y'= y*Sy + (1-Sy)pfy

Ej. 100

90
axis([O 100 O 1001) ; 80
X=[30 70 90 30]; 70

Y=[40 20 70 40]; 60

line(x,y) 50

pause; 40

30
U=X./2+(1-1 /2) .*30;
20
V=y./2+(1-1 /2). *40; 10

line(u ,v); o~~~~~~~~~-~

O 10 20 30 40 50 60 70 80 90 100

La Rotación

La rotación permite girar el gráfico en torno al origen del sistema de coordenadas o centro de
giro (xO,yO). Si se observa el siguiente gráfico :

- P = (x, y)

Se observa que

x'= r cos(cp +8) = r cos(cp)*cos(8)-r sin(cp)*sin(8)

y'= r sin(cp + 8) = r sin(cp)*cos(8) + r sin(cp) cos(8)

como x=r*cos(cp) y y=r sin(cp),

las anteriores expresiones pueden escribirse como:

x'=x cos(8) - y sin(8)

y'= x sin(8) + y cos(8)

donde: 8 es el ángulo de rotación deseado

Ej. Realizar el siguiente ejemplo :

D15422, Robótica, Grupo 1, 2021 11


axis([O 100 O 100]) ;
100
X=[30 70 90 30];
Y=[40 20 70 40]; 80

line(x,y)
60
pause;
u=x.*cos(pi/12)-y.*sin(pi/12); 40

V=x.*sin(pi/12)+y.*cos(pi/12) ; 20
line(u, v);
o~-------
o 20 40 60 80 100
una representación más explícita es la siguiente

axis([-150 150 -150 150]);


X=[30 70 90 30];
Y=[40 20 70 40] ;
for i=O:pi/20:6.14159
U=X.*cos(i)-y. *sin(i);
V=x.*sin(i)+y.*cos(i) ; line(u,v);
pause2(.2);
end;

De manera similar al caso anterior, la rotación puede realizarse en torno a un punto fijo (xf,yf),
para lo cual es necesario realizar una combinación de traslación y rotación mediante el
siguiente proceso :

x1=x-xf
y1=y-yf
x2=x1 cos(8) - y1 sin(8) = (x-xf)*cos(8) - (y-yf)*sin(8)
y2= x1 sin(8) + y1 cos(8)= (x-xf)*sin(8) + (y-yf)*cos(8)
U=X2+xf=((x-xf)*cos(8) - (y-yf)*sin(8))+xf
v=y2+yf=((x-xf)*sin(8) + (y-yf)*cos(8))+yf
Ejemplo :
120
axis([-50 100 -50 120]);
100
X=[30 70 90 30];
80
Y=[40 20 70 40]; 60
for i=O:pi/20 :6.14159 40

u=(x-30). *cos(i)-(y-40). *sin(i)+30; 20

v=(x-30) .*sin(i)+(y-40). *cos(i)+40; o


line(u,v)+40; -20

pause2(.2); -40

-50 o 50 100
end;

Transformación Homogénea

D15422, Robótica, Grupo 1, 2021 12


Dado un gráfico cualquiera, es posible realizar múltiples transformaciones mediante la
aplicación sistemática de una o varias operaciones elementales de escalamiento, rotación y
traslación. Es posible también, determinar las expresiones finales para la transformación
aunque ello conlleve un excesivo procedimiento algebraico.

Un procedimiento más efectivo consiste en el uso de coordenadas homogéneas para la


representación de los puntos del gráfico lo que permite que una transformación se realice con
el producto de una matriz cuadrada y que cualquier secuencia de transformaciones se reduzca
a productos de matriciales.

Esta representación matricial se denomina transformación homogénea.

Un punto cualquiera (x,y) puede ser representado mediante a coordenadas homogéneas como
una terna [xh, yh, w]

donde: xh=x*w y yh=y*w

El parámetro w es un valor diferente de cero y generalmente adopta el valor 1, luego una


coordenada homogénea se representará como: [x y 1].

Con esta definición, las matrices de transformación serán:

Traslación

Revisando las expresiones algebraicas de traslación, éstas pueden escribirse de forma


matricial como:

O bien en forma sintética P'=T(tx, ty)*P

Ej.

axis([O 100 O 1001);


X=[30 70 90 30];
Y=[40 20 70 40];
line(x,y)
pause;

D15422, Robótica, Grupo 1, 2021 13


a=[1 O -10; O 1 20;0 O 1];
P=[x; y; ones(1, length(x))]; 100
p1 =zeros(3,length(x));
for i=1 :length(x) p1 (:,i)=a*[p(1,i); p(2,i); p(3,i)]; end 80
U=p1 (1,:)';
V=p1 (2,:)'; 60
line(u,v)
40
Obteniéndose la misma gráfica anterior.
20
Escalamiento
o~---~---~
De forma similar la ecuación de escalamiento puede o 50 100
escribirse como

O como P'=S(Sx, Sy)*P

Ejemplo

axis([0 100 O 100]) ;


X=[30 70 90 30];
Y=[40 20 70 40];
line(x,y)
pause;
a=[1/2 O O; O 1/2 0;0 O 1];
P=[x; y; ones(1, length(x))];
p1 =zeros(3,length(x));
for i=1 :length(x) p1 (:,i)=a*[p(1,i); p(2,i); p(3,i)]; end
U=p1 (1,:)';
V=p1 (2, :)';
line(u,v)
100
Rotación
80
La rotación puede escribirse en forma matricial como:
60
x'] [cos(0) - sin( 0) 40
[ y' = sin( 0) cos(0)
1 O O 20

o
O como P'=R(8)*P o 20 40 60 80 100
D15422, Robótica, Grupo 1, 2021 14
Ejemplo

axis([O 100 O 100]) ; 100


X=[30 70 90 30];
Y=[40 20 70 40]; 80
line(x,y) 60
pause;
a=[cos(pi/12) -sin(pi/12) O; sin(pi/12) cos(pi/12) O;O O 1]; 40
P=[x ; y; ones(1,length(x))] ; 20
p1 =zeros(3, length(x));
for i=1 :length(x) p1 (:,i)=a*[p(1,i); p(2,i); p(3,i)]; end o~---~----~
o 50 100
U=p1 (1, :)' ;
V=p1 (2,:)';
line(u,v)

Transformaciones compuestas :

Como se indicó anteriormente, toda sucesión de transformaciones elementales puede ser


representada por el producto de sus matrices homogéneas. Por ejemplo la transformación del
triángulo de los ejemplos anteriores compuesto por una rotación de theta=-pi/8 rad y un
desplazamiento en dx=5, dy=-1 O se realizará de la forma :

P'= T(dx,dy)*R(S)* P

O bien:
O
1 -10
5 l
[cos(0) - sin( 0)
sin( 0) cos(0) O y
º] [xl
O 1 O O 1 1

De forma similar el escalamiento respecto a un punto fijo cualquiera puede ser realizando
mediante la siguiente secuencia de transformaciones homogéneas siguientes : traslación (T1)
para llevar el punto fijo al origen del sistema de coordenadas, escalamiento (S2) y traslación
para devolver el punto fijo a sus coordenadas iniciales (T3), es decir:

P'=T3(tx,ty)*S2(Sx,Sy)*T1 (-tx,-ty)*P

Ej. Ilustrar el procedimiento anterior para escalar

axis([O 100 O 100]) ;


X=[30 70 90 30];
Y=[40 20 70 40];

D15422, Robótica, Grupo 1, 2021 15


line(x,y) 100
pause;
a=[1 O 30; O 1 40;0 O 1]*[cos(pi/12) -sin(pi/12) O; 80

sin(pi/12) cos(pi/12) 0;0 O 1]* [1 O -30; O 1 -40;0 O 1]; 60


P=[x; y; ones(1,length(x))];
p1 =zeros(3,length(x)); 40

far i=1 :length(x) p1 (:,i)=a*[p(1,i); p(2,i); p(3,i)]; end 20


U=p1 (1, :)';
V=p1 (2,:)'; o~--~-~----
o 20 40 60 80 100
line(u,v)

TRANSFORMACIÓN HOMOGENEA TRIDIMENSIONAL

La transformación homogénea en tres dimensiones es una extensión de la transformación


homogénea bidimensional y también la forma más conveniente de representar las
transformaciones de gráficos.

Una coordenada homogénea se expresa como una tupla de cuatro elementos [x,y,z,w], donde,
generalmente W= 1.

Traslación

De forma similar a la transformación bidimensional, el punto (x,y,z) es trasladado a la posición


(x' ,y' ,z') mediante la siguiente operación matricial:

x' 1 o o dx X

y' o 1 o dy y
z'
= o o 1 dz z
1 o o o 1 1

Ejemplo

axis([-20 20 -20 20 -20 20]);


X=[1 4 2 1];
Y=[6 3 1 6];
Z=[7 4 6 7];
plot3(x,y ,z); 10
hold on ;
rotate3d; 8

a=[1003;0105;0012; 0001];
6
U=zeros(4,length(x));
far i=1 :length(x) u(:,i)=a*[x(i); y(i); 4 z(i); 1]; end;
15 10
X1 =U(1 ,:);
y1 =U(2,:); o o
D15422, Robótica, Grupo 1, 2021 16
z1 =U(3, :);
plot3(x1 ,y1 ,z1 ,'g');

Escalamiento

Considerando las ecuaciones del caso bidimensional, es facil encontrar la matriz homogenea
que hace posible el escalamiento :

x' Sx o Ü Ü X

y' o Sy o o y
=
z' o o Sz O z
1 o o O 1 1

Ejemplo:
7

axis([-20 20 -20 20 -20 20]); 6


X=[1 4 2 1];
5
Y=[6 3 1 6];

~
2=[7 4 6 7]; 4

plot3(x,y ,z); 3
6
hold on ; 4
2
rotate3d; o 2
2
a=[.5 O O O; O .5 O O; O O .5 O; O O O 1]; 3 4 o
U=zeros(4, length(x));
for i=1 :length(x) u(:,i)=a*[x(i) ; y(i); z(i); 1]; end;
X1 =U(1, :);
y1=u(2,:);
z1 =U(3, :);
plot3(x1 ,y1 ,z1 ,'g');

Rotación

Para realizar la rotación inicialmente se debe definir el eje de rotación (en torno al cual se hará
girar el objeto) y el ángulo de rotación . Por convención se adopta signo positivo para el ángulo
de rotación en sentido levogiro (contrario a las agujas del reloj) y negativo en caso contrario,
siempre que se observe el plano desde el eje positivo de rotación . Las expresiones de rotación
son:

Rotación en torno al eje z:

Recordar que x'=x cos(theta) - y sin(theta)

y'=x sin(theta) + y cos(theta)

Cos -sin O O

D15422, Robótica, Grupo 1, 2021 17


a= sin cos O O

O O 1 O

O O O1

Rotación sobre el eje x:

Realizando un cambio de variables en el sistema de coordenadas en 3D (z=x, Y=Z, X=Y), se


tiene:

y'=y cos(theta) - z sin(theta)

z'=y sin(theta) + z cos(theta)

1 O O O

a= O cos -sin O

O sin cos O

O O O 1

Rotación sobre el eje y:

Procediendo de forma similar al caso anterior, se tiene (z=y, Y=X, X=z):

z'=z cos(theta) - x sin(theta)

x'=z sin(theta) + x cos(theta)

Cos O sin O

a= O 1 O O

-sin O cos O

O O O1

También es posible realizar la rotación sobre un eje cualquiera que atraviesa el origen,
aplicando una secuencia de rotaciones individuales sobre cada eje con el siguiente
procedimiento:

Dibujo

D15422, Robótica, Grupo 1, 2021 18


Rotar un ángulo alfa en torno al eje x obteniendo P1

Rotar un ángulo - beta en torno al eje y obteniendo P2

Rotar un ángulo theta en torno al eje z, obteniendo la rotación deseada.

Rotar un ángulo beta en torno al eje y obteniendo P3

Rotar un ángulo -alfa en torno al eje x obteniendo P'

La secuencia de matrices homogéneas correspondiente es:

1 o
o o c/J o o c0
s/3 -seo o c/J o -s/3 o 1 o o o
o ca sa o o 1 o o s0 c0o o o 1 o o o ca -sa o
a=
o -sa ca o -s/3 o c/J o o o 1 o s/3 o c/J o o sa ca o
o o o 1 o o o 1 o o o 1 o o o 1 o o o 1
Luego la expresión P'= a*P a devuelve las coordenadas trasladadas de cada punto

Ej. Estudiar la rotación siguiente :

a=pi/3;
b=pi/4;
t=pi/20;
U=Sin(b);
V=COS(b)*sin(a) ;
W=COS(b)*cos(a) ;
r1 =[1 O O O;O cos(a) -sin(a) O; O sin(a) cos(a) O; O O O 1];
r2=[cos(-b) O sin(-b) O;O 1 O O; -sin(-b) O cos(-b) O; O O O 1];
r3=[cos(t) -sin(t) O O;sin(t) cos(t) O O; O O 1 O; O O O 1];
D15422, Robótica, Grupo 1, 2021 19
r4=[cos(b) O sin(b) O;O 1 O O; -sin(b) O cos(b) O; O O O 1];
r5=[1 O O O;O cos(-a) -sin(-a) O; O sin(-a) cos(-a) O; O O O 1];
axis([-1 O 1O -1 O 1O -1 O 1O]);
X=[1 5 2 1];
Y=[6 8 1 6];
Z=[7 2 6 7];
plot3(x,y ,z);
line([.0,5*u],[O. ,5*v],[O. ,5*w]);
xlabel('x');
ylabel('y');
zlabel('z');
hold on;
rotate3d;
for j=1 :40
m=zeros(4,length(x));
for i= 1:length(x) m( :,i)=r5*r4*r3*r2*r1 *[x(i) ;y(i) ;z(i); 1]; end;
X=m(1,:);
y=m(2,:);
Z=m(3,:);
axis([-1 O 1O -1 O 1O -1 O 1O]);
plot3(x,y ,z, 'g');
view([S*u S*v S*w]);
pause2(.1 );
end
plot3(5*u, 5*v, 5*w, 'o')

Para poder apreciar la recta de rotación, (ver figura anterior), puede obtenerse las coordenadas
rectangulares de un punto de la recta de rotación de la siguiente forma:

D15422, Robótica, Grupo 1, 2021 20


zp1 =COS(b)

X=Sin(b)

y=zp1 *sin(a)=cos(b)*sin(a)=sin(a)*cos(b)

z=zp1 *cos(a)=cos(b)*cos(a)=cos(a)*cos(b)

Tarea:

Rotar una figura cualquiera respecto a la recta que atraviesa el origen y el punto (5,2, 1O)

Deducir las ecuaciones que permiten la rotación de un ángulo (theta) sobre una recta
cualquiera (definida por los puntos (x1 ,y1 ,z1) y (x2,y2,z2)).

CINEMATICA DIRECTA PARA ESTRUCTURAS ARTICULADAS

Trata de la determinación de las coordenadas del extremo libre del robot (o de cualquier
articulación) respecto a un sistema de referencia, conociendo las características rotaciones,
traslaciones y geometría de los enlaces y articulaciones.

EL PROCEDIMIENTO DENAVIT-HARTENBERG

Denavit y Hartenberg (OH) en 1955 establecieron un procedimiento sistemático para resolver


la cinemática directa de cadenas cinemáticas. Para su aplicación, primero se debe establecer
un sistema de coordenadas asociado a cada enlace, el cual se moverá con él, luego se
identifican los parámetros geométricos de cada enlace lo que permitirá encontrar las matrices
de transformación entre cada par de enlaces cuyos productos determina la matriz T de
transformación homogénea de la cadena cinemática.
D15422, Robótica, Grupo 1, 2021 21
La notación convencional para formalizar el procedimiento es:

El extremo fijo de la cadena cinemática se asocia a un sistema de coordenadas fijo (O) que
será el sistema de referencia.

Se denomina eje de una articulación a la recta en la dirección de desplazamiento (en


articulaciones traslacionales) y en el eje de giro (en caso de articulaciones rotacionales)

Se numeran las articulaciones y eslabones secuencialmente desde la primera articulación (1)


hasta la última (n).

Los parámetros OH son:

theta i, ángulo entre la normal entre los ejes i-1 e i y la normal a los ejes i e i+ 1.

di, distancia entre los puntos de intersección de la normal a los ejes i-1 e i con el eje i y la
normal a los ejes i e i+ 1 , también con el eje i.

ai, distancia entre el eje de la articulación i y el eje de la articulación i+ 1.

alpha i, ángulo que forman los ejes i e i+ 1.

El eje de la articulación i-ésima, se asocia a la coordenada Zi-1 .

El eje Xi debe escogerse perpendicular a Zi y a Zi-1, sobre el segmento ai

El eje Vi se elige de manera que forme un sistema levogiro.

El orígen del i-ésimo sistema de coordenadas se ubica en la intersección de la normal de los


ejes i-1 e i con el eje i.

Algunos casos particulares a tomar en cuenta son:

El sistema de coordenadas fijo se ubica sobre un punto arbitrario del eje 1; el eje xO se fija
perpendicular a zO en una dirección arbitraria.

El último sistema de coordenadas asociado a la mano o herramienta, o sigue las mismas reglas
anteriores, pues debe situarse de modo que su eje z esté en la dirección de aproximación
(avance natural de la mano) y el eje y debe apuntar de garra a garra de la pinza.

Si los ejes consecutivos z son paralelos, se adopta la normal a la altura del centro de la
articulación.

Si los ejes z consecutivos se intersectan, ai es cero. El eje x se toma en cualquiera de los


sentidos posibles.

D15422, Robótica, Grupo 1, 2021 22


Luego se determinan las matrices de transformación para los sistemas i-1 e i haciéndolos
coincidir con el siguiente procedimiento:

Rotar alrededor del eje zi-1 un ángulo theta i (hasta que xi-1 e xi sean paralelos)

Trasladar a lo largo del eje zi-1 una distancia di (hasta que xi-1 e xi sean colineales)

Trasladar a lo largo del eje x"i una distancia ai (hasta que x"i-1 y x"i se superpongan)

Rotar alrededor de x"i un ángulo alphai. (hasta que z"i-1 y zi se superpongan

Algoritmo de Denavit- Hartenberg para la obtención del modelo

Denavit-Hartenberg propusieron en 1955 un método matricial que permite establecer de


manera sistemática un sistema de coordenadas (Si) ligado a cada eslabón i de una cadena
articulada, pudiéndose determinar a continuación las ecuaciones cinemáticas de la cadena
completa.

Según la representación D-H, escogiendo adecuadamente los sistemas de coordenadas


asociados para cada eslabón, será posible pasar de uno al siguiente mediante 4
transformaciones básicas que dependen exclusivamente de las características geométricas
del eslabón.

Estas transformaciones básicas consisten en una sucesión de rotaciones y traslaciones que


permitan relacionar el sistema de referencia del elemento i con el sistema del elemento i-1. Las
transformaciones en cuestión son las siguientes:

Rotación alrededor del eje Zi-1 un ángulo 0i.


Traslación a lo largo de Zi-1 una distancia di; vector di ( O,O,di ).
Traslación a lo largo de Xi una distancia ai; vector ai ( O,O,ai ).
Rotación alrededor del eje Xi, un ángulo ai.

Dado que el producto de matrices no es conmutativo, las transformaciones se han de realizar


en el orden indicado. De este modo se tiene que:

i-1 A i = T( z, 0i ) T( O,O,di) T ( ai,O,O) T( x,ai)

Y realizando el producto de matrices:

D15422, Robótica, Grupo 1, 2021 23


CB; -se. o o 1
o o o 1 o o a; 1
1 o o o
= SB; CB; o o o 1 o o o 1 o o o Ca; -Sa; o
i- lA.
=
1
o o 1 o o o 1 d; o o 1 o o Sa; Ca; o
o o o 1 o o o 1 o o o 1 o o o 1
CB; -Ca;SB; Sa;Sa; a;CB;
SB; Ca;CB; -Sa;CB; a;SB;
=
o Sa; Ca; d;
o o o 1

donde Si, ai, di, ai, son los parámetros D-H del eslabón i. De este modo, basta con identificar
los parámetros qi, ai, di, ai, para obtener matrices A y relacionar así todos y cada uno de los
eslabones del robot.

Como se ha indicado, para que la matriz i-1Ai, relacione los sistemas (Si) y (Si-1), es
necesario que los sistemas se hayan escogido de acuerdo a unas determinadas normas.
Estas, junto con la definición de los 4 parámetros de Denavit-Hartenberg, conforman el
siguiente algoritmo para la resolución del problema cinematico directo:

DH1 Numerar los eslabones comenzando con 1 (primer eslabón móvil dela
cadena) y acabando con n (ultimo eslabón móvil). Se numerara como
eslabón O a la base fija del robot.

DH2 Numerar cada articulación comenzando por 1 (la correspondiente al


primer grado de libertad y acabando en n).

DH3 Localizar el eje de cada articulación. Si esta es rotativa, el eje será su


propio eje de giro. Si es prismática, será el eje a lo largo del cual se
produce el desplazamiento.

DH4 Para i de O a n-1, situar el eje Zi, sobre el eje de la articulación i+ 1.

DHS Situar el origen del sistema de la base (SO) en cualquier punto del eje ZO.
Los ejes XO e YO se situaran dé modo que formen un sistema dextrógiro
con ZO.

DH6 Para i de 1 a n-1, situar el sistema (Si) (solidario al eslabón i) en la


intersección del eje Zi con la línea normal común a Zi-1 y Zi. Si ambos
ejes se cortasen se situaría (Si) en el punto de corte. Si fuesen paralelos
(Si) se situaría en la articulación i+ 1.

DH7 Situar Xi en la línea normal común a Zi-1 y Zi.


DH8 Situar Vi de modo que forme un sistema dextrógiro con Xi y Zi.

D15422, Robótica, Grupo 1, 2021 24


DH9 Situar el sistema (Sn) en el extremo del robot de modo que Zn coincida
con la dirección de Zn-1 y Xn sea normal a Zn-1 y Zn.

DH1 O Obtener 0i como el ángulo que hay que girar en torno a Zi-1 para que Xi-
1 y Xi queden paralelos.

DH11 Obtener di como la distancia, medida a lo largo de Zi-1 , que habría que
desplazar (Si-1) para que Xi y Xi-1 quedasen alineados.

DH12 Obtener ai como la distancia medida a lo largo de Xi (que ahora coincidiría


con Xi-1) que habría que desplazar el nuevo (Si-1) para que su origen
coincidiese con (Si).

DH13 Obtener ai como el ángulo que habría que girar entorno a Xi (que ahora
coincidiría con Xi-1 ), para que el nuevo (Si-1) coincidiese totalmente con
(Si).

DH14 Obtener las matrices de transformación i-1 Ai.

DH15 Obtener la matriz de transformación que relaciona el sistema de la base


con el del extremo del robot T = OAi, 1A2 ... n-1An.

DH16 La matriz T define la orientación (submatriz de rotación) y posición


(submatriz de traslación) del extremo referido ala base en función de las
n coordenadas articulares.

Parametros DH para un eslabón giratorio.

Los cuatro parámetros de DH (0i, di, ai, ai) dependen únicamente de las características
geométricas de cada eslabón y de las articulaciones que le unen con el anterior y siguiente
(Refiérase a la figura para una mejor orientación).

articulación ¡~
81+,

D15422, Robótica, Grupo 1, 2021 25

También podría gustarte