Vous êtes sur la page 1sur 43

Robotica e Automacao

http://www.coep.ufrj.br/gscar 1/43

Cinematica Direta
Fernando Lizarralde
DEL-POLI/UFRJ e PEE-COPPE/UFRJ

JJ
II
J
I
Rio de Janeiro, 10 de setembro de 2009
Voltar
Fechar
Cinematica Direta
2/43
Um robo e composto por juntas de revolucao e/ou prismaticas que unem
elos rgidos formando uma cadeia cinematica.

Junta 2

Junta 3

Elo 2

Junta 1
Junta 4
Elo 1
Elo 3

Elo 4

Elo 0

JJ
Um extremo da cadeia esta fixada a base, entanto que a outra termina II
no efetuador. J
Cada junta adiciona um grau de mobilidade e esta associado a uma I
variavel de junta (angulo ou deslocamento). Voltar
Fechar
O objetivo da cinematica direta e calcular a posicao e orientacao do
efetuador (com relacao a um sistema de coordenadas fixo) em funcao
das variaveis das juntas.
Dado um manipulador 3/43

onde JJ
Eb = [~xb, ~yb, ~zb] e o sistema de coordenadas da base, e II
J
Ee = [~n, ~s, ~a] e o sistema de coordenadas do efetuador I
a: approach s: slide n: normal Voltar
Fechar
Podemos representar a configuracao do sistema de coordenadas do efe-
tuador como

  1
ne() se() ae() pbe() 4/43

Tbe() = com = ..2 IRn
0 0 0 1 .
n

Uma primeira ideia para calcular a cinematica direta e analisar a geo-


metria de estrutura do sistema robotico.

JJ
II
J
I
Voltar
Fechar
Exemplo: Considere um manipulador planar de 2 elos

5/43

Utilizando conceitos basicos de trigonometria pode-se determinar a ci-


nematica direta deste manipulador:

0 s12 c12 a1c1 + a2c12
 
0 c12 s12 a1s1 + a2s12 Rbe pbe

Tbe() = =
1 0 0 0 0 1
0 0 0 1 JJ
II
onde J
c1 = cos(1), s1 = sin(1), I
c12 = cos(1 + 2), s12 = sin(1 + 2). Voltar
Fechar
Cadeia Cinematica Aberta
6/43
Considere a seguinte cadeia cinematica constituda por n + 1 elos,
numerados de 0 ate n comecando com o elo 0 sendo a base. Os elos
sao unidos por juntas numeradas de 1 ate n.

En1
T12

E2

T01
En

E1

E0
JJ
T0n
II
J
I
Voltar
Fechar
Considerando que cada junta possui um grau de mobilidade associado
a uma variavel de junta, temos que
T0n() = T01(1) T12(2) Tn1,n(n)
7/43
Portanto a transformacao homogenea descrevendo a posicao e orientacao
do efetuador com respeito a base do manipulador e dada por:
Tbe() = Tb0 T0n() Tne
O espaco definido por e chamado de espaco das juntas.
T1n

En
T01

E1

Tb0 Ee JJ
E0 II
J
Eb
I
Tbe
Voltar
Fechar
LEMBRETE: a junta i une o elo i1 ao elo i. O sistema de coordenadas
Ei e solidario ao elo i.
Uma forma recursiva utilizando a translacao e a orientacao entre juntas
~ i1,i e Ri1,i e dada por (escolha livre dos frames):
vizinhas, L 8/43

JJ
II
J
I
~i = L
L ~ i1 + L
~ i1,i ; Ei = Ei1 Ri1,i Voltar
Fechar
Exemplo: Manipulador SCARA (RRPR)

9/43

Cinematica rotacional:

E1 = E0 R01
E2 = E1 R12 JJ
E3 = E2 R23 II
J
E4 = E3 R34 I
E5 = E4 R45 = E5 = E0 R01 R12 R23 R34 R45 Voltar
Fechar
onde
c1 s1 0
z0 1
R01 = e = s1 c 1 0 ;
0 0 1
10/43

c2 s2 0
R12 = ez12 = s2 c 2 0 ;
0 0 1

c4 s4 0
R34 = ez34 = s4 c 4 0 ;
0 0 1

R23 = R45 = I
JJ
II
J
I
Voltar
Fechar
Cinematica Translacional:
~ 05 = L
L ~ 01 + L
~ 12 + L
~ 23 + L
~ 34 + L
~ 45

