• Nenhum resultado encontrado

Um modelo de contato simplificado para tratamento de equilíbrio

N/A
N/A
Protected

Academic year: 2018

Share "Um modelo de contato simplificado para tratamento de equilíbrio"

Copied!
78
0
0

Texto

(1)

DEPARTAMENTO DE COMPUTAÇÃO

CURSO DE CIÊNCIA DA COMPUTAÇÃO

DANILO BORGES DA SILVA

UM MODELO DE CONTATO SIMPLIFICADO PARA TRATAMENTO

DE EQUILÍBRIO

(2)

UM MODELO DE CONTATO SIMPLIFICADO PARA TRATAMENTO

DE EQUILÍBRIO

Dissertação submetida à Coordenação do Curso de Pós-Graduação em Ciência da Computação da Universidade Federal do Ceará, como requi-sito parcial para a obtenção do grau de Mestre em Ciência da Computação.

Área de concentração: Computação Gráfica

Orientador: Prof. Dr. Creto Augusto Vidal

Coorientador: Prof. Dr. Joaquim Bento Cavalcante Neto

(3)

UM MODELO DE CONTATO SIMPLIFICADO PARA TRATAMENTO

DE EQUILÍBRIO

Dissertação submetida à Coordenação do Curso de Pós-Graduação em Ciência da Computação, da Universidade Federal do Ceará, como requisito parcial para a obtenção do grau de Mestre em Ciência da Computação. Área de concentração: Computação Gráfica

Aprovada em: __/__/____

BANCA EXAMINADORA

Prof. Dr. Creto Augusto Vidal Universidade Federal do Ceará (UFC)

Orientador

Prof. Dr. Joaquim Bento Cavalcante Neto Universidade Federal do Ceará (UFC)

Coorientador

Prof. Dra. Emanuele Marques dos Santos Universidade Federal do Ceará (UFC)

Prof. Dr. Rubens Fernandes Nunes Universidade Federal do Ceará (UFC)

Prof. Dra. Luciana Porcher Nedel Universidade Federal do Rio Grande do Sul

(4)

Agradeço primeiramente a Deus.

Aos meus pais, Dolores e Cláudio, que me apoiaram durante toda a minha vida, oferecendo-me educação e ensinando os valores da vida. Sem seu apoio e seus incentivos eu não chagaria até aqui.

À minha irmã, Stéfani, e à minha avó, Benice, que, mesmo não estando presentes, sei que torcem muito pelas minhas conquistas, assim como toda a minha família.

À minha namorada Sadja que esteve me apoiando na fase final de conclusão do Mestrado.

Não poderia deixar de citar alguns amigos que me apoiaram no começo do mestrado: Josué, Flávio, Arnaldo, Lílian, Laise, Martha, e Angélica. A algumas pessoas que me ajudaram no desenvolvimento do texto, em especial, Sadja, Martha, Lílian, Roberto, Israel, Flávio e Gelson.

A Rubens que, além de desempenhar o papel de coorientador, me instruiu de forma a aumentar meu gosto pela pesquisa. Foi dele que veio a ideia para este trabalho.

A todos os professores que tive durante o Mestrado, que fortificaram meus conhe-cimentos. Em especial, aos meus orientadores, Creto Vidal e Joaquim Bento, pelo incentivo, paciência e conhecimentos prestados.

Ao Mestrado em Ciência da Computação da Universidade Federal do Ceará, pela oportunidade, e à FUNCAP, pelo apoio financeiro.

(5)

Neste trabalho é apresentado um sistema de controle baseado em física para perso-nagens bípedes, em um ambiente simulado, utilizando movimentos de referência. O controle consiste em dois componentes: o controle Derivativo-Proporcional para imitar as características angulares das juntas e o controle de equilíbrio atráves da Jacobiana Transposta composta pelo momento angular e linear no centro de massa do personagem, utilizando todas as partes do seu corpo. O sistema é simples de implementar e todas as constantes são determinadas pelo usuário. Um modelo de contado aplicado a um modelo simplificado de pé confere ao controlador a capacidade de fazer com que o personagem siga movimentos de locomoção ou modifique sua postura parada, em ambos os casos, adaptando-se a perturbações externas. A robustez do controlador é demonstrada através de uma diversidade de movimentos tais como: caminhar para frente e para trás, agachar e levantar, dar socos e chutes, e jogar capoeira. Todos esses movimentos apresentam uma dinâmica natural.

(6)

This work presents a physics-based controlling system for bipeds Characters in a simulated environment, using reference motions. It consists of two components: Proportional-Derivative Control to mimic angular joints characteristics and balance control through the Transpose Jacobian composing for angular and linear momentum in the center of mass from caracter, using all parts of its body. The system is simple to implement and all the constants are determined by the user. The contact model aplied to the simplified foot model, confers to controller the ability to make the character follow locomotion movements or modify their stop posture, in both cases, adapting to external perturbations. The robustness of the controller is shown through a variety of movements such as walking front and back, squatting and raising, bowing, kicking and dancing capoeira. All these movements have a natural dynamics.

(7)

Figura 1.1 Uso de MoCap na indústria cinematográfica. . . 14

Figura 2.1 Esquema do controle de movimento no espaço de juntas (GEIJTENBEEK; PRONOST; OVERMARS, 2011). . . 17

Figura 2.2 Uso de malhas geométricas na renderização do personagem. (a) Modelo huma-noide utilizado por (ABE; SILVA; POPOVI ´C, 2007) e (b) Modelo humahuma-noide utilizado por (COROS; BEAUDOIN; PANNE, 2010). . . 18

Figura 2.3 Tipos de juntas usualmente utilizadas em modelos humanoides. . . 19

Figura 2.4 Estrutura do controlador agindo na simulação física (NUNES, 2012). . . 20

Figura 2.5 Mola com amortecimento agindo em uma junta do tipo dobradiça. . . 20

Figura 2.6 Renderização dos dados de captura de movimento para um personagem virtual. 22 Figura 3.1 Posição desejada da projeção do COM do personagem. (a) A posição desejada (posd) se localiza na distância média entre os centróides das projeções dos pés. Em (b) essa posd é o centróide da envoltória convexa formada pelos pontos de contato dos pés do personagem no solo. . . 24

Figura 3.2 Escolha da cadeia de juntas para aplicação de torques na estratégia de equilíbrio utilizada por (GEIJTENBEEK; PRONOST; STAPPEN, 2012). . . 26

Figura 3.3 Framework do trabalho de Abe, da Silva e Popovi´c (2007). O controle de equilíbrio utiliza todas as estruturas articuladas do personagem objetivando deixar o personagem dentro do cone de fricção. . . 27

Figura 3.4 Frameworkdo trabalho de (MACCHIETTO; ZORDAN; SHELTON, 2009). O controle de equilíbrio utiliza todos oslinksdo personagem. . . 27

(8)

Figura 4.1 Detalhamento da geometria do pé. (a) Modelo do pé utilizado por (WANG; FLEET; HERTZMANN, 2009). (b) Modelo do pé utilizado por (JAIN; LIU, 2011). . . 34

Figura 4.2 A geometria paramétrica do pé proposta permite ao usuário balancear estabili-dade e corretude física da simulação. . . 35

Figura 4.3 Visão geral do controlador de movimento. . . 36

Figura 4.4 Posição desejada em função da projeção dos centros de massa dos pés de apoio. O retângulo preenchido de vermelho indica que o pé está em contato com o solo. (a) Os dois pés estão apoiados no solo. (b) Somente o pé direito está apoiado no solo. . . 42

Figura 4.5 Modelagem de contato utilizada para o pé de apoio, baseada no cone de fricção de Coulomb. (a) Vista superior do pé. (b) Vista lateral do pé. . . 45

Figura 5.1 Modelo do personagem utilizado nas simulações. À esquerda tem-se o modelo utilizado para simulação física construído com paralelepípedos descrevendo cada uma das estruturas articuladas do personagem. À direita tem-se o persona-gem utilizando malhas sobre suas estruturas articuladas operando somente na parte da renderização da animação. . . 46

Figura 5.2 Em todas as imagens o Controle de Equilíbrio está ativo. (a) Não é adotada a geometria paramétrica do pé. (b) É adotada a geometria paramétrica. (c) Após o personagem chegar a um equilíbrio estável com o uso da geometria paramétrica efetuou-se o desligamento dessa geometria, agindo no controle somente a geometria do pé utilizada na simulação (paralelepípedo). . . 48

Figura 5.3 As setas localizadas no lado esquerdo da imagem identificam os eixos coorde-nados. As setas informam a direção positiva de cada eixo. A seta vermelha identifica a direção do eixo x, a seta verde indica a direção do eixo y e a seta azul mostra a direção do eixo z. Considera-se então que o personagem está olhando para a direção do eixo z positivo. . . 49

(9)

Figura 5.5 A junta do pescoço apresentouεx=0,00089,εy=0,0 eεz=0,00064. . . 51

Figura 5.6 A junta do dorso apresentouεx=0,00402,εy=0,00984 eεz=0,00144. . . 51

