Vous êtes sur la page 1sur 6

Universidade de Vigo

ROBTICA Y CNC (3 Electrnica Industrial) PRCTICA 1 (2011/12)


E.U.I.T.I.

INTRODUCCION A LA ROBTICA.
1.- Introduccin. 2.- Objetivo de la prctica. 3.- Realizacin. 4.- Consideraciones generales. 1.- Introduccin. Un robot es un manipulador automtico, con servomecanismos de posicin, reprogramable, polivalente y capaz de orientar materiales, piezas, tiles o dispositivos especiales, mediante movimientos variables y programables para la ejecucin de tareas variadas. Por manipulador se entiende un mecanismo compuesto de elementos deslizantes entre s o brazos articulados, con grados de libertad que oscila entre dos y cinco y gobernado mediante sistemas lgicos o programado mediante PLCs. El robot industrial es capaz de generar trayectorias complejas en el espacio, empleando un computador para el control de movimientos y, en su caso, para la generacin de planes de accin. Se presenta a menudo en forma de uno o varios brazos articulados terminados en una mueca y se integra fcilmente en las lneas automticas de produccin. Para iniciarse en la naturaleza, operacin y mantenimiento de robots industriales, se crearon robots de enseanza que, aunque son simulaciones de los industriales, son tiles para la toma de contacto con la robtica. En este caso, el sistema robot es un brazo robot tipo SCARA denominado UMI-RTX. *. El robot UMI-RTX. Este robot UMI-RTX est compuesto por las siguientes partes: .- Brazo mecnico: Estructura mecnica metlica formada por elementos rgidos, articulaciones y motores que llevan a cabo las operaciones fsicas. Sujeto al extremo del brazo se encuentra el elemento terminal en forma de pinza o garra. .- Sistema motor: Encargado de mover las correspondientes articulaciones. Este sistema utiliza siete motores elctricos de precisin, alimentados con 24 VDC. con reductora incorporada y sistemas de reduccin con correas dentadas acopladas mediante excntricas que permiten ajustar la tensin. .- Sistema sensor: Encargado de obtener la informacin necesaria para la realimentacin del control de movimientos, cada uno de los ejes motores lleva acoplado un encder ptico incremental que suministra al controlador la informacin necesaria para realizar dicho control. Para permitir al sistema de control conocer la situacin de las articulaciones en cada instante, los encoders proporcionan posiciones relativas a una posicin fija (HOME). .- Controlador: Es la unidad encargada del funcionamiento y control del brazo mecnico. Sus funciones son: activacin de los motores, control y respuesta de la informacin recibida de los sensores, gestin de la activacin de entradas y salidas y comunicacin con el ordenador. .- Ordenador (PC): En comunicacin con el controlador mediante una lnea de comunicacin serie tipo RS-232, se encarga de mantener el software necesario para la programacin de las tareas a realizar.

Robtica y CNC. 28 y 29/9/2011. Curso 2011/12

Prctica 1 - 1/6

En la figura siguiente se especifican las partes visibles que constituyen el sistema robot.

*. Software del UMI-RTX. Para gestionar la comunicacin y el uso del brazo, el fabricante proporciona dos tipos de lenguaje: uno basado en un lenguaje de propsito general (Pascal), para el que proporciona libreras con funciones especficas, y el otro es un nuevo lenguaje (basado en FORTH), adaptado para este brazo-robot. En la realizacin de las prcticas de esta asignatura se utilizar el nuevo lenguaje, denominado FRTX, que permite el uso del brazo utilizando conocimientos mnimos de programacin. Dado que el almacenamiento de este programa se realiza en un nico fichero, es necesario disponer de copias independientes en diferentes directorios que se nombrarn segn el grupo, por tanto, el acceso al programa ser diferente para cada grupo. Para acceder al programa basta con escribir:
C:\>robot<hora>
<hora>= A (1012), B (1214), C (15:3017:30), D (17:3019:30) y E (19:3021:30) los jueves y F de 17:3019:30 el mircoles

Se ejecutar un fichero por lotes que permitir el manejo independiente del robot por parte de cada grupo. Ante el mensaje: RTX not ready - <esc> to ignore NO presionar escape; se estn verificando las comunicaciones. Ya en el programa, es preciso establecer las referencias de los encoders (relativos o incrementales) y posiciones del brazo. Para ello (con los motores alimentados) se deber ejecutar la instruccin INIT.
Robtica y CNC. 28 y 29/9/2011. Curso 2011/12 Prctica 1 - 2/6

