Está en la página 1de 7

PRACTICA 1: ROBOT DIDACTICO SCORBOT-ER 4u 1.

Esquema de SCORBOT-ER 4u

El esquema del sistema robotico SCORBOTER 4u del que se dispone en el laboratorio tiene el siguiente diagrama de bloques mostrado en la gura 1.

Figura 1: Diagrama de bloques de SCORBOTER 4u

2.

Brazo articulado

El brazo articulado tiene una pinza como elemento terminal para la manipulacion de objetos. Es un robot vertical con 5 articulaciones de revolucion (5 grados de libertad). Esto le permite posicionarse en un amplio espacio de trabajo con una orientacion cuasi-arbitraria. La gura 2 identica las articulaciones y enlaces del robot. El brazo articulado incluye encoders opticos de realimentacion.Al ser opticos producen una salida directamente digital, es decir, no es necesario el uso de conversores A/D para que el controlador pueda manejar la senal de realimentacion. Tambien incluye microinterruptores que 1

Figura 2: Articulaciones y Enlaces del brazo articulado detectan cuando una articulacion ha llegado al nal de carrera. Gracias a ello, el robot es capaz de establecer su sistema de referencia.

3.

El controlador

El controlador es un microcomputador de proposito especco, especialmente disenado para las tareas de control de brazo articulado. Las funciones del controlador son: 1. Recepcion de ordenes del computador principal a traves del canal USB. Comprobacion del canal. 2. Transmision de respuestas al computador principal a traves de dicho canal. 3. Actuacion sobre los motores mediante la conmutacion de transistores de potencia a 12 Volt (segun la direccion del movimiento) (ver gura 4). 4. Seguimiento (control) del movimiento de cada motor, contando los impulsos que llegan de los encoders, llevando cada uno hasta una posicion nal (aqu se aplica un algoritmo de control). 5. Controla 8 lneas de entrada (mas otras 2 en forma de interruptores manuales con nes didacticos) mediante los cuales recibe senales de su entorno. A peticion del computador principal (PC) puede comprobar el estado de alguna(s) de estas lneas, para que el progra ma que corre en el PC actue en consecuencia. 6. Controla 8 lneas de salida para la activacion de equipos externos. 7. El controlador dispone de una rutina que puede llevar al brazo articulado hasta una posicion predenida (conocida como HOME) que marca el sistema de referencia en que se va a mover el Robot. La forma de alcanzar la posicion de HOME es mover cada articulacion hasta que llega al nal de carrera, donde se conmuta un microinterruptor. Al detectar esta 2

Figura 3: Actuacion sobre los motores. conmutacion, el controlador ya sabe donde se encuentra la articulacion y puede llevarla (contando un cierto numero de impulsos) hasta la posicion de HOME. 8. El controlador puede parar todos los motores guardando informacion del estado de cada uno para luego poder continuar el movimiento. 9. El controlador puede obtener informacion del progreso en el movimiento de un motor a peticion del PC, y responder de acuerdo con ella. En el frontal del controlador pueden encontrarse los siguientes elementos (identifquelos en el robot): 1. Indicador de encendido/apagado. Indica si el controlador esta encendido. Si se torna verde ademas hay conexion con el PC. 2. Indicador de motores encendidos. Indica si los motores estan encendidos (orden con) o apagados (orden coff). 3. LEDs y conectores de entrada/salida. Permiten la comunicacion entre robots. 4. Conectores de ejes perifericos. Permiten conectar accesorios al robot (por ejemplo, la cinta transportadora). 5. Boton de Emergencia. En situaciones de riesgo para el robot o sus operarios debe ser inmediatamente pulsado.

4.

El computador principal

Proporciona un interface adecuado con el usuario o con los programas de usuario. Desde el PC se pueden usar las distintas rutinas del controlador para actuar sobre el brazo mecanico. SCORBOT 4 provee un lenguaje de alto nivel para programacion del robot denominado scorbase.

5.
5.1.

Lenguaje de programacion: SCORBASE (nivel 3)


Introduccion

SCORBASE (nivel 1,2 y 3 o Pro) es un lenguaje de programacion de robots de alto nivel, interactivo y con control de trayectoria punto a punto. Esta pensado para trabajar en dos etapas: 1. Ensenar al robot un conjunto de distintas posiciones con las que operara posteriormente. Se trata de denir de antemano una serie de puntos en el espacio (x,y,z). 2. Programar el robot: se escribe un programa utilizando los comandos que provee el lenguaje SCORBASE.

Figura 4: Scorbase en ejecucion.

5.2.

Ensenar posiciones

Las posicion se ensenan empleando dos ventanas. La primera (Movimiento Manual) nos per mite mover el robot hasta la posicion deseada. Esto puede hacerse en el dominio de las articulaciones (poco recomendado) o en el dominio cartesiano (XYZ). Junto a esta ventana se encuentra una segunda (Ense~ar Posiciones) que nos permite almacenar la posicion, ya sea de forma abn soluta o relativa. Para ello se debe asignar una etiqueta a la posicion. Se recomienda al alumno que explore los elementos de esta ventana (puede recibir tips dejando el puntero del raton sobre ellos).