Figura 5.7 A junta da cintura apresentouεx=0,01005,εy=0,00986 eεz=0,00446. . . 51

Figura 5.8 A junta do ombro esquerdo apresentouεx=0,00432,εy=0,00124 eεz=0,00029. 52

Figura 5.9 A junta do ombro direito apresentouεx=0,00268,εy=0,00074 eεz=0,00053. 52

Figura 5.10 A junta do cotovelo esquerdo apresentouεx=0,00053,εy=0,00062 eεz=0,00004

em radianos. . . 52

Figura 5.11 A junta do cotovelo direito apresentouεx=0,00081,εy=0,00029 eεz=0,00040. 53

Figura 5.12 A junta do quadril esquerdo apresentouεx=0,10343,εy=0,00064 eεz=0,00843. 53

Figura 5.13 A junta do quadril direito apresentouεx=0,04414,εy=0,00348 eεz=0,00857. 53

Figura 5.14 A junta do joelho esquerdo apresentouεx=0,06215,εy=0,01784 eεz=0,01900. 54

Figura 5.15 A junta do joelho direito apresentouεx=0,06881,εy=0,00336 eεz=0,03956. 54

Figura 5.16 A junta do tornozelo esquerdo apresentouεx=0,00461,εy=0,00845 eεz=0,05029. 54

Figura 5.17 A junta do tornozelo direito apresentouεx=0,06216,εy=0,06216 eεz=0,03973. 55

Figura 5.18 Algunskeyframesdo movimento de caminhar para frente e para traz (leitura dos keyframesda esquerda para direita de cima para baixo ). . . 56

Figura 5.19 Movimento de caminhar para frente e para trás considerando todas as constantes do Controle de Equilíbrio (fks, fkd,tks,tkd,kmaekml) . . . 57

(10)

constan-Figura 5.21 Movimento de caminhar para frente e para trás considerando todas as constantes do Controle de Equilíbrio exceto as constantes relacionadas a força de controle (fkse fkd). . . 58

Figura 5.22 Movimento de caminhar para frente e para trás considerando todas as constantes do Controle de Equilíbrio exceto as constantes relacionadas aos momentos (kma

ekml). . . 58

Figura 5.23 Movimento de caminhar para frente e para trás desconsiderando as constantes do Controle de Equilíbrio que atuam no torque e na força de controle (fks, fkd,

tksetkd). . . 59

Figura 5.24 Personagem apoiado sobre o pé direito com aplicação de uma força externa no sentido do eixo -x, x, z e -z (leitura doskeyframesda esquerda para direita de cima para baixo). . . 61

Figura 5.25 A pélvis do personagem é puxada para atingir o ponto virtual (esfera dourada). 62

Figura 5.26 Mudança de direção do personagem (leitura doskeyframesda esquerda para direita de cima para baixo ). . . 64

Figura 5.27 Personagem carregando duas xícaras de café com mudança de direção (leitura doskeyframesda esquerda para direita de cima para baixo ). . . 65

Figura 5.28 Personagem subindo e descendo uma rampa com inclinação de 15 graus (leitura doskeyframesda esquerda para direita de cima para baixo ). . . 66

Figura 5.29 Lançamento de esferas sobre o personagem, enquanto o mesmo segue dados de MoCap de jogar capoiera (leitura doskeyframesda esquerda para direita de cima para baixo ). . . 67

Figura 6.1 A esquerda (cinza) o personagem do MoCap e a direita o personagem simulado no movimento de balançar o pé (leitura doskeyframesde cima para baixo da esquerda para direita). . . 69

(11)
(12)

Tabela 5.1 Valores utilizados para as constantes discriminadas no controlador (Subseção 4.3) e no modelo simplificado do pé (Seção 4.4). . . 49

Tabela 5.2 Valores utilizados para as constantes discriminadas no controlador (Subseção 4.3) e no modelo simplificado do pé (Subseção 4.4). . . 56

Tabela 5.3 A tabela mostra os valores deξ e da diferença da variação máxima e mínima relacionados com cada simulação das figuras 5.19 a 5.23. . . 59

Tabela 5.4 Valores utilizados para as constantes discriminadas no controlador (Subseção 4.3) e no modelo simplificado do pé (Subseção 4.4) para produzir a animação da Figura 5.24. . . 61

Tabela 5.5 Valores utilizados para as constantes discriminadas no controlador (Subseção 4.3) e no modelo simplificado do pé (Subseção 4.4) para produzir a animação da Figura 5.25. . . 63

Tabela 5.6 Valores utilizados para as constantes discriminadas no controlador (Subseção 4.3) e no modelo simplificado do pé (Seção 4.4). . . 66

Tabela B.1 Matriz para hierarquia de relacionamento de juntas (linhas) com oslinks (colu-nas) do modelo descrito na Figura B.1 (a), com os dois pés do personagem em contato com o solo. . . 76

Tabela B.2 Matriz para hierarquia de relacionamento de juntas (linhas) com oslinks (colu-nas) do modelo descrito na Figura B.1 (b), com o pé direito do personagem em contato com o solo. . . 76

(13)

1 INTRODUÇÃO 14

1.1 Motivação . . . 14

1.2 Objetivos e Contribuições . . . 15

1.3 Organização do Trabalho. . . 16

2 CONCEITOS PRELIMINARES 17 2.1 Introdução. . . 17

2.2 Simulação Baseada em Física . . . 17

2.2.1 Estrutura do Modelo . . . 18

2.2.2 Controladores . . . 19

2.2.3 Controlador Proporcional-Derivativo . . . 20

2.3 Jacobiana. . . 21

2.4 Dados de Movimentos Capturados. . . 21

2.5 Considerações Finais. . . 22

3 TRABALHOS RELACIONADOS 23 3.1 Introdução. . . 23

3.2 Controladores de Equilíbrio . . . 24

3.3 Controladores de Locomoção . . . 28

3.4 Considerações Finais. . . 31

4 TÉCNICA PROPOSTA 32 4.1 Introdução. . . 32

4.2 Controladores PD para Juntas Esféricas . . . 36

4.3 Controlador de Equilíbrio . . . 37

4.3.1 Construção da Jacobiana . . . 37

4.3.2 Força Virtual . . . 41

4.3.3 Torque Virtual . . . 43

(14)

5 RESULTADOS 46

5.1 Introdução. . . 46

5.2 Aspectos Técnicos . . . 46

5.3 Robustez dos Controladores . . . 47

5.4 Testes . . . 60

5.4.1 Perturbação do Equilíbrio por Forças Externas . . . 60

5.4.2 Perturbação do Equilíbrio por Controladores Externos . . . 62

5.4.3 Mudança de Direção . . . 63

5.4.4 Segurando uma Xícara de Café . . . 64

5.4.5 Subindo e Descendo Rampas . . . 65

5.4.6 Perturbações Externas . . . 66

5.5 Considerações Finais. . . 67

6 CONCLUSÃO E TRABALHOS FUTUROS 68 6.1 Trabalhos Futuros . . . 69

Referências Bibliográficas 71

Apêndice A -- Estrutura do Personagem 74

(15)

1 INTRODUÇÃO

1.1 Motivação

A animação de personagens levando em conta a dinâmica de estruturas articuladas (links) pro-porciona movimentos plausíveis quando comparados aos movimentos de personagens reais. Em diversas aplicações, o realismo dos movimentos é imperativo. Nessas aplicações, o persona-gem está imerso em um ambiente no qual ele deve reagir a múltiplos eventos, possivelmente inesperados. Em casos como esses, a animação através de abordagens cinemáticas não é a mais adequada (NOGUEIRA, 2007). Assim, a busca por controladores baseados em física, que atuam no personagem a fim de fazê-lo responder às perturbações impostas pelo ambiente e garantir a naturalidade do movimento é um tema de pesquisa bastante atual. Nessa busca, quanto maior a robustez e a flexibilidade do controlador, melhores são os resultados da animação (GEIJTENBEEK; PRONOST, 2012).

Observam-se, com frequência, as aplicações dessas pesquisas em animação em vários segmentos de mercado, como, por exemplo, o publicitário, o cinematográfico, o de robótica e o de produção de jogos. Ultimamente, os filmes de animação apresentam personagens que aparentam ser pessoas reais na tela. Para isso, muitos filmes de ação utilizam dados de Movimentos Capturados (MoCap) a fim de conferir ao personagem virtual as expressões e ações físicas do ator (Figura 1.1).

(a) Captura de movimento no filme Avatar, 2009. (b) Captura de movimento no filme Iron Man, 2008.

Figura 1.1: Uso de MoCap na indústria cinematográfica.

(16)

animação de personagens articulados em um ambiente fisicamente simulado, e funcionam como uma espécie de cérebro virtual que calcula e transmite o movimento necessário a cada membro do personagem a fim de cumprir um determinado objetivo, como atingir um ponto virtual, por exemplo.

