César Candido Xavier - Aluno Mestrado CG 1 Métodos Analíticos para Simulação Dinâmica de...
Transcript of César Candido Xavier - Aluno Mestrado CG 1 Métodos Analíticos para Simulação Dinâmica de...
César Candido Xavier - Aluno MestrCésar Candido Xavier - Aluno Mestrado CGado CG
11
Métodos Analíticos para Simulação Métodos Analíticos para Simulação Dinâmica de Corpos Rígidos Não-Dinâmica de Corpos Rígidos Não-
penetrantespenetrantes
–Autor: David Baraff–Fonte:SIGGRAPH 1989–Web:http://www.pixar.com/companyinfo/research/deb/
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG22
ObjetivoObjetivo Apresentar de maneira sucinta
Método Heurístico utilizado por David Baraff, para Simulação Dinâmica de Corpos Rígidos Não-penetrantes.
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG33
Heurístico ?Heurístico ?Do grego heuristike: achado,
descoberta;Relacionado a heurística, ie, uma
hipótese de trabalho adotada provisoriamente como idéia diretriz na pesquisa de fatos;
Método Heurístico: Técnicas (ex: auto-educação) que servem como ajuda na solução de um problema para o aprimoramento da performance.
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG44
RoteiroRoteiro
Introdução Motivação Revisão alguns conceitos físicos Simulação utilizando Métodos
Analíticos Modelando Contatos Calculando Dinamicamente forças de
contato corretamente Solução Heurística Restrições Adicionais Conclusão
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG55
IntroduçãoIntroduçãoMuitos trabalhos utilizam as leis
dinâmica Newtoniana para simular sistemas de corpos rígidos (CR);
Toda simulação realística de corpos rígidos exige que não haja inter-penetração de dois quaisquer corpos;
Foco do “Paper”: Dado um número de corpos rígidos poliédricos, calcular as forças que naturalmente surgem para prevenir a interpenetração.
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG66
MotivaçãoMotivação Moore e Hahn fizeram os primeiros
trabalhos (1988) utilizando métodos analíticos p/ cálculo de forças (impulso) entre CR;
O método utilizado p/ corpos em repouso, entretanto, era não analítico. Modelo Utilizado p/ corpos em repouso: série de colisões ocorrendo freqüentemente. Modelo Analítico de forças que não é válido;
Platt e Barr utilizaram “Penalty Forces”; e Moore e Wilhelms utilizaram forças
elásticas.
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG77
Motivação (continuação)Motivação (continuação)Métodos Errôneos
Vantagens:- fácil de implementar;- pouco complexidade; e- extensível p/ corpos não rígidos.
Desvantagens:- as simulações apresentam resultados aproximados;- a correção da simulação é difícil de se verificar em
alguns casos; e- requer ajustes para condições diferentes na
simulação.
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG88
Motivação (continuação)Motivação (continuação)
Métodos Analíticos
Vantagens:- dão respostas exatas;- produzem E.D.O. que requerem bem menos passos
no tempo durante simulação; e- a correção da simulação é fácil de se verificar
(baseadas diretamente da dinâmica Newtoniana).
Desvantagens:-são muito mais complexos de derivar e implementar.
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG99
RevisãoRevisão Centro de Massa:
Momento Linear:
Força:
Torque:
Momento Angular:
Momento de Inércia:
;dtdpF
;vmp
;;;M
zmz
M
ymy
M
xmx ii
cm
ii
cm
ii
cm
;Θ))(( rFsen;pxrl
2
iirmI
Fxr
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG1010
Simulação via Métodos AnalíticosSimulação via Métodos Analíticos
Tratamento diferenciado entre forças de colisão e forças de contato em repouso.
Forças de colisão:- forças descontínuas (impulsivas);- dimensão mv; e- causam descontinuidades na velocidade do CR.
Forças de contato:- são contínuas em algum intervalo não-nulo;- dimensão ma; e- não causam descontinuidades na velocidade do CR.
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG1111
Simulador interage na solução de um par de EDO acopladas, via uso do método numérico de Runge-Kutta de 4º Ordem ou Adams-Moulton;
Ao integrador é passado todas condições iniciais dos corpos;
Métodos Analíticos introduzem descontinuidades nas velocidades dos corpos quando há colisão. Não teremos boa solução se integrarmos sobre estes intervalos...
Solução:– Devemos descobrir o tempo no qual uma colisão
ocorrerá!!! Foi utilizado o método descrito por Moore e
Wilhelms.
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG1212
Resolvendo uma Colisão:
- uma vez determinado o tempo da colisão, o integrador é parado;
- faz-se o cálculo das novas forças;
- calcula-se as novas velocidades dos corpos em colisão (novas condições iniciais); e
- reinicializa-se o integrador.
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG1313
Modelando ContatosModelando Contatos Contato:colidindo ou em repouso; Dois corpos A e B se tocam em um
número finito de contatos (pontos de contato);
pa(to):posição de um ponto de contato de um CR A no instante t0;
Sejam dois pontos ‘a’ e ‘b’ dos CR A e B que estão em contato:
pa (t0)=p=pb (t0)
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG1414
Características pa(to) e pb(to) :
- Variáveis no tempo;
- Variam de acordo com os movimentos independentemente dos CR A e B respectivamente; e
- indica:i. colisão;ii. repouso; ouiii. separando-se,
)(.
)(.
00 ttbapp
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG1515
Associado a cada ponto de contato:
– Força (possivelmente nula); e– Um vetor unitário normal a superfície .
Contatos tipo Vértice-Plano– Corpo A: vértice; e– Corpo B: plano com normal em pb.
Contatos tipo Aresta-Aresta– Um corpo é definido como Corpo A arbitrariamente.– N é mutuamente perpendicular as arestas em contato e
direcionado se afastando de B.
Obs.: na ausência de atrito é colinear com .
Fn
n
nF
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG1616
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG1717
Pontos de Contato Degenerados
Obs: usualmente estes casos existem apenas instantaneamente, e a escolha para n tem pouco efeito na simulação.
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG1818
Pontos de Contato DegeneradosPontos de Contato Degenerados
Cálculo da intensidade nestes casos é um problema NP-completo (teorema de Palmer);
Solução: extensão de um plano local em B, e dá-se o tratamento de contatos tipo Vértice-Plano.
Restrição dos Pontos de Contato
– Pontos extremos;– Vértices do segmento de reta; e– Polígono de contato das regiões.
F
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG1919
Restrição Pontos de ContatoRestrição Pontos de Contato
n: número de pontos de contato; : vetor normal a superfície do iésimo ponto de
contato; :intensidade da força do iésimo ponto de contato;
in
if
;nfFii
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG2020
Calculando dinamicamente forças de Calculando dinamicamente forças de contato corretamentecontato corretamente
Um vetor é uma força de contato de magnitude correta se:
1. não permite que os corpos interpenetrem-se;2. a força de contato “empurra” mas não “puxa”;3. forças de contato ocorrem apenas nos pontos
de contato; e4. visto como uma função do tempo, as forças de
contato são contínuas.
F
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG2121
Restrições p/ Não-PenetraçõesRestrições p/ Não-Penetrações
É suficiente examinar o movimento relativo dos corpos em cada ponto de contato;
Seja a função característica:))()(()(oboattnt ppi
i
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG2222
Quem seriam e ?
Seja to o instante no qual há o choque entre os CR A e B.
- A e B estão colidindo (nunca acontecerá)
- A e B estão se separando (fi=0)
- se χ”i (to) <0, χi está diminuindo em to e uma interpenetração é eminente, e portanto devemos ter:
)(.ti
));()(())()(()(oboaoboattttt ppnppn iii
)(..
ti
))()((2))()(()(oboaoboattttt ppnppn iii
))()((oboatt ppni
:0)(0
.ti:0)(
0
.ti:0)(
0
.ti
0)(0
..ti
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG2323
Exemplo 1:
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG2424
Exemplo 2:
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG2525
Matriz formulação das condições (1) e (2)Matriz formulação das condições (1) e (2)
, para 1≤ i ≤ n
(não há inter-penetração);
fi ≥ 0, para 1≤ i ≤ n (forcas somente “empurram”);
0...2211
)0(
ib
nf
niaf
iaf
iati
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG2626
Podemos escrever a representação matricial, portanto, da seguinte forma:
–
–
–
;)()(ibA ffi
ebfAementeequivalentoubfA ;,0
.0f
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG2727
Programação Linear (PL)Programação Linear (PL) Encontrar um vetor que satisfaz: Mx ≥ c (M é
matriz e c é um vetor) que minimiza uma função linear z(x) é um exemplo de um problema típico de PL;
Se existem x que satisfazem todas as restrições dizemos que o sistema é realizável e cada x é uma solução realizável;
Se x é uma solução realizável que minimiza z, são ditos sistemas limitados e x uma solução ótima.
PL é um problema polinomial no tempo; Se, entretanto, é explorado o fato de A ser
tipicamente uma matriz esparsa, a solução é O(n);
.x
.x
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG2828
Formulação das condições (3) e (4)Formulação das condições (3) e (4)
Uma f que atenda a e , não será necessariamente correta!!!
– Exemplo 1: f=mgcos(θ) é a única solução correta, porém f=2mgcos(θ) é solução realizável que previne a inter-penetração, porém acelera incorretamente, afastando o CR A de B.
bfA 0f
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG2929
Sabemos que se para o i-ésimo ponto de contato, se
então é estritamente crescente e os CR A e B estão se
separando.
Para atendermos (3) devemos ter:
,0)(
fi
i
.0)(
fif i
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG3030
Para 1≤ i ≤ n, nossas restrições passam a ser escritas como:
Ou:
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG3131
O termo que envolve a forma é quadrático em fi;
Programação Quadrática, diferentemente de PL é um problema NP-difícil de um modo geral;
Modelando contatos sem atrito A é positivamente semidefinida (PSD), e programas quadráticos podem teoricamente ser resolvidos em tempo polinomial (não existe tal algoritmo...)
Não há porque acreditar que com atrito A continuará sendo PSD...
SOLUÇÃO: desenvolvimento de um algoritmo heurístico para este problema...
ff AT
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG3232
Solução HeurísticaSolução Heurística
Uma determinada configuração de corpos tem apenas uma configuração de movimentos corretos.
Seja V e C os conjuntos de pontos que estão deixando de existir e não estão deixando de existir, ou seja:
V={j | ponto de contato que está sumindo}
C={k | ponto de contato que não está sumindo}
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG3333
Sabemos que para qualquer solução correta :
–
–
Podemos escrever:
ejfVjse ;0
.0)(
fkCkse
f
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG3434
Exemplo: Seja um sistema quadrático com restrições em quatro pontos de contato, com V={1,3} e C={2,4}
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG3535
Como achar V ?Como achar V ?
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG3636
1) Solução mais simples: V=Ø
Não existem pontos de contato que estão deixando de existir, e f está sujeito às seguintes restrições:
Através de diversas simulações constatou-se que a solução V=Ø é correta para a grande maioria dos casos.
0 febfA
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG3737
2) Predizendo um conjunto não-vazio de V Se for encontrado uma configuração com pontos de
contatos que estão deixando de existir, a adivinhação de que V=Ø resultará em um sistema indeterminado.
Solução: encontrar uma solução aproximada fa que satisfaça às restrições:
Seja o vetor residual:
.00)(
afeafi
r
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG3838
Se fa for uma solução correta, para todos pontos j,
que estão deixando de existir, ,
e para todos os outros pontos k, .
2.1) Encontrando fa Aproximadas A heurística utilizada para encontrar a solução
aproximada é: escolha fa que minimiza a seguinte função:
,sujeita às seguintes restrições:
0)(
afjjr
0)(
afkkr
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG3939
2.2) Tratando com Predições Incorretas
-Tendo n pontos de contatos, deveríamos testar todas as 2n possibilidades ?
- A implementação desenvolvida leva em consideração que pontos deixando de existir ocorrem com pouquíssima freqüência...
- Energia é adicionada ao sistema, produzindo resultados incorretos...
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG4040
- ... porém o (d)efeito é mascarado pelo fato de que estas configurações são singulares, ou seja é aplicado apenas por um período pequeno no tempo.
- Descobriu-se que, no pequeno intervalo de tempo na qual é aplicado, levando-se em conta que é usualmente uma boa aproximação da solução correta produziu resultados satisfatórios.
afaf
af
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG4141
Restrições AdicionaisRestrições Adicionais
Restrições Holonômicas (figuras articuladas) podem ser adicionadas de uma maneira consistente;
Barzel e Barr mantiveram restrições holonômicas pela introdução de forças de restrição que satisfaziam ao sistema linear
Todo o sistema é resolvido conforme descrito anteriormente , à exceção do somatório mínimo das forças, o qual levará em consideração tão somente as restrições não holonômicas das forças.
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG4242
É consistente com a formulação proposta, uma vez que programação linear permite restrições com igualdades;
Não estão sujeitos as condições (2); Todo o sistema é resolvido conforme
metodologia apresentada, à exceção do somatório mínimo de forças, o qual levará em questão apenas as forças de restrições não-holonômicas; e
Utilizado pacote de PL esparsa p/ resolver em O(n).
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG4343
ExemplosExemplos
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG4444
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG4545
César Candido Xavier - Aluno Mestrado CGCésar Candido Xavier - Aluno Mestrado CG4646
ConclusãoConclusão A solução proposta para encontrar as forças de
contato entre corpos poliédricos, foi baseada em uma heurística, cuja solução é encontrada via uso de técnicas de Programação Linear;
A solução proposta permite trabalhar com restrições holonômicas;
O grande esforço computacional do algoritmo é voltado na solução de um sistema linear de desigualdades; e
O algoritmo heurístico utilizado ocasionalmente falhará e uma solução aproximada é utilizada. Isto adiciona energia a simulação mas não resulta em nenhum efeito visual insatisfatório.