• Nenhum resultado encontrado

CINEMÁTICA INVERSA. Rodrigo Morante Blanco

N/A
N/A
Protected

Academic year: 2021

Share "CINEMÁTICA INVERSA. Rodrigo Morante Blanco"

Copied!
25
0
0

Texto

(1)

CINEMÁTICA INVERSA

Rodrigo Morante Blanco

(2)

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

(3)

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

r

1

θ

1

Coordenadas articulares: r, θ

(4)

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

r

1

θ

1

Coordenadas articulares: r, θ

) , ( x y

Método geométrico:

1 1

1 1

sen cos

θ

=

θ

= r y

r

x

(5)

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

r

1

θ

1

Coordenadas articulares: r, θ Método geométrico:

r

2

) , ( x y

) sen(

sen

) cos(

cos

2 1

2 1

1

2 1

2 1

1

θ + θ +

θ

=

θ + θ +

θ

=

r r

y

r r

x

(6)

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

r

1

θ

1

Coordenadas articulares: r, θ Método geométrico:

r

2

) , ( x y

) sen(

sen

) cos(

cos

2 1

2 1

1

2 1

2 1

1

θ + θ +

θ

=

θ + θ +

θ

=

r r

y

r r

x

Esta abordagem não é sistemática

(7)

Cinemática direta (2/5)

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

⎥ ⎥

⎢ ⎢

1 0 0

x

y

(8)

Cinemática direta (2/5)

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

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

1 0 0

1 0

0

0 1

0

0

1 r

2

x y

r

2

(9)

Cinemática direta (2/5)

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

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

θ θ

θ

− θ

1 0 0

1 0

0

0 1

0

0 1

1 0

0

0 c

s

0 s

c

2

2 2

2

2

r

x y

θ

2

r

2

(10)

Cinemática direta (2/5)

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

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

θ θ

θ

− θ

⎥ ⎥

⎢ ⎢

1 0 0

1 0

0

0 1

0

0 1

1 0

0

0 c

s

0 s

c

1 0

0

0 1

0

0

1

2

2 2

2 2

1

r

r

x y

θ

2

r

2

r

1

(11)

Cinemática direta (2/5)

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

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

θ θ

θ

− θ

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

θ θ

θ

− θ

=

⎥ ⎥

⎢ ⎢

1 0 0

1 0

0

0 1

0

0 1

1 0

0

0 c

s

0 s

c

1 0

0

0 1

0

0 1

1 0

0

0 c

s

0 s

c

1

2 1

2

2 2

2 2

1 0

1

1 1

1 1

4 4 4 4

4 3

4 4 4 4

4 2

1 4 4 4 4

4 3

4 4 4 4

4 2

1 A

r

A

r y

x

r

2

θ

2

) , ( x y

r

2

θ

2

) , ( x y

x y

r

1

θ

1

(12)

Cinemática direta (2/5)

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

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

θ + θ +

θ θ

+ θ θ

+ θ

θ + θ +

θ θ

+ θ

− θ

+ θ

=

⎥ ⎥

⎢ ⎢

1 0 0

1 0

0

) s(

s )

c(

) s(

) c(

c )

s(

) c(

1

2 1

2 1

1 2

1 2

1

2 1

2 1

1 2

1 2

1

r r

r r

y x

r

2

θ

2

) , ( x y

r

2

θ

2

) , ( x y

x y

r

1

θ

1

(13)

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

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

θ θ

θ

− θ

1 0

0 0

0 c

s 0

0 s

c 0

0 0

0 1

Rotação ao redor do eixo x:

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

1 0

0 0

1 0

0

0 0

1 0

0 0

0 1

Translação paralela ao eixo z: r

(14)

Cinemática direta (4/5)

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

Em 2D:

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

θ + θ +

θ θ

+ θ θ

+ θ

θ + θ +

θ θ

+ θ

− θ

+ θ

=

⎥ ⎥

⎢ ⎢

1 0 0

1 0

0

) s(

s )

c(

) s(

) c(

c )

s(

) c(

1

2 1

2 1

1 2

1 2

1

2 1

2 1

1 2

1 2

1

r r

r r

y x

O equivalente em 3D:

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

θ + θ +

θ θ

+ θ θ

+ θ

θ + θ +

θ θ

+ θ

− θ

+ θ

=

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

1 0 0 0

1 0

0 0

0 1

0 0

) s(

s 0

) c(

) s(

) c(

c 0

) s(

) c(

1

2 1

2 1

1 2

1 2

1

2 1

2 1

1 2

1 2

1

r r

r r

z

y

x

(15)

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 i1

A

A representação total do sistema que serve de exemplo:

2 1 1 0 2

0

A = A A

Esta abordagem é sistemática

(16)

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:

2

),

2

, ( 2 sen atan

cos y x r x y

r y

r

x ⇒ θ = = +

⎭ ⎬

⎫ θ

=

θ

=

Para casos mais complexos, resulta muito difícil aplicar

este método.

(17)

Cinemática inversa (2/9)

Da cinemática direta temos:

x q T q

f

X r r r

) ( )

