Análisis Dinámico de un Brazo Robótico Plano de 2 GDL Simulación

17
ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL FACULTAD DE INGENIERÍA MECÁNICA Y CIENCIAS DE LA PRODUCCIÓN Profesor: Ing. Eduardo Orcés Pareja Alumnos: Andrés Jaramillo Rodas Denisse Ramírez Vivas Isaac Mora Pazán Miguel Udeo Guaman Alfredo Merizalde Avilés Análisis Dinámico de un Brazo Robótico Plano de 2 GDL Simulación dinámica de un Brazo Robótico Plano de 2GDL MECÁNICA DE MAQUINARIA II 02 de Septiembre de 2015 I Término

description

proyecto mecánica de maquinarias 2: Análisis Dinámico de un Brazo Robótico Plano de 2 GDLSimulación

Transcript of Análisis Dinámico de un Brazo Robótico Plano de 2 GDL Simulación

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL

FACULTAD DE INGENIERÍA MECÁNICA Y CIENCIAS DE LA PRODUCCIÓN

Profesor: Ing. Eduardo Orcés Pareja

Alumnos:

Andrés Jaramillo Rodas

Denisse Ramírez Vivas

Isaac Mora Pazán

Miguel Udeo Guaman

Alfredo Merizalde Avilés

Análisis Dinámico de un Brazo Robótico

Plano de 2 GDL

Simulación dinámica de un Brazo Robótico Plano de 2GDL

MECÁNICA DE MAQUINARIA II

02 de Septiembre de 2015

I Término

1

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Contenido: RESUMEN ....................................................................................................................................................................... 2

PRINCIPIOS FUNDAMENTALES .................................................................................................................................... 2

INTRODUCCIÓN .............................................................................................................................................................. 3

DESCRIPICIÓN DEL PROBLEMA ................................................................................................................................... 3

SOLUCIÓN DE LAS ECUACIONES DEL MOVIMIENTO EN MATLAB ........................................................................... 5

PROCEDIMIENTO Y PLANTEAMIENTO DEL PROBLEMA .......................................................................................... 6

SOLUCIÓN DEL PROBLEMA .......................................................................................................................................... 8

SIMULACIÓN EN MATLAB Y SIMULINK ...................................................................................................................... 9

ANÁLISIS DE RESULTADOS ........................................................................................................................................15

CONCLUSIONES ............................................................................................................................................................16

REFERENCIAS BIBLIOGRÁFICAS ................................................................................................................................16

2

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Análisis Dinámico de un Brazo Robótico

Plano de 2 GDL

Simulación dinámica de un Brazo Robótico Plano de 2GDL

Resumen

En el proyecto se realizó la simulación del comportamiento dinámico de un manipulador plano de

2 GDL; para esto, se creó un modelo en Simulink. Luego se hizo una corrida de prueba sin torques

aplicados a las dos juntas del mecanismo, en la que el robot cae desde una posición inicial bajo la acción de

la gravedad. Para la comprobación de la precision de la simulación se hizo una prueba de consistencia

entre los resultados obtenidos para la posición de la herramienta a partir de los integradores y los que

fueron sacados por el cálculo directo. Finalmente, se añadió dos motores en las juntas para que estos

generen los torques necesarios para llevar la herramienta desde la posición de reposo (‘home’) en las

coordenadas x = -0,8; y = 1, hasta el punto A situado en x = 1; y = 0,8. Se asumió que el torque de cada

motor es la suma de una señal que es proporcional a la diferencia entre el valor deseado y el valor real de

los ángulos de las juntas, y otra que es proporcional a la derivada de esta diferencia. Las constants de

proporcionalidad (conocidas como ‘ganancias’), influyen mucho en el comportamiento del sistema y

deben ser afinadas para obtener el desempeño adecuado.

Principios Fundamentales

Un brazo robot es un manipulador multifuncional con varios grados de libertad, capaz de

manipular cargas, piezas, herramientas o dispositivos especiales, según trayectorias programadas por un

