Practica 1 Sr

15
  Área de Ingeniería de Sistemas y Automática Departamento de Lenguajes y Computación Universidad de Almería  SISTEMAS ROBOTIZADOS  PRACTICA 1 PROGRAMACIÓN DEL ROBOT SCORBOT ER V UTILIZANDO EL LENGUAJE ACL  

description

Practica 1 Sr

Transcript of Practica 1 Sr

  • rea de Ingeniera de Sistemas y Automtica

    Departamento de Lenguajes y Computacin

    Universidad de Almera

    SISTEMAS ROBOTIZADOS

    PRACTICA 1 PROGRAMACIN DEL ROBOT SCORBOT ER

    V UTILIZANDO EL LENGUAJE ACL

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 2

    PRACTICA 1. PROGRAMACIN DEL ROBOT SCORBOT ER V UTILIZANDO EL LENGUAJE ACL

    1. INTRODUCCIN

    1.1. Caractersticas del lenguaje ACL.

    ACL, Lenguaje de Control Avanzado, es un lenguaje y entorno de programacin avanzado para robtica. Desarrollado por ESHED ROBOTEC Ltd. (1982), se trata de un entorno multitarea. El ACL est almacenado en memorias EPROM dentro del controlador del robot y se puede acceder a l con cualquier PC estndar o terminal, por medio de una lnea RS232 de comunicaciones.

    ATS, Software para Terminal Avanzado, es el entorno de interface de usuario para el controlador ACL. Es un emulador de terminal que permite el acceso al ACL desde un PC. La siguiente figura resume los componentes del sistema robtico:

    ROBOT

    CONTROLADOR (con Lenguaje ACL) PC (con puerto RS232)

    Las caractersticas del ACL incluyen:

    Ejecucin directa de comandos del robot. Control de entrada y salida de datos. Programacin de usuario del robot. Ejecucin simultnea de programas (total soporte multitarea). Ejecucin sincronizada de programas. Gestin sencilla de archivos.

    ACL y SCORBASE difieren tanto en su filosofa como en su uso. El entorno ACL permite el acceso directo al controlador del robot desde un terminal estndar o desde un PC usando el Software de Terminal Avanzado (ATS), que facilita la tarea de programacin. ACL requiere el uso de un formato y sintaxis especficos que puede recordar a la programacin en BASIC o PASCAL.

    A diferencia de ACL, EL entorno de SCORBASE es un paquete software basado en PC y orientado a mens. SCORBASE proporciona la sintaxis correcta y continuamente pide al usuario que le proporcione los datos adecuados para cada comando. SCORBASE no es tan verstil como el lenguaje ACL, pero es recomendable como herramienta de aprendizaje e inicio, especialmente para los usuarios familiarizados con el SCORBOT-ERV.

    ACL permite la estructuracin de la programacin en complejas tareas y aplicaciones por medio de las variables, los algoritmos matemticos y las funciones. ACL es un entorno multitarea con prioridad, comunicacin entre tareas y control completo del proceso, y proporciona un alto nivel de control de usuario sobre el controlador.

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 3

    1.2. Software de Terminal Avanzado (ATS)

    ATS es un software de terminal avanzado en formato ASCII que permite un fcil acceso al SCORBOT-ER V y al entorno ACL desde un PC. Se comunica con el controlador del robot mediante enlace serie a 9600 baudios.

    Un gestor de archivos integrado permite reservar y restaurar programas, posiciones, variables y parmetros de la RAM de usuario del controlador. ATS tambin incluye la opcin de para reservar y restaurar slo programas, posiciones o variables.

    Las teclas de funcin programadas asignadas a los comandos ACL ms frecuentemente utilizados, as como las teclas de cursor, agilizan la programacin y la ejecucin de varios procesos y comandos controladores. Hay diez teclas de funcin que tambin pueden ser definidas por el usuario.

    Un spooler dedicado permite imprimir listados de programas y posiciones en cualquier impresora estndar.

    Para ejecutar ATS: En C:\ATS D:\ROBOT Teclear: Term_acl /c2

    Si se observan las dos lneas inferiores de la pantalla de ATS puede comprobarse que existe un conjunto de comandos que puede introducirse de forma abreviada con la simple pulsacin de una tecla. Para ver un listado de estos mtodos abreviados pulsar .

    Todos los comandos (ver apndice) se organizan en tres juegos de teclas, para conmutar de un juego a otro pulsar (numero de juego=1, 2 3):

    F1 F2 F3 F4 F5 F6 F7 F8 F9 F10

    juego 1 control enabled

    control disabled

    home run move movel teach here dir edit

    juego 2 set print run moved moveld movecd label goto del exit juego 3 list remove listp delp listpv cut listre delvar sh

    par le par

    Otras combinaciones de teclas interesantes son: : Para activar o cancelar el control manual del robot. : Detiene el envo de datos del controlador hasta la pantalla. : Reinicia el programa ATS y presenta una pantalla principal ATS limpia. Este

    comando se utiliza para abortar un programa que se ha colgado. : Activa el men de impresin. Desde este men se puede imprimir una copia de posiciones

    y programas de usuario almacenados en la RAM de usuario del controlador. : Activa el men del Gestor de Archivos. Desde esta pantalla se puede cargar o grabar un

    programa o un conjunto de posiciones a disco.

    Opcin del Gestor de Archivos

    Subopciones Descripcin

    ALL Guardar todos los elementos de datos. PROGRAMS Guardar todos los datos excepto la tabla de parmetros. POSITIONS Guardar todos los datos de la tabla de posiciones.

    BACKUP (F3)

    PARAMETERS Guardar todos los datos de la tabla de parmetros. ADD TO Aade los datos restaurados a los datos existentes en la RAM de usuario

    del controlador. No hace falta aadir extensin (.CBU) RESTORE (F5)

    ERASE Borra los datos existentes en la RAM de usuario del controlador e inserta los datos nuevos.

    DELETE (F7) Borra el archivo especificado.

    CATALOG (F9) Presenta la lista de archivos almacenados en el directorio actual.

    EXIT (ESC) Vuelve a la pantalla principal de ATS.

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 4

    1.3. El programa de utilidad SEND

    Esta utilidad se usa para enviar comandos ACL al controlador desde la lnea de comandos del DOS. Es til cuando no se quiere activar ATS. Las respuestas del controlador son automticamente mostradas en el monitor.

    El formato de este comando es el siguiente:

    SEND mensaje [/C com] [/n] [/R] [/Ttiempo] [/Fnombre_archivo]

    Opcin Descripcin mensaje Es el comando ACL que se quiere transmitir al controlador. /C Puerto de comunicaciones utilizado. Por defecto el 1. /R Las respuestas del controlador sern mostradas en el monitor hasta que se pulse una tecla. /T Pausa mxima entre respuestas del controlador. Valor en dcimas de segundo. Si la pausa

    excede del valor definido, se asume que el controlador ha completado su respuesta. Valor por defecto 1 segundo (/T10).

    /F La respuesta del controlador se enva a un archivo. /F PRN La respuesta del controlador se enva a la impresora. /? Muestra la ayuda en pantalla.

    Ejemplo Descripcin SEND OUT[1] Activa la salida 1. SEND OPEN Abre la pinza. SEND RUN PAINT Activa el programa PAINT. SEND LISTVAR Muestra la lista de variables. SEND LISTP /F POSITS Crea un archivo POSITS que contiene la lista de todas las posiciones guardadas

    en la memoria del controlador.

    1.4. El lenguaje ACL off-line.

    Se trata de un programa que nos permite escribir los programas ACL utilizando cualquier editor de texto, sin necesidad de tener instalado el ATS.

    Para ejecutarlo escribiremos: OFFLINE /c2 (si el controlador est instalado en el COM2) Aparecer el siguiente men:

    DOWNLOAD (f1) Nombre archivo:______ ENTER EDITOR (f2)

    ENTER TERMINAL (f4)

    CONTROL DISABLE

    EXIT TO DOS (Shift + f9) DEFINE EDITOR (Shift + f10)

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 5

    ACL off-line utiliza por defecto el editor de texto EDIT.COM incluido en el DOS. Sin embargo, es posible elegir cualquier otro. Para definir un nuevo editor de texto pulsar . Aparecer una ventana indicando el nombre del editor actual.

    Cuando el men de ACL off-line se activa por primera vez, el cursor aparece en la lnea de opcin de Nombre de archivo. Escriba el nombre de un archivo existente o escriba el nombre de un archivo nuevo que desee crear (extensin .dnl). Para activar el editor de texto pulse F2.

    Existen comandos directos y de editor. Los comandos directos de ACL se pueden incluir en el archivo de ACL off-line para introducir los datos de posiciones y variables. Es recomendable que estos datos vayan al principio del archivo de texto (antes de la palabra PROGRAM). Estos comandos no pueden usarse dentro de un programa; esto es, no pueden aparecer entre el nombre del programa y el comando END que informa de la finalizacin del mismo (salvo que vayan precedidos de @).

    A continuacin se muestran algunos de los comandos ms usuales organizados segn su funcionalidad (el nmero de parmetros tras el comando es variable segn su funcin ver apndice):

    DEFINICIN DE POSICIONES Comando Descripcin DEFP pos Define una posicin. DIMP pos[n] Define un vector de posiciones y su dimensin.

    GRABACIN DE POSICIONES Comando Descripcin SETPV pos Ensear una posicin en valores de encoder (ejes 1,2,3,4,5). TEACH pos Ensear una posicin en valores cartesianos (XYZ, P y R) HERER pos Para ensear una posicin relativa a la posicin actual en valores de encoder. TEACHR pos Para ensear una posicin relativa a la posicin actual en valores cartesianos.

    Una lnea de programa conteniendo un comando TEACH, TEACHR, SETPV o HERER debe estar seguida por un nmero de lneas equivalente al nmero de ejes del robot. As, un comando TEACH deber estar seguido por cinco lneas (X,Y,Z,Pitch y Roll). Por ejemplo:

    DEFP PA TEACH PA 200 0 40 -90 0

    Dado que son comandos directos, se recomienda que vayan fuera del programa (al comienzo del archivo).

    DEFINICIN DE VARIABLES Comando Descripcin GLOBAL var Define una variable global. DIMG var[n] Define un vector de variables globales. SET var = n Establecer una variable a un valor determinado. SET var = x Asigna a una variable el cdigo ASCII del carcter x.

    Las constantes en ACL pueden utilizarse en programas que incluyen un comando GET para obtener un carcter de la entrada estndar. Por ejemplo,

    ...

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 6

    GET TECLA IF TECLA = X GOTO 9 ;Se acaba el programa ENDIF

    IF TECLA = B GOSUB B ;Se pasa el control a la rutina B ENDIF

    IF TECLA = C GOSUB C ;Se pasa el control a la rutina C ENDIF

    LABEL 9

    END ;Obligatorio al final del programa

    Comentarios

    ACL off-line permite introducir comentarios en cualquier lugar del archivo de texto. El inicio del comentario debe marcarse con punto y coma (;). Estos comentarios no deben confundirse con los comentarios en ACL que van precedidos por un asterisco (*). Al contrario que estos ltimos, los comentarios con ; no son descargados al controlador y no aparecern en este.

    Definicin de programas

    Para definir y marcar el comienzo de un programa: PROGRAM nombre Para denotar el final del programa: END

    Pueden definirse variables locales. Estas aparecern dentro del programa en el que se vayan a utilizar utilizando los siguientes comandos:

    DEFINE var Define una variable local DIM var[n] Define un vector de variables locales

    En cuanto a la extensin del archivo que contiene al programa, por consistencia es recomendable utilizar la extensin .DNL

    Descarga del programa

    Una vez est introducido el nombre del archivo que desee descargar al controlador pulse F1. Al realizar la descarga se abortan todos los programas que se estn ejecutando en ese momento en el controlador.

    Durante la descarga del archivo, en la pantalla se van mostrando todas las lneas del archivo segn se van enviando al controlador. Si se pulsa la tecla espaciadora, el proceso de descarga se detiene. Esto permite leer las lneas y mensajes mostrados en pantalla. Pulsando cualquier tecla el proceso de descarga se reanuda.

    Pulse si desea abortar la descarga del archivo. Cuando la descarga se ha completado, aparece en pantalla el men principal de ACL off-line.

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 7

    Mensajes de descarga

    Veamos una lista de los mensajes que pueden aparecer durante la descarga.

    Si el nombre del programa ya existe en el controlador, pregunta si se desea que se sobrescriba o no:

    PROGRAM nombre ALREADY EXISTS, OVERWRITE IT (Y/N)?

    Si se encuentra con un nombre de posicin o variable que ya ha sido definida, o si el nmero de un eje, seguido por el comando DEFPC, es incorrecto, aparecer el siguiente mensaje:

    ***ERROR*** Name already in use or bad axis

    Si despus de un TEACH o TEACHR se han escrito menos lneas de las correspondientes, a las lneas perdidas se les asigna el valor 0 y aparece el siguiente mensaje:

    Si se escriben demasiadas lneas en el caso de los comandos anteriores, se ignoran las lneas extras y se muestra el mensaje:

    Si no se encuentra el comando END al final de un archivo, aparecer el siguiente mensaje:

    Si se encuentran comandos ACL incorrectos, tales como lneas con variables que no han sido definidas, el descargador para la descarga y el mensaje de error ACL es mostrado, seguido por el mensaje:

    FATAL ERROR DETECTED, DOWNLOAD STOPPED

    Si se encuentra algn bucle o algn IF sin cerrar o algn GOTO cuya correspondiente LABEL no existe, se muestra:

    PROGR is not valid Invalid program.

    Cuando un programa ha sido correctamente descargado el mensaje es:

    PROGR is valid

    Es importante comprobar que esta ltima lnea aparece tras la descarga, pues en caso contrario cuando se pase a ATS no se encontrar el programa en el listado de programas contenidos en la memoria del controlador.

    Una vez descargado el archivo al controlador es recomendable comprobar el contenido del controlador. Pulse F4 para activar el software ATS. Una vez activado ATS puede listar, editar y ejecutar los programas descargados utilizando los comandos ACL usuales. La secuencia lgica de comandos (teclas de funcin) ser:

    F1: activacin del controlador del robot (dado que cuando se ejecuta acl offline lo deshabilita). F4: run. Se introduce nombre del programa (sin extensin). De inmediato se ejecutar el programa de usuario. Alternativamente, antes de lo anterior se puede ver el programa en el entorno ATS: F10: activacin del men de gestin de archivos, para editar o guardar un programa que se ha escrito directamente en ATS o que se ha cargado desde OFFLINE. La extensin con la que se suelen guardar los programas desde ATS es .CBU.

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 8

    Archivos adicionales

    CONFIG.DLD

    Es un archivo opcional que el usuario puede crear utilizando cualquier editor de textos. Contendr dos lneas: La primera lnea especifica el programa editor de textos por defecto: C:\dos\edit La segunda lnea especifica el emulador de terminal por defecto: C:\ats\term_acl /c2

    Cuando se carga ACLoff-line, este busca el archivo CONFIG.DLD en su directorio. Si este archivo existe, ACLoff-line utilizar el editor de textos y el emulador de terminal especificados.

    REPORT.DLD

    Cada vez que un archivo de ACLoff-line se descarga al controlador, se crea automticamente un archivo llamado REPORT.DLD. Este archivo contiene todas las lneas que son enviadas al controlador, todos los mensajes de respuesta y mensajes adicionales de informacin ACLoff-line. Con este archivo se pueden analizar los posibles fallos cometidos.

    2. Tipos y formatos de comandos en ACL.

    En este apartado se describen los distintos modos de operacin y programacin del ACL, as como los tipos y formatos de los comandos y datos usados en el lenguaje de programacin ACL. Una vez el ATS ha sido cargado, podemos comunicarnos con el controlador desde el teclado del PC. Podremos crear o editar programas o controlar directamente el robot, dependiendo del modo activo de operacin.

    Como se ha indicado, ACL tiene dos tipos de comandos:

    DIRECTOS: los comandos son ejecutados tan pronto como son introducidos. EDICIN: los comandos son ejecutados durante la ejecucin de las rutinas en los que estn escritos.

    Algunos de los comandos de ACL pueden ejecutarse tanto en modo directo como en modo de edicin. Los comandos de modo DIRECTO pueden ser incluidos en los programas para su ejecucin en modo EDITOR, anteponiendo el carcter @. Este comando le indica al controlador que se trata de un comando directo que tiene que ser ejecutado en la ejecucin del programa. Los comandos de modo EDITOR puede ser ejecutados en modo DIRECTO anteponiendo al comando la orden DO.

    El modo EDITOR se utiliza para crear y editar programas ACL. Cuando este modo est activo, en la pantalla se muestra la lnea del programa actual y el cursor, indicando que el comando puede insertarse (P.ej: 143:?_). En ATS este modo se activa tecleando el comando EDIT y el nombre del programa a editar. Por ejemplo:

    >edit prog1

    El sistema responder:

    PROG1 NEW PROGRAM DO YOU WANT TO CREATE THAT NEW PROGRAM (Y/N)>

    Tecleando Y, el sistema responder:

    PROGRAM PROG1 36:?_

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 9

    Los nombres utilizados para los programas deben ser combinaciones de hasta cinco caracteres alfanumricos. ATS nos proporciona las siguientes funciones de edicin:

    Funcin Descripcin S Va a la primera lnea de programa. P Va a la lnea precedente. L n1 n2 Muestra las lneas de programa seleccionadas. DEL Borra la lnea de programa actual. EXIT Abandona el modo EDITOR y comprueba la validez del programa. Z Va a la prxima lnea de programa.

    ACL permite operar y programar en dos modos diferentes de sistemas de coordenadas:

    EJES (joints): pasos de encoder (cada eje se mueve independientemente de los dems). XYZ: coordenadas cartesianas.

    En cuanto a los tipos de datos, el ACL utiliza cuatro tipos de datos: Variables Cadenas de caracteres Posiciones Parmetros

    Variables (-2147483647..+2147483647)

    Utiliza dos tipos de variables:

    Variables de usuario: GLOBALES: se pueden usar en todos los programas (comandos GLOBAL y DIMG). LOCALES: slo pueden usarse en el programa en el cual fueron definidas (comandos DEFINE y DIM).

    Variables del sistema: Las variables del sistema contienen los datos del estado de las entradas, salidas, encoders y otros elementos del sistema (IN[ ], OUT[ ],....) Ejemplos:

    DEFINE X Define una variable local llamada X GLOBAL VAR99 Define una variable global llamada VAR99 DIM A[20] Define un vector de variables locales, de 20 elementos. SET X = 10 Asigna a la variable X el valor 10. SET OUT[3] = X Asigna el valor de la variable X a la salida n 3 SET Y = IN[1] Asigna a la variable Y el valor de la entrada n 1.

    Posiciones

    Las posiciones estn almacenadas en un rea de memoria reservada para estos datos. Los datos de posiciones incluyen un valor entero para cada eje en el rango 32768..+32767 para definir las coordenadas y una palabra en el rango 32768..+32767 para indicar el tipo y nombre de la posicin.

    Tipos de posiciones:

    Absoluta Ejes (joint): los datos de la posicin son las coordenadas en valores de pasos de encoder. Absoluta XYZ: los valores de la posicin estn dados en valores de coordenadas cartesianas.

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 10

    Relativa a otra posicin por Ejes: los datos de la posicin son la diferencia entre los valores de los encoders de una posicin y los valores de encoder de la otra posicin. ACL permite anidar hasta 32 posiciones relativas.

    Relativa a otra posicin por XYZ: los datos de la posicin son la diferencia entre los valores de coordenadas de ambas posiciones. ACL permite anidar hasta 32 posiciones relativas.

    Relativa a la posicin actual por Ejes: los datos de la posicin son calculados aadiendo los valores de los encoders de la posicin a los valores de encoders de la posicin actual.

    Relativa a la posicin actual por XYZ: los datos de la posicin son calculados aadiendo los valores de las coordenadas cartesianas de la posicin a los valores de la posicin actual.

    Definicin de posiciones

    Definir una posicin es reservar un espacio en la memoria del controlador y dar un nombre de localizacin. Son posibles dos tipos de nombres: Nombres numricos de hasta cinco dgitos (como 3,22,101). A estas posiciones se puede acceder

    directamente desde la botonera de enseanza. Nombres alfanumricos (como P,POS10, A2). El nombre debe ser una combinacin de hasta cinco

    caracteres y debe comenzar con una letra. A estas posiciones que no son vectores de posicin no se puede acceder desde la botonera de enseanza.

    Los vectores de posicin deben tener nombres alfanumricos y deben comenzar con una letra. Desde la botonera de enseanza se puede acceder a las posiciones del vector cuando este est ligado a la botonera por medio del comando ATTACH. Se llama a cada posicin por medio de su nmero ndice. Ejemplos:

    DEFP PA Define una posicin llamada PA. DIM PP AA[10] Define un vector de 10 posiciones llamado AA.

    Grabacin de posiciones

    Grabar una posicin es escribir sus valores en la posicin reservada de la memoria. Ejemplos:

    HERE PA Graba la posicin actual del valor de los encoders en la posicin de memoria con nombre PA

    TEACHR P1 Graba la posicin P1 en coordenadas cartesianas.

    Listado de posiciones

    El comando LISTP muestra una lista de todas las posiciones definidas. El comando LISPV muestra los valores de los encoders y de las coordenadas cartesianas de la posicin especificada.

    Parmetros

    Los parmetros son localizaciones reservadas de memoria que se usan para guardar valores de constantes fsicas necesarias para adaptar el controlador a cada sistema robotizado en particular.

    Como anexo a este documento se entrega un listado de todos los comandos ACL.

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 11

    3. Ejemplo

    Cambiar de posicin un cubo situado en (4000, 0, 90) y situarlo en la posicin (4000, 1000, 90), utilizando posicionamiento relativo a la posicin (4000, 500, 2000), y siguiendo la trayectoria siguiente:

    POSICIN X Y Z PITCH ROLL 1R2 0 0 -910 0 0 2R5 0 -500 -1000 0 0 3R1 0 +1000 +910 0 0 4R3 0 0 -910 0 0

    5 4000 500 2000 -630 0

    E jem p lo 1

    Ir posic in 5C erra r p inza

    Ir posic in 2A brir p inza

    Ir lineal p os ic in 1C erra r p in za

    Ir posic in 4

    Ir posic in 5C erra r p inza

    Ir lineal p os ic in 3A brir p inza

    Ir lineal p os ic in 4C erra r p in za

    F in

    * Definicin de posiciones DEFP P5 TEACH P5 4000 500 2000 -630 0 DEFP P2R5 TEACHR P2R5 P5 0 -500 -1000 0 0 DEFP P1R2 TEACHR P1R2 P2R5 0 0 -910 0 0 DEFP P3R1 TEACHR P3R1 P1R2 0 1000 910 0 0 DEFP P4R3 TEACHR P4R3 P3R1 0 0 -910 0 0 PROGRAM EJEM1 SPEED 50 MOVELD P5 OPEN MOVELD P2R5 SPEED 5 MOVELD P1R2 CLOSE SPEED 50 MOVELD P3R1 SPEED 5 MOVELD P4R3 OPEN MOVELD P3R1 CLOSE SPEED 50 MOVELD P5 END

    Probar el programa cambiando la posicin inicial de la pinza a (2000,600,2000).

    5

    2R5

    1R2

    3R1

    4R3

    (4000,0,1000)

    (4000,0,90) (4000,1000,90)

    (4000,1000,1000)

    (4000,500,2000)

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 12

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 13

    PRACTICA 1. PROGRAMACIN DEL ROBOT SCORBOT ER V UTILIZANDO EL LENGUAJE ACL

    Ejercicios a entregar

    Realice los ejercicios propuestos y conteste en esta ficha los pasos que ha realizado para resolver cada uno.

    Apellidos

    Nombre

    Titulacin

    1. Programar en ACL el ejercicio 6 propuesto en la prctica 0, es decir disear un programa para apilar las tres piezas de la siguiente figura.

    2. Al aproximarse la pinza del robot a las piezas que quiere coger o a otros objetos del entorno, existe el riesgo de que se produzca una colisin, debido a las pequeas imprecisiones en los codificadores y las articulaciones, o que la pinza choque con algn objeto intermedio. Por ello es conveniente bajar la velocidad cuando estamos cerca de algn objeto, y aproximarnos con movimiento lineal. Este ejercicio consistir en realizar dos subprogramas que realicen las funciones de acercamiento (ACERC) y alejamiento (ALEJA) comentadas, de forma que:

    Las posiciones de aproximacin y de alejamiento estarn unos 10 cm por encima de la posicin objetivo. El robot se desplazar con un movimiento lineal y a una velocidad del 10% de la velocidad programada

    (para la zona libre) cuando va desde la posicin de aproximacin hasta la posicin objetivo o viceversa.

    Para comprobar el funcionamiento de las dos funciones, el alumno definir dos posiciones: una de agarre de una pieza previamente situada y otra donde la pieza se depositar y realizar un programa que utilice las dos funciones anteriores para transportar una pieza de una posicin a otra (pick and place) con un acercamiento y alejamiento lento.

    Las funciones se introducen en el archivo como programas (PROGRAM ... END) generalmente encima del programa principal. La llamada desde el programa principal se realiza mediante el comando GOSUB.

    Principales comandos a utilizar en este ejercicio (opcional): DEFP, TEACH, SETP, SHIFTC, MOVELD, HERE, SPEED, OPEN, CLOSE, GOSUB, ...

    7,4 cms.

    2,4 cms.

    2,4 cms.

    4,9 cms.

    2,4 cms.

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 14

    3. Utilizando las funciones desarrolladas en el ejercicio anterior, realice un programa que haga lo siguiente:

    El usuario definir o introducir por teclado las coordenadas de un conjunto de piezas, as como las coordenadas para la base de una construccin (la que el alumno desee, con un mnimo de cuatro piezas) realizada en base a estas piezas.

    El robot ir cogiendo estas piezas e ir realizando la construccin elegida en la posicin indicada anteriormente, usando las funciones desarrolladas en el ejercicio 1.

    Si en algn momento se activa el interruptor de emergencia (conectado a la entrada n 6) el robot terminar de colocar la pieza que tenga agarrada (en su caso) y se ir a una posicin de descanso previamente definida hasta que se desactive la seal.

    Si se desactiva el interruptor, el robot seguir la construccin por donde la dej.

    Estudie el programa realizado con detenimiento e indique las posibles limitaciones que pueda tener.

    Principales comandos a utilizar en este ejercicio, adems de los indicados en el ejercicio 1 (opcional): FOR, IF, WAIT, ...

    4. Realice las siguientes operaciones:

    Defina dos posiciones (POS1 y POS2) separadas unos 10 cm aproximadamente. Escriba dos programas que se ejecutarn de forma simultnea. El primero de ellos vigilar la entrada del

    interruptor externo, calcular el tiempo (T) que transcurre desde que se conecta el interruptor hasta que se desconecta, y transmitir el tiempo T al segundo programa.

    El segundo programa esperar hasta que reciba el tiempo T desde el programa 1, imprimir T por pantalla. Luego comprobar que T es mayor que un valor (por ejemplo 3 segundos) y ordenar que el robot se mueva desde POS1 hasta POS2 en un tiempo T, y luego vuelva a POS1 tambin en un tiempo T.

    El fin de este ejercicio es, una vez familiarizados con el entorno de trabajo, ejecutar varios procesos de forma simultnea y sincronizada, dentro de un nico controlador, para conseguir que el robot vaya de una posicin a otra en un tiempo variable. Para la cumplimentacin de esta prctica, es necesario utilizar, adems de los comandos sugeridos en los ejercicios anteriores, los siguientes:

    RUN: ejecucin de una rutina con la que hay que sincronizar y comunicar. PEND FROM : Permite suspender la ejecucin de un programa hasta que otro programa pone un valor distinto de 0 en . Es un comando de editor que funciona conjuntamente con POST para sincronizar programas. POST TO : Permite asignar el valor de a la variable especificada.

    Adems se podrn utilizar otros como: TIME, PRINT, PRINTLN, GLOBAL, DEFINE, SET, ... Nota: Los tiempos los trata el controlador en centsimas de segundo.

  • ___________________________________ Practica 1.Programacin del Scorbot ER V utilizando ACL

    Sistemas Robotizados Pag. 15

    El variador de velocidad es un dispositivo que permite controlar la velocidad de un motor de corriente alterna. En nuestro caso utilizaremos un variador de Siemens para controlar la velocidad de la cinta transportadora, atendiendo a la siguiente tabla:

    Entrada 1 Entrada 2 Entrada 3 Velocidad 0 0 0 0 0 0 1 20 0 1 0 10 0 1 1 30 1 0 0 5 1 0 1 25 1 1 0 15 1 1 1 35

    Las salidas del controlador que gobiernan la cinta transportadora son: #1, #2 y #3.