Prof.MC. Francisco Ramrez Cruz Prof.MC. Jos Luis Castillo Ocaas Prof.Dr. F. Eugenio Lpez Guerrero Robtica 102-711 U . A.N.L. F A C U L T A D D E IN G E N IERIA MECA N IC A Y E L E C T R IC A O O O D Universidad Autnoma de Nuevo Len Facultad de Ingeniera Mecnica y Elctrica Instructivo de laboratorio Cuerpo Acadmico Sistemas Integrados de Manufactura FIME-UANL Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura O O O D
Universidad Autnoma de Nuevo Len Facultad de Ingeniera Mecnica y Elctrica
Laboratorio de Robtica
PRCTICAS 1. Descripcin de la estacin de trabajo 2. Procedimiento de encendido, rutina de referencia y apagado del equipo 3. Movimientos manuales del robot 4. Definicin de puntos y movimientos 5. Creacin y edicin de programas 6. Utilizacin de arreglos 7. Programacin condicional 8. Programacin con ciclos 9. Definicin y uso de puntos en perifricos 10. Trayectorias especiales
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura PRCTICA #1 Descripcin de la estacin de trabajo
Objetivo de la prctica El estudiante conocer el equipamiento del laboratorio en FIME, las reglas de uso de ste y las medidas de seguridad en una celda robotizada.
Figura 1a.- Diagrama esquemtico de las conexiones de la celda robotizada del laboratorio.
La estacin de trabajo consta de una computadora conectada al controlador con la cual el usuario enva rdenes a ejecutar por el robot, utilizando un software de comunicaciones.
La estacin est diseada para manipular material. Por las articulaciones con las que cuenta, el robot es de 5 grados de libertad, y su herramienta de trabajo es una pinza para sujetar objetos (comnmente denominado gripper).
El controlador cuenta con: Un botn de encendido principal situado en la parte trasera al circuito electrnico del robot. Un botn de encendido de motores situado en la parte frontal. Este interruptor permite que llegue la energa a los motores del robot. Botones de paro de emergencia, localizados uno en el controlador y dos en el teach pendant.
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura REPORTE #1
1. Mencione las reglas para el uso del laboratorio de robtica. 2. Mencione las reglas de seguridad en una celda robotizada.
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura PRCTICA #2 Procedimiento de encendido, rutina de referencia y apagado del equipo
Objetivo de la prctica El estudiante aprender la secuencia de encendido y apagado del equipo, aplicar el concepto de referencia para el robot Eshed.
Figura 2a.- Diagrama esquemtico de los interruptores de encendido y emergencia en el control del robot.
Pasos: 1. Revisar que los interruptores de emergencia en el control y el teach pendant estn desactivados. 2. Revisar que el interruptor de potencia a los motores est apagado. 3. Encender el control (el interruptor principal est en la parte trasera del control). 4. Encender la computadora que hace la funcin de interfase para comunicarse con el robot. 5. Encender el interruptor de potencia de los motores. 6. Seleccionar el icono de robot en el escritorio del usuario de Windows. Esto ejectua el programa ATS. 7. En el ambiente del ATS, enviar el comando HOME. 8. Esperar el resultado de la referencia. El robot debe reportar cada eje como referenciado. 9. Para salir de ATS: <Shift-F9>
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura REPORTE #2
1. Anexar varios printscreen del escritorio del robot durante el uso del robot desde el encendido hasta su referencia. 2. Copiar exactamente la respuesta del robot cuando se envi el comando HOME.
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura PRCTICA #3 Movimientos manuales del robot
Objetivo de la prctica El estudiante adquirir la habilidad de manejar el robot mediante el uso del teclado, en modo de juntas y en modo de ejes.
Comandos importantes dentro del programa ATS:
HOME Realiza test de configuracin de los ejes y motores del robot (Se recomienda realizarlo siempre que el robot haya sido apagado o se haya pulsado la seta de emergencia). CON / COFF Activa/Desactiva el control del brazo del robot. Estando apagado, la posicin del brazo puede variar a causa de la accin de la gravedad. DIR Lista los programas almacenados en la memoria del Robot, indicando su nombre, la validez, identidad, y la prioridad de cada programa.
Movimiento manual del robot:
Se activa / desactiva pulsando ALT + m MOVIMIENTO POR JUNTAS MOVIMIENTO EN EJ ES XYZ Pulsando la tecla j indicamos desplazamientos por juntas. Pulsando la tecla x se indica desplazamiento por coordenadas. Las teclas de movimiento de cada junta son las siguientes: Las teclas de movimiento son las siguientes: J unta 1-Q; J unta 2-W; J unta 3-E; J unta 4-R; J unta 5-T; J unta 6-T (pinza). Eje. X: 1-Q; Eje. Y: 2-W; Eje. Z: 3-E. Las dems son las mismas que en desplazamiento por juntas. La tecla s indica la velocidad, espera un valor entre 1:100, la tecla c activa el control y la tecla d lo desactiva. La tecla s indica la velocidad, espera un valor entre 1:100, la tecla c activa el control y la tecla d lo desactiva.
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura REPORTE #3
1. Utilice el dibujo del teclado para identificar las combinaciones de teclas utilizadas para mover el robot en modo de juntas y en modo de ejes. 2. Identifique el sensor de proximidad #2 y coloque la pinza del robot normal a la banda transportadora. Tome una fotografa.
Figura 3a.- Diagrama esquemtico de un teclado de computadora.
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura PRCTICA #4 Definicin de puntos y movimientos
Objetivo de la prctica El estudiante disear trayectorias simples para el elemento final del robot considerando el punto inicial y el final de la trayectoria.
Variables Las variables son localizaciones de memoria que almacenan valores enteros, entre - 2147483647 a +2147483647 (datos de 32 bits). El ACL usa dos tipos de variables: del sistema y del usuario. Variables del sistema El controlador tiene nueve variables del sistema: IN. OUT, ENC, TIME, LTA, LTB, MFLAG, ERROR, ANOUT. Variables del usuario Las variables definibles por el usuario pueden ser globales y locales. Variables globales Las variables globales se pueden usar en todos los programas. Con el comando GLOBAL se define una variable como global, y con el comando DIMG un vector de variables globales. Variables locales Solo se pueden utilizar en el programa en donde han sido definidas. Con el comando DEFINE se define una variable como local, y con el comando DIM un vector de variables locales. Los nombres usados para definir variables pueden ser una combinacin de hasta cinco caracteres alfanumricos, en donde el primer carcter debe ser una letra.
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 +32768 para definir las coordenadas y una palabra en el rango -32768 +32768 para indicar el tipo y nombre de la posicin.
Tipos de posiciones La memoria de posiciones esta separada para cada grupo de ejes A para los ejes del brazo, B para los accesorios y C para ejes individuales. El mximo nmero de posiciones para cada grupo es definible en la configuracin del controlador. Por default las posiciones se definen para el grupo A
El ACL tiene seis tipos de posiciones listadas a continuacin. Los comandos usados para grabar cada tipo de posicin aparece en el parntesis.
Absoluta juntas (HERE, SETPV, SHIFT): Los datos de la posicin son las coordenadas en valores de pasos de enconder. Absoluta XYZ (TEACH, SETPV, SHIFTC): Los valores de posicin estn dados en valores de coordenadas cartesianas. Relativa a otra posicin por juntas (HERER): los datos de la posicin son la diferencia entre los valores de los encoders de una posicin y los valores de encoders se la otra posicin ACL permite anidar hasta 32 posiciones relativas. Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura Relativa a otra posicin por XYZ (TEACHR): 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 juntas (HERER): 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 (TEACHR): 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 Los comandos DEFP, DEFPB y DEFPC se utilizan para definir posiciones y los comandos DIMPA, DIMPB y DIMPC se usan para definir vectores de posicin. Definir una posicin es reservar un espacio en la memoria del controlador y dar un nombre de localizacin.
Tabla 4-1.- Ejemplos de definicin se posiciones DEFP PA define una posicin llamada PA para el grupo A DIM PP AA[10] Define un vector 10 d Posiciones llamado AA para el grupo A DEFPB POSB Define una posicin POSB para el grupo B DEFPC PC 8 Define una posicin PC para grupo C eje 8 DIMPC AC[30] Define un vector de 30 posiciones AC para el grupo C eje 8
Grabar posiciones Grabar una posicin es escribir sus valores en la posicin reservada de la memoria. Para grabar los valores se las posiciones se utilizan los comandos HERE, HERER, TEACH, TEACHR, SETPV y SETPVC.
Tabla 4-2.- Movimiento a una posicin deseada MOVE pos El robot se desplaza a la posicin pos MOVEL pos El desplazamiento se realiza de forma lineal MOVEC pos El desplazamiento se realiza mediante interpolacin circular Si a la instruccin de movimiento se le aade D (MOVED,MOVELD,MOVECD), se obliga a que el robot alcance la posicin para proceder a ejecutar el siguiente comando.
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura Para definir y grabar una posicin, debe procederse de la siguiente forma:
1. Entrar en modo manual y llevar al robot a la posicin deseada. Salir despus del modo manual. 2. Hay que definir la posicin, igual que si se tratase de una variable. Esto se hace con el comando defp: >DEFP <posicin> 3. La posicin actual queda grabada en la variable posicin mediante el comando: >HERE <posicin>
Mediante el comando listp pueden listarse todas las posiciones pregrabadas (la posicin 0 esta reservada a HOME). Es conveniente obtener un listado de posiciones antes de grabar nuevas posiciones, con el objeto de conocer que nmeros de posicin se encuentran disponibles. El comando LISTPV es similar al anterior, pero adems proporciona las coordenadas XYZ de la posicin (en dcimas de milimetro), as como los ngulos de pitch y roll del robot (en dcimas de grado).
Para borrar una posicin es necesario ejecutar el comando: >DELP <posicin>
Una vez grabadas las posiciones, es posible realizar movimientos entre ellas.
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura REPORTE #4
1. Defina la posicin FIME1. Coloque el brazo como se muestra en la figura 4.1(a). y grbela. 2. Defina la posicin FIME2. Coloque el brazo como se muestra en la figura 4.1(b). y grbela. 3. Utilice para mover el robot a ambas posiciones el comando: MOVE FIME1 MOVE FIME2 4. Disee y reporte una trayectoria a su eleccin con cuando menos 5 posiciones.
(a)
(b) Figura 4.1.- Posiciones del robot para la prctica #4.
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura PRCTICA #5 Creacin y edicin de programas
Objetivo de la prctica El estudiante programar el robot para la ejecucin de una tarea sencilla de manera automtica.
Antes de editar un programa, observe lo siguiente: Las posiciones debern estar definidas previo a la creacin del programa. Asegrese que las variables de posicin tengan los valores deseados. Recuerde que otros usuarios pudieron haber modificado cualquier posicin programada anteriormente. Utilizando los comandos >SPEED 10 >MOVE pos podr mover el robot a la posicin que se desee comprobar; mantenga al alcance el botn de paro de emergencia si observa que el robot puede colisionar.
Para la creacin del programa se emplea el comando EDIT (Ver tabla 5.1). De este modo se podr editar un programa, utilizando el editor propio del terminal ATS. Este editor tiene su propio funcionamiento, y editar un programa entero mediante este sistema puede ser una tarea laboriosa que editarlo mediante otro medio y transferirlo. Una vez terminada la programacin y para salir del modo editor se utiliza el comando EXIT. Al realizar esta operacin se verificarn los errores.
Tabla 5.1.- Comandos de manipulacin de programas COMANDO SINTAXIS EXPLICACIN EDIT EDIT <prog> Activa la modalidad de edicin. Si prog no existe, confirma la creacin de ste COPY COPY <prog1><prog2> Copia el programa1 a un nuevo programa2 RENAME RENAME <prog1><prog2> Cambia el nombre del programa REMOVE REMOVE <prog> Borra el programa del controlador LIST LIST <prog> Ver el cdigo del programa prog RUN RUN <prog> Ejecutar el cdigo del programa prog
>edit test
xyza: moved POS2 xyzb: open xyzc: moveld POS1 xyzd: close xyze: moveld POS2 xyzf:moveld POS4 xyzg: open xyzh: open POS3 exit
Figura 5.1.- Ejemplo de un programa llamado TEST. Transporta un objeto de la posicin #1 a la posicin #4. Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura REPORTE #5
1. Programe el robot con el programa de la figura 5.1. Defina las posiciones en donde usted lo considere adecuado. Tome un video corto con una cmara digital. 2. Imprima los valores de los encoders para cada posicin programada de punto 1 de este reporte.
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura PRCTICA #6 Utilizacin de arreglos
Objetivo de la prctica El estudiante programar el robot utilizando variables de arreglos de puntos. Conocer la diferencia con respecto a utilizar variables independientes.
En el ambiente del ATS, el comando a utilizar es:
>DIM <var[n]> En donde: <var[n]>es un vector de n variables
Descripcin Define un vector de variables locales de n elementos. Los elementos creados se llaman var[1], var[2],...var[n]. Recuerde que una variable local slo es reconocida por el programa en el que est definida.
Ejemplo:
DIM locv[20] crea un vector llamado locv que contiene 6 variables locales, LOCV[1],...LOCV[6].
Para borrar el vector de posiciones del control del robot utilice: >DELP <locv> en donde: <locv>es el vector de posiciones definidas por el usuario.
Nota: Este es un comando de definicin. Cuando se escribe, se ejecuta el comando, pero no se crea lnea de programa, ni en la modalidad de EDITOR. El primer caracter del nombre debe ser una letra; el nmero mximo de caracteres es cinco. Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura
PROGRAM FIME ********************* OPEN SPEED 40 FOR I =1 TO 4 MOVED LOCV[I] ENDFOR END
Fig. 6.1.- Ejemplo de un programa en ACL que mueve el robot recorriendo todas las posiciones LOCV previamente definidas.
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura REPORTE #6
1. Defina un vector de seis posiciones LOCV como se describi anteriormente. Grabe las primeras cuatro posiciones como se muestra en la figura 6.1. Reporte los valores de los encoders utilizando el comando LISTPV. 2. Haga el programa FIME de la figura 6.1 (removerlo si existe anteriormente) utilizando una variable local i y un ciclo for para recorrer todas las posiciones.
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura PRCTICA #7 Programacin condicional
Objetivo de la prctica El estudiante programar el robot para que se ejecute movimientos de acuerdo a condiciones que definan la secuencia de operaciones.
La sintaxis completa para el control condicional IF es la siguiente: IF <cond> Estatutos para cuando la condicion es verdadera ELSE Estatutos para cuando la condicion es falsa ENDIF
Si no existe la necesidad de ejecutar comandos cuando la condicin es falsa, es posible usar la versin corta del comando IF: IF <cond> Estatutos para cuando la condicion es verdadera ENDIF
PROGRAM FI ME ********************* I F I N[ 1] = 1 PRI NTLN " sensor 1" MOVED POS[ 1] ENDI F I F I N[ 2] = 1 PRI NTLN " sensor 2" MOVED POS[ 2] ENDI F DELAY 30 END
Fig. 7.1.- Ejemplo de un programa que utiliza estatutos condicionales para mover el brazo de acuerdo al estado de los sensores de la estacin. Note que el vector de posiciones deber estar definido previamente.
Los operadores booleanos para la evaluacin de la condicin son:
> mayor que < menor que = igual que <= menor o igual que >= mayor o igual que <> diferente que
Instructivo de laboratorio de ROBTICA 102-711 Cuerpo Acadmico Sistemas Integrados de Manufactura REPORTE #7
1. Conecte el LED semforo del robot y haga un programa que ejecute un movimiento en 4 posiciones. El color del LED deber ser determinado por el estado de los sensores de proximidad #1 y #2 de la estacin, segn la siguiente tabla:
SENSOR #1 SENSOR #2 COLOR DEL LED COMANDOS DEL ROBOT 0 0 APAGADO SET OUT[1]=0 SET OUT[2]=0 0 1 VERDE SET OUT[1]=1 SET OUT[2]=0 1 0 ROJ O SET OUT[1]=0 SET OUT[2]=1 1 1 AMARILLO SET OUT[1]=1 SET OUT[2]=1
2. Tome una fotografa digital con el efecto que se muestra en la figura 7.2 y entrguela junto con la documentacin completa de su programa (cdigo, valores de posicin, grficas de posicin del brazo) como parte de su reporte.
Figura 7.2.- Fotografa (a) de un artista dibujando con una lmpara y (b) del robot en movimiento realizando una figura en el aire. Ambas fotos fueron tomadas utilizando una cmara fotogrfica con el obturador abierto.
IT-7-ACM-04- R01 UNIVERSIDAD AUTNOMA DE NUEVO LEN FACULTAD DE INGENIERA MECNICA Y ELCTRICA PROGRAMA DE LA MATERIA
REVISIN No.: 1 VIGENTE A PARTIR DEL: 2 de agosto del 2002 1
NOMBRE DE LA MATERIA: ROBTICA CLAVE: 102-711 REQUISITOS: AREA: Manufactura FRECUENCIA: 3 sesin/semana SESIONES TOTALES: 48 CREDITOS: 6 FUNDAMENTO DE LA MATERIA: La robtica est experimentando un gran crecimiento provocado por los avances en computacin, sensores, automatizacin, electrnica y programacin de computadoras. Los robots estn transformando la forma en que se produce, por lo que se hace necesario que los estudiantes de ingeniera tengan bases slidas para su utilizacin, implementacin y mantenimiento en trenes productivos.
OBJETIVO: El estudiante conocer los principios de ingeniera en que se basa la construccin y capacidades de trabajo de los brazos mecnicos. Al finalizar este curso, el estudiante ser capaz de: operar un robot mediante el uso de software y aditamentos necesarios para su utilizacin. acondicionar, disear aditamentos y programar un ambiente de interaccin con un robot.
TEMARIO: 1. Introduccin a los robots 2. Programacin 3. Diseo de trayectorias 4. Aplicaciones
BIBLIOGRAFIA:
1. ASADA&SLOTINE. Robot Analysis and Control. John Wiley, 1986. ISBN 0-471- 83029-1 2. ANIBAL OLLERO BATURONE. Robtica Manipuladores y Robots Mviles. Alfa, 2001. ISBN 84-267-1313-0. 3. YORAM KOREN. Robotics for Engineers. Mc.Graw Hill, 1987. ISBN 0-07-035399-9 4. WOLFRAM STADLER. Analytical Robotics & Mechanics. Mc.Graw Hill, 1995. ISBN 0-07-060608-0 5. LORENZO SCIAVICCO/ Bruno Siciliano. Modeling and Control of Manupulators.
IT-7-ACM-04- R01 UNIVERSIDAD AUTNOMA DE NUEVO LEN FACULTAD DE INGENIERA MECNICA Y ELCTRICA PROGRAMA DE LA MATERIA
REVISIN No.: 1 VIGENTE A PARTIR DEL: 2 de agosto del 2002 2 Mc.Graw Hill, 1996. ISBN 0-07-057217-8 IT-7-ACM-04- R01 UNIVERSIDAD AUTNOMA DE NUEVO LEN FACULTAD DE INGENIERA MECNICA Y ELCTRICA PROGRAMA DE LA MATERIA
REVISIN No.: 1 VIGENTE A PARTIR DEL: 2 de agosto del 2002 3 1. Introduccin a los robots
Duracin aprox.: 12 sesiones Objetivo particular: El estudiante conocer los diferentes tipos de Robots y sus parmetros de clasificacin. Temario: Introduccin Tipos de articulaciones Estructuras bsicas Tipos de articulaciones Robots mviles
2. Programacin
Duracin aprox.: 12 sesiones Objetivo particular: El estudiante adquirir la habilidad de manejar el robot mediante el uso del Teach-Pendant. El estudiante programar los movimientos del Robot Temario: Sistemas de programacin Programacin por guiado Programacin textual Sistemas de referencia Especificacin de movimientos
3. Diseo de Trayectorias
Duracin aprox.: 12 sesiones Objetivo particular: El estudiante disear trayectorias para el elemento final del robot utilizando ecuaciones de movimiento, considerando puntos interpolados intermedios. Temario: Planteamiento del problema Definicin paramtrica de curvas Tcnicas de interpolacin Espacio cartesiano Trayectorias articulares IT-7-ACM-04- R01 UNIVERSIDAD AUTNOMA DE NUEVO LEN FACULTAD DE INGENIERA MECNICA Y ELCTRICA PROGRAMA DE LA MATERIA
REVISIN No.: 1 VIGENTE A PARTIR DEL: 2 de agosto del 2002 4 Generacin en tiempo real
4. Aplicaciones
Duracin aprox.: 12 sesiones Objetivo particular: El estudiante conocer los diferentes tipos de aplicacin de robots en la industria. Temario: Soldadura con robots Pintura con robots Manipulacin de materiales con robots Ensamble con robots Dosificacin de fluidos con robots
IT-7-ACM-04- R01 UNIVERSIDAD AUTNOMA DE NUEVO LEN FACULTAD DE INGENIERA MECNICA Y ELCTRICA PROGRAMA DE LA MATERIA
REVISIN No.: 1 VIGENTE A PARTIR DEL: 2 de agosto del 2002 5 Responsable de la elaboracin del programa: Cuerpo Acadmico Sistemas Integrados de Manufactura.
Prof.MC. Jos Luis Castillo Ocaas Prof.MC. Fco. Javier de la Garza Salinas
Prof.MC. Francisco Ramrez Cruz Prof.Dr. Fco. Eugenio Lpez Guerrero
IT-7-ACM-04- R01 UNIVERSIDAD AUTNOMA DE NUEVO LEN FACULTAD DE INGENIERA MECNICA Y ELCTRICA PROGRAMA DE LA MATERIA
REVISIN No.: 1 VIGENTE A PARTIR DEL: 2 de agosto del 2002 6
Responsable de la implementacin del programa:
JEFATURA DE ACADEMIA: Prof.MC. Huemack Eduardo Rivera Zapata JEFATURA DE DEPARTAMENTO Prof.Dr. Fco. Eugenio Lpez Guerrero
COORDINACIN DE: Divisin de Ingeniera Mecnica Prof.MC. Francisco Ramrez Cruz SUBDIRECCIN ACADMICA: Prof.Dr. Moiss Hinojosa Rivera