96
Animação por Computador Capítulo 5 Vínculos Cinemáticos CRAb – Grupo de Computação Gráfica Departamento de Computação UFC

Animação por Computador Capítulo 5 Vínculos Cinemáticos

  • Upload
    yachi

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

Animação por Computador Capítulo 5 Vínculos Cinemáticos. CRAb – Grupo de Computação Gráfica Departamento de Computação UFC. Sumário do Capítulo 5. 5. Introdução 5.1 Modelagem hierárquica 5.2 Cinemática direta 5.3 Cinemática inversa. 5. Introdução. - PowerPoint PPT Presentation

Citation preview

Page 1: Animação por Computador Capítulo 5 Vínculos Cinemáticos

Animação por Computador

Capítulo 5Vínculos Cinemáticos

CRAb – Grupo de Computação Gráfica

Departamento de ComputaçãoUFC

Page 2: Animação por Computador Capítulo 5 Vínculos Cinemáticos

2

Sumário do Capítulo 5

5. Introdução5.1 Modelagem hierárquica5.2 Cinemática direta5.3 Cinemática inversa

Page 3: Animação por Computador Capítulo 5 Vínculos Cinemáticos

3

5. Introdução

• É conveniente descrever o movimento de um objeto em relação a outro– Sistema de coordenadas conveniente– Exemplo:

•Sistema solar (centrado no sol)•Como seria a definição do movimento da

lua?

Page 4: Animação por Computador Capítulo 5 Vínculos Cinemáticos

4

5. Introdução

• É conveniente descrever o movimento de um objeto em relação a outro– Sistema de coordenadas conveniente– Exemplo:

•Sistema solar (centrado no sol)•Como seria a definição do movimento da lua?

– A lua seria relativa a terra– A terra seria relativa ao sol– Assim, seria possível colocar o movimento da lua

em relação as coordenadas do sol

Page 5: Animação por Computador Capítulo 5 Vínculos Cinemáticos

5

5. Introdução

• É conveniente descrever o movimento de um objeto em relação a outro– Cadeia de objetos relacionados:

•Hierarquia de movimento•Objetos fisicamente conectados•Exemplos

– Astronomia– Robótica– Motores de combustão interna– Animação da figura humana– ...

Page 6: Animação por Computador Capítulo 5 Vínculos Cinemáticos

6

5. Introdução

• Ligações causam restrições ao movimento– Dimensionalidade reduzida

•É necessário especificar menos graus de liberdades

•Exemplo:– O movimento da lua ao redor da terra pode ser

especificado com um único parâmetro: ângulo» Já que a lua rotaciona em um plano fixo há

uma distância fixa

Page 7: Animação por Computador Capítulo 5 Vínculos Cinemáticos

7

5. Introdução

• Animando estruturas hierárquicas– Cinemática direta

•Animador deve especificar os parâmetros de rotação nas juntas

Page 8: Animação por Computador Capítulo 5 Vínculos Cinemáticos

8

5. Introdução

• Animando estruturas hierárquicas– Cinemática inversa

•Animador deve especificar a posição da mão

Page 9: Animação por Computador Capítulo 5 Vínculos Cinemáticos

5.1 Modelagem hierárquica

Page 10: Animação por Computador Capítulo 5 Vínculos Cinemáticos

10

5.1 Modelagem hierárquica

• Imposição de restrições de posições relativas– Objeto organizado como uma

estrutura de arvore– Não é necessário verificar se os

membros continuam juntos

Page 11: Animação por Computador Capítulo 5 Vínculos Cinemáticos

11

5.1 Modelagem hierárquica

• Termos– Figuras articuladas

•Objetos conectados pelas pontas– Animais– Humanos

• Junção dos membros (articulações) são manipulados para produzir movimentos dos membros

raiz

Page 12: Animação por Computador Capítulo 5 Vínculos Cinemáticos

12

5.1 Modelagem hierárquica

• Termos– Muito conteúdo é proveniente da

robótica

Page 13: Animação por Computador Capítulo 5 Vínculos Cinemáticos

13

5.1 Modelagem hierárquica

• Termos– Manipuladores

•Sequência de objetos conectados por juntas