Uma estratégia de controle utilizada para atingir pontos virtuais por meio de uma estrutura articulada foi proposta na cinemática inversa clássica com o uso da matriz Jacobiana (PARENT, 2007). Em um personagem articulado com uma base fixa conectada a uma cadeia delinksarticulados, essa matriz relaciona as velocidades dos elementos da cadeia à velocidade do efetor final – usualmente o elemento localizado no extremo da cadeia. Ela também pode ser usada em procedimentos que determinam as orientações dos elementos da cadeia que são necessárias para que o efetor final atinja uma posição desejada. No entanto, deve-se levar em consideração que a base (raiz) da estrutura articulada esteja fixa.

A Jacobiana também pode ser utilizada em aplicações dinâmicas, sendo um meio para a manipulação dos graus de liberdade globais do personagem, ao relacionar as forças externas aos torques internos (WROTEK, 2006; GEIJTENBEEK; PRONOST; STAPPEN, 2012) na estrutura articulada do personagem para o alcance de objetivos. Nesse contexto, muitos trabalhos utilizam uma matriz Jacobiana como uma camada de abstração para simplificar o tratamento de equilíbrio. Outro aspecto importante que influencia o equilíbrio é o fato dos graus de liberdade globais do personagem não possuírem atuadores diretos. Eles são controlados indiretamente pelos atuadores internos das juntas e pela interação dos pés com o chão.

Este trabalho exibe uma simplificação do contato dos pés do personagem com o chão, para melhor controle de seu equilíbrio. Essa simplificação consiste na utilização da chamada geometria paramétrica do pé, que é desassociada da geometria do pé simulado. Esse controle de equilíbrio atua em todas as partes do personagem fazendo com que todos os seus membros influenciem na manutenção de seu equilíbrio. Essa é uma resposta natural relacionada ao equilíbrio humano, ou seja, levar o braço ou a perna, ou quaisquer de seus membros, para uma determinada posição a fim de manter-se em equilíbrio. Para tentar simular essa característica natural humana, a Jacobiana utilizada neste trabalho foi construída de forma a considerar cada um dos segmentos articulados do personagem como efetores finais para manutenção de seu equilíbrio.

1.2 Objetivos e Contribuições

(17)

segmentos articulados do personagem para o alcance do equilíbrio.

O modelo simplificado do pé realizado de forma paramétrica garantiu que a suposição sobre raiz da estrutura utilizada na Jacobiana fosse mantida, de forma robusta, promovendo melhor adaptatividade do controlador para variados tipos de movimentos. Esse modelo dita que parte ou todo impacto do pé do personagem contra o solo será absorvido na aplicação do controle de equilíbrio.

A contribuição principal deste trabalho é o desenvolvimento de um controlador simples de implementar que não necessita de otimizadores e que possui uma simplificação na estrutura do modelo do pé para concepção de um equilíbrio estável. Além disso, é possível deixar a critério do usuário a manipulação de todas as constantes do sistema.

1.3 Organização do Trabalho

(18)

2 CONCEITOS PRELIMINARES

2.1 Introdução

Neste capítulo, são introduzidos os conceitos e definições relevantes para o entendimento deste trabalho. Na Seção 2.2, são apresentadas a abordagem de animação utilizada no trabalho, a descrição do modelo do personagem e as estruturas utilizadas para controlar sua animação. Na Seção 2.3, é definida a matriz Jacobiana do mapeamento que relaciona as orientações das juntas com os graus de liberdade que definem a pose do personagem. Em seguida, discute-se a importância da matriz Jacobiana. E finalmente, na Seção 2.4, apresenta-se o processo de captura de movimentos e como se podem usar os dados obtidos com esta metodologia.

2.2 Simulação Baseada em Física

Segundo Pina et al. (2000), os problemas de animação baseados em física são agrupados em duas categorias: os problemas de dinâmica direta e os problemas de dinâmica inversa. Na dinâmica direta, forças e torques são aplicados ao modelo, e o movimento correspondente é determinado através da solução de sua equação diferencial de movimento. Por sua vez, na dinâmica inversa, o objetivo é determinar as forças e os torques que devem ser aplicados ao modelo para produzir os movimentos desejados. Uma possível solução para o problema de dinâmica direta é obtida através do uso de controladores. Neste trabalho, é adotada a abordagem de controle de movimento baseado no espaço de juntas (vide Geijtenbeek et al., 2012). Essa abordagem visa controlar o movimento do personagem, fornecendo alvos cinemáticos que são rastreados usando controladores locais defeedbackque buscam minimizar a diferença entre o estado atual e o estado desejado (Figura 2.1). O estado desejado é, na verdade, um objetivo genérico, como, por exemplo, a orientação de uma junta.

Figura 2.1: Esquema do controle de movimento no espaço de juntas (GEIJTENBEEK; PRO-NOST; OVERMARS, 2011).

(19)

pela manutenção do equilíbrio e pelo controle de pose. Esse controlador de alto nível calcula os valores a serem fornecidos pelos atuadores distribuídos pelo modelo. Esses dados também são utilizados no cálculo do controle defeedbacklocal, responsável pela compensação das diferenças entre as orientações das juntas na pose atual e aquelas da pose desejada, as quais são definidas por meio de uma máquina de estados (YIN; LOKEN; PANNE, 2007), ou através de dados de movimento capturados (GEIJTENBEEK; PRONOST; STAPPEN, 2012), para a aplicação dos atuadores no modelo, gerando assim a animação. Os atuadores transmitem forças e torques às juntas.

O simulador físico incorpora todas as leis físicas da mecânica clássica. O alto custo computacional imposto pelo uso desses simuladores foi uma limitação durante muito tempo. Porém, os recentes avanços na tecnologia de processadores e nos métodos numéricos possibilitaram que as animações baseadas em física sejam executadas em tempo real.

2.2.1 Estrutura do Modelo

O modelo de um personagem é uma representação simplificada de um personagem real ou de um personagem idealizado. Neste trabalho, o modelo é representado por um conjunto de estruturas rígidas articuladas,links, em juntas. Oslinks, normalmente, têm forma geométrica simples (prismas, elipsoides, cilindros, etc.) para facilitar a simulação. No entanto, para fins de renderização realística, uma malha poliedral pode ser lançada sobre oslinksusados na simulação dinâmica (Figura 2.2). Quanto mais o número delinksdo modelo se aproxima do número de ossos do personagem real, mais o espaço de poses do modelo se aproxima do espaço de poses do personagem real. Entretanto, um grande número delinkse, consequentemente, de juntas aumenta sobremaneira o custo da simulação dinâmica. Por conseguinte, na definição da complexidade do modelo, tenta-se atingir um equilíbrio entre realismo e baixo custo computacional. A correta modelagem do contato entre oslinks(autocolisão e colisão com outros objetos do cenário) é um fator de grande importância para o realismo da simulação. Apesar disso, o custo elevado da detecção de colisões durante uma simulação exige que certas simplificações sejam toleradas como, por exemplo, desconsiderar as autocolisões da estrutura do personagem. Neste trabalho, as colisões entrelinksdo personagem não são consideradas.

(a) (b)

(20)

As juntas, que articulam as partes rígidas do modelo, estabelecem restrições entre estas partes. Os movimentos permitidos por uma junta definem seus graus de liberdade, DOF (Degrees of Freedom). Na Figura 2.3, estão ilustrados dois tipos de juntas: a junta esférica, com três graus de liberdade; e a junta do tipo dobradiça, com apenas um grau de liberdade. Esses são os tipos de juntas mais utilizados nos modelos de humanos. As juntas desempenham um papel importante no modelo. De acordo com o seu relacionamento, na definição de qual corpo (link) é pai e filho da junta, constrói-se a hierarquia do personagem.

(a) Junta esférica (ball) (b) Junta dobradiça (hinge)

Figura 2.3: Tipos de juntas usualmente utilizadas em modelos humanoides.

2.2.2 Controladores

Em sistemas dinâmicos atuados, somente a obediência às leis da física não garantem a naturali-dade do movimento desejado. Por exemplo, se a um personagem articulado não for aplicado nenhum torque, provavelmente ele desabará no solo (caso na simulação esteja agindo somente a força da gravidade). Para evitar isso, espera-se que os atuadores sejam continuamente ativados para manterem a postura ereta do personagem. A animação de sistemas dinâmicos requer a solu-ção de um problema de controle. Essa solusolu-ção, obtida pelos chamados controladores, consiste em determinar as forças e os torques adequados para a realização de um movimento desejado. Após a determinação das forças e torques adequados, os controladores enviam os comandos para que os atuadores apliquem essas forças e torques nas juntas. Em resumo, os controladores funcionam como uma espécie de cérebro virtual cujo objetivo é o de sintetizar as animações de personagens virtuais utilizando dinâmica direta ou inversa (GEIJTENBEEK et al., 2011; NOGUEIRA, 2007; NUNES, 2012).

(21)

Figura 2.4: Estrutura do controlador agindo na simulação física (NUNES, 2012).

2.2.3 Controlador Proporcional-Derivativo

