cinemática directa de un robot scara

24
1 ROBOT SCARA En la siguiente figura se muestra un robot SCARA RRRP, en donde las tres primeras junturas son revolutas y el frame de las herramientas es una juntura prismática. Asignar los frame’s del mecanismo de eslabones y comprobar la tabla de los parámetros Denavit Hartenberg. En la siguiente figura se muestra los frame’s de cada articulación, las cuales son tres revolutas y una prismática. Figura 01 Asignación de Frame’s en la Mecánica del Robot. En el planteamiento del problema se nos indica que el ROBOT SCARA tiene cuatro parámetros Denavit Hartenberg con 4 DOF, observar que el último parámetro tiene dos articulaciones, en esta solución se considerara cinco parámetros Denavit Hartenberg con sus 4 DOF. Esta consideración se ha dado por un tema de orden en su solución y el cual no altera su propósito. El primer parámetro Denavit Hartenberg se puede considerar como un parámetro fantasma ya que no aporta ninguna articulación.

Upload: cssunac

Post on 04-Jan-2016

2.175 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Cinemática Directa de un Robot SCARA

1

ROBOT SCARA

En la siguiente figura se muestra un robot SCARA RRRP, en donde las tres

primeras junturas son revolutas y el frame de las herramientas es una

juntura prismática. Asignar los frame’s del mecanismo de eslabones y

comprobar la tabla de los parámetros Denavit Hartenberg.

En la siguiente figura se muestra los frame’s de cada articulación, las

cuales son tres revolutas y una prismática.

Figura 01 Asignación de Frame’s en la Mecánica del Robot.

En el planteamiento del problema se nos indica que el ROBOT SCARA tiene

cuatro parámetros Denavit Hartenberg con 4 DOF, observar que el último

parámetro tiene dos articulaciones, en esta solución se considerara cinco

parámetros Denavit Hartenberg con sus 4 DOF. Esta consideración se ha

dado por un tema de orden en su solución y el cual no altera su

propósito. El primer parámetro Denavit Hartenberg se puede considerar

como un parámetro fantasma ya que no aporta ninguna articulación.

Page 2: Cinemática Directa de un Robot SCARA

2

Comprobación de los parámetros Denavit-Hartenbert.

i = 1

theta1 Angulo de x0 a x1 medido alrededor de z1 Θ1=0

d1 Distancia de x0 a x1 medida a lo largo de z1 d1=2

a1 Distancia de z0 a z1 medida a lo largo de x1 a1=0

alpha1 Angulo de z0 a z1 medido alrededor de x1 α1=0

i =2

theta2 Angulo de x1 a x2 medido alrededor de z2 Θ2=q1

d2 Distancia de x1 a x2 medida a lo largo de z2 d2=0

a2 Distancia de z1 a z2 medida a lo largo de x2 a2=3

alpha2 Angulo de z1 a z2 medido alrededor de x2 α2=0

i = 3

theta3 Angulo de x2 a x3 medido alrededor de z3 Θ3=q2

d3 Distancia de x2 a x3 medida a lo largo de z3 d3=0

a3 Distancia de z2 a z3 medida a lo largo de x3 a3=2

alpha3 Angulo de z2 a z3 medido alrededor de x3 α3=0

i = 4

theta4 Angulo de x3 a x4 medido alrededor de z4 Θ4=0

d4 Distancia de x3 a x4 medida a lo largo de z4 d4=2

a4 Distancia de z3 a z4 medida a lo largo de x4 a4=0

alpha4 Angulo de z3 a z4 medido alrededor de x4 α4=0

i = 5

theta5 Angulo de x4 a x5 medido alrededor de z5 Θ5=q3

d5 Distancia de x4 a x5 medida a lo largo de z5 d5=q4

a5 Distancia de z4 a z5 medida a lo largo de x5 a5=0

alpha5 Angulo de z4 a z5 medido alrededor de x5 α5=0

Tabla 01 Cálculo de los parámetros Denavit Hartenberg.

Como se dijo anteriormente existen cinco parámetros Denavit Hartenberg,

pero si comparamos los cuatro últimos parámetros Denavit Hartenberg con