Page 14: Animação por Computador Capítulo 5 Vínculos Cinemáticos

14

5.1 Modelagem hierárquica

• Termos– Link

•Objeto rígido entre duas juntas

Page 15: Animação por Computador Capítulo 5 Vínculos Cinemáticos

15

5.1 Modelagem hierárquica

• Termos– End effector

•Fim da cadeia de objetos

Page 16: Animação por Computador Capítulo 5 Vínculos Cinemáticos

16

5.1 Modelagem hierárquica

• Termos– Frame

• Sistema de coordenadas local associado a cada junta

– Juntas • Mais importante:

– Junta de revolução» Um link rotaciona ao redor de um ponto fixo

de outro link– Junta prismática

» Um link translada relativo a outro

Page 17: Animação por Computador Capítulo 5 Vínculos Cinemáticos

17

5.1 Modelagem hierárquica

• Termos– Juntas

•Ball and socket

Page 18: Animação por Computador Capítulo 5 Vínculos Cinemáticos

18

5.1 Modelagem hierárquica

• Termos– Juntas

•Hinge

Page 19: Animação por Computador Capítulo 5 Vínculos Cinemáticos

19

5.1 Modelagem hierárquica

• Termos– Juntas

•Slider

Page 20: Animação por Computador Capítulo 5 Vínculos Cinemáticos

20

5.1 Modelagem hierárquica

• Termos– Grau de liberdade

•O menor número de coordenadas necessárias para especificar completamente o movimento de um objeto

– Juntas que possuem um grau de liberdade:

Page 21: Animação por Computador Capítulo 5 Vínculos Cinemáticos

21

5.1 Modelagem hierárquica

• Termos– Grau de liberdade (degree of freedom –

DOF)•O menor número de coordenadas

necessárias para especificar completamente o movimento de um objeto

– Juntas que possuem mais de um grau de liberdade

» Chamadas de juntas complexas

Page 22: Animação por Computador Capítulo 5 Vínculos Cinemáticos

22

5.1 Modelagem hierárquica

Page 23: Animação por Computador Capítulo 5 Vínculos Cinemáticos

23

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados– Estrutura que contem nós e arestas– Nó raiz

•Corresponde ao objeto raiz da hierarquia•Posição dada em coordenadas globais

– Nós•Posições relativas ao nó raiz

– Nós folhas•Correspondem aos end effectors

– Nó pai / Nó filho•O nó pai se encontra em uma posição

mais alta na hierarquia que o nó filho

Page 24: Animação por Computador Capítulo 5 Vínculos Cinemáticos

24

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados– Mapeando hierarquia e árvore

•Link x Nó• Junta x Aresta

– Transformação que deve ser feita para todos abaixo na hierarquia

•Um nó de uma árvore pode ter mais de uma aresta ligada a ele

•Um objeto pode ter mais de uma junta conectada a ele

Page 25: Animação por Computador Capítulo 5 Vínculos Cinemáticos

25

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados– Transformações globais ocorrem no

nó raiz• Indiretamente, afeta o resto da hierarquia

Page 26: Animação por Computador Capítulo 5 Vínculos Cinemáticos

26

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados– Um nó contem todas as informações

necessárias para posicionar a parte do objeto

– O ponto de rotação fica no começo da parte do objeto

– Transformações que podem ocorrer•Posicionar no local correto, conectada ao

link pai na hierarquia– Posição natural

•Relativa a junta

Page 27: Animação por Computador Capítulo 5 Vínculos Cinemáticos

27

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados

Page 28: Animação por Computador Capítulo 5 Vínculos Cinemáticos

28

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados (Exemplo)– Estrutura

Page 29: Animação por Computador Capítulo 5 Vínculos Cinemáticos

29

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados (Exemplo)– Estrutura

Page 30: Animação por Computador Capítulo 5 Vínculos Cinemáticos

30

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados (Exemplo)– Estrutura

Page 31: Animação por Computador Capítulo 5 Vínculos Cinemáticos

31

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados (Exemplo)– Árvore

Page 32: Animação por Computador Capítulo 5 Vínculos Cinemáticos

32

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados (Exemplo)– Posição final de um vértice de um

objeto•Concatenação de transformações