Os controladores que auxiliam o personagem a seguir orientações desejadas são chamados de controladores PD (Proportional-Derivative). Esses controladores locais de baixo nível têm sido utilizados na animação de personagens virtuais. Por exemplo, no trabalho de Panne et al. (1994), os autores utilizam controladores PD para que o personagem siga orientações desejadas a partir de um grafo de controle de pose cíclico (Pose Control Graph(PCG)). Noframeworkde Zordan e Hodgins (2002), por sua vez, controladores PD são utilizados para que a parte superior do corpo do personagem siga informações de orientações extraídas de quadros-chaves (keyframes) ou dos dados de movimentos capturados.

Sua representação se dá por um conjunto mola-amortecedor do tipo angular que permite calcular o torque a partir do deslocamento angular e da velocidade angular entre o estado atual e o estado desejado final da orientação doslinks:

τ =ks(θd−θ) +kd(θ˙d−θ˙), (2.1)

ondeτé o torque a ser aplicado na junta,θ representa a orientação atual da junta,θd representa

a orientação desejada da junta, ˙θ é a velocidade atual da junta, ˙θd é a velocidade desejada

da junta, ks e kd, são os chamados ganhos do controlador. Os valores desses ganhos estão

relacionados à modelagem física do personagem simulado, e influenciam diretamente no tempo para convergência angular desejada (detalhes de como esses valores influenciam o controle são discutidos em Allen et al. (2007) e em Nunes et al. (2008)). A Figura 2.5, ilustra o comportamento de uma mola com amortecimento posicionada em uma junta do tipo dobradiça, cujo objetivo é levar a junta a assumir sua orientação de relaxamento.

(22)

Nos controladores PD, para as juntas dobradiças, o movimento relativo entre os linksé mais restrito, se resumindo à rotação em torno de um único eixo, com direção fixa relativa aoslinks, embora podendo variar em coordenadas globais. As juntas esféricas permitem o movimento relativo entre oslinksem torno de um eixo arbitrário, desde que a restrição do encaixe seja mantida. Portanto, qualquer movimento de rotação é possível, como se pode perceber intuitivamente na Figura 2.3.

2.3 Jacobiana

A matriz Jacobiana é a matriz formada pelas derivadas parciais de primeira ordem de uma função vetorial (f). No contexto do controle do movimento, um ponto específico do personagem pode ser calculado por uma função vetorial das orientações das juntas. Assim, a variação do deslocamento angular afetaria o deslocamento linear desse ponto (Equação 2.2).

δxi=

∂fi

∂ θj

δ θj (2.2)

A Jacobiana pode ainda fazer relação entre as velocidades, quando o limite deδt tende a zero, ela descreve a relação linear entre a velocidade de um ponto específico e as velocidades angulares das juntas (Equação 2.3).

˙ xi=

∂fi

∂ θj

˙

θj (2.3)

Um dos primeiros trabalhos a investigar a necessidade de incorporar uma estratégia de equilíbrio com o uso da Jacobiana, ao simular locomoção de personagens instáveis, foi o trabalho de Laszlo et al. (1996). A estratégia proposta, chamadalimit cycle control, corrige o ciclo do caminhar de um personagem humanoide tridimensional (3D), de acordo com a matriz Jacobiana que relaciona a perturbação do estado do personagem às perturbações de alguns sensores de controle escolhidos, os quais são obtidos em função do próprio estado.

Assim, o controle das orientações das juntas pode ser substituído pelo controle da posição de um ponto escolhido. Dessa forma, em vez de se trabalharem todos os graus de liberdade de forma individual a fim de seguir uma restrição de controle (WITKIN; KASS, 1988), o controle é exercido através de posições globais para alcançar determinado objetivo como, por exemplo, o de equilibrar um personagem (COROS; BEAUDOIN; PANNE, 2010).

2.4 Dados de Movimentos Capturados

(23)

Guiar um personagem com Movimentos Capturados (MoCap) é uma alternativa utilizada para animar ambientes virtuais em jogos eletrônicos, entretenimento e aplicações educacionais. No entanto, a animação através de MoCap é um mero mapeamento do movimento gravado para olink de um personagem virtual (KITAGAWA; WINDSOR, 2008). Há várias iniciativas de utilizar os dados capturados de forma a permitir que o personagem adapte seus movimentos de acordo com as condições do ambiente virtual no qual está inserido (MULTON et al., 2008).

(a) fonte: http://nward.com/ict/blender/mocap.htm

Figura 2.6: Renderização dos dados de captura de movimento para um personagem virtual.

Os dados de MoCap podem dar mais informações do que simplesmente a posição e a orientação doslinks. É possível também extrair outras informações desejadas, em cada instante de tempo, ao anexar aos dados de MoCap valores como, por exemplo, as massas doslinksque compõem o personagem virtual. Com essa agregação de dados, a posição do Centro de Massa (Center of Mass– COM) do personagem pode ser determinada em cada instante. Também é possível combinar as informações de orientação e massa para calcular os momentos lineares e angulares.

2.5 Considerações Finais

(24)

3 TRABALHOS RELACIONADOS

3.1 Introdução

Como discutido no Capítulo 2, abordagens de animação dinâmicas possuem várias vantagens em relação às abordagens cinemáticas, principalmente por permitir que movimentos fisicamente corretos sejam obtidos de maneira automática. Dentro desse contexto dinâmico, em que contro-ladores de movimento são necessários para guiar os movimentos dos personagens simulados, diferentes tarefas podem ser identificadas como responsabilidade desses controladores. Dentre as principais, podem ser citadas: a geração da locomoção, o tratamento do equilíbrio e a interação com o ambiente (NUNES, 2012). Embora essas tarefas possam estar relacionadas em muitas técnicas de controle, deseja-se agrupar algumas dessas técnicas levando em consideração a estratégia de equilíbrio utilizada e a forma de como a locomoção é gerada.

Atualmente, não há um consenso definitivo quanto à organização e à classificação das diferentes técnicas existentes, principalmente devido à tendência das técnicas buscarem combinar variadas abordagens a fim de aproveitar as vantagens de cada uma (GEIJTENBEEK et al., 2011; NUNES, 2012). Na Seção 3.2 e na Seção 3.3 é utilizada a classificação proposta por (NUNES, 2012) para classificar os controladores de locomoção de diferentes técnicas. Nessa classificação as técnicas de controle são divididas em três categorias: controladores projetados manualmente, controladores gerados por otimização e controladores guiados por dados de movimento. A sua utilização deve-se a construção sistemática bem organizada para separar os controladores existentes na literatura.

Geijtenbeek et al. (2011) identificaram algumas características que ajudam a avaliar a abordagem do método empregado para locomoção e equilíbrio de personagens bípedes. Essas avaliações foram utilizadas nas seções de controladores de equilíbrio e de controladores de locomoção para avaliar a robustez dos trabalhos relacionados. A seguir descrevem-se os critérios utilizados para a avaliação da abordagem.

Estilo e naturalidade. Este critério verifica quão próxima a animação está da animação do personagem real. Para este tipo de observação se faz necessário o uso de dados de MoCap a fim de permitir a comparação dos movimentos e julgar quanto à naturalidade do movimento.

Controle do usuário. Este critério verifica se o usuário é capaz de alterar a animação em tempo real. Envolvendo o controle de velocidade, a mudança da direção, assim como o estabelecimento de uma meta de localização para a qual o personagem deve se mover.

Repertório de Habilidades. Este critério verifica se a abordagem oferece algo além dos requisitos básicos. Por exemplo, se a abordagem trabalha o equilíbrio e a locomoção do personagem, o equilíbrio e a locomoção são os requisitos básicos e as habilidades da técnica podem ser os eventos de puxar um objeto com os braços ou atingir uma posição virtual.

(25)

colisões inesperadas com objetos, irregularidades no terreno, ou mudanças no coeficiente de atrito entre o pé e o solo.

Usabilidade. Este critério verifica se a abordagem é versátil com relação aos aspectos de implementação, flexibilidade para adaptação e alteração dos requisitos computacionais.

3.2 Controladores de Equilíbrio

Um consenso dos pesquisadores nas áreas de robótica e animação, referente à construção de sistemas de controle de personagens para manter o equilíbrio, é o de restringir a posição e a velocidade do Centro de Massa (COM) do personagem projetado no solo. O efeito desse controle reduz a aceleração do COM do personagem, que é uma característica do equilíbrio humano. No entanto, outros fatores podem influenciar no controle da estabilidade, tais como os fatores ambientais (forças de contato), os anatômicos (geometrias dos pés) e os fisiológicos (forças musculares) que envolvem o uso de restrições (PAI; PATTON, 1997).