( =

=

onde q é o vetor das coordenadas articulares:

) , , , ,

( r

1 1

r

n n

q = θ K θ

O problema da cinemática inversa consiste em encontrar a “inversa” da tal que f r

)

1

( X f

q r

r

=

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 r

(18)

Cinemática inversa (3/9)

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

) )(

( )

( )

( q f q

0

J q

0

q q

0

f r = r + −

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

) ( q

0

J q

0

x y

Aproximada

Exata

(19)

Cinemática inversa (4/9)

Cálculo do jacobiano:

x T R T

R q

f

n n

r

r L

1

)

1

( =

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 r q

0

onde só depende de e só depende de pela regra do produto as derivadas parciais são

calculadas como sendo:

R

i

θ

i

T

i

r

i

,

. )

(

, )

(

1 1

1 1

x T R T

R T

R q

f

x T R T

R T

R q

f

n n i

i r

n n i

i

i

i

r

L r L

L r r L

= ′

= ′

θ

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

translação.

(20)

Cinemática inversa (5/9)

Cálculo do jacobiano:

Derivada de uma matriz de rotação R:

T T T

T T

T

R R R R R R R R

RR = 1 ⇒ ′ + ( ′ ) = 0 ⇒ ′ = − ( ′ ) Então a velocidade angular é uma matriz

antissimétrica, que está relacionada com o eixo de rotação R

T

R

= Ω

) ,

,

( ω

x

ω

y

ω

z

= ω r via

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

ω ω

ω

− ω

ω ω

= Ω

0 0

0 0

0 0

0 0

0 0

x y

x z

y z

Finalmente, R ′ = RR

T

R = R .

(21)

Cinemática inversa (6/9)

Cálculo do jacobiano:

Derivada de uma matriz de translação T:

Por exemplo:

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

′ =

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

=

0 0

0 0

0 0

0 0

1 0

0 0

0 0

0 0

1 0

0 0

0 1

0 0

0 1

0

0 0

0 1

r T

T

(22)

Cinemática inversa (7/9)

Cálculo do jacobiano:

Retomando nosso exemplo, se

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

θ θ

θ

− θ

⎥ ⎥

⎢ ⎢

⎥ ⎥

⎢ ⎢

θ θ

θ

− θ

=

⎥ ⎥

⎢ ⎢

1 0 0

1 0

0

0 1

0

0 1

1 0

0

0 c

s

0 s

c

1 0

0

0 1

0

0 1

1 0

0

0 c

s

0 s

c

1

2

2 2

2 2

1

1 1

1

1

r r

y x

então o jacobiano resulta ser:

⎥ ⎥

⎢ ⎢

θ + θ θ

+ θ θ

+ θ

+ θ θ

θ + θ

− θ

+ θ θ

− θ

+ θ

− θ

=

0 0

0 0

) c(

) s(

c )

c(

s

) s(

) c(

s )

s(

c

2 1

2 2

1 1

1 2

1 2

1

2 1

2 2

1 1

1 2

1 2

1

r r

r

r r

r J

O vetor das coordenadas articulares é ) , , ,

(

1

θ

1 2

θ

2

= r r

q

(23)

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:

x J

q = ∆

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:

BJ BJ

JB JB

B BJB

J JBJ

T

T

= =

=

=

) (

. 4 )

( . 3

. 2 .

1

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

+

Achar a inversa generalizada é um processo lento e que

não lida adequadamente com singularidades.

(24)

Cinemática inversa (9/9)

Transposta do jacobiano:

x J

q =

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

(i T i

x J

h

q = ∆

+

(25)

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

Referências

Documentos relacionados

Nas noventa estâncias elencadas na Relação de 1858, em Santa Maria, lugar de uma pecuária pobre (pequeno número de cabeças de gado por estabelecimento),

Sem nunca perder de vista as dificuldades his- tóricas salientadas por Scruton, Zakaria responde à questão através da apologia do liberalismo constitucional (não confundir com

use the “+” and “-” buttons to adjust the cooking end time; if you press and hold either button, the display will scroll through the values more quickly, making it quicker and

Esta combina o canto interno da pálpebra superior sobrancelhas caídas, agora não pode ser apenas sonolência ou tédio, mas o início da tristeza... Agora os cantos levantados

Os Cabineiros de Elevador do Município do Rio de Janeiro terão uma correção salarial na ordem de.. Parágrafo Primeiro: Aos admitidos após julho de 2009, será

[r]

O objetivo era de verificar a consistência entre a estratégia adotada pelas empresas estudadas e as implicações estratégicas das redes de relacionamento, avaliando se esta é capaz

Desde que os elos de um robô devem ter rotação e/ou translação com respeito a um quadro de coordenadas de referência, um quadro de coordenadas agregado ao corpo do mecanismo