2 resultados para Java (Programming language of computer)
em Biblioteca de Teses e Dissertações da USP
Resumo:
A operação de veículos autônomos necessita de meios para evitar colisões quando obstáculos não conhecidos previamente são interpostos em sua trajetória. Algoritmos para executar o desvio e sensores apropriados para a detecção destes obstáculos são essenciais para a operação destes veículos. Esta dissertação apresenta estudos sobre quatro algoritmos de desvio de obstáculos e tecnologia de três tipos de sensores aplicáveis à operação de veículos autônomos. Após os estudos teóricos, um dos algoritmos foi testado para a comprovação da aplicabilidade ao veículo de teste. A etapa experimental foi a realização de um programa, escrito em linguagem de programação Java, que aplicou o algoritmo Inseto 2 para o desvio de obstáculos em uma plataforma robótica (Robodeck) com o uso de sensores ultrassônicos embarcados na referida plataforma. Os experimentos foram conduzidos em ambiente fechado (indoor), bidimensional e horizontal (plano), fazendo o Robodeck executar uma trajetória. Para os testes, obstáculos foram colocados para simular situações variadas e avaliar a eficácia do algoritmo nestas configurações de caminho. O algoritmo executou o desvio dos obstáculos com sucesso e, quando havia solução para a trajetória, ela foi encontrada. Quando não havia solução, o algoritmo detectou esta situação e parou o veículo.
Resumo:
A necessidade de obter solução de grandes sistemas lineares resultantes de processos de discretização de equações diferenciais parciais provenientes da modelagem de diferentes fenômenos físicos conduz à busca de técnicas numéricas escaláveis. Métodos multigrid são classificados como algoritmos escaláveis.Um estimador de erros deve estar associado à solução numérica do problema discreto de modo a propiciar a adequada avaliação da solução obtida pelo processo de aproximação. Nesse contexto, a presente tese caracteriza-se pela proposta de reutilização das estruturas matriciais hierárquicas de operadores de transferência e restrição dos métodos multigrid algébricos para acelerar o tempo de solução dos sistemas lineares associados à equação do transporte de contaminantes em meio poroso saturado. Adicionalmente, caracteriza-se pela implementação das estimativas residuais para os problemas que envolvem dados constantes ou não constantes, os regimes de pequena ou grande advecção e pela proposta de utilização das estimativas residuais associadas ao termo de fonte e à condição inicial para construir procedimentos adaptativos para os dados do problema. O desenvolvimento dos códigos do método de elementos finitos, do estimador residual e dos procedimentos adaptativos foram baseados no projeto FEniCS, utilizando a linguagem de programação PYTHONR e desenvolvidos na plataforma Eclipse. A implementação dos métodos multigrid algébricos com reutilização considera a biblioteca PyAMG. Baseado na reutilização das estruturas hierárquicas, os métodos multigrid com reutilização com parâmetro fixo e automática são propostos, e esses conceitos são estendidos para os métodos iterativos não-estacionários tais como GMRES e BICGSTAB. Os resultados numéricos mostraram que o estimador residual captura o comportamento do erro real da solução numérica, e fornece algoritmos adaptativos para os dados cuja malha retornada produz uma solução numérica similar à uma malha uniforme com mais elementos. Adicionalmente, os métodos com reutilização são mais rápidos que os métodos que não empregam o processo de reutilização de estruturas. Além disso, a eficiência dos métodos com reutilização também pode ser observada na solução do problema auxiliar, o qual é necessário para obtenção das estimativas residuais para o regime de grande advecção. Esses resultados englobam tanto os métodos multigrid algébricos do tipo SA quanto os métodos pré-condicionados por métodos multigrid algébrico SA, e envolvem o transporte de contaminantes em regime de pequena e grande advecção, malhas estruturadas e não estruturadas, problemas bidimensionais, problemas tridimensionais e domínios com diferentes escalas.