11111011

1

1101

1

000

0

1.1Link do vérticeo é

1Link do vérticeo é

0Link do vérticeo é

... '

'

'

VTTTV

V

VTTV

V

VTV

V

Page 33: Animação por Computador Capítulo 5 Vínculos Cinemáticos

33

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados (Exemplo)– Animação de junta de revolução

•Transformações parametrizadas

)( iiR

Page 34: Animação por Computador Capítulo 5 Vínculos Cinemáticos

34

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados (Exemplo)– Animação de junta de revolução

•Estrutura

Page 35: Animação por Computador Capítulo 5 Vínculos Cinemáticos

35

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados (Exemplo)– Animação de junta de revolução

•Árvore

Page 36: Animação por Computador Capítulo 5 Vínculos Cinemáticos

36

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados (Exemplo)– Animação de junta de revolução

•Posição final– Sequência de transformações

» Transformação do nó» Rotação» Transformação da junta

11111111111011

111101

..... )()('

)('

VRTRTTV

VRTTV

Page 37: Animação por Computador Capítulo 5 Vínculos Cinemáticos

37

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados (Exemplo)– Mais de uma estrutura anexada

•Estrutura

Page 38: Animação por Computador Capítulo 5 Vínculos Cinemáticos

38

5.1 Modelagem hierárquica

• 5.1.1 Estrutura de dados (Exemplo)– Mais de uma estrutura anexada

•Árvore

Page 39: Animação por Computador Capítulo 5 Vínculos Cinemáticos

39

5.1 Modelagem hierárquica

• 5.1.2 Frames de coordenadas locais– É conveniente para aplicar procedimentos

•Cinemática inversa

– Uso:•Desenho

– Converter pontos definidos no frame da junta para as coordenadas globais

•Transformar um ponto em coordenadas locais de um nó filho para o de um nó pai

– Matriz de transformação associada a cada aresta– O inverso também pode ser feito (pai para filho)

» Matriz inversa

Page 40: Animação por Computador Capítulo 5 Vínculos Cinemáticos

40

5.1 Modelagem hierárquica

• 5.1.2 Frames de coordenadas locais

Cinemática direta x Cinemática inversa

1

2

P P

),( 21 fP )(, Pf 121

Page 41: Animação por Computador Capítulo 5 Vínculos Cinemáticos

41

5.1 Modelagem hierárquica

• 5.1.2 Frames de coordenadas locais– Implementação de junta com

múltiplos DOF• Interface com o usuário

– Quais informações são necessárias para especificar os valores de rotação de uma junta?

» Costume: Ângulos de Euler

•Como aplicar as transformações– Quaternios

» Evitar gimbal lock

Page 42: Animação por Computador Capítulo 5 Vínculos Cinemáticos

42

5.2 Cinemática direta

Page 43: Animação por Computador Capítulo 5 Vínculos Cinemáticos

43

5.2 Cinemática direta

• Transformações são feitas da raiz às folhas– Percurso em pré-ordem na árvore

•Uso de pilha•As transformações que preparam o nó

para ser transformado não devem ser compostas com a matriz que vai para pilha

Obs: Existe um pseudo-código de exemplo no livro

Page 44: Animação por Computador Capítulo 5 Vínculos Cinemáticos

44

5.2 Cinemática direta

• Pose– Quando todas os parâmetros são

definidos – Especificado por um vetor

•Vetor posição•Um valor para cada DOF

Page 45: Animação por Computador Capítulo 5 Vínculos Cinemáticos

45

5.2 Cinemática direta

• Animação– Os parâmetros da junta são

manipulados•Ângulos de rotação•São usados para fazer a matriz de

transformação da aresta

– Usuário deve definir poses chaves e interpolar as poses intermediárias•Não é prático ter que definir cada

parâmetro– Tentativa e erro

Page 46: Animação por Computador Capítulo 5 Vínculos Cinemáticos

46

5.2 Cinemática direta

• Exemplo

?

Base

End Effector3l

1

2

2l1l

3

)sin()sin()sin(

)cos()cos()cos(

332211

332211

llly

lllx

Page 47: Animação por Computador Capítulo 5 Vínculos Cinemáticos

47

5.3 Cinemática inversa

Page 48: Animação por Computador Capítulo 5 Vínculos Cinemáticos

48

5.3 Cinemática inversa

• Informações recebidas do usuário – Posição e orientação desejadas do

end effector– Pose inicial

• São calculados os valores das juntas para chegar na configuração desejada– Nenhuma solução

•Sistema sobre-restrito

– Uma solução– Várias soluções

•Sistema sub-restrito

Page 49: Animação por Computador Capítulo 5 Vínculos Cinemáticos

49

5.3 Cinemática inversa

• Nenhuma solução

Page 50: Animação por Computador Capítulo 5 Vínculos Cinemáticos

50

5.3 Cinemática inversa

• Várias soluções

Page 51: Animação por Computador Capítulo 5 Vínculos Cinemáticos

51

5.3 Cinemática inversa

• Espaço de alcance (reachable workspace)– É o volume em que o end effector

consegue alcançar

• Espaço de destreza (dextrous workspace)– É o volume em que o end effector

consegue alcançar com qualquer orientação

Page 52: Animação por Computador Capítulo 5 Vínculos Cinemáticos

52

5.3 Cinemática inversa

Page 53: Animação por Computador Capítulo 5 Vínculos Cinemáticos

53

5.3 Cinemática inversa

• Depois que os valores das juntas são calculados– Animação pode ser feita interpolando

os valores da pose inicial e final•Mudanças muito bruscas não

proporcionam controle sobre o caminho do end effector

– Solução» Várias posições intermediarias do end

effector podem ser calculadas e dadas de entrada para a cinemática inversa

Page 54: Animação por Computador Capítulo 5 Vínculos Cinemáticos

54

5.3 Cinemática inversa

• Mecanismo for simples– Calculo analítico– Sendo dados pose inicial e final

•Poses intermediárias conseguidas com a interpolação dos vetores pose

Page 55: Animação por Computador Capítulo 5 Vínculos Cinemáticos

55

5.3 Cinemática inversa

• Mecanismo complicado– Abordagem incremental

•Matriz de valores que relacionam as mudanças nos valores das juntas

– Matriz Jacobiana

•End effector é movido até chegar na configuração final (com uma certa tolerância)

Page 56: Animação por Computador Capítulo 5 Vínculos Cinemáticos

56

5.3 Cinemática inversa

• 5.3.1 Resolvendo sistema simples analiticamente– Examinar a geometria do sistema– Exemplo:

Page 57: Animação por Computador Capítulo 5 Vínculos Cinemáticos

57

5.3 Cinemática inversa

• 5.3.1 Resolvendo sistema simples analiticamente– Exemplo:

•Os ângulos podem ser conseguidos calculando a distância da base até o ponto definido

– Lei dos cossenos

•Tem que ter certeza que o ponto é alcançável

•Nesse exemplo só tem duas soluções simétricas

2122

21 LLYXLL

Page 58: Animação por Computador Capítulo 5 Vínculos Cinemáticos

58

5.3 Cinemática inversa

21

2222

21

2

21

2222

21

22

2

2180

LL

YXLL

LL

YXLL

arccos

coscos

22

22

YX

X

YX

X

T

T

arccos

cos

T

T

YXL

LYXL

YXL

LYXL

221

22

2221

1

221

22

2221

1

2

2

arccos

cos

Page 59: Animação por Computador Capítulo 5 Vínculos Cinemáticos

59

5.3 Cinemática inversa

• 5.3.2 Jacobiano– Usado para mecanismos complexos– O movimento pode ser construído

incrementalmente•A cada espaço de tempo calcula-se a

mudança dos parâmetros das juntas•Existem muitos métodos para resolver

esse problema– Grande maioria usa a matriz Jacobiana

» Matriz de derivadas parciais

Page 60: Animação por Computador Capítulo 5 Vínculos Cinemáticos

60

5.3 Cinemática inversa

• 5.3.2 Jacobiano– Explicação matemática

),,,,,(

),,,,,(

),,,,,(

),,,,,(

),,,,,(

),,,,,(

65432166

65432155

65432144

65432133

65432122

65432111

xxxxxxfy

xxxxxxfy

xxxxxxfy

xxxxxxfy

xxxxxxfy

xxxxxxfy

Page 61: Animação por Computador Capítulo 5 Vínculos Cinemáticos

61

5.3 Cinemática inversa

• 5.3.2 Jacobiano– Explicação matemática

•A derivada de pode ser escrita em função das derivadas de

•Notação vetorial

iy

ix

66

55

44

33

22

11

xx

fx

x

fx

x

fx

x

fx

x

fx

x

fy iiiiii

i

dXX

FdY

XFY

)(

Page 62: Animação por Computador Capítulo 5 Vínculos Cinemáticos

62

5.3 Cinemática inversa

• 5.3.2 Jacobiano– Explicação matemática

•A matriz de derivadas parciais é chamada de Jacobiano

– Pode ser pensada como o mapeamento das velocidades de para as velocidades de

XXJY )(

XF

X Y

Page 63: Animação por Computador Capítulo 5 Vínculos Cinemáticos

63

5.3 Cinemática inversa

• 5.3.2 Jacobiano– Quando o Jacobiano é aplicado a um

sistema que se quer animar • valores das juntas• posição e orientação do end effector

•O jacobiano relaciona a velocidade dos ângulos das juntas com a velocidade do end effector

ix

iyT

zyxzyx pppY ],,,,,[

)(JYV

Page 64: Animação por Computador Capítulo 5 Vínculos Cinemáticos

64

5.3 Cinemática inversa

• 5.3.2 Jacobiano– Quando o Jacobiano é aplicado a um

sistema que se quer animar• representa velocidade linear e angular

• é o vetor das velocidades nas juntas

Tzyxzyx vvvV ],,,,,[

V

T

n ],[ 21

Page 65: Animação por Computador Capítulo 5 Vínculos Cinemáticos

65

5.3 Cinemática inversa

• 5.3.2 Jacobiano– Quando o Jacobiano é aplicado a um

sistema que se quer animar • é a matriz JacobianaJ

n

zzz

n

yyy

n

xxx

vvv

vvv

J

21

21

21

Page 66: Animação por Computador Capítulo 5 Vínculos Cinemáticos

66

5.3 Cinemática inversa

• 5.3.2 Jacobiano– Cada termo relaciona a mudança de

uma junta especifica com uma mudança especifica no end effector• Junta de revolução

– Modifica» Velocidade da junta sobre o eixo de rotação

• Junta prismática– Orientação não muda– Mudança linear é igual a mudança na junta

• Junta de rotação– Mudança linear

» Produto vetorial do eixo de revolução com vetor da junta ao end effector

Page 67: Animação por Computador Capítulo 5 Vínculos Cinemáticos

67

5.3 Cinemática inversa

Page 68: Animação por Computador Capítulo 5 Vínculos Cinemáticos

68

5.3 Cinemática inversa

• 5.3.2 Jacobiano– Velocidades angular e linear

•Diferença da configuração atual e a desejada

•Problema: – Determinar a melhor combinação linear– Jacobiano coloca o problema na forma de

matriz

– Colocar todos os valores no mesmo sistema de coordenadas

Page 69: Animação por Computador Capítulo 5 Vínculos Cinemáticos

69

5.3 Cinemática inversa

• 5.3.2 Jacobiano (Exemplo)– A orientação do end effector não interessa para o

exemplo

Page 70: Animação por Computador Capítulo 5 Vínculos Cinemáticos

70

5.3 Cinemática inversa

• 5.3.2 Jacobiano (Exemplo)– Incrementos ig

Page 71: Animação por Computador Capítulo 5 Vínculos Cinemáticos

71

5.3 Cinemática inversa

• 5.3.2 Jacobiano (Exemplo)– Mudança desejada

– Jacobiano

z

y

x

EG

EG

EG

V

)(

)(

)(

zzz

yyy

xxx

PEPEE

PEPEE

PEPEE

J

))(),,(())(),,(()),,((

))(),,(())(),,(()),,((

))(),,(())(),,(()),,((

21

21

21

100100100

100100100

100100100

Page 72: Animação por Computador Capítulo 5 Vínculos Cinemáticos

72

5.3 Cinemática inversa

• 5.3.2 Jacobiano (Exemplo)– Assim:

3

2

1

21

21

21

100100100

100100100

100100100

zzz

yyy

xxx

z

y

x

PEPEE

PEPEE

PEPEE

EG

EG

EG

))(),,(())(),,(()),,((

))(),,(())(),,(()),,((

))(),,(())(),,(()),,((

)(

)(

)(

JV

Page 73: Animação por Computador Capítulo 5 Vínculos Cinemáticos

73

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Usando Jacobiano inverso)– Equação a ser resolvida

– Problemas•Se não existir

– Sistema singular

•Matriz não é quadrada

VJ

JV1

1J

Page 74: Animação por Computador Capítulo 5 Vínculos Cinemáticos

74

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Usando Jacobiano inverso)– Exemplo de singularidade