software. Los componentes más importantes son:

Controlador del robot

Botonera de mando

Pinza

Módulo de rampa

Módulo retenedor

Módulo de montaje

Módulo de almacén

Este mecanismo posee 5 grados de libertad:

3

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Los tipos de juntas en el brazo robótico son:

3 lineales: grados de traslación

2 rotacionales: grados de rotación

Sus diferentes sistemas de coordenadas en que se puede mover el robot en forma manual (JOG) son de 5

operaciones de desplazamiento:

TOOL

JOINT

XYZ

3 AXIS XYZ

CYLINDER.

Introducción y descripción breve del Problema.

Un brazo robótico es un manipulador multifuncional reprogramable diseñado para mover

materiales, componentes, herramientas, o dispositivos especializados, a través de movimientos

programados variables para desempeñar diferentes tareas. Los manipuladores robóticos están

compuestos por eslabones unidos por juntas rotacionales (R) o prismáticas (P) para formar una cadena

cinemática en 2D o 3D. Las principales aplicaciones industriales de los robots son en operaciones de

ensamblaje de components y otras operaciones tales como soldadura de partes, pintura con soplete,

manipulación de materiales, carga y descarga de máquinas,etc.

Una aplicación típica de un manipulador industrial se muestra en la figura acontinuación. El manipulador

se muestra con una herramienta de corte que debe usar para remover cierta cantidad de metal de una

superficie.

Si se mueve el manipulador desde suposición de reposo (‘home’) a una posición A, a partir de la cual el

robot debe seguir el contorno de la superficie S hasta el punto B, a una velocidad constante, mientras

mantiene una fuerza prescrita F normal a la superficie. Al hacer ésto, el robot cortará o pulirá la superficie

de acuerdo a cierta especificación dada.

4

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

El primer problema que se encuentra es poder describer la posición de la herramienta y las posiciones A y

B (y talvez, también la superficie S) con respect a un sistema de coordenadas común (absolute o relativo).

Este es el problema cinemático directo. Típicamente, el manipulador puede medir su posición usando

sensors internos (‘encoders’) localizados en las juntas 1 y 2, los cuales miden directamente los ángulos θ1

y θ2. Es necesario expresar entonces las coordenadas de los puntos A y B en términos de estos ángulos.

Para hacer que el robot vaya al punto B, necesitamos la relación inversa, esdecir, los ángulos θ1 y θ2 en

terminus de las coordenadas x – y de B. Este es el problema de cinemática inversa. Puesto que el problema

es no - lineal, la solución no es fácil de hallar y no hay una solución única general. Puede no haber solución

si el punto B se encuentra fuera del alcance del manipulador, o puede haber varias soluciones (‘ramas’)

como en el caso mostrado en la figura.

Finalmente, si deseamos que recorra un contorno a velocidad constante, debemos hallar la relación entre

la velocidad de la herramienta y las velocidades angulares de las juntas. Esta relación se la halla derivando

las ecuaciones anteriores.

La matriz J se llama la matriz Jacobiana, y su inversa permite determiner la velocidad de la herramienta en

function de las velocidades angulares de las juntas.

Se debe evitar estas configuraciones singulares (θ2=0, π)

