Otimização de desempenho em planejadores de caminho usando campos potenciais

Detalhes bibliográficos
Autor(a) principal: Fischer, Leonardo Garcia
Data de Publicação: 2008
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/16009
Resumo: A animação de personagens autônomos interessa a muitas áreas, tais como filmes, jogos e simulações. O seu principal objeto de estudo é a definição de maneiras de repro-duzir, de forma realística, um dado ser (seja ele vivo, mecânico ou mesmo imaginário). Diversas técnicas já foram propostas tentando se alcançar alta qualidade na animação final. Porém, percebe-se que essas propostas são cada vez mais complexas, dificultando o seu uso em aplicações de tempo real. Dessa forma, o desempenho do algoritmo que executa a animação pode ser tão im-portante quanto à qualidade da própria animação. Uma técnica que gere resultados de alta qualidade, mas que não possa ser executada em tempo real será bastante limitada quanto à sua aplicabilidade. Nesse sentido, esse trabalho apresenta o estudo de um desses algoritmos, apresen-tando uma forma de melhorar o seu desempenho, visando o seu uso em aplicações de tempo real. Esse ganho de desempenho será alcançado utilizando as características para-lelizáveis do algoritmo estudado. Para alcançar esse objetivo, este trabalho utiliza o alto paralelismo das placas gráfi-cas atuais para estender o trabalho iniciado por Dapper (DAPPER et al., 2007). Em seu trabalho, Dapper utilizou os campos potenciais gerados a partir da solução numérica de problemas de valores de contorno envolvendo a equação de Laplace (funções harmôni-cas). Esses campos potenciais são capazes de gerar caminhos livres de mínimos locais, com trajetórias suaves, e por isso foram utilizados para gerar o caminho a ser seguido pelo agente autônomo. Como será visto, esses campos potenciais podem ser obtidos mais rapidamente se os cálculos envolvidos forem paralelizados. Também será apresentado uma série de testes que demonstram que a implementação paralela do algoritmo é capaz de melhorar o seu desempenho. Nos testes, foi possível detectar que a nova implementação é capaz de ser até 56 vezes mais rápida que a versão seqüencial. Isso torna o algoritmo aplicável para uso em tempo real, mesmo em situa-ções com centenas de personagens autônomos na cena. Por fim, será apresentada uma série de outras contribuições feitas ao projeto. Entre essas, destaca-se um sistema de ramificação de trajetórias para definir caminhos, e a melhoria da qualidade do código existente no início dos trabalhos, como forma de me-lhorar os trabalhos futuros.
id UFRGS-2_2af89eb2ab8b2bb4e385002cac2fcc83
oai_identifier_str oai:www.lume.ufrgs.br:10183/16009
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Fischer, Leonardo GarciaNedel, Luciana PorcherSilveira, Renato2009-06-04T04:13:08Z2008http://hdl.handle.net/10183/16009000681150A animação de personagens autônomos interessa a muitas áreas, tais como filmes, jogos e simulações. O seu principal objeto de estudo é a definição de maneiras de repro-duzir, de forma realística, um dado ser (seja ele vivo, mecânico ou mesmo imaginário). Diversas técnicas já foram propostas tentando se alcançar alta qualidade na animação final. Porém, percebe-se que essas propostas são cada vez mais complexas, dificultando o seu uso em aplicações de tempo real. Dessa forma, o desempenho do algoritmo que executa a animação pode ser tão im-portante quanto à qualidade da própria animação. Uma técnica que gere resultados de alta qualidade, mas que não possa ser executada em tempo real será bastante limitada quanto à sua aplicabilidade. Nesse sentido, esse trabalho apresenta o estudo de um desses algoritmos, apresen-tando uma forma de melhorar o seu desempenho, visando o seu uso em aplicações de tempo real. Esse ganho de desempenho será alcançado utilizando as características para-lelizáveis do algoritmo estudado. Para alcançar esse objetivo, este trabalho utiliza o alto paralelismo das placas gráfi-cas atuais para estender o trabalho iniciado por Dapper (DAPPER et al., 2007). Em seu trabalho, Dapper utilizou os campos potenciais gerados a partir da solução numérica de problemas de valores de contorno envolvendo a equação de Laplace (funções harmôni-cas). Esses campos potenciais são capazes de gerar caminhos livres de mínimos locais, com trajetórias suaves, e por isso foram utilizados para gerar o caminho a ser seguido pelo agente autônomo. Como será visto, esses campos potenciais podem ser obtidos mais rapidamente se os cálculos envolvidos forem paralelizados. Também será apresentado uma série de testes que demonstram que a implementação paralela do algoritmo é capaz de melhorar o seu desempenho. Nos testes, foi possível detectar que a nova implementação é capaz de ser até 56 vezes mais rápida que a versão seqüencial. Isso torna o algoritmo aplicável para uso em tempo real, mesmo em situa-ções com centenas de personagens autônomos na cena. Por fim, será apresentada uma série de outras contribuições feitas ao projeto. Entre essas, destaca-se um sistema de ramificação de trajetórias para definir caminhos, e a melhoria da qualidade do código existente no início dos trabalhos, como forma de me-lhorar os trabalhos futuros.The autonomous agent animation concerns many areas, such as movies, games and simulations. Its main objective is how to define methods of reproducing a certain being in a realist way (be it alive, mechanic or even imaginary). Several techniques have al-ready been proposed in order to achieve high quality in the final animation. However, we can notice that these proposals are more and more complex, which difficults its use in real time applications. Thus, the algorithm's performance which accomplishes the animation can be as im-portant as the quality of the animation itself. A technique which produces high quality results, though it cannot be performed in real time, will be limited enough when it comes to applicability. Therein, this work shows the study of one of these algorithms, featuring a way of improving its performance and aiming at using it in real time applications. This perfor-mance advantage will be achieved by using parallel characteristics of the algorithm. Then, this work uses the actual video boards' high parallelism to extend Dapper's work (DAPPER et al., 2007). In his work, Dapper used the potential fields developed from a numerical solution of boundary value problems involving the Laplace's equation (harmonic functions). These potential fields can create paths with mild courses, free of local minimun. Because of this they were used to produce the path to be followed by the autonomous agent. As we will see, these potential fields can be achieved much more quickly if we parallelize the calculations involved in. It will be presented as well a series of tests which showed that the algorithm's paral-lel implementation can improve its performance. The tests showed that the new imple-mentation is up to 56 times faster than the sequential implementation. This makes the algorithm applicable for use in real time, even in situations with thousands of autonom-ous agents in the scene. Finally, a set of other contributions made to the project will be showed, among which two of them stand out: a system of ramification of paths to define routes and the improvement of the already existent code as a form of enriching later works.application/pdfporComputação gráficaAnimacao : Computacao graficaAlgoritmos : ProgramacaoPath planningGPGPUCUDAParallelismComputer graphicsOtimização de desempenho em planejadores de caminho usando campos potenciaisinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2008Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000681150.pdf000681150.pdfTexto completoapplication/pdf1657150http://www.lume.ufrgs.br/bitstream/10183/16009/1/000681150.pdf1c4d0f8259d22cc033278d698565b582MD51TEXT000681150.pdf.txt000681150.pdf.txtExtracted Texttext/plain136468http://www.lume.ufrgs.br/bitstream/10183/16009/2/000681150.pdf.txt59b5d2f7aedfd55bccb79c874760340cMD52THUMBNAIL000681150.pdf.jpg000681150.pdf.jpgGenerated Thumbnailimage/jpeg1046http://www.lume.ufrgs.br/bitstream/10183/16009/3/000681150.pdf.jpgf0b0e4d8bfc92fd337807659ecdb594fMD5310183/160092018-10-17 09:38:48.443oai:www.lume.ufrgs.br:10183/16009Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2018-10-17T12:38:48Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Otimização de desempenho em planejadores de caminho usando campos potenciais
title Otimização de desempenho em planejadores de caminho usando campos potenciais
spellingShingle Otimização de desempenho em planejadores de caminho usando campos potenciais
Fischer, Leonardo Garcia
Computação gráfica
Animacao : Computacao grafica
Algoritmos : Programacao
Path planning
GPGPU
CUDA
Parallelism
Computer graphics
title_short Otimização de desempenho em planejadores de caminho usando campos potenciais
title_full Otimização de desempenho em planejadores de caminho usando campos potenciais
title_fullStr Otimização de desempenho em planejadores de caminho usando campos potenciais
title_full_unstemmed Otimização de desempenho em planejadores de caminho usando campos potenciais
title_sort Otimização de desempenho em planejadores de caminho usando campos potenciais
author Fischer, Leonardo Garcia
author_facet Fischer, Leonardo Garcia
author_role author
dc.contributor.author.fl_str_mv Fischer, Leonardo Garcia
dc.contributor.advisor1.fl_str_mv Nedel, Luciana Porcher
dc.contributor.advisor-co1.fl_str_mv Silveira, Renato
contributor_str_mv Nedel, Luciana Porcher
Silveira, Renato
dc.subject.por.fl_str_mv Computação gráfica
Animacao : Computacao grafica
Algoritmos : Programacao
topic Computação gráfica
Animacao : Computacao grafica
Algoritmos : Programacao
Path planning
GPGPU
CUDA
Parallelism
Computer graphics
dc.subject.eng.fl_str_mv Path planning
GPGPU
CUDA
Parallelism
Computer graphics
description A animação de personagens autônomos interessa a muitas áreas, tais como filmes, jogos e simulações. O seu principal objeto de estudo é a definição de maneiras de repro-duzir, de forma realística, um dado ser (seja ele vivo, mecânico ou mesmo imaginário). Diversas técnicas já foram propostas tentando se alcançar alta qualidade na animação final. Porém, percebe-se que essas propostas são cada vez mais complexas, dificultando o seu uso em aplicações de tempo real. Dessa forma, o desempenho do algoritmo que executa a animação pode ser tão im-portante quanto à qualidade da própria animação. Uma técnica que gere resultados de alta qualidade, mas que não possa ser executada em tempo real será bastante limitada quanto à sua aplicabilidade. Nesse sentido, esse trabalho apresenta o estudo de um desses algoritmos, apresen-tando uma forma de melhorar o seu desempenho, visando o seu uso em aplicações de tempo real. Esse ganho de desempenho será alcançado utilizando as características para-lelizáveis do algoritmo estudado. Para alcançar esse objetivo, este trabalho utiliza o alto paralelismo das placas gráfi-cas atuais para estender o trabalho iniciado por Dapper (DAPPER et al., 2007). Em seu trabalho, Dapper utilizou os campos potenciais gerados a partir da solução numérica de problemas de valores de contorno envolvendo a equação de Laplace (funções harmôni-cas). Esses campos potenciais são capazes de gerar caminhos livres de mínimos locais, com trajetórias suaves, e por isso foram utilizados para gerar o caminho a ser seguido pelo agente autônomo. Como será visto, esses campos potenciais podem ser obtidos mais rapidamente se os cálculos envolvidos forem paralelizados. Também será apresentado uma série de testes que demonstram que a implementação paralela do algoritmo é capaz de melhorar o seu desempenho. Nos testes, foi possível detectar que a nova implementação é capaz de ser até 56 vezes mais rápida que a versão seqüencial. Isso torna o algoritmo aplicável para uso em tempo real, mesmo em situa-ções com centenas de personagens autônomos na cena. Por fim, será apresentada uma série de outras contribuições feitas ao projeto. Entre essas, destaca-se um sistema de ramificação de trajetórias para definir caminhos, e a melhoria da qualidade do código existente no início dos trabalhos, como forma de me-lhorar os trabalhos futuros.
publishDate 2008
dc.date.issued.fl_str_mv 2008
dc.date.accessioned.fl_str_mv 2009-06-04T04:13:08Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/16009
dc.identifier.nrb.pt_BR.fl_str_mv 000681150
url http://hdl.handle.net/10183/16009
identifier_str_mv 000681150
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/16009/1/000681150.pdf
http://www.lume.ufrgs.br/bitstream/10183/16009/2/000681150.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/16009/3/000681150.pdf.jpg
bitstream.checksum.fl_str_mv 1c4d0f8259d22cc033278d698565b582
59b5d2f7aedfd55bccb79c874760340c
f0b0e4d8bfc92fd337807659ecdb594f
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1801224384998801408