Professional Documents
Culture Documents
ASIGNATURA
DOCENTES
ESTUDIANTE
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.
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)
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.
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.
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
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.
Se deben desplegar dentro del programa mensajes que informen las diferentes etapas de
la operacion del robot, por ejemplo:
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)
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
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.
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