•Vetores perpendiculares– Impossível de fazer o movimento necessário

Page 75: Animação por Computador Capítulo 5 Vínculos Cinemáticos

75

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Usando Jacobiano inverso)– Exemplo próximo de ser singular

•Valores altos devem ser usados•Erro numérico

Page 76: Animação por Computador Capítulo 5 Vínculos Cinemáticos

76

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Usando Jacobiano inverso)– Se a matriz não quadrada

•Provavelmente tem infinitas soluções• Inversa convencional não existe

– Se as linhas forem linearmente dependentes» existe» Pseudoinversa, , pode ser usada

1)( TJJJ

Page 77: Animação por Computador Capítulo 5 Vínculos Cinemáticos

77

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Usando Jacobiano inverso)

– Nem sempre as colunas são linearmente dependentes mas as linhas são• não existe, mas existe

– Nota: tirado da errata

11

11

)()(

)()(

TTTT

TTTT

TT

JJJJJJJ

VJ

JJJJVJJJ

JJVJ

JV

1)( JJ T 1)( TJJ

Page 78: Animação por Computador Capítulo 5 Vínculos Cinemáticos

78

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Usando Jacobiano inverso)– Decomposição LU pode ser usada

para resolver

•Substituindo

VJJ

VJJT

T

)(

)( 1

TJ

Page 79: Animação por Computador Capítulo 5 Vínculos Cinemáticos

79

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Usando Jacobiano inverso)– Integração numérica pode usada para

