Você está na página 1de 50

Robótica

Prof. Reinaldo Bianchi


Centro Universitário da FEI
2007

4a aula

Parte A

1
Objetivos desta aula

I Sistemas de Referência
I Coordenadas Homogêneas.
I Transformações entre sistemas de
coordenadas.
I Cinemática de manipuladores:
– Modelo geométrico de um manipulador.
– Modelo de Denavit-Hartenberg.
– Cinemática direta.
I Capítulos 2 e 3 de “ Introduction to Robotics”,
de J. J. Craig.

Introdução

2
Introdução

I Para realizar o controle do manipulador


é necessário o estudo do seu
funcionamento mecânico.
I Mecânica =
– dinâmica +
– estática +
– cinemática!

Cinemática

I Cinemática é o estudo do movimento


dos robôs sem levar em conta as forças
e as massas envolvidas.
I Envolve apenas:
– posição,
– velocidade,
– aceleração
– e suas derivadas.

3
O problema central da cinemática

I O problema central da cinemática é


como definir a posição do robô:
– Cinemática direta:
• A partir das posições das articulações,
encontrar a posição e orientação da ferramenta
no espaço cartesiano da base.
– Cinemática inversa:
• Definir as posições das articulações, dada uma
posição e orientação desejada para a
ferramenta.

O problema central
Z Atuador
px , py, pz
 px  θ1  α, β, γ
p  θ  ... θn
 y  2 θ2
θi
p  . Base θ1 Y
x=  z θ=  O Variáveis das
α  . Juntas Variáveis no
espaço
β  . cartesiano
    X
 γ  θ n 
Direta
(Juntas) θ x (Cartesiano)
Inversa

4
Solucionando a Cinemática

I Para solucionar os problemas de


cinemática direta e inversa, “basta”
saber computar as relações
matemáticas entre as posições de cada
elo:
– Adora-se um sistema de coordenadas por
elo.
– Utiliza-se conceitos de álgebra linear ...

Descrições Espaciais e
Transformações

Capítulo 2 do Craig.

5
Descrições espaciais

I Uma descrição é uma matriz utilizada


para descrever os objetos com os quais
um manipulador deve tratar.
I A descrição de uma posição é uma
matriz 3 x 1:
 px 
A
P =  p y 
 p z 

Descrições espaciais (II)

I A descrição de uma orientação é uma


matriz de rotação 3 x 3:
I Denota a diferença entre a orientação
desejada e um sistema de coordenadas
qualquer:
 r11 r12 r13 
A
B R= [ Xˆ
A
B
A
YˆB A
Zˆ B = r21
] r22 r23 
r31 r32 r33 

6
Sistemas de Referências (Frames)

I Um sistema de referência é uma


descrição da posição e orientação de
um objeto de maneira conjunta.
I É composto por 4 matrizes, que
eqüivalem a uma matriz de posição
(origem do sistema) e uma matriz de
rotação.
{B} ={BA R, APBORG }

Sistemas de Referências (Frames)

I Como visto na segunda aula, existem


diversos sistemas de referências
utilizados:
– Sistema de coordenadas do mundo.
– Sistema de coordenadas de juntas.
– Sistema de coordenadas do ponto de
montagem.
– Origem do sistema: Centro do Atuador.

7
Sistema do mundo (Base)

Sistema da garra

8
Origem do sistema da garra

Sistemas com nomes definidos.

9
Mapeamentos

I Mapeamentos descrevem a relação


entre os descritores de dois sistemas
de referências.
I Permitem a mudança de um sistema de
referência para outro.
I Podem ser:
– Translação.
– Rotação.
– Combinação dos dois.

A
Translação P = B P + APBORG
x0 = x1 + xf,
y0 = y1 + yf.
Yo
Y1

P(x1, y 1)

X1

(xf, y f)

O Xo

10
A
Rotação 2D P = BAR⋅B P
x0 = x1 * cosθ - y1 * senθ
y0 = x1 * senθ + y1 * cosθ
Yo
Y1

P(x1, y 1)
X1

θ Xo
O

Rotação 3D
B
P = p x X B + p yYB + p z Z B
ZA BP
A
P = p x A X B + p y AYB + p z A Z B
ZB

 px 