A forma como o autor trabalha a posição e velocidade desejada desse COM no controlador pode divergir. Alguns trabalhos apresentam como posição desejada para o COM do personagem projetado no solo o centro do fecho convexo formado por seus pés (ZORDAN; HODGINS, 2002; MACCHIETTO; ZORDAN; SHELTON, 2009)(Figura 3.1(b)), outros uti-lizam como simplificação para posição desejada a distância média entre o centro de massa de seus pés projetados no solo (ABE; SILVA; POPOVI ´C, 2007; GEIJTENBEEK; PRONOST; STAPPEN, 2012)(Figura 3.1(a)). Embora a primeira alternativa demonstre bons resultados, não é suficientemente eficaz para uso interativo em tempo real (KOMURA; LEUNG; KUFFNER, 2004). Isso envolve a complexidade da geometria do pé. No entanto, atualmente com a evolução emhardware, existem algoritmos eficazes que calculam o centro de fecho convexo em tempo real para geometrias com poucos pontos de contato.

(a) (b)

Figura 3.1: Posição desejada da projeção do COM do personagem. (a) A posição desejada (posd)

se localiza na distância média entre os centróides das projeções dos pés. Em (b) essa posdé o

centróide da envoltória convexa formada pelos pontos de contato dos pés do personagem no solo.

(26)

capazes de produzir o efeito desejado. Assim, em termos de implementação, as forças virtuais no COM são calculadas de acordo com o critério de equilíbrio estabelecido e mapeadas como forças e torques nas juntas através da transposta da matriz Jacobiana (JT). Os primeiros métodos que utilizaram a matriz JT para o controle de variáveis como, por exemplo, controlar o COM, foram propostos por Sunada et al. (1994), e depois implementados no trabalho de Pratt et al. (2001), para controlar a locomoção de um robô bípede. Os controladores dos trabalhos desta seção estão classificados na categoria de controladores guiados por dados de movimento. Nessa categoria os autores construíram controladores capazes de seguir orientações desejadas a partir de dados de MoCap com o tratamento de equilíbrio.

Zordan e Hodgins (2002) introduziram o uso de movimentos capturados como trajetórias de referência para controladores. Para tratar o equilíbrio, eles utilizaram a aplicação de forças virtuais com o objetivo de controlar o COM do personagem, agindo em sua parte inferior (tornozelos, joelhos e quadril). Na simulação, os torques virtuais são computados em cada parte inferior a partir das forças virtuais e combinados com os torques calculados nos controladores PD. O controle de equilíbrio utilizado é robusto para reagir às forças de contato, ao receber socos, fazendo o uso da cinemática inversa (Inverse Kinematics(IK)). Os ângulos extraídos pela cinemática inversa são postos como ângulos desejados nos contradores PD, promovendo movimentos visivelmente esperados para o personagem ao impacto. Pelo que se pode observar em seus resultados, esse controle de equilíbrio necessita que os dois pés do personagem estejam sempre em contato com o solo.

Uma abordagem possível para seguir movimentos capturados, tratando o equilíbrio adequadamente, consiste em otimizar os torques, resolvendo um problema de otimização. Exis-tem dois tipos de otimização trabalhadas na literatura. A otimização realizada em cada instante da simulação dinâmica é chamada de otimizaçãoon-line. Quando os cálculos dos torques ou dos parâmetros da simulação são realizados a priori, a otimização é ditaoff-line(GEIJTENBEEK et al., 2011). Alguns trabalhos utilizaram uma técnica chamada de Adaptação através da Matriz de Covariância (Covariance Matrix Adaption(CMA)) para executar a otimizaçãoon-line(WANG; FLEET; HERTZMANN, 2010) eoff-line(GEIJTENBEEK; PRONOST; STAPPEN, 2012) dos parâmetros da simulação.

(27)

do personagem, seguindo dados de MoCap com o uso de controladores PD. Na modelagem do personagem, todas as juntas possuem 3 DOFs com exceção dos joelhos e dos cotovelos que possuem 1 DOF. Para estimar os parâmetros do controlador foi utilizada uma otimizaçãooff-line com o uso do CMA.

Figura 3.2: Escolha da cadeia de juntas para aplicação de torques na estratégia de equilíbrio utilizada por (GEIJTENBEEK; PRONOST; STAPPEN, 2012).

Na abordagem de otimização on-line, as otimizações são geradas considerando poucos passos da simulação, para minimizar os custos computacionais e torná-la viável na prática. O problema de otimização básico pode ser formulado da seguinte forma:

min

τ {G1,G2, ...,Gn}, sujeito a{C1,C2, ...,Cm} (3.1)

ondeGirepresentamnobjetivos de mais alto nível, eCirepresentam asmrestrições. O resultado

de cada otimização é um vetor de torques,τ, a ser aplicado no instante atual da simulação. Uma das vantagens dessa técnica é que os torques são obtidos considerando o personagem como um todo, ao invés de se tratar cada junta individualmente. Porém, essa abordagem além de ter implementação complicada é computacionalmente mais cara (NUNES, 2012). No trabalho de Abe, da Silva e Popovi´c (2007) e de Macchietto, Zordan e Shelton (2009) esse tipo de otimização foi utilizado, com objetivos próprios da técnica empregada.

Abe, da Silva e Popovi´c (2007) definem um objetivo inserido no otimizador que guia a projeção do COM do personagem em direção ao centro da base de suporte, um critério adotado para o equilíbrio. Nesse trabalho, as forças de fricção dos pés do personagem com o solo foram utilizadas em conjunto com o posicionamento do COM para tratar da manutenção do equilíbrio, fazendo uso de todas as estruturas articuladas do personagem. A Figura 3.3, ilustra oframework proposto. Cada objetivo do otimizador descreve uma face para o movimento desejado, um objetivo pode rastrear os dados de movimento, direcionar a posição do COM, ou forçar as mãos para um destino específico. Nessa abordagem, o personagem é capaz de resistir a colisões com objetos seguindo dados de MoCap e alcançar um ponto virtual, sempre mantendo o equilíbrio. Isso atesta a robustez e as habilidades do método.

(28)

Figura 3.3:Frameworkdo trabalho de Abe, da Silva e Popovi´c (2007). O controle de equilíbrio utiliza todas as estruturas articuladas do personagem objetivando deixar o personagem dentro do cone de fricção.

de apoio. Na Figura 3.4, pode-se ver como a técnica está estruturada. Otimizações quadráticas com restrições lineares são utilizadas para obter as acelerações das juntas. Os objetivos definidos na otimização controlam os momentos angulares do personagem, para seguir a estratégia de equilíbrio, que leva o COM e o centro de pressão do personagem para posições desejadas. Para alcançar os valores angulares dos dados de MoCap são utilizados controladores PD. No escopo do trabalho não foram realizadas as alternâncias de contato dos pés com o solo. Esse método é robusto para aplicação de forças externas e para que determinadas partes do personagem possam alcançar pontos virtuais, além de tentar atingir esses objetivos seguindo os dados de MoCap.

Figura 3.4: Framework do trabalho de (MACCHIETTO; ZORDAN; SHELTON, 2009). O controle de equilíbrio utiliza todos oslinksdo personagem.

(29)

3.3 Controladores de Locomoção

Nas simulações geradas para locomoção de personagens, motivadas por pesquisas na área de robótica e biomecânica, os controladores podem ser definidos através de máquinas de esta-dos. Ao se utilizar máquinas de estados como representação de controladores, a estrutura do controlador é definida por estados e transições que os conectam. Os estados correspondem a fases do controlador, e determinam como o controlador deve agir. Transições entre estados são responsáveis por determinar qual estado deve estar ativo no decorrer da simulação dinâmica. Com essa estrutura mais organizada, definida por fases, o animador tem uma maior facilidade de construir um determinado movimento e de prever o resultado da ação de controle, o que ajuda na especificação dos parâmetros do controlador (NUNES, 2012). Nos trabalhos citados a seguir há forte influência de máquinas de estados na concepção da animação.

Um dos primeiros trabalhos em animação com controladores projetados manual-mente, usando máquinas de estados, foi o trabalho de Raibert e Hodgins (1991). O sistema de controle proposto utilizou uma máquina de estados, onde os estados são definidos de acordo com o pé que está em contato com o solo e para concepção da locomoção utilizou-se um modelo de pêndulo invertido (Inverse Pendulum(IP)) para o movimento das pernas do personagem. Nesse trabalho são utilizados vários tipos de personagens, com um, dois e quatro pés. Entretanto, a estrutura do algoritmo é alterada para cada tipo de personagem, que é uma característica desse tipo de controlador. Todo o controle do personagem é realizado aplicando forças e torques.

Hodgins et al. (1995) utilizaram ideias semelhantes àquelas encontradas no trabalho de (RAIBERT; HODGINS, 1991), para gerar animações de corrida, ciclismo e salto sobre cavalo. Foram utilizados controladores PD para atingir poses especificadas por meio da máquina de estados e o tratamento de equilíbrio se baseia em manter o COM do personagem no centro do polígono formado por seus pés. No mesmo ano, Panne e Lamouret (1995) introduziram uma alternativa automática para equilibrar o personagem, nomeada “mão de Deus”, que consiste em aplicar um torque externo no torso do personagem para auxiliar no equilíbrio, mantendo uma postura ereta definida pelo animador. A aplicação desse torque serve como uma ajuda inicial para auxiliar no equilíbrio do personagem. No entanto, era necessário processos de otimização para que o controlador não utilizasse a aplicação desse torque externo fazendo com que somente os torques internos fossem necessários para manutenção do equilíbrio.

