UNIVERSIDAD CESAR VALLEJO FACULTAD DE INGENIERIA
MODELADO, ANALISIS CINEMATICO Y DESARROLLO DE UN ROBOT INDUSTRIAL DE 4 GRADOS DE LIBERTAD
AUTORES
:
ASESOR
ABANTO VASQUEZ, FRANKLIN CASSANA CUSTODIO, PABLO GAMBOA TAFUR, ERIX SAONA CARRION, ELVIS UCEDA ESQUIVEL, ANTHONY VALLADARES DE LA CRUZ, FELIX
: Dr. PRADO GARDINI SIXTO
INDICE
INTRODUCCION EI gran dinamismo que los avances en robótica y disciplinas afines tienen en nuestros días origina que el concepto de robot deba ser revisado y ampliado con frecuencia. La relectura de los primeros textos literarios de ciencia ficción que tratan el tema de la robótica, presentan presentan casas robotizadas, robotizadas, automóviles robots robots o robots dotados de una alta capacidad de interacción con los humanos. Todos ellos han dejado de ser hoy en día quimeras de la ciencia-ficción para ser realidades tecnológicas que entran dentro de la disciplina de la robótica. Es, por ello, complicado acotar lo que debe ser entendido por un robot y, consecuentemente, consecuentemente, definir este término con la suficiente generalidad como para cubrir el amplio campo de dispositivos que como tal son, hoy en día, reconocidos. En este sentido, puede resultar valido el revisar las definiciones, no estrictamente técnicas, contenidas en enciclopedias, antes de dar una definición de robot. Un sistema robótico se puede puede describirse, describirse, como "aquel que es capaz capaz de recibir información, de comprender su entorno a través del empleo de modelos, de formular y de ejecutar planes, planes, y de controlar controlar o supervisar supervisar su operación". operación". La robótica robótica es esencialmente pluridisciplinaria y se apoya en gran medida en los progresos de la microelectrónica y de la informática, así como en los de nuevas disciplinas disciplinas tales como el reconocimiento de patrones y de inteligencia artificial. A pesar de su enorme dificultad científico tecnológica de este objetivo, los esfuerzos realizados y el aprovechamiento de los avances conseguidos en las disciplinas que sirven de soporte a la robótica como son la electrónica y la informática ha dado lugar a que en la primera década del siglo XXI se viva un nuevo resurgimiento de la robótica, evolucionando desde el entorno industrial a dos nuevos sectores: la robótica de servicios profesionales y la robótica profesional. La robótica es una disciplina en auge, y la formación del profesional de la ingeniería, tanto en sus ramas de automatización, mecánica y informática. La robótica posee un reconocido carácter interdisciplinar, partiendo en ella diferentes ciencias básicas y tecnologías tales como la teoría de control, la mecánica, la electrónica el álgebra y la informática, entre otras.
CAPITULO I
1. Objetivos. 1.1. Objetivo general.
1.2.
Modelar y realizar el análisis cinemático de un robot industrial de 4 grados de libertad utilizando programas CAD-CAE/ Matlab.
Objetivo específico.
Diseñar y construir la interfaz que permita la comunicación y control del brazo robot mediante el micro controlador Comprender la utilidad y las formas de operar con transformaciones homogéneas. Dominar el modelo matemático de representación cinemática propuesto por Denavit –Hartenberg. Realizar el estudio estructural y cinemática del robot industrial. Comprender algunos conceptos básicos de generación de trayectorias. Modelar y simular el comportamiento cinemática de un sistema robotizado industrial de cuatro grados de libertad.
1.3.
Diagrama de flujo de operaciones.
INICIO
ENCENDIDO DEL BRAZO ROBOTICO
NO EXISTE MATERIALES A LA SALIDA DE LA PRENSA
ROBOT ESTATICO
SI MAGNETIZA EL APREHENSOR
EL PROGRAMA ELECTRONICO CONTROLA AL ROBOT PARA DIRECCIONAR LA UBICACIÓN Y DESPLAZAMIENTO.
SE RECOGE LA PIEZA Y SE GIRA 180° AL ROBOT
A GIRADO 180°
NO
SI NUESTRO ROBOT SUELTA LA PIEZA SOBRE LA FAJA TRANSPORTADORA DEL PROCESO
SE DESENERGIZA AL RO0BOT
NO SE SUELTA A LA PIEZA
1.4.
Descripción Descripción del sistema robotizado.
El robot robot asignado para el desarrollo de la presente práctica posee 5 eslabones de tipo rotacional.
Las dimensiones del robot y sus articulaciones fueron tomadas a partir del modelo real que se encuentra en el laboratorio.
1.4.1. Descripción geométrica del Brazo robótico.
Las dimensiones de cada uno de los eslabones del Brazo robótico se detallaran en la parte de los anexos en sus respectivos planos.
CAPITULO II
2. PARTES FUNCIONALES DEL ROBOT INDUSTRIAL 2.1.
ESTRUCTURA MECÁNICA
El robot industrial constituido por cinco eslabones, todos ellos formando una cadena cinemática mediante la unión consecutiva de éstos. Cada articulación provee al robot de al menos un grado de libertad‘, o bien, cada uno de los
movimientos independientes que puede realizar cada articulación con respecto a la anterior, se denomina grado de libertad (GDL). La estructura mecánica se ha diseñado de tal manera que es capaz de soportar todos los esfuerzos ocasionados por el peso de la estructura y del material a transportar. En su fabricación se optó por el acero A36 por su alta resistencia. La función principal de la estructura es ser el soporte, el esqueleto del robot, el cual se encarga de soportar todo tipo de esfuerzo a raíz de su trabajo. 2.2.
PARTE ELECTRÓNICA
2.2.1. MOTO REDUCTORES : También es posible accionar
el brazo
mecánico mediante los usos de moto reductores o bien motores DC con cajas reductoras adecuadas. El resto de la mecánica no cambia, pero hay que tener en cuenta que en los motores DC, a diferencia de los motores paso a paso, no es posible controlar su giro. Estos giran una vez aplicada la energía y no hay forma de saber cuánto han girado. Para solucionar esto, se puede hacer uso de un sistema de retroalimentación que nos informe en qué posición se encuentra cada eje y de esta forma sabremos cuándo debemos accionar o detener un motor y a su vez hacia qué lado debe girar el mismo. Este sistema es comúnmente llamado Servomecanismo, y para realizarlo basta simplemente con hacer uso de un potenciómetro lineal conectado mecánicamente con cada eje que se desee controlar. De esta forma, cada vez que el eje gire, también girará el
potenciómetro del cual podemos obtener una lectura analógica de la posición del eje. El siguiente paso es transformar esta lectura analógica en digital, para poder interpretarla en la PC y tomar las acciones necesarias. Para esto existen chips A/D que con muy pocos componentes externos permiten traducir una o varias lecturas analógicas y representarlas en un byte que puede ser leído e interpretado por cualquier dispositivo digital. 2.2.2. SERVOMOTORES: Para dar movimiento al brazo robótico imprimible se han han utilizado tres tres servomotores modelo S3003 y uno modelo S3305 todos ellos de la marca Futaba. Futaba. Éstos se ocupan del movimiento de la base y los dos primeros eslabones. Además el brazo robótico cuenta con cuatro micro-servomotores cuyo modelo es el SG90 de TowerPro. TowerPro. Éste modelo, de reducido peso y tamaño, se empleado en el último eslabón y en la muñeca del robot. A continuación se muestran las imágenes correspondientes a los diferentes servomotores empleados. Además de un esquemático mostrando las dimensiones de éstos.
Los modelos S3003 y S3305 son análogos con excepción de su torque y su peso. En En la tabla tabla siguiente podemos ver ver una comparación de las diferentes características de los servomotores utilizados. Tabla 1. Características principales de los servomotores utilizados Características
FUTABA Sistema de control PWM Tensión de funcionamiento funcionamiento 4.8-6.0 Velocidad (a 6.0V) [s/°] 0.2s/60° Torque (a 6.0V) [kg·cm] 8.9 Tamaño [mm] 40x20x38.1 Peso [g] 46.5
Tipo de servomotor FUTABA Tower Pro PWM PWM 4.8-6.0 4.0-7.2 0.19s/60° 0.12s/60° 4.1 1.2 40x20x38.1 22.5x12.0x26. 37.2 9.0
2.2.3. Microprocesador: El microprocesador microprocesador (o simplemente procesador) es el circuito integrado central y más complejo de un sistema un sistema informático; a informático; a modo de ilustración, se le suele llamar por analogía el «cerebro» de un computador. computador. Es un circuito un circuito integrado conformado por millones de componentes electrónicos. Constituye la unidad central
de
procesamiento (CPU)
de
un PC un PC catalogado
como microcomputador. como microcomputador. Es el encargado de ejecutar los programas, los programas, desde el sistema el sistema operativo hasta
las aplicaciones las aplicaciones de
usuario;
sólo
ejecuta
instrucciones programadas en lenguaje de bajo nivel, nivel, realizando operaciones aritméticas operaciones aritméticas y lógicas simples, tales como sumar, como sumar, restar, restar, multiplicar, dividir, multiplicar, dividir, las las lógicas lógicas binarias y accesos a memoria. a memoria. El micro controlador empleado es el Arduino UNO. Utiliza un microprocesador ATMEGA328 del fabricante Atmel. Se han utilizado las salidas digitales y PWM para el control de los servomotores. A continuación se muestra una imagen de dicho micro controlador.
La alimentación y la transmisión de datos desde el ordenador hacia el micro micro controlador controlador se se realizan realizan mediante un cable USB. Para el el control de los servos el micro controlador dispone de librerías específicas. Los servomotores necesitan para su funcionamiento una señal de control de tipo PWM. El micro controlador controlador dispone dispone de 14 salidas digitales de las cuales 6 proporcionan dicha señal PWM. No obstante, se podrán generar más salidas de ese tipo mediante el software interno. Las características principales del micro controlador están recogidas en la tabla expuesta a continuación. Tabla 2. Características principales del micro controlador utilizado Microprocesador Tensión de funcionamiento funcionamiento Voltaje de entrada Voltaje de entrada (límites) Entradas/salidas digitales Entradas analógicas Memoria Flash SRAM EPROM Velocidad de reloj
ATMEGA328 5V 7-12V 6-20V 14 6 32KB 2KB 1KB 16MHz
2.2.4. Cableado: sistema de conexiones mediante el cual los motores reciben la alimentación de la energía eléctrica y las pautas para el movimiento de las diferentes articulaciones articulaciones del robot industrial.
2.2.5. Morfología: El robot está formado por los siguientes elementos: estructura mecánica, sistema de accionamiento, sistema de control y elementos terminales.
2.2.5.1.
Estructura mecánica
Está formado por una serie de eslabones unidos mediante articulaciones que permiten un movimiento relatico entre cada dos eslabones consecutivos.
La mecánica guarda cierta cierta similitud con la anatomía anatomía del brazo humano. El movimiento entre las articulaciones es de rotación. Éste movimiento está limitado a los 180° de rotación de los servomotores utilizados.
El movimiento de rotación de 180° era demasiado limitado para la base restringiendo la zona de acción del robot considerablemente. considerablemente. Por este motivo, gracias a la utilización de dos servomotores conectados, conectados, se ha conseguido que la base pueda rotar 360°.
Posee seis grados de libertad (GDL). Dentro de las configuraciones más frecuentes en robots industriales podemos clasificarlo clasificarlo como robot angular o antropomórfico.
2.2.5.2.
SISTEMA DE ACCIONAMIENTO ACCIONAMIENTO
El accionamiento es directo (Direct Drive DD), ya que el eje del actuador se conecta directamente a la articulación, sin la utilización de un reductor intermedio. Gracias a esto conseguimos un posicionamiento rápido y preciso además de una simplificación del sistema mecánico al eliminarse el reductor. 2.2.5.3.
SISTEMA DE CONTROL
El sistema de control está formado por un micro controlador Arduino Uno. Éste, Éste, recibe a través del puerto serie el mensaje enviado por el programa de simulación y establece el comportamiento correspondiente correspondiente de los servomotores. 2.2.5.4.
ELEMENTOS TERMINALES
Como elemento terminal se ha montado una pinza accionada por un mini- servomotor. El diseño ha sido realizado por Edgar Simo. Se han obtenido los archivos de dicho diseño en formato STL a través del portal de internet Thingiverse (www.thingiverse.com). Posteriormente se imprimieron las piezas y se montó la pinza. A continuación mostramos una imagen de la pinza montada.
Capitulo III
3. Análisis cinemático del robot.
Para el análisis cinemático primero debemos asignar un sistema de coordenadas para cada una de las articulaciones de un robot, la forma habitual que se suele utilizar en robótica es la aplicación representación de Denavit - Hartenberg (D-H), el cual es un método matricial que establece la localización que debe tomar cada sistema de coordenadas ligado a cada eslabón de una cadena articulada, para poder sistematizar la obtención de las ecuaciones cinemáticas de la cadena completa.
Grafica
3.1.
Tabla de parámetros de Denavit- Hartenber
Una vez asignados correctamente los ejes coordenados del robot y establecemos los valores de la tabla, obteniendo obteniendo los parámetros parámetros de Denavit-Hartenberg Denavit-Hartenberg del robot asignado
ARTICULACION
THETA
D
A
ALFA
1
Q1 + 0
15
0
+90
2
Q2 +90
0
11
0
3
Q3+0
0
12
0
4
Q4 + 0
0
14
0
MATRIZ DE TRANSFORMACION HOMOGENEA DEL ROBOT INDUSTRIAL CINEMATICA DIRECTA MATRIZ (A01) (A01)
A01 = 1.0000 0 0 0
0 0 1.0000 0
0 -1.0000 0 0
0 0 1.9000 1.0000
1.0000 0 0 0
0 0 1.0000 0
0 -12.6500 0 1.0000
0 1.0000 0 0
0 0 1.0000 0
15.5860 0 0 1.0000
MATRIZ (A12) (A12)
A12 = 0 -1.0000 0 0 MATRIZ (A23) (A23)
A23 = 1.0000 0 0 0
MATRIZ (A34) (A34)
A34 = 1.0000 0 0 0
0 1.0000 0 0
0 0 1.0000 0
8.2100 0 0 1.0000
MATRIZ (A04) (A04)
A04=A01*A12*A23*A34 A04=A01*A12*A23*A34
A04 = 0 0 -1.0000 0
1.0000 0 0 0
0 -1.0000 0 0
0 0 -34.5460 1.0000
CINEMATICA INVERSA (EJEMPLO)
>> A04^-1= 0 0 1.0000 0
0.6428 0.7660 0 0
-0.7660 0.6428 0 0
16.9341 -0.1978 0 1.0000
3.2.
Cálculos de las matrices homogéneas
Para el cálculo de la matriz final aplicaremos el siguiente programa usando como herramienta el Software Matlab M atlab. Cálculo mediante el programa: Programa funtion:
% CINEMATICA DIRECTA % ELABORADO POR: GRUPO DE MECATRONICA ROBOT 4GL % A02 =cinematica2(q) devuelve la matriz de transformación del % primer sistema de coordenadas al último en función del vector Q % de variables articulares. % Ve tambien la función DENAVIT. %_____________________________________________________________ function function A04=cinematica4(q) % Parámetros Denavit-Hartenberg del robot teta = [q(1) q(2)+90 q(3) q(4)]; d = [15 0 0 0]; a = [0 11 12 14]; alfa = [90 0 0 0]; % Matrices de transformación homogénea entre sistemas de coordenadas %consecutivos A01 =denavit(teta(1),d(1),a(1),alfa(1)) A12 =denavit(teta(2),d(2),a(2),alfa(2)) A23 =denavit(teta(3),d(3),a(3),alfa(3)) A34 =denavit(teta(4),d(4),a(4),alfa(4)) % Matriz de transformación del primer al último sistema de %coordenadas A04=A01*A12*A23*A34;
Programa script: % DENAVIT Matriz de transformación homogénea. % DH = DENAVIT(TETA, D, A, ALFA) devuelve la matriz de transformacion % homogénea 4 x 4 a partir de los parametros de Denavit-Hartenberg % D, ALFA, A y TETA. % ELABORADO POR: Integrantes del grupo %_________________________________________________ function dh=denavit(teta,d,a,alfa) function dh=[cosd(teta) -cosd(alfa)*sind(teta) sind(alfa)*sind(teta) a*cosd(teta); sind(teta) cosd(alfa)*cosd(teta) -sind(alfa)*cosd(teta) a*sind(teta); 0 sind(alfa) cosd(alfa) d; 0 0 0 1];
Para hacer correr el programa necesitamos ingresar el valor de las variables articulables: En nuestro caso serán ceros.
q=zeros (4,1) q= 0 0 0 0 >> A04=cinematica4 (q) MATRIZ DE TRANSFORMACION HOMOGÉNEA DEL ROBOT A04 = 0
1.0000
0
0
0
0
-1.0000
0
0
0
-34.5460
0
0
1.0000
-1.0000 0
Programa Script que calcula las matrices en función de las variables articulares. % PROGRAMA QUE CALCULA LAS MATRICES DE CADA ARTICULACION ARTICULACION, , EXPRESADA % en FUNCION A VARIABLES ARTICULARE ARTICULARES. S. % ELABORADO POR: GRUPO DE MECATRONICA, ROBOT DE 4GL % ELABORADO: 17 JULIO 2013. %++++++++++++++++++++++++++++++++++++++++++++ syms q1 q2 q3 q4 l1 l2 l3 l4 A1=[cos(q1) -sin(q1) 0 0;sin(q1) cos(q1) 0 0;0 0 1 0;0 0 0 1]... *[1 0 0 0;0 1 0 0;0 0 1 l1;0 0 0 1]*[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]... 1].... . *[1 0 0 0;0 0 -1 0;0 1 0 0;0 0 0 1]; A2=[cos(q2+90) -sin(q2+90) 0 0;sin(q2+90) cos(q2+90) 0 0;0 0 1 0;0 0 0 1]... 1]... *[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]*[1 0 0 l2;0 1 0 0;0 0 1 0;0 0 0 1]... 1].... . *[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]; A3=[cos(q3) -sin(q3) 0 0;sin(q3) cos(q3) 0 0;0 0 1 0;0 0 0 1]... *[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]*[1 0 0 l3;0 1 0 0;0 0 1 0;0 0 0 1]... 1].... . *[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]; A4=[cos(q4) -sin(q4) 0 0;sin(q4) cos(q4) 0 0;0 0 1 0;0 0 0 1]... *[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]*[1 0 0 l4;0 1 0 0;0 0 1 0;0 0 0 1]... 1].... . *[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]; T=A1*A2*A3*A4
CAPITULO IV
4. ANALISIS ESTRUCTURAL ESTRUCTURAL Y CINEMATICO CINEMATICO 4.1. Diseño de la estructura en software CAD-CAE
Ensamble final del robot
Ensamble final del robot con sus 4 vistas principales
CAPITULO V
CONCLUSIONES Se ha alcanzado el objetivo principal de este proyecto que era el desarrollo del modelo cinemático, el control y la simulación de un brazo robótico. A continuación iremos detallando los diferentes puntos que ha abarcado el proyecto:
Comunicación
El usuario puede mandar órdenes de actuación al robot a través del teclado. El programa interpreta las indicaciones, muestra la nueva posición del robot en el simulador y se comunica con el micro controlador. Éste interpreta el mensaje y manda las señales a los servomotores para que adopten la posición correspondiente. Esto se ha conseguido gracias a un protocolo predeterminado de mensajes, una programación de envío a través del puerto serie y un firmware en el micro controlador que interpreta el mensaje
Simulación en 3D del brazo robótico
Para la simulación en 3D del brazo robótico, se ha implementado una interfaz gráfica que muestre una representación representació n del robot con un posicionamiento y orientación determinados. Además se muestra por pantalla los valores de los ejes y la posición del extremo del robot.
Cinemática directa e inversa del brazo robótico
Se ha dado solución al problema cinemático directo por medio del algoritmo de Denavit-Hartenberg. Denavit-Hartenberg. El problema cinemático inverso se ha solucionado por medios geométricos. Así, se ha conseguido obtener la posición posición del extremo del robot a partir de los valores de los ángulos del mismo y viceversa.
Tele operación remota
La operación remota del brazo robótico es posible gracias al simulador. El usuario recibe la información gráfica del posicionamiento y la orientación del robot a través del monitor del ordenador. Así, puede tele operar el robot gracias a la representación representación gráfica del simulador.
Grabación de movimientos
La grabación de movimientos es posible gracias al programa de simulación. Así, el usuario puede realizar la grabación de movimientos simulados y reproducirlos en el robot real. Para conseguir esto el programa genera un archivo donde guarda
todos los movimientos.
Posicionamiento
Gracias al modelo cinemático el usuario podrá introducir un punto del espacio y el robot adoptará dicha dicha posición. Esto se ha conseguido conseguido gracias a la solución del problema de la cinemática inversa del robot.
BIBLIOGRAFÍA A. Recursos en formato físico
Antonio Barrientos, Luis Felipe Peñín, Carlos Balaguer y Rafael Arecil: “ Fundamentos de Robótica Industrial ” Ed. McGraw-Hill 1997.
B. Recursos en formato electrónico
OpenGL: “The Industry’s Fundation for High Performance Graphics ”. Página web con información relativa a OpenGL. Dirección: http://www.opengl.org
Cplusplus: Cplusplus: página web con información general a cerca de la programación en lenguaje C++. Dirección web: http://www.cplusplus.com
C con clase: clase: página web con información general a cerca de la programación en C y C++. Dirección web: http://c.conclase.net http://c.conclase.net
Iearobotics: “Ingeniería, Electrónica, Aplicaciones frikis y Robótica ”. En ésta página se encuentra información relativa a las impresoras 3D y diversos proyectos de robótica. Dirección web: http://www.iearobotics.com
Curso de introducción a OpenGL (v1.0), (v1.0) , Jorge García (Bardok) 2003. Disponible en el enlace web: http://iearobotics.com/alber http://iearobotics.com/alberto/lib/exe/fetc to/lib/exe/fetch.php?media= h.php?media=teaching:ma teaching:manualnualopengl.pdf
Thingiverse: portal de la empresa MakerBot de donde se pueden obtener diseños de piezas imprimibles compartidos por usuarios de forma gratuita. Dirección web: http://www.thingiverse.com
Librería "servo.h" de Arduino. Esta librería incorpora funciones para el manejo de servomotores desde el microcontrolador Arduino. Dirección web: http://arduino.cc/es/Referenc http://arduino.cc/es/Reference/Servo e/Servo
ANEXOS:
VER ARCHIVOS ADJUNTOS EN EL CD