YB A
P= [ A
XB A
YB A
Z B  p y 
]
 p z 
YA
A
P = BAR BP

XA XB

11
Matrizes de rotação 3D
1 0 0 
Rx = 0 cos θ − sen θ 

0 sen θ cos θ 
 cos θ 0 sen θ 
R y =  0 1 0 
− sen θ 0 cos θ 
cos θ − sen θ 0
Rz = sen θ cos θ 0
 0 0 1

Mapeamento entre 2 sistemas

I A relação entre dois sistemas quaisquer


é conseguida com uma translação e
uma rotação.

z
x
y y
x
z

12
Translação + Rotação 2D
Yo

P(x1, y 1)
Y1
X1

θ
(xf, y f)

O Xo

Qual a matriz que implementa esta transformação???

Matriz de transformação
homogênea

13
Coordenadas Homogêneas
I A matemática para implementar a
composição de translação e rotação se torna
complicada quando se deseja realizar
diversas operações.
I Fato comum em Álgebra Linear, usada em
Robótica e Computação Gráfica.
I Matrizes de transformações homogêneas
permitem compor transformações de maneira
elegante:
– Rotações, Translações e Escalas.
– Em qualquer dimensão do espaço.

Coordenadas Homogêneas

I Uma representação homogênea de um


vetor n-dimensional utiliza um vetor
com n+1 elementos.
I O vetor real é obtido dividindo-se todos
os elementos pelo elemento n+1.
I O elemento n+1 é um fator de escala.

14
Matriz homogênea

I Um conjunto de transformações no
mundo 2D pode ser representada
completamente por uma matriz 3 x 3:

 xo   cosθ − senθ x f  x1 
    
 yo  =  senθ cosθ y f  y1 
1  0 0 1  1 
    

Matriz de Transformação
Homogênea 3D
 r1 r2 r3 ∆x 
3x3 r r5 r6 
∆y 
3x1
rotation
matrix 4 translation
matrix
r7 r8 r9 ∆z 
 
0 0 0 1
perspective global scale

15
Exemplo

I Um frame {B} se encontra rotacionado


com relação a um frame {A} por 30
graus (sobre o eixo z), e transladado de
10 unidades no eixo x e 5 unidades no
eixo y.
I Dado que um ponto se encontra na
posição (3,7) no frame {B}, onde ele se
encontra no frame {A}?

Exemplo

I Dado que:
cos 30 − sen 30 0 10
 3 sen 30 cos 30 0 5 
B   A  
P = 7  BT =
 0 0 1 0
0  
 0 0 0 1 
I Usamos a definição  9 
e encontramos: A
P = ABT BP = 12.5
 0 

16
Interpretações da matriz de
transformação homogênea.
I A matriz 4 x 4 de transformação
homogênea pode ser interpretada como:
A
– A descrição de um frame: BT descreve o
frame {B} em relação ao frame {A}.
– Uma transformação de mapeamento:
A
BT mapeia
B
P → AP
– Uma operador de transformação, que utiliza
apenas um frame e muda os objetos de
posição: R(θ), por exemplo.

Interpretações da matriz de
transformação homogênea.
I O mapeamento muda a descrição de
um ponto de um sistema de
coordenadas para o outro.
I No mapeamento, o ponto não é
modificado: somente sua descrição se
altera.

17
Cinemática de manipuladores

Capítulo 3 do Craig.

Definição mecânica de um
manipulador
I Um manipulador pode ser representado
por n corpos rígidos móveis e um corpo
fixo, ligados por n juntas (ou
articulações), formando uma estrutura
de cadeia.
I Teoria de elementos (ou corpos rígidos)
é muito bem fundamentada na
engenharia mecânica.

18
Definição mecânica de um
manipulador
I Um manipulador é uma cadeia cinética
composta por:
– Elos (Links):
• Os corpos da cadeia.
– Juntas (Joints):
• As articulações entre os corpos.
• Conectam os elos e permitem a realização de
movimentos de um elo em relação ao elo
anterior.

Exemplo de manipulador: PUMA

19
Elos (Links)

I Um elo (link) é um corpo rígido que


