30
ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

Embed Size (px)

Citation preview

Page 1: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

ABB IRB 140 CR

Por:

Francisco José Lara Guerrero

Abraham Ruiz Gómez

Page 2: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

ABB IRB 140

Robot rotacional de 6 gdl Diseñado especificamente para

aplicaciones industriales Adaptibilidad Posibilidad de comunicarse con

sistemas externos CLEAN ROOM IP 67

Page 3: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez
Page 4: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

NECESIDADES

Introducir robot industrial en aplicaciones médicas

Intervenir quirujircamente una rodilla inmobilizada

Page 5: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

SUPONEMOS

Infiltración de rodilla superficial sin

prismatica Rodilla inmobilizada

Robot debe interactuar con una mesa de trabajo donde se situarán las herramientas

Page 6: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

¿Por qué IRB 140 CR?

Estructuralmente• Peso “reducido” 98kg• Dimensiones reducidas• Espacio de trabajo amplio• Bajo nivel sonoro <70dB• Consumo reducido <0.44kw a max vel• Baja repetitibilidad 0.03mm• Gran capacidad de carga

Page 7: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

¿Por qué IRB 140 CR?

Seguridad• Diseño robusto • Sistema basado en doble circuito

de control• Selección de operación manual o

automática• Doble seta de emergencia

Page 8: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

¿Por qué IRB 140 CR?

Otros aspectosOtros aspectos• Fácil de analizar• Control robusto• Rápida respuesta• Sistema flexible• Programación sencilla

Page 9: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

Análisis Representación de D-H

Page 10: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

Análisis Parametros D-H del robt IRB140CR

Articulación d a

1 1+/2 352mm 70mm +/2

2 2+/2 0 360mm 0

3 3 0 0 +/2

4 4 380mm 0 -/2

5 5 0 0 +/2

6 6 65mm 0 0

Page 11: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

Análisis Cinemático

Cinemática directa Algoritmo de

Denavit-Hartenberg

Cinemática inversa Método goemétrico

Page 12: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

Análisis Dinámico

Dinámica directa Método de Walker-Orin

Dinámica inversa Método de Newton-Euler

Page 13: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

Análisis Dinámico

Distribución de masas:

Page 14: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

Análisis Dinámico

Cálculo de la Matriz de Inercia

R

Ix1= Iy + M L2= ¼ M (R2 + 1/3 H2) + M L2

Iy1= Iz + M L2= 1/2 M R2 + M L2 Iz1= Ix + M L2=¼ M (R2 + 1/3 H2) + M L2

Ix1 0 0 1.659 0 0 [I1] = 0 Iy1 0 = 0 1.341 0 0 0 Iz1 0 0 1.66

Page 15: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

Análisis Dinámico

Matrizes de inercia I1=[0.0191 0 0;0 0.0191 0;0 0 0.0068]; I2=[0.0031 0 0;0 0.0484 0;0 0 0.0484]; I3=zeros(3,3); I4=[0.0606 0 0;0 0.0053 0;0 0 0.0606]; I5=zeros(3,3); I6=[0.0022 0 0;0 0.0022 0;0 0 0.0014];

Page 16: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

Análisis Dinámico

Comprobación:>> q=rand (6,1);>> qp=rand (6,1);>> qpp=rand(6,1);>> m7=3;>> iext= 0.05*eye(3);>> tau=newtoneuler6(q,qp, qpp, 9.8,m7, iext)tau = 0.4470 -82.4079 -34.2172 0.9083 -2.6426 0.0118

>> acel=walkerorin6(q,qp,tau,m7,iext)acel = 0.1389 0.2028 0.1987 0.6038 0.2722 0.1988>> qppqpp = 0.1389 0.2028 0.1987 0.6038 0.2722 0.1988

Page 17: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

SELECCIÓN DE SERVOACCIONAMIENTO

S

Partimos de la peor posición:

q=(0 Π/2 -Π/2 0 0 0 )

Page 18: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

SELECCIÓN DE SERVOACCIONAMIENTO

