AULA 12 INTRODUÇÃO À ROBÓTICA CINEMÁTICA: MOVIMENTO DO MANIPULADOR Em muitas aplicações, a trajetória do elemento terminal bem como o trajeto que ele percorre precisa ser especificado. Por exemplo, quando movendo um contêiner de líquido aberto, podem ocorrer respingos se a aceleração for muito alta ou se o contêiner não for mantido na orientação correta. Também, nesse caso de altas acelerações, o amplificador do sistema de controle do motor da junta (driver) pode saturar e perder o controle do manipulador. Solda a arco, pintura a spray, rastreamento de esteiras rolantes, corte a laser e colagem são algumas das aplicações onde velocidades cartesianas e acelerações têm de ser controladas, bem como a posição, com o objetivo de melhor realizar a tarefa desejada. Em robótica, o movimento diferencial é útil em muitas aplicações. Por exemplo, quando usamos um sistema de visão para monitorar a posição do elemento terminal, podem-se calcular as variações diferenciais de posição e orientação exigidas para posicionar a mão do robô sobre um objeto a partir de imagens sucessivas. Ao transformar essas variações diferenciais do espaço de visão para o espaço cartesiano do robô, pode-se eliminar a transformação para posições absolutas. Para que isso seja possível, tem-se que ser capaz de controlar o movimento diferencial do robô. AULA 10 INTRODUÇÃO À ROBÓTICA CINEMÁTICA: MOVIMENTO DO MANIPULADOR Várias aplicações necessitam de controle de trajetória velocidade e aceleração) o o o o o (posição, Solda a arco Pintura a spray Rastreamento em esteiras rolantes Corte a laser Colagem Movimento Diferencial o Transforma variações diferenciais de posição no espaço diretamente para variação de posição de juntas, sem usar transformações de posições absolutas o Controle visual de manipuladores Velocidade de um Corpo Rígido R s = Rpn-1 ; R r = Rpn-1,n ; R q = Rpn (sistemas de referência colados no corpo) R q = Rs+ Rr ==> ou R vn = Rvn-1+ Rvn-1,n R vq = Rvs+ Rvr R vn-1 = Rvtransn-1+ R n-1 x Rpn-1 = R vn-1,n = Rvtrans n-1,n+ R n x Rpn-1,n R pn-1 = =Rvs (1) (2) ==> R R mas ==> vn = Rvtransn-1 + Rn-1 x Rpn-1 + Rvtransn-1,n + Rn x Rpn-1,n R n = Rn-1 + n-1n (dados de juntas são com relação à junta anterior) vn = Rvtransn-1 + Rn-1 x Rpn-1 + n-1vtransn + Rn-1 x n-1pn + n-1n x n-1pn (3) VELOCIDADE DE ELOS DE MANIPULADORES -Velocidade do elemento terminal do manipulador do tipo 1 de 2 elos v2 = 0vt1+ 0 1 x 0p1+ 1vt2+ 0 1 x 1p2+ 1 2 x 1p2 0 0 1 = 1 1 2 = 2 0 vt1 =1vt2 = 0 = 2 0 p1 = 1 p2 = 0 v2 = 0 v2 = 0 v2 = ixj=k kxi=j jxk=i Velocidade do elemento terminal do manipulador do tipo 5 de 2 elos 0 v2 = 0vt1 + 1vt2 ACELERAÇÃO DE UM CORPO RÍGIDO R vn = Rvtn-1+ R n-1 x Rpn-1+ n-1vtn+ R n-1 x n-1pn+ n-1 n x n-1pn (Rvn) = (4) (Rvtn-1)+ (Rn-1x Rpn-1) + (n-1vtn)+ (4) (5) (Rn-1 x Rpn-1) = (Rn-1) xRpn-1+ R n-1x De (1) Rvn-1 = Rvtn-1+ R n-1 x Rpn-1 = R (Rn-1 x n-1pn)+ (n-1 n x n-1pn) (Rpn-1) pn-1 (Rpn-1) = R n-1xRpn-1+ Rvtn-1 ==> (Rn-1 x Rpn-1) = Rn-1xRpn-1+ R n-1x (Rn-1 x Rpn-1 + Rvtn-1) = Rn-1xRpn-1+ R n-1x (R n-1 x Rpn-1) + R n-1x Rvtn-1 (6) e (5) 𝑑 n-1 ( vtn) 𝑑𝑡 = n-1n x n-1vtn + n-1atn (7) que vem de n-1(t) vtn(t) n(t) n-1 n n-1(t) n-1 vtn ==> v Para t => 0 𝑑 n-1 ( vtn) 𝑑𝑡 v v/t = n-1an = n-1n x n-1vtn + n-1atn (v +v) e v.t = x n-1vn então, an = Ratn-1 + (Rn-1 x Rpn-1 + n-1n x (Rn-1 x Rpn-1) + Rn-1 x Rvtn-1) + (n-1n x n-1vtn + n-1atn) + R + ( Rn-1 x n-1pn + Rn-1 x (Rn-1 x n-1pn) + Rn-1 x Rvtn-1) + (n-1n x n-1pn + n-1n x (n-1n x n-1pn) + + n-1n x n-1vtn) an = Ratn-1 + Rn-1 x Rpn-1 + Rn-1 x (Rn-1 x Rpn-1) + Rn-1 x n-1pn + n-1n x n-1pn + R radial + R tangencial normal tangencial n-1 x (Rn-1 x n-1pn) + n-1n x (n-1n x n-1pn) + 2. Rn-1 x Rvtn-1 + 2. n-1n x n-1vtn + n-1atn normal Coriolis radial (8) ACELERAÇÃO DE ELOS DE MANIPULADORES - Aceleração do elemento terminal do manipulador do tipo 1 de 2 elos Aplicando a eq. (8): 0 a2 = 0at1+ 01 x 0p1 + 0 1x(0 1 x 0p1)+ 01 x 1p2 + 12 x 1p2 + 0 1x(0 1 x 1p2) + 0 0 0 + 1 2x(1 2 x 1p2) + 2.0 1 x 0vt1 + 2. 1 2 x 1vt2 + 1at2 1 = 1 1 1 = 1 1 0 0 2 = 2 2 = 2 0 1 p1 = p2 = 0 a2 = + ixj=k a2 = 1 0 0 a2 = + 12 kxi=j + (1 + 2) + + (12 + 22) jxk=i MATRIZ ANTI-SIMÉTRICA Definindo uma matriz anti-simétrica como S, tal que ST + S = 0 Isto é verdade se sij + sji = 0 i, j = 1, 2, 3 Toda M.A.S. tem a forma 0 S s1 ==> s 2 s1 s 2 0 s 3 s3 0 três elementos independentes Se a = ( ax, ay, az )T , define-se S(a) como 0 S(a ) a z a y az 0 ax ay ax 0 definição e então 0 0 0 S(i) 0 0 1 0 1 0 0 0 1 S( j) 0 0 0 1 0 0 0 1 0 S(k ) 1 0 0 0 0 0 Se uma matriz de rotação R (ortogonal) é função de uma única variável , pode-se provar que S:= (1) E, então de (1) ==> (2) Fazendo R = R(t), então de (2) Supondo R(t) = RX ((t)), então, de (1) 0 1 0 0 0 0 0 0 0 0 S C.0 C S 0 0 1 S(i) 0 C S 0 S C 0 1 0 e como S(a) é um operador linear, então S(a + b) = S(a) + (S(b) e então, 𝑑𝑅 = 𝑆 𝜔𝑋 𝑡 . 𝑅(𝑡) 𝑑𝑡 (x = i.𝜃 p0 = R(t).p1 + d é a velocidade angular em torno do eixo x ) (coord. de p no sistema O0x0y0z0 e p1 representado em O1x1y1z1 ==> fixo) Se os vetores são dependentes do tempo (menos p1) 0 𝐩0 = R(t).p1 + R(t).𝐩1+ 𝐝 ==> 𝐩0 = S(). R.p1 + 𝐝 Outra propriedade de S (já mostrada em aula anterior) é S(a).p = a x p (3) Portanto, 𝐩0 = S(). R.p1 + 𝐝 = x r + v (4) em que r = R.p1 (vetor p1 representado em O0x0y0z0) v = velocidade em que O1 está movendo em relação a O0 A aceleração relativa entre dois sistemas de coordenadas pode ser derivada da mesma forma. Sabe-se que 𝑑 𝑑𝑡 (a x b) = 𝑑 𝑑𝑡 axb+ax 𝑑 𝑑𝑡 b Se (4) for reescrita como 𝐩0- 𝐝= R(t).p1= x R(t).p1 , ( 𝑅 = [S().R = ( x R)] e diferenciando ambos os lados com respeito a t, tem-se 0 - = = ==> 0 (t).p1 + x (t).p1 + x ( x r) = + acel. tangencial x ( x r) acel. normal + a acel. linear da origem O1 (não existe o termo de Coriolis porque p1 não aumenta de comprimento) Se p1 estiver movendo com respeito a O1x1y1z1, então de (3), repetida p0 = R.p1 + d e diferenciando ambos os lados, 0 = .p1 + R. 1+ 0 = x R.p1 + R. 1+ diferenciando uma segunda vez 0 = .p1 + x ( .p1 + R. 1) + . 0 = .p1 + x ( x R.p1 + R. 0 = + acel. tangencial x ( x r) acel. normal 1) + 1 + R. + x R. 1 + 1 + R. 1 1 + 2 x R. acel. Coriolis + R. 1 + acel. linear (radial) ADIÇÃO DE VELOCIDADES ANGULARES Pode-se achar a velocidade angular resultante da rotação relativa de vários sistemas de coordenadas. p0 = 0R1.p1 + 0d1 p1 = 1R2.p2 + 1d2 p0 = 0R2.p2 + 0d2 onde 0 R2 = 0R1 . 1R2 (6) e 0 d2 = 0d1 + 0R1 . 1d2 Todos os vetores acima são considerados como função do tempo. Portanto, derivando ambos os lados de (6) R2 = 0R1 . 1R2 + 0R1 . 1R2 0 mas R2 = S(0) . 0R2 0 e R1 . 1R2 = S(0).0R1.1R2 = S(0).0R2 0 (7) e da propriedade RS(a) RT = S(Ra) RS(a) RTb (mostrado em aula anterior) = R(a x RTb) = (Ra) x (RRTb) = (Ra) x b (se R for ortogonal) = S(Ra) b então 0 R1 .1𝑅2 = 0R1. S(1).1R2 I = 0R1. S(1).oR1T . 0R1 . 1R2 =S(0R1. 1).0R2 1 Logo a eq. (7) se torna S(0).0R2 = S(0).0R2 + S(0R1.1).0R2 0 ==> 2 = 01 + 0R1.12 (8) ou seja, as velocidades angulares podem ser adicionadas se forem representadas no mesmo sistema de coordenadas, nesse caso O 0x0y0z0. Pode-se estender o resultado acima para n sistemas de coordenadas, e 0 n = 01 + 0R1 .12 + 0R2 .23 + 0R3 .34 + ... + 0Rn-1 .n-1n