• No se han encontrado resultados

Figura 1: Diagrama de bloques de SCORBOTER 4u

N/A
N/A
Protected

Academic year: 2021

Share "Figura 1: Diagrama de bloques de SCORBOTER 4u"

Copied!
7
0
0

Texto completo

(1)

PR ´

ACTICA 1: ROBOT DID ´

ACTICO SCORBOT-ER 4u

1.

Esquema de SCORBOT-ER 4u

El esquema del sistema rob ´otico SCORBOTER 4u del que se dispone en el laboratorio tiene el siguiente diagrama de bloques mostrado en la figura 1.

Figura 1:Diagrama de bloques de SCORBOTER 4u

2.

Brazo articulado

El brazo articulado tiene una pinza como elemento terminal para la manipulaci ´on de objetos. Es un robot vertical con 5 articulaciones de revoluci ´on (5 grados de libertad). Esto le permite posicionarse en un amplio espacio de trabajo con una orientaci ´on cuasi-arbitraria. La figura 2 identifica las articulaciones y enlaces del robot.

El brazo articulado incluye encoders ´opticos de realimentaci ´on.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 se ˜nal de realimentaci ´on. Tambi ´en incluye microinterruptores que

(2)

Figura 2:Articulaciones y Enlaces del brazo articulado

detectan cuando una articulaci ´on ha llegado al final de carrera. Gracias a ello, el robot es capaz de establecer su sistema de referencia.

3.

El controlador

El controlador es un microcomputador de prop ´osito espec´ıfico, especialmente dise ˜nado para las tareas de control de brazo articulado. Las funciones del controlador son:

1. Recepci ´on de ´ordenes del computador principal a trav ´es del canal USB. Comprobaci ´on del canal.

2. Transmisi ´on de respuestas al computador principal a trav ´es de dicho canal.

3. Actuaci ´on sobre los motores mediante la conmutaci ´on de transistores de potencia a ±12 Volt (seg ´un la direcci ´on del movimiento) (ver figura 4).

4. Seguimiento (control) del movimiento de cada motor, contando los impulsos que llegan de los encoders, llevando cada uno hasta una posici ´on final (aqu´ı se aplica un algoritmo de control).

5. Controla 8 l´ıneas de entrada (mas otras 2 en forma de interruptores manuales con fines did ´acticos) mediante los cuales recibe se ˜nales de su entorno. A petici ´on del computador principal (PC) puede comprobar el estado de alguna(s) de estas l´ıneas, para que el progra-ma que corre en el PC act ´ue en consecuencia.

6. Controla 8 l´ıneas de salida para la activaci ´on de equipos externos.

7. El controlador dispone de una rutina que puede llevar al brazo articulado hasta una posici ´on predefinida (conocida como HOME) que marca el sistema de referencia en que se va a mover el Robot. La forma de alcanzar la posici ´on de HOME es mover cada articulaci ´on hasta que llega al final de carrera, donde se conmuta un microinterruptor. Al detectar esta

(3)

Figura 3:Actuaci ´on sobre los motores.

conmutaci ´on, el controlador ya sabe donde se encuentra la articulacion y puede llevarla (contando un cierto n ´umero de impulsos) hasta la posici ´on de HOME.

8. El controlador puede parar todos los motores guardando informaci ´on del estado de cada uno para luego poder continuar el movimiento.

9. El controlador puede obtener informaci ´on del progreso en el movimiento de un motor a petici ´on del PC, y responder de acuerdo con ella.

En el frontal del controlador pueden encontrarse los siguientes elementos (identif´ıquelos en el robot):

1. Indicador de encendido/apagado. Indica si el controlador est ´a encendido. Si se torna verde adem ´as hay conexi ´on con el PC.

2. Indicador de motores encendidos. Indica si los motores est ´an encendidos (orden con) o apagados (ordencoff).

3. LEDs y conectores de entrada/salida. Permiten la comunicaci ´on entre robots.

4. Conectores de ejes perif ´ericos. Permiten conectar accesorios al robot (por ejemplo, la cinta transportadora).

5. Bot ´on 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 mec ´anico. SCORBOT 4 provee un lenguaje de alto nivel para programaci ´on del robot denominadoscorbase.

(4)

5.

Lenguaje de programaci ´

on: SCORBASE (nivel 3)

5.1. Introducci ´on

SCORBASE (nivel 1,2 y 3 o “Pro”) es un lenguaje de programaci ´on de robots de alto nivel, interactivo y con control de trayectoria punto a punto. Est ´a pensado para trabajar en dos etapas:

1. ”Ense ˜nar” al robot un conjunto de distintas posiciones con las que operar ´a posteriormente. Se trata de definir 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 len-guaje SCORBASE.

Figura 4:Scorbase en ejecuci ´on. 5.2. Ense ˜nar posiciones