define uma relação entre duas juntas
adjacentes de um manipulador.
I Elos são numerados em ordem
crescente, iniciando pela base do
manipulador:
– A base imóvel é o elo 0
– A primeira parte móvel é o elo 1,
– ...

Numeração dos elos

Elo 2

Elo 1

Elo 3

Elo 0

20
Juntas ou Articulações

I Juntas (ou articulações) são definidas


por vetores no espaço 3D:
– A junta i é definida pelo vetor no espaço
sobre o qual o elo i rotaciona (ou
translada) em relação ao elo i - 1.
– São numeradas a partir do primeiro elo.

Tipos de juntas
I Revolução (R):
– 1 Dof (Rotação)
I Prismática (P):
– 1 Dof (Translação)
I Cilindrica (C):
– 2 Dof (Rotação + Translação)
I Helicoidal (H)
– 1 Dof (Rotação/ Translação com acoplamento)
I Planar (E)
– 2 Dof (Translação em 2 direções)
I Esférica (S)
– 3 Dof (Rotação em 3 direções)

21
Seis possíveis juntas

Juntas

I Todas podem ser produzidas a partir de


duas: Revolução (R) e Prismática (P)

Rotating pair – Sliding pair –


Revolute (R) Prismatic (P)

22
Numeração das Juntas

Elo 2

Elo 1
Junta 2
J3 Elo 3

Junta 4

J1
Junta 6

Elo 0 Junta 5

Parâmetros dos elos

I Um elo é especificado por dois


parâmetros que definem a posição
relativa e a orientação dos eixos da
junta incidente no elo:
– O comprimento do elo (link lenght),
denominado a.
– A torção do elo (link twist), denominado α.

23
Comprimento do elo ai-1

I O comprimento do elo é a distância


entre os eixos das suas juntas ao longo
de uma linha mutuamente
perpendicular aos eixos das juntas.
I Esta perpendicular mútua sempre
existe e é única, exceto no caso onde
os eixos das juntas são paralelos...
– Neste caso existem infinitas
perpendiculares de tamanho idêntico.

Torção do elo αi-1

I A torção de um elo é o ângulo entre as


projeções dos eixos das juntas em um
plano cuja normal é mutuamente
perpendicular aos eixos.
I Este ângulo é medido do eixo i-1 para o
eixo i usando a regra da mão direita
sobre a perpendicular mútua.

24
Parâmetros dos elos

Parâmetros das juntas

I Offset, di
– A distância ao longo do eixo da junta i
entre as intercessões das perpendiculares
mútuas com os eixos dos elos i-1 e i
– Variável para juntas prismáticas.
I Ângulo de junta, θi
– O ângulo entre as perpendiculares mútuas
incidentes no eixo da junta i.
– Variável para juntas rotacionais.

25
Parâmetros elo e juntas

Notação de Denavit-Hartenberg

I Metodologia que está se tornando


padrão para calcular os parâmetros
necessários do modelo cinemático.
I O modelo de D-H permite obter a
posição e a orientação da ferramenta.
I O modelo D-H define completamente a
cinemática do manipulador.

26
Notação de Denavit-Hartenberg

I Um robô pode ser especificado ao se


descrever os valores de 4 parâmetros
para cada elo:
– comprimento (i-1), torção (i-1),
offset (i) e ângulo (i).
I A definição da mecânica de um
manipulador usando estes parâmetros
segue a notação de Denavit-Hartenberg.
I A Notação D-N especifica ainda...

Valores para ai e αi dos elos 0 e n

I O comprimento e a torção de um elo i


dependem das juntas adjacentes.
I Com isso, os términos da cadeia ficam
indefinidos.
I Por convenção, define-se:
– a0 = an = 0
– α0 = αn = 0

27
Parâmetros da junta 1

I Se a junta 1 for prismática:


– d1 = var
θ1 = 0

I Se a junta 1 for de rotação:


– d1 = 0
θ1 = var

Sistemas de referências

I Cada corpo elementar (elo) da cadeia


cinemática deve ser fixado em um
sistema de referência (frame).
I Existe uma convenção para anexar
sistemas de referências aos elos, dada
pela Notação D-N:
– Frames são numerados de acordo com o
elo ao qual ele está ligado.
– Frame {i} está ligado ao elo i.