la solución planteada observaremos que la solución se comprueba. Es muy

importante seguir el orden en el que se hallan los parámetros Denavit

Hartenberg.

i Θi di ai αi

1 0 d1 0 0

2 q1 0 a2 0

3 q2 0 a3 0

4 0 -d4 0 0

5 q3 q4 0 0

Tabla 02 Parámetros Denavit Hartenberg

Programación en software MATLAB

Cinemática Directa

El objetivo es hallar la Cinemática Directa del Robot Scara, esto quiere

decir que a partir de las articulaciones q1, q2, q3 y q4 del robot

debemos obtener la posición y orientación del efector final. Para ello

utilizamos el Algoritmo Denavit Hartenberg y codificamos el mismo en una

función en MATLAB con el nombre “denavit”.

Page 3: Cinemática Directa de un Robot SCARA

3

Como es sabido el Algoritmo Denavit Hartenberg está conformado por una

rotación en el eje Z, una translación en el eje Z, una translación en el

eje X y una rotación en el eje X. Todos estas rotaciones y translaciones

se dan con respecto al eje móvil, por ende sus matrices se deberán pos

multiplicar sobre las matrices de transformaciones previas tal y como se

muestra a continuación.

Esto nos dará una matriz de transformación homogénea MTH, como tenemos

cuatro parámetros Denavit Hartenberg y un parámetro fantasma obtendremos

cinco MTH’S. Es muy importante respetar el orden en el que se da función

“denavit”, ya que de esto depende nuestra Cinemática Directa.

Demostración del Algorimo Denavit Hartenberg en MATLAB.

clear all; close all; clc

%------------------------------------------------------------------------

% DEMOSTRACION DEL ALGORITMO DENAVIT HARTENBERG

%------------------------------------------------------------------------

% simbolización de las variables.

%------------------------------------------------------------------------

syms theta d a alpha

% MTH con rotacion alrededor del eje Z

rotz = [cos(theta) -sin(theta) 0 0

sin(theta) cos(theta) 0 0

0 0 1 0

0 0 0 1];

% MTH con translacion a lo largo del eje Z

pz = [1 0 0 0

0 1 0 0

0 0 1 d

0 0 0 1];

% MTH con translacion a lo largo del eje X

px = [1 0 0 a

0 1 0 0

0 0 1 0

0 0 0 1];

% MTH con rotacion alrededor del eje X

rotx = [1 0 0 0

0 cos(alpha) -sin(alpha) 0

0 sin(alpha) cos(alpha) 0

0 0 0 1];

% Pos multiplicacion de MTH’S

denavit=rotz*pz*px*rotx;

% denavit =

%

% [ cos(theta), -cos(alpha)*sin(theta), sin(alpha)*sin(theta), a*cos(theta)]

% [ sin(theta), cos(alpha)*cos(theta), -sin(alpha)*cos(theta), a*sin(theta)]

% [ 0, sin(alpha), cos(alpha), d]

% [ 0, 0, 0, 1]

Ahora haremos de este algoritmo una función en MATLAB como se menciono

anteriormente.

Page 4: Cinemática Directa de un Robot SCARA

4

%--------------------------------------------------------------------------

% FUNCION DENAVIT HARTENBERG

%--------------------------------------------------------------------------

function dh = denavit(theta,d,a,alpha)

dh = [cos(theta) -cos(alpha)*sin(theta) sin(alpha)*sin(theta) a*cos(theta)

sin(theta) cos(alpha)*cos(theta) -sin(alpha)*cos(theta) a*sin(theta)

0 sin(alpha) cos(alpha) d

0 0 0 1];

Esta función será llamada para obtener los MTH’S relativas a cada eslabón

de nuestro Robot Scara, como tenemos cinco parámetros Denavit Hartenber

entonces tendremos 5 MTH’S.

Para realizar nuestros plot’s en MATLAB o como en cualquier otro software

de cálculo matemático es necesario que cada coordenada en el espacio deba

estar referenciado al eje fijo, por lo tanto debemos obtener MTH’S con