S

Page 19: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

SELECCIÓN DE SERVOACCIONAMIENTO

S Curvas de pares obtenidas

Page 20: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

SELECCIÓN DE SERVOACCIONAMIENTO

S

Articulación 1 2 3 4 5 6

pico (Nm)

x 1.5

0.190.285

1.62.4

0.781.17

0.0390.0585

0.0390.0585

0.0390.0585

nominal (Nm)

x 1.5

0.1080.162

0.040.06

0.0120.018

0.00060.0009

0.00060.0009

0.00060.0009

Reductora con

motor a 5000rpm

1/500 1/500 1/150 1/150 1/75 1/63

Resultados

Page 21: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

SELECCIÓN DE SERVOACCIONAMIENTO

S

Articulación Nombre Motor R() L(mH) KT(NM/A) Kv(V/rad/s) Imáx(A)

1 DA23GBB 0.8 0.93 0.058 0.058 18.5

2 DA34HBB 1.6 1.36 0.176 0.176 23.7

3 DA34FBB 0.7 1.01 0.112 0.112 21.8

4 DB17CDB 6.9 1.28 0.035 0.035 3.6

5 DB17CDB 6.9 1.28 0.035 0.035 3.6

6 DB17CDB 6.9 1.28 0.035 0.035 3.6

Comentar que los motores aquí calculados no son reproducción exacta de los servos que incorpora la familia de robots de ABB (AC). En nuestro caso hemos calculado una aproximación con motores DC brushless para poder diseñar y simular un tipo de controlador que haga que el sistema se comporte con la máxima robustez.

Page 22: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

SINTONIZADO DE MOTORES

• Con las características del motor de cada articulación

Page 23: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

SINTONIZADO DE MOTORES

Page 24: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

SINTONIZADO DE MOTORES

Articulación PID Reductor

1 P=100 500

2 P=200 500

3 P=200 D=3 150

4 P=15 D=0.7

150

5 P=20 I=10 D=0.7

75

6 P100 D=2.5 63

Page 25: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

SIMULACIÓN

Page 26: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

PROGRAMACIÓN

• Paleta de programación

• Controladora

PC

Targetas E/S

Selector de manual/auto

Page 27: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

PROGRAMACIÓN

%%% VERSION:1 lANGUAJE:ENGLISH %%% MODULE infiltra PERS tooldata pinza := [TRUE,[[0,0,0],[1,0,0,0]],[5,[9,0,9],[1,0,0,0],0.01,0.01,0.01]]; !Defino todas las herramientas que voy a utilizar más la pinza??! PERS tooldata pinzalapiz := [TRUE,[[0,0,0],[1,0,0,0]],[5.1,[9,0,9],[1,0,0,0],0.01,0.01,0.01]]; PERS tooldata pinzajeringa := [TRUE,[[0,0,0],[1,0,0,0]],[5.1,[9,0,9],[1,0,0,0],0.01,0.01,0.01]]; CONST robtarget P0 := [[],[],[],[]]; CONST robtarget P1 := [[],[],[],[]]; CONST robtarget P2 := [[],[],[],[]]; CONST robtarget P3 := [[],[],[],[]]; CONST robtarget P3 := [[],[],[],[]]; CONST robtarget P4 := [[],[],[],[]]; CONST robtarget P5 := [[],[],[],[]]; CONST robtarget P6 := [[],[],[],[]]; CONST robtarget P7 := [[],[],[],[]]; CONST robtarget P8 := [[],[],[],[]]; CONST robtarget P9 := [[],[],[],[]]; CONST robtarget P9 := [[],[],[],[]];

CONST robtarget P9 :=[[],[],[],[]];

CONST robtarget P10 :=[[],[],[],[]];

...PROC main()

