A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Animação por Computador Capítulo 5 Vínculos Cinemáticos"— Transcrição da apresentação:

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

2 Sumário do Capítulo 5 5. Introdução 5.1 Modelagem hierárquica
5.2 Cinemática direta 5.3 Cinemática inversa

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? 3

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 4

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 ... 5

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 6

7 5. Introdução Animando estruturas hierárquicas Cinemática direta
Animador deve especificar os parâmetros de rotação nas juntas 7

8 5. Introdução Animando estruturas hierárquicas Cinemática inversa
Animador deve especificar a posição da mão 8

9 5.1 Modelagem hierárquica

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 10

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 11

12 5.1 Modelagem hierárquica
Termos Muito conteúdo é proveniente da robótica 12

13 5.1 Modelagem hierárquica
Termos Manipuladores Sequência de objetos conectados por juntas 13

14 5.1 Modelagem hierárquica
Termos Link Objeto rígido entre duas juntas 14

15 5.1 Modelagem hierárquica
Termos End effector Fim da cadeia de objetos 15

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 16

17 5.1 Modelagem hierárquica
Termos Juntas Ball and socket 17

18 5.1 Modelagem hierárquica
Termos Juntas Hinge 18

19 5.1 Modelagem hierárquica
Termos Juntas Slider 19

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

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 21

22 5.1 Modelagem hierárquica
22

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 23

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 24

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 25

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 26

27 5.1 Modelagem hierárquica
5.1.1 Estrutura de dados 27

28 5.1 Modelagem hierárquica
5.1.1 Estrutura de dados (Exemplo) Estrutura 28

29 5.1 Modelagem hierárquica
5.1.1 Estrutura de dados (Exemplo) Estrutura 29

30 5.1 Modelagem hierárquica
5.1.1 Estrutura de dados (Exemplo) Estrutura 30

31 5.1 Modelagem hierárquica
5.1.1 Estrutura de dados (Exemplo) Árvore 31

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 32

33 5.1 Modelagem hierárquica
5.1.1 Estrutura de dados (Exemplo) Animação de junta de revolução Transformações parametrizadas 33

34 5.1 Modelagem hierárquica
5.1.1 Estrutura de dados (Exemplo) Animação de junta de revolução Estrutura 34

35 5.1 Modelagem hierárquica
5.1.1 Estrutura de dados (Exemplo) Animação de junta de revolução Árvore 35

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 36

37 5.1 Modelagem hierárquica
5.1.1 Estrutura de dados (Exemplo) Mais de uma estrutura anexada Estrutura 37

38 5.1 Modelagem hierárquica
5.1.1 Estrutura de dados (Exemplo) Mais de uma estrutura anexada Árvore 38

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 39

40 5.1 Modelagem hierárquica
5.1.2 Frames de coordenadas locais Cinemática direta x Cinemática inversa 40

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 41

42 5.2 Cinemática direta 42

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 43

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 44

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 45

46 5.2 Cinemática direta Exemplo ? End Effector Base 46

47 5.3 Cinemática inversa 47

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 48

49 5.3 Cinemática inversa Nenhuma solução 49

50 5.3 Cinemática inversa Várias soluções 50

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 51

52 5.3 Cinemática inversa 52

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 53

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 54

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

56 5.3 Cinemática inversa 5.3.1 Resolvendo sistema simples analiticamente
Examinar a geometria do sistema Exemplo: 56

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 57

58 5.3 Cinemática inversa 58

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 59

60 5.3 Cinemática inversa 5.3.2 Jacobiano Explicação matemática 60

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 61

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 62

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 63

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 64

65 5.3 Cinemática inversa 5.3.2 Jacobiano
Quando o Jacobiano é aplicado a um sistema que se quer animar é a matriz Jacobiana 65

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 66

67 5.3 Cinemática inversa 67

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 68

69 5.3 Cinemática inversa 5.3.2 Jacobiano (Exemplo)
A orientação do end effector não interessa para o exemplo 69

70 5.3 Cinemática inversa 5.3.2 Jacobiano (Exemplo) Incrementos 70

71 5.3 Cinemática inversa 5.3.2 Jacobiano (Exemplo) Mudança desejada
71

72 5.3 Cinemática inversa 5.3.2 Jacobiano (Exemplo) Assim: 72

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 73

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 74

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 75

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 76

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 77

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 78

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 79

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 80

81 5.3 Cinemática inversa Frame 0 Frame 5 Frame 10 Frame 15 Frame 20
Tamanhos: 15, 10 e 5 Pose inicial: {π/8, π/4, π/4} Destino: {-20, 5} Total de frames: 21 81

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 82

83 5.3 Cinemática inversa Frame 0 Frame 10 Frame 18 Frame 19 Frame 20
Sem damping Com damping Tamanhos: 15, 10 e 5 Pose inicial: {π/8, π/4, π/4} Destino: {-35, 5} - fora do alcance Total de frames: 21 83

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 84

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

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 86

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 87

88 5.3 Cinemática inversa 5.3.3 Solução numérica (Adicionando maior controle) Assim, a formula final: 88

89 5.3 Cinemática inversa 5.3.3 Solução numérica (Adicionando maior controle) Usando a decomposição LU em: Assim: 89

90 5.3 Cinemática inversa Frame 0 Frame 5 Frame 10 Frame 15 Frame 20
Ganho: {0.1, 0.5, 0.1} Ganho: {0.1, 0.1, 0.5} Tamanhos: 15, 10 e 5 Pose inicial: {π/8, π/4, π/4} Destino: {-20, 5} Total de frames: 21 Todos os ângulos serão influenciados para 0 (zero) 90

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 Frame 0 Frame 50 Frame 10 Frame 15 Frame 20 Tamanhos: 15, 10 e 5 Pose inicial: {π/8, π/4, π/4} Destino: {-20, 5} Total de frames: 21 91

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 effector 92

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 Frame 0 Frame 5 Frame 10 Frame 15 Frame 20 Tamanhos: 15, 10 e 5 Pose inicial: {π/8, π/4, π/4} Destino: {-20, 5} Total de frames: 21 Escala usada: 0.1 93

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 94

95 5.3 Cinemática inversa Frame 0 Frame 5 Frame 10 Frame 15 Frame 20
Tamanhos: 15, 10 e 5 Pose inicial: {π/8, π/4, π/4} Destino: {-20, 5} Total de frames: 21 95

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 96


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

Apresentações semelhantes


Anúncios Google