Uma representação de controladores muito utilizada atualmente, que generaliza o projeto de locomoção, é a representação conhecida como grafo de controle de pose (Pose Control Graph(PCG)) (PANNE; KIM; FIUME, 1994). Grafos de controle de pose são máquinas de estados específicas, em que a cada estado está associada uma pose desejada explícita. Os controladores PD são utilizados na tentativa de atingir a pose correspondente de um determinado estado ativo. Cada pose permanece como o alvo dos controladores PD durante certo tempo, de acordo com a estrutura definida, e a animação é obtida diretamente pela ação desses controladores PD na simulação física.

(30)

controle cíclico, em um movimento periódico, e o tratamento de equilíbrio funcionava de acordo com a máquina de estados dos pés do personagem – fase do pé em contato com o solo (stand phase) ou fase do pé no ar (swing phase). A estratégia de equilíbrio envolve a aplicação de uma força no COM do personagem com o uso da Jacobiana. Posteriormente foi proposto um frameworkque serve como referência a muitos trabalhos atuais. Esseframework, proposto por Yin, Loken e van de Panne (2007) é baseado em PCGs e incorpora uma estratégia de equilíbrio bastante simples, geral e robusta. O método, conhecido como SIMBICON (SIMple BIped CONtrol), permite que um vasto repertório de locomoções seja gerado para personagens bípedes em geral. Durante a locomoção, os personagens são capazes de manter o equilíbrio na presença de perturbações externas. A estratégia de equilíbrio se baseia na predição do posicionamento do pé que está no ar, de acordo com a velocidade do COM do personagem projetado no solo e com a distância entre essa projeção e o pé que está em contato com o solo (vide Figura 3.5).

Figura 3.5: Projeção do COM utilizando modelo de pêndulo invertido em (YIN; LOKEN; PANNE, 2007).

Coros, Beaudoin e van de Panne (2010) fizeram uso de múltiplos controladores para caminhar, alcançar objetivos e executar movimentosstand in-place, baseados na Jacobiana e no modelo de IP preditivo do trabalho do SIMBICON. As matrizes Jacobianas transpostas são calculadas continuamente a cada passo da simulação para permitirem a contínua aplicação das forças virtuais no personagem. Essas forças controlam a velocidade do COM do personagem e compensam a ação da gravidade sobre oslinksdo personagem, dependendo da cadeia de juntas a se considerar (vide Figura 3.6). O IP é acrescentado para a locomoção fazendo-se uso dos controladores PD para seguirem orientações dispostas por interpolação de curvas do tipo Catmull-Rom splines, definidas de acordo com a pose de cada estado. No método, é possível alterar a velocidade de caminhada do personagem e fazer com que o mesmo pegue objetos utilizando IK. Em resumo, a utilização de múltiplos controles proporcionou uma vasta possibilidade de animações, e uma boa robustez. Essa técnica foi capaz de fazer o personagem mudar de direção, ultrapassar obstáculos, carregar e puxar objetos, além de renderizar vários personagens em tempo real. Entretanto, o método é limitado a movimentos de pouca energia, ou seja, movimentos que não exijam do personagem intensas ações musculares, como correr e saltar. Isso se deve à limitação envolvida pela Jacobiana proposta na técnica.

(31)

Figura 3.6:Frameworkdo trabalho de (COROS; BEAUDOIN; PANNE, 2010).

função objetivo, com o intuito de reproduzir características importantes percebidas no caminhar humano, alguns inspirados em estudos de biomecânica. Posteriormente, no trabalho de Wang, Fleet e Hertzmann (2010), foi utilizado o modelo de IP proposto por Yin, Loken e van de Panne (2007), também de forma otimizada, a fim de produzir locomoção sob forças desconhecidas, definidas de acordo com o ambiente, agindo sobre o personagem à medida que o equilíbrio é controlado. Na otimização do controle de locomoção foi utilizada a formulação probabilística de todos os fatores desconhecidos, como por exemplo, a característica do ambiente cujo personagem está caminhando, se é um piso de gelo ou um muro estreito. O método de Monte Carlo foi utilizado para aproximar o valor de retorno dessa função probabilística extraindo a quantidade de distribuição do movimento necessário para o personagem, determinando assim, a forma do estilo de locomoção. Utilizar passos curtos e rápidos como é o caso de andar sobre um muro estreito ou utilizar passos curtos e cuidadosos como é o caso de andar sobre um piso de gelo. Essa aproximação foi otimizada pelo método da CMA. A otimização utilizada sob incerteza é cara e requer muito tempo computacional para realização dos cálculos, porém, uma vez concluída, resulta em controladores robustos que executam em tempo real.

(32)

3.4 Considerações Finais

Na construção de controladores para movimentosstand in-placee movimentos de locomoção, percebe-se que ainda não existe um consenso na concepção de um único controlador simples para os dois tipos de movimentos.

No trabalho de Zordan e Hodgins (2002), o controlador é limitado a movimentos com apoio nos dois pés, enquanto o controlador proposto neste trabalho permite movimentos tanto de apoio em um único pé como nos dois pés. No trabalho de Coros, Beaudoin e van de Panne (2010), as trajetórias de movimento são construídas por meio dekeyframes, enquanto que a estrutura deste trabalho utiliza trajetórias de movimento de referência inalteradas extraídas de dados de MoCap. Uma diferença importante relacionada aos trabalhos de Geijtenbeek, Pronost e Stappen (2012) e de Coros, Beaudoin e van de Panne (2010) é que eles fazem uso de parte da estrutura do personagem para aplicação dos controladores, enquanto que neste trabalho são utilizadas, no controlador, todos os segmentos articulados do personagem para concepção do equilíbrio. Diferente de Macchietto, Zordan e Shelton (2009), além de movimentosstand in-placeo mesmo controlador é usado para locomoção e não se faz uso da estrutura do SIMBICON de Yin, Loken e van de Panne (2007) para isso. A diferença com o trabalho de Wrotek (2006) é que neste trabalho se deixa a critério do usuário definir se fará uso da força externa, para melhor estabilidade do equilíbrio do personagem. A ausência da aplicação dessa força faz com que o personagem apresente uma aparência fisicamente correta, mas pode acarretar uma perda de estabilidade. Entretanto, sua aplicação pode dar mais estabilidade ao equilíbrio, mas pode levar a uma falta de corretude física. A forma de aplicação dessa força é definida de acordo com o modelo de contato simplificado do pé proposto neste trabalho.

(33)

4 TÉCNICA PROPOSTA

4.1 Introdução

Na área de controle de movimento humano baseado em física, a modelagem usada para repre-sentar o personagem simulado geralmente consiste de um sistema delinksrígidos articulados com atuadores internos localizados em suas juntas. Considerando essa modelagem suficiente para capturar os aspectos fundamentais do sistema musculoesqueletal humano, pesquisadores têm desenvolvido vários controladores capazes de produzir movimentos para várias tarefas envolvendo equilíbrio. Embora esses controladores tenham funcionado com sucesso para seus propósitos, essa modelagem simplificada ainda não consegue atingir o mesmo nível de habilidade que o corpo humano real. Como uma evidência desse fato, modelagens mais robustas têm sido propostas para personagens simulados (JAIN; LIU, 2011; WANG et al., 2012).

Quando se toma movimentos capturados como referência, outras preocupações surgem, pois as propriedades físicas do personagem precisam ser definidas de acordo com as do ator real. Devido às simplificações relacionadas à modelagem do personagem, não é possível representar o ator fielmente na simulação. A interação dos pés com o chão também é simulada de maneira simplificada, o que faz com que o chão virtual exerça forças de contato diferentes das que o chão real exerce no pé do ator. Portanto, apesar de servirem como referência, os dados capturados são teoricamente inválidos do ponto de vista físico. Embora não haja problemas quando se deseja apenas reproduzir cinematicamente os dados capturados, essas diferenças entre o real e o virtual exigem, em uma simulação física, controladores mais robustos capazes de compensar essas inconsistências.

Além da modelagem usada para o personagem, outro aspecto importante que influen-cia o equilíbrio é o fato de os graus de liberdade (DOFs) globais do personagem não possuírem atuadores diretos. Eles são controlados indiretamente pelos atuadores internos das juntas e pela interação dos pés com o chão. Enquanto a atuação interna está associada ao controlador utilizado, a interação dos pés com o chão, que depende de como o contato é tratado na simulação, está fortemente associada à geometria usada para representar o pé do personagem simulado. Mas antes de analisar a influência da geometria do pé no equilíbrio, é importante contextualizar melhor o problema a ser atacado. Muitos trabalhos utilizam uma Jacobiana como uma camada de abstração para simplificar o tratamento de equilíbrio (Seção 3.2), e é necessário recapitular alguns aspectos importantes relacionados ao uso dessa Jacobiana.

(34)

