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 + Rn-1 x Rpn-1 + Rvtransn-1,n + Rn x Rpn-1,n
R
n = Rn-1 + n-1n (dados de juntas são com relação à junta anterior)
vn = Rvtransn-1 + Rn-1 x Rpn-1 + n-1vtransn + Rn-1 x n-1pn + n-1n 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)+
(Rn-1x Rpn-1) +
(n-1vtn)+
(4)
(5)
(Rn-1 x Rpn-1) =
(Rn-1) xRpn-1+ R n-1x
De (1) Rvn-1 = Rvtn-1+ R n-1 x Rpn-1 =
R
(Rn-1 x n-1pn)+
(n-1 n x n-1pn)
(Rpn-1)
pn-1
(Rpn-1) = R n-1xRpn-1+ Rvtn-1
==> (Rn-1 x Rpn-1) = Rn-1xRpn-1+ R n-1x (Rn-1 x Rpn-1 + Rvtn-1)
= Rn-1xRpn-1+ R n-1x (R n-1 x Rpn-1) + R n-1x Rvtn-1
(6)
e
(5)
 n-1
( vtn)

= n-1n 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-1n x n-1vtn + n-1atn
(v +v)
e
v.t =  x n-1vn
então,
an = Ratn-1 + (Rn-1 x Rpn-1 + n-1n x (Rn-1 x Rpn-1) + Rn-1 x Rvtn-1) + (n-1n x n-1vtn + n-1atn) +
R
+ ( Rn-1 x n-1pn + Rn-1 x (Rn-1 x n-1pn) + Rn-1 x Rvtn-1) + (n-1n x n-1pn + n-1n x (n-1n x n-1pn) +
+ n-1n x n-1vtn)
an = Ratn-1 + Rn-1 x Rpn-1 + Rn-1 x (Rn-1 x Rpn-1) + Rn-1 x n-1pn + n-1n x n-1pn +
R
radial
+
R
tangencial
normal
tangencial
n-1 x (Rn-1 x n-1pn) + n-1n x (n-1n x n-1pn) + 2. Rn-1 x Rvtn-1 + 2. n-1n 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+ 01 x 0p1 + 0 1x(0 1 x 0p1)+ 01 x 1p2 + 12 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 .12 = 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 = 01 + 0R1.12
(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 = 01 + 0R1 .12 + 0R2 .23 + 0R3 .34 + ... + 0Rn-1 .n-1n
Download

ele percorre