respecto al Frame Fijo y no respecto al Frame Moviles (referenciados a

cada eslabón).

Del problema tenemos los siguiente MTH’S

Figura 02 MTH’S respecto a los MTH’S Móviles.

Page 5: Cinemática Directa de un Robot SCARA

5

Como podemos apreciar en la figura 02 las flechas de amarillo nos hace

referencia que el MTH posterior esta referenciado al anterior (relativo a

cada eslabón).

No está de más decir que estos cinco MTH’S son el resultado de haber

llamado cinco veces a la función “denavit”. Ahora multiplicando

continuamente uno a uno los MTH’S obtendremos:

Donde:

Los MTH’S obtenidos son los que se utilizaran para plotear los Frame’s

del robot en MATLAB con la Toolbox “frame”.

Figura 03 MTH’S respecto al MTH Fijo.

Como podemos apreciar en la figura 03, las flechas de amarillo nos hace

referencia que los MTH’S esta referenciado al Frame Fijo. Ahora para

hallar las coordenadas de cada punto del extremo de los eslabones

relativos al Frame Fijo, se hallara de la siguiente manera.

Page 6: Cinemática Directa de un Robot SCARA

6

Sabemos que el MTH aportan la siguiente información:

Figura 04 Información del MTH.

Entonces extraeremos la columna cuatro de cada MTH relativa a cada

eslabón (Frame Móvil)

Figura 05 Coordenadas de cada punto del extremo de los eslabones del

robot con respecto a las Coordenadas Móviles.

Page 7: Cinemática Directa de un Robot SCARA

7

Nuestro objetivo es hallar los puntos de las Coordenadas móviles, ,

pero con respecto al Frame Fijo, , ahora para poder encontrarlas

multiplicaremos los siguientes MTH’S y sus respectivas coordenadas de

cada punto del extremo del robot:

Figura 06 Coordenadas de cada punto del extremo de los eslabones con

respecto a las Frame Fijo.

Gracias a los MTH’S con respecto al Frame Fijo y a los puntos de las

coordenadas de los extremos de cada eslabón de nuestro robot, también con

respecto al Frame Fijo, podremos realizar su ploteo tanto de los Frame

Móviles como de las coordenadas de cada extremo del robot en MATLAB.

Page 8: Cinemática Directa de un Robot SCARA

8

Con lo descrito anteriormente estamos listos para realizar la cinemática

directa en MATLAB tal como sigue:

clear all; close all; clc;

%--------------------------------------------------------------------------

% PARAMETROS DEL ROBOT SCARA RRRP

%--------------------------------------------------------------------------

d=[2 0 0 2 0]; de los eslabones a lo largo del eje Z

a=[0 3 2 0 0]; % distancias de los eslabones a lo largo del eje X

%--------------------------------------------------------------------------

% ARTICULACIONES

%--------------------------------------------------------------------------

% R R R P

q=[pi/4 pi/6 -pi/2 -2]; % home position

%--------------------------------------------------------------------------

% PARAMETROS DENAVIT-HARTENBERT

%--------------------------------------------------------------------------

% theta d a alpha

T=[ 0 d(1) 0 0

q(1) 0 a(2) 0

q(2) 0 a(3) 0

0 -d(4) 0 0

q(3) q(4) 0 0];

%--------------------------------------------------------------------------

% CALCULO DE LOS MTH CON RESPECTO AL FRAME MOVIL (relativo a los eslabones)

%--------------------------------------------------------------------------

% theta d a alpha

T01=denavit(T(1,1),T(1,2),T(1,3),T(1,4));

T12=denavit(T(2,1),T(2,2),T(2,3),T(2,4));

T23=denavit(T(3,1),T(3,2),T(3,3),T(3,4));

T34=denavit(T(4,1),T(4,2),T(4,3),T(4,4));

T45=denavit(T(5,1),T(5,2),T(5,3),T(5,4));

%--------------------------------------------------------------------------

% MTH MOVIL RELATIVO AL FRAME FIJO

%--------------------------------------------------------------------------

T00=eye(4);

T01=T00*T01; % extremo "1" referenciado al eje fijo XYZ (coincidente)