onde 11/43

~ 01
L = d0 ~z0
~ 12
L = l1 ~y1 + d1 ~z1
~ 23
L = l2 ~y2
~ 34
L = d3 ~z3
~ 45
L = d4 ~z4

e consequentemente no sistema de coordenadas 0:


~ 05)0 = d0(~z0)0 + l1(~y1)0 + d1(~z1)0 + l2(~y2)0 d3(~z3)0 d4(~z4)0
(L JJ
~ 05)0 = d0(~z0)0 + l1R01(~y1)1 + d1R01(~z1)1 + l2R02(~y2)2
(L II
d3R03(~z3)3 d4R04(~z4)4 J
I
Voltar
Fechar

0 0 0 0
~ 05)0 = d0 0 + l1R01 1 + d1R01 0 + l2R01R12 1
(L
1 0 1 0 12/43

0 0
d3R01R12R23 0 d4R01R12R23R34 0
1 1

l1s1 l2s12
= l1c1 + l2c12 d3 = d1 + 3
d0 + d1 d3 d4

Entao
c124 s124 0 l1s1 l2s12
s

c 0 l1c1 + l2c12
JJ
T05 = 124 124

0 0 1 d0 3 d4

II
0 0 0 1 J
I
Voltar
Fechar
Enfoque por Produto de Exponenciais
13/43
Cinematica direta de uma cadeia aberta.

Procedimento:
1. Coloque a cadeia aberta na configuracao zero (voce escolhe !)
2. Escolha a origem do sistema de coordenadas i ao longo do eixo de
rotacao da junta i, i.e., ~zi
3. Exprima ~zi e L~ i1,i no sistema de coordenada E0
4. Aplique as equacoes de calculo da Cinematica Direta JJ
Exerccio: Calcule a cinematica direta do manipulador RHINO (6 DOF II
- PRRRRR). J
I
Voltar
Fechar
h3 h4 h5

h6
O3
O4 O5 O6
z h2

O0 y h1
14/43
O1, O2
x

Na configuracao zero tem-se


~h1 = ~h6 = ~y ; ~h2 = ~z; ~h3 = ~h4 = ~h5 = ~x

Cinematica rotacional:

R06 = R01 R12 R23 R34 R45 R56

onde
c2 s2 0 JJ
z2 II
R01 = I; R12 = e = s2 c 2 0 ;
0 0 1 J
I
Voltar
Fechar

1 0 0 1 0 0
x3 x4
R23 = e = 0 c 3 s3 ; R34 = e = 0 c 4 s4
0 s3 c3 0 s4 c4 15/43


1 0 0 c 6 0 s6
R45 = ex5 = 0 c 5 s5 ; R56 = ey6 = 0 1 0
0 s5 c5 s6 0 c6

Cinematica Translacional:
~ 06 = L
L ~ 01 + L
~ 12 + L
~ 23 + L
~ 34 + L
~ 45 + L
~ 56

onde
JJ
~ 01 = (l1 + 1) ~y ;
L ~ 12 = 0;
L II
J
~ 23 = l2 ~z2;
L ~ 34 = l3 ~y3;
L I
~ 45 = l4 ~y4;
L ~ 56 = l5 ~y5;
L Voltar
Fechar
~ 12 = 0):
e consequentemente no sistema de coordenadas 0 (R01 = I, L
~ 06)0 = (l1+1)(~y )0+l2R02 (~z2)2+l3R03 (~y3)3+l4R04 (~y4)4+l5R05 (~y5)5
(L
16/43

0 0
~ 06)0 = (l1 + 1) 1 + l2R12 0 +
(L
0 1

0
+R12 (l3R23 + l4R24 + l5R25) 1
0

?
= l1 + 1 +
l2 + JJ
II
J
I
Voltar
Fechar
Parametros de Denavit-Hartenberg
17/43
A escolha sistematica de coordenadas simplifica a obtencao da cinematica
direta de um sistema robotico.
Neste sentido a convencao de Denavit Hartenberg e a mais popular.
Infelizmente existem duas versoes:
1. DH Standard: livros de Siciliano&Sciavicco, Spong&Vidyasagar, etc.
2. DH Modificado: livro de Craig, NASA JPL, etc.

No Robot Toolbox sao consideradas as duas versoes.

A ideia por traz desta convencao pode ser retratada na seguinte figura: JJ
II
J
I
Voltar
Fechar
Conceito de DH

18/43

1. Definir a normal comum ~ai1 entre ~hi1 e ~hi.


2. Definir JJ
Ois : intersecao entre ~hi e ~ai1 II
J
Om : intersecao entre ~hi e ~ai
i I
Voltar
Fechar
3. Entao tem-se que
~hi1 ~hi
~hi = ei1~ai1 ~hi1 com ~ai1 =
~hi1 ~hi

19/43

onde i1 e o angulo de rotacao ao redor ~ai1.


4. Dado que
~hi ~hi+1 ~
~ai = = ~ai = eihi ~ai1
~hi ~hi+1

onde i e o angulo de rotacao ao redor ~hi.

5. Definindo um sistema de coordenadas como {~ai, ~hi}, a propagacao JJ


de {~ai1, ~hi1} para {~ai, ~hi} e parametrizada atraves de i e i1. II
J
I
Voltar
Fechar
6. Para a translacao, definindo
ci: distancia entre Ois e Oim ao longo de ~hi
m
bi: distancia entre Oi1 e Ois ao longo de ~ai1
20/43
Escolhendo Ois como a origem do Frame i, o vetor entre Oi1
s
e Ois
~ si1,i = ci1 ~hi1 + bi ~ai1
L Standard

Ou, escolhendo Oim como a origem do Frame i, o vetor entre Oi1


m

e Oim
~m
L ai1 + ci ~hi Modificado
i1,i = bi ~

Portanto para representa a transformacao do sistema de coordenada


i 1 para o i sao necessarios 4 parametros (bi, ci, i, i).
JJ
Mais especificamente para as duas versoes temos: II
J
I
Voltar
Fechar
DH Standard
1. i = 0, , n 1
2. ~zi = ~hi+1 (i.e. no eixo da junta i + 1)
21/43
3. ~xi = ~ai
4. Ei = [~xi ~zi ~xi ~zi]
5. Origem Oi na intersecao entre ~ai e ~hi+1: Oi+1
s

6. i = i i = i
7. ai = bi+1 di = ci
8. Parametros (ai, di, i, i)
~ i1,i = di~zi1 + ai~xi
9. L JJ
II
10. Ei = ei~xi ei~zi1Ei1 = Ri1,i = exp(zi1i) exp(xii)
| {z } J
Ei0 I
Voltar
Fechar
DH Standard

22/43

JJ
II
onde i = Vi. J
I
Voltar
Fechar
DH Modificado
1. i = 1, , n
2. ~zi = ~hi (i.e. no eixo da junta i)
23/43
3. ~xi = ~ai
4. Ei = [~xi ~zi ~xi ~zi]
5. Origem Oi na intersecao entre ~ai e ~hi: Oim

6. i = i i = i
7. ai1 = bi di = ci
8. Parametros (ai, di, i, i)
~ i1,i = ai1~xi1 + di~zi
9. L JJ
II
10. Ei = ei~ziei1~xi1Ei1 = Ri1,i = exp(xii1) exp(zii)
J
I
Voltar
Fechar
DH Modificado

24/43

JJ
II
J
I
Voltar
Fechar
Comentarios sobre a normal comum
Normal comum entre ~zi e ~zi1:suponha uma linha que une as linhas
definidas pela direcao dos eixos ~zi1 a ~zi. A normal comum e a linha
de menor distancia. 25/43

Resumindo, a normal comum entre duas linhas e a linha contendo o


segmento de mnima distancia entre as duas linhas.

Se as duas linhas nao sao coplanares o segmento e unico.

Se as duas linhas sao coplanares existem dois casos:


1. linhas paralelas: existem infinitas solucoes que definem a mnima
distancia. Neste caso colocamos Oi na junta i
2. linhas que interceptam: e a normal ao plano definido pelas duas JJ
linhas. A direcao e arbitraria. II
J
I
Voltar
Fechar
Convencao de Denavit-Hartenberg Standard
1. O vetor ~zi corresponde a junta i + 1.
2. Colocar a origem Oi onde a normal comum entre ~zi e ~zi1 intercepta
26/43
~zi.
Se ~zi e ~zi1 interceptam colocar Oi na interseccao.
Se ~zi e ~zi1 sao paralelas colocar Oi na junta i + 1.
3. Definir ~xi ao longo da normal comum a ~zi e ~zi1.
Se ~zi e ~zi1 interceptam escolher a direcao normal ao plano definido
por ~zi e ~zi1. A direcao e arbitraria.
Parametros de Denavit Hartenberg Standard
1. ai: distancia entre ~zi1 e ~zi ao longo de ~xi
JJ
2. i: angulo entre ~zi1 e ~zi ao redor de ~xi II
3. di: distancia entre ~xi1 e ~xi ao longo de ~zi1 J
I
4. i: angulo entre ~xi1 e ~xi ao redor de ~zi1
Voltar
Fechar
A tabela com os parametros deve ser formada da seguinte forma:

Elo i ai i di i
1 27/43
2
3
4
5

JJ
II
J
I
Voltar
Fechar
Convencao de Denavit-Hartenberg Modificada
1. O vetor ~zi corresponde a junta i.
2. Colocar a origem Oi onde a normal comum entre ~zi e ~zi+1 intercepta
28/43
~zi.
Se ~zi e ~zi+1 interceptam colocar Oi na interseccao.
Se ~zi e ~zi+1 sao paralelas colocar Oi na junta i.
3. Definir ~xi ao longo da normal comum a ~zi e ~zi+1.
Se ~zi e ~zi+1 interceptam escolher a direcao normal ao plano definido
por ~zi e ~zi+1. A direcao e arbitraria.
Parametros de Denavit Hartenberg Modificado
1. ai: distancia entre ~zi e ~zi+1 ao longo de ~xi
JJ
2. i: angulo entre ~zi e ~zi+1 ao redor de ~xi II
3. di: distancia entre ~xi1 e ~xi ao longo de ~zi J
I
4. i: angulo entre ~xi1 e ~xi ao redor de ~zi Voltar
Fechar
A tabela com os parametros deve ser formada da seguinte forma:

Elo i ai1 i1 di i
1 29/43
2
3
4
5

Algumas Consideracoes
Dos 4 parametros, tem-se que ai e i sao constantes e dependendo da
geometria da junta um dos restantes e variavel:
1. junta prismatica di variavel JJ
II
2. Junta de revolucao i variavel J
I
Exemplo: Parametros de DH standard e Modificado do PUMA 560. Voltar
Fechar
Transformacao Homogenea Ti1,i
30/43
DH standard
A parte rotacional, i.e. a orientacao do sistema de coordenada Ei com
relacao a Ei1, e dada pela matriz de rotacao Ri1,i.
Como foi visto anteriormente, na convencao DH standard, esta rotacao
pode ser decomposta em 2 rotacoes elementares ao redor do sistemas
de coordenadas corrente:
Ri1,i = Rz (i) Rx(i)
isto e,
JJ
II
ci si 0 1 0 0 ci sici sisi J
Ri1,i = si ci 0
0 ci si = si cici cisi
I
0 0 1 0 si ci 0 si ci Voltar
Fechar
Por outro lado, a parte translacional e dada por
~ i1,i = di ~zi1 + ai ~xi
L

Podemos representar esta distancia no sistema de coordenadas i 1: 31/43

~ i1,i)i1 = di (~zi1)i1 + ai (~xi)i1