5

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Obtención y solución de las ecuaciones del movimiento en Matlab. function[out] = fuerzasmanipulador2D(u) % Función para implementar la simulación dinámica completa % de un manipulador robótico plano con dos grados de libertad, % formado por dos eslabones articulados. % Usada con el modelo de SimulinkMANIPULADOR2D.MDL % Entradas: % u(1) = omega1 % u(2) = theta1 % u(3) = omega2 % u(4) = theta2 % u(5) = torque1 % u(6) = torque2 % Definir algunas variables locales g = 9.8067; r1 = 1.0; rc1 = 0.5; r2 = 0.8; rc2 = 0.1; % m % Definir propiedades inerciales m1 = 2.5; m2 = 1.8; I1 = 0.15; I2 = 0.05; mcarga= 2.0; S1 = sin(u(2)); S12 = sin(u(2)+u(4)); C1 = cos(u(2)); C12 = cos(u(2)+u(4)); % Matriz de coeficientes a = zeros(14,14); b = zeros(14,1); a(1,1) = r1*S1+r2*S12; a(1,2) = r2*S12; a(1,7) = 1; a(2,1) = -r1*C1-r2*C12; a(2,2) = -r2*C12; a(2,8) = 1; a(3,1) = rc1*S1; a(3,3) = 1; a(4,1) = -rc1*C1; a(4,4) = 1; a(5,1) = r1*S1+rc2*S12; a(5,2) = rc2*S12; a(5,5) = 1; a(6,1) = -r1*C1-rc2*C12; a(6,2) = -rc2*C12; a(6,6) = 1; a(7,3) = -m1; a(7,9) = 1; a(7,11) = 1; a(8,4) = -m1; a(8,10) = 1; a(8,12) = 1; a(9,1) = I1; a(9,11) = r1*S1; a(9,12) = -r1*C1; a(10,5) = -m2; a(10,11) = -1; a(10,13) = 1; a(11,6) = -m2; a(11,12) = -1; a(11,14) = 1; a(12,2) = I2; a(12,11) = rc2*S12; a(12,12) = -rc2*C12; a(12,13) = (r2-

rc2)*S12; a(12,14) = -(r2-rc2)*C12; a(13,7) = mcarga; a(13,13) = 1; a(14,8) = mcarga; a(14,14) = 1; % % Vector de entradas b(1) = -((r1*C1+r2*C12)*u(1)^2+r2*C12*u(3)^2+2*r2*u(1)*u(3)*C12); b(2) = -((r1*S1+r2*S12)*u(1)^2+r2*S12*u(3)^2+2*r2*u(1)*u(3)*S12); b(3) = -rc1*C1*u(1)^2; b(4) = -rc1*S1*u(1)^2; b(5) = -((r1*C1+rc2*C12)*u(1)^2+rc2*C12*u(3)^2+2*rc2*u(1)*u(3)*C12); b(6) = -((r1*S1+rc2*S12)*u(1)^2+rc2*S12*u(3)^2+2*rc2*u(1)*u(3)*S12); b(7) = 0; b(8) = m1*g; b(9) = u(5)-u(6)-m1*g*rc1*C1; b(10) = 0; b(11) = m2*g; b(12) = u(6); b(13) = 0; b(14) = -mcarga*g; % % Resolución de las ecuaciones % [out] = inv(a)*b;

6

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Procedimiento y Desarrollo del Problema

Se simula un mecanismo de cadena abierta con dos eslabones articulados. El mecanismo tendrá

dos motores que generarán los torques de entrada.

Ecuaciones Vectoriales: La ecuación vectorial para el robot de dos eslabones es:

Tomando components x y; y luego derivando con respect al tiempo, se obtiene:

Las últimas dos ecuaciones pueden ser expresadas en forma matricial:

Las derivadas de estas ecuaciones dan las siguientes ecuaciones para las aceleraciones:

También es necesario encontrar la relación entre las aceleraciones de los CG y las velocidades y

aceleraciones angulares. Estas relaciones se las obtienen a continuación:

Ecuaciones Dinámicas: Las ecuaciones del movimiento de Newton a partir de los DCL de los dos

eslabones del mecanismo.

7

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Eslabón1:

Eslabón2:

Carga:

La carga se modela separada del eslabón 2, porque su masa puede variar y se necesitan las fuerzas

requeridas para su manipulación.

Se tienen 6 ecuaciones a partir de las ecuaciones vectoriales de constricción, y 8 ecuaciones dinámicas. Si

los torques se consideran entradas al sistema, entonces tenemos las siguientes 14 incógnitas:

La Matriz de Constricciones Simultáneas: Se combinan las 6 ecuaciones de constricción cinemática con

las 8 ecuaciones dinámicas para obtener un sistema de 14 ecuaciones lineales en las 14 incógnitas. Se

