1 ABB IRB 140 CR Por: Francisco José Lara Guerrero Abraham Ruiz Gómez
2 ABB IRB 140 Robot rotacional de 6 gdlDiseñado especificamente para aplicaciones industriales Adaptibilidad Posibilidad de comunicarse con sistemas externos CLEAN ROOM IP 67
3
4 NECESIDADES Introducir robot industrial en aplicaciones médicasIntervenir quirujircamente una rodilla inmobilizada
5 SUPONEMOS Infiltración de rodilla superficial sin prismaticaRodilla inmobilizada Robot debe interactuar con una mesa de trabajo donde se situarán las herramientas
6 ¿Por qué IRB 140 CR? Estructuralmente Peso “reducido” 98kgDimensiones reducidas Espacio de trabajo amplio Bajo nivel sonoro <70dB Consumo reducido <0.44kw a max vel Baja repetitibilidad 0.03mm Gran capacidad de carga
7 ¿Por qué IRB 140 CR? Seguridad Diseño robustoSistema basado en doble circuito de control Selección de operación manual o automática Doble seta de emergencia
8 ¿Por qué IRB 140 CR? Otros aspectos Fácil de analizar Control robustoRápida respuesta Sistema flexible Programación sencilla
9 Análisis Representación de D-H
10 Análisis Parametros D-H del robt IRB140CR Articulación d a 11+/2 352mm 70mm +/2 2 2+/2 360mm 3 3 4 4 380mm -/2 5 5 6 6 65mm
11 Análisis Cinemático Cinemática directa Algoritmo deDenavit-Hartenberg Cinemática inversa Método goemétrico
12 Análisis Dinámico Dinámica directa Método de Walker-OrinDinámica inversa Método de Newton-Euler
13 Análisis Dinámico Distribución de masas:
14 Análisis Dinámico Cálculo de la Matriz de InerciaIx1= 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 Ix [I1] = Iy = Iz
15 Análisis Dinámico Matrizes de inerciaI3=zeros(3,3); I4=[ ; ; ]; I5=zeros(3,3); I6=[ ; ; ];
16 Análisis Dinámico Comprobación:>> acel=walkerorin6(q,qp,tau,m7,iext) acel = 0.1389 0.2028 0.1987 0.6038 0.2722 0.1988 >> qpp qpp = >> 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 0.9083 0.0118
17 SELECCIÓN DE SERVOACCIONAMIENTOSPartimos de la peor posición: q=(0 Π/2 -Π/ )
18 SELECCIÓN DE SERVOACCIONAMIENTOS
19 SELECCIÓN DE SERVOACCIONAMIENTOSCurvas de pares obtenidas
20 SELECCIÓN DE SERVOACCIONAMIENTOSResultados Articulación 1 2 3 4 5 6 pico (Nm) x 1.5 0.19 0.285 1.6 2.4 0.78 1.17 0.039 0.0585 nominal (Nm) 0.108 0.162 0.04 0.06 0.012 0.018 0.0006 0.0009 Reductora con motor a 5000rpm 1/500 1/150 1/75 1/63
21 SELECCIÓN DE SERVOACCIONAMIENTOSArticulación Nombre Motor R() L(mH) KT(NM/A) Kv(V/rad/s) Imáx(A) 1 DA23GBB 0.8 0.93 0.058 18.5 2 DA34HBB 1.6 1.36 0.176 23.7 3 DA34FBB 0.7 1.01 0.112 21.8 4 DB17CDB 6.9 1.28 0.035 3.6 5 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.
22 SINTONIZADO DE MOTORESCon las características del motor de cada articulación
23 SINTONIZADO DE MOTORES
24 SINTONIZADO DE MOTORESArticulación PID Reductor 1 P=100 500 2 P=200 3 P=200 D=3 150 4 P=15 D=0.7 5 P=20 I=10 D=0.7 75 6 P100 D=2.5 63
25 SIMULACIÓN
26 PROGRAMACIÓN Paleta de programación Controladora PC Targetas E/S Selector de manual/auto
27 PROGRAMACIÓN PROGRAMA %%% VERSION:1 lANGUAJE:ENGLISH MODULE infiltraPERS 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 := CONST robtarget P0 := [[],[],[],[]]; CONST robtarget P1 := CONST robtarget P2 := 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 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 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; RESET dO1.5; MOVEL P10, V50, z30, pinza; MOVEL P11, V50, z30, pinza;
28 PROGRAMACIÓN MOVEL MES2, V40, z7.5, pinza; MOVEL P0, V50, z50, 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 P7, V40, z5, pinzajeringa; MOVEL P8, V20, fine, pinzajeringa; MOVEL P9, v5, fine, pinzajeringa; !WAITTIME o IF infiltardo = 1 THEN!!aplicar lo mismo si tubieramos sensores en la pinza de amarre! MOVEL P8, V5, fine, 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; MOVEL P11, V50, z30, pinza; MOVEL P12, V50, z30, pinza; MOVEL MES3, V40, z7.5, pinza; 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 P7, V40, z7.5, pinza; MOVEL P8, V20, z5, pinza; MOVEL P3, V60, z10, pinza; MOVEL P2, V100, z50, pinza; MOVEc P1, P0, V100, z50, pinza; ENDPROC ENDMODULE
29 ASPECTOS DEL ANÁLISIS A COMENTARUso 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
30 THE END Para más información consultar