Escolar Documentos
Profissional Documentos
Cultura Documentos
Robótica Industrial
Textos
Elaborados por:
2001/2002
MODELAÇÃO
CINEMÁTICA E DINÂMICA
DE MANIPULADORES
DE ESTRUTURA EM SÉRIE
António Mendes Lopes, FEUP – DEMEGI, 2002
1 INTRODUÇÃO
Foi no final dos anos sessenta, com base na experiência então existente no
campo dos telemanipuladores e das máquinas ferramentas de comando numérico, que
George Devol construiu o primeiro robô industrial. A partir dessa data a robótica tem
vindo a afirmar-se como uma ciência autónoma, de carácter multidisciplinar,
penetrando em áreas tradicionalmente ligadas às engenharias mecânica,
2
electrotécnica, de computadores e outras, revelando importância crescente em áreas
tão distintas como a exploração espacial, a exploração subaquática, a medicina ou a
indústria. É aliás na indústria que tem sido investido o maior esforço, sendo a
indústria automóvel um bom exemplo disso; robôs de pintura e de soldadura fazem
hoje parte integrante da sua “força laboral”.
3
com outros dispositivos que cooperem com o robô na execução da
tarefa;
Unidade de potência
Sensores internos
Comando Comando
Transmissão Modelo do ambiente
Protocolos de comunicação
Interacção
Controlador
Linguagem de
Sensores externos
programação
Ambiente
Informação sobre o ambiente
Descrição da tarefa
4
podendo mover-se livremente no espaço. Tipicamente, o manipulador possui 6 graus
de liberdade (gdl) e é composto pelo braço e pelo punho. O braço tem, em geral, 3
gdl, efectuando o posicionamento do punho. Este, normalmente, é composto por 3
juntas rotativas, que utiliza para orientar o órgão terminal (3 gdl).
5
Informação sobre o estado do manipulador
Unidade de potência
Comando Comando
Sensores internos
Potência
Protocolos de comunicação
Manipulador
Controlador
Linguagem de
programação
Descrição da tarefa
6
Posição/Velocidade
Trajectória junta 1
Controlador
desejada no junta 1
espaço Posição/Velocidade
cartesiano Gerador de junta 2
Controlador
trajectórias no
junta 2 .
espaço das Manipulador
juntas .
.
(cinemática) . Posição/Velocidade
junta n
Controlador
junta n
Sensores
junta n
.
.
Sensores
junta 2
Sensores
junta 1
2 MODELAÇÃO CINEMÁTICA
7
enquanto que o planeamento e a definição das trajectórias são, normalmente,
efectuados no espaço operacional. Assim, métodos eficientes de transformação entre
os dois espaços assumem um papel relevante onde, nos últimos anos, tem sido levada
a cabo muita investigação (Paul, 1982; Vukobratovic e Kircanski, 1986; Fu et al.,
1987).
8
2.1 CINEMÁTICA DE POSIÇÃO DIRECTA
1
Trata-se de um robot industrial 6R, com accionamento por motores de corrente contínua, desenvolvido pela
Texas Instruments, Inc. em 1980.
9
Sejam (ix, jy, kz) e (iu, jv, kw) os vectores unitários segundo, respectivamente,
os eixos de OXYZ e OUVW. Um ponto p no espaço pode ser representado pelas suas
coordenadas, expressas quer em OXYZ quer em OUVW. Por simplicidade, assuma-se
que p está fixo em relação a OUVW. Assim, p pode ser representado por
p uvw = [ pu pw ]
T
pv (Eq. 2.1a)
em OUVW, e
[
p xyz = p x py pz ]
T
(Eq. 2.1b)
em OXYZ.
10
px i x ⋅ i u i x ⋅ jv i x ⋅ k w pu
p = j ⋅ i j y ⋅ jv j y ⋅ k w pv (Eq. 2.5)
y y u
pz k z ⋅ i u k z ⋅ jv k z ⋅ k w pw
i x ⋅ iu i x ⋅ jv ix ⋅k w
R = j y ⋅ i u j y ⋅ jv j y ⋅ k w (Eq. 2.6)
k z ⋅ i u k z ⋅ jv k z ⋅ k w
ou
pu i u ⋅ i x iu ⋅ jy i u ⋅ k z p x
p = j ⋅ i jv ⋅ j y
jv ⋅ k z p y (Eq. 2.8)
v v x
pw k w ⋅ i x k w ⋅ jy k w ⋅ k z p z
11
onde I3 representa a matriz identidade de dimensão 3×3. As matrizes R e Q são
ortogonais.
Sendo os vectores (ix, jy, kz) e (iu, jv, kw) unitários, as transformações
representadas pelas equações (Eq. 2.2) e (Eq. 2.7) são chamadas transformações
ortonormais.
coordenadas p x [ py pz ]
T
em relação a OXYZ. A transformação Rx,α chama-se
com ix ≡ iu e
i x ⋅ iu i x ⋅ jv i x ⋅ k w 1 0 0
R x ,α = j y ⋅ i u j y ⋅ jv
j y ⋅ k w =0 cos α − sen α (Eq. 2.12)
k z ⋅ i u k z ⋅ jv k z ⋅ k w 0 sen α cos α
12
Figura 2.2a Rotação do corpo rígido da Figura 2.1 de um ângulo α segundo o eixo
OX.
Figura 2.2b Rotação do corpo rígido da Figura 2.1 de um ângulo φ segundo o eixo
OY.
13
Figura 2.2c Rotação do corpo rígido da Figura 2.1 de um ângulo θ segundo o eixo
OZ.
14
Cφ 0 Sφ Cθ − Sθ 01 0 0
R =R y ,φ R z ,θ R x ,α = 0 1 0 Sθ Cθ 00 Cα − Sα
− Sφ 0 Cφ 0 0 10 Sα Cα
CφCθ SφSα − CφSθCα CφSθSα + SφCα
= Sθ CθCα − CθSα
(Eq. 2.14)
− SφCθ SφSθCα + CφSα CφCα − SφSθSα
1 0 0 Cθ − Sθ 0 Cφ 0 Sφ
R = R x ,α R z ,θ R y ,φ =0 Cα − Sα Sθ Cθ 0 0 1 0
0 Sα Cα 0 0 1− Sφ 0 Cφ
(Eq. 2.15)
CθCφ − Sθ CθSφ
=CαSθCφ + SαSφ CαCθ CαSθSφ − SαCφ
SαSθCφ − CαSφ SαCθ SαSθSφ + CαCφ
15
• se OUVW rodar de um determinado ângulo em torno de um dos seus
próprios eixos, deve-se pós-multiplicar a matriz de rotação, calculada
até esse momento, pela matriz de rotação básica apropriada: (Eq. 2.12) e
(Eq. 2.13).
16
Depois da rotação do ângulo φ em torno de OZ (e de r) inverte-se a ordem das
rotações efectuadas, com ângulos simétricos dos anteriores. A matriz de rotação Rr,φ
resultante vem
R r ,φ = R x , −α R y , β R z ,φ R y , − β R x ,α
1 0 0 Cβ 0 Sβ Cφ − Sφ 0Cβ 0 − Sβ 1 0 0
=0 Cα Sα 0 1 0 Sφ Cφ 0 0 1 0 0 Cα − Sα
0 − Sα Cα − Sβ 0 Cβ 0 0 1 Sβ 0 Cβ 0 Sα Cα
(Eq. 2.16)
ry rz
sen α = cosα = (Eq. 2.17a)
r +r
y
2
z
2
r + rz2
y
2
17
Figura 2.4 Representação da orientação em termos de ângulos de Euler.
18
nx s x a x
Rψ ,θ ,φ = R z ,ψ R v ,θ R u ,φ = n y s y a y
nz s z a z
Cψ − Sψ 0 Cθ 0 Sθ 1 0 0
= Sψ Cψ 0 0 1 0 0 Cφ − Sφ (Eq. 2.19)
0 0 1 − Sθ 0 Cθ 0 Sφ Cφ
CψCθ CψSθSφ − SψCφ CψSθCφ + SψSφ
= SψCθ SψSθSφ + CψCφ SψSθCφ − CψSφ
− Sθ SθSφ CθCφ
19
O ângulo ψ pode ser obtido multiplicando ambos os membros da equação
(Eq. 2.20) por sen ψ, multiplicando ambos os membros da equação (Eq. 2.21) por
cos ψ e subtraindo as duas equações, resultando
ny
ψ = arctan + kπ (Eq. 2.30)
nx
O ângulo θ pode ser calculado multiplicando a equação (Eq. 2.20) por cos ψ,
multiplicando a equação (Eq. 2.21) por sen ψ e somando as duas, isto é
− nz
θ = arctan + 2kπ (Eq. 2.32)
n x cosψ + n y senψ
Quanto ao ângulo φ, este pode ser obtido multiplicando a equação (Eq. 2.26)
por sen ψ, multiplicando a equação (Eq. 2.27) por cos ψ e subtraindo as equações:
Por outro lado, multiplicando a equação (Eq. 2.23) por − sen ψ, multiplicando
a equação (Eq. 2.24) por cos ψ e somando as duas equações resulta
a x senψ − a y cosψ
φ = arctan + 2kπ (Eq. 2.35)
− s x senψ + s y cosψ
20
onde k é um número inteiro.
• dado que cada linha (ou cada coluna) da matriz de rotação é um vector
unitário, o seu módulo é igual a um; o determinante de uma matriz de
rotação é igual a 1;
Se a um dado vector p = p x [ py ]T
p z , no espaço 3D, é acrescentada uma
diz-se que p̂ vem expresso em coordenadas homogéneas. Nesta secção será usado o
símbolo “^” para representar um vector através de coordenadas homogéneas.
Posteriormente, caso não exista perigo de confusão, este símbolo será omitido.
21
Em geral, a representação de um vector N - dimensional por um vector
(N+1) - dimensional, diz-se de representação homogénea. Inversamente, o vector
N - dimensional obtém-se da sua representação em coordenadas homogéneas
dividindo as coordenadas do vector (N+1) - dimensional pela componente de ordem
[
vector aumentado p̂ = wp x wp y wp z w ]
T
verificando-se as relações
wp x wp y wp z
px = py = pz = (Eq. 2.36)
w w w
[
Assim, pˆ 1 = w1 p x w1 p y w1 p z w1 ]
T
[
ou pˆ 2 = w2 p x w2 p y w2 p z w2 ] T
Pode ver-se deste modo que a quarta componente, w, funciona como um factor de
escala. Se o factor de escala w = 1, então as componentes físicas do vector são iguais
às componentes em coordenadas homogéneas. Na cinemática de robôs o factor de
escala é considerado sempre unitário.
matriz vector
R p 3×1 rotação posição
T = 3×3 =
1 efeito de
(Eq. 2.37)
f1×3 factor
perspectiva escala
22
A matriz de rotação 3×3 pode ser aumentada para 4×4, transformando-se
assim numa matriz homogénea, Trot, representando apenas a operação de rotação.
Deste modo, as matrizes de rotação (Eq. 2.12) e (Eq. 2.13) expressas em termos de
matrizes homogéneas ficam
1 0 0 0
0 cos α − sen α 0
Tx ,α = (Eq. 2.38a)
0 sen α cos α 0
0 0 0 1
cos φ 0 sen φ 0
0 1 0 0
Ty ,φ = (Eq. 2.22b)
− sen φ 0 cos φ 0
0 0 0 1
cosθ − sen θ 0 0
sen θ cosθ 0 0
Tz ,θ = (Eq. 2.22c)
0 0 1 0
0 0 0 1
1 0 0 dx
0 1 0 dy
Ttran = (Eq. 2.39)
0 0 1 dz
0 0 0 1
23
Em resumo, uma transformação homogénea, converte um vector expresso em
coordenadas homogéneas em relação a um referencial OUVW, num vector expresso
em coordenadas homogéneas em relação a um referencial OXYZ (Figura 2.5). Isto é,
com w = 1,
nx sx ax px
n sy ay p y n s a p
T = y =
p z 0 0 0 1
(Eq. 2.41)
nz sz az
0 0 0 1
kw
O1
jv
pO1 Ruvw⋅puvw
xyz
iu
kz
jy P
O
pxyz
ix
24
a situação ou posição generalizada (posição e orientação) de um referencial móvel
em relação a um referencial fixo.
nx ny nz − nT p − nT p
s sy sz − sT p R T3×3 − sT p
T −1 = x = (Eq. 2.42)
a x ay az − aT p − aT p
0 0 0 1 0 0 0 1
25
calculada até esse momento pela matriz homogénea básica apropriada:
(Eq. 2.38) e (Eq. 2.39);
26
As juntas e os elos são numerados a partir da base. Assim, a junta 1
assegurará a ligação entre a base de suporte e o elo 1. Em geral, dois elos estão
ligados através de uma única junta. Considerem-se seis tipos de juntas diferentes:
rotativa, prismática, cilíndrica, esférica, parafuso e planar, representadas na Figura
2.7. Destas, apenas as rotativas e as prismáticas são comuns em robôs manipuladores.
Uma representação esquemática destes dois tipos de juntas pode ser vista na Figura
2.8.
27
2.1.10 REPRESENTAÇÃO DE DENAVIT-HARTENBERG (D-H)
28
estabelecidos (de acordo com “regra da mão direita”) e são
perpendiculares a z0.
• D3. Estabelecimento dos eixos das juntas. Fazer coincidir zi com o eixo
da junta i+1.
(z i −1 × z i )
• D5. Estabelecimento do eixo xi. Estabelecer x i = ± ou
(z i −1 × z i )
(z i × xi )
• D6. Estabelecimento do eixo yi. Fazer y i = + de modo a
(z i × xi )
29
• D12. Determinar αi. O parâmetro αi é o ângulo entre zi−1 e zi, segundo
xi .
Uma vez aplicado o Algoritmo 2.1 haverá que determinar uma transformação
homogénea que relacione o referencial i com o referencial i−1. Considerando a
Figura 2.9, pode ver-se que o referencial i sofreu as seguintes transformações
relativamente ao referencial i−1:
• rotação em torno de zi−1 de um ângulo θi, para alinhar o eixo xi−1 com o
eixo xi (o eixo xi−1 é paralelo a xi, apontando no mesmo sentido);
Cada uma das quatro transformações referidas acima pode ser descrita por
uma matriz homogénea básica e o seu produto dá origem a uma matriz homogénea
i −1
A i , conhecida por matriz de D-H para os referenciais i e i−1. Assim, vem
30
i −1
A i = Tz ,d Tz ,θ Tx , a Tx ,α
1 0 0 cosθ i − sen θ i 0 01 0 0
0 ai 1 0 0 0
0 0 0 sen θ i cosθ i 0 00 1 0
1
0 0 cos α i − sen α i 0
=
0 1 d i 0
0 0 1 0 0 0 1 0 0 sen α i cos α i 0
0 0
0 1 0 0 0 1 0 0 0 1 0 0 0 1
cosθ i − cos α i sen θ i sen α i sen θ i ai cosθ i
sen θ cos α i cosθ i − sen α i cosθ i ai sen θ i
= i
0 sen α i cos α i di
0 0 0 1
(Eq. 2.43)
cosθ i sen θ i 0 − ai
− cos α sen θ cos α i cosθ i sen α i − d i sen α i
[i −1
]
A i = i A i −1 =
−1 i
sen α i sen θ i
i
onde, para uma junta rotativa, αi, ai e di são constantes, enquanto que θi é variável.
Para uma junta prismática, a variável é di, enquanto que αi, ai e θi são constantes.
i −1
Usando a matriz A i pode relacionar-se um ponto pi, fixo a um elo i, e
p i −1 = i −1 A i p i (Eq. 2.45)
31
2.1.11 EQUAÇÕES DA CINEMÁTICA
relação ao referencial da base, pode ser encontrada fazendo o produto das sucessivas
i −1
transformações Ai :
i
0
Ti = 0 A1 1 A 2Ki −1 A i = ∏ j −1
A j, para i = 1, 2 ,...,n
j =1
(Eq. 2.46)
x yi zi pi 0 R i 0
pi
= i =
0 0 0 1 0 1
onde
x y6 z6 p6 0 R 6 0
p 6 n s a p
T = 6 = =
0 0 0 1 0 1 0 0 0 1
nx sx ax px
n (Eq. 2.47)
sy ay p y
= y
nz sz az pz
0 0 0 1
32
• s = deslizamento. Aponta na direcção do movimento dos “dedos”
quando o pinça abre e fecha;
Figura 2.10 Punho esférico: referencial do órgão terminal e os vectores [n, s, a].
ref
T ferr =B 0 T6 H (Eq. 2.48)
33
i −1
matrizes A i , i = 1,...,6. De notar que a matriz T é única, para um dado sistema de
i −1
Uma vez obtidas as matrizes A i , como muitas é necessário calcular a
34
Os parâmetros de D-H são apresentados na Tabela 2.1.
1 −90 −90 0 d1
2 −90 90 0 d2
3 −90 0 0 d3
4 0 −90 0 0
5 0 90 0 0
6 0 0 0 d6
C1 0 − S1 0 C2 0 S2 0
S 0 C1 0 S 0 − C2 0
0
A1 = 1 1
A 2 = 2 (Eq. 2.49)
0 −1 0 d1 0 1 0 d2
0 0 0 1 0 0 0 1
0 1 0 0 C4 0 − S4 0
− 1 0 0 0 S 0 C4 0
2
A 3 = 3
A 4 = 4 (Eq. 2.50)
0 0 1 d3 0 −1 0 0
0 0 0 1 0 0 0 1
C5 0 S5 0 C6 − S6 0 0
S 0 − C5 0 S C6 0 0
4
A 5 = 5 5
A 6 = 6 (Eq. 2.51)
0 1 0 0 0 0 1 d6
0 0 0 1 0 0 0 1
35
2.1.12.2 MANIPULADOR PUMA
1 90 −90 0 0
2 0 0 a2 d2
3 90 90 a3 0
4 0 −90 0 d4
5 0 90 0 0
6 0 0 0 d6
36
C1 0 − S1 0 C2 − S2 0 a 2 C2
S 0 C1 0 S C2 0 a2 S 2
0
A1 = 1 1
A 2 = 2 (Eq. 2.52)
0 −1 0 0 0 0 1 d2
0 0 0 1 0 0 0 1
C5 0 S5 0 C6 − S6 0 0
S 0 − C5 0 S C6 0 0
4
A 5 = 5 5
A 6 = 6 (Eq. 2.54)
0 1 0 0 0 0 1 d6
0 0 0 1 0 0 0 1
37
Tabela 2.3 Parâmetros de D-H para o manipulador TI ER 6000.
3 90 90 0 0 [−35, 215]
5 0 90 0 0 [−105, 105]
C1 0 − S1 0 C2 − S2 0 a 2 C2
S 0 C1 0 S C2 0 a2 S 2
0
A1 = 1 1
A 2 = 2 (Eq. 2.55)
0 −1 0 0 0 0 1 d2
0 0 0 1 0 0 0 1
C3 0 S3 0 C4 0 − S4 0
S 0 − C3 0 S 0 C4 0
2
A 3 = 3 3
A 4 = 4 (Eq. 2.56)
0 1 0 0 0 −1 0 d4
0 0 0 1 0 0 0 1
C5 0 S5 0 C6 − S6 0 0
S 0 − C5 0 S C6 0 0
4
A 5 = 5 5
A 6 = 6 (Eq. 2.57)
0 1 0 0 0 0 1 d6
0 0 0 1 0 0 0 1
38
nx sx ax px
n sy ay p y
T = A 1 A 2 A 3 A 4 A 5 A 6 = y
0 1 2 3 4 5
(Eq. 2.58)
nz sz az pz
0 0 0 1
onde
n z = − S 23 (C 4 C5 C6 − S 4 S 6 ) − C 23 S 5 C 6 (Eq. 2.61)
s x = C1 [− C 23 (C 4 C5 S 6 + S 4 C 6 ) + S 23 S 5 S 6 ] − S1 (− S 4 C5 S 6 + C 4 C6 ) (Eq. 2.62)
s y = S1 [− C 23 (C 4 C5 S 6 + S 4 C 6 ) + S 23 S 5 S 6 ] + C1 (− S 4 C5 S 6 + C 4 C 6 ) (Eq. 2.63)
s z = S 23 (C 4 C5 S 6 + S 4 C 6 ) + C 23 S 5 S 6 (Eq. 2.64)
39
de controlo, bem como para alguns algoritmos de cálculo da cinemática de posição
inversa.
0R 0
pn
T= n (Eq. 2.71)
0 1
0 v n 0 J P
0 = q& (Eq. 2.72)
ω J O
n 0
0 vn 0
0 = J (q )q& (Eq. 2.73)
ω
n
0
com
40
J
J = P (Eq. 2.74)
J O
através da equação
τ = JT ⋅ fn (Eq. 2.75)
0
relação a B, expresso em B; e A
p B A o vector posição do ponto B em relação a A,
B
A
pB B
pP
A B
P
A A
pP
A
41
A
pP A =ApB A + AR B B pP B (Eq. 2.76)
A
pP A = ApB A +BpP A (Eq. 2.77)
A
p& P A = A p& B A + B p& P A (Eq. 2.78)
Sendo B
p P A um vector definido no referencial B, é sabido, da mecânica
B
p& P A = B p& P A + A ωB A × B p P A (Eq. 2.79)
rot
onde B
p& P A representa a derivada do vector B p P A no referencial que está a rodar,
rot
ao passo que B p& P A é a sua derivada no referencial fixo (sempre que não haja risco de
A
p& P A = A p& B A + B p& P A + A ωB A × B p P A (Eq. 2.80)
rot
A
p& P A = A p& B A + A R B B p& P B
rot
(
+ A ωB A × A R B B p P B ) (Eq. 2.81)
d
(⋅) = d (⋅) + ω × (⋅) (Eq. 2.82)
dt dt rot
A
p& P A = A p& B A + A R B B p& P B & Bp
+ AR (Eq. 2.83)
B P B
rot
42
ou seja,
A & B p = A R Aω × B p
R B P B B B B P B =
( ) (R A
B
A
)(
ωB B × A R B B p P B )
(
= A ωB A × A R B B p P B ) (Eq. 2.84)
0 0
Sejam p i −1 0 e p i 0 os vectores posição das origens dos referenciais,
i −1
0 pi
pi−1 i −1
0
0
pi
0
i −1
Seja ainda p i i −1 o vector posição do referencial i, em relação ao referencial
0
p i 0 = 0 p i −1 0 + 0 R i −1 i −1 p i i −1 (Eq. 2.85)
ou seja
0
p& i 0 = 0 p& i −1 0 + 0 R i −1 i −1 p& i i −1 + 0 ωi −1 0 ×0 R i −1 i −1 p i i −1
(Eq. 2.86)
= 0 p& i −1 0 + i −1 v i 0 + 0 ωi −1 0 ×0 R i −1 i −1 p i i −1
43
que representa a velocidade linear do elo i em função das velocidades linear e angular
i −1
do elo i-1. Notar que v i 0 representa a velocidade da origem do referencial i em
0
ωi 0 = 0 ωi −1 0 + 0 R i −1 i −1 ωi i −1
(Eq. 2.87)
= 0 ωi −1 0 + i −1 ωi 0
i −1
ωi 0 = 0
(Eq. 2.88)
i −1
v i 0 = d&i z i −1
0
ωi 0 = 0 ωi −1 0
(Eq. 2.89)
0
v i 0 = 0 v i −1 0 + d&i z i −1 + 0 ωi 0 ×i −1 p i 0
44
i −1
ωi 0 = θ&i z i −1
i −1
(Eq. 2.90)
v i 0 = i −1 ωi 0 ×i −1 p i 0
0
ωi 0 = 0 ωi −1 0 + θ&i z i −1
(Eq. 2.91)
0
v i 0 = 0 v i −1 0 + 0 ωi 0 ×i −1 p i 0
J J
J = P1 L Pn (Eq. 2.92)
J O1 J On
q& i J Oi = 0
(Eq. 2.93)
J Oi = 0
q& i J Pi = d&i z i −1
(Eq. 2.94)
J Pi = z i −1
q& i J Oi = θ&i z i −1
(Eq. 2.95)
J Oi = z i −1
45
q&i J Pi = i −1 ωi 0 ×i −1 p n 0
= θ&i z i −1×i −1 p n 0 (Eq. 2.96)
J Pi = z i −1×i −1 p n 0
0 v6 0
0 = J (q)q& (t ) = [J1 (q) J 2 (q) K J 6 (q)] q& (t ) (Eq. 2.97)
ω6 0
onde J(q) é uma matriz de dimensão 6×6 cuja coluna de ordem i Ji(q) é dada pela
equação seguinte
z i −1×i −1 p 6
0
se a junta i é rotativa
z i −1
J i (q) = (Eq. 2.98)
z
i −1 se a junta i é prismá tica
0
z ×0 p 6 0 z1×1 p 6 0 L z 5 ×5 p 6 0
J (θ ) = 0 (Eq. 2.99)
z0 z1 L z5
46
n R0 0
n
J = J (Eq. 2.100)
0 R0
n
[
ξ& = ψ& θ& ϕ& ]
T
não são ortogonais, sendo que representam uma velocidade angular
definida em relação a um referencial variável.
Por outro lado, enquanto que o integral do vector ξ& = ψ& θ& ϕ& [ ]T
poderá
0
ωi 0 = [π 2 0 0] , 0 ≤ t ≤ 1; 0
ω i 0 = [0 π 2 0] , 1 ≤ t ≤ 2 (Eq. 2.101)
T T
0
ωi 0 = [0 π 2 0] , 0 ≤ t ≤ 1; 0
ω i 0 = [π 2 0 0] , 1 ≤ t ≤ 2 (Eq. 2.102)
T T
47
Figura 2.16 Orientação final de um corpo, obtida por integração do vector
velocidade angular.
d x ∂ f(q) d q
= (Eq. 2.104)
dt ∂q d t
ou
48
x& = J E q& (Eq. 2.105)
∂ f(q)
onde, J E = ∈ Rmxn é um jacobiano.
∂q
Notar que JE também poderá ser obtido a partir de J. De facto, a relação entre
a velocidade angular, 0ωn , e a primeira derivada temporal dos ângulos de Euler,
0
[ ]
ξ& = ψ& θ& ϕ& , é bem conhecida da cinemática, sendo (Vukobratovic e
T
Kircanski, 1986)
ψ&
0
ωn = J A ⋅ θ& (Eq. 2.106)
0
ϕ&
em que
0 − Sψ CθCψ
J A =0 Cψ CθSψ (Eq. 2.107)
1 0 − Sθ
0 vn q&
Rescrevendo 0 0
= J ⋅ 1 como
ωn
0 q& 2
49
0 vn J11 J12 q& 1
0 0
= −1 ⋅
J ⋅ J 22 q& 2
(Eq. 2.109)
ξ& n
−1
J A ⋅ J 21
0
A
50
Pelo contrário, o problema da cinemática de posição inversa, isto é, a
determinação do vector de coordenadas do espaço das juntas que corresponde a um
dado vector de coordenadas operacionais, envolve cálculos bem mais complexos:
• as equações a resolver são, em geral, não lineares, pelo que nem sempre
é possível uma resolução analítica;
51
Está provado que para manipuladores de estrutura em série com 6 gdl, o
problema da cinemática de posição inversa admite solução analítica quando:
O procedimento é o seguinte:
terminal: 0 p w 0 = p − d 6a = pwx [ pw y p wz ];
T
52
• resolver o problema da cinemática inversa para o punho.
0
A 3 = 0 A1 1 A 2 2 A 3
d 3C1S 2 − S1d 2
M M M d 3 S1S 2 + C1d 2 (Eq. 2.110)
=
d 3C2 + d1
1
Assim, vem
p wx d 3C1S 2 − S1d 2
pw y = d 3 S1S 2 + C1d 2 (Eq. 2.111)
pw d 3C2 + d1
z
53
pw C1 + pw S1 d 3 S 2
x y
− p wz = − d 3C2 (Eq. 2.112)
− p S + p C d
wx 1 wy 1 2
1− t2 2t
C1 = , S1 = (Eq. 2.113)
1+ t 2 1+ t 2
(d 2 )
+ p w y t 2 + 2 p wx t + d 2 − p w y = 0 (Eq. 2.114)
(
θ1 = 2 atan 2 − pwx ± pw2 x + pw2 y − d 22 , d 2 + pwy ) (Eq. 2.116)
Existem duas soluções para a primeira junta, desde que o discriminante da raiz
quadrada seja positivo. Claro que se for negativo não existe solução.
pwx C1 + pw y S1 d3S2
= (Eq. 2.117)
− p wz − d 3C2
(
θ 2 = atan 2 pwx C1 + pwy S1 , pwz ) (Eq. 2.118)
d3 = (p wx C1 + pw y S1 , pwz ) +p
2 2
wz (Eq. 2.119)
54
2.3.2.2 BRAÇO ANTROPOMÓRFICO (MANIPULADOR TI ER 6000 COM d2 = 0
OU PUMA COM d2 = 0 E a3 = 0)
0
A 4 = 0 A1 1 A 2 2 A 3 3 A 4
d 4C1S 23 + a2C1C2
M M M d 4 S1S 23 + a2 S1C2 (Eq. 2.120)
=
d 4C23 − a2 S 2
1
Assim, vem
(
θ1 = atan 2 pw y , pwx ) (Eq. 2.122)
( )
ou θ1 = π + atan 2 pw y , pwx , desde que θ2 passe a valer π - θ2 (Figura 2.17).
55
pw2 x + pw2 y + pw2 z = d 42 + a22 + 2d 4 a2C2 (S 2C3 + C2 S 3 ) −
(Eq. 2.123)
2d 4 a2 S 2 (C2C3 − S 2 S 3 )
Resolvendo o sistema de equações composto pela equação (Eq. 2.128) e pela equação
que resulta da igualdade entre os terceiros elementos da equação (Eq. 2.121) obtém-
se a solução para a junta 2:
d S + a C = p 2 + p 2
4 23 2 2 wx wy
(Eq. 2.129)
d 4C23 − a2 S 2 = pwz
(
d 4C3 pw2 x + pw2 y − d 4 S3 + a2 pwz )
S2 = (Eq. 2.130)
pw2 x + pw2 y + pw2 z
(
p w z d 4 C3 + a 2 + d 4 S 3 ) pw2 x + pw2 y
C2 = (Eq. 2.131)
pw2 x + pw2 y + pw2 z
56
• braço à direita e para cima;
57
2.3.3.1 PROBLEMA DA ESCOLHA DA SOLUÇÃO
58
Minimização do erro quadrático médio entre o último vector calculado e o
vector candidato a solução
6
min
∑ c (q
i =1
i i ,act − qi ,seg ) 2
(Eq. 2.133)
Dado o vector qmed, que corresponde aos pontos médios dos intervalos de
variação das juntas, e o vector qseg de coordenadas no espaço das juntas candidato a
solução para o vector xseg de coordenadas operacionais seguinte, a função a
minimizar é
6
min
∑ c (q
i =1
i i , med − qi , seg ) 2
(Eq. 2.134)
59
manipulador é x0 = (50, 40, 600, 10, 5, 35)T (posição expressa em milímetros e
orientação expressa em graus) e que as correspondentes coordenadas das juntas são
q0 = (−6.3, −54.8, 24.2, −40.8, 54.2, 46.1)T (em graus). Pretende-se que o órgão
terminal do robô descreva um quadrado no plano YZ (plano vertical) demorando
2 seg para percorrer cada lado. Para tal define-se uma trajectória especificando os
restantes três vértices do quadrado x1, x2 e x3: x1 = (50, 240, 600, 10, 5, 35)T,
x2 = (50, 240, 400, 10, 5, 35)T e x3 = (50, 40, 400, 10, 5, 35)T (Figura 2.18).
650
600
550
Eixo Z (mm)
500
450
400
350
0 50 100 150 200 250
Eixo Y (mm)
2
Entende-se que se deve dar maior peso às juntas do braço uma vez que, tipicamente, estas têm menor
capacidade de aceleração que as do punho. Assim, dá-se maior importância às descontinuidades das
trajectórias destas juntas.
60
Junta 1 Junta 2
80 0
60 -20
-40
40
-60
Pos. da junta (graus)
-40
-140
-60 -160
-80 -180
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Junta 1 Junta 2
Junta 3 Junta 4
200 100
150 50
Pos. da junta (graus)
100 0
50 -50
0 -100
-50 -150
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Junta 3 Junta 4
Junta 5 Junta 6
80 100
60
40 50
20
Pos. da junta (graus)
Pos. da junta (graus)
0 0
-20
-40 -50
-60
-80 -100
-100
-120 -150
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Junta 5 Junta 6
Figura 2.19 Trajectórias das juntas geradas por um método analítico com diferentes
funções custo.
Função custo (1); --- Função custo (2).
61
650
600
550
Eixo Z (mm)
500
450
400
350
0 50 100 150 200 250
Eixo Y (mm)
Figura 2.20 Trajectórias no espaço operacional (plano YZ) geradas por um método
analítico com diferentes funções custo.
Função custo (1); --- Função custo (2).
62
Sabe-se das relações diferenciais que
ou
dq = J −E1dx ( ∆q = J −1
E ∆x ) (Eq. 2.136)
Algoritmo 2.2
• D5. Fazer q k +1 = q k + ∆q k ;
x + ∆x ∆q q
J −E1 (q ) ∫
−
f (q )
63
2.3.4.2 EXEMPLO: MANIPULADOR TI ER 6000
Algoritmo 2.3
• P0. Fazer i = 0.
• P1. Ler a situação inicial (vector qi). Ler os sensores de posição das
juntas. Este passo só necessita de ser executado uma vez.
Segundo Coiffet (1982), desde que se verifique que os três últimos eixos do
robô manipulador se intersectam no mesmo ponto, é possível separar o problema
global (que implica a manipulação de matrizes de dimensão 6×6) em dois
64
subproblemas independentes: um de posicionamento e outro de orientação (que
requerem apenas a manipulação de matrizes de dimensão 3×3).
x q
x = p ; q = 1 (Eq. 2.137)
xo q 2
J J12
J int = 11
0
(Eq. 2.138)
J 21
onde J11, J12 e J21 são matrizes de dimensão 3×3 e 0 representa a matriz nula de
dimensão 3×3.
O vector x int
p que representa a posição do ponto de intersecção dos três
últimos eixos em relação ao referencial da base pode ser calculado pela equação
p = x p − d 6a
x int (Eq. 2.139)
65
Então o algoritmo vem:
Algoritmo 2.4
• P0. Fazer i = 0.
• P1. Ler a situação inicial (vector qi). Ler os sensores de posição das
juntas.
(x int
i ,o = xint )
i ,o .
(x int
i +1,o = xint )
i +1,o .
66
pequenos, i. e., se for seleccionando um intervalo de amostragem
apropriado). Como se verá através de resultados obtidos por simulação,
o erro resultante da linearização pode ser desprezado se se trabalhar a
frequências de amostragem típicas entre os 60 Hz e os 100 Hz;
Junta 1 Junta 2
70 0
60
-10
50
-20
Pos. da junta (graus)
Pos. da junta (graus)
40
30 -30
20
-40
10
-50
0
-10 -60
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Junta 1 Junta 2
67
Junta 3 Junta 4
60 -20
50
-40
40
-60
30
Pos. da junta (graus)
10 -100
0
-120
-10
-140
-20
-30 -160
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Junta 3 Junta 4
Junta 5 Junta 6
75 100
70 90
65 80
60
70
Pos. da junta (graus)
Pos. da junta (graus)
55
60
50
50
45
40
40
30
35
30 20
25 10
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Junta 5 Junta 6
Figura 2.22 Trajectórias das juntas geradas por um método numérico iterativo para
diferentes frequências de amostragem.
Frequência de amostragem de 100 Hz; --- Frequência de amostragem de 10 Hz.
600
550
Eixo Z (mm)
500
450
400
350
0 50 100 150 200 250
Eixo Y (mm)
Figura 2.23 Trajectórias no espaço operacional (plano YZ) geradas por um método
numérico iterativo para diferentes frequências de amostragem.
Frequência de amostragem de 100 Hz; --- Frequência de amostragem de 10 Hz.
68
2.3.6.2 PESO COMPUTACIONAL
matriz revela-se muitas vezes proibitivo face ao seu elevado peso computacional. Em
alternativa, a inversão numérica de J pode ser efectuada com um algoritmo clássico
de inversão de matrizes. No entanto, as inversas generalizadas garantem uma
superior robustez face ao eventual mau condicionamento da matriz a inverter. Uma
inversa generalizada de J é qualquer matriz G que satisfaça a relação J⋅G⋅J = J.
Apesar de existir uma infinidade de inversas generalizadas (Coiffet, 1981), a pseudo-
inversa e o algoritmo de cálculo de Greville (Coiffet, 1981) revelam-se
particularmente interessantes. Se a matriz J for não-singular, a inversa, J −1 , e a
69
3 MODELAÇÃO DINÂMICA
I(q ) ⋅ q
&& + V (q, q& ) ⋅ q& + G (q ) = τ (Eq. 3.1)
70
pretendida (são conhecidas a posição e a velocidade correntes, q e q& ,
&& ): dinâmica inversa (Figura
sendo especificada a aceleração desejada, q
3.1);
q
&& + τ q
I (q ) Manipulador
+ q&
+
V (q, q& )
+
G (q )
71
τ q
&& q& q
+
I −1
(q ) ∫ ∫
−
+
V (q, q& )
+
G (q )
72
Como é sabido, um corpo rígido em espaço livre possui 6 gdl, pelo que o seu
movimento pode ser descrito por um conjunto de 6 equações diferenciais
independentes. Tais equações podem ser obtidas da equação de Newton, que
descreve a translação do centro de massa do corpo, e da equação de Euler, que
descreve a rotação do corpo em relação ao seu centro de massa.
Gi
0
pGi
i
pGi
0 i
0
pi
0
Seja mi a massa e Gi
Ii a matriz de inércia do elo em relação ao seu centro
Gi
73
onde o símbolo “^” significa que os momentos e os produtos de inércia estão
referidos ao centro de massa do elo.
I xx I xy I xz
A
Ii A = Ii
A
= I xy I yy I yz (Eq. 3.3)
Gi
I xz I yz I zz
em que
(
I xx = Iˆxx + mi yG2 i + zG2 i ) (Eq. 3.4)
(
I yy = Iˆyy + mi xG2 i + zG2 i ) (Eq. 3.5)
(
I zz = Iˆzz + mi xG2 i + yG2 i ) (Eq. 3.6)
referencial A.
74
Seja 0
p& Gi 0 a velocidade linear do centro de massa e 0
ωGi 0 = 0 ωi 0 a
Gi
H i 0 = Gi I i 0 ⋅0 ωGi 0 = Gi I i 0 ⋅0 ωi 0 (Eq. 3.11)
Em que Gi
I i 0 é a matriz de inércia do elo, em relação ao seu centro de massa,
Gi
H i 0 = 0 R i Gi H i i (Eq. 3.13)
e, ainda
0
R i Gi H i i = Gi I i 0 0 R i ⋅0 ωi i (Eq. 3.14)
Gi
H i i = i R 0 Gi I i 0 0 R i ⋅0 ωi i (Eq. 3.15)
O vector Gi
H i i representa o momento angular do elo i, em relação ao seu centro de
75
Da equação (Eq. 3.15), a matriz de inércia do elo i em relação ao seu centro
de massa, expressa no referencial i será
Gi
I i i = i R 0 Gi I i 0 0 R i (Eq. 3.16)
Gi
I i 0 = 0 R i Gi I i i i R 0 (Eq. 3.17)
Note-se que, pela mesma ordem de ideias, podem ser obtidas as seguintes
relações:
Gi
I i = Gi R i Gi I i i i R Gi (Eq. 3.18)
Gi
Gi
I i i = i R Gi Gi I i Gi
Ri (Eq. 3.19)
Gi
Pela segunda lei de Newton, a força total aplicada no centro de massa do elo,
expressa no referencial da base será (Yoshikawa, 1990)
FGi 0 =
d
Q ( )
dt i 0
(Eq. 3.20)
FGi 0 =
d
dt
( )
mi 0 p& Gi 0 = mi 0 p
&&G
i 0
(Eq. 3.21)
76
N Gi 0 =
d
dt
(
Gi
Hi 0 ) (Eq. 3.22)
N Gi 0 =
d
dt
(Gi
I i 0 ⋅0 ωi 0 ) (Eq. 3.23)
Gi & =
H Gi &
H + 0 ωi 0 ×Gi H i 0 (Eq. 3.24)
i0 i0
rot
Gi & =
H Gi &
H + 0 ωi i ×Gi H i i (Eq. 3.25)
ii ii
rot
Gi & = Gi I 0 ω
H ii ii
& i + 0 ωi ×
i i
( Gi
I i i 0 ωi i ) (Eq. 3.26)
i & = Gi I i R 0 ω
R 0 Gi H i0 ii 0 0
(
& i + i R 0 0 ωi ×
0
) ( )( Gi
(
I i i i R 0 0 ωi 0 )) (Eq. 3.27)
Gi
H i0 i ii
(
& = 0 R Gi I i R 0 ω
0
& i +0 R i
0
) (( R i
0
0
ωi 0 × )( Gi
(
I i i i R 0 0 ωi 0 ))) (Eq. 3.28)
Gi
i0 i ii
(
& = 0 R Gi I i R 0 ω
H 0 0 0 i
)
& i + 0 ωi × 0 R i Gi I i i R 0 0 ωi
0
( ) (Eq. 3.29)
Gi & = Gi I 0 ω
H i 0 i 0
& i + 0 ωi ×
0 0
( Gi
I i 0 0 ωi 0 ) (Eq. 3.30)
em que Gi &
H representa uma derivada em relação ao referencial que está a rodar.
i0
rot
N Gi 0 =
d
dt
(
Gi
)
I i 0 ⋅0 ωi 0 = Gi I i 0 0 ω
& i + 0 ωi ×
0 0
( Gi
I i 0 0 ωi 0 ) (Eq. 3.31)
Note-se que a equação (Eq. 3.31) pode ser obtida derivando directamente a
equação (Eq. 3.23). Assim,
d
dt
( Gi
I i 0 ⋅0 ωi 0 = ) dt
(
d 0 Gi i
R i I i i R 0 0 ωi 0 + Gi I i 0 0 ω)
&i
0
(Eq. 3.32)
77
A primeira parcela do segundo membro da equação anterior pode ser desenvolvida da
seguinte forma:
dt
(
d 0 Gi i
R i I i i R 0 0 ωi 0 =
dt
)
d 0 Gi
(
R i I i i i R 0 + 0 R i Gi I i i i R 0 )
& 0 ω
i0
= 0R i ii 0 (
& Gi I i R + 0 R Gi I i R
i ii
& 0ω
0 i0 (Eq. 3.33) )
& Gi I i R 0 ω + 0 R Gi I i R
=0 R & 0ω
i ii 0 i0 i ii 0 i0
B
R P P P P P P
(
& P p = B R B ω × P p = B R B ω ×B R P p
P P P P P
)
(Eq. 3.34)
B
ωP B ×P p B
vem
d 0 Gi i
dt
( ) (
R i I i i R 0 0 ωi 0 = 0 R i 0 ωi i × Gi I i i i R 0 0 ωi 0 + ( ))
0
R i Gi I i i i R 0 0 ωi 0 ×0 ωi 0 ( ) (Eq. 3.35)
= 0 ωi 0 × ( Gi
I i 0 0 ωi 0 )
0
(
p& i 0 = 0 p& i −1 0 + 0 R i −1 i −1 p& i i −1 + 0 ωi −1 0 × 0 R i −1 i −1 p i i −1 )
(
= 0 p& i −1 0 + i −1 v i 0 + 0 ωi −1 0 × 0 R i −1 i −1 p i i −1 ) (Eq. 3.36)
78
i −1
linear e angular do elo i-1 (referencial i-1). Notar que v i 0 = i −1 p& i 0 representa a
0
ωi 0 = 0 ωi −1 0 + 0 R i −1 i −1 ωi i −1
(Eq. 3.37)
= 0 ωi −1 0 + i −1 ωi 0
i −1
ωi 0 = 0
(Eq. 3.38)
i −1
v i 0 = d&i z i −1
0
ωi 0 = 0 ωi −1 0
(Eq. 3.39)
0
v i 0 = 0 v i −1 0 + d&i z i −1 + 0 ωi 0 ×i −1 p i 0
i −1
ωi 0 = θ&i z i −1
i −1
(Eq. 3.40)
v i 0 = i −1 ωi 0 ×i −1 p i 0
79
As velocidades linear e angular são
0
ωi 0 = 0 ωi −1 0 + θ&i z i −1
(Eq. 3.41)
0
v i 0 = 0 v i −1 0 + 0 ωi 0 ×i −1 p i 0
0
&& i −1 + 0 R i −1 i −1 p
&& i = 0 p
p i −1
(
&& i + 2 0 ωi −1 × 0 R i −1 i −1 p& i +
i −1
)
[ )]
0 0 0
0
( ) (
& i −1 0 × 0 R i −1 i −1 p i i −1 + 0 ωi −1 0 × 0 ωi −1 0 × 0 R i −1 i −1 p i i −1
ω
(Eq. 3.42)
0
0
& i −1 + 0 R i −1 i −1 ω
& i =0 ω
ω 0
& i + 0 ωi −1 × 0 R i −1 i −1 ωi
i −1 0 i −1
( ) (Eq. 3.43)
referencial i-1 apenas tem componente não nula segundo o eixo zi-1, sendo
i −1
p& i 0 = d&i z i −1 ( i −1 p
&&i = d&&i z i −1 ). Assim, tem-se
0
0
p && i −1 + d&&i z i −1 + 2 0 ωi −1 × d&i z i −1 +
&& i = 0 p
0 0 0
0
0 0 0 0
(
& i −1 ×i −1 p i + 0 ωi −1 × 0 ωi −1 ×i −1 p i
ω 0
) (Eq. 3.44)
0
& i =0 ω
ω & i −1
0 0
80
0
& i =0 ω
ω & i −1 + θ&&i z i −1 + 0 ωi −1 × θ&i z i −1 (Eq. 3.45)
0 0 0
i −1
&&i = i −1 ω
p 0
& i ×i −1 p i + i −1 ωi ×
0 0 0
( i −1
ωi 0 ×i −1 p i 0 ) (Eq. 3.46)
0
&& i −1 + i −1 p
&& i = 0 p
p && i + 20 ωi −1 ×i −1 p& i + 0 ω
& i −1 ×i −1 p i +
0 0 0 0 0 0 0
0
(
ωi −1 0 × 0 ωi −1 0 ×i −1 p i 0 )
&& i −1 + i −1 ω
=0 p 0
& i ×i −1 p i + i −1 ωi ×
0 0 0
( i −1
ωi 0 ×i −1 p i 0 + ) (Eq. 3.47)
2 0 ωi −1 0 × ( i −1
ωi 0 ×i −1 p i 0 + 0 ω )
& i −1 ×i −1 p i + 0 ωi −1 × 0 ωi −1 ×i −1 p i
0 0 0 0 0
( )
0
&& i −1 + i −1 ω
&& i = 0 p
p & i ×i −1 p i + 0 ω
& i −1 ×i −1 p i +
0 0 0 0 0 0
(i −1
ωi 0 + 20 ωi −1 0 × )( i −1
)
ωi 0 ×i −1 p i 0 + 0 ωi −1 0 × 0 ωi −1 0 ×i −1 p i 0( ) (Eq. 3.48)
0
&& i −1 + i −1 ω
&& i = 0 p
p & i ×i −1 p i + 0 ω
& i −1 ×i −1 p i +
0 0 0 0 0 0
(ω 0
i0
+ 0 ωi −1 0 × )( i −1
)
ωi 0 ×i −1 p i 0 + 0 ωi −1 0 × 0 ωi −1 0 ×i −1 p i 0( ) (Eq. 3.49)
0
&& i −1 + i −1 ω
&& i = 0 p
p & i ×i −1 p i + 0 ω
& i −1 ×i −1 p i +
0 0 0 0 0 0
0
ωi 0 × ( i −1
ωi 0 ×i −1 p i 0 + 0 ωi −1 0 ×) ( i −1
) (
ωi 0 ×i −1 p i 0 + 0 ωi −1 0 × 0 ωi −1 0 ×i −1 p i 0 ) (Eq. 3.50)
0
&& i −1 + i −1 ω
&& i = 0 p
p & i ×i −1 p i + 0 ω
& i −1 ×i −1 p i +
0 0 0 0 0 0
0
ωi 0 × ( i −1
ωi 0 ×i −1 p i 0 + 0 ωi −1 0 × ) (( i −1
) (
ωi 0 ×i −1 p i 0 + 0 ωi −1 0 ×i −1 p i 0 ))(Eq. 3.51)
0
&& i −1 + i −1 ω
&& i = 0 p
p & i ×i −1 p i + 0 ω
& i −1 ×i −1 p i +
0 0 0 0 0 0
0
ωi 0 × ( i −1
)
ωi 0 ×i −1 p i 0 + 0 ωi −1 0 × 0 ωi 0 ×i −1 p i 0 ( ) (Eq. 3.52)
0
&& i −1 + i −1 ω
&& i = 0 p
p & i ×i −1 p i + 0 ω
& i −1 ×i −1 p i +
0 0 0 0 0 0
0
ωi 0 × ( i −1
) (
ωi 0 ×i −1 p i 0 + 0 ωi 0 − i −1 ωi 0 × 0 ωi 0 ×i −1 p i 0 )( ) (Eq. 3.53)
81
0
&& i −1 + i −1 ω
&& i = 0 p
p & i ×i −1 p i + 0 ω
& i −1 ×i −1 p i +
0 0 0 0 0 0
0
ωi 0 × ( i −1
) ( )
ωi 0 ×i −1 p i 0 + 0 ωi 0 × 0 ωi 0 ×i −1 p i 0 − i −1 ωi 0 × 0 ωi 0 ×i −1 p i 0 ( ) (Eq. 3.54)
(a × b )× c = b(a ⋅ c) − a(b ⋅ c)
(Eq. 3.55)
a × (b × c ) = b(a ⋅ c ) − c(a ⋅ b )
vem
0
&& i −1 + i −1 ω
&& i = 0 p
p & i ×i −1 p i + 0 ω
& i −1 ×i −1 p i +
0 0 0 0 0 0
0
( ) (
ωi 0 × 0 ωi 0 ×i −1 p i 0 + i −1 ωi 0 0 ωi 0 ⋅i −1 p i 0 − )
i −1
(
p i 0 0 ωi 0 ⋅i −1 ωi 0 − 0 ωi 0 ) (
i −1
)
ωi 0 ⋅i −1 p i 0 +
(Eq. 3.56)
i −1
pi 0 ( i −1
ωi 0 ⋅0 ωi 0 )
0
&& i −1 + i −1 ω
&& i = 0 p
p & i ×i −1 p i + 0 ω
& i −1 ×i −1 p i +
0 0 0 0 0 0
0
( ) (
ωi 0 × 0 ωi 0 ×i −1 p i 0 + 0 ωi 0 ×i −1 ωi 0 ×i −1 p i 0 ) (Eq. 3.57)
0
&& i −1 + i −1 ω
&& i = 0 p
p & i ×i −1 p i + 0 ω
& i −1 ×i −1 p i +
0 0 0 0 0 0
0
(
ωi 0 × 0 ωi 0 ×i −1 p i 0 + ) (( i −1
) )
ωi 0 + i −1 ωi 0 ×i −1 ωi 0 ×i −1 p i 0
(Eq. 3.58)
0
&& i = 0 p
p 0 0
& i ×i −1 p i + 0 ωi × 0 ωi ×i −1 p i
&& i −1 + 0 ω
0 0 0 0 0
( ) (Eq. 3.59)
• (x Gi )
, y Gi , z Gi – referencial com origem no centro de massa do elo i, Gi;
• mi – massa do elo i;
• Gi
I i 0 – matriz de inércia do elo i em relação ao seu centro de massa;
82
• 0
p Gi 0 – posição do centro de massa do elo i em relação ao referencial
da base;
• i
p Gi 0 – posição do centro de massa do elo i em relação ao referencial i;
i-1;
0
p Gi 0 = 0 p i 0 + 0 R i i p Gi i (Eq. 3.60)
0
(
p& Gi 0 = 0 p& i 0 + 0 ωi 0 × 0 R i i p Gi i ) (Eq. 3.61)
0
&& G = 0 p
p i 0
&& i + 0 ω
0
( ) (
& i × 0 R i i p G + 0 ωi × 0 ω i × 0 R i i p G
0 0 0
( ))
( )
i i i i
(Eq. 3.62)
=0 p
&& i 0 + 0 ω
& i 0 ×i p Gi 0 + 0 ωi 0 × 0 ωi 0 ×i p Gi 0
0
ωGi 0 = 0 ωi 0 (Eq. 3.63)
83
Gi
i
pGi
i
0
pi−1
0 i −1
0 pi
pGi i −1
0
0
pi
0
FGi 0 =
d
dt
( )
mi 0 p& Gi 0 = mi 0 p
&& G
i 0
(Eq. 3.64)
N Gi 0 =
d
dt
(
Gi
) & +0ω ×
I i 0 0ωi 0 = Gi I i 0 0ωi0 i0
( Gi
I i 0 0ωi 0 ) (Eq. 3.65)
Assim sendo,
( ) (
N Gi 0 = n i 0 − n i +1 0 + 0 p i −1 0 − 0 p Gi 0 × fi 0 − 0 p i 0 − 0 p Gi 0 × fi +1 0 )
+( p )× F − i −1
(Eq. 3.67)
= n i 0 − n i +1 0 0
i −1 0
− 0 p Gi 0 Gi 0
p i 0 × f i +1 0
Note-se que f i +1 0 é a força exercida pelo elo i no elo i+1, na origem do referencial i,
84
Usando a relação
0
p Gi 0 − 0 p i −1 0 = i −1 p i 0 + i p Gi 0 (Eq. 3.68)
vem
fi 0 = FGi 0 + f i +1 0 = mi 0 p
&& G + f i +1
i 0 0
(Eq. 3.69)
n i 0 = n i +1 0 + i −1p i 0 × f i +1 0 + (i −1
)
p i 0 + i p Gi 0 × FGi 0 + N Gi 0 (Eq. 3.70)
Estas equações são recursivas, podendo ser usadas para determinar as forças e os
momentos, f i 0 e n i 0 , nos elos do manipulador (i = 1, 2, … n).
Para uma junta rotativa o binário aplicado na junta será a projecção do vector
n i 0 em zi-1 (possivelmente haverá que somar ainda o binário de atrito na junta). Para
uma junta prismática a força aplicada na junta será a projecção do vector f i 0 em zi-1
(possivelmente também haverá que somar a força de atrito na junta) (Figura 3.5).
85
zi-1
i
i-1
junta i
n Ti 0 ⋅ z i −1 , se junta R
τi = T (Eq. 3.71)
f i 0 ⋅ z i −1 , se junta P
0
ωi −1 0 + θ&i z i −1 , se junta R
• D2. ωi 0 =
0
0
ωi −1 0 , se junta P
0
& i −1 + θ&&i z i −1 + 0 ωi −1 × θ&i z i −1 , se junta R
ω
• &i =
D3. ω
0 0 0
0 0
ω
& i −1 ,
0
se junta P
86
0
&&i −1 + 0 ω
p 0 0 0 0 0
(
& i ×i −1 p i + 0 ωi × 0 ωi ×i −1 p i ,
0
) se junta R
• && i =
D4. 0 p 0 0
&&i −1 + d&&i z i −1 + 2 0 ωi × d&i z i −1 +
p 0 0
0
0 0 0 0
(
& i ×i −1 p i + 0 ωi × 0 ωi ×i −1 p i ,
ω 0
) se junta P
• && G = 0 p
D5. 0 p i 0
&& i + 0 ω
0
& i ×i p G + 0 ω i × 0 ω i ×i p G
0 i 0 0 0 i 0
( )
• D7. FGi 0 = mi 0 p
&& G
i 0
• & +0ω ×
D8. N Gi 0 = Gi I i 0 0ωi0 i0
( Gi
I i 0 0ωi 0 )
• D9. fi 0 = FGi 0 + f i +1 0
• D10. n i 0 = n i +1 0 + i −1p i 0 × f i +1 0 + ( i −1
)
p i 0 + i p Gi 0 × FGi 0 + N Gi 0
nTi 0 ⋅ z i −1 , se junta R
• D11. τ i = T
fi 0 ⋅ z i −1 , se junta P
87
• D2.
i
R i −1 ( i −1
R 0 0 ωi −1 0 + θ&i z 0 , ) se junta R, z 0 = [0 0 1]
T
R 0 ωi 0 =
0
( )
i
i −1
i
R i −1 R 0 0 ωi −1 0 , se junta P
• D3.
i
R i −1 ( i −1
& i −1 + θ&&i z 0 +
R0 0 ω ( i −1
R 0 0 ωi −1 0 × θ&i z 0 , ) ) se junta R
&i =
R0 ω
0 0
( )
i
i −1
0 i
R i −1 R0 0 ω
& i −1 ,
0
se junta P
• D4.
(R i
0
0
)(
& i 0 × i R 0 i −1 p i 0 + i R 0 0 ωi 0 ×
ω ) ( )
(( R i
0
0
ωi 0 )× ( R i
0
i −1
pi 0 ))+ R ( R i
i −1
i −1
0
0
&&i −1 ,
p 0
) se junta R
&&i =
R0 0p
( ) ( )( )
i
0 i
R i −1 d&&i z 0 + i −1 R 0 0 p 0
& i × i R 0 i −1 p i +
&&i −1 + i R 0 0 ω
0 0
( )(
2 i R 0 0 ωi 0 × i R i −1d&i z 0 + )
(R i
0
0
ωi 0 )× (( R i
0
0
)(
ωi 0 × i R 0 i −1 p i 0 , )) se junta P
i
&&G = i R 0 0 p
R0 0p i 0
&& i + i R 0 0 ω
0
& i × i R 0 i pG +
0 i 0
( )( )
• D5.
(R i
0
0
ωi 0 )× (( R i
0
0
ω )× ( R
i0
i
0
i
p Gi 0 ))
• D7. i R 0FGi 0 = mi i R 0 0 p
&&G
i 0
i
(
R 0 N Gi 0 = i R 0 Gi I i 0 0 R i )( R
i
0
0
)
ω& i 0 +
• D8.
(R i
0
0
) ((
ω i 0 × i R 0 Gi I i 0 0 R i )( R
0
i
0
ωi 0 ))
• D9. i R 0fi 0 = i R i +1 ( i +1
)
R 0fi +1 0 + i R 0FGi 0
i
R 0n i 0 = i R i +1 ( i +1
R 0n i +1 0 + ( i +1
) ( R f ))+
R 0 i −1 p i 0 × i +1
0 i +1 0
• D10.
(R
i
0
i −1
p i 0 + R 0 p Gi 0
i i
)× ( R F )+ R N
i
0 Gi 0
i
0 Gi 0
88
• D11. τ i = i
(
i R 0n
i0
) ⋅ ( R z ),
T i
i −1 0 se junta R
(
R 0fi 0 ) ⋅ ( R z ),
T i
i −1 0 se junta P
x1
x0 y1
z0 z1
y0
x2
z2 y2
x3
y3
z3
Junta i θi αi ai di
1 0 -90º 0 d1
3 0 0 0 d3
89
Dado que todas as juntas são prismáticas, todas as velocidades e acelerações
angulares serão nulas.
Considere-se que a base está fixa ( 0 p& 0 = 0 ) e que o manipulador não exerce
0
&& 0 = g = [− g 0 0] ).
da gravidade ( 0 p
T
0
0 0 − d 3
= 0 = d 2 = 0
0 1 2
p1 0 p2 0 p3 0 (Eq. 3.72)
d1 − a2 0
0 − g − g
&& 0 = 0 + 0 = 0
0 0
p
&&1 &&
= z 0 d1 + p (Eq. 3.74)
0 0
d&&1 0 d&&1
0 − g − g
&&1 = d&&2 + 0 = d&&2
0 0
p
&& 2 &&
= z 1d 2 + p (Eq. 3.75)
0 0
0 d&&1 d&&1
− d&&3 − g − d&&3 − g
= 0 + d&&2 = d&&2
0 0
&& 3 0 = z 2 d&&3 + p
p && 2 0 (Eq. 3.76)
0 d&&1 d&&1
0 0
&& G = p
p &&1 (Eq. 3.77)
1 0 0
0 0
&& G = p
p && 2 (Eq. 3.78)
2 0 0
90
0 0
&& G = p
p && 3 (Eq. 3.79)
3 0 0
− d&&3 − g
0
FG3 0 = m3 p
&& G3 0 = m3 d&&2 (Eq. 3.80)
d&&1
− g
= m2 d&&2
0
FG2 0 = m2 p
&& G
2 0
(Eq. 3.81)
d&&1
− g
= m1 0
0
FG1 0 = m1 p
&&G
1 0
(Eq. 3.82)
d&&1
N G3 0 = N G2 0 = N G1 0 = 0 (Eq. 3.83)
− d&&3 − g
f3 0 = FG3 0 = m3 d&&2 (Eq. 3.84)
d&&1
− g − d&&3 − g
f 2 0 = FG2 0 + f3 0 = m2 d&&2 + m3 d&&2 (Eq. 3.85)
d&&1 d&&1
− g − g − d&&3 − g
f1 0 = FG1 0 + f 2 0 = m1 0 + m2 d&&2 + m3 d&&2 (Eq. 3.86)
d&&1 d&&1 d&&1
− d 3 l3
n3 0 = 0 + 0 × FG3 0 (Eq. 3.87)
0 0
91
0 0 0
n 2 0 = n3 0 + d 2 × f 3 0 + d 2 + 0 × FG2 0
(Eq. 3.88)
− a2 − a l
2 2
0 0 0
n1 0 = n 2 0 + 0 × f 2 0 + 0 + l1 × FG1 0
(Eq. 3.89)
d1 d 0
1
Os momentos são todos absorvidos pela estrutura, pelo que têm interesse
apenas do ponto de vista do dimensionamento (projecto estrutural) dessa mesma
estrutura. Assim, as forças nas juntas são
− 1
(
τ 3 = f 3T 0 ⋅ z 2 = f3T 0 ⋅ 0 = m3 d&&3 + g ) (Eq. 3.90)
0
0
τ 2 = f 2T 0 ⋅ z1 = f 2T 0 ⋅ 1 = (m2 + m3 )d&&2 (Eq. 3.91)
0
0
τ 1 = f1T0 ⋅ z 0 = f1T0 ⋅ 0 = (m1 + m2 + m3 )d&&1 (Eq. 3.92)
1
Considere-se o manipulador planar com dois gdl da Figura 3.7 (Fu et al.,
1987).
92
Figura 3.7 Manipulador planar com dois gdl.
C1 − S1 0
0
R1 = S1 C1 0 (Eq. 3.93)
0 0 1
C2 − S2 0
1
R 2 = S 2 C2 0 (Eq. 3.94)
0 0 1
C12 − S12 0
0
R 2 = S12 C12 0 (Eq. 3.95)
0 0 1
0
ω0 0 = 0 ω
&0 =0
0
(Eq. 3.96)
93
0
p& 0 0 = 0 (Eq. 3.97)
0
&& 0 = [0 g
p 0]
T
(Eq. 3.98)
0
Para i = 1 tem-se:
1 0
( 0
R 0 ω1 0 =1 R 0 ω0 0 + z 0θ&1 )
C1 S1 0 0 0 (Eq. 3.99)
= − S1 C1 0 0θ&1 = 0θ&1
0 0 1 1 1
Para i = 2 tem-se:
2 0
( 0
R 0 ω2 0 = 2 R1 1 R 0 ω1 0 + z 0θ&2 )
C2 S2 0 0 0 0 (Eq. 3.100)
= − S 2 C2 0
&
0θ1 (
0θ& = 0 θ& + θ&
2 1 2
)
0 0 1 1 1 1
Para i = 1 tem-se:
1 0
R0 ω 10 00
(
& + z 0θ&&1 + 0 ω × z 0θ&1 = [0 0 1]T θ&&1
& =1 R 0 0 ω
00
) (Eq. 3.101)
Para i = 2 tem-se:
2 0
( 0
R 0 ω& 2 0 = 2 R1 1 R 0 ω& + z 0θ&&2 + 1 R 0 0 ω × z 0θ&2
10 10
( ) ) (Eq. 3.102)
= [0 0 1] θ&&1 + θ&&2
T
( )
94
3.2.4.1.3 Aceleração linear
Para i = 1 tem-se:
1 0
R0 p (0
&&1 0 = 1 R 0 ω& × 1R0 0p +
10 10
)( )
(R
1
0
0
ω1 0 )× [( R
1
0
0
)(
ω1 0 × 1 R 0 0 p1 0 +1 R 0 0 p )]
&& 0 0
0 l 0 0 l gS1
= 0θ&&1 × 0 + 0θ&1 × 0θ&1 × 0 + gC1
(Eq. 3.103)
1 0 1 1 0 0
− lθ&12 + gS1
= lθ&&1 + gC1
0
Para i = 2 tem-se:
2 0
R0 p (
0
&& 2 = 2 R 0 ω& × 2 R 0 1p +
20 20
)( )
)× [( R )]
0
(R2
0
0
ω2 0 2
0
0
)(
ω2 0 × 2 R 0 1 p 2 0 + 2 R1 1 R 0 0 p
&&1
0
( )
0 l 0 0 l
= 0 × 0 + 0 × 0 × 0 +
θ&&1 + θ&&2 0 θ&1 + θ&2 θ&1 + θ&2 0
C2 S 2 0 − lθ&1 + gS1
2
− S C 0 lθ&& + gC
2 2 1 1
0 0 1 0
(
l S 2θ&&1 − C2θ&12 − θ&12 − θ&22 − 2θ&1θ&2 + gS12 )
=
(
l θ&&1 + θ&&2 + C2θ&&1 + S 2θ&12 + gC12
) (Eq. 3.104)
0
Para i = 1 tem-se:
1 0
R0 p
0
&&G = 1 R 0 ω 10
(
& × 1R0 1 p
G1 0
+ )( )
)× [( R )]
1 0
(R )× ( R
0 0 1
(Eq. 3.105)
1
0 ω1 0 1
0 ω1 0 1
0 p G1 0 +1 R 0 0 p
&&1
0
95
onde,
l
− 2 C1
1
l
p G1 0 = − S1 (Eq. 3.106)
2
0
l
− C1 l
C1 S1 0 2 −
l 2
= − S1 C1 0 − S1 = 0
1
1
R 0 p G1 0 (Eq. 3.107)
2
0 0 1 0 0
Assim,
l l
0 − 2 0 0 − 2
= 0θ&&1 × 0 + 0 × 0 × 0 +
0
1
R0 p
&&G1 0
1 0 θ&1 θ&1 0
l &2 (Eq. 3.108)
− θ1 + gS1
&
− lθ1 + gS1
2
2
&& l &&
lθ1 + gC1 = 2 θ1 + gC1
0 0
Para i = 2 tem-se:
2 0
R0 p
0
&&G = 2 R 0 ω 20
(
& × 2 R0 2 p
G2 0
+ )( )
)× [( R )]
2 0
(R )× ( R
0 0 2
(Eq. 3.109)
2
0 ω2 0 2
0 ω2 0 2
0 p G2 0 + 2 R 0 0 p
&& 2
0
onde,
96
l
− 2 C12
2
l
p G2 0 = − S12 (Eq. 3.110)
2
0
l
− C12 l
C12 0 2 −
2
S12
l
= − S12
0 − S12 = 0
2
2
R 0 p G2 0 C12 (Eq. 3.111)
2
0 0 1 0 0
Assim,
l l
0 − 2 0 0 − 2
= 0 × 0 + 0 × 0 × 0 +
0
2
R0 p
&&G
2 0
θ&&1 + θ&&2 0 θ&1 + θ&2 θ&1 + θ&2 0
( )
l S 2θ&&1 − C2θ&12 − θ&12 − θ&22 − 2θ&1θ&2 + gS12
( )
l θ&&1 + θ&&2 + C2θ&&1 + S 2θ&12 + gC12
(Eq. 3.112)
0
(
l S 2θ&&1 − C2θ&12 − 1 θ&12 − 1 θ&22 − θ&1θ&2 + gS12
2 2
)
(
= l C2θ&&1 + S 2θ&12 + 1 θ&&1 + 1 θ&&2 + gC12
2 2
)
0
Assuma-se que f3 0 = 0 e n 3 0 = 0 .
3.2.4.2.1 Forças
Para i = 2 tem-se:
97
2
( ) ( )
R 0f 2 0 = 2 R 3 3 R 0f 3 0 + 2 R 0FG2 0 = 2 R 0F2 0 = m2 2 R 0 0 p
&&G
2 0
(
m2l S 2θ&&1 − C2θ&12 − 1 θ&12 − 1 θ&22 − θ&1θ&2 + gm2 S12
2 2
)
(Eq. 3.113)
&(
= m2l C2θ1 + S 2θ1 + θ1 + 1 S 2θ&&2 + gm2C12
& & 2 1
2
&&
2
)
0
Para i = 1 tem-se:
1
( )
R 0f1 0 =1 R 2 2 R 0f 2 0 +1 R 0 FG1 0
C2 − S20
= S 2 C2 0 ⋅
0 0 1
(
m2l S 2θ&&1 − C2θ&2 − 1 θ&12 − 1 θ&22 − θ&1θ&2 + gm2 S12
2 2
)
m 2 l C (
&
θ&
2 1 + S θ&
2 1
2
+ 1
2
θ&&
1 +
2
)
1 θ&&2 + gm2C12 + m1 1 R 0 0 p
&&1 0
0
[ ( )
m2l − θ&12 − 1 C2 θ&12 + θ&22 − C2θ&1θ&2 − 1 S 2 θ&&1 + θ&&2 −
2 2
( )]
gm2 (C12 S 2 − C2 S12 ) − 1 &
m lθ + gm1S1
2
2 1 1
&& 1[ & 2
( & 2
) && 1 && &&
m2l θ1 − 2 S 2 θ1 + θ 2 − S 2θ1θ 2 + 2 C2 θ1 + θ 2 + (
)]
= gm2C1 + 1 m1lθ&&1 + gm1C1
2
0
(Eq. 3.114)
3.2.4.2.2 Momentos
Para i = 2 tem-se:
2
( )( )
R 0n 2 0 = 2 R 0 1 p 2 0 + 2 R 0 2 p G2 0 × 2 R 0FG2 0 + 2 R 0 N G2 0 (Eq. 3.115)
onde,
98
lC12
= lS12
1
p2 0 (Eq. 3.116)
0
Assim,
l && (
&2 1 &2 1 &2 & &
2 m2l S 2θ1 − C2θ1 − 2 θ1 − 2 θ 2 − θ1θ 2 + gm2 S12
)
2
R 0n 2 0
2
(
= 0 × m2l C2θ&&1 + S 2θ&12 + 1 θ&&1 + 1 θ&&2 + gm2C12 +
2
)
0 0
0 0 0 0
0 1 m l2 0 0 (Eq. 3.118)
12 2
0 0 1 m l 2 θ&&1 + θ&&2
12 2
0
= 0
1 m l 2θ&& + 1 m l 2θ&& + 1 m l 2 C θ&& + S θ& 2 + 1 m glC
3 2 1 3 2 2 2 2 2 1 2 1 2 2 12
( )
Para i = 1 tem-se:
1
(
R 0n1 0 =1 R 2 2 R 0n 2 0 + 2 R 0 0 p1 0 × 2 R 0f 2 0 +( )( ))
(R 1
0
0
)(
p1 0 +1 R 0 1 p G1 0 × 1 R 0 FG1 0 +1R 0 N G1 0 ) (Eq. 3.119)
onde,
lC1
= lS1
0
p1 0 (Eq. 3.120)
0
lC2
2 0
R 0 p1 0 = − lS 2 (Eq. 3.121)
0
99
l
1
R 0 0 p1 0 = 0 (Eq. 3.122)
0
Assim,
1
(
R 0n1 0 =1 R 2 2 R 0n 2 0 +1 R 2 ) (( R p )× ( R f ))+
2
0
0
10
2
0 20
× ( R F )+ R N
l
T (Eq. 3.123)
1 1
2 0 0 0 G1 0 0 G1 0
Para i = 2 tem-se:
(
τ 2 = 2 R 0n 2 0 ) ( R z ) = 13 m l θ&& + 13 m l θ&& +
T 2
1 0 2
2
1 2
2
2
(Eq. 3.124)
1 m2l 2C2θ&&1 + 1 m2 glC12 + 1 m2l 2 S 2θ&12
2 2 2
Para i = 1 tem-se:
(
τ 1 = 1 R 0n1 0 ) ( R z ) = 13 m l θ&& + 4 3 m l θ&& + 13 m l θ&& +
T 1
1 0 1
2
1 2
2
1 2
2
2
m2l 2C2θ&&1 + 1 m2l 2C2θ&&2 − m2l 2 S 2θ&1θ&2 − 1 m2l 2 S 2θ&22 + (Eq. 3.125)
2 2
1 m glC + 1 m glC + m glC
2 1 1 2 2 12 2 1
100
4 REFERÊNCIAS
Asada, H., Slotine, J., 1986, “Robot Analysis and Control”, John Wiley and Sons,
New York;
Coiffet, P., 1982, “Les Robôs, Tome 1: Modélisation et commande”, Hermes, Paris;
Fu, K. S., Gonzalez, R. C., Lee, C. S. G., 1987, “Robotics: Control, Sensing, Vision,
and Intelligence”, McGraw-Hill International Editions;
Klafter, R., Chmielewski, T., Negin, M., 1989, “Robotic Engineering, an Integrated
Approach”, Prentice-Hall International Editions, London;
Mendes Lopes, A., 2000, “Um Dispositivo Robótico para Controlo de Força-
Impedância de Manipuladores Industriais”, Tese de Doutoramento, FEUP,
Porto, Portugal;
Nakamura, Y., Hanafusa, H., 1986, “Inverse Kinematic Solutions With Singularity
Robustness for Robot Manipulator Control”, Transactions of the ASME
Journal of Dynamic Systems, Measurement, and Control, September, vol.
108;
Paul, R., 1982, “Robô Manipulators: Mathematics, Programming, and Control”, The
MIT Press series in artificial intelligence”;
Sciavicco, L., Siciliano, B., 1996, “Modeling and Control of Robot Manipulators”,
McGraw-Hill International Editions;
Torby, B., 1984, “Advanced Dynamics for Engineers”, CBS College Publishing, New
York;
Yoshikawa, T., 1990, “Foundations of Robotics, Analysis and Control”, The MIT
Press, Cambridge, Massachusetts;
101