condição é que o pé do personagem (ou seja, a base da cadeia delinksconsiderada na Jacobiana) esteja fixo, e não há qualquer garantia de que essa suposição será satisfeita. O uso da Jacobiana portanto assume que o pé esteja praticamente parado. Do ponto de vista de uma simulação física, isso significa que o torque resultante no pé deve ser praticamente nulo. Ou seja, qualquer torque aplicado no pé deve ser compensado por torques provenientes da interação do pé com o chão.

Analisando com mais detalhes, aplicar torques internos no tornozelo implica em aplicar um torque desejado na perna do personagem e um torque contrário no pé. Como o pé está em contato com o chão, forças de ação e reação são trocadas entre o pé e o chão. Quando o torque aplicado no pé é totalmente transferido para o chão, as forças de reação exercidas pelo chão conseguem compensar completamente esse torque e o pé se mantém parado, como assumido pelo uso da Jacobiana. Neste ponto, fica fácil perceber que a compensação desses torques aplicados no pé, responsável por mantê-lo como uma base fixa, depende diretamente da geometria usada para modelá-lo. Ou seja, a modelagem do pé possui uma enorme influência no quanto do torque aplicado nele será compensado pelo chão.

Por exemplo, embora um personagem representado apenas porlinksrígidos, como comumente é feito, seja ideal para simular eficientemente o movimento humano, colisões entrelinksrígidos são altamente descontínuas, o que dificulta a simulação do contato do pé e, consequentemente, o projeto de controladores, podendo resultar em movimentos não naturais. Note que o pé real, por possuir um tecido flexível e uma geometria bem mais complexa do que as geometrias geralmente utilizadas em simulações, permite que o equilíbrio seja tratado de uma maneira mais fácil. Jain e Liu (2011) comprovam isso mostrando que controladores já existentes se tornam mais robustos apenas pelo fato de se usarlinksflexíveis na simulação de contatos. Ou seja, considerando uma melhor interação entre os pés e o chão, controladores menos sofisticados já seriam capazes de tratar o equilíbrio de maneira apropriada.

Imaginar diferentes possibilidades de modelagem do pé pode ajudar a compreender melhor o relacionamento dessa modelagem com o quanto do torque aplicado no pé é compensado. Imagine, por exemplo, uma situação em que o pé esteja fixo ao solo. Isso corresponderia a prender o pé ao solo através de ganchos, ou calçar um sapato colado no chão. Essa seria a situação mais estável possível, em que todo o torque aplicado no pé seria absorvido pelo solo. No outro extremo, imagine alguém usando pernas de pau. Qualquer torque aplicado na base pode fazer com que ela se mova e deslize no chão, provocando a perda do equilíbrio. Já quando se compara a geometria do pé normalmente usada em simulações (um paralelepípedo) a um pé real flexível, pode-se perceber que a geometria do pé simulado é mais instável. Ou seja, essas simulações apresentam condições menos propícias para que os torques aplicados no pé sejam compensados, exigindo um controlador de equilíbrio mais elaborado.

(35)

(a) (b)

Figura 4.1: Detalhamento da geometria do pé. (a) Modelo do pé utilizado por (WANG; FLEET; HERTZMANN, 2009). (b) Modelo do pé utilizado por (JAIN; LIU, 2011).

a área de contato com o solo e tentar estabilizar melhor o personagem.

Neste trabalho, uma nova vertente é vislumbrada. Resumidamente, propõe-se des-vincular a modelagem do pé usada na simulação da sua interação com o chão. Note que o que se deseja da interação com o chão é que o torque aplicado no pé seja compensado ao máximo, considerando obviamente as limitações do pé humano. Fazer com que a geometria do pé não influencie sua interação com o chão simplifica bastante essa compensação, e isso é possível em uma simulação.

Uma solução bastante direta e fácil seria compensar artificialmente todo torque aplicado ao pé de apoio, proveniente do uso da Jacobiana. Na simulação, isso significaria simplesmente não aplicar torque algum no pé de apoio (link raiz da Jacobiana), mantendo-o paradmantendo-o. O prmantendo-oblema é que, a nãmantendo-o ser que mantendo-o pé realmente estivesse presmantendo-o amantendo-o chãmantendo-o, issmantendo-o seria fisicamente incorreto, já que os torques no pé seriam compensados mesmo em situações impossíveis. O personagem seria bastante estável, mas possuiria “superpoderes”. Portanto, ao invés de aplicar essa solução que trata apenas a situação mais estável possível, deseja-se definir uma modelagem de contato para a raiz da Jacobiana de forma a englobar todas as diferentes situações, desde um contato em que todos os torques são absorvidos pelo solo (pés presos) a um contato em que a geometria do pé não é capaz de compensar quase nenhum torque (usando pernas de pau, por exemplo).

Este trabalho propõe um modelo simplificado do pé usando uma geometria paramé-trica, que permite modelar o pé de forma genérica, de acordo com o critério do usuário. Baseado nocone de fricção de Coulomb, os parâmetros influenciam o cálculo do torque máximo que pode ser compensado no pé, permitindo que o usuário balanceie estabilidade e corretude física. Ou seja, fica a critério do usuário escolher diferentes variações entre um controlador bastante estável e fisicamente incorreto e um controlador mais instável e fisicamente correto (Figura 4.2).

(36)

Figura 4.2: A geometria paramétrica do pé proposta permite ao usuário balancear estabilidade e corretude física da simulação.

da geometria usada de fato. Note também que, no caso mais instável, em que nenhum torque é compensado artificialmente, o torque aplicado no pé ainda pode ser compensado pela interação entre a geometria do pé usada na simulação e o chão. Portanto, a geometria paramétrica é independente da geometria usada na simulação. A ideia é obter diretamente o efeito desejado de se usar uma geometria mais detalhada, que compensa efetivamente o torque aplicado no pé de apoio, mas sem se preocupar com a geometria de fato utilizada na simulação. O significado dos parâmetros usados e a relação entre o modelo proposto para o pé e o cone de fricção de Coulomb são discutidos com mais detalhes na Seção 4.4.

Uma outra contribuição deste trabalho consiste no uso de uma Jacobiana mais completa, baseada no momento angular e linear do personagem em relação ao seu COM (Centro de Massa). Na Jacobiana comumente usada para tratamento de equilíbrio, como em (COROS; BEAUDOIN; PANNE, 2010), o COM é tratado como um simples e único efetor final. Assim, apenas as juntas situadas na hierarquia entre a raiz e o COM possuem influência sobre ele. Isso está obviamente incorreto, pois, no caso em que os pés são as raízes da hierarquia, o COM é influenciado basicamente pelos membros inferiores. A não ser que a mão estivesse em contato com alguma superfície, sendo portanto raiz de uma outra cadeia de links, o pulso não teria como influenciar o COM. No presente trabalho, a Jacobiana é baseada no momento e, por isso, permite que o personagem seja trabalhado como um todo para manipular o COM. A ideia é tratar cadalink como um efetor final. Assim, todos oslinksinfluenciarão proporcionalmente, de acordo com suas massas, o COM do personagem. No caso do pulso, por exemplo, embora influenciando apenas a mão, ele também contribuirá indiretamente, já que a mão, sendo um efetor final, influenciará o COM.

(37)

responsável por determinar essas forças e torques virtuais e convertê-los em torques internos equivalentes, por meio do uso da Jacobiana Transposta. A matriz Jacobiana é montada de acordo com uma hierarquia que considera o pé de apoio como a raiz. Por último, baseado em um modelo simplificado do pé, o torque aplicado no pé de apoio (ou parte dele) é compensado artificialmente, com o intuito de aumentar a estabilidade da sua interação com o chão e, consequentemente, facilitar o controle do equilíbrio. Cada um dos três componentes do controlador são discutidos com mais detalhes nas seções a seguir.

Figura 4.3: Visão geral do controlador de movimento.

4.2 Controladores PD para Juntas Esféricas

Na Subseção 2.2.3, foi visto como funcionam os controladores PD. Em resumo, esses controla-dores calculam torques de acordo com a Equação 2.1. O torque (τ) calculado deve ser aplicado por um atuador interno, vinculado à respectiva junta, que funciona aplicandoτ no seulinkfilho e -τ no seulinkpai.

A implementação dos controladores PD é baseada em (NUNES, 2012), e quatérnios são usados para representar as orientações 3D. Considerando apenas juntas esféricas, cada torque aplicado a uma juntaié dado por:

iτ

pd =ks(qd×q−1a ) +kd(ωd−ωa), (4.1)

ondeqaé o quatérnio atual da junta, definido pela orientação dolinkfilho relativa aolinkpai,qd

é o quatérnio desejado da junta, obtido a partir de dados de MoCap ou definido pelo usuário,ωa

é a velocidade angular atual da junta eωd é a velocidade angular desejada da junta. A velocidade

angular atual da junta é calculada subtraindo a velocidade angular dolinkfilho pela velocidade angular dolinkpai (ωf ilho-ωpai). A velocidade angular desejada da junta também é obtida a

partir de dados de MoCap, por diferenças finitas, ou definida como zero. A expressãoqd×q−1a

