CINEMÁTICA INVERSA Aline Aparecida de Pina Rodrigo Morante Blanco.
Transcript of CINEMÁTICA INVERSA Aline Aparecida de Pina Rodrigo Morante Blanco.
CINEMÁTICA INVERSAAline Aparecida de PinaRodrigo Morante Blanco
Objetivos
•Cinemática direta•Introdução•Representação de Denavit-Hartenberg (D-H)
•Cinemática inversa•Introdução•Cálculo do jacobiano•Inversa generalizada•Transposta do jacobiano
Cinemática direta (1/5)
A cinemática direta permite determinar a localização do extremo de um membro se conhecidos os valores das coordenadas articulares.
x
y
1r
1
Coordenadas articulares: r,
Cinemática direta (1/5)
A cinemática direta permite determinar a localização do extremo de um membro se conhecidos os valores das coordenadas articulares.
x
y
1r
1
Coordenadas articulares: r,
),( yx
Método geométrico:
11
11
sen
cos
ry
rx
Cinemática direta (1/5)
A cinemática direta permite determinar a localização do extremo de um membro se conhecidos os valores das coordenadas articulares.
2
x
y
1r
1
Coordenadas articulares: r,
Método geométrico:
2r
),( yx
)sen(sen
)cos(cos
21211
21211
rry
rrx
Cinemática direta (1/5)
A cinemática direta permite determinar a localização do extremo de um membro se conhecidos os valores das coordenadas articulares.
2
x
y
1r
1
Coordenadas articulares: r,
Método geométrico:
2r
),( yx
)sen(sen
)cos(cos
21211
21211
rry
rrx
Esta abordagem não é sistemática
Cinemática direta (2/5)
Representação de Denavit-Hartenberg (D-H):
1
0
0
x
y
Cinemática direta (2/5)
Representação de Denavit-Hartenberg (D-H):
1
0
0
100
010
012
r
x
y
2r
Cinemática direta (2/5)
Representação de Denavit-Hartenberg (D-H):
1
0
0
100
010
01
100
0cs
0sc2
22
22r
x
y
2
2r
Cinemática direta (2/5)
Representação de Denavit-Hartenberg (D-H):
1
0
0
100
010
01
100
0cs
0sc
100
010
012
22
221rr
x
y
2
2r
1r
1
0
0
100
010
01
100
0cs
0sc
100
010
01
100
0cs
0sc
1
2
1
2
22
22
1
0
1
11
11
A
r
A
r
y
x
2r
2
),( yx
2r
2
),( yx
x
y
1r
1
Cinemática direta (2/5)
Representação de Denavit-Hartenberg (D-H):
Cinemática direta (2/5)
Representação de Denavit-Hartenberg (D-H):
1
0
0
100
)s(s)c()s(
)c(c)s()c(
1212112121
212112121
rr
rr
y
x
2r
2
),( yx
2r
2
),( yx
x
y
1r
1
De esta forma é possível descrever as rotações e translações de um elo do sistema com respeito ao elo anterior. A extensão a 3D é imediata (acrescentado uma linha e uma coluna). Por exemplo:
1000
0cs0
0sc0
0001
1000
100
0010
0001
r
Rotação ao redor do eixo x:
Translação paralela ao eixo z:
Cinemática direta (3/5)
Representação de Denavit-Hartenberg (D-H):
Cinemática direta (4/5)
Representação de Denavit-Hartenberg (D-H):
1
0
0
0
1000
0100
)s(s0)c()s(
)c(c0)s()c(
1
212112121
212112121
rr
rr
z
y
x
O equivalente em 3D:
1
0
0
100
)s(s)c()s(
)c(c)s()c(
1212112121
212112121
rr
rr
y
x
Em 2D:
Cinemática direta (5/5)
Representação de Denavit-Hartenberg (D-H):
Utilizando matrizes de transformação homogênea:•Cada elo do sistema tem associado um sistema de referência•É possível representar as translações e rotações relativas entre vários elos (ou entre todos)•A matriz representa a posição e orientação relativa entre os sistemas associados a dois elos sucessivos
i
i A1
A representação total do sistema que serve de exemplo:
2
1
1
0
2
0 AAA
Esta abordagem é sistemática
Cinemática inversa (1/9)
A cinemática inversa procura determinar os valores das coordenadas articulares se conhecida a localização do extremo do membro.
Assim como no caso da cinemática direta, pode-se aplicar métodos geométricos:
22),,(2atansen
cosyxrxy
ry
rx
Para casos mais complexos, resulta muito difícil aplicar este método.
Cinemática inversa (2/9)
Da cinemática direta temos:
xqTqfX
)()(
onde q é o vetor das coordenadas articulares:
),,,,(11 nn
rrq
O problema da cinemática inversa consiste em encontrar a “inversa” da tal quef
)(1 Xfq
Devido aos senos & cosenos das rotações, é não linear em q. Por isso, sua inversa pode não existir ou não ser uma função elementar (arctan, cos,…).
f
Cinemática inversa (3/9)
A idéia é utilizar uma aproximação linear da função e achar sua “inversa”:
))(()()(000
qqqJqfqf
(Taylor)
onde é o jacobiano da função no ponto e a aproximação anterior é válida perto desse ponto.
)(0
qJ0
q
x
y
AproximadaExata
Cinemática inversa (4/9)
Cálculo do jacobiano:
onde só depende de e só depende de pela regra do produto as derivadas parciais são calculadas como sendo:
iR
i
iT ,
ir
Por isso é necessário derivar matrizes de rotação e translação.
.)(
,)(
11
11
xTRTRTRqf
xTRTRTRqf
nniir
nnii
i
i
xTRTRqfnn
11
)(
Precisamos calcular o jacobiano e logo “invertê-lo”. As colunas do jacobiano são as derivadas parciais de no ponto . Como da representação de D-H temos
f
0q
Cinemática inversa (5/9)
Cálculo do jacobiano:
Derivada de uma matriz de rotação R:
TTTTTT RRRRRRRRRR )()( 01
Então a velocidade angular é uma matriz antissimétrica, que está relacionada com o eixo de rotação
TRR
),,(zyx
via
0000
00
00
00
xy
xz
yz
Finalmente, .RRRRR T
Cinemática inversa (6/9)
Cálculo do jacobiano:
Derivada de uma matriz de translação T:
Por exemplo:
0000
0000
1000
0000
1000
0100
010
0001
Tr
T
Cinemática inversa (7/9)
Cálculo do jacobiano:
1
0
0
100
010
01
100
0cs
0sc
100
010
01
100
0cs
0sc
1
2
22
221
11
11rr
y
x
Retomando nosso exemplo, se
então o jacobiano resulta ser:
0000
)c()s(c)c(s
)s()c(s)s(c
21221112121
21221112121
rrr
rrr
J
O vetor das coordenadas articulares é),,,(
2211 rrq
Cinemática inversa (8/9)
xJq 1
A inversa do jacobiano é tal que, dada uma pequena variação da posição do extremo, é possível calcular a variação nas coordenadas articulares:
Em geral, não existe a inversa do jacobiano, mas sim uma inversa generalizada B, que cumpre alguma das condições de Moore-Penrose:
BJBJJBJB
BBJBJJBJTT
)(.4)(.3
.2.1
Inversa generalizada:
Achar a inversa generalizada é um processo lento e que não lida adequadamente com singularidades.
Se B cumpre todas as quatro condições, é dita pseudo-inversa, e é única: JB
Cinemática inversa (9/9)
Transposta do jacobiano:
xJq T
Em lugar de utilizar a pseudo-inversa do jacobiano, pode-se utilizar a transposta:
É muito mais barato e ainda por cima evita problemas com singularidades.
Esta aproximação é motivada por considerações físicas (“trabalho virtual”).
Para resolver certos problemas de escala, pode-se introduzir um fator de escala h, e iterar até atingir a convergência:
)()1( iTi xJhq
Referências
Cinemática Inversa:
•Fast Numerical Methods for Inverse Kinematics, Bill Baxter•Cinemática del robot, Amador
Matrizes em geral:
•Matrix Computations, Gene H. Golub & Charles F. Van Loan