Ejercicios ACL

Anuncio
Boletín de problemas de Scorbot/ACL (enunciados)
ROBÓTICA
5º curso de Ingeniero en Informática, Curso 2006-07
P1: Escriba un programa en ACL que fija una pieza como la de la figura, situada en un plano horizontal
con lados paralelos a los ejes X e Y. Para ello debe situar un tornillo en cada uno de los cuatro orificios y
atornillarlo después. Las operaciones que se realizan para cada tornillo son las siguientes:
• Esperar a que se active la señal de entrada 1, para indicar que hay un tornillo en POSR.
• Recoger el tornillo en la posición POSR.
• Llevarlo hasta la posición de agarre del orificio correspondiente.
• Apretar girando repetidamente la garra 60 grados cada vez en sentido positivo, al mismo tiempo
que baja 0.2 mm en cada giro. Cuando la señal de entrada 2 se activa, el tornillo está
suficientemente apretado y la operación termina. En este momento el tornillo está, lógicamente,
situado por debajo de su posición de agarre original.
La posición de cada orificio se determinará a partir de la posición de agarre del primero, POS1, y de las
medidas disponibles. El programa sólo supondrá inicializadas las posiciones POS1 y POSR. Las
posiciones de aproximación necesarias se situarán 10 cm por encima de las posiciones de agarre.
3 cm
Y
X
POS1
Tornillo apretado
Algunos comandos de ACL:
WAIT <var1> <cond> <var2>
SHIFTC <pos> BY <val> <coord>
FOR <var> = <val1> TO <val2>
ENDFOR
TRIGGER <prog> BY IN/OUT <n>
GOSUB <prog>
SETPV <pos> <axis> <value>
SETPVC <pos> <coord> <val>
LABEL <n>
GOTO <label>
HERE <pos>
IF <var1> <cond> <var2>
ELSE
ENDIF
DELAY <var>
SETP <pos2> = <pos1>
OPEN
CLOSE
DIMP <vect[n]>
DEFP <pos>
HERER <pos>
MOVE <pos>
MOVELD <pos>
P2: Escriba un programa en ACL que controla un robot para tranportar piezas desde una cinta
transportadora de recepción a uno de 4 puestos de mecanizado donde se realiza una determinada
operación sobre ellas, y de los puestos de mecanizado a otra cinta transportadora de salida.
El funcionamiento debe ser el siguiente:
•
•
Mientras no tenga nada que hacer, el robot permanece en una posición de espera, POSW.
Cuando acaba la operación de uno de los puestos de mecanizado, el robot transporta la pieza
desde el puesto correspondiente a la cinta de salida, que siempre está en movimiento, y espera a
que deje de detectarse sobre la cinta.
•
•
Cuando se detecta una pieza por la cinta de recepción, la cinta se para automáticamente; en el
momento en que quede un puesto libre, el robot transportará hasta él la nueva pieza.
La salida de piezas procesadas tiene siempre prioridad sobre la recepción de nuevas piezas.
Posiciones que se suponen definidas:
POSW (espera), POSR (recepción), P1 (puesto número 1) y POSS (salida). El resto de las posiciones de
los puestos se calculará sabiendo que stán a 10 cm de la primera en el sentido de X creciente. Las
posiciones de aproximación se definirán 15 cm por encima de las posiciones de agarre.
Señales de entrada y salida:
•
•
•
•
Las entradas 1 a 4 se activan cuando el puesto correspondiente ha acabado la operación, y se
desactivan al llevarse la pieza procesada.
La entrada 5 se activa mientras haya una pieza en la cinta de recepción.
La entrada 6 se activa mientras haya una pieza en la cinta de salida que aún no se ha alejado.
La entrada 7 es un OR de las entradas 1 a 5.
.
10 cm
P1
POSR
POSS
Y
X
Algunos comandos de ACL:
WAIT <var1> <cond> <var2>
SHIFTC <pos> BY <val> <coord>
FOR <var> = <val1> TO <val2>
ENDFOR
TRIGGER <prog> BY IN/OUT <n>
GOSUB <prog>
SETPV <pos> <axis> <value>
SETPVC <pos> <coord> <val>
LABEL <n>
GOTO <label>
HERE <pos>
IF <var1> <cond> <var2>
ELSE
ENDIF
DELAY <var>
SETP <pos2> = <pos1>
OPEN
CLOSE
DIMP <vect[n]>
DEFP <pos>
HERER <pos>
MOVE <pos>
MOVELD <pos>
P3: Escriba un programa en ACL para controlar el robot de la figura. Se suponen definidas las posiciones
P1, P2, P3 y PM, en coordenadas cartesianas; las posiciones de aproximación se definirán 10 cm por
encima de las posiciones de agarre. Por las cintas transportadoras 1 y 2 llegan 2 tipos de piezas (1 y 2)
que es necesario montar; la pieza 1 puede llegar en dos posiciones diferentes giradas 90º entre sí (ver
figura) que pueden distinguirse mediante las entradas disponibles. El ciclo de funcionamiento es el
siguiente:
• El robot toma una pieza de la posición 2 y la lleva al punto PM.
• Después toma una pieza de la posición P1 y la lleva a la posición PM; para realizar estas
operaciones con la pieza 1 deberá tener en cuenta la orientación de la pieza, realizando los
giros de 90º necesarios para que se agarre por el mismo lugar y se suelte con la misma orientación.
•
•
El montaje consiste en mover la pieza 2 verticalmente hasta llegar a la posición PM desde la
posición de aproximación.
Cuando el montaje ha acabado el robot dejará las piezas en la cinta 3, y después moverá la cinta
hasta 3 segundos después de que quede libre P3.
Señales de entrada y salida:
•
•
•
Las entradas 1, 2 y 3 se activan cuando existe una pieza en las posiciones P1, P2 y P3,
respectivamente. Se supone que la pieza 1 está siempre centrada en P1 cuando la entrada 1 se
activa, aunque no sea muy realista.
La entrada 4 se activa cuando no hace falta girar la pieza 1 (en la figura estaría desactivada).
Las activación de las salidas 1, 2 y 3 pone en movimiento las cintas 1, 2 y 3.
P1
PM
P2
P3
Y
X
Algunos comandos de ACL:
WAIT <var1> <cond> <var2>
SHIFTC <pos> BY <val> <coord>
FOR <var> = <val1> TO <val2>
ENDFOR
TRIGGER <prog> BY IN/OUT <n>
GOSUB <prog>
SETPV <pos> <axis> <value>
SETPVC <pos> <coord> <val>
LABEL <n>
GOTO <label>
HERE <pos>
IF <var1> <cond> <var2>
ELSE
ENDIF
DELAY <var>
SETP <pos2> = <pos1>
OPEN
CLOSE
DIMP <vect[n]>
DEFP <pos>
HERER <pos>
MOVE <pos>
MOVELD <pos>
Descargar