MOVEL P0, v100, z50, pinza;MOVEL P10, v50, z10, pinza;MOVEL MES1, V40, z7.5, pinzalapiz;SET do15;WAITTIME 1;MOVEL P0, V50, z10, pinzalapiz;MOVEC P1, P2, v100, z50, pinzalapiz;MOVEL P3, v60, z10, pinzalapiz;MOVEL P4, V40, z7.5, pinzalapiz;MOVEL P5, V20, z5, pinzalapiz;MOVEL P4, V40, z7.5, pinzalapiz;MOVEL P3, v60, z10, pinzalapiz;MOVEL P7, V40, z7.5, pinzalapiz MOVEL P8, V20, z5, pinzalapiz;MOVEL P7, V40, z7.5, pinzalapiz;MOVEL P3, V60, z10, pinzalapiz;MOVEL P2, V100, z50, pinzalapiz;MOVEc P1, P0, V100, z50, pinzalapiz;MOVEL P10, V50, z10, pinzalapiz;MOVEL MES1, V40, z7.5, pinzalapiz;RESET dO1.5;WAITTIME 1;MOVEL P10, V50, z30, pinza;MOVEL P11, V50, z30, pinza;

PROGRAMA

Page 28: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

PROGRAMACIÓN MOVEL MES2, V40, z7.5, pinza; SET dO 1.5; WAITTIME 1; MOVEL P11, V50, z30, pinzajeringa; MOVEL P0, V50, z10, pinzajeringa??; MOVEC P1, P2, v100, z50, pinzajeringa; MOVEL P3, v60, z10, pinzajeringa; MOVEL P4, V40, z5, pinzajeringa; MOVEL P5, V20, fine, pinzajeringa; MOVEL P6, V5, fine, pinzajeringa; !Ahora deberiamos infiltrar la rodilla del paciente con la jeringa

electroneumática, pero como la defino??! !WAITTIME o IF infiltardo = 1 THEN!!aplicar lo mismo si ubieramos

sensores en la pinza de amarre! MOVEL P5, V5, fine, pinzajeringa; MOVEL P4, V40, z5, pinzajeringa; MOVEL P3, v60, z10, pinzajeringa; MOVEL P7, V40, z5, pinzajeringa; MOVEL P8, V20, fine, pinzajeringa; MOVEL P9, v5, fine, pinzajeringa; !Ahora deberiamos infiltrar la rodilla del paciente con la jeringa

electroneumática, pero como la defino??! !WAITTIME o IF infiltardo = 1 THEN!!aplicar lo mismo si tubieramos

sensores en la pinza de amarre! MOVEL P8, V5, fine, pinzajeringa; MOVEL P7, V40, z5, pinzajeringa; MOVEL P3, V60, z10, pinzajeringa; MOVEL P2, V100, z50, pinzajeringa; MOVEc P1, P0, V100, z50, pinzajeringa; MOVEL P11, V50, z10, pinzajeringa; MOVEL MES2, V40, z7.5, pinzalapiz; RESET d01.5; WAITTIME 1; MOVEL P11, V50, z30, pinza; MOVEL P12, V50, z30, pinza; MOVEL MES3, V40, z7.5, pinza; SET dO 1.5; WAITTIME 1;

MOVEL P0, V50, z50, pinza;MOVEC P1, P2, v100, z50, pinza;MOVEL P3, v60, z10, pinza;MOVEL P4, V40, z7.5, pinza;MOVEL P5, V20, z5, pinza;MOVEL P4, V40, z7.5, pinza;MOVEL P3, v60, z10, pinza;MOVEL P7, V40, z7.5, pinza;MOVEL P8, V20, z5, pinza;MOVEL P7, V40, z7.5, pinza;MOVEL P3, V60, z10, pinza;MOVEL P2, V100, z50, pinza;MOVEc P1, P0, V100, z50, pinza;ENDPROCENDMODULE

Page 29: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

ASPECTOS DEL ANÁLISIS A COMENTAR

Uso o no de prismática como última articulación.

Singularidades Las evitamos con MoveL y MoveC + espacio de trabajo limitado

Espacio de trabajo limitado a zona de intervención seguridad ante posibles fallos

Acción integral en el PID Simulación 4 articulación

Page 30: ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez

THE END

Para más información consultar

www.abb.com