laboratorio ing301 - guía de robótica

12
PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA ING301 Manufactura Integrada por Computadora Laboratorio N° 8 Tema: Robótica (Semestre 2015-2) 1. INTRODUCCIÓN El robot industrial es un manipulador programable y multifuncional, diseñado para mover material, partes, herramientas o dispositivos a través de movimientos previamente programados para la realización de diferentes tareas. El robot ofrece muchos beneficios en la industria, entre estos: - Incrementar calidad del producto, ya que ofrece buena exactitud y precisión. - Incrementa la eficiencia, ya que trabaja continuamente y no necesita tiempos de descanso. - Incrementa la seguridad, ya que puede operar en ambientes que pueden ser peligrosos para un operario. - Reduce costo y tiempo de manufactura. - Incremento de productividad. - Flexibilidad en programación, ya que se puede controlar por medio de un programa. - Flexibilidad mecánica, ya que se puede equipar para distintas funciones. 1.1. OBJETIVOS: 1.1.1. Objetivo general El objetivo del presente laboratorio es familiarizar al alumno con los conceptos básicos de la estructura de un robot industrial y con el empleo de software de control y programación en lenguaje ACL de los robots SCORA y SCORBOT a través de un controlador tipo B. 1.1.2. Objetivos específicos A través de este laboratorio el alumno deberá: - Tener conocimientos básicos sobre la estructura de un robot industrial y los grados de libertad que este presenta. - Conocer las ventajas que brinda la robótica industrial para el desarrollo de diversas tareas. - Aprender a usar los principales comandos en lenguaje ACL para la programación de un robot. 2. CONCEPTOS PREVIOS 2.1. ESTRUCTURA DE UN ROBOT INDUSTRIAL Un robot industrial está compuesto por eslabones, que son los elementos rígidos, y articulaciones, cuya función es unir los eslabones, además de permitir el movimiento relativo de un elemento con respecto a otro.

Upload: estefanoramos

Post on 12-Apr-2016

13 views

Category:

Documents


3 download

DESCRIPTION

Robotica de la Pucp

TRANSCRIPT

Page 1: Laboratorio ING301 - Guía de Robótica

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA

ING301 Manufactura Integrada por Computadora

Laboratorio N° 8 Tema: Robótica

(Semestre 2015-2)

1. INTRODUCCIÓN

El robot industrial es un manipulador programable y multifuncional, diseñado para mover

material, partes, herramientas o dispositivos a través de movimientos previamente programados para la realización de diferentes tareas. El robot ofrece muchos beneficios en la industria, entre estos:

- Incrementar calidad del producto, ya que ofrece buena exactitud y precisión. - Incrementa la eficiencia, ya que trabaja continuamente y no necesita tiempos de descanso. - Incrementa la seguridad, ya que puede operar en ambientes que pueden ser peligrosos para un

operario. - Reduce costo y tiempo de manufactura. - Incremento de productividad. - Flexibilidad en programación, ya que se puede controlar por medio de un programa. - Flexibilidad mecánica, ya que se puede equipar para distintas funciones.

1.1. OBJETIVOS:

1.1.1. Objetivo general

El objetivo del presente laboratorio es familiarizar al alumno con los conceptos básicos de la

estructura de un robot industrial y con el empleo de software de control y programación en lenguaje ACL de los robots SCORA y SCORBOT a través de un controlador tipo B.

1.1.2. Objetivos específicos

A través de este laboratorio el alumno deberá: - Tener conocimientos básicos sobre la estructura de un robot industrial y los grados de libertad que

este presenta. - Conocer las ventajas que brinda la robótica industrial para el desarrollo de diversas tareas. - Aprender a usar los principales comandos en lenguaje ACL para la programación de un robot.

2. CONCEPTOS PREVIOS

2.1. ESTRUCTURA DE UN ROBOT INDUSTRIAL

Un robot industrial está compuesto por eslabones, que son los elementos rígidos, y articulaciones,

cuya función es unir los eslabones, además de permitir el movimiento relativo de un elemento con respecto a otro.

Page 2: Laboratorio ING301 - Guía de Robótica

