You are on page 1of 20

PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU

FACULTAD DE CIENCIAS E INGENIERIA


E.A.P. INGENIERIA MECATRONICA

MANUFACTURA INTEGRADA POR COMPUTADORA

Laboratorio 08: Robotica

ASIGNATURA

Manufactura Integrada por Computadora (ING301)

DOCENTES

Barriga E./ Giron V./ Tafur J./ Gonzales M

ESTUDIANTE

Jara Alfaro Enrique - 20176648

San Miguel, 08 de noviembre del 2017


Indice General
1. Problema N 1 3
1.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Esquema General del problema . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Diagrama de flujo de acciones . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4. Codigo en ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. Problema N 2 10
2.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2. Codigo en ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3. Problema N 3 15
3.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2. Codigo en ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Indice de figuras
1. Esquema general del problema 1. . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Ubicacion de posiciones del problema. . . . . . . . . . . . . . . . . . . . . . . 4
3. Esquema de los primeros movimientos. . . . . . . . . . . . . . . . . . . . . . 4
4. Esquema de los movimientos para ubicar la barra sobre los dos cubos. . . . . 5
5. Esquema de los movimientos para finalmente ubicar los dos ultimos cubos. . 5
6. Esquema general del problema n 2. . . . . . . . . . . . . . . . . . . . . . . . 10
7. Esquema general del problema n 3. . . . . . . . . . . . . . . . . . . . . . . . 16

2
1. Problema N 1
1.1. Planteamiento del problema
Se tiene 4 cubos de dimensiones conocidas (30 mm) y una barra rectangular del tamano
de 3 cubos unidos. Se debe cambiar el orden de estos, tal como se muestra en la Fig. 1, a
50 mm a la derecha de la forma incial. Ademas, al terminar de mover la barra se debe de
activar uno de los outputs y al terminar todo el proceso se debe de desactivar.

Considere velocidades lentas a la hora de recoger y dejar los cubos, y altas en el traslado
de ellos, velocidades de 20 y 30 respectivamente. ver Fig. 1.

Figura 1: Esquema general del problema 1.

Posiciones conocidas:
Posicion de espera del robot (Definido por el alumno).
Posicion de cubo (A).

Instrucciones sugeridas:
DEFP, FOR, SPEED, MOVED, MOVED, SHIFTC, OPEN, CLOSE, IN, IF, PRINTLN,
SET, DEFINE

Instrucciones obligatorias:
TEACHR (Configure posiciones relativas a las posiciones de recojo)

1.2. Esquema General del problema


A continuacion de muestran las posiciones a utilizar en el problema.

3
Figura 2: Ubicacion de posiciones del problema.

Ubicamos las tres posiciones 1ra, 2ra, 3ra , relativas a posa, de manera que al desplazar
[shiftc] posa el resto de posiciones se mantengan en la misma direccion vertical, para poder
recoger los cubos mas facil y con menos instrucciones. La ubicacion de las posiciones se
muestra en Fig. 2.

Figura 3: Esquema de los primeros movimientos.

Los primeros movimientos tienen como objetivo quitar los cuatro cubos (verde, celeste,
naranja, plomo) sobre la barra para poder ubicarla sobre los dos cubos indicados a la derecha
como plomo y celeste. La Fig. 3 muestra los primeros movimientos a realizar para dejar la
barra libre para moverla.

4
Figura 4: Esquema de los movimientos para ubicar la barra sobre los dos cubos.

Ubicamos la barra sobre los cubos como se haba explicado. La Fig. 4 muestra el resultado
de estos movimientos.

Figura 5: Esquema de los movimientos para finalmente ubicar los dos ultimos cubos.

Finalmente ubicamos los dos ultimos cubos sobre la barra para completar los movimientos
y dejar la distribucion de cubos como se haba solicitado.

1.3. Diagrama de flujo de acciones

5
Ir a pini Desplazar eje y de Desplazar eje y de Desplazar eje y de
Abrir pinza posa en -140 mm posa en -80 mm posa en 90 mm

