CINEMÁTICA INVERSA - Universidade de Aveiro

25
CINEMÁTICA INVERSA Rodrigo Morante Blanco

Transcript of CINEMÁTICA INVERSA - Universidade de Aveiro

Page 1: CINEMÁTICA INVERSA - Universidade de Aveiro

CINEMÁTICA INVERSARodrigo Morante Blanco

Page 2: CINEMÁTICA INVERSA - Universidade de Aveiro

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

Page 3: CINEMÁTICA INVERSA - Universidade de Aveiro

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

1r1θ

Coordenadas articulares: r, θ

Page 4: CINEMÁTICA INVERSA - Universidade de Aveiro

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

1r1θ

Coordenadas articulares: r, θ

),( yx

Método geométrico:

11

11

sencos

θ=θ=

ryrx

Page 5: CINEMÁTICA INVERSA - Universidade de Aveiro

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

1r1θ

Coordenadas articulares: r, θ

Método geométrico:

2r

),( yx

)sen(sen)cos(cos

21211

21211

θ+θ+θ=θ+θ+θ=

rryrrx

Page 6: CINEMÁTICA INVERSA - Universidade de Aveiro

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

1r1θ

Coordenadas articulares: r, θ

Método geométrico:

2r

),( yx

)sen(sen)cos(cos

21211

21211

θ+θ+θ=θ+θ+θ=

rryrrx

Esta abordagem não é sistemática

Page 7: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática direta (2/5)

Representação de Denavit-Hartenberg (D-H):

⎥⎥⎥

⎢⎢⎢

100

x

y

Page 8: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática direta (2/5)

Representação de Denavit-Hartenberg (D-H):

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

100

100010

01 2r

x

y

2r

Page 9: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática direta (2/5)

Representação de Denavit-Hartenberg (D-H):

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡θθθ−θ

100

100010

01

1000cs0sc 2

22

22 r

x

y

2θ2r

Page 10: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática direta (2/5)

Representação de Denavit-Hartenberg (D-H):

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡θθθ−θ

⎥⎥⎥

⎢⎢⎢

100

100010

01

1000cs0sc

100010

01 2

22

221 rr

x

y

2θ2r

1r

Page 11: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática direta (2/5)

Representação de Denavit-Hartenberg (D-H):

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡θθθ−θ

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡θθθ−θ

=

⎥⎥⎥

⎢⎢⎢

100

100010

01

1000cs0sc

100010

01

1000cs0sc

1

2

1

2

22

22

1

0

1

11

11

44444 344444 2144444 344444 21A

r

A

ryx

2r2θ

),( yx

2r2θ

),( yx

x

y

1r1θ

Page 12: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática direta (2/5)

Representação de Denavit-Hartenberg (D-H):

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡θ+θ+θθ+θθ+θθ+θ+θθ+θ−θ+θ

=

⎥⎥⎥

⎢⎢⎢

100

100)s(s)c()s()c(c)s()c(

1212112121

212112121

rrrr

yx

2r2θ

),( yx

2r2θ

),( yx

x

y

1r1θ

Page 13: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática direta (3/5)

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:

Representação de Denavit-Hartenberg (D-H):

⎥⎥⎥⎥

⎢⎢⎢⎢

θθθ−θ

10000cs00sc00001

Rotação ao redor do eixo x:

⎥⎥⎥⎥

⎢⎢⎢⎢

1000100

00100001

rTranslação paralela ao eixo z:

Page 14: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática direta (4/5)

Representação de Denavit-Hartenberg (D-H):

Em 2D:

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡θ+θ+θθ+θθ+θθ+θ+θθ+θ−θ+θ

=

⎥⎥⎥

⎢⎢⎢

100

100)s(s)c()s()c(c)s()c(

1212112121

212112121

rrrr

yx

O equivalente em 3D:

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡θ+θ+θθ+θθ+θθ+θ+θθ+θ−θ+θ

=

⎥⎥⎥⎥

⎢⎢⎢⎢

1000

10000100

)s(s0)c()s()c(c0)s()c(

1

212112121

212112121

rrrr

zyx

Page 15: CINEMÁTICA INVERSA - Universidade de Aveiro

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

Page 16: CINEMÁTICA INVERSA - Universidade de Aveiro

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),,(2atansencos

yxrxyryrx

+==θ⇒⎭⎬⎫θ=θ=

Para casos mais complexos, resulta muito difícil aplicar este método.

Page 17: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática inversa (2/9)

Da cinemática direta temos:

xqTqfX rrr)()( ==

onde q é o vetor das coordenadas articulares:),,,,( 11 nnrrq θθ= K

O problema da cinemática inversa consiste em encontrar a “inversa” da tal quef

r

)(1 Xfqrr

−=

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,…).

fr

Page 18: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática inversa (3/9)

A idéia é utilizar uma aproximação linear da função e achar sua “inversa”:

))(()()( 000 qqqJqfqf −+=rr

(Taylor)

onde é o jacobiano da função no ponto e a aproximação anterior é válida perto desse ponto.

)( 0qJ 0q

x

y

AproximadaExata

Page 19: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática inversa (4/9)

Cálculo do jacobiano:

xTRTRqf nn

rL

r11)( =

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

fr

0q

onde só depende de e só depende de pela regra do produto as derivadas parciais são calculadas como sendo:

iRiθ iT ,ir

.)(

,)(

11

11

xTRTRTRqf

xTRTRTRqf

nniir

nnii

i

i

rLL

r

rLL

r

′=∂

′=∂θ

Por isso é necessário derivar matrizes de rotação e translação.

Page 20: CINEMÁTICA INVERSA - Universidade de Aveiro

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 ωωω=ωr

via

⎥⎥⎥⎥

⎢⎢⎢⎢

ωω−ω−ωωω−

0000000000

xy

xz

yz

Finalmente, .RRRRR T Ω=′=′

Page 21: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática inversa (6/9)

Cálculo do jacobiano:Derivada de uma matriz de translação T:

Por exemplo:

⎥⎥⎥⎥

⎢⎢⎢⎢

=′⇒

⎥⎥⎥⎥

⎢⎢⎢⎢

=

0000000010000000

10000100

0100001

Tr

T

Page 22: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática inversa (7/9)

Cálculo do jacobiano:

Retomando nosso exemplo, se

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡θθθ−θ

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡θθθ−θ

=

⎥⎥⎥

⎢⎢⎢

100

100010

01

1000cs0sc

100010

01

1000cs0sc

1

2

22

221

11

11 rryx

então o jacobiano resulta ser:

⎥⎥⎥

⎢⎢⎢

⎡θ+θθ+θθ+θ+θθθ+θ−θ+θθ−θ+θ−θ

=0000

)c()s(c)c(s)s()c(s)s(c

21221112121

21221112121

rrrrrr

J

O vetor das coordenadas articulares é),,,( 2211 θθ= rrq

Page 23: CINEMÁTICA INVERSA - Universidade de Aveiro

Cinemática inversa (8/9)

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:

Inversa generalizada:

xJq ∆=∆ −1

Em geral, não existe a inversa do jacobiano, mas sim uma inversa generalizada B, que cumpre alguma das condições de Moore-Penrose:

BJBJJBJBBBJBJJBJ

TT ====

)(.4)(.3.2.1

Se B cumpre todas as quatro condições, é dita pseudo-inversa, e é única: += JB

Achar a inversa generalizada é um processo lento e que não lida adequadamente com singularidades.

Page 24: CINEMÁTICA INVERSA - Universidade de Aveiro

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 ∆=∆ +

Page 25: CINEMÁTICA INVERSA - Universidade de Aveiro

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