T02=T01*T12; % extremo "2" referenciado al eje fijo XYZ

T03=T02*T23; % extremo "3" referenciado al eje fijo XYZ

T04=T03*T34; % extremo "4" referenciado al eje fijo XYZ

T05=T04*T45; % extremo "5" referenciado al eje fijo XYZ

%--------------------------------------------------------------------------

% VECTOR DE TRANSLACION RELATIVO AL FRAME FIJO

%--------------------------------------------------------------------------

P1=T00*T01(:,4);

P2=T01*T12(:,4);

P3=T02*T23(:,4);

P4=T03*T34(:,4);

P5=T04*T45(:,4);

%--------------------------------------------------------------------------

% PLOT'S DEL ROBOT SCARA CON SUS RESPECTIVO FRAME’S

%--------------------------------------------------------------------------

figure

title('ROBOT SCARA')

frame(T00,'k',.5)

hold on

plot3([0 P1(1)],[0 P1(2)],[0 P1(3)],'r','linewidth',3)

Page 9: Cinemática Directa de un Robot SCARA

9

frame(T01,'b',.5)

hold on

plot3([P1(1) P2(1)],[P1(2) P2(2)],[P1(3) P2(3)],'r','linewidth',3)

frame(T02,'b',.5)

hold on

plot3([P2(1) P3(1)],[P2(2) P3(2)],[P2(3) P3(3)],'r','linewidth',3)

frame(T03,'m',.5)

hold on

plot3([P3(1) P4(1)],[P3(2) P4(2)],[P3(3) P4(3)],'r','linewidth',3)

frame(T04,'b',.5)

hold on

plot3([P4(1) P5(1)],[P4(2) P5(2)],[P4(3) P5(3)],'r','linewidth',3)

frame(T05,'g',.5)

axis([-1 5 -1 5 -3 3])

grid

view(121,44)

rotate3d

Los MTH’S relativos al Frame Fijo son:

T00 =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

T01 =

1 0 0 0

0 1 0 0

0 0 1 2

0 0 0 1

T02 =

0.7071 -0.7071 0 2.1213

0.7071 0.7071 0 2.1213

0 0 1.0000 2.0000

0 0 0 1.0000

T03 =

0.2588 -0.9659 0 2.6390

0.9659 0.2588 0 4.0532

0 0 1.0000 2.0000

0 0 0 1.0000

T04 =

0.2588 -0.9659 0 2.6390

0.9659 0.2588 0 4.0532

0 0 1.0000 0

0 0 0 1.0000

T05 =

0.9659 0.2588 0 2.6390

-0.2588 0.9659 0 4.0532

0 0 1.0000 -2.0000

0 0 0 1.0000

Page 10: Cinemática Directa de un Robot SCARA

10

Plot 01 Mecanismo de Eslabones del Robot Scara.

Los Frame de color azul representan las articulaciones de rotación y el

de color verde representa la articulación prismática.

Cinemática Inversa

El objetivo es hallar la Cinemática Inversa del Robot Scara, esto quiere

decir que a partir de la posición y orientación de cada extremo de

nuestro Robot encontremos las articulación q1, q2, q3 y q4.

Esto se realizara a partir de nuestros MTH’S ya que estos posee la

información requerida. Previamente observaremos con más detenimiento la

información que posee nuestros MTH’S.

[

]

Matriz de transformación Homogénea

La matriz “n o a” lleva la información de la orientación de un punto en

el espacio XYZ representado por sus respectivos vectores unitarios de

cada eje, “eje X”, “eje Y” y del “eje Z”.

-1

0

1

2

3

4

5

-10

12

34

5

-3

-2

-1

0

1

2

3

Eje X

Y

Y

X

X

Y

Z

Z

Z

X

Y

X

Z

ROBOT SCARA

Y

Y

Z

Z

Eje Y

X

X

Eje

Z

Page 11: Cinemática Directa de un Robot SCARA

11

Ahora extraeremos los tres primeros elementos de la primera columna

[

]

Ahora extraeremos los tres primeros elementos de la segunda columna

[

]