(L
| {z }
Ri1,i (~xi )i


0 1
~ i1,i)i1
(L = di (~zi1)i1 + ai Ri1,i (~xi)i = di 0 + ai Ri1,i 0
1 0

aici
~ i1,i)i1 = aisi
(L JJ
di II
J
Note que o vetor nao e constante. I
~ i1,i)i e mostre que e um vetor constante.
Exerccio: Calcule (L Voltar
Fechar
Portanto, a transformacao homogenea Ti1,i e dada por

ci sici sisi aici
si cici cisi aisi

Ti1,i = 32/43
0 si ci di

0 0 0 1

Finalmente, temos que a posicao e orientacao do efetuador e dada por:


n1
X
p~n1 = ~ i1,i
L
0
R1,n1 = R1,0 Rn2,n1

JJ
II
J
I
Voltar
Fechar
DH Modificado
A parte rotacional, i.e. a orientacao do sistema de coordenada Ei com
relacao a Ei1, e dada pela matriz de rotacao Ri1,i.
Como foi visto anteriormente, na convencao DH modificada, esta rotacao 33/43

pode ser decomposta em 2 rotacoes elementares ao redor do sistemas


de coordenadas corrente:

Ri1,i = Rx(i1) Rz (i)

isto e,

1 0 0 ci si 0
Ri1,i = 0 ci1 si1 si ci 0
0 si1 ci1 0 0 1
JJ
ci si 0 II
= ci1si cici1 si1 J
si1si si1ci ci1 I
Voltar
Fechar
Por outro lado, a parte translacional e dada por
~ i1,i = ai1 ~xi1 + di ~zi
L

Podemos representar esta distancia no sistema de coordenadas i 1: 34/43

~ i1,i)i1 = ai (~xi1)i1 + di (~zi)i1