Es muy importante tener en cuenta que cada vez que se ejecuta una instruccin se debe esperar SIEMPRE, antes de pulsar cualquier tecla a que aparezca la respuesta OK. Mientras se est en esta ventana, hay que poner especial cuidado con el teclado ya que algunas teclas conmutan su significado y producen movimientos en el brazo (tabla 1), lo cual se utilizar para situar el robot en las posiciones que se precise (control manual). FORMAS DE PROGRAMAR EL UMI-RTX 1.- En la ventana principal. Las instrucciones (posiciones o rutinas) se ejecutan despus de escribirlas tras pulsar enter (esperar OK) y los movimientos se realizan desde que se ordenan hasta que se paran. 2.- Mediante conjuntos (bloques) de instrucciones. EN PRCTICAS POSTERIORES. Se ejecutarn desde la ventana principal y pueden ser creados de 3 formas distintas: Mediante el editor. Se escriben directamente las instrucciones que a ejecutar. Los comandos ms utilizados para su gestin se proporcionan en la tabla 7. Pueden incluir la creacin de rutinas. Mediante rutinas con ejecucin simultnea. Se aprende una rutina con la secuencia a realizar mientras se ejecuta cada paso (las llamadas estarn en memoria). Para su ejecucin debe estar en memoria y se llamar por su nombre. Permite utilizar la posicin actual. Comandos de la tabla 9. Mediante rutinas creadas en la ventana principal. Resultado final y requisitos idnticos a la anterior, se crea directamente, no permite utilizar la posicin actual y no se va ejecutando mientras se crea. El formato que se utiliza para definirlas, si nom es el nombre de la rutina, es:
: nom nom1 nomn ;

donde nom1 ... nomn representan llamadas a otras instrucciones o rutinas (que estn en memoria). FORMAS DE ALMACENAMIENTO EN DISCO El almacenamiento se realiza por bloques de 1024 bytes. Cada bloque dispone de 16 lneas de 64 bytes (64 caracteres por lnea). Los caracteres vacos se rellenan con espacios. Se dispone de un total de 200 bloques. El programa almacena todo en un nico fichero de tamao fijo: 200K=204.800 bytes. Segn cmo se hayan creado, hay 2 tipos de bloques: Bloques creados en el editor: Asociados al nmero, no necesitan nombre y su contenido se ejecuta de forma secuencial. Se almacenan en los bloques de menor valor numrico (desde 1 hasta el lmite). Se ejecutan desde disco con la instruccin:
n1 LOAD : Si se trata de un nico bloque. (nm..n1 m NLOAD : Ejecucin mltiple) n1 n2 THRU : Si se ejecutan varios bloques consecutivos.

Bloques generados mediante palabras: Deben llevar asignado un nombre que ser el utilizado para su ejecucin. Se almacenan en los bloques de mayor valor numrico (desde el lmite a 200). Para su ejecucin es suficiente que sea llamado (tras cargarlo en memoria) tecleando su nombre. Se programarn bloques del ltimo tipo utilizando como soporte los del primer tipo. La barrera se entre ambos tipos de bloques se establece con:
n1 BLOCK-LIMIT !

Es muy importante mantener exactamente el formato que se proporciona para las instrucciones, incluidos todos los signos y espacios en blanco. Si se recuperan bloques desde disco, se debe poner especial atencin en que la carga se haga jerarquizada y ordenada, puesto que no est permitido llamar
Robtica y CNC. 28 y 29/9/2011. Curso 2011/12 Prctica 1 - 3/6

