Cinematica inversa

25
CINEMÁTICA INVERSA Aline Aparecida de Pina Rodrigo Morante Blanco

Transcript of Cinematica inversa

Page 1: Cinematica inversa

CINEMÁTICA INVERSAAline Aparecida de PinaRodrigo Morante Blanco

Page 2: Cinematica inversa

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: Cinematica inversa

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,

Page 4: Cinematica inversa

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

Page 5: Cinematica inversa

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

Page 6: Cinematica inversa

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

Page 7: Cinematica inversa

Cinemática direta (2/5)

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

1

0

0

x

y

Page 8: Cinematica inversa

Cinemática direta (2/5)

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

1

0

0

100

010

012

r

x

y

2r

Page 9: Cinematica inversa

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

Page 10: Cinematica inversa

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

Page 11: Cinematica inversa

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):

Page 12: Cinematica inversa

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

Page 13: Cinematica inversa

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):

Page 14: Cinematica inversa

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:

Page 15: Cinematica inversa

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: Cinematica inversa

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.

Page 17: Cinematica inversa

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

Page 18: Cinematica inversa

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

Page 19: Cinematica inversa

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

Page 20: Cinematica inversa

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

Page 21: Cinematica inversa

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

Page 22: Cinematica inversa

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

Page 23: Cinematica inversa

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

Page 24: Cinematica inversa

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: Cinematica inversa

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