ensamblan luego en forma matricial, para entonces incluirlas en la simulación de Simulink. Las entradas al

sistema y las velocidades angulares de los eslabones van en el miembro de la derecha. El sistema de

ecuaciones se muestra a continuación:

8

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

La función ‘fuerzasmanipulador2D.m’ implementa las ecuaciones ya obtenidas, y es llamada por el

modelo de Simulink, ‘manipulador2D.mdl’. A continuación se muestra en forma esquemática una

implementación parcial de este modelo y la función. Hay dos torques de entrada, producidos por dos

posibles motores actuando en las articulaciones. También se ha añadido unos pares de fricción viscosa

para simular la fricción existente en los cojinetes y motores.

Solución del Problema (Simulaciones en Matlab y Simulink)

PARTE A y PARTE B:

Corrida de Prueba: Si no hay torques de entrada al sistema, entonces si el robot empieza desde cualquier

posición inicial, debería caer bajo su propio peso en un plano vertical y estabilizarse en la posición de

equilibrio inferior, con ambos eslabones extendidos hacia abajo. Se utilize las condiciones iniciales θ1 = 0 y

θ2 = π/2 radianes. El robot cae desde una posición inicial bajo la acción de la gravedad.

function[out] = error2D(u) r1 = 1.0; r2 = 0.8; S1 = sin(u(2)); S12 = sin(u(2)+u(4)); C1 = cos(u(2)); C12 = cos(u(2)+u(4));

9

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

y = r1*S1+r2*S12; x = r1*C1+r2*C12; E=zeros(2,1); E(1)=(x-u(1)); E(2)=(y-u(3)); [out]=E;

Figura 1. – Modelo dinámico (Brazo Robótico sin torques)

Figura 2. - El brazo robótico desde su punto de reposo desde una posición inicial bajo la acción de la gravedad.

Figura 3. – Error en posición Y

10

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Figura 4. – Posición vs.

Figura 5. –Gráfica del ángulo

Figura 6. – Gráfica del ángulo

11

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Figura 7. – Gráfica de la posición x

Figura 8. – Gráfica de la posición y

Figura 9. – Error en x

12

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Figura 10. – Error en y

PARTE C:

Control de Posición de la Herramienta: Se modificó el modelo manipulador2D.mdl de Simulink para

incluir los dos motores en las juntas del robot. Estos motores generaron torques que llevaron a la

herramienta desde la posición de reposo (x = -0,8 ; y = 1) hasta el punto A (x = 1; y = 0,8).

function [z] = error2D(u) %Función Error %u(1)=theta1 %u(2)=theta2 %u(3)=x %u(4)=y %Definicion de variables de entrada r1=1; r2=0.8; x=r1*cos(u(1))+r2*cos(u(1)+u(2)); y=r1*sin(u(1))+r2*sin(u(1)+u(2)); e=zeros(2,1); e(1)=u(3)-x; e(2)=u(4)-y; [z]=e; end

Figura 11. – Modelo dinámico (Brazo Robótico con torques)

13

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Figura 12. – El torque requerido para desplazar el brazo robótico desde su posición de reposo x = -0,8; y = 1 hasta la

posición en el punto A x = 1, y =0,8

Figura 13. –Gráfica de (Punto inicial en reposo:

)

Figura 14. –Gráfica de (con las ganancias) [ ]