a bloques no cargados. Para garantizar la correcta utilizacin de las instrucciones de recuperacin se debe asegurar siempre que el espacio de trabajo est previamente limpio. 2.- Objetivo de la prctica. El objetivo de la prctica es familiarizarse con los robots didcticos, as como programar, de la forma ms simple posible una secuencia de movimientos que podrn ser ejecutados, en la prxima prctica, cuantas veces sea necesario y que se habr probado paso a paso en esta prctica. 3.- Realizacin. Para realizarla se utilizarn las instrucciones proporcionadas, comprobando su funcionamiento: 1.- Ejecucin de movimientos en modo manual. (tabla 1) 2.- Comandos generales. (tabla 2) 3.- Otras instrucciones. (tabla 3) Se recuerda que es muy importante mantener exactamente el formato que se proporciona, incluidos todos los signos y espacios en blanco. Se ir colocando el robot en las sucesivas posiciones que se desea tome el robot y se irn memorizando con los comandos que se proporcionan ms adelante. Para aprender posiciones, considerando que esta prctica es de toma de contacto y en esta aplicacin en concreto, es importante tener en cuenta las siguientes consideraciones: 1.- Las posiciones en las se desea dejar pieza se aprendern con la garra abierta. 2.- Las posiciones en las se desea coger pieza se aprendern con la garra cerrada. 3.- Si en una posicin se debe dejar y coger pieza se aprender de ambas formas. Para familiarizarse con instrucciones de diverso tipo se realizarn las siguientes tareas: 1.- Aprender las posiciones del esquema (y almacenarlas en disco): P1SEG P2SEG P1 P2 2.- Programar una secuencia, razonable, de movimientos para coger la pieza situada en P1 y llevarla a la posicin P2 mediante bloques creados de forma directa. 3.- Programar la misma secuencia mediante una rutina que se programar en un bloque. 4.- Consideraciones prcticas. Se debe tener en cuenta la inercia que lleva el robot en movimiento. Por ello, el modo normal de acercamiento a un objeto ser: movimiento rpido hasta las proximidades del objeto, y despus, movimiento lento para coger/soltar la pieza. Se llega as a un compromiso entre rapidez y operatividad. Para favorecer el agarre a la hora de coger/soltar un objeto, la pinza debe situarse perpendicular al plano donde ste reposa. Otro efecto importante se produce cuando el robot se desplaza de una posicin a otra. Al memorizar dos posiciones consecutivas, el robot elige cmo desplazarse entre ellas. Por tanto, en el caso de que pueda existir algn obstculo en el espacio de trabajo, es necesario memorizar posiciones intermedias (puntos de paso) para que quede fijada la trayectoria deseada, evitando choques contra objetos, etc. NOTA: Dado que las ltimas hojas de este enunciado incluyen tablas con la mayora los comandos permitidos es necesario traerlas en prcticas posteriores. Adems, en sucesivas prcticas se ir haciendo referencia a estas tablas utilizando el nmero de orden que aqu se proporciona para ellas.
Robtica y CNC. 28 y 29/9/2011. Curso 2011/12 Prctica 1 - 4/6

Barra espacio Tabulador tabulador [PgUp]/[RePg] [PgDn]/[AvPg] F1 F2 F3 F4 F5 F6 F7 F8

Detiene cualquier movimiento del brazo. Gira el hombro hacia la izquierda. Gira el hombro hacia la derecha. Gira el codo hacia la izquierda. Gira el codo hacia la derecha. Mueve brazo radialmente al exterior. Mueve brazo radialmente al interior. Sube el brazo por la columna. Baja el brazo por la columna. Gira cabeceo (pitch) hacia arriba. Gira cabeceo (pitch) hacia abajo. Gira balanceo (roll) hacia la izquierda. Gira balanceo (roll) hacia la derecha. Gira guio (yaw) hacia la izquierda. Gira guio (yaw) hacia la derecha. Apertura de la garra. Cierre de la garra.

: nom nom1 nomn ; DE-KEY / SET-KEY WHERE : nom . texto ; CR KEY DROP EMIT

Crea grupo nom para ejecutar de nom1 nomn. Conmuta teclado: control/editor. Coordenadas articulaciones. Pulsos de encoder. Escribe texto en pantalla al invocar nom. Introduce un return en pantalla Espera tecla. Iintroduce su valor ASCII en la pila Borra el ltimo elemento de la pila Convierte un n a ASCII y lo muestra.

Tabla 3: Otras instrucciones.


.S . n1 n2 n1 n2 n1 n2 n1 n2 + - *

= <> > < / MOD

Muestra el contenido de la memoria (LIFO) Muestra y borra el ltimo dato de la memoria. Devuelve cierto si n1 igual a n2 Devuelve cierto si n1 distinto que n2 Devuelve cierto si n1 mayor que n2 Devuelve cierto si n1 menor que n2 Operaciones aritmticas con enteros: (situados ya en la pila) Selecciona el puerto np como entrada. Selecciona el puerto np como salida. Carga en memoria (LIFO) el valor de np. Lee el valor del bit nb del puerto np. Espera a que el bit nb del puerto np valga st. Carga valor en el puerto np. Carga st en el bit nb del puerto np. Define nom como una variable. Asigna valor a nomvar. Muestra en pantalla el valor de nomvar. Pasa a la pila el valor de nomvar. Define la constante nom y le asigna el valor val. Pasa a la pila el valor de nom.

