cinematica inversa
TRANSCRIPT
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