atualizar os ângulos das juntas•Euler

– O processo é feito para cada passo de tempo até o end effector chegar ao destino•Tolerância

Page 80: Animação por Computador Capítulo 5 Vínculos Cinemáticos

80

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Usando Jacobiano inverso)– Importante:

•O jacobiano só é válido para a configuração daquele instante

Page 81: Animação por Computador Capítulo 5 Vínculos Cinemáticos

81

5.3 Cinemática inversa

Tamanhos: 15, 10 e 5Pose inicial: {π/8, π/4, π/4}Destino: {-20, 5}Total de frames: 21

Frame 0 Frame 5 Frame 10

Frame 15 Frame 20

Page 82: Animação por Computador Capítulo 5 Vínculos Cinemáticos

82

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Usando Jacobiano inverso)– Sistema sub-restrito também tem

problema de singularidade•Modificação da solução

– Parâmetro de damping dado pelo usuário– Reduzir a sensibilidade da pseudoinversa

– Se comporta melhor perto de áreas de singularidade

VIJJJ T 121 )(

Page 83: Animação por Computador Capítulo 5 Vínculos Cinemáticos

83

5.3 Cinemática inversa

Tamanhos: 15, 10 e 5Pose inicial: {π/8, π/4, π/4}Destino: {-35, 5} - fora do alcanceTotal de frames: 21

Frame 0 Frame 10 Frame 18 Frame 19 Frame 20

Sem damping

Com damping

Page 84: Animação por Computador Capítulo 5 Vínculos Cinemáticos

84

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Adicionando maior controle)– Pseudoinversa é uma solução entre