Ir a 1ra Ir a 1ra Ir a 1ra Ir a 1ra

Ir a posa Ir a 2ra Ir a 3ra Ir a 3ra


Cerar pinza Cerrar pinza Cerrar pinza Cerrar pinza

Ir a 1ra Ir a 1ra Ir a 1ra Ir a 1ra

Desplazar eje y de Desplazar eje y de Desplazar eje y de Desplazar eje y de


posa en 230 mm posa en 80 mm posa en 140 mm posa en -60 mm

Ir a 1ra Ir a 1ra Ir a 1ra Ir a 1ra

Ir a 3ra Ir a 3ra Ir a 2ra Ir a posa


Abrir pinza Abrir pinza Abrir pinza Abrir pinza

Ir a 1ra Ir a 1ra Ir a 1ra Ir a pini

Desplazar eje y de Desplazar eje y de Desplazar eje y de Fin


posa en -170 mm posa en -140 mm posa en -60 mm

Ir a 1ra Ir a 1ra Ir a 1ra

Ir a posa Ir a 2ra Ir a 3ra


Cerar pinza Cerrar pinza Cerrar pinza

Ir a 1ra Ir a 1ra Ir a 1ra

Desplazar eje y de Desplazar eje y de Desplazar eje y de


posa en 140 mm posa en 110 mm posa en 30 mm

Ir a 1ra Ir a 1ra Ir a 1ra

Ir a 3ra Ir a 3ra Ir a posa


Abrir pinza Abrir pinza Abrir pinza

Ir a 1ra Ir a 1ra Ir a 1ra


1.4. Codigo en ACL
defp pini
defp posa
teach pini
300
0
155
0
0
defp 1ra
teachr 1ra posa
0
0
120
0
0
defp 2ra
teachr 2ra posa
0
0
-30
0
0
defp 3ra
teachr 3ra posa
0
0
-60
0
0
speed 30
program pro1
moved pini
open
moved 1ra
speed 20
moved posa
close
speed 30
moved 1ra
shiftc posa by y 230
moved 1ra
speed 20
moved 3ra

7
open
speed 30
moved 1ra
shiftc posa by y -170
moved 1ra
speed 20
moved posa
close
speed 30
moved 1ra
shitfc posa by y 140
moved 1ra
speed 20
moved 3ra
open
speed 30
moved 1ra
shiftc posa by y -140
moved 1ra
speed 20
moved 2ra
close
speed 30
moved 1ra
shiftc posa by y 80
moved 1ra
speed 20
moved 3ra
open
speed 30
moved 1ra
shiftc posa by y -140
moved 1ra
speed 20
moved 2ra
close
speed 30
moved 1ra
shiftc posa by y 110
moved 1ra
speed 20
moved 3ra
open
speed 30

8
moved 1ra
shift posa by y -80
moved 1ra
speed 20
moved 3ra
close
speed 30
moved 1ra
shiftc posa by y 140
moved 1ra
speed 20
moved 2ra
open
set out[1]=1
speed 30
moved 1ra
shiftc posa by y -60
moved 1ra
speed 20
moved 3ra
close
speed 30
moved 1ra
shiftc posa by y 30
moved 1ra
speed 20
moved posa
open
speed 30
moved 1ra
shifc posa by y90
moved 1ra
speed 20
moved 3ra
close
speed 30
moved 1ra
shiftc posa by y-60
moved 1ra
speed 20
moved posa
open
speed 30
moved pini

9
set out[1]=0
end

2. Problema N 2
2.1. Planteamiento del problema
El programa debe permitir dibujar primero dos lineas horizontales de 105 mm de longitud
con una distancia entre ellas de 35 mm y dos lineas verticales donde la primera debe de
ubicarse a 35 mm del inicio de una de las lineas horizontales y otra a 35 mm de la primera
linea vertical.
Despues debe permitir realizar 2 diferentes smbolos Xo , dependiendo de las en-
tradas hechas mediante teclado y procurando que estas encajen dentro de cada recuadro en
blanco. Para las tres posiciones verticales van a ser A,B, C. comenzando desde el espa-
cio de la izquierda y para la tres posiciones horizontales van a ser 1, 2. 3comenzando
desde arriba. Todas estas indicaciones se muestran en la Fig. 6.

