Aula 3
Cinemática Inversa de
Manipuladores Robóticos
Prof. Assoc. Marcelo Becker
USP-EESC-SEM M. Becker © 2
•
Definições
•
Solução Algébrica vs. Geométrica
•
Exemplos em Robôs Industriais
•
Exercícios Recomendados
•
Bibliografia Recomendada
USP-EESC-SEM M. Becker © 3
• Cinemática Inversa:
− Sejam dadas a posição e orientação desejadas para a ferramenta, quais as variáveis de junta do manipulador?
•Aplicação mais importante: – Geração de Trajetórias...
USP-EESC-SEM M. Becker © 4 a n s Ro ll Pi tch Ya w
Definições
Existência de Soluções
• Dada a matriz: • Deseja-se obter: θ1, θ2, ..., θN ! " # $ % & = ! ! ! ! " # $ $ $ $ % & = 1 0 0 0 p a s n 1 0 0 0 p a s n p a s n p a s n T z z z z y y y y x x x x N 0 Pos.USP-EESC-SEM M. Becker ©
• Tomando um Robô com 6 GDLs como exemplo: – 16 elementos na matriz
• Deseja-se obter: θ1, θ2, ..., θ6
– Sendo N=6, temos 6 incógnitas e 12 equações...
5 3 equações de posição 3 equações de rotação independentes Valores triviais
Definições
Existência de Soluções
!
!
!
!
"
#
$
$
$
$
%
&
=
1
0
0
0
p
a
s
n
p
a
s
n
p
a
s
n
T
z z z z y y y y x x x x 6 0 6 6 Equações ñ-lineares e transcendentaisUSP-EESC-SEM M. Becker © 6
– Número de Soluções:
– Pode haver mais de uma solução ou até mesmo, nenhuma (Volume de trabalho)
– Pode ser trabalhosa a solução de equações não lineares...
2 soluções!
Definições
USP-EESC-SEM M. Becker © 7
Múltiplas Soluções
• Problema: Escolher uma solução...
Definições
Existência de Soluções
A1 A2
✓ Solução mais próxima
✓ Obstáculos
✓ Pesos / Cargas
✓ Volume de Trabalho
EESC-USP M. Becker© 8
Definições
Existência de Soluções
• Para o Robô PUMA 560, há 8 soluções para a cinemática inversa...
– As 3 primeiras variáveis de junta (θ1,θ2,θ3) definem posição do braço do robô
– As 3 últimas (θ4,θ5,θ6), a orientação da garra
• 4 soluções para a 3 primeiras juntas:
– Ombro à direita – Ombro à esquerda 180º θ θ θ θ 180º θ θ 6 ' 6 5 ' 5 4 ' 4 + = − = + =
USP-EESC-SEM M. Becker © 9
Quanto maior o número de parâmetros de
Denavit-Hatenberg não nulos, maior o número de possíveis soluções para o robô atingir a posição desejada.
Número de Soluções vs. ai ≠ 0 para um robô com 6 juntas de rotação
Número de Soluções ai Número de Soluções a1 =a3 = a5= 0 ≤ 4 a3 = a5= 0 ≤ 8 a3 = 0 ≤ 16 Todos ai≠ 0 ≤ 16
Robôs com mais de 6 GDLs podem ter
infinita
s soluções!!
Definições
EESC-USP M. Becker© 10
Definições
Existência de Soluções
• Como encontrar as soluções?
– Não há algoritmo genérico → Equações ñ lineares • Deve-se encontrar todas as variáveis de junta!
• Deve-se calcular todas as soluções! – Duas Classes:
• Analíticas: Closed-form solutions
USP-EESC-SEM M. Becker © 11
• Métodos Analíticos
• Obtêm todas as soluções • Não trivial...
• Empregados quando um grande número de parâmetros de Denavit-Hartenberg são nulos! • Dois métodos:
– ALGÉBRICO – GEOMÉTRICO
• Métodos Numéricos Iterativos
• Convergem para solução possível • Estratégias Anti-colisão
• J-1
Definições
USP-EESC-SEM M. Becker © 12 fç de n parâmetros!!
Definições
Existência de Soluções
• E quando GDL = n (< 6)? a n s ! ! ! ! " # $ $ $ $ % & = 1 0 0 0 p a s n p a s n p a s n T z z z z y y y y x x x x n 0• E se a ferramenta for definida por 6 GDL?
– Encontrar a solução “mais próxima” possível da desejada...
USP-EESC-SEM M. Becker © 13
Definições
Existência de Soluções
• E se a ferramenta for definida por 6 GDL?
– Encontrar a solução “mais próxima” possível da desejada...
• Estratégia:
1. Dada 0T
n obter 0Tn*,de modo que seja descrito com
os n parâmetros de junta do manipulador e seja próximo de 0T
n .
2. Aplicar a cinemática inversa a 0T
n* para encontrar
as n variáveis de junta.
✓ Ficar atento com o volume de trabalho do manipulador
USP-EESC-SEM M. Becker © 14
•
Definições
•
Solução Algébrica vs. Geométrica
•
Exemplos em Robôs Industriais
•
Exercícios Recomendados
•
Bibliografia Recomendada
EESC-USP M. Becker© 15
Solução Algébrica
• Para o mecanismo planar de 3 links...
Parâmetros de Denavit-Hartenberg Junta α i ai di θi 1 0o 0 0 θ 1 2 0o L1 0 θ2 3 0o L2 0 θ3 ! ! ! ! " # $ $ $ $ % & = 1 0 0 0 d c s 0 .sθ a cθ s -c cθ c sθ a 0 sθ -cθ T i i i i i i i 1 -i i 1 -i i 1 -i i i i 1 -i α α . α α . α . L3 X0 Y0 x3 Y3 θ1 X 1 Y 1 X2 Y2 L2 θ2 θ3 L1
EESC-USP M. Becker© 16 3 2 2 1 1 0 3 0
T =
T
.
T
.
T
Solução Algébrica
! ! ! ! " # $ $ $ $ % & = 1 0 0 0 d c s 0 .sθ a cθ s -c cθ sθ cθ a s sθ .sθ c -cθ T i i i i i i i i i i i i i i i i i i 1 -i α α . α α . . α . α ! ! ! ! " # $ $ $ $ % & + + = 1 0 0 0 0 1 0 0 s L s L 0 c s c L c L 0 s -c T 123 123 1 1 2 12 12 2 1 1 123 123 3 0 . . . .USP-EESC-SEM M. Becker © 17
Apêndice A: Livro J.J. Craig
Solução Algébrica
• Obs.: uso de Redução Polinomial para resolver equações transcendentais
)
2
θ
tan(
u =
22 u 1 u 1 cosθ + − = 2u
1
2u
senθ
+
=
Eqs. Algébricas: Equações aonde a variável independente pode ser posta em
evidência ou fatorada.
Eqs. Transcendentais: Equações aonde a variável independente não pode ser
EESC-USP M. Becker© 18
Solução Algébrica
! ! ! ! " # $ $ $ $ % & + + = 1 0 0 0 0 1 0 0 s L s L 0 c s c L c L 0 s -c T 123 123 1 1 2 12 12 2 1 1 123 123 3 0 . . . .• Definindo a posição e orientação do 3º link...
X0 Y0 φ (x,y) ! ! ! ! " # $ $ $ $ % & = 1 0 0 0 0 1 0 0 y 0 c s x 0 s -c T3 0 φ φ φ φ 12 2 1 1 12 2 1 1 123 123 s L s L y c L c L x s s c c + = + = = = φ φ
EESC-USP M. Becker© 19
Solução Algébrica
2 2 1 2 2 2 1 2 2 12 2 1 1 12 2 1 1x
y
L
L
2L
L
c
s
L
s
L
y
c
L
c
L
x
+
+
=
+
!
"
#
+
=
+
=
• Assim obtemos as equações algébricas...
2 1 2 1 12 2 1 2 1 12
c
s
s
c
s
s
s
c
c
c
+
=
−
=
• Lembrando que: 2 1 2 2 2 1 2 2 22L
L
L
L
y
x
c
=
+
−
−
2 2 21
c
s
=
±
−
)
c
,
atan2(s
θ
2=
2 2EESC-USP M. Becker© 20
Solução Algébrica
• Dessa forma, para encontrar θ1:
1 2 1 1 1 2 1 1
c
k
s
k
y
s
k
c
k
x
+
=
−
=
2 2 2 2 2 1 1s
L
k
c
L
L
k
=
+
=
2 2 2 1k
k
r
=
+
+
• Sendo:)
k
,
atan2(k
2 1=
γ
γ γγ
γ
r.s
r.sin
k
r.c
r.cos
k
2 1=
=
=
=
EESC-USP M. Becker© 21
Solução Algébrica
• Reescrevendo as equações: 1 2 1 1 1 2 1 1 c k s k y s k c k x + = − = 1 1 1 1c
s
s
c
r
y
s
s
c
c
r
x
γ γ γ γ+
=
−
=
• Então: ) θ sin( r y ) θ cos( r x 1 1 + = + = γ γ(
)
(
)
(
2 1)
1 1 k , k atan2 x y, atan2 θ x y, atan2 r x , r y atan2 ) θ ( − = = " # $ % & ' = + γEESC-USP M. Becker© 22
Solução Algébrica
• Sendo: • Obtém-se:(
)
(
2 1)
1 atan2 y,x atan2 k ,k θ = −)
c
,
atan2(s
θ
2=
2 2 φ φ φ = = + + θ θ atan2(s ,c ) θ1 2 3EESC-USP M. Becker© 23 2 1 2 2 2 1 2 2 2
x
y
2L
L
L
L
c
=
+
−
−
Solução Geométrica
• Para o mesmo mecanismo planar de 3 links...
– Aplicando a lei dos co-senos no ΔABC:
X0 Y0 L2 L1 x y θ2 ) θ cos(180º L 2L -L L y x 2 1 2 2 2 2 1 2 2 − + = + A B C ) cos(θ ) θ cos(180º− 2 = − 2 β ψ θ1 θ3
EESC-USP M. Becker© 24
Solução Geométrica
• Para os ângulos β e ψ... • Assim:x)
atan2(y,
β =
ψ
±
= β
θ
1θ
1+
θ
2+
θ
3=
φ
2 2 1 2 2 2 1 2 2 y x 2L L L y x cos + − + + =USP-EESC-SEM M. Becker © 25
•
Definições
•
Solução Algébrica vs. Geométrica
•
Exemplos em Robôs Industriais
•
Exercícios Recomendados
•
Bibliografia Recomendada
USP-EESC-SEM M. Becker © 26 ) (θ T ). (θ T ). (θ T ). (θ T ). (θ T ). (θ T T 5 6 6 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 6 0 = • Manipulador com 6 GDLs
Exemplo 1
Robô PUMA 560
! ! ! ! " # $ $ $ $ % & = 1 0 0 0 p a s n p a s n p a s n T z z z z y y y y x x x x 6 0[
T
(θ
)
]
.
T
T
(θ
).
T
(θ
).
T
(θ
).
T
(θ
).
5T
6(θ
6)
5 5 4 4 4 3 3 3 2 2 2 1 6 0 1 -1 1 0=
-1USP-EESC-SEM M. Becker © 27
Exemplo 1
Robô PUMA 560
6 1 z z z z y y y y x x x x 1 1 1 1 T 1 0 0 0 p a s n p a s n p a s n 1 0 0 0 0 1 0 0 0 0 c s -0 0 s c = ! ! ! ! " # $ $ $ $ % & ! ! ! ! " # $ $ $ $ % & .[
T
(θ
)
]
.
T
T
(θ
).
T
(θ
).
T
(θ
).
T
(θ
).
5T
6(θ
6)
5 5 4 4 4 3 3 3 2 2 2 1 6 0 1 -1 1 0=
-1USP-EESC-SEM M. Becker © 28
Exemplo 1
Robô PUMA 560
(
4 5 6 4 6)
23 5 6 23 x 1n c . c .c .c s .s s .s .s − − = 6 4 6 5 4 y 1n s .c .c c .s − − =(
4 5 6 4 6)
23 5 6 23 z 1n s . c .c .c s .s c .s .c − − − =(
4 5 6 4 6)
23 5 6 23 x 1s -c . c .c .s s .c s .s .s + − = 6 4 6 5 4 y 1s s .c .s c .c − =(
4 5 6 4 6)
23 5 6 23 z 1s s . c .c .s s .c c .s .s + + = 5 23 5 4 23 x 1a c .c .s s .c − − = 5 4 y 1a = s .s 5 23 5 4 23 z 1a s .c .s c .c − = 2 2 3 23 4 23 x 1p s .d c .a c .a + + − = 3 y 1p = d 2 2 3 23 4 23 z 1p -c .d s .a s .a − − = ! ! ! ! ! " # $ $ $ $ $ % & = 1 0 0 0 p a s n p a s n p a s n T z 1 z 1 z 1 z 1 y 1 y 1 y 1 y 1 x 1 x 1 x 1 x 1 6 1USP-EESC-SEM M. Becker © 29
Exemplo 1
Robô PUMA 560
3 y 1p =
d
! ! ! ! ! " # $ $ $ $ $ % & = ! ! ! ! " # $ $ $ $ % & ! ! ! ! " # $ $ $ $ % & 1 0 0 0 p a s n p a s n p a s n 1 0 0 0 p a s n p a s n p a s n 1 0 0 0 0 1 0 0 0 0 c s -0 0 s c z 1 z 1 z 1 z 1 y 1 y 1 y 1 y 1 x 1 x 1 x 1 x 1 z z z z y y y y x x x x 1 1 1 1 . • Assim:=
−
s
1p
x+
c
1p
y• Faz-se a substituição trigonométrica:
)
p
,
atan2(p
p
p
ρ
x y 2 y 2 x=
+
=
φ
φ φφ
φ
ρ.s
ρ.sen
p
ρ.c
ρ.cos
p
y x=
=
=
=
ondeUSP-EESC-SEM M. Becker © 30
Exemplo 1
Robô PUMA 560
Obtém-se:ρ
d
c
s
s
c
3 1 1 φ−
φ=
y 1 x 1 3s
p
c
p
d
=
−
+
φ φφ
φ
ρ.s
ρ.sen
p
ρ.c
ρ.cos
p
y x=
=
=
=
USP-EESC-SEM M. Becker © 31
Exemplo 1
Robô PUMA 560
• Lembrando a fórmula da diferença de ângulos:
ρ
d
)
θ
sen(
3 1=
−
φ
2 2 3 1)
1
d
ρ
θ
cos(
φ
−
=
±
−
!
!
"
#
$
$
%
&
−
±
=
−
2 2 3 3 1atan2
d
ρ
,
1
d
ρ
θ
φ
(
)
(
2)
3 2 y 2 x 3 x y 1atan2
p
,
p
-
atan2
d
,
p
p
d
θ
=
±
+
−
ρ
d
c
s
s
c
3 1 1 φ−
φ=
USP-EESC-SEM M. Becker © 32
Exemplo 1
Robô PUMA 560
(
4 5 6 4 6)
23 5 6 23 x 1n c . c .c .c s .s s .s .s − − = 6 4 6 5 4 y 1n s .c .c c .s − − =(
4 5 6 4 6)
23 5 6 23 z 1n s . c .c .c s .s c .s .c − − − =(
4 5 6 4 6)
23 5 6 23 x 1s -c . c .c .s s .c s .s .s + − = 6 4 6 5 4 y 1s s .c .s c .c − =(
4 5 6 4 6)
23 5 6 23 z 1s s . c .c .s s .c c .s .s + + = 5 23 5 4 23 x 1a c .c .s s .c − − = 5 4 y 1a = s .s 5 23 5 4 23 z 1a s .c .s c .c − = 2 2 3 23 4 23 x 1p s .d c .a c .a + + − = 3 y 1p = d 2 2 3 23 4 23 z 1p -c .d s .a s .a − − = ! ! ! ! ! " # $ $ $ $ $ % & = 1 0 0 0 p a s n p a s n p a s n T z 1 z 1 z 1 z 1 y 1 y 1 y 1 y 1 x 1 x 1 x 1 x 1 6 1*
USP-EESC-SEM M. Becker © 33
Exemplo 1
Robô PUMA 560
! ! ! ! ! " # $ $ $ $ $ % & = ! ! ! ! " # $ $ $ $ % & ! ! ! ! " # $ $ $ $ % & 1 0 0 0 p a s n p a s n p a s n 1 0 0 0 p a s n p a s n p a s n 1 0 0 0 0 1 0 0 0 0 c s -0 0 s c z 1 z 1 z 1 z 1 y 1 y 1 y 1 y 1 x 1 x 1 x 1 x 1 z z z z y y y y x x x x 1 1 1 1 . • Agora: • Assim:c
1p
x+
s
1p
y=
1p
x=
−
s
23.d
4+
c
23.a
3+
c
2.a
2 2 2 3 23 4 23 z 1 zp
c
.d
s
.a
s
.a
p
=
=
+
+
−
USP-EESC-SEM M. Becker © 34
Exemplo 1
Robô PUMA 560
• Logo: • Onde:K
.a
c
.d
s
3 4+
3 3=
−
2 2 4 2 3 2 3 2 2 2 z 2 y 2 x2a
d
d
a
a
p
p
p
K
=
+
+
−
−
−
−
(
3 4)
(
32 42 2)
3atan2
a
,
d
-
atan2
K,
a
d
K
θ
=
±
+
−
• Seguindo o mesmo método de solução trigonométrica:
USP-EESC-SEM M. Becker © 35
Exemplo 1
Robô PUMA 560
• Para obter θ2: ) (θ T ). (θ T ). (θ T ). (θ T ). (θ T ). (θ T T 5 6 6 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 6 0 =[
T (θ )]
. T T (θ ). T (θ ).5T6(θ6) 5 5 4 4 4 3 6 0 1 -2 3 0 = 6 3 z z z z y y y y x x x x 3 1 1 3 2 23 23 1 23 1 3 2 23 23 1 23 1 T 1 0 0 0 p a s n p a s n p a s n . 1 0 0 0 d -0 c s -s a c -s s -s c -c a -s -c s c c = ! ! ! ! " # $ $ $ $ % & ! ! ! ! " # $ $ $ $ % &USP-EESC-SEM M. Becker © 36
Exemplo 1
Robô PUMA 560
6 4 6 5 4 x 3n c .c .c s .s − = 6 5 y 3n = s .c 6 4 6 5 4 z 3n s .c .c c .s − − = 6 4 6 5 4 x 3s c .c .s s .c − − = 6 5 y 3s = -s .s 6 4 6 5 4 z 3s s .c .s c .c − = 5 4 x 3a c .s − = 5 y 3a = c 5 4 z 3a = s .s 3 x 3p = a 4 y 3p = d 0 pz 3 = ! ! ! ! ! " # $ $ $ $ $ % & = 1 0 0 0 p a s n p a s n p a s n T z 3 z 3 z 3 z 3 y 3 y 3 y 3 y 3 x 3 x 3 x 3 x 3 6 3*
USP-EESC-SEM M. Becker © 37
Exemplo 1
Robô PUMA 560
• Assim: ! ! ! ! ! " # $ $ $ $ $ % & = ! ! ! ! " # $ $ $ $ % & ! ! ! ! " # $ $ $ $ % & 1 0 0 0 p a s n p a s n p a s n 1 0 0 0 p a s n p a s n p a s n . 1 0 0 0 d -0 c s -s a c -s s -s c -c a -s -c s c c z 3 z 3 z 3 z 3 y 3 y 3 y 3 y 3 x 3 x 3 x 3 x 3 z z z z y y y y x x x x 3 1 1 3 2 23 23 1 23 1 3 2 23 23 1 23 1 3 3 2 z 23 y 23 1 x 23 1c
p
s
c
p
s
p
a
c
a
c
+
−
−
=
4 3 2 z 23 y 23 1 x 23 1s
p
s
s
p
c
p
a
s
d
c
-
−
−
+
=
USP-EESC-SEM M. Becker © 38
• Resolvendo o sistema de equações:
3 3 2 z 23 y 23 1 x 23 1c p s c p s p a c a c + − − = 4 3 2 z 23 y 23 1 x 23 1s p s s p c p a s d c - − − + =
Exemplo 1
Robô PUMA 560
2 y 1 x 1 2 z 4 3 2 y 1 x 1 z 3 2 3 23 p (c p s p ) ) d s )(a p s p (c )p c a -(-a s + + − + + = 2 y 1 x 1 2 z 3 3 2 y 1 x 1 z 4 3 2 23 p (c p s p ) ) a c )(a p s p (c )p d -s (a c + + + + − =USP-EESC-SEM M. Becker © 39
• Como os denominadores são iguais e positivos:
Exemplo 1
Robô PUMA 560
2 y 1 x 1 2 z 4 3 2 y 1 x 1 z 3 2 3 23 p (c p s p ) ) d s )(a p s p (c )p c a -(-a s + + − + + = 2 y 1 x 1 2 z 3 3 2 y 1 x 1 z 4 3 2 23 p (c p s p ) ) a c )(a p s p (c )p d -s (a c + + + + − = )] a c )(a p s p (c )p d -s (a ),... s a -)(d p s p (c )p c a -atan2[(-a θ 3 3 2 y 1 x 1 z 4 3 2 3 2 4 y 1 x 1 z 3 2 3 23 + + − + − =USP-EESC-SEM M. Becker © 40 • Assim:
Exemplo 1
Robô PUMA 560
)] a c )(a p s p (c )p d -s (a ),... s a -)(d p s p (c )p c a -atan2[(-a θ 3 3 2 y 1 x 1 z 4 3 2 3 2 4 y 1 x 1 z 3 2 3 23 + + − + − = 3 23 2θ
θ
θ
=
−
a n s θ1 θ2 θ3 x y zUSP-EESC-SEM M. Becker © 41
Exemplo 1
Robô PUMA 560
6 4 6 5 4 x 3n c .c .c s .s − = 6 5 y 3n = s .c 6 4 6 5 4 z 3n s .c .c c .s − − = 6 4 6 5 4 x 3s c .c .s s .c − − = 6 5 y 3s = -s .s 6 4 6 5 4 z 3s s .c .s c .c − = 5 4 x 3a c .s − = 5 y 3a = c 5 4 z 3a = s .s 3 x 3p = a 4 y 3p = d 0 pz 3 = ! ! ! ! ! " # $ $ $ $ $ % & = 1 0 0 0 p a s n p a s n p a s n T z 3 z 3 z 3 z 3 y 3 y 3 y 3 y 3 x 3 x 3 x 3 x 3 6 3*
*
*
USP-EESC-SEM M. Becker © 42
Exemplo 1
Robô PUMA 560
• Assim, para obter θ4:
! ! ! ! ! " # $ $ $ $ $ % & = ! ! ! ! " # $ $ $ $ % & ! ! ! ! " # $ $ $ $ % & 1 0 0 0 p a s n p a s n p a s n 1 0 0 0 p a s n p a s n p a s n . 1 0 0 0 d -0 c s -s a c -s s -s c -c a -s -c s c c z 3 z 3 z 3 z 3 y 3 y 3 y 3 y 3 x 3 x 3 x 3 x 3 z z z z y y y y x x x x 3 1 1 3 2 23 23 1 23 1 3 2 23 23 1 23 1 5 4 z 23 y 23 1 x 23 1
c
a
s
c
a
s
a
c
s
c
+
−
=
−
5 4 y 1 x 1a
c
a
s
s
s
-
+
=
USP-EESC-SEM M. Becker © 43
• Resolvendo o sistema de equações para θ5 ≠ 0:
Exemplo 1
Robô PUMA 560
)]
s
a
c
s
a
-c
c
(-a
),
c
a
s
atan2[(-a
θ
4=
x 1+
y 1 x 1 23 y 1 23+
z 23 5 4 z 23 y 23 1 x 23 1c
a
s
c
a
s
a
c
s
c
+
−
=
−
5 4 y 1 x 1a
c
a
s
s
s
-
+
=
USP-EESC-SEM M. Becker © 44
Exemplo 1
Robô PUMA 560
• Para obter θ5: ) (θ T ). (θ T ). (θ T ). (θ T ). (θ T ). (θ T T 5 6 6 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 6 0 =[
T (θ )]
. T T (θ ).5T6(θ6) 5 5 4 6 0 1 -4 4 0 = 6 4 z z z z y y y y x x x x 4 3 2 23 23 1 23 1 4 3 4 3 4 3 2 4 23 4 1 4 23 1 4 1 4 23 1 4 3 4 3 4 3 2 4 23 4 1 4 23 1 4 1 4 23 1 T 1 0 0 0 p a s n p a s n p a s n . 1 0 0 0 d -s a c -s s -s c -s a c d s c a s s -c c s c s -c s s s c -c a s d c c a -c s -s c c c s s s c c c = ! ! ! ! " # $ $ $ $ % & ! ! ! ! " # $ $ $ $ % & + + − + − + − +USP-EESC-SEM M. Becker © 45
Exemplo 1
Robô PUMA 560
6 5 x 4n = c .c 6 y 4n = s 6 5 z 4n = s .c 6 5 x 4s c .s − = 6 y 4s = c 6 5 z 4s s .s − = 5 x 4a s − = 0 ay 4 = 5 z 4a = c 0 px 4 = 0 py 4 = 0 pz 4 = ! ! ! ! ! " # $ $ $ $ $ % & = 1 0 0 0 p a s n p a s n p a s n T z 4 z 4 z 4 z 4 y 4 y 4 y 4 y 4 x 4 x 4 x 4 x 4 6 4*
*
*
*
USP-EESC-SEM M. Becker © 46
Exemplo 1
Robô PUMA 560
• Para θ5: 6 4 z z z z y y y y x x x x 4 3 2 23 23 1 23 1 4 3 4 3 4 3 2 4 23 4 1 4 23 1 4 1 4 23 1 4 3 4 3 4 3 2 4 23 4 1 4 23 1 4 1 4 23 1 T 1 0 0 0 p a s n p a s n p a s n . 1 0 0 0 d -s a c -s s -s c -s a c d s c a s s -c c s c s -c s s s c -c a s d c c a -c s -s c c c s s s c c c = ! ! ! ! " # $ $ $ $ % & ! ! ! ! " # $ $ $ $ % & + + − + − + − + 5 4 23 z 4 1 4 23 1 y 4 1 4 23 1 x(c
c
c
s
s
)
a
(s
c
c
c
s
)
a
(s
c
)
s
a
+
+
+
−
=
−
• Assim: 5 23 z 23 1 y 23 1 x(
c
s
)
a
(
s
s
)
a
(-c
)
c
a
−
+
−
+
=
USP-EESC-SEM M. Becker © 47
Exemplo 1
Robô PUMA 560
• Assim:)
c
(s
a
)
s
c
c
c
(s
a
)
s
s
c
c
(c
-a
s
5=
x 1 23 4+
1 4−
y 1 23 4+
1 4+
z 23 4 • Onde:)
(-c
a
)
s
s
(
a
)
s
c
(
a
c
5=
x−
1 23+
y−
1 23+
z 23)
c
,
atan2(s
θ
5=
5 5USP-EESC-SEM M. Becker © 48
Exemplo 1
Robô PUMA 560
• Para obter θ6: ) (θ T ). (θ T ). (θ T ). (θ T ). (θ T ). (θ T T 5 6 6 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 6 0 =[
T (θ )]
. T 5T6(θ6) 6 0 1 -5 5 0 = 6 5 z z z z y y y y x x x x 4 3 2 23 23 1 23 1 4 3 4 3 4 3 2 4 23 4 1 4 23 1 4 1 4 23 1 4 3 4 3 4 3 2 4 23 4 1 4 23 1 4 1 4 23 1 T 1 0 0 0 p a s n p a s n p a s n . 1 0 0 0 d -s a c -s s -s c -s a c d s c a s s -c c s c s -c s s s c -c a s d c c a -c s -s c c c s s s c c c = ! ! ! ! " # $ $ $ $ % & ! ! ! ! " # $ $ $ $ % & + + − + − + − +USP-EESC-SEM M. Becker © 49
Exemplo 1
Robô PUMA 560
6 5 x 4n = c .c 6 y 4n = s 6 5 z 4n = s .c 6 5 x 4s c .s − = 6 y 4s = c 6 5 z 4s s .s − = 5 x 4a s − = 0 ay 4 = 5 z 4a = c 0 px 4 = 0 py 4 = 0 pz 4 = ! ! ! ! ! " # $ $ $ $ $ % & = 1 0 0 0 p a s n p a s n p a s n T z 4 z 4 z 4 z 4 y 4 y 4 y 4 y 4 x 4 x 4 x 4 x 4 6 4*
*
*
*
*
*
USP-EESC-SEM M. Becker © 50
Exemplo 1
Robô PUMA 560
• Para obter θ5 e θ6: ) (θ T ). (θ T ). (θ T ). (θ T ). (θ T ). (θ T T 5 6 6 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 6 0 =[
T (θ )]
. T T (θ ).5T6(θ6) 5 5 4 6 0 1 -4 4 0 = 6 4 z z z z y y y y x x x x 4 3 2 23 23 1 23 1 4 3 4 3 4 3 2 4 23 4 1 4 23 1 4 1 4 23 1 4 3 4 3 4 3 2 4 23 4 1 4 23 1 4 1 4 23 1 T 1 0 0 0 p a s n p a s n p a s n . 1 0 0 0 d -s a c -s s -s c -s a c d s c a s s -c c s c s -c s s s c -c a s d c c a -c s -s c c c s s s c c c = ! ! ! ! " # $ $ $ $ % & ! ! ! ! " # $ $ $ $ % & + + − + − + − +USP-EESC-SEM M. Becker © 51
•
Definições
•
Solução Algébrica vs. Geométrica
•
Exemplos em Robôs Industriais
•
Exercícios Recomendados
•
Bibliografia Recomendada
USP-EESC-SEM M. Becker © 52
Exercícios Recomendados
• Exercícios:
– Livro do Craig (2005): pp. 128-134
USP-EESC-SEM M. Becker © 53
•
Definições
•
Solução Algébrica vs. Geométrica
•
Exemplos em Robôs Industriais
•
Exercícios Recomendados
•
Bibliografia Recomendada
USP-EESC-SEM M. Becker © 54
Bibliografia Recomendada
• Craig, J.C., 2005, Introduction to Robotics: Mechanics
and Control, 3rd Edition, Pearson Education Inc., ISBN
0-201-54361-3
• Paul, R. P., 1981, Robot Manipulators. Mathematics,
Programming and Control, The MIT Press.
• Fu, K.S., Gonzales, R.C., and Lee, C.S.G., 1987,
Robotics: Control, Sensing, Vision, and Intelligence,
McGraw-Hill Int. Editions, ISBN 0-07-100421-1.