Animação por Computador Capítulo 5 Vínculos Cinemáticos
description
Transcript of Animação por Computador Capítulo 5 Vínculos Cinemáticos
![Page 1: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/1.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/2.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/3.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/4.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/5.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/6.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/7.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/8.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/9.jpg)
5.1 Modelagem hierárquica
![Page 10: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/10.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/11.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/12.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/13.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/14.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/15.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/16.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/17.jpg)
17
5.1 Modelagem hierárquica
• Termos– Juntas
•Ball and socket
![Page 18: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/18.jpg)
18
5.1 Modelagem hierárquica
• Termos– Juntas
•Hinge
![Page 19: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/19.jpg)
19
5.1 Modelagem hierárquica
• Termos– Juntas
•Slider
![Page 20: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/20.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/21.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/22.jpg)
22
5.1 Modelagem hierárquica
![Page 23: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/23.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/24.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/25.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/26.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/27.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/28.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/29.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/30.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/31.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/32.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/33.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/34.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/35.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/36.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/37.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/38.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/39.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/40.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/41.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/42.jpg)
42
5.2 Cinemática direta
![Page 43: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/43.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/44.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/45.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/46.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/47.jpg)
47
5.3 Cinemática inversa
![Page 48: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/48.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/49.jpg)
49
5.3 Cinemática inversa
• Nenhuma solução
![Page 50: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/50.jpg)
50
5.3 Cinemática inversa
• Várias soluções
![Page 51: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/51.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/52.jpg)
52
5.3 Cinemática inversa
![Page 53: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/53.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/54.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/55.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/56.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/57.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/58.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/59.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/60.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/61.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/62.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/63.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/64.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/65.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/66.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/67.jpg)
67
5.3 Cinemática inversa
![Page 68: Animação por Computador Capítulo 5 Vínculos Cinemáticos](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/68.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/69.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/70.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/71.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/72.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/73.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/74.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/75.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/76.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/77.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/78.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/79.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/80.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/81.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/82.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/83.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/84.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/85.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/86.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/87.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/88.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/89.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/90.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/91.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/92.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/93.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/94.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/95.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022062722/56813a2b550346895da2110d/html5/thumbnails/96.jpg)
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