Figura 6: Esquema general del problema n 2.

Se deben desplegar dentro del programa mensajes que informen las diferentes etapas de
la operacion del robot, por ejemplo:

Robot en la posicion inicial


Lineas cruzadas terminadas
Ingrese posicion vertical
Ingrese posicion horizontal
Ingrese smbolo
El programa a terminado

10
EL programa finaliza cuando todos los recuadros hayan sido llenados.
Posiciones conocidas:
Posicion de inicial del robot (Definido por el alumno).
Posicion donde se situa el plumon en el papel (A).

Instrucciones sugeridas:
DEFP, FOR, SPEED, MOVElD, SHIFTC, IF, PRINTLN, SET, MOVED, WAIT, OPEN,
CLOSE, IN , TEACHR
Instrucciones obligatorias:
DIMP (Debe generar un arreglo de posiciones con los centros de cada recuadro)

2.2. Codigo en ACL


defp pini
defp posa
defp aux
setp aux = posa
global posh
global posv
global sim
global cont
set cont = 0
teach pini
250
0
150
0
0
defp 1ra
teachr 1ra aux
0
0
25
0
0
defp 2ra
teachr 2ra aux
-17.5
-17.5
0
0
0
defp 3ra
teachr 3ra aux
-17.5

11
-52.5
0
0
0
defp 4ra
teachr 4ra aux
-17.5
-87.5
0
0
0
dimp pos[3]
2ra pos[3]
3ra pos[2]
4ra pos[1]
speed 50

program pro2
moved pini
println Robot en la posicion inicial
speed 20
moved posa
shiftc aux by Y -105
moveld aux
speed 50
moved 1ra
shiftc aux by X -35
moveld 1ra
speed 20
moveld aux
shiftc aux by Y 105
moveld aux
speed 50
moveld 1ra
shiftc aux by Y -35
shiftc aux by x -35
moveld 1ra
speed 20
moveld aux
shiftc aux by X 105
moveld aux
speed 50
moveld 1ra
shiftc aux by Y -35

12
moveld 1ra
speed 20
moveld aux
shiftc aux by X -105
moveld aux
speed 50
moveld 1ra
setp aux = posa
moveld pini
println Lineas cruzadas terminadas
label inicio

println Ingrese posicion vertical


get posv

println Ingrese posicion horizontal


get posh

println Ingrese simbolo


get sim

if posv=A
if sim=x
shiftc aux by X 35
gosub equis
endif
if sim=o
shiftc aux by X 35
gosub cir
endif
endif

if posv=B
if sim=x
setp aux = posa
gosub equis
endif
if sim=o
setp aux = posa
gosub cir
endif
endif

if posv=C
if sim=x

13
shiftc aux by X -35
gosub equis
endif
if sim=o
shiftc aux by X -35
gosub cir
endif
endif
end

program equis
shiftc aux by Y 10
shiftc aux by X 10
speed 20
moved pos[posv]
shitfc aux by Y -20
shitfc aux by X -20
moveld pos[posv]
shitfc aux by Z 5
moveld pos[posv]
shiftc aux by X 10
shitfc aux by Z- 5
moveld pos[posv]
shitfc aux by Y 20
shitfc aux by X 20
moveld pos[posv]
moveld pini

if cont < 8
set cont = cont+1
goto inicio
else
println El programa ha terminado
endif
end

program cir
defp auxc
setp auxc = aux
shiftc aux by Y -10
speed 20
moved pos[posv]
shitfc auxc by Y 10
shitfc auxc by X 10

14
shitfc aux by Y -20
speed 20
movecd pos[posv] auxc
shitfc auxc by X -20
shitfc aux by Y 20
speed 20
movecd pos[posv] auxc
moveld pini

if cont < 8
set cont = cont+1
goto inicio
else
println El programa ha terminado
endif
end