Figura 1: Eslabones y articulaciones de un robot.

2.2. GRADOS DE LIBERTAD

Se define a los grados de libertad de un robot como el número de ejes físicos a través del cual

puede realizar movimiento. Generalmente, en un robot industrial, el número de grados de libertad es igual al número de articulaciones que posee. Este indicador es conocido como DOF (Degrees of freedom), el cual es muy usado para medir la versatilidad de movimiento de un sistema robótico. La mayoría de robots industriales del tipo brazo robótico poseen seis grados de libertad, pero es posible encontrar sistemas robóticos con muchos más.

Figura 2: Grados de libertad de un robot.

En general, son necesarios 3 grados de libertad para posicionar un objeto en el espacio

tridimensional, y otros 3 grados de libertad para orientarlo, por lo general un brazo robot tiene además de los movimientos de translación en los ejes X, Y (adelante/atrás; izquierda/derecha) y Z (arriba/abajo); movimientos de rotación sobre cada eje (pitch, roll, yaw).

2.3. TIPOS DE CONFIGURACIÓN

Basado en su configuración mecánica y geométrica, existen cuatro tipos de configuraciones en las que se pueden clasificar los robots.

Page 3: Laboratorio ING301 - Guía de Robótica

2.3.1. Configuración en coordenadas cartesianas:

Presenta tres movimientos lineales (derecha-izquierda, adelante-atrás, arriba-abajo) adecuados para describir la posición y movimiento del robot, los cuales se dan a través de los tres ejes de movimiento XYZ.

Figura 3: Robot de coordenadas cartesianas.

2.3.2. Configuración en coordenadas cilíndricas:

Presenta un eje de rotación y dos de traslación. El eje de rotación se presenta en la base, este eje define la dirección; mientras que los dos ejes de traslación definen la altura y el radio.

Figura 4: Robot de coordenadas cilíndricas.

2.3.3. Configuración en coordenadas esféricas:

Presenta dos ejes de rotación y uno de traslación. Un eje de rotación se posiciona sobre su base, el cual define la dirección; el otro eje de rotación se posiciona entre el primer y segundo eslabón, este eje define cuál será su ángulo de elevación; finalmente, el eje de traslación define el radio.

Figura 5: Robot de coordenadas esféricas.

Page 4: Laboratorio ING301 - Guía de Robótica

2.3.4. Brazo articulado:

Utiliza articulaciones para conseguir cualquier posición, es el tipo de configuración más versátil, se puede clasificar en dos tipos: articulado verticalmente y articulado horizontalmente.

Figura 6: Robot articulado verticalmente (izquierda) y horizontalmente (derecha)

3. COMPONENTES Y CONTROL DE UN SISTEMA ROBÓTICO

Los principales elementos de un sistema robótico son el robot, el controlador, el Teach Pendant y

el terminal ATS o computador. Además, otros elementos también son la fuente de potencia, la cual brinda la energía necesaria para que el robot funcione y los dispositivos periféricos, que funcionan como entradas y salidas, estos pueden ser sensores, los cuales funcionan como entradas y actuadores, que funcionan como salidas.

Figura 7: Componentes de un sistema robótico.

El control de un robot se puede realizar de forma indirecta, a través de un programa en lenguaje

ACL (Advanced Control Language), grabado en el controlador; y de forma directa, a través del Teach Pendant, o a través del uso de un computador que ejecute la aplicación ATS (Advanced Terminal Software), en el cual se ingresan los comandos por teclado.

3.1. CONTROL A TRAVÉS DEL TEACH PENDANT

El teach pendant (ver figura 8) permite controlar el robot directamente e indirectamente a traves dos modos manual y automático. Para ejecutar el modo manual, se debe colocar el selector de la parte

Page 5: Laboratorio ING301 - Guía de Robótica

izquierda del mando indicando TEACH, este modo permite controlar el robot directamente desde el teach pendant. Para ejecutar el modo automático, el selector debe indicar AUTO, a traves de este modo se puede controlar el robot directamente desde la computadora, además permite grabar un programa en el controlador.

Figura 8: Teach Pendant