28
Designando referências aos elos

I O eixo Zi do frame {i} está alinhado


como eixo da junta i.
I A origem do frame {i} está localizada
no ponto onde a perpendicular ai
intersecciona o eixo da junta i.
I O eixo Xi do frame {i} está alinhado
como a perpendicular ai na direção de i
para i+1.
I Yi = Zi × Xi (use regra da mão direita).

Definição dos eixos Zi

I Definição dos eixos Zi

Zi Zi

29
Frames e elos

zn
z n+1
zn

ln θ n+1
x n+1
θn xn
xn

Elo n
Junta n+1
Junta n

30
Junta n
Junta n-1 Elo n

Junta n+1
Elo n-1

zn zn+1
zn-1 xn αn
yn-1 dn ln xn+1
ln-1 yn
xn-1 yn+1
θn

Designando referências aos elos:


casos especiais
I Se ai = 0 (ou seja, os eixos se
interceptam):
– Xi = Zi x Zi+1, isto é, Xi é perpendicular aos
eixos i e i+1 (Use a regra da mão direita).

31
Designando referências aos elos:
primeiro elo
I O frame {0} é escolhido de maneira
arbitrária:
– escolha o eixo Z0 alinhado com o Z1, de
maneira que o frame {0} e {1} sejam
iguais quando a variável da junta 1 for
zero.
– Neste caso: a0 = 0, α o = 0
• e d1 = 0 se a junta 1 for de rotação,
• ou θ1 = 0 se a junta 1 for prismática.

Designando referências aos elos:


último elo
I Se a junta for de revolução:
– Escolha o eixo Xn para coincidir com o Xn-1
quando θn = 0.
– Escolha a origem do frame {n} de maneira
que dn = 0.
I Se a junta for prismática:
– Escolha o eixo Xn de maneira que θn = 0.
– A origem do frame {n} é a interseção de
Xn-1 e o eixo da junta n quando dn = 0.

32
Notação D-H a partir dos frames

I ai: a distância entre os eixos Zi e Zi+1


medida sobre o eixo Xi.
I αi: o ângulo entre os eixos Zi e Zi+1
medida sobre o eixo Xi.
I di: a distância entre os eixos Xi-1 e Xi
medida sobre o eixo Zi.
I θi: o ângulo entre os eixos Xi-1 e Xi
medidos sobre o eixo Zi-1 .

Resumo link-frame attachment

(Craig, pg 77 da 2a. Edição ou 69 da 3a. Edição)

33
Exemplo 1: D-H para robô 3R

Exemplo 1: D-H para robô 3R

34
Exemplo 2: braço de Stanford

Braço de Stanford
Z7
Z6 Z4
X7 Z5
X6 X4
X3
Z3 Z2
X5 Z1
X2

X1 Y1

35
Parâmetros D-H Stanford Arm

i ai di αi θi
1 a1 b1 90° θ1
2 a2 b2 90° θ2
3 a3 b3 (var) 90° 90°
4 a4 0 90° θ4
5 a5 b5 0° θ5
6 a6 b6 0 θ6

O Modelo cinemático de um
manipulador

36
O modelo cinemático

I Expressa a posição e a orientação do


elemento terminal do robô em relação a
um sistemas de coordenadas fixo a
base, em função das coordenadas de
juntas.
I O modelo pode ser descrito por uma
função que exprime o espaço
cartesiano em função do vetor de
coordenadas angulares.

O modelo cinemático

I O mapeamento T consiste na
expressão analítica da composição dos
movimentos das juntas para realizar o
movimento do elemento terminal do
robô.

37
A transformação para um elo

I Rotacione sobre Xi-1 o ângulo αi-1


I Translade sobre Xi-1 a distância ai-1
I Rotacione sobre Zi o ângulo θi
I Translade sobre Zi a distância di
I Ou seja:

Transformação para um elo.


1 0 0 0 1 0 0 ai−1  cosθi − senθi 0 0 1 0 0 0
0 cosα − senαi −1 0 0 1 0 0  senθi cosθi 0 0 0 1 0 0 
= i −1

0 senαi−1 cosαi−1 0 0 0 1 0  0 0 1 0 0 0 1 di 
    
