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 CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.

Apresentações semelhantes


Apresentação em tema: "Animação por Computador Capítulo 5 Vínculos Cinemáticos CRAb – Grupo de Computação Gráfica Departamento de Computação UFC."— 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 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 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?

4 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

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

6 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

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

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

9 5.1 Modelagem hierárquica

10 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

11 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

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

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

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

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

16 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

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

18 18 5.1 Modelagem hierárquica Termos –Juntas Hinge

19 19 5.1 Modelagem hierárquica Termos –Juntas Slider

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

21 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

22 22 5.1 Modelagem hierárquica

23 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

24 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

25 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

26 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

27 27 5.1 Modelagem hierárquica 5.1.1 Estrutura de dados

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

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

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

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

32 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

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

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

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

36 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

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

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

39 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

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

41 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

42 42 5.2 Cinemática direta

43 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

44 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

45 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

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

47 47 5.3 Cinemática inversa

48 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

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

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

51 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

52 52 5.3 Cinemática inversa

53 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

54 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

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

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

57 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

58 58 5.3 Cinemática inversa

59 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

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

61 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

62 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

63 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

64 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

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

66 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

67 67 5.3 Cinemática inversa

68 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

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

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

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

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

73 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

74 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

75 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

76 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

77 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

78 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

79 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

80 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

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

82 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

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

84 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

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

86 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

87 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

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

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

90 90 5.3 Cinemática inversa 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) Frame 0Frame 5Frame 10Frame 15Frame 20 Ganho: {0.1, 0.5, 0.1} Ganho: {0.1, 0.1, 0.5}

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

92 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

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

94 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

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

96 96 Referências Slides de J. H. ChuangSlides de J. H. Chuang Banco de imagens e vídeos do livro Errata do livro Dissertação de Benedito Aloísio


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

Apresentações semelhantes


Anúncios Google