Tabla 4: Comandos relativos al manejo de valores numricos.


np INPUT MODE np OUTPUT MODE np @PORT nb np @BIT st nb np ?WAIT valor np !PORT st nb np !BIT

Tabla 1: Ejecucin de movimientos (modo manual)


n %SPEED INIT JOG-OFF HALT PLACE nomb FIX-GRIP UNFIX-GRIP HOME STOW WORDS n RUNS nomb FORGET nomb BYE

Selecciona velocidad para todos los ejes en % de la mxima. Sita el brazo HOME y marca posicin de referencia inicial. Conmuta a movimiento continuo. [Espacio] Para inmediatamente el brazo. Aprende la posicin nomb (para alcanzarla, escribir nomb). Mantiene la garra en una posicin fija. Permite que la posicin de la garra sea modificada. [Home] Enva el brazo a la posicin definida HOME. Robot a una posicin predefinida completamente retrada. Lista palabras y posiciones definidas. 1 la ms reciente. Ejecuta n veces la palabra llamada nomb. Borra nomb y las palabras creadas posteriormente. Sale del programa. Tabla 2: Comandos de uso general.

Tabla 5: Comandos relativos al manejo de E/S.


VARIABLE nom valor nomvar ! nomvar ? nomvar @ val CONSTANT nom nom

Tabla 6: Definicin y utilizacin de variables y constantes.


Prctica 1 - 5/6

Robtica y CNC. 28 y 29/9/2011. Curso 2011/12

n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1

BLOCK-LIMIT ! SAVE-WORD nomb AUTOSAVE nomb EDIT n2 IEDIT LOAD n2 THRU

nm m NLOAD
n2 INDEX LIST m WIPES n2 COPY n2 m SMOVE

Cambia a n1 la frontera entre bloques Guarda en n1 el contenido de nomb. Guarda en n1 el contenido de nomb y sus llamadas. Permite la edicin del bloque n1. Edita n2 con n1 como bloque auxiliar. Carga en memoria (ejecuta) el bloque n1. Ejecuta desde el bloque n1 hasta el n2. Carga (ejecuta) por orden los m bloques nmn1. Lista la primera lnea desde n1 hasta n2-1. Lista el contenido del bloque n1. Borra m bloques a partir de n1. Copia el bloque n1 en n2. n1 no se altera. Mueve m bloques a partir de n1 hasta n2.

: : : :

nomb nomb nomb nomb

cond ( lgica ) IF instruc THEN ; cond ( lgica ) IF inst1 ELSE inst2 THEN ; n2 n1 DO instruc LOOP ; BEGIN instruc cond ( lgica ) UNTIL ;
ASCII Hex Smbolo 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 20 espacio 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F ! " # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? ASCII Hex Smbolo 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ASCII Hex Smbolo 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~

Tabla 10: Comandos de control de flujo de programa (estructuras).


ASCII Hex Smbolo 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

Tabla 7: Comandos ligados al almacenamiento en disco.


eje ABSOLUTE MODE Movimiento absoluto en eje. eje RELATIVE MODE Movimiento relativo en eje. cont eje MOVE Posicin correspondiente a eje. NGO Alcanza la posicin del registro. UNTIL-DONE Asegura el fin del movimiento. Eje: ELBOW,SHOULDER,ZED,WRIST1,WRIST2,YAW,GRIP

Tabla 8: Comandos para crear posiciones y movimientos.


LEARN nomb MODIFY nomb n JOG TEACH END STEP -STEP CONT -CONT DEL REPLACE CALL nomb

Aprende secuencia nomb de movimientos. Modo aprender. Permite modificar y comprobar palabra aprendida. Modo aprender Mueve el brazo paso a paso con incrementos de n. [Ins] aprende la posicin en la palabra activa. [End] finaliza la palabra que est en uso. Sale de modo aprender [F9] adelanta un paso en la palabra activa. [-F9] atrasa un paso en la palabra activa. [F10] recorre paso a paso toda la palabra o HALT. [-F10] como la anterior pero hacia el principio. [Del] borra el siguiente paso en la palabra activa.. Sustituye lnea por la posicin actual del brazo. Inserta una llamada a la palabra nombre.

Tabla 9: Comandos en modo de aprendizaje o modificacin (no se utilizan)


Robtica y CNC. 28 y 29/9/2011. Curso 2011/12

Tabla 11: Caracteres ASCII


Prctica 1 - 6/6

Vous aimerez peut-être aussi