Ahora extraeremos los tres primeros elementos de la tercera columna

[

]

El MTH en función del vector “n o a” quedaría representado:

[

]

Ahora pasaremos a plotearlo su posición y orientación en el espacio XYZ,

tal y como sigue:

Figura 07 Representación del Vector Unitario “n o a” en el Espacio XYZ.

Este vector unitario “n o a” nos dará la información de la orientación de

cada Frame en el espacio, pero este vector unitario “n o a” tendrá que

ser extraído exclusivamente de los MTH’S relativos al Frame Fijo.

Page 12: Cinemática Directa de un Robot SCARA

12

Ahora de la Figura 03 y 06 podemos representar los MTH’S de cada Frame

relativo a Frame Fijo en función de sus vectores unitarios “n o a”, así

como también de sus posiciones:

[

]

[

]

[

]

[

]

[

]

Como sabemos nuestro Robot Scara está compuesto por un RRRP entonces

tendremos que hallar tres articulaciones de rotación (q1, q2 y q3) y una

articulación prismática (q4).

Obtención de las articulaciones de rotación.

Articulación q1

Figura 08 Superposición de los MTH´S M01 y M02.

De la figura 08 aplicamos ley de cosenos.

Page 13: Cinemática Directa de un Robot SCARA

13

Articulación q2

Figura 09 Superposición de los MTH´S M02 y M03.

De la figura 09 aplicamos ley de cosenos.

Articulación q3

Figura 10 Superposición de los MTH´S M03 y M04.

De la figura 10 aplicamos ley de cosenos.

Page 14: Cinemática Directa de un Robot SCARA

14

Obtención de la articulación prismática.

Articulación q4

Figura 11 Translación del Frame M04 a M05.

De la figura 11 aplicamos una simple resta de vectores.

Con lo descrito anteriormente estamos listos para realizar la cinemática

inversa en MATLAB tal como sigue:

% CINEMATICA INVERSA A PARTIR DE MTH's

%--------------------------------------------------------------------------

% Articulacion q1

%--------------------------------------------------------------------------

sq1 = dot(T02(1:3,1),T01(1:3,2));

cq1 = dot(T02(1:3,2),T01(1:3,2));

q1 = (atan2(sq1,cq1))*180/pi;

%--------------------------------------------------------------------------

% Articulacion q2

%--------------------------------------------------------------------------

sq2 = dot(T03(1:3,1),T02(1:3,2));

cq2 = dot(T03(1:3,2),T02(1:3,2));

q2 = (atan2(sq2,cq2))*180/pi;

%--------------------------------------------------------------------------

% Articulacion q3

%--------------------------------------------------------------------------

sq3 = dot(T05(1:3,1),T04(1:3,2));

cq3 = dot(T05(1:3,1),T04(1:3,1));

q3 = (atan2(sq3,cq3))*180/pi;

%--------------------------------------------------------------------------

% Articulacion q4

%--------------------------------------------------------------------------

q4 = T05(3,4)-T04(3,4);

q = [q1 q2 q3 q4];

Las articulaciones ingresadas en la cinemática directa son:

q = 45.0000 30.0000 -90.0000 -2.0000

Page 15: Cinemática Directa de un Robot SCARA

15

Programación en software LABVIEW

La programación en el entorno grafico de LABVIEW va hacer simplemente una

traducción del código hecho en MATLAB, el cual consistirá de:

CINEMÁTICA DIRECTA

Primeramente para la cinemática directa es necesario crear una función

con el Algoritmo Denavit Hartenberg.

SUBVIEW DENAVIT HARTENBERG

Análogo a MATLAB se creara un SUBVIEW con el Algoritmo Denavit Hartenberg

llamado ”D-H.vi”.

Este subview recibe los PARÁMETROS DENAVIT HARTENBEG en un ARRAY 1D con

cuatro elementos y nos devolverá una matriz cuadrada de 4x4 que

representa la MATRIZ DE TRANSFORMACION HOMOGENEA.

Para la creación de este subview se utilizo las siguientes herramientas,

INDEX ARRAY, BUILD ARRAY, CONVERTS ARRAY TO MATRIX, COSINE, SINE y un