14

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Figura 15. –Gráfica de (

Figura 16. –Gráfica de (con las ganancias) [ ]

Figura 17. – Error en x

15

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Figura 18. – Error en y

Análisis de Resultados PARTE A y PARTE B:

Se graficó la trayectoria seguida por la carga con el fin de estimar un tiempo “t” que llegó a su

estabilización. De la simulación se calculó el error numérico por medio de una prueba de consistencia, es

decir permaneció consistente. Siendo así que las coordenadas x – y de la carga obtenidos por los

integradores fueron las mismas calculadas usando valores de θ1 y θ2.

En las salidas de los cuatro integradores se escribió la función anteriormente detallada que fue lo que

permitió calcular el error y se lo graficó en 10 segundos de tiempo de simulación de la caída libre del

brazo robótico.

PARTE C:

Se colocaron los 2 motores en las juntas en la simulación generando torques desde la posición de

reposo (x = -0,8 ; y = 1) hasta el punto A (x = 1; y = 0,8); de tal manera que no producieron muchas

oscilaciones. Se asumieron que los torques son:

La suma de una señal que es proporcional al error entre el valor deseado y el valor real de los

ángulos de las juntas

Y la otra señal que es proporcional a la derivada de este error.

Las constantes de proporcionalidad (‘ganancias’) se escogieron apropiadamente de manera que se vieron

los resultados en las gráficas generadas por la simulación.

16

An

álisis

Din

ám

ico

de

un

Bra

zo R

ob

óti

co

Pla

no

de

2 G

DL

|

02

de

Se

pti

em

bre

de

20

15

Conclusiones El error permaneció pequeño es decir los resultados de la simulación fueron los esperados.

Las condiciones cumplidas en Simulink se dieron que para el torque 1, se usaron dos operadores

matemáticos Subtrack (contienen un terminal de suma y uno de resta). En el terminal de suma, se

ingresa el valor de es decir el ángulo que se desea tener para este eslabon, mientras

que en del resta se ingresa el valor , es decir la posición real en la que se encuentra

trasladándose en determinado momento. De igual manera ocurre en el otro comando Subtrack,

pero se considera la velocidad angular, en el terminal positivo, la cual corresponde a la

velocidad angular deseada del eslabón para el punto final, en este caso equivale a cero porque se

espera que este estático cuando llegue al punto A, mientras que en el terminal negativo se tiene el

, valor que corresponde a la velocidad angular en un determinado tiempo durante la

rotación del eslabón.

Para el torque 2, de igual manera se tomaron dos operadores matemáticos Subtrack; sin embargo

las condiciones de ángulo final esperado será de 90° como ya se mencionó anteriormente en

condiciones iniciales.

Una vez que se determinó el torque, se multiplicó arbitrariamente una ganancia de 40 y 35 para

torque 1 y torque 2 respectivamente, con lo cual ambos torques son suficientes para mover el

eslabón respectivo.

Además, al principio se había considerado la ausencia de fricción. Con el nuevo torque y la

fricción, se procedieron a ingresar en otro operador Subtrack, siendo el terminal negativo para la

fricción y le positivo para el torque con ganancia. Así se obtuvieron los torques de salida T1 y T2.

Referencias Bibliográficas

https://sites.google.com/site/proyectosroboticos/fabricar-brazo-robot

http://www.todorobot.com.ar/diseno-de-un-brazo-mecanico/

http://html.rincondelvago.com/construccion-brazo-robotico.html

http://www.universal-robots.com/es/

http://www.staubli.com/es/robotics/brazos-roboticos/

https://riunet.upv.es/bitstream/handle/10251/14397/Tesis.pdf?sequence=1

http://www.itson.mx/publicaciones/rieeyc/Documents/v4/art2junio08.pdf

http://bibdigital.epn.edu.ec/handle/15000/1563

https://www.dspace.espol.edu.ec/bitstream/123456789/8124/1/Uso%20de%20Matlab%20y%

20Simulink%20para%20el%20control%20de%20robots.pdf

https://www.dspace.espol.edu.ec/bitstream/123456789/8124/1/Uso%20de%20Matlab%20y%

20Simulink%20para%20el%20control%20de%20robots.pdf

http://www.researchgate.net/publication/235439088_Simulacin_de_robots_con_Matlab_y_Simuli

nk_en_escenarios_virtuales_3D

http://personal.us.es/imaza/papers/others/maza_ja00_web.pdf

http://personal.us.es/imaza/papers/others/maza_ja00_web.pdf

http://www.uts.edu.co/portal/files/ARTICULORESET5.pdf