Vous êtes sur la page 1sur 6

PRACTICA

2: ROBOT DIDACTICO
SCORBOT-ER V+
DE UNA TRAYECTORIA INTERPOLADA
GENERACION

1. Introduccion

El robot SCORBOT-ER V plus es estructuralmente identico


al modelo ER III. La principal diferencia entre ambos modelos esta en el tipo de control realizado, que permite un control continuo
de la trayectoria. Para ello, se ha sustituido el microprocesador del controlador, que ahora es un
se permite la ejecucion
simultanea

Motorola 68010. Ademas


de hasta 20 programas distintos.
avanzada de SCORBASE (nivel 5),
Aunque es posible realizar programas en una version

para obtener un maximo


aprovechamiento de todas las posibilidades que ofrece este sistema
es aconsejable usar el lenguaje ACL (Advanced Control Language). Mediante ACL es posible
manejar de forma directa una serie de rutinas escritas en las EPROMs del controlador.
al ACL se denomina ATS (Advanced Terminal Software).
El interfaz de usuario que acompana
Este software implementa un emulador de terminal que permite el acceso a las rutinas del ACL
desde un ordenador PC. Incluye un editor que permite desarrollar programas ACL.

1.1. Acceso al ATS


Para arrancar el interfaz ATS debe ejecutarse el siguiente comando:
> i:\elect\scorbot5\ats\ats /c2
de HOME
Una vez dentro del ATS, para comenzar a operar se debe realizar la operacion

inicial conocida.
(comando home), para que el sistema robotico
situe
el robot en una posicion
pueden comprobarse las funciones E/S del controlador con el comando test.
Ademas,
En este momento el control sobre el robot esta activado, y es posible acceder a cualquiera de
las rutinas del controlador. En caso de producirse algun
error o accidente en movimiento, la tecla
puede desactivarse el
de EMERGENCIA interrumpira el movimiento inmediatamente. Tambien
controlador desde la lnea de comando del ATS mediante el comando coff, y volver a activarse con
del comando,
el comando con. Es posible interrumpir cualquier programa mediante la ejecucion
> a <programa>
Comprobar el funcionamiento de este comando mientras se esta ejecutando test. Sin ar Pulsar la combinacion

gumentos, el comando a abortara todos los programas en ejecucion.


ERASE memoria.
shift+f10 y cargar el fichero de demos demo.dnl, seleccionando la opcion
puede comprobarse el funcionamiento de este comando ejecutando el programa de
Tambien
picp mediante el comando:
demostracion
> run picp

2. Modo Manual
Hasta ahora se visto como mover el robot mediante programas o comandos (modo directo).
El software ATS dispone de un modo manual que permite al usuario realizar directamente movi de teclas
mientos en el brazo articulado. Para entrar en este modo hay que pulsar la combinacion
alt+m. Al entrar en este modo nos encontraremos, a su vez, en modo de ejes, es decir, que podemos mover independientemente cada una de las articulaciones de la siguiente manera:
teclas Movimiento
1-Q
Mueve el eje 1 (base)
2-W
Mueve el eje 2 (hombro)
3-E
Mueve el eje 3 (codo)

