Está en la página 1de 10

Gua de laboratorio 2-Sistemas de control III

(Sustentacin 14 de sept, entrega de informe jueves 19 de sept)


VISTA PREVIA

Investigar el espacio de trabajo de los robots

Comprender los tipos de articulacin y los grados de libertad


Graficas 2D y 3D en Matlab
MARCO TERICO
Espacio de trabajo
El espacio de trabajo es el conjunto de puntos en los que puede situarse el efector final del
manipulador. Corresponde al volumen encerrado por las superficies que determinan los puntos a
los que accede el manipulador con su estructura totalmente extendida y totalmente plegada. Los
puntos de accesibilidad mnima son los de las superficies que delimitan el espacio de trabajo ya
que a ellos slo puede llegarse con una nica orientacin. En la tabla 1 se puede observar la
configuracin y el espacio de trabajo generado.
Tabla 1. Espacios de trabajo
Configuracin Espacio de trabajo

Configuracin PPP

Configuracin RPP
Configuracin Espacio de trabajo

Configuracin RRP

Configuracin RRR

Grficos poligonales
Matlab dibuja las curvas punto a punto. Calcula los puntos (x; y(x)), para los valores de x dados y
representa dichos puntos unidos por un segmento. Matlab dibuja una poligonal inscrita a la curva.
Por ello, se empieza estableciendo la matriz fila x cuyos elementos son los valores de x para los
que se computar el valor correspondiente de y(x). Se deben tomar puntos igualmente espaciados
en el intervalo [a,b], incluyendo los extremos. Si se toman valores consecutivos de x pequeos se
obtiene la curva de la grfica.
Ejemplo
Dibujar un polgono encerrado por los vrtices (0,0,0) (5,4,3) (5,0,0) (0,4,0) (5,4,0) la lnea debe ser
de color verde y deben aparecer los nombres de los ejes y el nombre del dibujo.

x=[0 5 5 0 0 5 5 5 5 0]
y=[0 4 0 0 4 4 4 0 4 4]
z=[0 3 0 0 0 3 0 0 0 0]
plot3(x,y,z,'g')
title('Pirmide')
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')
Resultado

Figura 1. Polgono dibujado en Matlab. Fuente propia


Matlab ofrece diferentes opciones para realizar los grficos tambin podra generarse el anterior
polgono creando una lnea con el comando line que una cada vrtice formando la pirmide y el
resultado sera el mismo.
Ejemplo

Dibujar un polgono encerrado por los vrtices (0,0,0) (5,4,3) (5,0,0) (0,4,0) (5,4,0) la lnea debe ser
de color verde en la base, las lneas cruzadas 2 rojas y 2 azules. El grosor de la base de 4 y las
dems lneas 2. Deben aparecer los nombres de los ejes y el nombre del dibujo.
h = plot3(0,0,0)
p = get(h,'Parent')
xlim(p,'manual');
xlim(p,[0 10]) %Define el lmite del eje x que se observar en la grfica
ylim(p,'manual');
ylim(p,[0 10])%Define el lmite del eje y que se observar en la grfica
zlim(p,'manual');
zlim(p,[0 10])%Define el lmite del eje z que se observar en la grfica
axis vis3d
grid on

linea1= line([0,5],[0,4],[0,3],'Color','b','LineWidth',2);
linea2= line([5,5],[4,0],[3,0],'Color','r','LineWidth',2);
linea3= line([5,5],[4,4],[0,3],'Color','b','LineWidth',2);
linea4= line([0,5],[4,4],[0,3],'Color','r','LineWidth',2);
linea5= line([0,0],[0,4],[0,0],'Color','g','LineWidth',4);
linea6= line([0,5],[4,4],[0,0],'Color','g','LineWidth',4);
linea7= line([5,5],[4,0],[0,0],'Color','g','LineWidth',4);
linea8= line([5,0],[0,0],[0,0],'Color','g','LineWidth',4);
grid on
title('Poligono')
xlabel('X')
ylabel('Y')
zlabel('Z')

Figura 2. Polgono dibujado en Matlab con el comando line. Fuente propia


Funciones set() y get()
Matlab dispone de las funciones set y get para consultar y cambiar el valor de las propiedades de
un objeto. Las propiedades de un objeto pueden ser cambiadas o modificadas (salvo que sean
readonly) con el comando set (id,propiedad,valor). Por ejemplo:
li2= line([0,0],[0,0],[0,10],'Color','k') %crea una lnea de color negro
set(li2,'color','r') % cambia el color de la lnea a color rojo.

Mtodo Denavit Hartenberg