corresponde à versão tridimensional da diferença angular mostrada na Equação 2.1. O quatérnio resultante ainda precisa ser convertido para a representação eixo e ângulo.ksekd são as matrizes

(38)

pelo usuário, em coordenadas das juntas, como matrizes diagonais:

ks=

kxs 0 0 0 kys 0

0 0 kzs

 e kd=

kxd 0 0 0 kdy 0 0 0 kdz

. (4.2)

É importante lembrar que, antes de realizar as operações, todas as informações devem estar definidas em um mesmo sistema de coordenadas. Aplicar o torque calculado para a juntaicorresponde a aplicar um torque positivo,iτpd, no seulinkfilho e um torque negativo,

-iτ

pd, no seulinkpai.

Para mais detalhes sobre controladores PD para juntas esféricas, usar (NUNES, 2012) como referência.

4.3 Controlador de Equilíbrio

Como já discutido, o controle de equilíbrio é exigido pelo fato de que os DOFs globais do personagem não possuem atuadores diretos. Neste trabalho, assim como em muitos outros (COROS; BEAUDOIN; PANNE, 2010; GEIJTENBEEK; PRONOST, 2012; GEIJTENBEEK; PRONOST; STAPPEN, 2012), o tratamento de equilíbrio é facilitado pelo uso de uma camada de abstração entre o controle virtual do COM e o controle interno das juntas. Resumidamente, uma matriz Jacobiana é utilizada para converter forças e torques virtuais, relacionados ao COM, em torques internos equivalentes nas juntas. Esta seção é dividida em três partes principais: cálculo da matriz Jacobiana usada, cálculo da força virtual e cálculo do torque virtual.

4.3.1 Construção da Jacobiana

No contexto de animação de personagens, a matriz Jacobiana geralmente descreve o relacio-namento linear entre a velocidade de um ponto específico do personagem (efetor final) e as velocidades das juntas que influenciam esse ponto, de acordo com uma hierarquia pré-definida. Ou seja, a Jacobiana define o quanto esse ponto se desloca, em função de um deslocamento correspondente em coordenadas das juntas. No tratamento de equilíbrio, faz sentido que o COM do personagem seja escolhido como esse ponto específico. Assim, usando a transposta dessa Jacobiana, a posição global do personagem pode ser controlada através de uma força virtual no COM.

(39)

que não é verdade. Além disso, como esse COM é um ponto virtual, ele não necessariamente se localiza sobre a estrutura do personagem e, consequentemente, fica complicado determinar a que parte da hierarquia ele pertence e quais juntas devem influenciá-lo na construção da Jacobiana.

Para tratar o primeiro caso, propõe-se utilizarvetores espaciais 6D(CLINE, 1999; NUNES, 2012) em toda a formulação relacionada à Jacobiana. Ou seja, informações angulares e lineares são concatenadas em vetores de seis coordenadas. Uma das vantagens dessa notação 6D é que transformações entre sistemas de coordenadas são realizadas mais diretamente, através do uso de matrizes de transformação adjuntas. No segundo caso, em vez de considerar o COM como um simples efetor final, todos oslinkssão considerados como efetores finais. Isso significa que cadalinkpossui uma Jacobiana individual. As velocidades de todos oslinks, assim como suas Jacobianas individuais, são então combinadas proporcionalmente, de acordo com suas massas, para calcular o momento total do personagem relativo ao seu COM. Usando a notação 6D, o momento do personagem corresponde à concatenação dos seus momentos angular e linear. Por fim, para obter as velocidades angular e linear do personagem relativas ao seu COM, intuitivamente, basta dividir seu momento total pela sua massa total.

Note que essaJacobiana espacial 6D baseada em momento,J, é mais geral, descre-vendo um relacionamento linear entre avelocidade 6Drelativa ao COM do personagem e as velocidades 6Ddetodasas suas juntas:

[comφcom]6x1= [J]6x6n

   

j0φ j0 j1φ

j1

...

jn−1φ jn−1

   

6nx1

= [J]6x6n˙

θ

6nx1 (4.3)

ondebφ

a representa a velocidade 6D de a em coordenadas de b, n corresponde ao número

total de juntas do personagem, e ˙θ corresponde apenas a uma notação abreviada desse vetor de dimensão 6n×1. Note queφ =

ω

v

, ondeω corresponde a uma velocidade angular ev corresponde a uma velocidade linear. Isso significa que o controle virtual dos DOFs globais envolve o personagem como um todo, e não apenas os seus membros inferiores, como em (GEIJTENBEEK; PRONOST; STAPPEN, 2012).

Como mencionado, para calcular o momento total do personagem, antes é necessário entender como calcular as Jacobianas individuais de cada um dos seuslinks. Para isso, um método bastante direto consiste no uso de matrizes de transformação adjuntas. Portanto, uma rápida revisão sobre o assunto pode ser útil. Uma matriz adjunta,b

aAd, de dimensão 6×6, transforma

umavelocidade 6D,aφ, dada em coordenadas de a, em umavelocidade 6D correspondente,

bφ, dada em coordenadas deb: bφ =b

aAdaφ. baAdé facilmente construída a partir da matriz de

transformação homogênea correspondenteb aT:

b aT =

R p

0 1

, baAd=

R 0

[p]R R

, (4.4)

(40)

p×:

[p] =p×=

0 −pz py

pz 0 −px

−py px 0

, (4.5)

ondepx, pye pzsão as coordenadas do vetor p. Note que a inversa transposta debaAdtransforma

forças 6D:bw=b

aAd−T aw, ondewrepresenta umaforça 6D. Tem-se também que:aw=baAdT bw.

Note quew=

τ

f

, ondeτ corresponde a um torque e f corresponde a uma força.

Considerando que, de acordo com uma determinada hierarquia, umlinkespecífico bé influenciado por um conjunto de juntas, avelocidade 6Ddesselink bpode ser obtida pelo somatório dasvelocidades 6Dde todas essas juntas:

bφ b=

j bφ

j=

j

b

jAd jφj=Jbθ˙, (4.6)

onde o somatório em jinclui todas as juntas que influenciam olink b,Jbcorresponde à Jacobiana individual dolink b, e ˙θ está definido na Equação 4.3. Note que, com o objetivo de isolar o vetor

˙

θ completo à direita, esse somatório em jpode ser substituído pela multiplicação deJbpor ˙θ.

Portanto,Jbcorresponde a uma matriz, de dimensão 6×6n, contendo essas matrizes adjuntas

dispostas horizontalmente nos locais correspondentes às suas respectivas juntas incluídas no somatório. Para ficar mais claro, considere, por exemplo, um personagem que possui 13 juntas. Considere também que, de acordo com a hierarquia adotada, umlink lseja influenciado pelas juntas j0, j1, j2, j6, j7e j9. A Jacobiana individual desselink lé definida como segue:

lφ l=

h

l

j0Ad lj1Ad lj2Ad 0 0 0 lj6Ad lj7Ad 0 lj9Ad 0 0 0

i

˙

θ. (4.7)

Nos locais correspondentes às juntas que não influenciam o link l, são colocadas matrizes nulas de dimensão 6×6. Para facilitar a implementação, uma determinada hierarquia pode ser representada por uma tabela relacionando todos as juntas (linhas) a todos oslinks(colunas) do personagem. Cada célula dessa tabela é preenchida com 0 (zero) ou 1 (um), de acordo com a hierarquia. Preencher uma célula com 1 significa que a junta correspondente àquela linha influencia olinkcorrespondente àquela coluna. Caso contrário, a célula deve ser preenchida com 0. Note que a hierarquia do personagem é atualizada, em cada passo da simulação, de acordo com os contatos entre os pés e o solo. O Apêndice B mostra as possíveis hierarquias utilizadas.

Após entender como obter as Jacobianas individuais de todos oslinks, é necessário entender como obter o momento total do personagem relativo ao seu COM, em função do vetor

˙

θ. Note que o momento individual de umlink bpode ser dado por:

b L P b = b I·ω

m·v

b

= (bbM)(bφb), (4.8)

ondeLé o seu momento angular,Pé o seu momento linear,Ié a sua inércia,ωé a sua velocidade

Imagem

Figura 2.1: Esquema do controle de movimento no espaço de juntas (GEIJTENBEEK; PRO- PRO-NOST; OVERMARS, 2011).
Figura 3.4: Framework do trabalho de (MACCHIETTO; ZORDAN; SHELTON, 2009). O controle de equilíbrio utiliza todos os links do personagem.
Figura 3.6: Framework do trabalho de (COROS; BEAUDOIN; PANNE, 2010).
Figura 4.2: A geometria paramétrica do pé proposta permite ao usuário balancear estabilidade e corretude física da simulação.
+7

Referências

Documentos relacionados

Contudo, sendo um campo de pesquisa e de atuação muito específico e novo no Brasil, ainda existe uma série de dificuldades para a eleição de parâmetros de conservação

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Discussion The present results show that, like other conditions that change brain excitability, early environmental heat exposure also enhanced CSD propagation in adult rats.. The