4-R
Mueve el eje 4 (inclinacion)
5-T
Mueve el eje 5 (balanceo)
6-Y
Abre/Cierra la pinza (eje 6)
pueden usarse las combinaciones 7-U, 8-I, 9-O, 0-P y -[, para activar los ejes 7-11,
Tambien
si es que estos tienen conectado algun
otro dispositivo.

Existe, tambien, en modo manual un modo cartesiano mediante el que puede moverse el robot
en las direcciones XYZ. Para pasar a este nuevo modo hay que pulsar la tecla x. Ahora tendremos
disponibles los siguientes movimientos:
teclas Movimiento
1-Q
X+, X2-W
Y+, Y3-E
Z+, Z arriba/abajo mientras el extremo de la pinza mantiene su posicion

4-R
inclinacion
El resto de los ejes se manejan como en el modo de ejes. Para volver a este ultimo
modo,

debe pulsarse la tecla j.


Otras posibilidades del modo manual son:

Ajuste de la velocidad en la escala de 1 (mnimo) a 100 (maximo):


comando s.
Activar/Desactivar control: c (activar) y f (desactivar).
Finalmente, para salir al modo directo, basta con volver a pulsar la secuencia alt+m.

de Posiciones y Movimiento
3. Gestion
debe procederse de la siguiente forma:
Para definir y grabar una posicion,
deseada. Salir despues
del modo
1. Entrar en modo manual y llevar al robot a la posicion
manual.

igual que si se tratase de una variable. Esto


2. Hay que definir la posicion,
se hace con el
comando defp:
> defp <posici
on>

actual queda grabada en la variable <posici


3. La posicion
on> mediante el comando:
> here <posici
on>
0
Mediante el comando listp pueden listarse todas las posiciones pregrabadas (la posicion
esta reservada a home). Es conveniente obtener un listado de posiciones antes de grabar nue se encuentran disponibles. El
vas posiciones, con el objeto de conocer que numeros
de posicion

proporciona las coordenadas XYZ de la pocomando listpv es similar al anterior, pero ademas
(en decimas

sicion
de milmetro), as como los angulos
de pitch y roll del robot (en decimas
de
es necesario ejecutar el comando:
grado). Para borrar una posicion
> delp <n
umero de posici
on>
Una vez grabadas las posiciones, es posible realizar movimientos entre ellas. Para ello, se
tienen las siguientes opciones:
move <posici
on> [<duraci
on>]
actual hasta <posici
Mueve el brazo desde la posicion
on>. Opcionalmente, puede incluirse
del movimiento (en centesimas

la duracion
de segundo) en la lnea de comando.
moved <posici
on> [<duraci
on>]

Este comando es identico


al anterior, salvo por el hecho de que se garantiza que no se
hasta que no se ha alcanzado la posicion
final. Solo
puede usarse en
continua
la ejecucion
programas. Evita movimientos inesperados.
movec <pos1> <pos2>
actual hasta <pos1>, pasando
Realiza un movimiento cartesiano circular desde la posicion
existe la variante movecd que asegura la conclusion
del movimiento.
por <pos2>. Tambien
movel <pos> [<duraci
on>]
actual hasta <pos>. Tambien
exisRealiza un movimiento cartesiano lineal desde la posicion
del movimiento.
te la variante moveld que asegura la conclusion
IMPORTANTE: las posiciones implicadas por los comandos movec, movecd, movel y mo de un movimiento posible
veld deben grabarse cuidadosamente para asegurar la obtencion

y no forzado. En caso contrario, pueden encontrarse obstaculos o limitaciones mecanicas


el sistema. Como medida de precaucion,
debera reducirse la velocidad
que pueden danar
de la velocidad es speed.
a 20. El comando para la modificacion
open y close
Comandos para abrir/cerrar la pinza.
son las indicadas anteriormente.
NOTA: Todas las unidades de longitud y duracion

y Ejecucion
de Programas
4. Edicion
El software ATS dispone de un editor de programas. Para crear un programa, hay que ejecutar:
> edit <programa>
3

En cada lnea hay que introducir un comando. Por


tras lo cual se entra en el modo de edicion.
ejemplo:
373:
374:
375:
376:

moved 11
moved 12
moved 13
exit

Los numeros
Con el comando exit se abandona el modo de edicion.
de lnea son asignados por

el propio editor (no son accesibles al usuario).


del programa se realiza mediante el comando run, como ya se ha comentado
La ejecucion
puede ser suspendida, continuada o abortada:
anteriormente. La ejecucion
> suspend <programa>
> continue <programa>
> a <programa>
Para borrar un programa de la memoria del controlador se usa el comando remove seguido
del nombre del programa.
y manipulacion
de variables. Existen dos tipos de variaEl lenguaje ACL permite la definicion
bles:
pueden ser usadas por el programa especfico en el que fueron definidas. Se
Locales: solo
declaran como:
define <var>
Globales: pueden utilizarse en modo directo y por cualquier otro programa. Se declaran
como:
global <var>

Las instrucciones basicas


para el manejo de variables son:
de valores a variables:
Adjudicacion
set <var> = <valor>
Control de flujo:
if (condici
on)
...
else
...
endif
se pueden etiquetar lneas de programa y realizar saltos a ellas:
Tambien

label <n>
goto <n>
Bucles:
for <var>=<valor1> to <valor2>
...
endfor
El controlador del SCORBOT-ER V dispone de 16 salidas y 16 entradas que permiten la comu del sistema con otros dispositivos. Dentro de un programa ACL, las entradas y salidas
nicacion
se consideran como variables. Estas variables son in[1-16] y out[1-16], y toman los valores [0,1].
informacion,
sobre niveles de tension
en las entradas y salidas, consultar el manual del
Para mas
usuario.

5. Movimiento a lo largo de una trayectoria interpolada


. ACL permite implementar cualquier trayectoria que haga uso de las funciones +, -, *, /, SIN,
COS, TAN, ATAN, EXP, LOG, MOD, OR, AND. Para ello, se han de calcular los puntos de la
de dichos puntos
trayectoria en un vector de posiciones, y hacer que el robot se mueva a traves

haciendo uso de la orden moves. La duracion del movimiento entre dos puntos consecutivos
uniformemente
sera constante. Por ello, es conveniente que los puntos de la trayectoria esten
distribuidos para conseguir un movimiento suave.

Vamos a desarrollar como ejemplo el movimiento a lo largo de una trayectoria parabolica


del
tipo
z = y2 /5000 + 1000
250 mm y 250 mm
x = 300 mm
fichero (con extension
dnl) que contenga
Para mayor mayor comodidad editaremos un solo
en lugar de introducirlos con el editor edit.
todos los comandos que se especifican a continuacion,
En primer lugar, hay que definir las variables y posiciones que se van a usar:
global yv i zv
dimpa v[50]

(define variables globales)


(define vector "v" con 50 posiciones)

hay que desarrollar dos programas, uno para calcular la trayectoria y otro para
A continuacion,
realizar el movimiento interpolado. Cada programa debe comenzar con la sentencia program y
concluir con end.
program calc
set yv = -2600
for i=1 to 50
set yv = yv + 100
set zv = yv * yv
set zv = zv / 5000

(calcular coordenadas y,z)

set zv = zv +
here v[i]
setpvc v[i] x
setpvc v[i] y
setpvc v[i] z
setpvc v[i] p
setpvc v[i] r
delay 1
print i
endfor
println "vector
end

program parab
speed 25
moved v[1]
mprofile trapeze
label 1
moves v 1 50
moves v 50 1
goto 1
end

1000
3000
yv
zv
-900
0

(define v[i] como una posici


on absoluta)
(fija la coordenada x a 300 mm)

(fija el a
ngulo de pitch a -90 grados)
(fija el angulo de roll a 0 grados)

v creado"

(fijar velocidad)
(traslada a la posici
on inicial)
(cambia el perfil de velocidad)
(orden de movimiento interpolado)

Tras editar el programa hay que llamar a la utilidad ACL-offline (en el mismo directorio que el
ATS):
> offline /c2

Una vez dentro del offline, pulsando f1 podemos transferir el programa al controlador a la vez que
podemos entrar en el ATS pulsando f4 y
se depuran los posibles errores del programa. Despues
ejecutar los programas. Con shift+f9 volvemos al offline. Ejecutar ambos programas y comprobar
su funcionamiento.

Escribir un programa en el que el robot sostenga un lapiz


que trace un crculo (centro en
el punto (x=40,y=0) cm y radio 5 cm) sobre un papel fijado a la mesa (plano XY , Z=valor fijo).
El movimiento se implementara mediante una trayectoria interpolada entre puntos separados un

angulo
de un grado entre s.

Vous aimerez peut-être aussi