0 0 0 1 0 0 0 1  0 0 0 1 0 0 0 1
 cosθi − senθi 0 ai−1 
senθ cosα cosθ cosα − senα − senαi−1di 
= i i −1 i i −1 i −1

senθi senαi−1 cosθi senαi−1 cosαi−1 cosαi−1di 


 
 0 0 0 1 

i −1
iT = i −R1T QRT QPT PiT

38
Joint n
Joint n-1 Link n

Joint n+1
Link n-1

zn zn+1
zn-1 xn αn
yn-1 dn αn-1 ln xn+1
ln-1 yn
xn-1 yn+1
θn

 cθ n − sθ n 0 an −1 
 sθ cα c θ c α − sα − sα n −1d n 
n −1
Txxx(llnn−−−111))R
nT = Ann = T αnnn−−−111))Rz (θ n )Tz (d n ) =  n n −1
Rxx(α n n −1 n −1

 sθ n sα n −1 cθ n sα n −1 cα n −1 cα n −1d n 
 
 0 0 0 1 

Matriz cinemática

I Relaciona o sistema de coordenadas


solidárias à base do robô com o
sistema de coordenadas associadas à
sua ferramenta terminal.
I Em coordenadas homogêneas.
I Resulta do produto das matrizes de
transformação de cada elo:
– Transforma passo a passo.
0
n T = T1T2T3 LTi LTn

39
Exemplo 4 - 3R

I Para o manipulador
do exemplo 1:

Exemplo 5: Puma

40
Modelo cinemático de um Puma

first identify the six joint axis

Modelo cinemático de um Puma

z0 = z1 z2
z3

z5
z6
z4

Then assign the z-axis of the coordinate frames


(either along the joint axis)

41
Modelo cinemático de um Puma

a2
d3
x0 = x1 = x2 x3
z5
z6
z4

Then assign the x-axis of the coordinate frames


for 1 –3 (either along the joint perpendicular or
along the normal to the plane)

Modelo cinemático de um Puma

42
Modelo cinemático de um Puma

d4
x4
x3
a3 z4
y3 x6
x5
y5 z6

Then assign the x-axis of the coordinate frames


for 4-6 (either along the joint perpendicular or
along the normal to the plane)

Modelo cinemático de um Puma

43
Parâmetros de elo e junta para o
PUMA
i αi-1 ai-1 di θi
1 0 0 0 θ1
2 -90° 0 0 θ2
3 0 a2 d3 θ3
4 -90° a3 d4 θ4
5 90° 0 0 θ5
6 -90° 0 0 θ6

Compute cada transformação


 cθ i − sθ i 0 a i −1 
s c − s α i − 1 d i 
θ α c θ i c α i −1 − s α i −1
Usando a equação generalizada:
i −1
T =  i i −1
i
 s θ i s α i −1 c θ i s α i −1 c α i −1 c α i −1 d i 
 
 0 0 0 1 

Computamos cada matriz de transformação de 0


N T = 01T 21T 23T 34T .......N −N1T
elo:

cθ 1 − sθ 1 0 0  cθ 2 − sθ 2 0 0 cθ 3 − sθ 3 0 a2 
s 0  0 0 s 0
θ cθ 1 0 0 1 θ cθ 3 0
0
T =  1  1
T =   2
T =  3 
1
 0 0 1 0
2
− sθ 2 − cθ 2 0 0
3
 0 0 1 d3
     
 0 0 0 1  0 0 0 1  0 0 0 1 

 cθ 4 − sθ 4 0 a3 cθ 5 − sθ 5 0 0  cθ 6 − sθ 6 0 0
 0 0 1 d4  0 0 −1 0   0 0 1 0 
3
T =   4
T =  5
T = 
4
 − sθ 4 − cθ 4 0 0 
5
 sθ 5 cθ 5 0 0
6
 − sθ 6 − cθ 6 0 0
     
 0 0 0 1   0 0 0 1  0 0 0 1

44
Compute todas as individuais

Multiplicando todas as matrizes individuais de links:

0
6
T = 0
1
T 1
2
T 2
3
T 3
4
T 4
5
T 5
6
T
Temos finalmente:

nx ox ax px 
n oy ay p y 
0
T = y
6
 nz oz az pz 
 
0 0 0 1 

Equações cinemáticas do PUMA


Onde:
n x
= c 1 [c 23 (c 4 c 5 c 6 − s 4 s 6 )− s 23 s 5 c 6 ] + s 1 (s 4 s 5 s 6 + c 4 s 6 )
n y
= s 1 [c 23 (c 4 c 5 c 6 − s 4 s 6 )− s 23 s 5 c 6 ] − c 1 (s 4 s 5 s 6 + c 4 s 6 )
n z
= − s 23 (c 4 c 5 c 6 − s 4 s 6 )− c 23
s 5c 6

o x
= c 1 [c 23 (− c 4 c 5 c 6 − s 4 s 6 )− s 23 s 5 c 6 ] + s 1 (c 4 c 6 − s 4 c 5 s 6 )
o y
= s 1 [c 23 (− c 4 c 5 c 6 − s 4 s 6 )− s 23 s 5 c 6 ] − c 1 (c 4 c 6 − s 4 c 5 s 6 )
o z
= − s 23 (− c 4 c 5 c 6 − s 4 c 6
)− c 23
s5s6
by using the sum of angles formulae
a x
= − c 1 (c 23 c 4 c 5 − s 23 c 5 )− s1s4s5
a = − s 1 (c 23 c 4 c 5 − s 23 c 5 )+ c1s4s5 s 23 = sin (θ 2
+ θ 3
)= c 2c 3
− s2s3
y
c = cos (θ + θ )= c 2 s 3 − s 2c 3 .
a z
= s 23 c 4 s 5 − c 23
c5 23 2 3

Hint : since joints 2 and 3 are always parallel


p = c 1 (a 2 c 2 + a 3 c 23 − d 4 s 23 )− d 3s1 1
x
first calculate 3
T
p y
= s 1 (a 2 c 2 + a 3 c 23 − d 4 s 23 )− d 3c 1 and reduce using above formulae.
p z
= − a 3c 23
− a 2 s 2 + − d 4c 23

45
Cinemática direta

Cinemática direta

I Permite, a partir dos valores das


coordenadas de juntas, calcular a
posição do manipulador.
I Usado para o controle do manipulador.
I O problema:
– Determine a posição da ferramenta dados
os valores das juntas θ1, θ2,θ3, θ4, θ5, … θn
I Solução:
– Basta calcular a matriz cinemática.

46
Exemplo algébrico: Robô 1R

I O Robô 1R possui apenas uma junta


rotacional…
I É o pêndulo simples...

Equações para o Robô 1R

(a,b)

l1

a = l1 cos (θ1 )
b = l1 sin (θ1 )
Θ = θ1

47
Equações para o Robô 2R

a = l1 cos (θ1 ) + l2 cos(θ1 + θ2)


b = l1 sin (θ1 ) + l2 sin (θ1 + θ2)
Θ = θ1 + θ2

Equações para o Robô 3R


REFERENCE
POINT
( x ,y ) φ

l3

θ3

l2

y
θ2
x = l1 cos θ1 + l2 cos(θ1 + θ 2 )+ l3 cos(θ1 + θ2 + θ3 )
l1

θ1
y = l1 sin θ1 + l2 sin (θ1 + θ 2 )+ l3 sin (θ1 + θ 2 + θ3 )
x
φ = (θ1 + θ 2 + θ3 )

48
Equações para o Robô RP
REFERENCE
POINT
x = d 2 cos θ1 (x, y)

y = d 2 sin θ1 y d2

φ = θ1 φ
2

θ1
x
1

Equações para um robô PRRR

x = l2 cos θ2 + l3 cos(θ2 + θ3 )+ l4 cos(θ 2 + θ3 + θ 4 )


y = l2 sin θ2 + l3 sin (θ2 + θ3 )+ l4 sin (θ 2 + θ3 + θ 4 )
z = d1
φ = (θ 2 + θ3 + θ 4 )

Palletizador da Adept.

49
Conclusão

I Modelagem do manipulador é
relativamente simples.
I Modelo D-H é uma receita de como
modelar o robô.
I Cinemática direta é simples.

Fim… próxima aula (de teoria)…

How do I put my
hand here?

50

Você também pode gostar