subview que convierta valores de sexagesimales a radianes con el nombre

“seg_rad.vi”.

Figura 12 Subview Denavit Hartenberg.

Page 16: Cinemática Directa de un Robot SCARA

16

Ahora con la subview ya creado se puede empezar a construir la cinemática

directa. Comenzaremos creando un WHILE LOOP con su respectivo STOP, para

ahorrarle recursos a LABVIEW, y un STACKED SEQUENCE STRUCTURE con cuatro

FRAME para tener un orden en la programación.

En el “FRAME 0”:

Aquí ingresaremos los valores de las articulaciones y las dimensiones de

cada eslabón que estructura nuestro robot y todas estas, formaran un

ARRAY 2D de 4x4 llamado “Parámetros Denavit-Hartenberg”. Cada uno de

estos parámetros ingresara al subview “D-H.view” y obtendremos los MTH’S

relativos al Frame Móvil (referenciado a cada eslabón). Para la

programación se utilizo REPLACE ARRAY SUBSET, INDEX ARRAY y D-H.view.

Figura 13 Frame 0 del Stacked Sequence Structure.

En el “FRAME 1”:

Aquí obtendremos los MTH’S referenciados al Frame Fijo. Se utilizo

VARIABLES LOCALES y PRODUCTO DE MATRICES

Figura 14 Frame 1 del Stacked Sequence Structure.

Page 17: Cinemática Directa de un Robot SCARA

17

En el “FRAME 2”:

Aquí obtendremos las coordenadas de los puntos de los extremos del ROBOT

SCARA referenciados al Frame Fijo. Se utilizo VARIABLES LOCALES, GET

MATRIX ELEMENTS y PRODUCTO DE MATRICES.

Figura 15 Frame 2 del Stacked Sequence Structure.

En el “FRAME 3”:

Aquí se recibirá las coordenadas de los puntos de los extremos del ROBOT

SCARA referenciados al Frame Fijo y se ordenaran convenientemente las

coordenadas para plotearlas. Se utilizo BUILD MATRIX en modo APPEND by

columns, TRANSPOSE MATRIX, GET SUBMATRIX, GET MATRIX ELEMENTS, CONVERTS

MATRIX TO ARRAY, RESHAPE ARRAY y NI_3DGRAPH.LVLIB: 3D CURVE.VI.

Figura 16 Frame 3 del Stacked Sequence Structure.

Page 18: Cinemática Directa de un Robot SCARA

18

El ploteo en labview se aprecia seguidamente:

Figura 17 Ploteo del Robot Scara.

CINEMÁTICA INVERSA

Se creara un SUBVIEW de cinemática inversa con el nombre

”Cinematica_Inversa”.

SUBVIEW CINEMATICA INVERSA

Este subview recibe las cinco MATRICES DE TRANSFORMACION HOMOGENEA,

relativa al Frame Fijo, y nos retorna una ARRAY 1D con cuatro elementos,

que representa las ARTICULACIONES “q”.

Para la creación de este subview se utilizo las siguientes herramientas,

ARRAY SUBSET, INDEX ARRAY, MULTIPLICADOR DE MATRICES, ATAN2, BUILD ARRAY

y un subview que convierta valores de radianes a sexagesimales con el

nombre “rad_sex.vi”.

Page 19: Cinemática Directa de un Robot SCARA

19

Figura 18 Subview Cinemática Inversa.

Una vez creado el subview “Cinemática_Inversa” lo incorporamos en el

FRAME 1 tal y como se puede apreciar en la siguiente figura.

Figura 19 Actual Frame 1 del Stacked Sequence Structure.

El trabajo realizado por este subview se puede apreciar con la

comparación de las variables articulares ingresadas y con el ARRAY

“Articulaciones q”.

Page 20: Cinemática Directa de un Robot SCARA

20

Figura 20 Ploteo del Robot Scara con Cinemática Inversa.

Ahora en LABVIEW crearemos un subview para graficar los Frame’s de cada

extremo del Robot Scara.

CREACIÓN DEL SUBVIEW FRAME’S