Algunos de los comandos que se pueden ejecutar en el Teach Pendant son los siguientes: a. Control a través de la ruta de inicio

El robot se posiciona en su origen; es necesario realizar esta tarea para inicializar el posicionamiento del robot. Para ello se debe ejecutar los comandos:

RUN ► 0 ► ENTER

b. Movimiento a través de las articulaciones o coordenadas Se selecciona el tipo de movimiento que se desea realizar ya sea presionando el botón “JOINTS”

o el botón “XYZ”, luego se presiona el botón de la unión (si es que hemos presionado JOINTS) o coordenada (si es que hemos presionado XYZ) en la que se desea realizar el movimiento, finalmente se presiona “+” o “-”, dependiendo si queremos aumentar o disminuir la posición. Por ejemplo: Si se desea aumentar el ángulo la unión 4: JOINTS►AXIS 4►+ Si se desea mover en el sentido negativo del eje Z: XYZ► Z ►- c. Cambiar la velocidad actual

Para cambiar la velocidad se hace uso del botón “SPEED”, luego se escribe el porcentaje de velocidad máxima a la que queremos que el robot se mueva. Por ejemplo, si queremos que el robot se mueva a un 30% de su velocidad, se presiona:

SPEED► 30 ► ENTER

d. Abrir y cerrar el gripper Para abrir y cerrar el gripper o pinza, se usan los botones OPEN y CLOSE.

Page 6: Laboratorio ING301 - Guía de Robótica

e. Grabar posiciones

Para guardar una posición, se hace uso del botón RECORD POSITION, luego se escribe el

número con el que queremos grabar la posición, luego se presiona ENTER. Por ejemplo, si queremos guardar una posición y queremos nombrarla como posición N° 201 se escribe:

RECORD POSITION► 201 ► ENTER f. Mover a una posición guardada

Para movernos a una posición que fue guardada con anterioridad se hace uso del botón MOVE.

Por ejemplo, si queremos movernos a la posición 201, la cual fue grabada con anterioridad, se presiona: MOVE► 201 ► ENTER

3.2. CONTROL A TRAVÉS DE LA COMPUTADORA

Los robots del laboratorio se van a programar en lenguaje ACL (Advanced Control Language), el

cual fue desarrollado por Eshed Robotec en 1982. Existen dos modos de comandar el brazo robótico: modo directo e indirecto. Modo directo: Los comandos se ejecutan directamente desde la computadora al controlador del robot a través de la aplicación ATS (Advanced Terminal Software). Una vez que el ATS está activo, se puede mandar comandos de ejecución inmediata sobre el robot. Cuando se controla a través del teach pendant, también se está controlando al robot de manera directa, la diferencia es que no se hace uso de la computadora. Modo indirecto: Se ejecuta un programa en lenguaje ACL, el cual se manda desde el computador al controlador del robot, el cual se guarda en la memoria EPROM del controlador. La transferencia del programa se realiza a través de comunicación serial RS232 desde la computadora.

3.1.1. Programación en lenguaje ACL

Como ya se explicó anteriormente, se utilizará lenguaje ACL para la programación de un robot. A continuación se explicará algunas nociones básicas sobre este lenguaje de programación, para mayor información, consultar el manual de programación para el controlador B. Sistemas de coordenadas:

El lenguaje ACL permite programar en dos tipos de sistemas de coordenadas: JOINTS y XYZ. Para el laboratorio se hará uso de las coordenadas XYZ, es decir, el posicionamiento del gripper se realiza de acuerdo a un eje cartesiano. Para el movimiento hacia una posición intervienen todas las uniones o articulaciones necesarias de manera que el movimiento hacia una posición sea recto. Tipos de datos: Para la programación en ACL haremos uso de tres tipos de datos.

a) Variables: Los valores están en el rango de [-2147483647 ; +2147483647] y pueden ser de dos tipos: variables globales y locales. • Variables Globales: Estas variables pueden usarse en todos los programas. Se definen a

través del comando GLOBAL. • Variables Locales: Estas variables solo pueden usarse en el programa que fueron

definidas. Se definen a través del comando DEFINE.

Page 7: Laboratorio ING301 - Guía de Robótica