(L
| {z }
Ri1,i (~zi )i

1 0 ai1
~ i1,i)i1
(L = ai 0 + di Ri1,i 0 = disi1
0 1 dici1
Note que o vetor e constante.
Entao a transformacao homogenea Ti1,i e dada por:
JJ

ci si 0 ai1
II
c s cici1 si1 disi1

Ti1,i = i1 i J

si1si si1ci ci1 dici1

I
0 0 0 1 Voltar
Fechar
Finalmente, temos que a posicao e orientacao do efetuador e dada por:
n
X
p~n = ~ i1,i
L
1
35/43
R0,n = R01 Rn1,n

JJ
II
J
I
Voltar
Fechar
Espaco das Juntas e Espaco Operacional
36/43
Como vimos ate agora a cinematica direta consiste em determinar a
posicao e orientacao do efetuador (com respeito ao sistema de coorde-
nadas da base) em funcao dos angulos das juntas.
Se uma tarefa e especificada em funcao da posicao e orientacao do
efetuador (possivelmente em funcao do tempo), teramos um problema.
Dado que, entanto a posicao e bastante simples, especificar a orientacao
e uma tarefa difcil (9 parametros + 6 restricoes).
O procedimento pode ser simplificado utilizando uma representacao
mnima da orientacao ou mesmo o quaternion.
Desta forma e possvel representar a configuracao do efetuador com JJ
respeito a base como: II
 
p J
x= I

Voltar
Fechar
onde p e a posicao, e uma representacao da orientacao.
Entao x IRm define o espaco operacional.
Por outro lado o espaco das juntas e definido por
37/43
1
= ...
n

Com base nestas definicoes a cinematica direta pode ser expressa como

x = k()

onde k() e uma funcao nao linear.


Exemplo: Considere um manipulador planar de 3 elos:
JJ

px a1c1 + a2c12 + a3c123
x = py = k() = a1s1 + a2s12 + a3s123 II
1 + 2 + 3 J
I
Voltar
Fechar
Espaco de Trabalho
38/43
E definido como o conjunto de configuracoes do efetuador que podem
ser atingidas com alguma escolha de :

WR = {p() : }

onde e o espaco definido pelas possveis valores de , dados por

im i M i

JJ
II
J
I
Voltar
Fechar
Espaco de trabalho de alguns manipuladores

39/43

Manipulador Cartesiano Manipulador Cilndrico

JJ
II
J
I
Voltar
Fechar
40/43

Manipulador Esferico Manipulador SCARA

JJ
II
J
Manipulador Antropomorfico I
Voltar
Fechar
Exemplo: Considere um manipulador planar de 2 elos.

No espaco das juntas, os valores dos angulos das juntas fica limitada
a regiao definida pelos angulos maximos e mnimos das juntas 1 e 2
(quadrado {b, c, e, f }). 41/43

JJ
II
J
I
Voltar
Fechar
O espaco de trabalho pode ser determinado:

42/43

JJ
II
J
I
Voltar
Fechar
Redundancia Cinematica
43/43
O manipulador e redundante quando o numero de graus de mobilidade
e maior que a quantidade de variaveis (graus de liberdade) necessarias
para descrever uma tarefa.
Dado que considera-se que cada junta adiciona somente um grau de
mobilidade, um manipulador de n juntas tem n grau de mobilidade.
Desta forma considerando uma tarefa com m graus de liberdade, um
manipulador e redundante se:

m<n

Neste caso, uma dada configuracao do manipulador pode ser atingida JJ


II
com diversos valores de juntas (em geral infinitos).
J
I
Voltar
Fechar