La creación de frame’s para cada extremo de nuestro Robot se hará

mediante la ubicación de puntos a lo largo de cada eje del vector “n o a”

para su respectivo MTH. Este MTH tiene que ser obligatoriamente con

respecto al Frame Fijo, por condiciones de ploteo mencionados en casos

anteriores.

Entonces respecto al punto de color rojo “M01”, ubicamos un primer punto

de color morado a lo largo del vector “y1” a una distancia “b”, luego

ubicamos un segundo punto en la misma dirección a una distancia “2b” y

finalmente ubicamos un tercer punto en la misma dirección a una distancia

“3b”. Las posiciones de los puntos de color morado con respecto al Frame

Fijo se hallan seguidamente como:

Las posiciones halladas están referenciadas al Frame Fijo asi que con

estos puntos podemos plotear, y como dependen del MTH M01, cuando este

varié también variaran las posiciones p1, p2 y p3, graficándose como si

fuera un frame para la dirección y1.

Page 21: Cinemática Directa de un Robot SCARA

21

Figura 21 Puntos a lo largo del vector unitario eje y1.

Esto mismo podemos generalizarlo para más punto y para cada uno de los

ejes restantes (eje X y eje Z).

SUBVIEW GENERACION DE PUNTOS

Con las indicaciones anteriormente expuestas creamos un subview con el

nombre “generación de puntos”, que ingresándole un MTH (referenciado al

Frame Fijo), el eje que deseamos plotear (eje x, eje y, eje z), la

cantidad de puntos y el paso o la distancia entre punto y punto, nos

retorne una matriz de tantos “nx ny nz” como puntos hallamos ingresado

(Matrix de nx3).

Para la creación de este subview se utilizo las siguientes herramientas:

FOR LOOP, CASE STRUCTURE, INSERT INTO ARRAY, MULTIPLICADOR DE MATRICES,

ARRAY SUBSET y REPLACE ARRAY SUBSET.

Figura 22 Subview Generación de Puntos.

Page 22: Cinemática Directa de un Robot SCARA

22

SUBVIEW FRAME’S

Se crea un subview con el nombre “frame’s” al cual se le ingresa el MTH

(referenciado al Frame Fijo), los ejes que se van a plotear (“eje x, eje

y, eje z”), unos 10 puntos y un paso de 0.1, para retornarnos tres ARRAY

2D con tantos vectores “n o a” (“nx ny nz” “ox oy oz” “ax ay az”) como

puntos se hayan ingresado. Finalmente obtendremos el ploteo de un frame

muy similar al proporcionado por MATLAB (frame).

Para la creación de este subview se utilizo el subview anteriormente

creado “generación de puntos”.

Figura 23 Subview Frame’s.

SUBVIEW FRAME’S TOTALES

Se crea un subview con el nombre “frame’s totales” al cual se le ingresa

los seis MTH’s (referenciado al Frame Fijo), para retornarnos tres ARRAY

1D “nx”, “ny” y “nz”, tres ARRAY 1D “ox”, “oy” y “oz” y otros tres ARRAY

1D “ax”, “ay” y “az”. Finalmente obtendremos el ploteo de todos los

frame’s del Robot Scara.

Para la creación de este subview se utilizo el subview anteriormente

creado “frame’s”, BUILD ARRAY en modo concaténate inputs e INDEX ARRAY.

Page 23: Cinemática Directa de un Robot SCARA

23

Figura 24 Subview Frame’s Totales.

Finalmente incorporaremos este último subview en el FRAME 1 del STACKED

SEQUENCE STRUCTURE.

Figura 25 Actual Frame 1 del Stacked Sequence Structure.

Page 24: Cinemática Directa de un Robot SCARA

24

También en el FRAME 3 del STACKED SEQUENCE STRUCTURE agregamos tres

NI_3DGRAPH.LVLIB: 3D CURVE.VI más para el grafico de cada eje xyz.

Figura 26 Actual Frame 3 del Stacked Sequence Structure.

Y el ploteo de nuestro Robot Scara final se muestra:

Figura 26 Ploteo del Robot Scara con sus respectivos frame’s.