3. Problema N 3
3.1. Planteamiento del problema
El programa consiste en poder realizar el proceso de mover los cubos de una configuracion
a otra y en cualquier momento poder invertir el proceso. Los cubos que se encuentran a la
izquierda, formado por dos columnas, deben trasladarse al lado derecho cuando se active la
entrada I1, y ser colocados, teniendo en cuenta la configuracion que les toque. Si se activa
la entra I2, el proceso debe revertirse y los cubos que se encuentran a la derecha deben
ser retornados a la izquierda ara formar nuevamente las dos columnas. Si todos los cubos se
encuentran a ala izquierda y la entrada I2 se activa, el brazo no debe moverse, lo mismo debe
suceder si todos los cubos se encuentran a la derecha y la entrada I1 se activa. Debe tener en
cuenta que para este problema se pide tener dos programas (no subprogramas), uno para ca-
da caso. Cuando se active una entrada, se debe cambiar de programa en ejecucion usando el
comando TRIGGER. En la Fig. ?? puede ver la configuracion que le corresponde desarrollar.

Posiciones conocidas
Posicion inicial del robot (definida por el alumno).
Posicion de un cubo en el brazo izquierdo (A).
Posicion de un cubo en el lado derecho (B).

Instrucciones sugeridas
DEFP, FOR, SPEED, SHIFTC, IF, PRINTLN, SET, MOVED, WAIT, OPEN, CLOSE,
IN, DIMP, GOSUB, TEACHR, GLOBAL.

Intrucciones Obligatorias
TRIGGER.

15
Figura 7: Esquema general del problema n 3.

3.2. Codigo en ACL


defp pini
defp posa
defp 1ra
defp 2ra
defp 3ra
teachr 1ra posa
0
0
100
0
0
teachr 2ra posa
0
0
-30
0
0
teachr 3ra posa
0
0
-60
0
0
defp posb
defp 1rb
defp 2rb
defp 3rb
teachr 1rb posb
0
0
160

16
0
0
teachr 2rb posb
0
0
30
0
0
teachr 1rb posb
0
0
60
0
0
teach pini
300
0
155
0
0
program pro3
TRIGGER ir IN 1 1
TRIGGER venir IN 2 1
end

program ir
moved pini
open
moved 1ra
moved posa
close
moved 1ra
moved 1rb
moved posb
open
moved 1rb
moved 1ra
moved 2ra
close
moved 1ra
shiftc by posb Y 30
moved 1rb
moved posb
open

17
moved 1rb
moved 1ra
moved 3ra
close
moved 1ra
shiftc by posb Y 30
moved 1rb
moved posb
open
moved 1rb
shiftc posa by Y 50
moved 1ra
moved posa
close
moved 1ra
shiftc posb by Y -45
moved 1rb
moved 2rb
open
moved 1rb
moved 1ra
moved 2ra
close
moved 1ra
shiftc posb by Y 30
moved 1rb
moved 2rb
open
moved 1rb
moved 1ra
moved 3ra
close
moved 1ra
shiftc posb by Y -15
moved 1rb
moved 3rb
moved 1rb
moved pini
end

program venir
moved pini
open
shiftc posb by Y 30

18
moved 1rb
moved 3rb
close
moved 1rb
moved 1ra
moved 3ra
open
moved 1ra
shiftc posb Y -15
moved 1rb
moved 2rb
close
moved 1rb
moved 1ra
moved 2ra
open
move 1ra
shiftc posb by Y 30
moved 1rb
moved 2rb
close
moved 1rb
moved 1ra
moved posa
open
moved 1ra
shiftc posb by Y -45
moved 1rb
moved posb
close
moved 1rb
shiftc posa by Y 50
moved 1ra
moved 3ra
open
moved 1ra
shiftc posb by Y 30
moved 1rb
moved posb
close
moved 1rb
moved 1ra
moved 2ra
open

19
moved 1ra
shiftc posb by Y 30
moved 1rb
moved posb
close
moved 1rb
moved 1ra
moved posa
open
moved 1ra
moved pini
end

20

You might also like