Aunque para describir la relacin que existe entre dos elementos contiguos se puede hacer uso de
cualquier sistema de referencia ligado a cada elemento, la forma habitual que se suele utilizar en
robtica es la representacin de Denavit Hartenberg (D-H) propuesto en 1995 como un mtodo
matricial que permite establecer de manera sistemtica un sistema de coordenadas ligado a cada
eslabn i de una cadena articulada.
Segn la representacin D-H escogiendo adecuadamente los sistemas de coordenadas asociados
a cada eslabn, ser posible pasar de uno al siguiente mediante 4 transformaciones bsicas que
permiten relacionar el sistema de referencia del elemento i con el elemento del sistema del
elemento i-1. Las transformaciones en cuestin son las siguientes:

1. Rotacin alrededor del eje zi-1 un ngulo i


2. Traslacin a lo largo de zi-1 una distancia di; vector di(0,0,di)
3. Traslacin a lo largo de xi una distancia ai vector ai (0,0,ai)
4. Rotacin alrededor del eje xi un ngulo i

Asignacin de marcos de referencia


1. Numerar los eslabones comenzando con 1 (primer eslabn mvil de la cadena) y acabando
con n (ltimo eslabn mvil). Se numerar como eslabn 0 a la base fija del robot
2. Numerar cada articulacin comenzando con 1 (la correspondiente al primer grado de libertad)
y acabando en n
3. Localizar el eje de cada articulacin. Si sta es rotativa, el eje ser su propio eje de giro. Si
es prismtica, ser el eje a lo largo del cual se produce el desplazamiento.
4. Para i de 0 a n-1 situar el eje zi sobre el eje de la articulacin i+1
5. Situar el origen del sistema de la base {S0]. En cualquier punto del eje z0. Los ejes x0 e y0 se
situarn de modo que formen un sistema dextrgiro con z0.
6. Para i de 1 a n-1, situar el sistema {Si} (solidario al eslabn i) en la interseccin del eje zi con
la lnea normal comn a zi-1 y zi. Si ambos ejes se cortasen se situara {S i} en el punto de
corte. Si fuesen paralelos se situara en la articulacin i+1
7. Situar xi en la lnea normal comn a zi-1 y zi.
8. Situar yi de modo que forme un sistema dextrgiro con xi y zi.
9. Situar el sistema {Sn} en el extremo del robot de modo que z0 coincida con la direccin de zn-
1 y xn sea normal a zn-1 y zn
Comando patch de Matlab

El comando patch se emplea para dibujar polgonos en dos o tres dimensiones, que pueden estar
rellenos de un color constante o variable (interpolado entre los colores de los vrtices). Se
distingue entre el color de las aristas y el color de relleno.
Sintaxis
patch(X,Y,Z,C)
Los elementos X,Y,Z especifican las coordenadas de los vrtices del polgono, C determina el color
del patch
Ejemplo graficar un cubo con patch

h = plot3(0,0,0)
p = get(h,'Parent')
xlim(p,'manual');
ylim(p,'manual');
zlim(p,'manual');
xlim(p,[0 2])
ylim(p,[0 2])
zlim(p,[0 2])
rotate3d
grid on
patch([0 0 1 1],[0 1 1 0],[1 1 1 1],'k')%Graficar cara superior
patch([0 1 1 0],[0 0 0 0],[0 0 1 1],'g')%Graficar cara lateral eje x con y=0
patch([0 0 0 0],[0 1 1 0],[0 0 1 1],'b')%Graficar cara lateral eje y con x=0
patch([0 0 1 1],[0 1 1 0],[0 0 0 0],'r')%Graficar cara inferior
patch([0 1 1 0],[1 1 1 1],[0 0 1 1],'m')%Graficar cara lateral eje x con y=1
patch([1 1 1 1],[0 1 1 0],[0 0 1 1],'y')%Graficar cara lateral eje y con x=1
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')
title('Graficar un cubo por patch')

Figura 3. Resultado obtenido. Fuente propia


Superficies en el espacio

En Matlab vienen programados algunos comandos para generar superficies