Las posici ´on se ense ˜nan empleando dos ventanas. La primera (Movimiento Manual) nos per-mite mover el robot hasta la posici ´on deseada. Esto puede hacerse en el dominio de las articula-ciones (poco recomendado) o en el dominio cartesiano (XYZ). Junto a esta ventana se encuentra una segunda (Ense~nar Posiciones) que nos permite almacenar la posici ´on, ya sea de forma ab-soluta o relativa. Para ello se debe asignar una etiqueta a la posici ´on. Se recomienda al alumno que explore los elementos de esta ventana (puede recibir “tips” dejando el puntero del rat ´on sobre ellos).

5.3. Lenguaje SCORBASE

La programaci ´on 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).

(5)

El n ´umero de ordenes que se muestran en esta ventana depender ´a del nivel al que estemos trabajando. As´ı, para el nivel 1 (bot ´on L1 bajo el men ´u), se muestran las ordenes m ´as b ´asicas, mientras que para el nivel 3 (bot ´onPro) 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, emerger ´a una nueva ventana para que las rellenemos. Por ejemplo, si pulsamos sobre la ordenIP (ir a posici ´on) aparecer ´a una ventana preguntando la posici ´on a la que queremos ir (la etiqueta de la posici ´on ense ˜nada), si queremos que los ejes se muevan libremente o se siga una trayectoria rectil´ınea o circular, as´ı como la velocidad. Como puede observarse, el programa resulta extraordinariamente intuitivo pero engorrosamente “user-friendly”.

A continuaci ´on se describen algunos comandos: Comandos b ´asicos:

1. Abrir/Cerrar pinza: Open/Close Gripper

2. Ir a la posici ´on #: Go to position #(linea) #(velocidad) 3. Esperar : Wait #(seconds)

4. Detecci ´on de estado activo o inactivo de una linea externa de entrada, y salto condicio-nal : if input #(no.) jump to #(l´ınea)

5. Activar/desactivar una salida : turn output #(no.) on/off 6. Salto incondicional: jump to line #(l´ınea)

Bucles:

1. Asignaci ´on 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 #(l´ınea)

Comandos de subrutinas:

1. Declaraci ´on 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 tama ˜nos en mm de objetos medidos con la pinza en 64 posiciones de memoria. Este me-moria no s ´olo se usa en relaci ´on con el sensor de medici ´on de la pinza, sino que adem ´as puede usarse para albergar “variables” no necesariamente relacionadas con el sensor:

1. Asignaci ´on 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. Comparaci ´on de los valores de las memorias para salto condicionado:

if memory #(mem)<=>memory #(mem) jump to #(l´ınea) Otros comandos:

(6)

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 instrucci ´on se puede situar en cualquier punto del programa. El salto seproduce con el error del motor, no con la instrucci ´on.

• ”motor” puede ser el n ´umero de uno de ellos o ”ALL” (todos).

• ”lugar” puede ser un n ´umero de l´ınea o ”next”, con lo que el programa seguir ´a en la l´ınea siguiente.

• ”tipo” puede ser ”continuously” (se ejecutar ´a el salto siempre que haya error), ”sin-gle” (solo se realizar ´a el salto la primera vez que se produzca el error), ”off” (inva-lida el efecto de la instrucci ´on).

3. Almacenar la posici ´on actual como HOME: set preent position as HOME.

4. Comprobar el estado (ON/OFF) de los finales de carrera de los microinterruptores de las articulaciones:

if limit switch # jump to #

5. Reponer a la posici ´on inicial un motor dado. Esta orden es ´util para movimientos c´ıcli-cos.

(7)

6.

Pr ´actica con el robot SCORBOTER 4

Proponer una aplicaci ´on y dise ˜nar un programa en SCORBASE para resolverla.

6.1. Recomendaciones

Antes de arrancar el programa es necesario cerciorarse de que todos los dispositivos est ´an encendidos.

1. Hacer HOME. Esto hace que el robot “busque” su sistema de referencia cartesiano.

2. Ir al men ´u de “ense ˜nar posiciones”. Ense ˜nar y grabar las posiciones requeridas para imple-mentar la aplicaci ´on.

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 posici ´on prefijada.

Realizar siempre una trayectoria ”punto a punto” (definiendo varios puntos intermedios) para evitar choques debidos a trayectorias inesperadas. Los puntos de las trayectorias se ense ˜nan previamente en el men ´u de ”teach positions”.

Referencias

Documento similar

Esto viene a corroborar el hecho de que perviva aún hoy en el leonés occidental este diptongo, apesardel gran empuje sufrido porparte de /ue/ que empezó a desplazar a /uo/ a

En junio de 1980, el Departamento de Literatura Española de la Universi- dad de Sevilla, tras consultar con diversos estudiosos del poeta, decidió propo- ner al Claustro de la

[r]

SVP, EXECUTIVE CREATIVE DIRECTOR JACK MORTON

Social Media, Email Marketing, Workflows, Smart CTA’s, Video Marketing. Blog, Social Media, SEO, SEM, Mobile Marketing,

Missing estimates for total domestic participant spend were estimated using a similar approach of that used to calculate missing international estimates, with average shares applied

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,