b) Cadenas de texto: Son argumentos textuales de hasta 10 caracteres y se utilizan a través del comando PRINT y PRINTLN. Estos permiten una línea de comando de hasta 40 caracteres o espacios.

c) Posiciones: Las posiciones se reservan en un área de memoria. Se definen a través del comando DEFP y para guardar una posición se hace uso del comando HERE.

Lista de comandos más utilizados Comando y Formato Descripción MOVE <pos> Mueve el robot a la posición especificada y a la velocidad actual MOVED <pos> Igual que el comando MOVE excepto que el programa continuará con

el próximo comando solo cuando haya alcanzado la posición. OPEN Abre el gripper CLOSE Cierra el gripper SPEED <val> Ajusta el valor de la velocidad en porcentaje para todos los ejes al

valor seleccionado RUN <prog> Ejecuta el programa especificado SHIFTC <pos> BY <coord> <val>

Modifica la posición a lo largo del eje cartesiano un valor determinado

DELAY <var> Suspende la ejecución del programa durante el tiempo especificado en centésimas de segundos

WAIT <var1><cond><var2> Suspende la ejecución de un programa hasta que la condición se cumpla

DEFP <pos> Crea (define) una posición HERE <pos> Graba en coordenadas de ejes una posición absoluta del robot DEFINE <var> Crea (define),variables locales SET <var1> = <var2> Asigna el valor de var2 a var1 SETP <pos2> = <pos1> Copia los valores de las coordenadas y el tipo de posición de pos1 a

pos2 IF <var1><cond><var2> Comprueba la relación condicional ELSE Sigue a IF y precede a ENDIF. Ejecuta los comandos si IF es falso ENDIF Indica el fin del condicional IF FOR <var> = <val1> TO <val2>

Comando de bucle. Ejecuta el contenido entre FOR y ENDFOR para todos los valores de la variable

ENDFOR Fin del bucle FOR PRINTLN “string” Presenta en pantalla la cadena de caracteres “string” END Fin del programa 3.1.2. Secuencia de pasos para el desarrollo de una aplicación

Antes de empezar a controlar el robot se debe seguir una serie de pasos. 1) Entrar a la carpeta ATS-6, la cual se encuentra en el escritorio, luego abrir la aplicación

DOWNLOAD.EXE. Nos aparecerá la pantalla que se muestra en la figura 9.

2) Presionar la tecla F4 para entrar al terminal ATS, en el terminal ATS, escribir “AUTO” y presionar ENTER, nos aparecerá un aviso que dice “O.K.”(ver figura 10), este paso siempre se debe realizar cuando queremos escribir en el terminal. Para realizar este paso se debe asegurar que el selector de modo de funcionamiento del Teach Pendant se encuentre en AUTO (ver figura 9),

3) El siguiente paso es la ejecución del HOME, este paso es muy importante y se debe realizar antes de empezar a controlar el robot, ya sea controlarlo a través del Teach Pendant o del computador, de lo contrario el robot no podrá realizar movimiento en ningún eje. Para ello se debe escribir “RUN HOMES” en el terminal, entonces el robot empezará a moverse en todos sus ejes, para lo

Page 8: Laboratorio ING301 - Guía de Robótica

cual debemos esperar a que el robot termine de inicializarse. Una vez que el robot termine de ejecutar el home, nos aparecerá el aviso “Homing complete”, tal como se muestra en la figura 10.

Figura 9: Menú principal.

Figura 10: Terminal ATS después de haber inicializado el home.

4) Una vez inicializado el home, se empieza a guardar posiciones que van a ser conocidas en nuestro programa, esto se puede realizar a través del Teach Pendant (con RECORD POSITION) o a través del terminal (utilizando el comando HERE).

5) Una vez que se han guardado las posiciones, regresamos al menú principal, para ello se presiona Shift+F9.

6) Escribir un programa en un editor de texto y guardarlo como un archivo DNL, el cual es el tipo de archivo que reconoce este software. En el menú principal escribir la ruta de acceso a nuestro programa, presionar ENTER y luego F1 para la descarga y compilación del programa. Si nuestro programa no tiene errores de sintaxis nos aparecerá un mensaje diciendo que nuestro programa es válido. Tal como aparece en la figura 11.

