960 likes | 1.12k Views
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.
E N D
Animação por ComputadorCapítulo 5Ví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 • É 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?
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. 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. 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
5. Introdução • Animando estruturas hierárquicas • Cinemática direta • Animador deve especificar os parâmetros de rotação nas juntas
5. Introdução • Animando estruturas hierárquicas • Cinemática inversa • Animador deve especificar a posição da mão
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
raiz 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
5.1 Modelagem hierárquica • Termos • Muito conteúdo é proveniente da robótica
5.1 Modelagem hierárquica • Termos • Manipuladores • Sequência de objetos conectados por juntas
5.1 Modelagem hierárquica • Termos • Link • Objeto rígido entre duas juntas
5.1 Modelagem hierárquica • Termos • End effector • Fim da cadeia de objetos
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
5.1 Modelagem hierárquica • Termos • Juntas • Ball and socket
5.1 Modelagem hierárquica • Termos • Juntas • Hinge
5.1 Modelagem hierárquica • Termos • Juntas • Slider
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:
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
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
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
5.1 Modelagem hierárquica • 5.1.1 Estrutura de dados • Transformações globais ocorrem no nó raiz • Indiretamente, afeta o resto da hierarquia
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
5.1 Modelagem hierárquica • 5.1.1 Estrutura de dados
5.1 Modelagem hierárquica • 5.1.1 Estrutura de dados (Exemplo) • Estrutura
5.1 Modelagem hierárquica • 5.1.1 Estrutura de dados (Exemplo) • Estrutura
5.1 Modelagem hierárquica • 5.1.1 Estrutura de dados (Exemplo) • Estrutura
5.1 Modelagem hierárquica • 5.1.1 Estrutura de dados (Exemplo) • Árvore
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
5.1 Modelagem hierárquica • 5.1.1 Estrutura de dados (Exemplo) • Animação de junta de revolução • Transformações parametrizadas
5.1 Modelagem hierárquica • 5.1.1 Estrutura de dados (Exemplo) • Animação de junta de revolução • Estrutura
5.1 Modelagem hierárquica • 5.1.1 Estrutura de dados (Exemplo) • Animação de junta de revolução • Árvore
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
5.1 Modelagem hierárquica • 5.1.1 Estrutura de dados (Exemplo) • Mais de uma estrutura anexada • Estrutura
5.1 Modelagem hierárquica • 5.1.1 Estrutura de dados (Exemplo) • Mais de uma estrutura anexada • Árvore
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
5.1 Modelagem hierárquica • 5.1.2 Frames de coordenadas locais Cinemática direta x Cinemática inversa
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
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
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
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
5.2 Cinemática direta • Exemplo ? End Effector Base
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
5.3 Cinemática inversa • Nenhuma solução
5.3 Cinemática inversa • Várias soluções