sphere (n) en donde n es el nmero de puntos en los que queda dividido el ecuador de la esfera.
cylinder(R,n) genera un cilindro de revolucin de radio R, donde n es el nmero de puntos de la
Circunferencia de la base del cilindro. El cilindro que se dibuja est ubicado en el punto 0,0,0.
Para modificar el origen de ubicacin de los comandos se puede definir una matriz [x,y,z] que
permite definir el punto de origen (x0,y0,z0) , el radio r y la altura h (para el caso del cilindro). Para
esto los ejes se encuentran parametrizados de la siguiente manera:
x=x0+rx
y=y0+ry
z=z0+hz Este comando aplica para el cilindro
z=z0+rz Este comando aplica para la esfera
Ejemplo para crear dos cilindros con diferente origen y rotacin
En este programa se crearn dos cilindros, el primero estar ubicado en el origen sin rotacin y el
segundo est en la posicin (0,0,35) y rotado sobre el eje y. El resultado se muestra en la figura 4.
h = plot3(0,0,0)
p = get(h,'Parent')
hold on
xlim(p,'manual');
xlim(p,[-10 30]) %Define el lmite del eje x que se observar en la grfica
ylim(p,'manual');
ylim(p,[-10 30])%Define el lmite del eje y que se observar en la grfica
zlim(p,'manual');
zlim(p,[-10 30])%Define el lmite del eje z que se observar en la grfica
axis vis3d
grid on
r=5 %radio del cilindro
h=20 %altura del cilindro
%Cilindro 1 ubicado en (0,0,0)sin rotacin
[x1,y1,z1]=cylinder(1);
x2=r*x1;
y2=r*y1 ;
z2=h*z1;
surf(x2,y2,z2,'FaceColor','k');
%Cilindro 2 ubicado en (0,0,35) acostado sobre x es decir rotado sobre y
px1=0
py1=0
pz1=35
[x3,y3,z3]=cylinder(1);
x4=px1+r*x3;
y4=py1+r*y3 ;
z4=pz1+h*z3;
a2=surf(x4,y4,z4,'FaceColor','r','EdgeColor','none');
ry=[0 1 0]
rotate(a2,ry,90,[px1,py1,pz1])
title('Cilindros')
xlabel('X')
ylabel('Y')
zlabel('Z')

Figura 4. Cilindros. Fuente propia

Procedimiento:
1. Realizar una interfaz grfica en Matlab que contenga un texto esttico con el ttulo Espacio de
trabajo robots espaciales, tres botones y un axes. Al oprimir el primer botn debe mostrar la
configuracin PPP, el segundo botn la configuracin RPP y el tercer botn la configuracin RRR.
Para cada caso debe mostrar el espacio de trabajo en la misma grfica. Las configuraciones se
observan en la tabla 1. El resultado esperado se puede visualizar en la figura 5.

Figura 5. Espacio de trabajo de un robot PPP. Fuente propia


2. Marcos de referencia robot Scara
Ejercicios

1. Con la herramienta Guide de Matlab cree una interfaz grfica (Ver figura ) que contenga lo
siguiente:
a. Un texto esttico que tenga como ttulo Modelamiento robot Scara. UPN 2017.
b. Un axes en donde se visualice el robot espacial de cuatro grados de libertad asignado en el
trabajo de investigacin. Tenga en cuenta que las articulaciones rotativas debe ilustrarlas con
cilindros y los eslabones con lneas de grosor 3. El radio de los cilindros de 30 y la altura de
80, la artista del cubo de 60, el color debe ser seleccionado por usted. Los eslabones deben
corresponder a las medidas reales del robot y la posicin del robot debe ser la adoptada
cuando todas sus articulaciones rotativas tienen 0 y la variacin de la articulacin prismtica
sea la mxima.
c. Dibuje los marcos de referencia para cada articulacin. Todos los ejes de la coordenada x
deben ser de color rojo, los ejes de la coordenada y de color verde y los ejes de la coordenada
z de color azul.

Figura 6. Modelamiento de un robot. Fuente propia

Entregables
1. Sustente al docente cada una de los simulaciones realizadas
2. Realice un informe en formato IEEE en donde se evidencie el desarrollo de la gua un tem
con las respuestas a las siguientes preguntas:
Qu es espacio de trabajo en un robot industrial?
Dibuje la forma del espacio de trabajo de los siguientes robots:

Robot Gantry
Robot Cilndrico
Robot Angular
Robot polar

Describa en qu consiste el mtodo propuesto por Denavit Hartenberg para calcular el


modelo cinemtico directo de un robot industrial.
Cul es la importancia de la asignacin de marcos de referencia en la aplicacin del
algoritmo Denavith Hartenberg?
Realice la asignacin de los marcos de referencia del siguiente robot industrial de seis
grados de libertad.

Bibliografa recomendada
[1] Lung-Wen Tsai. Robot analysis: the mechanics of serial and parallel manipulators Wiley- IEEE,
1999
[2] Siciliano, Bruno; Sciavicco, Lorenzo ; Villani, Luigi ; Oriolo, Giuseppe. Robotics Editorial:
Springer Verlag - Estados Unidos. ISBN: 1846286417.
[3] Craig, J. Introduction to robotics. Adisson Wesley.
[4] Ollero, A. Robtica manipuladores y robots mviles. Alfaomega Marcombo.
[5] Spong, Mark W. y Vidyasagar, M. Robot Dynamics and Control. John Wiley & Sons, 1989.
[6] Fu, K.S.; Gonzlez, R.C. y Lee, C. S. G. Robtica: Control, Deteccin, Visin e Inteligencia.Ed.
Mc Graw Hill, 1988.

También podría gustarte