Page 9: Laboratorio ING301 - Guía de Robótica

7) Finalmente, entramos al terminal presionando F4, ejecutamos el comando AUTO como se hizo en el paso N°2, y corremos nuestro programa a través del comando RUN, en este ejemplo, como nuestro programa se llama CETAM escribimos “RUN CETAM”, entonces nuestro programa empezará a ejecutarse.

Figura 11: Programa compilado.

4. SISTEMAS ROBÓTICOS A USAR EN EL LABORATORIO Se utilizarán dos robots: El Scorbot ER-IR y el Scora ER-14. Ambos se programarán a través del

controlador B. 4.1. BRAZO ROBÓTICO SCORBOT ER-IR Este robot es un brazo articulado verticalmente, en la figura 12 se muestra el robot.

Figura 12: Brazo Robótico Scorbot ER-IR

El Robot Scorbot ER-IX de la marca Eshed Robotec tiene 5 grados de libertad:

• Son del tipo rotacional. • Los tres primeros son llamados: base, hombro y codo que definen el espacio de trabajo del

robot.

Page 10: Laboratorio ING301 - Guía de Robótica

• Los dos últimos son llamados pitch y roll que definen la orientación del objeto y conforman la muñeca del robot.

• Cada articulación está compuesta por un motor DC de 24V, un encoder incremental, y un sistema de transmisiones.

Figura 13: Grados de libertad del Scorbot ER-IR

Movimiento del eje Rango del eje Veloc. Efect. Veloc. Máx.

Base 270° 79° /seg 112° /seg

Brazo inferior 145° 68° / seg 99° /seg

Brazo superior 210° 76° / seg 112° /seg

Muñeca (elevación) 196° 87° /seg 133° /seg

Muñeca (rotación) 737° 166° /seg 240 °/seg

• El encoder incremental obtiene la posición y velocidad de cada eje. • La transmisión incrementa el torque y la resolución. • Radio de operación máximo : 691 mm, sin la pinza. • Repetibilidad : 0.09 mm • Carga Máxima : 2kg, incluida la pinza. • Pinza (Gripper) : neumático

4.2. BRAZO ROBÓTICO SCORA-ER14 Este robot es un brazo articulado horizontalmente, en la figura 14 se puede apreciar el robot.

Page 11: Laboratorio ING301 - Guía de Robótica

Figura 14: Robot Scora-ER14

El Robot Scorbot ER-IX de la marca Eshed Robotec tiene 4 grados de libertad:

• Tres son del tipo rotacional y uno de tipo traslación. • Dos de los ejes de tipo rotacional definen la posición en las coordenadas XY, mientras que el

otro define orientación respecto al eje Z del gripper • El eje de traslación define la altura, en otras palabras la posición del eje Z.

Características

4 ejes y un servo gripper Movimiento de los ejes:

Eje 1: Rotación 288° Eje 2: Rotación 218°

Eje 3: Traslación 182 mm Eje 4: con el gripper +/- 527°

Radio de Operación mínimo: 230 mm Radio de Operación máximo: 500 mm

Repetibilidad: +/- 0.5 mm Carga máxima: 2kg incluido el gripper

Peso: 30kg.

4.3. CONTROLADOR TIPO B Como ya se explicó anteriormente, tanto Scorbot ER-IR y el Scora-ER14

• Comunicación: 2 canales RS232 (expandible sobre 10 canales). • Puerto paralelo bidireccional (para imprimir o para una rápida comunicación). • Lenguaje propio de programación ACL (Advanced Control Language). • Control de trayectorias continuas (lineal, circular, funciones matemáticas: seno, etc). • Tiempo de respuesta: 5 milisegundos. • 16 entradas y 16 salidas. • Está equipado con tarjetas controladoras para 6 ejes (expandible a 12). • Microcontrolador Motorola 68020 que le otorga la capacidad de ejecución de hasta 20

programas simultáneamente, sensado y monitoreo en tiempo real y respuesta a entradas externas.

Page 12: Laboratorio ING301 - Guía de Robótica