muitas•Não é necessariamente uma pose natural

– Possível forçar certos ângulos nas juntas para se ter melhor controle•Não afeta na posição do end effector

zIJJ )(

Page 85: Animação por Computador Capítulo 5 Vínculos Cinemáticos

85

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Adicionando maior controle)– Possível forçar certos ângulos nas

juntas para se ter melhor controle•Não afeta na posição do end effector

(prova)

0

0

V

zV

zJJJJV

zIJJJV

JV

)(

)(

Page 86: Animação por Computador Capítulo 5 Vínculos Cinemáticos

86

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Adicionando maior controle)– Influenciar um certo ângulo

•Não são como restrições rígidas, mas as soluções podem ser influenciadas para os valores do meio

2)( ciiiz

juntas das ganhos os são

desejados juntas das ângulos os são

correntes juntas das ângulos os são Onde,

i

ci

i

Page 87: Animação por Computador Capítulo 5 Vínculos Cinemáticos

87

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Adicionando maior controle)– Dados de entrada

• • , indica a importância relativa do

ângulo desejado associado– Quanto maior, mais alto é a rigidez da junta

ci

i

Page 88: Animação por Computador Capítulo 5 Vínculos Cinemáticos

88

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Adicionando maior controle)– Assim, a formula final:

zJzVJJJ