5.3.

Lenguaje SCORBASE

La programacion se realiza en la ventana Programa. En esta ventana no se puede escribir directamente sino que las ordenes se seleccionan de la ventana contigua (Zona de Trabajo). 4

El numero de ordenes que se muestran en esta ventana dependera del nivel al que estemos trabajando. As, para el nivel 1 (boton L1 bajo el menu), se muestran las ordenes mas basicas, mientras que para el nivel 3 (boton Pro) se muestran todas las ordenes disponibles. Para insertar una orden se pincha dos veces en la Zona de Trabajo. Si la orden tiene op ciones, emergera una nueva ventana para que las rellenemos. Por ejemplo, si pulsamos sobre la orden IP (ir a posicion) aparecera una ventana preguntando la posicion a la que queremos ir (la etiqueta de la posicion ensenada), si queremos que los ejes se muevan libremente o se siga una trayectoria rectilnea o circular, as como la velocidad. Como puede observarse, el programa resulta extraordinariamente intuitivo pero engorrosamente user-friendly. A continuacion se describen algunos comandos: Comandos basicos: 1. Abrir/Cerrar pinza: Open/Close Gripper 2. Ir a la posicion #: Go to position #(linea) #(velocidad) 3. Esperar : Wait #(seconds) 4. Deteccion de estado activo o inactivo de una linea externa de entrada, y salto condicional : if input #(no.) jump to #(lnea) 5. Activar/desactivar una salida : turn output #(no.) on/off 6. Salto incondicional: jump to line #(lnea) Bucles: 1. Asignacion de un contador (cont #): set counter #(cont.) to #(valor) 2. Decremento de un contador (cont cont - 1): decrement counter #(cont.) 3. Salto condicionado al valor del contador respecto a 0: if counter #(cont.) <=> 0 jump to #(lnea) Comandos de subrutinas: 1. Declaracion de una subrutina: set subroutine #(no. subrut.) 2. Retorno de subrutina: return from subroutine. 3. Llamada a subrutina: call subroutine #(no. subrut.) Comandos del sensor de medida de la pinza. Se pueden memorizar hasta 64 valores de tamanos en mm de objetos medidos con la pinza en 64 posiciones de memoria. Este me moria no solo se usa en relacion con el sensor de medicion de la pinza, sino que ademas puede usarse para albergar variables no necesariamente relacionadas con el sensor: 1. Asignacion de un valor a una memoria: set memory #(mem) to #(valor). 2. Cargar la memoria con la medida del sensor: set memory #(mem) to sensor. 3. Comparacion de los valores de las memorias para salto condicionado: if memory #(mem) <=> memory #(mem) jump to #(lnea) Otros comandos:

1. Presentar por pantalla un texto dado: print. 2. Saltar condicionalmente cuando se produce un error en un motor: on motor #(motor) error jump to #(lugar) * (tipo) Esta instruccion se puede situar en cualquier punto del programa. El salto seproduce con el error del motor, no con la instruccion. motor puede ser el numero de uno de ellos o ALL (todos). lugar puede ser un numero de lnea o next, con lo que el programa seguira en la lnea siguiente. tipo puede ser continuously (se ejecutara el salto siempre que haya error), sin gle (solo se realizara el salto la primera vez que se produzca el error), off (inva lida el efecto de la instruccion). 3. Almacenar la posicion actual como HOME: set preent position as HOME. 4. Comprobar el estado (ON/OFF) de los nales de carrera de los microinterruptores de las articulaciones: if limit switch # jump to # 5. Reponer a la posicion inicial un motor dado. Esta orden es util para movimientos ccli cos. Set axis #. to zero

6.

Practica con el robot SCORBOTER 4


Proponer una aplicacion y disenar un programa en SCORBASE para resolverla.

6.1.

Recomendaciones

Antes de arrancar el programa es necesario cerciorarse de que todos los dispositivos estan encendidos. 1. Hacer HOME. Esto hace que el robot busque su sistema de referencia cartesiano. 2. Ir al menu de ensenar posiciones. Ensenar y grabar las posiciones requeridas para imple mentar la aplicacion. 3. Hacer un nuevo HOME. 4. Escribir y ejecutar el programa.

Observaciones Generales: NO es lo mismo hacer HOME que ir a HOME. Lo primero recalcula el sistema de referencia, mientras que lo segundo es ir a una posicion prejada. Realizar siempre una trayectoria punto a punto (deniendo varios puntos intermedios) para evitar choques debidos a trayectorias inesperadas. Los puntos de las trayectorias se ensenan previamente en el menu de teach positions. La cinta transportadora se usa como una articulacion mas.

También podría gustarte