Trabajo Fin de Grado. ANÁLISIS DE MANIPULADORES INDUSTRIALES. APLICACIÓN A UN SCARA. (Analysis of industrial robots

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN UNIVERSIDAD DE CANTABRIA Trabajo Fin de Grado ANÁLISIS DE MANIPULADORES IN

1 downloads 48 Views 12MB Size

Story Transcript

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN UNIVERSIDAD DE CANTABRIA

Trabajo Fin de Grado

ANÁLISIS DE MANIPULADORES INDUSTRIALES. APLICACIÓN A UN SCARA. (Analysis of industrial robots. Study of a SCARA)

Para acceder al Título de

GRADUADO EN INGENIERÍA EN TECNOLOGÍAS INDUSTRIALES

Autor: Lidia Mauriz Fernández Julio - 2016

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Índice 1

Introducción ............................................................................... 1 1.1

2

Robot industrial ...................................................................... 1

1.1.1

Eslabones y Articulaciones .................................................. 5

1.1.2

Sensores .......................................................................... 7

1.1.3

Actuadores ....................................................................... 8

1.2

Robot cartesiano .................................................................... 8

1.3

Robot cilíndrico .................................................................... 10

1.4

Robot esférico ...................................................................... 10

1.5

Robot SCARA ....................................................................... 10

1.6

Robot antropomórfico ........................................................... 12

1.7

Objeto del proyecto .............................................................. 13

Análisis del sistema ................................................................... 15 2.1

Modelado ............................................................................ 15

2.1.1

Análisis y diseño ............................................................. 16

2.1.2

Motor de corriente continua .............................................. 16

2.1.3

Articulación .................................................................... 17

2.2

Cinemática .......................................................................... 19

2.2.1

Cinemática directa ........................................................... 20

2.2.2

Denavit-Hartenberg ......................................................... 21

2.2.3

Cinemática inversa .......................................................... 25

2.2.4

Cinemática diferencial ...................................................... 26

2.3

Dinámica ............................................................................. 27

2.3.1

Euler-Lagrange ............................................................... 28

2.3.2

Euler-Newton .................................................................. 30

I

Lidia Mauriz Fernández

2.4

Generación de trayectorias .................................................... 31

2.4.1

Control cinemático .......................................................... 34

2.4.2

Trayectorias en el espacio cartesiano ................................. 34

2.4.3

Trayectorias en el espacio articular .................................... 36

2.5

3

Análisis de manipuladores industriales

Control................................................................................ 38

2.5.1

Características del sistema ............................................... 41

2.5.2

Sistema dinámico de segundo orden .................................. 43

2.5.3

Control proporcional ........................................................ 44

2.5.4

Control proporcional derivativo ......................................... 44

2.5.5

Control proporcional integral derivativo .............................. 45

2.5.6

Diseño de un controlador ................................................. 46

Ejemplo de implementación ........................................................ 48 3.1

Cinemática de un robot SCARA .............................................. 48

3.1.1 3.2

Control de un robot SCARA .................................................... 51

3.2.1 3.3

Caso de la implementación en LEGO Mindstorms ................. 50

Caso de la implementación en LEGO Mindstorms ................. 52

Diseño eléctrico y mecánico ................................................... 54

3.3.1

Prototipo ........................................................................ 54

3.3.2

Accionadores .................................................................. 55

3.3.3

Transmisión .................................................................... 56

3.3.4

Mediciones ..................................................................... 59

3.4

Descripcion de los medios ..................................................... 60

3.4.1

Hardware de LEGO® ........................................................ 60

3.4.2

Software ........................................................................ 66

3.5

Simulación del sistema.......................................................... 66

3.6

Programación ...................................................................... 85 II

Lidia Mauriz Fernández

Análisis de manipuladores industriales

4

Presupuesto .............................................................................. 91

5

Conclusiones ............................................................................. 93

6

Trabajo a futuro ........................................................................ 95

7

Referencias ............................................................................... 97

8

Anexos ................................................................................... 100

9

8.1

Cálculos ............................................................................ 100

8.2

Código de simulación .......................................................... 101

8.3

Código de programación...................................................... 109

Pliego de condiciones ............................................................... 112 9.1

Especificación de los materiales empleados............................ 112

9.2

Instrucciones de Montaje con Lego Mindstorms EV3 ................ 114

III

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Lista de Figuras Figura 1.1: Espacio de trabajo para distintas configuraciones de un robot 3 Figura 1.2: Ampliación de los GDL de un robot a través de una base ....... 4 Figura 1.3: Ejes y ángulos de rotación................................................. 5 Figura 1.4: Par prismático (izquierda) y par rotacional (derecha) ............ 6 Figura 1.5: Robot cartesiano de la compañía Fisnar .............................. 9 Figura 1.6: SCARA de la compañía ABB ............................................. 11 Figura 1.7: Robot antropomórfico de la compañía KUKA ...................... 13 Figura 2.1: Esquema de un motor de CC ........................................... 16 Figura 2.2: Esquema de los componentes de una articulación .............. 18 Figura 2.3: Relaciones cinemáticas ................................................... 20 Figura 2.4: Convención Denavit-Hartenberg ....................................... 22 Figura 2.5: Ejemplo de trayectoria trazada sobre una colección de puntos .................................................................................................... 32 Figura 2.6: Diagrama de un sistema de lazo abierto (superior) y un sistema de lazo cerrado (inferior) ..................................................... 38 Figura 2.7: Representación de un sistema MIMO (izquierda) y los sistemas SISO correspondientes (derecha) ..................................................... 40 Figura 3.1: Esquema de un robot SCARA ........................................... 48 Figura 3.2: Prisma rectangular como modelo de los eslabones ............. 51 Figura 3.3: Prototipo SCARA con LEGO .............................................. 55 Figura 3.4: Tren de engranajes de la primera articulación .................... 57 Figura 3.5: Tren de engranajes de la segunda articulación ................... 58 Figura 3.6: Engranajes de la tercera articulación ................................ 59 Figura 3.7: Brick EV3 del kit LEGO® Mindstorms® ............................... 61 Figura 3.8: Motor grande del kit LEGO® Mindstorms® .......................... 62 Figura 3.9: Gráfica experimental de par contra velocidad y corriente del motor grande EV3 .......................................................................... 63 Figura 3.10: Gráfica experimental de voltaje contra velocidad del motor grande EV3 .................................................................................... 63 Figura 3.11: Motor mediano del kit LEGO® Mindstorms®EV3 ................ 64 IV

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.12: Gráfica experimental de par contra velocidad y corriente del motor mediano EV3 ........................................................................ 65 Figura 3.13: Gráfica experimental de voltaje contra velocidad del motor mediano EV3 ................................................................................. 65 Figura 3.14: Interfaz de RoboAnalyzer para la simulación de un SCARA 67 Figura 3.15: Gráfica de características para la articulación 1del SCARA en RoboAnalyzer ................................................................................. 68 Figura 3.16: Gráfica de características para la posición final del SCARA en RoboAnalyzer ................................................................................. 68 Figura 3.17: Interfaz de RoboAnalyzer para la cinemática inversa de un SCARA .......................................................................................... 69 Figura 3.18: Esquema del SCARA en MATLAB..................................... 70 Figura 3.19: Simulación de una trayectoria lineal por un SCARA ........... 72 Figura 3.20: Características articulares de la trayectoria lineal del SCARA .................................................................................................... 73 Figura 3.21: Simulación de un cuadrado trazado por un SCARA ............ 74 Figura 3.22: Características articulares del cuadrado trazado por el SCARA .................................................................................................... 76 Figura 3.23: Simulación de un círculo trazado por un SCARA ............... 77 Figura 3.24: Características articulares del círculo trazado por el SCARA .................................................................................................... 78 Figura 3.25: Simulación de la letra E trazada por un SCARA................. 79 Figura 3.26: Vista en planta de la simulación de la letra E trazada por un SCARA .......................................................................................... 80 Figura 3.27: Características articulares de la letra E trazada por el SCARA .................................................................................................... 81 Figura 3.28: Simulación del dibujo de las letras UC trazado por un SCARA .................................................................................................... 82 Figura 3.29:Vista en planta de la simulación del trazado UC por un SCARA .................................................................................................... 83 Figura 3.30: Características articulares de las letras UC trazado por el SCARA .......................................................................................... 84 V

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.31: Esquema del programa con LEGO Mindstorms EV3 ........... 86 Figura 3.32: Prototipo SCARA en posición de reposo ........................... 87 Figura 3.33: Efector final del prototipo sobre el papel (posición activa).. 87 Figura 3.34: Efector final del prototipo elevado (posición de reposo) ..... 88 Figura 3.35: Resultado real de la línea trazada por el prototipo de LEGO 89 Figura 3.36: Resultado real del cuadrado trazado por el prototipo de LEGO .................................................................................................... 90

VI

Lidia Mauriz Fernández

Análisis de manipuladores industriales

1 INTRODUCCIÓN De inicios de ficción, apareciendo el concepto por primera vez en una obra de teatro y años después a manos del autor Isaac Asimov, la robótica vio su realidad física a través de la empresa UNIMATION, fundada en 1959, dedicada al diseño y construcción de robots, principalmente industriales. El desarrollo de la robótica ha permitido relevar al ser humano de tareas poco aptas para su constitución, bien sea por peligrosidad, un proceso repetitivo o una alta exigencia de precisión. Esto podemos comprobarlo desde su misma raíz, siendo la palabra robota, el origen de la palabra robot, proveniente del checo, cuyo significado es trabajo forzado u obligatorio. [1]Equation Chapter (Next) Section 1 La robótica es una ciencia dedicada al diseño, modelado, desarrollo y control de robots en todo tipo de ámbitos, ya sea industrial, médico, educativo, de investigación o cualquier otro en el que pueda tener aplicación. Un robot, en su definición más amplia, es un mecanismo actuador programable en dos o más ejes con autonomía moviéndose en su entorno para realizar unas tareas determinadas, lo cual incluye el sistema de control y la interfaz pertinente. Dentro de esta familia de máquinas se clasifican entre robots industriales y no industriales o de usos especiales. Este último grupo abarca todo tipo de robot que realiza una tarea útil para los humanos o un equipamiento no relacionado con las aplicaciones de automatización industrial, como puede ser un robot limpiador o un robot de movilidad asistida, cuyo estudio no se desarrolla en este trabajo. [1] [2]

1.1 ROBOT INDUSTRIAL Un robot industrial es un manipulador multifuncional reprogramable controlado de forma automática, de acuerdo a la definición de la Organización

Internacional

para

la

Estandarización

(ISO).

Por 1

Lidia Mauriz Fernández

Análisis de manipuladores industriales

consiguiente, para poder considerar que una máquina es un robot ha de cumplir que pueda ser utilizado para distintas actividades

y una

programación flexible que permita ser reescrita, siendo su aplicación mover

materiales

o

herramientas

en

un

espacio

determinado

y

programado. Se encarga por tanto de la realización de una o varias tareas relativas a mano de obra no cualificada o semicualificada de forma precisa, rápida y repetitiva. Las áreas de aplicación pueden clasificar a los robots en robots de manipulación, que se encargan de operaciones de carga, descarga y desplazamiento y son de gran potencia y dimensión sin disponer de demasiada habilidad; robots de transformación, de gran potencia

encargados

de

acciones de

corte,

fresado

y

actividades

relacionadas; robots de fabricación propios de las cadenas de montaje que trabajan de forma coordinada sin necesitar estructuras muy robustas ni elevadas potencias, cuentan con mucha habilidad para posicionarse y orientarse al realizar labores como pintado, soldadura o remachado; robots de ensamblado, los cuales son rápidos, precisos y muy rígidos, con un tamaño muy inferior a los anteriores que se encargan de montaje y soldadura especialmente de componentes electrónicos como el robot SCARA. A la hora de cuantificar los tipos de robots industriales, podemos resumir la tarea en la existencia de tantos tipos como tareas se precisen y pueden desarrollar, viéndose este número incrementado a medida que se profundiza en la automación. [1] [2] [3] Un robot industrial forma una cadena cinemática abierta, como resultado de disponer de forma consecutiva una serie de eslabones unidos mediante articulaciones manejadas por actuadores, lo cual permite el movimiento relativo entre elementos consecutivos, y dota de movimiento a la máquina. El extremo final, que es la parte final del último eslabón, está destinado a acoplar la herramienta adecuada para la actividad a realizar, su posición se denota por [x, y, z]T y la orientación mediante los ángulos de Euler [ψ, θ, Φ]T.

2

Lidia Mauriz Fernández

Análisis de manipuladores industriales

El lugar en el que el robot puede realizar todos sus movimientos se denomina espacio de trabajo, el cual está determinado por la geometría del robot y el tipo de articulaciones que lo componen.

Figura 1.1: Espacio de trabajo para distintas configuraciones de un robot

Fuente: http://es.slideshare.net/omarspp/cinemtica-de-los-manipuladores

Un cuerpo rígido consta de seis grados de libertad (GDL), de modo que un sistema mecánico con m cuerpos móviles necesita 6m coordenadas para especificar por completo su configuración en el espacio cartesiano tridimensional. Los sistemas mecánicos no pueden moverse libremente a causa de las restricciones c impuestas por las articulaciones, por lo cual las coordenadas a especificar de manera independiente conforman los GDL del sistema n.

n  6m  c

(1.1)

Se toma como habitual y base un robot de seis grados de libertad, pudiendo verse estos ampliados al modificar las características de la base que pueden incrementar en dos los GDL, o como resultado de incluir más eslabones y articulaciones en la cadena cinemática, de igual modo existen robots con un menor número de GDL según la aplicación que tengan. 3

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 1.2: Ampliación de los GDL de un robot a través de una base Fuente: http://www.directindustry.es/prod/kuka-roboter/product-17587-899277.html

Tres grados de libertad dotan al brazo robot de su movimiento en el espacio,

y

su

situación

en

un

punto

concreto

definidos

por

las

coordenadas cartesianas, siendo los otros tres grados de libertad situados generalmente en el actuador del robot, el extremo, los que permiten la orientación requerida respecto de ese punto. De este modo, con seis parámetros quedaría totalmente definida la posición y orientación en un punto del espacio. Si se tratase de un espacio de trabajo sobre el plano, en dos dimensiones, serían suficientes tres parámetros para determinar la localización [x, y] y orientación [Φ], por lo que un robot de tres GDL sería suficiente para realizar la tarea, siempre y cuando las articulaciones estén dispuestas

adecuadamente

para

cubrir

ese

espacio

de

trabajo

adecuadamente.

4

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 1.3: Ejes y ángulos de rotación Fuente:http://datateca.unad.edu.co/contenidos/299012/ROBOTICA%20AVANZADA%20E XE/UNIDAD%201/leccin_53.html

La distribución de la cadena cinemática está relacionada con la similitud que guarda un robot industrial con la anatomía de un brazo humano, apareciendo en la máquina las articulaciones correspondientes al cuerpo humano. Se corresponde la cadera con la articulación en la base, el hombro, que ha de mover y soportar el peso del resto de la cadena, por lo que ha de ser la de mayor capacidad, la encontramos a continuación así como una articulación que haría la función de codo y finalmente la muñeca, relativa al actuador que se emplee. Su utilización va en aumento dada su flexibilidad y su uso dentro de la industria, donde los procesos son cada vez más sofisticados y complejos y requieren de una máquina en sustitución de un humano ya sea por precisión, potencia o volumen de trabajo. [4] 1.1.1

Eslabones y Articulaciones

Un eslabón es cada cuerpo individual que conforma el robot, se suponen todos los eslabones rígidos, por lo que la distancia entre dos puntos dentro del cuerpo no cambia. Si dos o más cuerpos se conectan entre sí 5

Lidia Mauriz Fernández

Análisis de manipuladores industriales

sin ningún movimiento relativo entre ellos se considerará como un solo elemento. Un par cinemático constituye una unión entre eslabones, la cual permite el movimiento relativo entre estos en un determinado número de grados de libertad restringiéndolo en otros. Las articulaciones empleadas en los robots industriales se basan en los pares prismáticos de clase uno, los cuales permiten el movimiento en un grado de libertad. Pertenecen a esta clasificación los pares prismáticos y de revolución, ambas son las articulaciones principales de la cadena cinemática que conforma el robot industrial. El primero permite el desplazamiento relativo entre dos elementos en el eje en el que se disponga, mientras que un par rotacional admite el giro relativo entre dos elementos. [5]

Figura 1.4: Par prismático (izquierda) y par rotacional (derecha) Fuente: Creación propia

El movimiento relativo puede ser además de una rotación o una traslación una combinación de ambos, sin embargo presenta una dificultad superior en el control que el uso de pares prismáticos y rotacionales. Estas articulaciones serían de tipo cilíndrico de permitir la traslación y giro sobre el mismo eje, esféricas si la libertad de movimiento se da en la rotación sobre cualquier eje sin traslación o planar si permite la traslación sobre un eje y el giro sobre el perpendicular a este. [4] [5]

6

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Las articulaciones que componen un robot industrial pueden designar el tipo de máquina que es, utilizando las siglas R y P para hacer referencia a las articulaciones rotacionales y prismáticas respectivamente. De este modo el número y orden de siglas que designen un robot indicarán por una parte el número de articulaciones que tiene, y de este modo los gdl, y por otro el tipo de articulaciones que lo componen y su orden en la cadena cinemática, siendo la primera sigla la referente a la base y la última la del extremo. [4]

1.1.2 Sensores Los sensores son elementos utilizados en el control ya que facilitan información sobre el estado interno del robot. La posición, velocidad y aceleración son las variables principales a conocer, siendo de especial interés el uso de encoders, un sensor interno que proporciona información sobre el desplazamiento articular. Un encoder óptico basa su funcionamiento en una fuente de luz incidente sobre un disco ranurado colocado en el rotor del motor, de tal modo que al girar un receptor registra el número de rayos de luz que han pasado por las ranuras del disco y mediante un circuito electrónico se genera una señal de salida proporcional al ángulo girado. Los encoders no ópticos, como el encoder magnético, tienen la ventaja de ser inmunes al ruido existente en los encoder ópticos por el uso de diodos LED, sin embargo tienen menor exactitud y una vida más corta debida a la degradación de los componentes mecánicos. Los sensores externos evalúan fuerza, visión o presión, dando versatilidad al robot y mejorando su eficiencia y autonomía al permitir la interacción con el entorno en su espacio de trabajo. El empleo de cualquier tipo de sensor suele incluir un circuito electrónico que adapte la señal de salida. Esto se debe a que el sensor mide una variable física como posición o temperatura y se precisa una salida en una

7

Lidia Mauriz Fernández

Análisis de manipuladores industriales

señal medible por un sistema electrónico de control como puede ser el voltaje o la corriente.

1.1.3 Actuadores Los actuadores se encargan de dar movimiento a las articulaciones. Pueden ser elementos neumáticos, hidráulicos o eléctricos según la aplicación y los medios disponibles. Por

aplicación

y

precisión

los

actuadores

más

utilizados

son

los

servomotores, un elemento electromecánico perteneciente a la familia eléctrica. Disponen de tres modos de operación según se quiera actuar sobre la posición, la velocidad o el par. Está compuesto principalmente por un motor eléctrico, un sensor de posición, encoder, para medir el desplazamiento articular ya sea rotacional

o

lineal

y

un

amplificador

electrónico

que

acopla

adecuadamente el motor a la señal de voltaje de baja potencia proveniente del sistema de control, ya sea de la computadora o de un sistema mínimo digital, ya que el motor requiere mayor potencia que la proporcionada por la señal de entrada para un correcto funcionamiento. .

1.2 ROBOT CARTESIANO Un robot cartesiano tiene movimiento rectilíneo en las direcciones cartesianas constituyendo un robot PPP, haciendo referencia a las tres primeras articulaciones que lo componen siendo todas prismáticas. Esta configuración facilita la programación del extremo ya que se trata de relaciones lineales entre coordenadas articulares y cartesianas, sin embargo tiene limitaciones en cuanto a la habilidad del movimiento que puede realizar.

8

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 1.5: Robot cartesiano de la compañía Fisnar

Fuente:http://www.intertronics.co.uk/products/fisnar_gantry_dispensing_robots.htm

Presenta un espacio de trabajo prismático, estando sus dimensiones determinadas

por

el

margen

de

movimiento

que

permita

cada

articulación, dando cada uno de los pares prismáticos los límites para cada una de las coordenadas cartesianas en las que puede situarse el extremo del robot. Este espacio es inferior al tamaño que requiere en sí el robot ya que precisa de un gran espacio físico para operar, lo cual supone un inconveniente, sin embargo presenta una gran rigidez y una determinación del extremo muy precisa, ya que el uso de pares prismáticos

disminuye

los

errores

durante

el

movimiento

de

las

articulaciones. Entre sus aplicaciones se encuentran las mesas de medición de coordenadas, impresoras láser, taladros automáticos, máquinas de corte o incluso como estructura sobre la que instalar otro robot como puede ser el caso con un robot antropomórfico en una cadena de montaje, de modo que los grados de libertad total del conjunto se ven ampliados así como su espacio de trabajo y su capacidad de ubicarse en una determinada posición con una orientación concreta. [4] [1]

9

Lidia Mauriz Fernández

Análisis de manipuladores industriales

1.3 ROBOT CILÍNDRICO El manipulador cilíndrico compone un robot tipo RPP, donde la articulación de la base es rotacional y las correspondientes a hombro y codo son prismáticas dando lugar a un espacio de trabajo cilíndrico, cuya altura viene determinada por el desplazamiento sobre el eje de la base y el radio por la amplitud de movimiento sobre el segundo eslabón dado por la tercera articulación, teniendo un límite inferior y otro superior entre los cuales puede moverse el actuador. Puede que el espacio de trabajo no conforme un cilindro completo de no poder realizarse una rotación completa de la base. Esta configuración se utiliza en desbastes de moldes, traslado de objetos o ensamble en espacios horizontales. [1] [4]

1.4 ROBOT ESFÉRICO La configuración del robot esférico corresponde a un robot de tipo RRP, donde las dos primeras articulaciones que harían la función de base y hombro son de tipo rotacional mientras que la tercera, correspondiente al codo es de tipo prismática. Los ejes sobre los que montar las articulaciones son perpendiculares entre sí, dando lugar a un espacio de trabajo esférico, cuyo radio se ve determinado por el desplazamiento lineal de la articulación prismática. Este espacio conforma una esfera hueca, no siendo posible acceder con el extremo a las posiciones propias del robot, están por tanto sus límites condicionados por las dimensiones del manipulador. Dentro de sus aplicaciones encontramos el mecanizado de piezas automotrices y la manipulación de objetos sobre suelo. [1] [4]

1.5 ROBOT SCARA El robot SCARA, cuyas siglas son un acrónimo de Selective Compliance Assembly Robot Arm (brazo robot de ensamblaje selectivo), consta de cuatro articulaciones, tres rotacionales y una prismática, siendo un robot 10

Lidia Mauriz Fernández

Análisis de manipuladores industriales

RRPR. Las dos articulaciones rotacionales van colocadas sobre el mismo eje generando un movimiento sobre el plano horizontal, el par prismático, situado en el extremo, permite un movimiento vertical en el eje z muy restringido, dirigido a la manipulación de objetos. La última articulación permite el giro del extremo de la cadena cinemática, dando rotación al manipulador o pinza situado en este. Dispone de un espacio de trabajo cilíndrico, dependiendo la altura del mismo de la capacidad de movimiento del par prismático sobre el eje z y el radio de la suma de las longitudes de los dos eslabones que conforman el brazo. [4]

Figura 1.6: SCARA de la compañía ABB Fuente: http://new.abb.com/products/robotics/industrial-robots/irb-910sc

Cabe destacar que cada compañía diseña el robot SCARA con distintas características, si bien el anteriormente expuesto responde a la estructura básica y clásica del robot, pudiendo verse modificado según la aplicación que se le quiera dar. La configuración del robot está especialmente indicada para ensamblaje de pequeños objetos, como puede darse dentro de la producción de

11

Lidia Mauriz Fernández

Análisis de manipuladores industriales

electrónica. Sus aplicaciones se expanden de igual modo al embalado y operaciones pick and place, coger y colocar. [4] [6] Este robot se introdujo primeramente en Japón en 1979, durante la siguiente década contribuyó ampliamente en la flexibilidad y eficiencia de los

sistemas

de

ensamblaje

japoneses,

dada

la

adaptabilidad

y

funcionalidad del robot en comparación con el resto de sistemas del momento, lo cual contribuyó al descenso de precios especialmente en los componentes electrónicos los cuales fueron más asequibles en el mercado a nivel mundial. El robot SCARA sigue siendo ampliamente utilizado pese a la continua evolución de la robótica en múltiples aplicaciones, dado que tiene buena precisión, velocidad y pequeñas dimensiones gracias a la ligereza de la estructura que es simple y firme, movimiento suave y una instalación y uso fáciles. [6]

1.6 ROBOT ANTROPOMÓRFICO El robot antropomórfico es la configuración más utilizada dentro de los robots industriales dada la habilidad que presenta el extremo final para definir su posición gracias a las tres articulaciones rotacionales que componen el cuerpo, siendo un robot RRR. Esto permite realizar un movimiento en el espacio con total posibilidad de orientación dentro del espacio de trabajo del que disponga el robot, correspondiente a una esfera cuya dimensión viene determinada por el tamaño de los eslabones y la distribución en la cadena cinemática.

12

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 1.7: Robot antropomórfico de la compañía KUKA

Fuente: http://www.kuka-robotics.com/NR/exeres/8C755571-A333-42D8-BB6A8B205E22B7A8

Consta de 6 GDL o más que permiten la total ubicación en el espacio, orientación incluida, a la hora de analizar la posición del extremo, donde se dispone el actuador pertinente para la actividad que se quiera realizar con el robot, como puede ser soldadura, traslado de objetos o pintura. [4]

1.7 OBJETO DEL PROYECTO Se lleva a cabo un estudio de los robots manipuladores industriales, considerando previamente las distintas configuraciones de más aplicación en la industria. En este análisis se incluye el modelado del sistema así como un estudio de su comportamiento exponiendo la cinemática correspondiente a un robot manipulador generalista. Se expone la generación de trayectorias a seguir por un manipulador como tarea principal a realizar, puesto que la aplicación es más dependiente de la herramienta dispuesta en el extremo final. Del mismo modo se explica de forma teórica el cálculo de un controlador que asegure el seguimiento preciso de las indicaciones dadas al robot. 13

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Para dar consistencia al análisis se presenta como ejemplificación del estudio el análisis, modelado y control cinemático de una adaptación de un brazo robot SCARA de tres grados de libertad que realiza un trazado (dibujo) construido con el kit Lego Mindstorms. Se utilizan herramientas reales y simuladores para llevar a cabo la simulación y programación del prototipo.

14

Lidia Mauriz Fernández

Análisis de manipuladores industriales

2 ANÁLISIS DEL SISTEMA 2.1 MODELADO EQUATION CHAPTER (NEXT) SECTION 1 Para la mejor comprensión de los sistemas físicos reales se busca describir la realidad de un fenómeno de forma abstracta a fin de definir su comportamiento y respuesta en términos de ecuaciones matemáticas. Un sistema es un conjunto de elementos que contribuyen conjuntamente a una función, pudiendo estudiarse cada componente de forma particular y dentro del conjunto. Un sistema físico es estático si su salida permanece constante en la medida en la que lo haga la entrada, dependiendo exclusivamente de la entrada en curso, por otra parte un sistema dinámico depende en su salida de una entrada previa siendo la variación progresiva en el tiempo hasta alcanzar el estado de equilibrio. El modelado matemático de un sistema real se puede desarrollar a partir de las leyes físicas que lo gobiernan. Sin embargo, estas leyes no siempre están

completamente

definidas

y

la

formulación

de

un

modelo

matemático resulta imposible, o contiene parámetros desconocidos que han de evaluarse mediante pruebas y mediciones en el sistema físico real. Este procedimiento de modelado experimental somete al sistema a una serie de entradas conocidas y se miden las salidas definidas previamente, siendo tanto entradas como salidas medibles y de interés. De la relación entre entradas y salidas se construye el modelo matemático. El modelado implica una pérdida de exactitud frente al sistema real, puesto que no se estudian todas las características del sistema físico. Discernir las variables a despreciar marca la simplicidad y exactitud del modelo a obtener. Si los efectos de las propiedades despreciadas tienen una respuesta pequeña en el sistema, los resultados del análisis del modelo matemático y los resultados de la experimentación sobre el sistema físico serán satisfactorios. A la hora de abordar un problema es conveniente comenzar por un primer modelo simplificado que de una idea 15

Lidia Mauriz Fernández

Análisis de manipuladores industriales

general de la solución, construyéndose después un modelo más detallado para un análisis más exhaustivo.

2.1.1 Análisis y diseño El análisis de un sistema es la observación del funcionamiento en condiciones especificadas del sistema. Para ello puede realizarse el estudio de los componentes que lo conforman obteniéndose el modelo matemático de cada uno, y de cuya combinación se obtendrá el modelo matemático del sistema completo. Contrastando el modelo y el sistema real ante varias situaciones y parámetros se formula el análisis. El diseño de sistemas se centra en encontrar un sistema que realice una determinada función. De este modo las características deseadas y el modo de trabajo requerido conforman el punto de partido, a partir del cual a través de diferentes técnicas matemáticas se sintetiza el sistema para que tenga esas características.

2.1.2 Motor de corriente continua Un motor de corriente continua (CC) está compuesto principalmente por dos componentes básicos que son el estator, encargado de producir el campo magnético, y el rotor que funciona como conductor y genera el movimiento. El campo magnético puede producirse mediante imanes permanentes o por bobinas devanadas en el estator, las cuales precisan de una corriente eléctrica para generar los polos magnéticos del estator.

Figura 2.1: Esquema de un motor de CC Fuente: [1]

16

Lidia Mauriz Fernández

Análisis de manipuladores industriales

El funcionamiento de este motor se basa en el principio de que un conductor

con

corriente

en

presencia

de

un

campo

magnético

experimenta una fuerza. De este modo si el estator del motor produce un flujo de inducción magnética y hay corriente en el rotor, se generará un par de torsión sobre el rotor

 m  kmia

(2.1)

Donde ia es la intensidad por el inducido,  m es el par generado por el motor, km la constante del mismo, la cual puede obtenerse de las gráficas par/velocidad propias del motor. De este modo el par de torsión sobre el rotor se controla por la corriente del inducido. Al girar, el motor actúa también como generador desarrollando un voltaje a través del inducido proporcional a la velocidad angular del rotor  m . Este voltaje constituye la fuerza contraelectromotriz denotada por vb que se opone al flujo de corriente en el conductor. La relación entre ambos está dado por la constante de fuerza electromotriz ke .

vb  kem

(2.2)

Analizando la Figura 2.1 la es el valor de la inductancia, ra la resistencia del circuito y va el voltaje de entrada, con todo esto la ecuación diferencial resultante para el circuito tiene la forma

la

dia  raia  va  kem dt

(2.3)

2.1.3 Articulación Comúnmente los eslabones del manipulador están conectados al actuador a través de un par de engranajes. En el caso de la utilización de motores de CD se utilizan engranajes para reducir la velocidad ya que la eficiencia es mejor a altas velocidades.

17

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Se modela entonces el conjunto como en la Figura 2.2, para ello se toma por una parte la relación existente en los engranajes, donde se da por η que es la razón de radios entre el primer y último engranaje. Las inercias se denotan con Il para el eslabón, Ig para los engranajes e Ia para el actuador. Se considera que existe fricción viscosa en las escobillas y en los engranajes que se condensará en el coeficiente bm.

Figura 2.2: Esquema de los componentes de una articulación Fuente: [1] pag.258

El modelado se realiza en función del ángulo de rotación del motor θm, por lo que teniendo en cuenta el par aplicado al motor comentado ya previamente y el par de la carga  l . I m m  bm m   m 

l 

(2.4)

Expresando el par de torsión de la carga en función de los parámetros de la misma, ángulo de rotación dado por θl y fricción viscosa en los cojinetes de la carga por bl

18

Lidia Mauriz Fernández

Análisis de manipuladores industriales

 l  Ill  bll

(2.5)

Se reescribe la ecuación (2.4) de modo que usando la relación del movimiento del motor y el eslabón dado por η, la relación de los engranajes, puede dejarse en términos de las variables del motor o en términos de las variables de carga,

(Im 

Il



2

) m  (bm 

bl

2

) m   m

(2.6)

( I m  I l )l  ( bm  bl )l   l 2

2

Para representar la función de transferencia del conjunto motor y articulación se relaciona la ecuación que modela el motor y la que modela la articulación, siendo una relación entre la posición del motor y el voltaje aplicado al motor, lo cual llevado al dominio de Laplace resulta:

 m (s) km   a (s) s[(las ra )(Ims b m )  k e k m ]

(2.7)

Tomando el par de la carga en el dominio de Laplace nulo. Puede reducirse el orden del sistema de tomar que la constante de tiempo eléctrica dada por la / ra es mucho más pequeña que la constante de tiempo

mecánica I m / bm . De

este

modo

si se

divide

numerador

y

denominador de la ecuación (2.7) por ra y se desprecia la constante eléctrica se obtiene

m (s) km / ra kk  ; I  Im ; b  bm  e m  a (s) s(Is b) ra

(2.8)

2.2 CINEMÁTICA La cinemática es la rama de la mecánica que estudia el movimiento de un elemento respecto un sistema de referencia sin analizar las fuerzas que lo producen, es por tanto un problema exclusivamente geométrico que se resuelve sin considerar fuerzas ni características inerciales de los elementos como es la masa o el momento de inercia. 19

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Se encarga de la descripción analítica del movimiento espacial del robot en función del tiempo, estudiando las relaciones entre la posición del extremo final del robot con los parámetros de cada articulación que lo compone. [7]

Figura 2.3: Relaciones cinemáticas Fuente: [1]

Existen dos casos de estudio: la posición del efector en función del movimiento de las articulaciones, lo cual se corresponde con el problema de cinemática directa, o el análisis de la posición y movimiento de las articulaciones en función de la posición que se quiera para el efector final siendo este un análisis de cinemática inversa como puede verse en la Figura 2.3.

2.2.1 Cinemática directa El problema cinemático directo se centra en la determinación de la posición y orientación del extremo del robot respecto a un sistema de referencia fijo, teniendo en cuenta la dependencia entre las coordenadas de las articulaciones y los parámetros geométricos de los eslabones. Ya sea movimiento lineal o rotacional, la posición del robot se indica por el vector q Є ℝn , el cual agrupa las posiciones de todas las articulaciones del robot. [1] [4] 20

Lidia Mauriz Fernández

Análisis de manipuladores industriales

En términos generales, para que el posicionamiento y orientación del extremo del robot quede completamente definido en el espacio se requieren seis coordenadas, tres para la posición cartesiana y tres para la orientación. Dependiendo de la aplicación del robot pueden requerirse menos coordenadas de posición y orientación, en el caso del robot SCARA se requieren exclusivamente las coordenadas referentes a la posición y la orientación del extremo sobre el plano horizontal, no habiendo variación en el resto de ángulos de Euler al ser un robot planar. Se define entonces la cinemática directa mediante una función vectorial continua en el vector de posiciones q, donde son conocidos los valores de los ángulos de revolución en los pares de revolución y el desplazamiento en las articulaciones prismáticas, representándose la orientación y posición del extremo final respecto al sistema de referencia fijo del robot.

x    y z     f R (q)        

(2.9)

Para la representación matemática de la cinemática directa del robot se hace uso de matrices de transformación homogénea, las cuales permiten representar la orientación y traslación del extremo del brazo en relación con un sistema de referencia fijo situado por lo general en la base del robot. [4]

2.2.2 Denavit-Hartenberg El método de Denavit-Hartenberg supone un procedimiento sencillo para obtener el modelo cinemático directo, dejando la estructura en términos de transformadas homogéneas. En esta representación la longitud del eslabón se describe con li, las variables articulares se denotan con θi para el tipo rotacional y con di cuando es un par prismático, siendo θi el desplazamiento rotacional de xi-1 21

Lidia Mauriz Fernández

Análisis de manipuladores industriales

a xi medido alrededor de zi-1 y di la distancia de xi-1 a xi sobre el eje zi-1. El ángulo entre los ejes zi-1 y zi medido respecto al eje xi en el sentido de las manecillas del reloj con 𝛼i. Se parte de una cadena cinemática abierta con n+1 eslabones, siendo 0 la base y n el último eslabón, los cuales quedan unidos por n articulaciones. Una vez descrita la representación se define la convención para asignar los sistemas de referencia cartesianos asociados a los eslabones del robot, puesto que esto definirá la solución, no siendo la convención Denavit-Hartenberg única. [8]

Figura 2.4: Convención Denavit-Hartenberg Fuente: [1]

Establecer un sistema de referencia cartesiano fijo [x0, y0, z0] cuyo origen se sitúa en la base del robot, definiéndose los ejes x0, y0 de acuerdo a la regla de la mano derecha. Se supone el eje i denotando el eje de la articulación que conecta el eslabón i-1 e i, se adjunta entonces un sistema de coordenadas [xi, yi, zi] al extremo del eslabón i-1 para i=1,…, 22

Lidia Mauriz Fernández

Análisis de manipuladores industriales

n+1. La localización del eje zi se da a lo largo del eje de la articulación i y el origen Oi en la intersección del eje zi con la normal común al eje zi-1 y zi, de igual modo se localiza O’i sobre zi en la intersección de la perpendicular común a zi+1 y zi. Si los ejes se cruzan entre sí se sitúa el origen en la intercepción, y en el caso de ejes paralelos colocar el origen sobre la articulación si es rotacional y si es prismática colocarlo en un punto límite físico como puede ser un punto extremo. El eje x i se selecciona a lo largo de la perpendicular común a zi-1 y zi en dirección de la articulación i-1 hacia la articulación i, finalmente el eje yi se sitúa de forma complementaria por la regla de la mano derecha. En el caso de indeterminaciones, como puede darse en el último eslabón n+1 al no haber uno posterior, no es aplicable el método indicado por lo que pueden elegirse los parámetros de forma arbitraria. Cada transformación homogénea en la representación Denavit-Hartenberg viene dada por el producto de cuatro transformaciones básicas. Trasladando el sistema i mediante di a lo largo de los ejes zi se lleva el origen Oi del sistema i a O’i. Si O’i es el origen del sistema desplazado i’ la matriz de transformación corresponde a

Tz ,di

1 0  0  0

0 0  0 1 di   0 0 1

0 0 1 0

(2.10)

El sistema desplazado i’ se gira θi alrededor del eje zi, lo cual lleva el eje x’i que es paralelo a xi en alineación con el eje xi+1. La matriz correspondiente a este nuevo sistema i’’ es

Rz ,i

cos(i )  sin(i )  si( ) cos(i ) i   0 0  0  0

0 0 0 0  1 1  0 1

(2.11)

23

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Deslizando el sistema i’’ mediante li a lo largo del eje xi+1 se lleva el origen de referencia del sistema i’’ O’i en coincidencia con Oi+1 formando el sistema i’’’ con la siguiente transformación

Tx,li

1 0  0  0

0 0 li  1 0 0  0 1 0  0 0 1

(2.12)

Finalmente, girando el sistema i’’’ alrededor del eje xi+1 un ángulo αi se consigue que coincida con el sistema i+1

Rx,i

0 0 1 0 cos( )  sin( ) i i  0 sin( i ) cos( i )  0 0 0

0 0  0  1

(2.13)

La transformación resultante de coordenadas entre los cuerpos i-1 e i se obtiene

por

la

pos

multiplicación

de

las

cuatro

transformaciones

elementales.

Hi  Tz ,di Rz ,i Tx,li Rx,i

(2.14)

La matriz Hi es una función de la i-ésima variable de articulación, θi para una articulación rotacional, y di para una articulación prismática, quedando los otros parámetros constantes. Sustituyendo las expresiones de las transformaciones elementales en la ecuación (2.14) obtenemos la matriz de transformación del sistema adjunto al cuerpo i-1, el sistema i.

cos(i )  sin(i ) cos( i ) sin(i ) sin( i ) li cos(i )   sin( ) cos( ) cos( )  cos( ) sin( ) l sin( )  i i i i i i i  Hi    0 sin( i ) cos( i ) di    0 0 1  0 

(2.15)

Se escriben las matrices de transformación homogénea Hi para i=1,…,n de modo que su multiplicación conforma la matriz de transformación homogénea del sistema de coordenadas del efector final respecto el sistema 1. [1] [8] 24

Lidia Mauriz Fernández

Análisis de manipuladores industriales

H  H1H 2

(2.16)

Hn

2.2.3 Cinemática inversa El problema cinemático inverso parte de la posición y orientación del extremo final del robot respecto a un sistema de referencia fijo, siendo conocidas las características geométricas de los eslabones. Se pretende entonces conseguir las coordenadas articulares del robot que lleven a ese posicionamiento del extremo. Siempre es posible encontrar la cinemática directa, sin embargo en la cinemática inversa pueden obtenerse diversas soluciones para un mismo posicionamiento, soluciones infinitas

en el caso

de

manipuladores

cinemáticamente redundantes o no existir soluciones admisibles debido a la arquitectura del robot. Por lo general es un problema no lineal en las variables articulares que representa la solución inversa de la ecuación (2.9).

q  f R1 ( x, y, z, , ,  )

(2.17)

Existen distintos planteamientos para afrontar la resolución de la cinemática inversa, usando álgebra, geometría o mediante métodos numéricos buscando una solución por aproximación sucesiva. El álgebra es el método más deseable para la aplicación de la solución al control en tiempo real de robots, sin embargo no siempre es posible obtener las soluciones explicitas garantizadas, ya que implica la búsqueda de los ángulos de las articulaciones por medio de la transformación algebraica de las matrices utilizadas en la cinemática directa. El enfoque geométrico busca los ángulos de las articulaciones en función de la estructura del manipulador, es útil para el estudio dada su mejor comprensión gráfica. [1]

25

Lidia Mauriz Fernández

Análisis de manipuladores industriales

2.2.4 Cinemática diferencial La cinemática diferencial trata de definir las relaciones existentes entre las velocidades de las articulaciones y la velocidad del extremo, para lo cual utiliza la derivada respecto al tiempo de la cinemática directa. [1]

d x dt

y

z 

v

f (q)

d

       f R (q)  R q  J (q)q q  w  dt T

(2.18)

Esta ecuación relaciona la velocidad articular con la velocidad lineal

v

d T T  x, y, z    x, y, z   dt

3

y

w

angular

T d T  , ,    , ,   dt

3

del

efector final. Esto queda expresado mediante la matriz jacobiana, o jacobiano analítico.  J (q)  J (q)   v   J w (q) 

(2.19)

La matriz jacobiana se utiliza para encontrar configuraciones singulares, analizar redundancias, determinar algoritmos de cinemática inversa para analizar la velocidad, describir la relación entre fuerza en el efector final y los pares de torsión en las articulaciones o derivar los algoritmos de la dinámica. La cinemática diferencial inversa relaciona la velocidad articular con la velocidad lineal y angular del movimiento en función de la matriz inversa del jacobiano del robot, la cual existe si es una matriz cuadrada y su determinante es distinto de cero.

v q  J 1 (q)   w 

(2.20)

Si el determinante del jacobiano del robot es cero, no es una matriz de rango completo y se dan problemas de singularidades. La

mayoría

de

los

robots

tienen

valores

para

las

articulaciones

rotacionales donde el jacobiano es singular, lo cual conforman las singularidades del robot. Cuando un manipulador se encuentra en una 26

Lidia Mauriz Fernández

Análisis de manipuladores industriales

posición singular pierde uno o más GDL, lo cual implica que el efector no puede moverse en alguna dirección del espacio sin importar que incrementos se den en la articulación. Estas situaciones se dan en los límites de trabajo cuando el manipulador se extiende o se dobla completamente sobre sí mismo o cuando se alinean dos o más ejes de las articulaciones dentro del espacio de trabajo.

2.3 DINÁMICA La dinámica se encarga del estudio de las fuerzas y momentos que causan el movimiento de un sistema, aplicado a la robótica, se analizarán las ecuaciones de movimiento para un robot debido a los pares de torsión y a las fuerzas aplicadas por los actuadores en las articulaciones, conformando así el modelo dinámico del robot. Este modelo puede usarse para desarrollar el control del manipulador si el método de control seleccionado depende del modelo dinámico para calcular los pares de torsión y fuerzas requeridas en los actuadores para seguir la trayectoria deseada. Puede usarse también para la simulación por ordenador, para pronosticar como se va a comportar ante diversos modos de operación antes de su construcción. El análisis dinámico proporciona todas las fuerzas y momentos de reacción necesarios para el diseño del robot, tanto el tamaño de los eslabones como los cojinetes y actuadores. Puede llevarse a cabo de diversos métodos. Un planteamiento vectorial se basa en la aplicación de las leyes de Newton para movimientos lineales y las leyes de Euler para movimientos rotacionales lo cual genera un sistema de ecuaciones que contiene las fuerzas aplicadas y las fuerzas de restricciones. Las ecuaciones de Euler-Lagrange suponen un planteamiento basado en la energía, el cual analiza la energía cinética y la energía potencial del sistema mecánico. Para estudiar la dinámica de un robot es necesario conocer las diferentes propiedades de inercia como son el centro de masas, el momento de 27

Lidia Mauriz Fernández

Análisis de manipuladores industriales

inercia o el tensor de inercia los cuales están asociados a la masa o inercia de cada eslabón.

2.3.1 Euler-Lagrange El modelo dinámico de un robot puede obtenerse utilizando coordenadas generalizadas, las cuales especifican por completo la configuración de los cuerpos de un sistema mecánico, y el lagrangiano L, una función escalar que representa la diferencia entre la energía cinética K y potencial U del sistema, puede obtenerse de manera sistemática el modelo dinámico de un robot. (2.21)

L(q, q)  K (q, q)  U(q)

El lagrangiano es función de la configuración y de la velocidad de los eslabones del manipulador, al igual que la energía cinética, por otra parte la energía potencial depende únicamente de la posición y la orientación de los eslabones. Las ecuaciones de movimiento de Euler-Lagrange (EL) están dadas por:

d  L(q, q)  L(q, q)   τ  ν(q, τ ) dt  q  q

(2.22)

El vector de posiciones articulares está dado por q   q1 , q2 ,..., qn   T

velocidades articulares mediante q   q1 , q2 ,..., qn   T

por τ  1 , 2 ,..., n   T

n

n

n

, las

, los pares aplicados

donde el i-ésimo par se encuentra asociado a la i-

ésima coordenada generalizada qi,y finalmente el vector de fuerzas o pares de fricción ν(q, fe ) 

n

dependiente de la velocidad articular y de la

fricción estática presente en las articulaciones. La energía potencial depende de la posición al considerarse en campos conservativos como la fuerza de la gravedad. La energía potencial total almacenada en el robot se corresponde con la suma de las energías potenciales de cada uno de los n eslabones que integran la cadena cinemática, 28

Lidia Mauriz Fernández

Análisis de manipuladores industriales n

n

i 1

i 1

U  U i   mi gT ciM

(2.23)

Donde mi es la masa del eslabón i, g es el vector representativo de la M gravedad y ci el vector que contiene la posición del centro de masas del

eslabón i respecto al sistema de referencia M. Dado que este último vector es función de las variables articulares q, dejaremos su expresión en función de estas. La energía cinética está definida en función de la velocidad articular haciendo uso de la inercia del manipulador expresada en M (q) 

nxn

,

matriz de inercia del robot definida positiva.

1 K (q, q)  qT M (q)q 2

(2.24)

Si se desarrolla las derivadas de la ecuación (2.22) se obtiene:

L(q, q)   1 T  U (q)  q M (q)q    M (q)q  q q  2 q 

(2.25)

d  L(q, q)   M (q)q  M (q)q dt  q 

(2.26)

L(q, q)   1 T  U (q)  q M (q)q    q q  2 q 

(2.27)

Las ecuaciones del movimiento se pueden obtener de forma sistemática independientemente del sistema de referencia, sustituyendo los valores de las derivadas en la ecuación (2.22) y reordenando se obtiene:

τ  M (q)q  M (q)q 

 1 T  U (q) q M (q)q    ν (q, fe )  q  2 q 

(2.28)

Agrupando términos e identificándolos aparece la matriz de fuerzas centrípetas y de Coriolis C (q, q) 

nxn

C (q, q)  M (q)q 

:

 1 T  q M (q)q   q  2 

(2.29)

29

Lidia Mauriz Fernández

Análisis de manipuladores industriales

El vector de fuerzas gravitacionales g(q) 

nxn

se obtiene como el gradiente

de la energía potencial debida a la acción de la gravedad. g(q) 

U (q) q

(2.30)

Finalmente el vector de pares de fricción que incluye la fricción viscosa, estática y de Coulomb de cada articulación definida por ν(q, fe ) 

n

.

Sustituyendo en la ecuación (2.28) queda una expresión compacta:

τ  M (q)q  C(q, q)  g(q)  ν(q, fe )

(2.31)

2.3.2 Euler-Newton La formulación Euler-Newton (EN) se basa en la formulación de las ecuaciones que describen el movimiento lineal y angular. Cada eslabón de la cadena cinemática está unido a otro u otros dos por medio de las articulaciones lo cual implica que aparecerán fuerzas y pares en las ecuaciones del eslabón y los circundantes. Utilizando una solución recursiva es posible determinar los términos acoplados para determinar la dinámica del robot. Este método se basa en la aplicación de las leyes de Newton del movimiento junto con las ecuaciones de Euler del movimiento. Las tres leyes de Newton implican primeramente que en ausencia de fuerzas externas y en un marco de referencia inercial, un objeto en reposo se mantiene en reposo y si está en movimiento continúa en movimiento con velocidad constante, es decir, si ninguna fuerza actúa sobre el objeto su aceleración es nula. La segunda ley indica que la aceleración de un objeto es directamente proporcional a la fuerza neta que actúa sobre él e inversamente proporcional a su masa, siendo la fuerza neta la suma vectorial de todas las fuerzas actuantes sobre el objeto. Esto teniendo en cuenta que las fuerzas no causan movimiento pero son la causa de cambios en él. Finalmente se enuncia que si dos objetos interactúan la fuerza que ejerce el objeto 1 sobre el objeto 2 es 30

Lidia Mauriz Fernández

Análisis de manipuladores industriales

igual en módulo y dirección opuesta a la fuerza ejercida por el objeto 2 sobre el objeto 1, siendo fuerzas de acción y reacción. Partiendo del equilibrio de fuerzas derivado de las leyes de Newton se llega a

F

i

 mi

dci  mi ci dt

(2.32)

Donde el sumatorio de fuerzas ejercidas sobre el eslabón i, es igual a su masa por la aceleración de su centro de masas denotado por ci . Las leyes de Euler del movimiento hacen referencia al momento lineal de un cuerpo rígido, el cual se determina sumando vectorialmente los momentos lineales de cada elemento que lo conforma, y al momento angular que referido al centro de masas es igual al momento de inercia del cuerpo respecto un eje que pase por el centro de masas y por la velocidad angular del cuerpo. De este modo, del equilibrio de pares se llega a la ecuación de Euler para el movimiento angular, esto se obtiene de la derivada respecto al tiempo del momento angular resultante L i que es igual al par total  i aplicado al eslabón de modo que

i 

dLi d (Ii wi )   Ii w i  w i  (Ii wi ) dt dt

(2.33)

Siendo I i el tensor de inercia del eslabón en torno a su centro de masas, y w i la velocidad angular del eslabón. De este modo el primer término encarna el par debido a la velocidad angular y el segundo representa el par giroscópico. [9] [10]

2.4 GENERACIÓN DE TRAYECTORIAS A fin de controlar el movimiento que realiza un manipulador es necesario establecer las características del mismo. Generalmente, determinar un camino de solución no implica condiciones de tiempo sobre el cual deben alcanzarse las configuraciones previstas para el robot, sin embargo, la planeación de trayectorias implica un conjunto de algoritmos cuyo 31

Lidia Mauriz Fernández

Análisis de manipuladores industriales

objetivo es definir cómo y cuándo debe alcanzarse cada configuración que conforma la solución de la tarea a realizar, con valores de posición, velocidad y aceleración además de las restricciones y características concretas que deban cumplirse durante la operación, como pueden ser las zonas del espacio de trabajo por las que no puede pasar debido a la presencia de obstáculos. Una trayectoria es el seguimiento de un camino desde un punto inicial a un punto final definiendo su posición y orientación con unas condiciones temporales determinadas que establecen las velocidades y aceleraciones. Esta se traza sobre una colección de puntos que definen el recorrido que debe seguir el actuador final u otro elemento del sistema para cumplir la

Posición

tarea dispuesta.

Tiempo

Figura 2.5: Ejemplo de trayectoria trazada sobre una colección de puntos

Fuente: Creación propia

En la generación de trayectorias pueden darse diversos casos, el más simple, que el robot tenga que desplazarse desde un punto A hasta un punto B sin más restricciones que un tiempo determinado para realizar la actividad y las posiciones y orientaciones iniciales y finales. Por otra parte, que ese desplazamiento haya de realizarse incluyendo unos pasos intermedios entre A y B que no impliquen una forma determinada para pasar de uno a otro. Ambos casos pueden resolverse en el espacio 32

Lidia Mauriz Fernández

Análisis de manipuladores industriales

articular directamente. Sin embargo cuando se desea describir una determinada

trayectoria

el

movimiento

se

definirá

en

el

espacio

cartesiano. La generación de la función con la cual se moverá el robot depende de la tarea a realizar, lo cual implicará uno de los movimientos antes mencionados, que se resume en trayectorias de punto a punto, o trayectorias de ruta continua. En el espacio articular se trabaja en términos de las posiciones, velocidades y aceleraciones articulares, por otra parte, en el espacio cartesiano se utilizan la posición y orientación del efector final y sus derivadas respecto al tiempo. Este último método es el más habitual dado que es una descripción sencilla de la tarea a realizar por el robot, sin embargo el control en el manipulador se realiza en cada articulación, en el espacio articular. Por tanto es necesario un algoritmo que relacione ambos

espacios

para

diseñar

la

trayectoria

y

poder

controlarla,

especialmente en trayectorias de ruta continua. El diseño de trayectorias ha de cumplir una serie de propiedades a fin de ser eficaz y aplicable. La función ha de ser continua respecto al tiempo a fin de facilitar el cálculo de la velocidad con la primera derivada y la aceleración con la segunda, además ha de ser computacionalmente eficiente para no retrasar las tareas por cuestiones de cálculo, lo cual se consigue mediante el uso de polinomios, que expresados de forma matricial permiten simplificar la generación y definición de trayectorias. Además deben evitarse trazos con curvas no regulares o cortes abruptos para asegurar suavidad en la trayectoria y la posibilidad de que sea realizable por los actuadores de los que dispone el robot y no haya movimientos bruscos que hagan vibrar al robot, ya que las aceleraciones grandes

y

puntuales

desgastan

mucho

las

piezas

y

fuerzan

los

actuadores. [11]

33

Lidia Mauriz Fernández

Análisis de manipuladores industriales

2.4.1 Control cinemático Desde el punto de vista del usuario humano se desea un manejo simple del robot, siendo el objeto de interés el actuador final, el cual ha de tener unas especificaciones simples para facilitar su utilización y los mínimos parámetros posibles a proporcionar. Además, si se genera una trayectoria por medio de variables articulares, pronosticar el movimiento del efector final en el espacio cartesiano se vuelve una tarea complicada, lo que no es válido cuando se requiere una trayectoria específica del extremo. Se desea entonces generar una trayectoria en función de la configuración del efector final. El control cinemático tiene como objetivo establecer y coordinar los movimientos de todas las articulaciones del manipulador a lo largo del tiempo para seguir las especificaciones dadas del movimiento. De un modo genérico, para que el robot realice la trayectoria requerida con el efector final, hay que comenzar por introducir las especificaciones del movimiento incluyendo los puntos de destino en el espacio cartesiano, el tipo de trayectoria a realizar, el tiempo destinado a la ejecución del movimiento y la precisión que se requiere. Con esto se pasa a interpolar la trayectoria en el espacio cartesiano, donde se obtiene el recorrido que va a seguir el manipulador como una función de interpolación. Según la precisión que se requiera se eligen unos puntos de paso por la trayectoria los cuales se pasan al espacio articular resolviendo el problema cinemático

inverso

para

cada

uno.

Finalmente

realizando

una

interpolación en el espacio articular se consigue el trazado que ha de seguir cada articulación.

2.4.2 Trayectorias en el espacio cartesiano El efector final en el espacio cartesiano

precisa de seis variables para

determinar su posición y orientación al contar con seis grados de libertad. En el espacio cartesiano la trayectoria se obtiene de manera muy simple y

34

Lidia Mauriz Fernández

Análisis de manipuladores industriales

es fácil de visualizar y de indicar para el usuario por qué localizaciones desea que se mueva el extremo del robot. La trayectoria del efector final es habitualmente una línea recta cuya solución puede obtenerse mediante una interpolación lineal, en el caso de requerirse otro camino hay distintos tipos de interpolación que facilitan la solución como son splines o curvas de Bezier. La obtención de la trayectoria se realiza aplicando a cada uno de los seis parámetros que definen la posición y orientación del efector final una interpolación que permita cumplir las especificaciones. La interpolación lineal requiere únicamente los datos de posición, orientación y tiempo para resolverse, de modo que la localización a lo largo del tiempo se obtiene como,

x(t )  xo 

x f  xo y f  yo

y(t )  yo  z(t )  zo 

 (t )  o 

(t  ti )

t f  ti z f  zo t f  ti

 (t )   o   (t )   o 

(t  ti )

t f  ti

(t  ti )

 f  o t f  ti

 f  o t f  ti

 f  o t f  ti

(2.34)

(t  ti )

(t  ti ) (t  ti )

A partir de la función de la trayectoria se determinan una serie de puntos intermedios del recorrido que asegurarán la precisión del trazado, pueden obtenerse fácilmente dando valores intermedios de tiempo, siendo más preciso

cuantos

más

puntos

se

den,

al

igual

que

más

costoso

computacionalmente. Una vez determinados los puntos por los que se quiere pasar y el tiempo para realizar la tarea se aplica la cinemática inversa para obtener las coordenadas articulares que resuelvan la configuración. 35

Lidia Mauriz Fernández

Análisis de manipuladores industriales

2.4.3 Trayectorias en el espacio articular Conocidas las posiciones y orientaciones articulares de los puntos iniciales, finales e intermedios se quiere determinar una trayectoria con variables articulares a través del tiempo. Con los valores articulares se pasa a interpolar para cada articulación de la forma más sencilla y obteniendo la máxima suavidad en el movimiento que sea posible, de modo que se obtiene el movimiento de cada articulación de forma independiente. En este caso una interpolación lineal no es adecuada para resolver el problema ya que sí asegura la continuidad en la posición pero las derivadas hacen que haya saltos bruscos en la velocidad y aceleraciones instantáneas muy grandes. Dada la facilidad de cálculo, efectividad y simplicidad de expresión se hace uso de splines en el tiempo para la interpolación. El spline cúbico es el más utilizado puesto que da un gran ajuste a los puntos seleccionados y no tiene un cálculo excesivamente complejo. Mediante esta interpolación obtenemos una trayectoria con continuidad en la posición y la velocidad pero con saltos bruscos en la aceleración, los cuales hay que acotar a las características de los actuadores para hacer viable la implementación. Un polinomio cúbico tiene cuatro coeficientes a fijar por lo que se requieren cuatro condiciones de contorno, dos referentes a la posición y otras dos a la velocidad para que quede totalmente definido. Partiendo de la función para la posición, obtenemos la velocidad de la primera derivada y la aceleración de la segunda.

q(t )  a0  a1t  a2t 2  a3t 3 q(t )  a1  2a2t  3a3t 2

(2.35)

q(t )  2a2  6a3t Partiendo de las posiciones y velocidades de cada punto se ajusta el polinomio para cada tramo de la trayectoria, de este modo se genera una 36

Lidia Mauriz Fernández

Análisis de manipuladores industriales

función para pasar del punto p al p+1 donde p va desde el punto de inicio hasta el final menos uno, de modo que hay n tramos para n+1 puntos. Para determinar las velocidades se parte de una velocidad nula en los puntos inicial y final, igualmente se tomará nula cuando en el punto p+1 exista un cambio de sentido. En otro caso la velocidad del punto p se calculará como la media de las velocidades medias del tramo anterior y posterior, siendo la velocidad media la diferencia de posición entre dos puntos partido del intervalo de tiempo empleado para realizarlo.

q p  q p 1 qp 

t p 1 p



q p 1  q p t p  p 1

(2.36)

2

Despejando las funciones descritas en (2.35) para cada tramo se obtiene la trayectoria completa para la articulación, con información de la posición, velocidad y aceleración. Un cálculo más exacto y que proporciona continuidad en posición, velocidad y aceleración es el uso de un spline de quinto orden, ya que cuenta con seis coeficientes a fijar por seis condiciones, dos de posición, dos de la primera derivada y otros dos de la segunda derivada. Este tipo de

interpolación

requiere

sin

embargo

de

más

cálculos

y

peso

computacional. Se procede como en el caso del spline cúbico, realizando una función para cada tramo determinado por un par de puntos. Derivando la ecuación de la posición se obtendría el polinomio para la velocidad articular, y derivando nuevamente la expresión para la aceleración articular. q(t )  a0  a1t  a2t 2  a3t 3  a4t 4  a5t 5 q(t )  a1  2a2t  3a3t 2  4a4t 3  5a5t 4

(2.37)

q(t )  2a2  6a3t  12a4t 2  20a5t 3

Otra forma muy habitual de describir la trayectoria entre dos puntos es mediante un conjunto de líneas de distinto tipo como puede darse en el ajuste parabólico donde se realiza una trayectoria en tres tramos, dos de tipo parabólico y uno intermedio de tipo lineal. 37

Lidia Mauriz Fernández

Análisis de manipuladores industriales

2.5 CONTROL Para realizar una tarea concreta el sistema robótico debe ser controlado partiendo

del

conocimiento

de

sus

características

cinemáticas

y

dinámicas. Un algoritmo de control está destinado a cumplir con la mayor precisión posible un conjunto de configuraciones que se han calculado como solución para la tarea a realizar. Esto implica la aplicación de una serie de señales para que este responda de acuerdo a unos requisitos. En un robot se pretende aplicar una fuerza en los actuadores tal que el sistema se mueva de acuerdo con unas instrucciones. Para ello se requiere conocer el modelo matemático del sistema, que se obtiene de las leyes físicas que rigen el movimiento del manipulador. El sistema puede ser de lazo cerrado, en cuyo caso es controlado con retroalimentación continua de posición, velocidad y orientación, o de lazo abierto donde apenas hay regulación, por lo que se utiliza en robots de extremo a extremo donde los actuadores son de tipo todo-nada y se utilizan para levantar o colocar objetos.

Figura 2.6: Diagrama de un sistema de lazo abierto (superior) y un sistema de lazo cerrado (inferior) Fuente: Creación propia

Se

busca

un

sistema

retroalimentado,

para

evitar

los

errores

computacionales por la dificultad que presenta la precisión en los parámetros del modelo matemático como las características de los 38

Lidia Mauriz Fernández

Análisis de manipuladores industriales

eslabones o la carga de trabajo. Estos errores podrían llevar al efector final a una trayectoria distinta a la requerida, lo cual puede solucionarse retroalimentando las posiciones y velocidades de las articulaciones y el efector final para obtener un movimiento preciso, conformando así un control de lazo cerrado. Este control es aplicable a robots punto a punto en los cuales se especifican una serie de puntos a los que actuar si bien no es tan importante el camino por el que se llegue, o a robots de trayectoria continua donde todo el movimiento está definido y controlado. El control puede llevarse a cabo mediante técnicas lineales o no lineales. Las primeras son de aplicación cuando el movimiento es lento y es posible modelarlo matemáticamente por ecuaciones diferenciales lineales de coeficientes constantes. Para aplicaciones en las que las articulaciones hacen

movimientos

rápidos,

los

métodos

lineales

son

meramente

aproximativos al ser las fuerzas dinámicas significativas, viéndose implicadas las ecuaciones dinámicas del movimiento del manipulador que son ecuaciones diferenciales no lineales. Existen diversas técnicas para resolver un problema de control de un manipulador robótico, lo cual puede tener una influencia significativa sobre la labor del robot, así mismo el diseño mecánico del manipulador tiene una repercusión directa en el método de control a utilizar. Para robots manipuladores el problema de control es de tipo MIMO (Multiple Input Multiple Output), con múltiples entradas y múltiples salidas ya que se precisa el control de todas las articulaciones para el posicionamiento y la orientación del extremo. Puede

simplificarse

el

problema

al

considerar

cada

articulación

independiente y controlarla por separado, lo cual es apto para robots con múltiples engranajes puesto que esto tiende a linealizar las ecuaciones de la dinámica del sistema haciendo que se desacople la dinámica de las articulaciones. Cada articulación resultaría en un sistema SISO (Single Input Single Output), de única entrada y única salida, pudiendo modelarse cada sistema como una ecuación diferencial lineal de segundo 39

Lidia Mauriz Fernández

Análisis de manipuladores industriales

orden. De este modo se diseñarían tantos sistemas de control SISO independientes

como

articulaciones

halla,

generando

un

sistema

multivariable desacoplado.

Figura 2.7: Representación de un sistema MIMO (izquierda) y los sistemas SISO correspondientes (derecha)

Fuente: http://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S140577432013000400006

La representación MIMO puede aproximarse por medio de ecuaciones diferenciales ordinarias de primer o segundo orden, es decir, en las que se considera la primera o segunda derivada de la variable de salida y el valor instantáneo de la entrada. Para la representación del sistema y el control vamos a utilizar bloques ya que es uno de los métodos más comunes, cómodos y visuales para la representación de un esquema de control. Un bloque en sí mismo contiene la descripción del comportamiento de cada elemento que forma parte del sistema de control. El bloque que representa el sistema a controlar se denomina habitualmente planta, cuyo comportamiento puede modelarse por medio de una ecuación diferencial en función de las variables y constantes del sistema. Esto queda recogido en la función de transferencia del bloque, donde se representa mediante un cociente el efecto de la señal de entrada sobre la señal de salida. Utilizando transformadas de Laplace para obtener las expresiones diferenciales del sistema como expresiones algebraicas tenemos, G (s) 

Y (s) U (s)

(2.38) 40

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Donde G(s) es una simplificación en el análisis de la función de transferencia del sistema de control resultante de unir el bloque de control y la planta que se mostraban en la Figura 2.6, Y(s) representa la salida del sistema y U(s) la entrada. El control del robot abarca desde el control de encendido/apagado a un control proporcional, integral y derivativo (PID). Un control proporcional (P) genera una señal de control que es proporcional al error existente entre la respuesta generada y la deseada. Un control derivativo (D) produce una señal de control proporcional al ritmo de cambio del error, siendo un control anticipado que prevé el error más grande entrante y lo corrige antes de que pueda producirse midiendo la razón de cambio del error existente. Un control integral (I) produce una señal de control proporcional a la integral del error respecto al tiempo, sumando primero todos los errores y respondiendo después. Una vez considerado que el objetivo del controlador es modificar la respuesta dinámica del sistema para cumplir los requisitos planteados por una tarea en particular, se parte de monitorear constantemente la salida para comparar su valor instantáneo con el estado deseado que debe alcanzar el sistema, lo cual se lleva consigue mediante un lazo de retroalimentación. Esta modificación estará regida por una función de error que mide la diferencia entre la salida actual del sistema y el valor requerido que supone la señal de entrada. El

controlador

por

tanto

altera

las

propiedades

del

sistema,

manteniéndolas dentro de los límites operativos, se asume que el controlador ha de aportar una ganancia total cercana a la unidad de forma que su presencia no afecte a la estabilidad del sistema, lo que permitirá un seguimiento del valor de referencia de forma efectiva.

2.5.1 Características del sistema La estabilidad de un sistema describe si este es capaz de seguir la señal de entrada o por el contrario su señal no llega a estabilizarse y no alcanza 41

Lidia Mauriz Fernández

Análisis de manipuladores industriales

un valor de estado estacionario en un periodo de tiempo razonable. Esta característica del sistema puede determinarse a través de la función de transferencia,

analizando

el

polinomio

del

denominador,

donde

la

estabilidad viene dada por las raíces del polinomio igualado a cero, es decir, un análisis de los polos del sistema. En el caso de disponer del sistema en el espacio de estados, la estabilidad se analizaría a través de los valores propios de la matriz de estados A. En el dominio de Laplace, un sistema será estable cuando todos sus polos se encuentren a la izquierda del eje imaginario, proporcionando una salida que se estabilizará entorno a un valor constante. La exactitud es un aspecto importante ya que el sistema ha de ser capaz de reducir el error entre la señal producida y la deseada a unos límites aceptables y determinados. Según la aplicación la exactitud será más o menos estricta, incrementándose el coste del control en la medida que sea necesario un aumento de la exactitud. Finalmente la rapidez de respuesta es la característica que debe tener un sistema para que funcione a tiempo, esto implica que a respuesta ante una entrada ha de producirse y mantenerse en un tiempo aceptable. Un sistema ideal es entonces estable, con una exactitud absoluta y responderá instantáneamente a cualquier cambio que se produzca. La respuesta estará además condicionada por el orden del sistema, lo cual viene dado por las ecuaciones diferenciales derivadas del modelado del sistema. De este modo un sistema cuya ecuación diferencial utilice solo la primera derivada respecto al tiempo de la variable será un sistema de primer orden, en el caso de utilizar la segunda derivada para describir su comportamiento será un sistema dinámico de segundo orden. El orden del sistema puede incrementarse sucesivamente con el grado de la derivada que lo caracterice, sin embargo estos sistemas pueden modelarse como combinaciones de respuestas de ecuaciones de primer y segundo orden.

42

Lidia Mauriz Fernández

Análisis de manipuladores industriales

2.5.2 Sistema dinámico de segundo orden Un sistema de segundo orden se modela a través de una ecuación diferencial ordinaria que contiene una segunda derivada en su estructura, como es el caso del modelado de la articulación del robot como se caracterizó en la ecuación (2.8), estos sistemas están caracterizados por un coeficiente de amortiguamiento ς y la frecuencia natural ω0. Para facilitar el análisis se ordena de modo que el término de mayor orden cuente con un coeficiente unitario. De este modo, en el dominio de Laplace, la FT de un sistema de segundo orden es en su forma canónica

k02 Y ( s)  2 U ( s) s  20 s  02

(2.39)

Siendo Y(s) la salida del sistema y U(s) la entrada. Un análisis del denominador de la FT permite caracterizar el sistema y su respuesta, siendo la dinámica interna del sistema. De este modo se analiza la respuesta no forzada, cuando la entrada es nula. Las raíces de este polinomio tienen la forma s  0  0  2  1

(2.40)

Pueden darse tres tipos de respuesta según la naturaleza de los polos de la ecuación característica que es el denominador de la FT, lo cual depende de la combinación de valores del coeficiente de amortiguamiento y la frecuencia natural, dependiendo principalmente del primero. La respuesta es sobre-amortiguada cuando los polos, que son las raíces del polinomio de segundo grado, son reales. Esto se da cuando la fricción es dominante dando un comportamiento lento, es decir, hay una gran amortiguación. En el caso de tener raíces reales e iguales la respuesta es críticamente amortiguada, generando la respuesta no oscilatoria más rápida posible.

43

Lidia Mauriz Fernández

Un

sistema

es

Análisis de manipuladores industriales

sub-amortiguado

cuando

existen

raíces

complejas

conjugadas dando lugar a un comportamiento oscilatorio cuya amplitud disminuye exponencialmente hacia cero. Finalmente, si las raíces son imaginarias el sistema es oscilatorio sin que la perturbación desaparezca.

2.5.3 Control proporcional Con

un

controlador

proporcional

se

consigue

escalar

la

salida

proporcionalmente al valor de la ganancia del controlador. Esto disminuye el error en estado estacionario así como consigue que el sistema sea más rápido, sin embargo, si la señal de realimentación tiene fluctuaciones la señal de error resultante puede generar la aplicación de un exceso de energía en la señal de control debido a la ganancia. Ante una realimentación unitaria, la FT de lazo cerrado para la articulación con la ganancia proporcional kP queda de la forma

k  ( s)  2 P  d ( s) Is  bs  kP

(2.41)

Donde la entrada es el ángulo de articulación deseado  d y la salida es el ángulo que se tiene en el motor  . De esta FT se obtienen los valores de amortiguación y la frecuencia natural como

0 

kP b ;  I 2 kP I

(2.42)

2.5.4 Control proporcional derivativo La componente derivativa se utiliza junto al control proporcional para seguir de cerca la evolución del valor del error, con lo que se pretende acelerar la reacción del sistema de control. La aportación principal de la componente derivativa es anticipar la respuesta del controlador al considerar los cambios en el valor del error del sistema. 44

Lidia Mauriz Fernández

Análisis de manipuladores industriales

La función de transferencia para el controlador proporcional derivativo (PD) tiene la forma

PD(s)  kP  kD s

(2.43)

Lo cual incluye un cero en la función total del sistema, siendo los ceros de un sistema las raíces del numerador. Un controlador PD presenta una gran sensibilidad a cambios en el valor de referencia o el valor de salida del sistema, es decir un cambio en el valor del error. En el caso de un cambio repentino en el valor del error la señal de control que se genera tendrá un incremento repentino lo que puede llevar a un comportamiento no deseable del sistema. Procediendo como en el control proporcional, la FT de lazo cerrado para la articulación con un controlador PD queda de la forma

k s  kP  ( s)  2 D d ( s) Is  (b  kD ) s  kP

(2.44)

De la analogía con la forma canónica para un sistema de orden dos se obtiene un valor para el amortiguamiento y frecuencia natural,

0 

kP b  kD ;  I kP I

(2.45)

2.5.5 Control proporcional integral derivativo Para poder reducir el valor del error final es necesario generar una compensación que permita aplicar energía al sistema. La acción integral permite recordar los valores de diferencia que se han acumulado para generar

un

valor

de

control

incluso

en

el

estado

estable.

Esta

característica añadida a las mencionadas para el control proporcional y derivativo dan lugar al control PID, siendo el elemento de regulación más popular en la teoría de control automático al tener una estructura muy simple y ser de gran aplicación.

45

Lidia Mauriz Fernández

Análisis de manipuladores industriales

La función de transferencia para el controlador proporcional derivativo (PD) tiene la forma

PID( s)  kP 

ki  kD s s

(2.46)

En un sistema de lazo cerrado, la FT para la articulación con un controlador PID queda de la forma

kD s 2  kP s  kI  (s)  3  d ( s) Is  (b  k D )s 2  k P s  k I

(2.47)

2.5.6 Diseño de un controlador El diseño más adecuado para un sistema de control será aquel que mejor modifique la respuesta de acuerdo a los requisitos establecidos. Para ello cada componente aporta unas características. La componente proporcional permite aportar la energía necesaria para modificar la respuesta dinámica del sistema respecto al error sin embargo no elimina el error estacionario en un sistema de segundo orden. La componente integral consigue eliminar el error estacionario en este tipo de sistemas a costa de modificar la dinámica del sistema al añadir un polo en el origen. Esto puede causar oscilaciones en la respuesta o crear estados inestables, en este caso aumentar el valor de la ganancia proporcional puede ayudar a eliminar la oscilación. La

componente

derivativa

ayuda

a

mejorar

el

seguimiento

del

comportamiento del error y estimar el comportamiento futuro dando lugar a una respuesta de control más rápida, sin embargo esto aumenta la sensibilidad del sistema a los cambios en el valor del error. Teniendo en cuenta estas características, ha de elegirse un valor de las componentes de forma conjunta para asegurar un buen funcionamiento. Para proceder con el diseño conviene determinar la respuesta del sistema sin controlador haciendo hincapié en el comportamiento dinámico que

46

Lidia Mauriz Fernández

Análisis de manipuladores industriales

presenta. Se define entonces la respuesta requerida en función del amortiguamiento, el error estacionario y las restricciones de tiempo. Se construye un primer sistema de control de lazo cerrado con la ganancia proporcional y se comprueba la respuesta, de ser necesario se incluye el componente derivativo a través de la ganancia kD para disminuir el tiempo de subida o el sobreimpulso. Se recomienda un valor bajo en comparación con kP para no afectar a la estabilidad. Si se necesitase, añadir la componente integral para eliminar el error en estado estacionario.

Con

todo

ello

revisar

la

respuesta

del

sistema,

sintonizándolo si fuese necesario. En términos generales en el control de un robot se busca un tiempo de respuesta rápido sin error en estado estable y con una respuesta sobreamortiguada, ya que las oscilaciones no suelen ser deseables en el movimiento de un robot.

47

Lidia Mauriz Fernández

Análisis de manipuladores industriales

3 EJEMPLO DE IMPLEMENTACIÓN Para ejemplificar el análisis de un robot que se ha expuesto hasta el momento se elige el robot SCARA para llevar a cabo una implementación en la que se consiga que el robot realice una trayectoria planar. En esta ocasión se hace una simplificación del robot haciendo uso de las tres primeras articulaciones que lo caracterizan ya que la rotación del efector final no es necesaria en esta aplicación al tratarse de una tarea sin necesidad de orientación. Equation Chapter (Next) Section 1 Se utiliza para la construcción física el kit Lego® Mindstorms® EV3 que será objeto de modelado y control.

3.1 CINEMÁTICA DE UN ROBOT SCARA Se analizan a continuación la cinemática directa e inversa de un robot SCARA como el de la Figura 3.1 de forma paramétrica.

Figura 3.1: Esquema de un robot SCARA Fuente: [1]

El espacio de trabajo se corresponde con un cilindro de radio igual a la suma

de

las

longitudes

de

los

eslabones

de

las

dos

primeras 48

Lidia Mauriz Fernández

Análisis de manipuladores industriales

articulaciones rotacionales l1+l2. Los sistemas de referencia se sitúan como se indica en el esquema, teniendo el robot cuatro grados de libertad como ya se describió anteriormente. Con esta distribución analizamos los parámetros Denavit-Hartenberg (DH), siendo JV una variable articular (joint variable). Eslabón

di

θi

li

αi

1

d1

θ1(JV)

l1

0

2

d2

θ2(JV)

l2

0

3

-d3(JV)

0

0

0

Las

Tabla 1: Parámetros DH de un robot SCARA transformaciones homogéneas se obtienen basándose

en

sus

parámetros DH, de tal modo que se tienen cuatro matrices, una por articulación.

cos(1 )  sin(1 )  sin( ) cos( ) 1 1 H1    0 0  0  0

0 l1 cos(1 )  0 l1 sin(1 )  1 d1   0 1 

(3.1)

cos( 2 )  sin( 2 )  sin( ) cos( ) 2 2 H2    0 0  0  0

0 l2 cos( 2 )  0 l2 sin( 2 )   1 d2  0 1 

(3.2)

1 0 H3   0  0

0  0  0 1 d3   0 0 1 

0 0 1 0

(3.3)

La matriz de transformación homogénea del sistema de coordenadas del efector final respecto el sistema 1 resulta de la multiplicación de las matrices de transformación unitaria como se indicaba en la ecuación (2.16).

49

Lidia Mauriz Fernández

cos(1   2 )  sin(1   2 )  sin(   ) cos(   ) 1 2 1 2 H   0 0  0 0 

Análisis de manipuladores industriales

0 l1 cos(1 )  l2 cos(1   2 )  0 l1 sin(1 )  l2 sin(1   2 )   1 d1  d 2  d3  0 1 

(3.4)

El modelo de cinemática directa queda  l1 cos(1 )  l2 cos(1   2 )  x      y   f (q)   l1 sin(1 )  l2 sin(1   2 )  R  d1  d 2  d3  z         1   2 

(3.5)

La cinemática diferencial viene dada por la matriz jacobiana, la cual representa la derivada de la cinemática directa respecto las variables articulares.

 l1 sin(1 )  l2 sin(1   2 ) l2 sin(1   2 ) 0  f R (q)   J (q)    l1 cos(1 )  l2 cos(1   2 ) l2 cos(1   2 ) 0  q  0 0 1 

(3.6)

La cinemática inversa se consigue de invertir la función de la cinemática directa como se expuso en el apartado 2.2.3.

 1  y  l2 sin( 2 )   1   tan    tan   x  1   l1  l2 cos( 2 )        2 2 2 2 1  x  y  l1  l2    2   f 1 ( x, y, z ,  )    cos  R   d3    2 l l  1 2        d1  d 2  z      

(3.7)

De este modo se consiguen la cinemática directa inversa para un SCARA donde basta con sustituir los parámetros de las distancias por las medidas reales del prototipo para tenerlo caracterizado en la implementación pertinente.

3.1.1 Caso de la implementación en LEGO Mindstorms Para el ejemplo que se propone sustituimos en las matrices y ecuaciones los datos relativos al prototipo con el que se trabaja. De este modo se 50

Lidia Mauriz Fernández

Análisis de manipuladores industriales

presenta a continuación la matriz de transformación homogénea del sistema de coordenadas del efector final respecto el sistema 1.

cos(1   2 )  sin(1   2 )  sin(   ) cos(   ) 1 2 1 2 H   0 0  0 0 

0 110 cos(1 )  170 cos(1   2 )  0 110sin(1 )  170sin(1   2 )   1 85  d3  0 1 

(3.8)

El modelo de cinemática directa y cinemática inversa resultan, 110 cos(1 )  170 cos(1   2 )  x      y   f (q)  110sin(1 )  170sin(1   2 )  R  85  d3  z         1   2 

 1  y  170sin( 2 )   1   tan    tan   x  110  170 cos( 2 )     1    2 2   1 1  x  y  41000      f ( x , y , z ,  )  cos   R  2   37400   d     3 85  z      

(3.9)

(3.10)

3.2 CONTROL DE UN ROBOT SCARA Para llevar a cabo el control del robot es necesario generar un modelo matemático que se ajuste a las características del sistema. Se requiere para esto conocer las propiedades de los motores empleados, la relación de los engranajes usados y las dimensiones y masas de los eslabones.

Figura 3.2: Prisma rectangular como modelo de los eslabones Fuente: http://slideplayer.com.br/slide/328680/

51

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Asemejando los eslabones a prismas rectangulares, hallamos los centros de gravedad (cdg) de cada eslabón y su momento de inercia respecto al mismo.

a b c cdg  [ , , ] 2 2 2 1 I x  m(c 2  b 2 ) 12 1 I y  m(c 2  a 2 ) 12 1 I z  m(a 2  b 2 ) 12

(3.11)

Por otra parte las características del motor pueden sacarse bien de los parámetros dados por el fabricante o de la gráfica par velocidad que puede hallarse experimentalmente si no se dispone de ella. Con la función de transferencia construida se comprueba la respuesta del modelo y en base a la salida se construye el controlador más adecuado.

3.2.1 Caso de la implementación en LEGO Mindstorms Se calcula con los datos del apartado Diseño eléctrico y mecánico los centros de gravedad y tensores de inercia de los eslabones del robot. Para los centros de gravedad,

cdg1  [150,37.5, 27.5]mm cdg 2  [95, 25, 20]mm

(3.12)

cdg3  [25, 20, 45]mm Para los tensores de inercia,

52

Lidia Mauriz Fernández

Análisis de manipuladores industriales

0 0  3.65e  3    2 I1   0 3.92e  3 0  kg.m  0 0 4.02e  3   0 0  2.70e  5    2 I2   0 2.54e  4 0  kg .m  0 0 2.48e  4  

(3.13)

0 0  3.53e  5    2 I3   0 3.23e  5 0  kg.m  0 0 1.37e  5  

Con las gráficas de características de los motores grandes y medianos expuestas en el apartado Hardware de LEGO® se obtienen las constantes de los motores necesarias para modelizar los eslabones de la pendiente de las rectas. La constante km se obtiene de la gráfica par contra intensidad y ke de la gráfica de voltaje contra velocidad. El resto de características del motor se obtienen de la experiencia de un tercero publicada en la web. [12] Para el motor grande,

km  0.256 Nm / A ke  0.509V / rad/ s ra  6.83

(3.14)

bm  0.00072 Nm / (rad / s) Para el motor mediano,

km  0.226 Nm / A ke  0.337V / rad / s

(3.15)

De este modo puede generarse el modelo de cada articulación como se indicó en el apartado de Modelado. Los dos eslabones con articulación rotacional son los principales del robot, no siendo necesario el control de la última articulación al ser un elemento todo nada. De este modo el modelo para los dos primeros eslabones,

53

Lidia Mauriz Fernández

Análisis de manipuladores industriales

 m1 (s) 0.0375   a1 (s) s(0.004s 0.0198)  m 2 (s) 0.0375   a 2 (s) s(0.00024s 0.0198)

(3.16)

3.3 DISEÑO ELÉCTRICO Y MECÁNICO 3.3.1 Prototipo La estructura básica de un SCARA consta una base elevada sobre el plano horizontal, seguido de dos eslabones que componen el cuerpo principal del robot con dos articulaciones rotacionales para acabar con una articulación prismática que permite el ascenso y descenso del extremo final del robot. Para la creación del prototipo se parte del modelo construido por Yorihisa Yamamoto disponible en Internet, donde se incluyen las instrucciones gráficas para la construcción de un robot SCARA con LEGO Mindstorms NXT. [13] Dado el cambio de tecnología, de NXT a EV3 y las distintas piezas disponibles para la construcción del prototipo se modifica la idea inicial del proyecto hasta lograr un diseño estable y con un área de trabajo amplio, siendo capaz de abarcar las dimensiones de un A3 para el trazado de dibujos. Esto implica un proceso de rediseño, redistribuyendo masas para conseguir estabilidad en los eslabones, calculando la transmisión que permitiese un movimiento controlado y sin grandes perturbaciones del extremo dada la velocidad a la que pueden trabajar los motores disponibles.

54

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.3: Prototipo SCARA con LEGO Fuente: Creación propia

La construcción del robot se detalla mediante instrucciones generadas con el programa LEGO Digital Designer, software libre disponible en Internet, las cuales se encuentran en el Anexo: Instrucciones de Montaje con Lego Mindstorms EV3.

3.3.2 Accionadores Para el movimiento del robot se utilizan dos motores grandes y un motor mediano del kit LEGO® Mindstorms® EV3. Los motores de mayor potencia controlan la primera y segunda articulación, mientras que el motor mediano se situará en el último eslabón, tanto por ser más ligero como por ser la parte del robot que menos potencia precisa para su movimiento. De este modo los dos motores grandes se encargan del movimiento rotacional del robot SCARA sobre el plano horizontal y el robot mediano 55

Lidia Mauriz Fernández

Análisis de manipuladores industriales

transmitirá un movimiento prismático levantando y bajando el utensilio ubicado en el extremo, que será un bolígrafo o rotulador para llevar a cabo el trazado. La energía será suministrada por el brick EV3, funcionando los motores con corriente continua.

3.3.3 Transmisión La transmisión del movimiento se realiza a través de una serie de engranajes desde el servomotor a la articulación. Esto permite reducir la velocidad de giro y también cambiar la orientación del movimiento ya que el prototipo tiene situados los dos motores grandes con los ejes horizontales siendo el movimiento de la articulación entorno al eje vertical. Para hacer este cambio de orientación se hace uso de engranajes y un tornillo sin fin. Añadido a esto, cada motor tiene una relación de transmisión diferente, utilizando en la primera articulación el engranaje que mayor estabilidad iba a dar al prototipo. Para la primera articulación se parte de un engranaje de 24 dientes solidario al eje del primer motor. El engranaje conducido por este es de 12 dientes acoplado a un eje donde se sitúa el tornillo sin fin. Con este elemento se realiza el cambio de orientación del movimiento, acoplando al tornillo sin fin un engranaje de 24 dientes en cuyo eje está el último engranaje conductor de esta articulación de 8 dientes. Finalmente el último engranaje motriz que es el encargado de mover el primer eslabón es de 56 dientes. Esto equivale a una relación de velocidades de

i

N1 conducido 12*24*56    84 N 2 conductor 24*1*8

(3.17)

Siendo N1 la velocidad del eje del motor y N2 la velocidad resultante en el último engranaje.

56

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.4: Tren de engranajes de la primera articulación Fuente: Creación propia

En la segunda articulación se tiene un engranaje de 24 dientes solidario al eje del motor que conduce un engranaje de 12 dientes acoplado a un eje donde se sitúa el tornillo sin fin. Con este elemento se realiza el cambio de orientación del movimiento como en la articulación anterior, acoplando al tornillo sin fin un engranaje de 24 dientes en cuyo eje está el último engranaje conductor de esta articulación de 8 dientes. Para dar firmeza a la estructura, el movimiento del último engranaje se transmite mediante dos engranajes iguales sobre el mismo eje, lo que da más estabilidad al sistema.

57

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.5: Tren de engranajes de la segunda articulación

Fuente: Creación propia

Los dos engranajes del mismo eje que comparten ese último movimiento son de 40 dientes, dando lugar a una relación de velocidades menor que en el caso anterior como se ve en la ecuación

i

N1 conducido 12*24*40    60 N 2 conductor 24*1*8

(3.18)

Para la tercera articulación, que es de tipo prismático ya que se busca elevar y bajar el efector final, se dispone de un motor mediano, el cual contará con un movimiento de todo o nada siendo únicamente dos las posiciones interesantes para esta aplicación, véase el efector final tocando la superficie sobre la que se va a trabajar o por encima de esta. Para conseguirlo, el motor está colocado con el eje de giro sobre el plano horizontal en la misma dirección que el eslabón al que está unido. Acoplado a este se encuentra un engranaje helicoidal con el que se consigue cambiar la orientación del eje a la perpendicular del original.

58

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.6: Engranajes de la tercera articulación

Fuente: Creación propia

En este caso el cálculo de trasmisión de la velocidad se simplifica mucho al ser un único par de engranajes, en este caso se consigue reducir la velocidad en una relación de

i

N1 20   1.67 N 2 12

(3.19)

3.3.4 Mediciones Se analizan a continuación las medidas características del prototipo, lo cual

permitirá

determinar

su

área

de

trabajo

y

dimensiones

características, así como ser objeto para dimensionar la simulación. Las características propias del robot SCARA para la cinemática directa residen en las distancias señaladas en la Figura 3.1, que son las distancias entre ejes de las articulaciones y los offset marcados en el eje

59

Lidia Mauriz Fernández

Análisis de manipuladores industriales

vertical que en el prototipo suponen el espesor de los dos primeros eslabones. Dichas distancias se recogen en la siguiente tabla. L1

L2

D1

D2

110

170

70

15

Tabla 2: Medidas en mm de las longitudes características del prototipo Para poder calcular las inercias del prototipo se necesitan las medidas y masas de toda la estructura. Altura(mm) Ancho(mm) Largo (mm) Peso (g) Eslabón 1

55

75

300

507

Eslabón 2

50

40

190

79

Eslabón3

40

50

90

40

Tabla 3: Características de los eslabones del prototipo Este robot presenta ciertas limitaciones añadidas a las propias de un SCARA debido a la construcción del prototipo y el paquete utilizado. De este modo el alcance máximo es una circunferencia centrada en el origen de coordenadas fijo del robot de 280mm de radio. La zona dentro de esa circunferencia a la que no tiene acceso el efector del robot es la propia base

del

prototipo.

Además,

por

motivos

de

estabilidad

y

buen

funcionamiento se decide que el robot base su funcionamiento en el semiplano derecho, a fin de evitar pasar por la zona de menor estabilidad que se da cuando los brazos están alineados con la longitud de la base, debido al peso de los mismos y las holguras que presentan los engranajes del paquete utilizado.

3.4 DESCRIPCION DE LOS MEDIOS 3.4.1 Hardware de LEGO® Se utiliza para el ejemplo de implementación el kit LEGO® Mindstorms® EV3, el cual está provisto de piezas para el ensamblaje del modelo, una 60

Lidia Mauriz Fernández

Análisis de manipuladores industriales

amplia serie de sensores, motores y un brick que es el cerebro del kit siendo la consola que controla los sensores y motores. A continuación se exponen las características del brick y los motores utilizados. Brick EV3

Figura 3.7: Brick EV3 del kit LEGO® Mindstorms® Fuente: http://www.lego.com/es-es/mindstorms/products/mindstorms-ev3-31313

El brick EV3 es el cerebro de este kit. En su interior tiene un microcontrolador programable para manejar cualquiera de los proyectos a realizar. Las conexiones con actuadores y sensores se realizan mediante cables RJ12. El ladrillo posee seis botones que permiten manejar el brick para navegar por la interfaz de usuario y controlar manualmente los dispositivos acoplados. Posee también un altavoz que puede reproducir sonidos con un muestreo de hasta 8 kHz. La energía se le suministra mediante 6 pilas AA o por la batería que trae consigo. Presenta las siguientes características técnicas: 

Puertos de entrada: 1, 2, 3 y 4 (para conectar sensores al brick EV3)



Puertos de salida: A, B, C y D (para conectar motores al brick EV3)



1 puerto Mini USB para PC (para conectar el brick EV3 a un computador)

61

Lidia Mauriz Fernández



Análisis de manipuladores industriales

Puerto de host USB (para agregar un conector Wi-Fi y establecer conexiones “daisy chain”)



Puerto para tarjetas Micro SD (para ampliar la memoria disponible en el brick EV3)



Altavoz integrado

Motor grande

Figura 3.8: Motor grande del kit LEGO® Mindstorms® Fuente: http://www.lego.com/es-es/mindstorms/products/mindstorms-ev3-31313

Los motores grandes son potentes, con un par en rotación de 20Ncm y un par en parada de 40Ncm. Cuentan con un sensor de rotación interno con una resolución de un grado para un control preciso. La velocidad de corte se sitúa en 175rpm con una alimentación de 9V. Suponen el elemento principal para la trasmisión de movimiento del kit. Se detalla a continuación en una tabla las características del motor. Motor grande

Par

4.5 V 6V 7.5 V 9V 10.5 V 12 V

17.3 N.cm 17.3 N.cm 17.3 N.cm 17.3 N.cm 17.3 N.cm 17.3 N.cm

Velocidad de rotación

Corriente

Potencia mecánica

Potencia eléctrica

Eficiencia

24 rpm 51 rpm 78rpm 105 rpm 132 rpm 153 rpm

0.69 A 0.69 A 0.69 A 0.69 A 0.69 A 0.69 A

0.43 W 0.92 W 1.41 W 1.90 W 2.39 W 2.77 W

3.10 W 4.14 W 5.17 W 6.21 W 7.24 W 8.28 W

14% 22% 27% 31% 33% 33%

Tabla 4: Características del motor grande del kit Mindstorms EV3

Fuente: http://www.philohome.com/motors/motorcomp.htm

62

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.9: Gráfica experimental de par contra velocidad y corriente del motor grande EV3

Fuente: http://www.philohome.com/motors/motorcomp.htm

Figura 3.10: Gráfica experimental de voltaje contra velocidad del motor grande EV3

Fuente: http://www.philohome.com/motors/motorcomp.htm

63

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Motor mediano

Figura 3.11: Motor mediano del kit LEGO® Mindstorms®EV3 Fuente: http://www.lego.com/es-es/mindstorms/products/mindstorms-ev3-31313

Los motores medianos son más rápidos que los motores grandes con una velocidad máxima entre 240-250rpm, son sin embargo menos potentes, pudiendo dar un par de 8Ncm en movimiento y de 12Ncm en parada. Es un motor más pequeño y ligero que el anterior que también incluye un sensor de rotación interno de un grado de resolución. [14] Motor mediano

4.5V 6V 7.5 V 9V 10.5V 12 V

Par 6.64 N.cm 6.64 N.cm 6.64 N.cm 6.64 N.cm 6.64 N.cm 6.64 N.cm

Velocidad de rotación

Corriente

Potencia mecánica

Potencia eléctrica

Eficiencia

24 rpm 72 rpm 120 rpm 165 rpm 207 rpm 249 rpm

0.35 A 0.35 A 0.35 A 0.37 A 0.37 A 0.37 A

0.17 W 0.50 W 0.83 W 1.15 W 1.44 W 1.73 W

1.57 W 2.10 W 2.62 W 3.33 W 3.88 W 4.44 W

10% 24% 32% 34% 37% 39%

Tabla 5: Características del motor mediano del kit Mindstorms EV3 Fuente: http://www.philohome.com/motors/motorcomp.htm

64

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.12: Gráfica experimental de par contra velocidad y corriente del motor mediano EV3 Fuente: http://www.philohome.com/motors/motorcomp.htm

Figura 3.13: Gráfica experimental de voltaje contra velocidad del motor mediano EV3

Fuente: http://www.philohome.com/motors/motorcomp.htm

65

Lidia Mauriz Fernández

Análisis de manipuladores industriales

3.4.2 Software Existen dos grupos de lenguajes de programación, los oficiales de LEGO® y los no oficiales. LEGO® Mindstorms® EV3 propone el lenguaje G para el software comercial que provee, LEGO MINDSTORMS EV3 Home Edition, ya que está basado en el motor LabVIEW de National Instruments. Este software es adecuado para programación básica e intuitiva, puesto que provee un entorno gráfico de programación que permite arrastrar y soltar e incluye gráficos que muestran el flujo de datos a través de los cables, siendo muy adecuado para un uso educacional. Está soportado por Windows y Mac, puede transferir archivos vía Bluetooth, Wi-Fi o cable USB. Otros programas ajenos a LEGO® también permiten trabajar contra el brick

EV3

como

es

MATLAB

y Simulink,

al

existir

soporte

para

comunicarse con el Hardware de LEGO®. En este proyecto se hará uso tanto del software de LEGO® para una primera toma de contacto con el prototipo, así como del programa LEGO Digital Designer para la generación de las instrucciones de montaje. Seguidamente se llevará a cabo una simulación y programación sobre MATLAB para el prototipo diseñado haciendo uso del soporte antes mencionado para cerrar la comunicación con el brick EV3.

3.5 SIMULACIÓN DEL SISTEMA Actualmente el desarrollo en el campo de la robótica está en auge, existiendo multitud de herramientas de simulación que permiten el diseño y control de un robot previo a su construcción o funcionamiento. Puede encontrarse tanto como software libre, de pago o proporcionado por las empresas de robótica como ABB o Fanuc. La herramienta de simulación de robots RoboAnalyzer es un software de uso académico disponible en la red para el estudio de robots modelados

66

Lidia Mauriz Fernández

Análisis de manipuladores industriales

en 3D. Permite calcular la cinemática directa e inversa, la dinámica, cálculo de trayectorias e integrar el entorno en MATLAB. [15] Se

ha

trabajado

con

esta

herramienta

para

profundizar

en

los

conocimientos teóricos adquiridos y expuestos en apartados anteriores dada la versatilidad del programa y la información que de él se puede extraer. Con este software el diseño de robots se realiza mediante la selección de los grados de libertad y la disposición de las articulaciones ya sean

de

revolución

o

prismáticas.

Se

selecciona

igualmente

las

dimensiones y características de cada eslabón, con lo que está listo para la simulación, pudiendo generar trayectorias con distintos tipos de interpolación. A continuación se expone el interfaz del programa donde se ha seleccionado un robot SCARA, como corresponde a este ejemplo de implementación, el cual realiza una trayectoria de acuerdo a unos parámetros dados para resolver la cinemática directa que son para la primera articulación pasar de una posición a 180º a 0º, para la segunda articulación de 0º a 340º y para la tercera articulación pasar de 0m a 0.085m.

Figura 3.14: Interfaz de RoboAnalyzer para la simulación de un SCARA

Fuente: Creación propia

67

Lidia Mauriz Fernández

Análisis de manipuladores industriales

De esta simulación se generan distintas gráficas mostrando posición, velocidad o aceleración de todas las articulaciones, así como información sobre la posición final en el espacio cartesiano de los distintos eslabones que componen el robot.

Figura 3.15: Gráfica de características para la articulación 1del SCARA en RoboAnalyzer

Fuente: Creación propia

Figura 3.16: Gráfica de características para la posición final del SCARA en RoboAnalyzer Fuente: Creación propia

Esta herramienta de simulación permite también resolver el problema cinemático inverso, dando las dos posibles soluciones, tanto la de cadena cerrada como cadena abierta. En esta aplicación los robots a manejar 68

Lidia Mauriz Fernández

Análisis de manipuladores industriales

están limitados a una lista propuesta, para la demostración de su aplicación se va a exponer la cinemática inversa de un robot planar de dos eslabones, lo cual podría asimilarse a una simplificación del SCARA ya que equivale a la utilización de sus dos primeras articulaciones.

Figura 3.17: Interfaz de RoboAnalyzer para la cinemática inversa de un SCARA

Fuente: Creación propia

A fin de plantear de forma explícita el proceso expuesto para programar un robot, se desarrolla con MATLAB una programación completa de un SCARA cuyo código se encuentra en el apartado Anexos, Código de simulación. Para poder plantear la simulación del robot, se toman como referencia las medidas del prototipo con el que se trabaja para dimensionar el SCARA. Haciendo uso de las matrices de transformación homogénea planteadas en el apartado Cinemática de un robot SCARA se generan las líneas de programa que calculen la cinemática directa del robot en función de la 69

Lidia Mauriz Fernández

Análisis de manipuladores industriales

posición articular de la articulación uno y dos en grados y en milímetros de la tercera. Se incluye además el código para dibujar de forma esquemática la estructura del robot y su posición. Con los cálculos trigonométricos de ese mismo apartado se plantea la cinemática inversa sobre MATLAB, función dependiente de las coordenadas cartesianas del punto en el que se quiera situar el robot. Estas funciones son SCARA_CD y SCARA_CI respectivamente.

Figura 3.18: Esquema del SCARA en MATLAB

Fuente: Creación propia

En la imagen se muestra el esqueleto de un SCARA con los parámetros del prototipo, los círculos indican la posición de las articulaciones mientras que el asterisco hace referencia al efector final del robot. Tanto la cinemática directa como la inversa suponen la base para cualquier operación a realizar con un robot. A partir de ella se prepara en este caso un programa que genere una trayectoria lineal sobre el plano horizontal donde trabaja el robot. Para ello se dan las coordenadas de los 70

Lidia Mauriz Fernández

Análisis de manipuladores industriales

puntos inicial y final, y mediante una interpolación lineal se generan una serie de puntos a lo largo de la línea recta que se quiere seguir. El número de puntos de la interpolación depende de la precisión en la trayectoria que se requiera. A mayor número de puntos menor desviación se le permite al robot ya que obligatoriamente ha de pasar por todos ellos,

sin

embargo,

a

mayor

número

de

puntos

mayor

gasto

computacional ya que cada punto precisa de un tratamiento para que la información le llegue al robot adecuadamente. Por tanto una vez obtenidos los puntos de paso de la trayectoria lineal se pasan estas coordenadas al espacio articular resolviendo el problema cinemático inverso. Para asegurar un paso suave entre puntos es necesario realizar una interpolación para el movimiento a realizar por la articulación, la cual ha de ser continua en todo su recorrido, sin saltos tanto para la primera como para la segunda derivada. Se utiliza un spline de orden cinco para resolver el problema, en el cual se establecen seis condiciones de contorno, dos para la posición, dos para velocidad y dos para aceleración, de modo que se asegura continuidad en la trayectoria estableciendo de forma adecuada las condiciones. Para simplificar se toma que si en un punto existe cambio de sentido tanto la velocidad como la aceleración en ese punto será nula, en otro caso, la velocidad y aceleración en un punto equivale a la media entre las velocidades y aceleraciones medias del tramo

anterior

y

posterior.

El

código

se

recoge

en

la

función

Control_cinematico_SCARA, donde se llama a las funciones previamente explicadas que calculan la cinemática directa e inversa para obtener las posiciones articulares del robot.

71

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.19: Simulación de una trayectoria lineal por un SCARA

Fuente: Creación propia

72

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.20: Características articulares de la trayectoria lineal del SCARA

Fuente: Creación propia

73

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Para dar aplicación a la trayectoria lineal diseñada se exponen a continuación distintos proyectos que pueden llevarse a cabo. En primer lugar se diseña el dibujo de un cuadrado de 100mm de lado, siendo esta una magnitud modificable. Se ha tomado este valor como referencia para la simulación. Para ello se plantea una función en MATLAB, Cuadrado_SCARA, que realice cuatro trayectorias lineales, una por cada lado del cuadrado, designando así cuatro líneas donde los puntos iniciales y finales se corresponden con los vértices del polígono. Se añade además la subida y bajada del efector final con la tercera articulación, partiendo de una posición recogida en la que hay que descender para realizar el trazado sobre el plano de trabajo del robot.

Figura 3.21: Simulación de un cuadrado trazado por un SCARA Fuente: Creación propia

74

Lidia Mauriz Fernández

Análisis de manipuladores industriales

75

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.22: Características articulares del cuadrado trazado por el SCARA Fuente: Creación propia

Las aplicaciones de esta generación de trayectorias no se limitan a trazado de líneas, pudiendo dibujar de igual líneas curvas como un conjunto de pequeñas líneas rectas. Se expone a continuación la trayectoria para un círculo, planteando éste como un polígono de muchos lados, al igual que genera MATLAB este tipo de figuras. Para ello se plantea una función que

genere las coordenadas x e y de un círculo

realizado en muchos tramos resolviendo la trayectoria lineal en cada caso. Se expone a continuación el resultado de la simulación de esta función para un círculo de 30mm de radio centrada en [100 100] realizada en 95 segundos. Todos estos parámetros son modificables dentro de las limitaciones de forma del robot en la función Circulo_SCARA.

76

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.23: Simulación de un círculo trazado por un SCARA

Fuente: Creación propia

77

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.24: Características articulares del círculo trazado por el SCARA

Fuente: Creación propia

78

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Adicionalmente se propone la trayectoria para el trazado de la letra E, ya que esta conlleva una elevación del extremo del robot para recolocarse y terminar el dibujo. Esta función lleva el nombre LetraE_SCARA y comienza en el extremo inferior de la letra, en tres tramos llega al extremo superior de la letra donde el efector final se eleva y va al punto medio del segmento vertical de la letra donde baja nuevamente para realizar un trazo horizontal que de por terminada y reconocible la letra, elevando el efector para quedar en la posición de reposo y así acabar la operación.

Figura 3.25: Simulación de la letra E trazada por un SCARA

Fuente: Creación propia

79

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.26: Vista en planta de la simulación de la letra E trazada por un SCARA

Fuente: Creación propia

80

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.27: Características articulares de la letra E trazada por el SCARA Fuente: Creación propia

81

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Como colofón se presenta la simulación para el robot que genera el trazado de las iniciales de la Universidad de Cantabria (UC), trayectoria que incluye trazos rectos unidos a curvas, y subida y bajada del efector final para pasar de una letra a la siguiente. Para llevarlo a cabo se baja el efector final en el extremo izquierdo de la U, se traza una línea recta seguida de media circunferencia y otra línea recta en la misma dirección. De este modo se tiene ya trazada la primera letra, para la segunda se eleva el efector final del plano, se desplaza hasta el punto superior de la C y se baja el extremo, trazando un arco de circunferencia se obtiene la segunda letra, levantando finalmente el extremo del robot para dejarlo en posición de reposo. Este código puede encontrarse en la función UC_SCARA.

Figura 3.28: Simulación del dibujo de las letras UC trazado por un SCARA Fuente: Creación propia

82

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.29: Vista en planta de la simulación del trazado UC por un SCARA Fuente: Creación propia

83

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.30: Características articulares de las letras UC trazado por el SCARA

Fuente: Creación propia

84

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Cualquier trayectoria que se plantee para el SCARA ha de pasar antes por una comprobación que asegure que los puntos introducidos están dentro del espacio de trabajo del robot. Estas limitaciones representan en el espacio cartesiano un cilindro hueco, de radio exterior 280mm e interior de 50mm con una altura de 85mm desde la base donde se sitúa el sistema de referencia fijo. Esto se lleva a cabo a través de la función Comprobación donde se comprueba que se cumplan todas las condiciones para el punto inicial y final de la trayectoria lineal a realizar, ya que al tener el robot un espacio de trabajo de un cilindro hueco, cualquier línea cuyo punto inicial y final esté dentro de este espacio tendrá el resto de los puntos igualmente en el interior. En el caso de que los puntos no cumplan en alguna de sus coordenadas las condiciones se genera un mensaje de error que indica qué punto tiene el fallo y en qué coordenadas. Además se genera un contador que devuelva una vez ejecutada la función si el robot puede situarse en los puntos o no, deteniendo si fuese necesario la ejecución del programa que realiza la trayectoria lineal. El código de esta función se encuentra en el Anexo de Código de simulación.

3.6 PROGRAMACIÓN Se propone como primera toma de contacto un pequeño programa con el software de LEGO Mindstorms EV3. En este se activa el motor mediano que controla el bolígrafo descendiéndolo, a continuación se entra en un bucle de cinco segundos de duración en el que los motores de las dos primeras articulaciones se mueven diez vueltas antes de cambiar de sentido el motor de la segunda articulación conectado al puerto B. Una vez salido del bucle se activa el motor mediano elevando el efector final. Una señal sonora anuncia el final del programa.

85

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.31: Esquema del programa con LEGO Mindstorms EV3

Fuente: Creación propia

A fin de realizar una programación sobre MATLAB, es necesario conectar el brick EV3 con el entorno de trabajo del programa. Haciendo uso de la toolbox propia de LEGO Mindstorms EV3 disponible para MATLAB se reconoce el ladrillo ya sea por una conexión vía bluetooth o por USB. A partir de esto se identifican los motores y sensores conectados al brick EV3, a través de los cuales puede obtenerse información o dar indicaciones en el caso de los motores. Tanto en el motor mediano como en el grande puede controlarse la velocidad, así como analizar la posición gracias al encoder integrado que poseen. El paquete de funciones que está disponible en MATLAB para la comunicación con el brick no permite más que establecer la velocidad de los motores en un rango entre 100 y -100 según la dirección, y medir la posición en grados. Gracias a esto es posible la comunicación con este prototipo en particular partiendo de una programación general para un robot de estas características. Con el código para la simulación del sistema pueden extraerse los datos de posición, velocidad, aceleración y tiempo para la trayectoria que se proponga. A partir de estos datos puede establecerse la comunicación con el prototipo mediante funciones propias del paquete de soporte que proporciona MATLAB para LEGO Mindstorms EV3. Para ello, una vez reconocido el brick, se identifican los motores con su respectivo puerto. Para asignar la velocidad de los motores se utiliza un bucle que actualice la velocidad en cada tramo de tiempo establecido previamente en el cálculo de la trayectoria.

86

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Se realizan unas primeras pruebas de control del movimiento del robot realizando una calibración manual con el código que se muestra en el Anexo: Código de programación bajo el título de Calibracion_manualEV3. Se muestra a continuación la posición de reposo del robot así como el estado del robot con el extremo sobre el plano y el extremo elevado.

Figura 3.32: Prototipo SCARA en posición de reposo

Fuente: Creación propia

Figura 3.33: Efector final del prototipo sobre el papel (posición activa) Fuente: Creación propia

87

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.34: Efector final del prototipo elevado (posición de reposo) Fuente: Creación propia

Como primera prueba se traza una línea recta partiendo de la posición de reposo donde el brazo está completamente extendido. Para ello se ejecuta el archivo usado en la simulación Control_cinematico_SCARA añadido a las conexiones pertinentes con el brick que actualicen de forma discreta los valores de la velocidad asignados a cada motor, siendo este tiempo de muestreo el mismo que se propuso para el cálculo de las posiciones, velocidades y aceleraciones en el control cinemático.

88

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Figura 3.35: Resultado real de la línea trazada por el prototipo de LEGO

Fuente: Creación propia

El código utilizado para esta tarea se encuentra en el Anexo: Código de programación bajo el nombre Linea_EV3. Para el correcto funcionamiento de los motores se ajusta la velocidad de acuerdo a la relación de trasmisión de cada articulación. Del mismo modo se reajusta la velocidad de los motores respecto a los parámetros que acepta, se toma 150rpm como valor 100 del motor, con lo cual se obtiene la relación entre el valor absoluto que se le puede dar al motor como orden y la velocidad calculada en grados por segundo. Una vez ejecutado se observa que el robot hace el trazado con dificultad, si bien se aproxima a lo requerido. Las rectas que pueden trazarse abarcan los límites del espacio de trabajo, donde únicamente se necesita cambiar las coordenadas de los puntos iniciales y finales especificados en el código. Se prueba a continuación con una trayectoria más compleja llevando a cabo así un cuadrado como se expuso en la Simulación del sistema. Este 89

Lidia Mauriz Fernández

Análisis de manipuladores industriales

código se encuentra nuevamente en el Anexo: Código de programación bajo el nombre Cuadrado_EV3.

Figura 3.36: Resultado real del cuadrado trazado por el prototipo de LEGO

Fuente: Creación propia

Nuevamente este resultado se aproxima sin ser un resultado óptimo. Esto puede deberse a una mala calibración del robot o mala respuesta por parte de la velocidad en los motores al no tener una referencia clara en el paquete propuesto para MATLAB como se expuso anteriormente. Ante estos resultados se propone un control proporcional en la trayectoria donde se lee la posición de los motores con el encoder, función disponible en MATLAB, creando un sistema en lazo cerrado donde la velocidad se actualiza a un mayor ritmo para así permitir el muestreo más extenso entre cambios de velocidad para que el control sea funcional.

90

Lidia Mauriz Fernández

Análisis de manipuladores industriales

4 PRESUPUESTO Los medios utilizados, tanto a nivel de software como hardware suponen unos determinados gastos, los cuales se listan a continuación: Material

Cantidad

Precio unitario (€/unidad)

Precio total (€)

Licencia MATLAB R2015b para uso académico

1

35

35

Microsoft Office 365

1

-

-

PC Intel Core i5, 64 bits, 4 Gb RAM con Windows 7

1

475

475

Set LEGO® MINDSTORMS® Education EV3

1

361,98

361,98

Set de expansión LEGO® MINDSTORMS® Education EV3

1

99,13

99,13

El precio del software de Microsoft Office 365 no se valora en el presupuesto al ser un programa proporcionado de forma gratuita por la Universidad de Cantabria mientras se sea alumno de la misma. Relativo a la mano de obra, se han dedicado 10 horas al montaje del prototipo. El resto del proyecto, investigación, análisis y diseño, ha tomado aproximadamente 300 horas. Estableciendo un coste horario de 25€ en el cual se incluye seguridad social, vacaciones e impuestos, el coste de mano de obra asciende a:

Mano de obra

Cantidad

Precio unitario (€/unidad)

Precio total (€)

310

25

7750

El presupuesto de ejecución material resulta de la suma de gastos en material y mano de obra:

91

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Descripción

Presupuesto (€)

Coste de los medios

971,11

Coste del diseño y montaje

7.750

Presupuesto de ejecución material

8.721,11

El presupuesto total se obtiene al agregar al presupuesto de ejecución material los siguientes conceptos: -

13% de gastos generales sobre el presupuesto de ejecución material

-

6% de beneficio industrial sobre el presupuesto de ejecución material

-

21% de impuesto sobre el valor añadido (IVA) sobre el total parcial

Presupuesto de ejecución material ………………………………………………8.721,11€ Gastos generales (13%)………………………………………………………………1.133,74€ Beneficio Industrial (6%)…………………………………………………………………523.26€ Total parcial…………………………………………………………………………………10.378,11€ IVA (21%)………………………………………………………………………………………2.179,40€ Total presupuesto de ejecución …………………………………………………12.557,51€ El coste total del proyecto asciende a la cantidad de: DOCE MIL QUINIENTOS CINCUENTA Y SIETE CON CINCUENTA Y UN EUROS

92

Lidia Mauriz Fernández

Análisis de manipuladores industriales

5 CONCLUSIONES Los objetivos propuestos en el proyecto se ven satisfechos al haberse expuesto y descrito los principales tipos de manipuladores industriales de cadena

cinemática

abierta,

así

como

analizado

la

morfología

y

funcionalidad de los robots describiéndose el control cinemático que permite el trazado de trayectorias de forma suave y precisa. Finalmente, respecto a la implementación propuesta puede decirse que el prototipo construido con LEGO es mecánicamente funcional y se consigue el movimiento independiente de cada motor y por tanto cada articulación respondiendo a las órdenes de mando. Respecto al montaje de la estructura, se han experimentado numerosos problemas derivados de las características de las piezas de LEGO, desde su flexibilidad hasta las holguras entre piezas. El principal problema ha surgido por el peso de los motores y la resistencia de las piezas. Se requería situar los motores en los distintos eslabones, lo que genera un momento de inercia considerable y un peso razonable en uno de los extremos del robot lo que hace que no sea estable y tienda a volcar. Esto se trató de solucionar mediante un contrapeso que resultó ser el brick EV3 como opción más viable. Esta solución sin embargo implica que el cable de conexión al ordenador esté en constante movimiento al moverse la primera articulación del robot. Como problema añadido los engranajes del paquete presentan holguras que impiden un movimiento preciso, especialmente en los cambios de sentido donde hay una zona de movimiento perdido que resta precisión en el efector final, este error es más acusado cuanto mayor sea la distancia desde el extremo al problema. Estas holguras también afectaban a la estabilidad en el eje vertical del robot, provocando un bamboleo del extremo final que no asegura un correcto deslizamiento del bolígrafo sobre la superficie de trabajo como se pretendía, habiendo pequeñas oscilaciones y saltos.

93

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Pese a los problemas técnicos cabe resaltar el resultado satisfactorio respecto a la simulación y programación, si bien la tarea de control se vería facilitada de trabajar sobre Simulink en lugar de sobre MATLAB, al ser un software más visual y cómodo de trabajar. En esta ocasión no ha sido posible al no disponer del adaptador para conectar el brick EV3 vía Wi-Fi, requisito para poder conectar el brick al programa puesto que no acepta la conexión USB o Bluetooth como sí lo hace MATLAB. El uso de MATLAB ha condicionado de igual manera el control de los robots al disponer de un catálogo de órdenes reducidas para la conexión entre el brick y el programa, no pudiéndose controlar todos los parámetros deseados como eran la posición, velocidad y aceleración, estando solo disponibles la lectura de posición en grados segundo de los motores y establecer la velocidad de los motores en un rango de 100 a 100.

94

Lidia Mauriz Fernández

Análisis de manipuladores industriales

6 TRABAJO A FUTURO Puesto

que

en todo

cabe

mayor profundización, se

presentan a

continuación algunas futuras líneas de desarrollo en relación con el tema tratado en este proyecto. Dentro del estudio de manipuladores industriales existe un campo en desarrollo que utiliza estructuras en paralelo en lugar de cadenas cinemáticas abiertas como cuerpo del robot, lo cual puede suponer un ámbito interesante de estudio. Así mismo cabe ahondar más en el modelado y control de los manipuladores industriales profundizando más en casos concretos de utilidad en la industria. Respecto al ejemplo de implementación hay distintos aspectos a seguir estudiando y mejoras recomendadas. Como línea de trabajo a seguir en un futuro se propone en primer lugar la mejora del prototipo mecánico, bien sea utilizando el mismo paquete de piezas de LEGO o sustituyéndolo por un diseño distinto en piezas metálicas o de plástico construidas en un solo bloque. Esta última opción mejoraría la estabilidad y solidez del robot además de facilitar el modelado al tener una forma más compacta y robusta a la hora de los cálculos de inercias. Durante esta mejora estaría recomendado eliminar el contrapeso necesario en este modelo para la estabilidad, colocando el elemento de control en la base del robot o bien en un elemento externo al cuerpo de la máquina. De igual forma el control puede verse mejorado mediante la utilización de un PID más sofisticado o bien mediante otro tipo de control como puede ser el control por realimentación de estados. Esto necesariamente mediante la utilización de un modelo más preciso que el planteado, haciendo

uso

de

inercias

variables

como

se

da

en

los

robots

manipuladores al cambiar la posición relativa entre eslabones, así como de parámetros de rozamiento y fricción que no se han estudiado en este modelo. 95

Lidia Mauriz Fernández

Análisis de manipuladores industriales

Finalmente y como trabajo fundamental a futuro se recomienda la implantación de una rutina de calibración autónoma por parte del robot. Para ello se recomienda el uso de sensores táctiles para reconocer de forma precisa la orientación y posición del robot y ser capaz de colocarse en la posición de reposo de forma autónoma.

96

Lidia Mauriz Fernández

Análisis de manipuladores industriales

7 REFERENCIAS

[1] S. K. Saha, Introduction to Robotics, Segunda ed., New Delhi: Mc Graw Hill, 2015. [2] J. Gemma. [En línea]. Available: http://www.ifr.org/. [Último acceso: 21 Marzo 2016]. [3] W. M. H. b. w. Kadir, «Modelling and control of articulated robot arm,» Malasia, 2014. [4] F. R. Cortés, MATLAB aplicado a robótica y mecatrónica, Primera ed., México : Alfaomega, 2012. [5] J. L. M. Pérez y J. L. Z. Macho, «Diseño e implantación del sistema de control de un robot SCARA,» Madrid, 2015. [6] L. E. Ferrari, A. Beghi y R. Kavanagh, «Matlab-based Control of a SCARA Robot,» 2015. [7] G. S. M. Aguilar, «Diseño de un controlador dinámico para un robot SCARA mediante redes neuronales artificiales». [8] F. R. Cortés, Robótica, control de robots manipuladores, Primera ed., México: Alfaomega, 2011. [9] A. Barrientos, L. F. Peñín, C. Balaguer y R. Aracil, Fundamentos de Robótica, España: Mc Graw Hill, 2007. [10] F. Torres, J. Pomares, P. Gil, S. T.Puente y R. Aracil, Robots y sistemas sensoriales, Madrid: Pearson Educación S.A., 2002. [11] M. A. Perez Cisneros, E. V. Cuevas Jiménez y D. Zalzívar Navarro, Fundamentos de robótica y mecatrónica con MatLab y Simulink, Madrid : RA-MA, 2014.

97

Lidia Mauriz Fernández

Análisis de manipuladores industriales

[12] Maxim, «NXT Lego Mindstorms programming. Mathematical Model of Lego EV3 Motor,» 23 Marzo 2013. [En línea]. Available: http://nxtunroller.blogspot.com.es/2015/03/mathematical-model-of-lego-ev3motor.html#mjx-eqn-eqeq1. [Último acceso: 21 Junio 2016]. [13] Y. Yamamoto, NXT SCARA Model-Based Design. Control of two-link planar robot arm built with LEGO Mindstorms NXT, 2008. [14] LEGO Group, LEGO Mindstorms EV3 User Guide. [15] S. Saha, RoboAnalyzer3D Model Based Robotics Learning Software User Manual, Nueva Delhi, 2014. [16] R. Kelly y V. Santibáñez, Control de movimiento

de robots

manipuladores, Madrid: Pearson Educación S.A., 2003. [17] P. Corke, Robotics, Vision and Control, Springer-Verlag Berlin Heidelberg, 2011. [18] M. Vang Sandgaard Jensen, «LEGO,» LEGO Group, 12 Febrero 2015. [En

línea].

Available:

http://www.lego.com/es-

es/mindstorms/products/mindstorms-ev3-31313. [Último acceso: 26 Abril 2016]. [19] B. Amauri Montoya y J. E. Chairez Veloz, Diseño, simulación y control de la dinámica de un robot planar de dos grados de libertad, 2014. [20] J. J. Craig, Introduction to robotics. Mechanics and control, United States of America: Pearson Education International , 2005. [21] V. Fedák, F. Ďurovský y R. Üveges, «Analysis of Robotic System Motion in SimMechanics and MATLAB GUI Environment,» de MATLAB Applications for the Practical Engineer, INTECH, 2014, pp. 565-581. [22] J. A. Guzmán, A. F. Gutiérrez y J. D. Meza, «Estudio y Modelado de un Brazo Robótico Lego de tres grados de libertad,» Medellín, 2011.

98

Lidia Mauriz Fernández

Análisis de manipuladores industriales

[23] M. Thompson, V. M. Serrano R., J. E. Willem Noriega y V. Martinez, «Learning Robotic Concepts with a 3R Lego NXT Robotic Arm,» Avestia Publishing, Arizona, 2014. [24] S. Marathe, «Robot Simulation using MATLAB,» Pune, 2015. [25] J. L. Muñoz Pérez, «Diseño e implantación del sistema de control de un robot SCARA,» Madrid, 2015. [26] I. Dressler, «Modeling and Control of Stiff Robots for Flexible Manufacturing,» Lund, 2012. [27] M. Reyad AbuQassem, «Simulation and Interfacing of 5 DOF Educational Robot Arm,» Gaza, 2010. [28] O. Montoya Rangel, «Modelo, diseño e implementación del sistema de control de posición de manipulador SCARA,» México, 2010.

99

Lidia Mauriz Fernández

Análisis de manipuladores industriales

8 ANEXOS 8.1 CÁLCULOS Las inercias se calculan con los datos de la Tabla 3. >> Iz1=1/12*507e-3*(75e-3^2+300e-3^2) Iz1 = 0.0040 >> Iy1=1/12*507e-3*(55e-3^2+300e-3^2) Iy1 = 0.0039 >> Ix1=1/12*507e-3*(55e-3^2+75e-3^2) Ix1 = 3.6546e-04 >> Iz2=1/12*79e-3*(40e-3^2+190e-3^2) Iz2 = 2.4819e-04 >> Iy2=1/12*79e-3*(50e-3^2+190e-3^2) Iy2 = 2.5412e-04 >> Ix2=1/12*79e-3*(50e-3^2+40e-3^2) Ix2 = 2.6992e-05 >> Ix3=1/12*40e-3*(50e-3^2+90e-3^2) Ix3 = 3.5333e-05 >> Iy3=1/12*40e-3*(40e-3^2+90e-3^2) Iy3 = 3.2333e-05 >> Iz3=1/12*40e-3*(40e-3^2+50e-3^2) Iz3 =

100

Lidia Mauriz Fernández

Análisis de manipuladores industriales

1.3667e-05

Para calcular las constantes de los motores del pack LEGO Mindstorms EV3 se hace uso de las gráficas de los mismos. >> km_grande=((36-4)/100)/((1500-250)/1000) km_grande = 0.256000000000000 >> km_mediano=(12/100)/((610-80)/1000) km_mediano = 0.226415094339623 >> ke_grande=8/(150*2*pi/60) ke_grande = 0.509295817894065 >> ke_mediano=12/(340*2*pi/60) ke_mediano = 0.337033997135778

8.2 CÓDIGO DE SIMULACIÓN SCARA_CD function SCARA_CD( j1,j2,d3 ) %SCARA_CD Cinemática directa del robot SCARA % Para resolver el PCD se hace uso de DH. Se caracteriza haciendo uso de % las distancias particulares para el prototipo disponible dadas en mm. % Se genera con la función una simulación del robot de forma esquemática. l1=110;l2=170;l3=0;d1=70;d2=15; H1=[cosd(j1) sind(j1) 0 0

-sind(j1)*cosd(0) cosd(j1)*cosd(0) sind(0) 0

H2=[cosd(j2) sind(j2) 0 0

-sind(j2)*cosd(0) cosd(j2)*cosd(0) sind(0) 0

H3=[cosd(0) sind(0) 0 0

-sind(0)*cosd(0) cosd(0)*cosd(0) sind(0) 0

sind(j1)*sind(0) -cosd(j1)*sind(0) cosd(0)

l1*cosd(j1); l1*sind(j1); d1; 0

sind(j2)*sind(0) -cosd(j2)*sind(0) cosd(0) 0

1]; l2*cosd(j2); l2*sind(j2); d2;

sind(0)*sind(0) l3*cosd(0); -cosd(0)*sind(0) l3*sind(0); cosd(0) 0

1];

-d3; 1];

% Simulación esquemática p0=[0 0 0 1]';p0a=[0 0 d1 1]'; p1=[-l1 0 0 1]';p1a=[-l1/2 0 0 1]'; p1b=[0 0 0 1]'; p2=[-l2 0 -d2 1]';p2a=[-l2 0 0 1]';p2b=[0 0 0 1]';

101

Lidia Mauriz Fernández

Análisis de manipuladores industriales

p3=[ 0 0 d3/2 1]';p3a=[0 0 0 1]'; P0=p0; P0a=p0a; P1=H1*p1; P1a=H1*p1a; P1b=H1*p1b; P2=H1*H2*p2; P2a=H1*H2*p2a; P2b=H1*H2*p2b; P3=H1*H2*H3*p3; P3a=H1*H2*H3*p3a; P=[P0 P0a P1 P1a P1b P2 P2a P2b P3 P3a ]; Part=[P0 P1b P2b]; Ppunta=P3a; plot3(P(1,:),P(2,:),P(3,:)),grid on,hold on, xlabel('X'),ylabel('Y'),zlabel('Z'),title('Simulación SCARA') plot3(Part(1,:),Part(2,:),Part(3,:),'o') plot3(Ppunta(1),Ppunta(2),Ppunta(3),'*') axis([-300 300 -300 300 0 100]); end

SCARA_CI function [ j1,j2,d3 ] = SCARA_CI( x,y,z ) %SCARA_CI Cinemática directa del robot SCARA % Para resolver el Problema Cinemático Inverso se acude a la % trigonometría sacando las relaciones necesarias para despejar las % variables articulares.Se caracteriza haciendo uso de % las distancias particulares para el prototipo disponible dadas en mm. l1=110;l2=170;l3=0;d1=70;d2=15; cosj2=(x^2+y^2-l1^2-l2^2)/(2*l1*l2); j2=atan2d(sqrt(1-cosj2^2),cosj2); j1=atan2d(y,x)-atan2d((l2*sind(j2)),(l1+l2*cosd(j2))); d3=d1+d2-z; SCARA_CD( j1,j2,d3 ); End

Control_cinematico_SCARA function [pos, vel,acel, tiempo]=Control_cinematico_SCARA( x_i,y_i,z_i,x_f,y_f,z_f,tf ) %Control_cinematico_SCARA control de trayectoria lineal del efector final % Se controla la posición del efector final sobre el plano para el % trazado de una determianda trayectoria lineal dando los puntos de % inicio y fin % Comprobar que los puntos introducidos para realizar la trayectoria son % validos [mal]=Comprobacion( x_i,y_i,z_i,x_f,y_f,z_f ); if mal==1 pos=[];vel=[];acel=[];tiempo=[]; return end % Generar los puntos de paso en el espacio cartesiano, interpolacion lineal puntos=10;ti=0; tramo=tf/puntos;

102

Lidia Mauriz Fernández

Análisis de manipuladores industriales

t=[ti:tramo:tf]; i=0;x=[];y=[];z=[]; for ta=ti:tramo:tf, i=i+1; x(i)=x_i+(x_f-x_i)/(tf-ti)*(ta-ti); y(i)=y_i+(y_f-y_i)/(tf-ti)*(ta-ti); z(i)=z_i+(z_f-z_i)/(tf-ti)*(ta-ti); end plot3(x(:),y(:),z(:),'g'),grid on,hold on % pinta la trayectoria lineal en verde % Resolver el PCI de cada punto de la interpolacion j1=[];j2=[];d3=[]; for i=1:length(x) [j1(i),j2(i),d3(i)]=SCARA_CI(x(i),y(i),z(i)); end % Resolver interpolacion spline de orden cinco articulacion=[j1; j2; d3]; numero=0; % pos= (length(t)-1)*p, siendo p el paso pos=zeros(3,500);tiempo=zeros(3,500);vel=zeros(3,500);acel=zeros(3,500); for k=1:3 numero=numero+1; art=articulacion(k,:); for j=1:length(art)-1 % Velocidad inicial y final de cada tramo if j==1 % para el primer tramo vini=0; vact=(art(j+1)-art(j))/(t(j+1)-t(j)); vsig=(art(j+2)-art(j+1))/(t(j+2)-t(j+1)); if sign(vact)==sign(vsig) vfin=(vact+vsig)/2; else vfin=0; end; elseif j

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.