zJzVJJJ

zJzVJ

IzJzJVJ

zIJJVJ

TT

TT

)]()[(

)()(

)(

)(

1

1

Page 89: Animação por Computador Capítulo 5 Vínculos Cinemáticos

89

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Adicionando maior controle)– Usando a decomposição LU em:

– Assim:

)()( JzVJJ T 1

)( T

T

JJJzV

zJ

Page 90: Animação por Computador Capítulo 5 Vínculos Cinemáticos

90

5.3 Cinemática inversa

Tamanhos: 15, 10 e 5Pose inicial: {π/8, π/4, π/4}Destino: {-20, 5}Total de frames: 21Todos os ângulos serão influenciados para 0 (zero)

Frame 0 Frame 5 Frame 10 Frame 15 Frame 20

Ganho: {0.1, 0.5, 0.1}

Ganho: {0.1, 0.1, 0.5}

Page 91: Animação por Computador Capítulo 5 Vínculos Cinemáticos

91

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Jacobiano alternativo)– O invés de fazer o end effector ir até ao

destino, fazer com que o destino vá ao end effector• Usar a posição de destino no lugar do end

effector na pseudoinversa

Tamanhos: 15, 10 e 5Pose inicial: {π/8, π/4, π/4}Destino: {-20, 5}Total de frames: 21

Frame 0 Frame 50 Frame 10 Frame 15 Frame 20

Page 92: Animação por Computador Capítulo 5 Vínculos Cinemáticos

92

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Evitando inversa)– Usa-se a transposta do Jacobiano– Resolver a as equações lineares usando

a a pseudo inversa é basicamente: • Determinar o peso necessário para fazer a

velocidade desejada do vetor de mudança do instante

– Outra solução:• Criar a projeção do vetor mudança no end

effectorVJ T

Page 93: Animação por Computador Capítulo 5 Vínculos Cinemáticos

93

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Evitando inversa)– Evitar o calculo caro da inversa ou

pseudoinversa– Desvantagem:

•Pode levar o end effector para longe do destino

Tamanhos: 15, 10 e 5Pose inicial: {π/8, π/4, π/4}Destino: {-20, 5}Total de frames: 21

Frame 0 Frame 5 Frame 10 Frame 15 Frame 20

Escala usada: 0.1

Page 94: Animação por Computador Capítulo 5 Vínculos Cinemáticos

94

5.3 Cinemática inversa

• 5.3.3 Solução numérica (Coordenação de Minimização Cíclica)– Não utiliza mecanismo numérico– Considera cada junta por vez

•A partir da mais distante•Escolhe o melhor ângulo que faça o end

effector chegar no destino

Page 95: Animação por Computador Capítulo 5 Vínculos Cinemáticos

95

5.3 Cinemática inversa

Tamanhos: 15, 10 e 5Pose inicial: {π/8, π/4, π/4}Destino: {-20, 5}Total de frames: 21

Frame 0 Frame 5 Frame 10 Frame 15 Frame 20

Page 96: Animação por Computador Capítulo 5 Vínculos Cinemáticos

96

Referências

• Slides de J. H. Chuang

• Banco de imagens e vídeos do livro

• Errata do livro

• Dissertação de Benedito Aloísio