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 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 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 Modelagem hierárquica Termos –Muito conteúdo é proveniente da robótica

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

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

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

16 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 Modelagem hierárquica Termos –Juntas Ball and socket

18 Modelagem hierárquica Termos –Juntas Hinge

19 Modelagem hierárquica Termos –Juntas Slider

20 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 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 Modelagem hierárquica

23 Modelagem hierárquica 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 Modelagem hierárquica 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 Modelagem hierárquica Estrutura de dados –Transformações globais ocorrem no nó raiz Indiretamente, afeta o resto da hierarquia

26 Modelagem hierárquica 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 Modelagem hierárquica Estrutura de dados

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

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

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

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

32 Modelagem hierárquica Estrutura de dados (Exemplo) –Posição final de um vértice de um objeto Concatenação de transformações

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

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

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

36 Modelagem hierárquica 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 Modelagem hierárquica Estrutura de dados (Exemplo) –Mais de uma estrutura anexada Estrutura

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

39 Modelagem hierárquica 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 Modelagem hierárquica Frames de coordenadas locais Cinemática direta x Cinemática inversa

41 Modelagem hierárquica 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 Cinemática direta

43 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 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 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 Cinemática direta Exemplo ? Base End Effector

47 Cinemática inversa

48 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 Cinemática inversa Nenhuma solução

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

51 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 Cinemática inversa

53 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 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 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 Cinemática inversa Resolvendo sistema simples analiticamente –Examinar a geometria do sistema –Exemplo:

57 Cinemática inversa 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 Cinemática inversa

59 Cinemática inversa 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 Cinemática inversa Jacobiano –Explicação matemática

61 Cinemática inversa Jacobiano –Explicação matemática A derivada de pode ser escrita em função das derivadas de Notação vetorial

62 Cinemática inversa 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 Cinemática inversa 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 Cinemática inversa Jacobiano –Quando o Jacobiano é aplicado a um sistema que se quer animar representa velocidade linear e angular é o vetor das velocidades nas juntas

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

66 Cinemática inversa 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 Cinemática inversa

68 Cinemática inversa 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 Cinemática inversa Jacobiano (Exemplo) –A orientação do end effector não interessa para o exemplo

70 Cinemática inversa Jacobiano (Exemplo) –Incrementos

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

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

73 Cinemática inversa Solução numérica (Usando Jacobiano inverso) –Equação a ser resolvida –Problemas Se não existir –Sistema singular Matriz não é quadrada

74 Cinemática inversa Solução numérica (Usando Jacobiano inverso) –Exemplo de singularidade Vetores perpendiculares –Impossível de fazer o movimento necessário

75 Cinemática inversa Solução numérica (Usando Jacobiano inverso) –Exemplo próximo de ser singular Valores altos devem ser usados Erro numérico

76 Cinemática inversa 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 Cinemática inversa 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 Cinemática inversa Solução numérica (Usando Jacobiano inverso) –Decomposição LU pode ser usada para resolver Substituindo

79 Cinemática inversa 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 Cinemática inversa Solução numérica (Usando Jacobiano inverso) –Importante: O jacobiano só é válido para a configuração daquele instante

81 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 Cinemática inversa 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 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 Cinemática inversa 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 Cinemática inversa 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 Cinemática inversa 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 Cinemática inversa 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 Cinemática inversa Solução numérica (Adicionando maior controle) –Assim, a formula final:

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

90 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 Cinemática inversa 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 Cinemática inversa 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 Cinemática inversa 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 Cinemática inversa 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 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