Análisis Dinámico de un Brazo Robótico Plano de 2 GDL Simulación
-
Upload
alfredo-merizalde-aviles -
Category
Documents
-
view
48 -
download
2
description
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