Upload
nayana-ha
View
17
Download
2
Embed Size (px)
DESCRIPTION
Trabalho feito durante a disciplina de empreendedorismo da Universidade do Estado do Amazonas
Citation preview
UNIVERSIDADE DO ESTADO DO AMAZONAS
ESCOLA SUPERIOR DE TECNOLOGIA
NAYANA HOLANDA DE ABREU
PROTOTIPAGEM DE SISTEMA PARA COLETA DE MEDIDAS
GEOMÉTRICAS RELATIVAS DE COMPARTIMENTOS FÍSICOS
ATRAVÉS DO USO DE SENSORES DE INCLINAÇÃO E DISTÂNCIA
PARA GERAÇÃO AUTOMATIZADA DE MODELOS CAD
Manaus
2015
NAYANA HOLANDA DE ABREU
PROTOTIPAGEM DE SISTEMA PARA COLETA DE MEDIDAS
GEOMÉTRICAS RELATIVAS DE COMPARTIMENTOS FÍSICOS
ATRAVÉS DO USO DE SENSORES DE INCLINAÇÃO E DISTÂNCIA
PARA GERAÇÃO AUTOMATIZADA DE MODELOS CAD
Projeto de Pesquisa desenvolvido durante a
disciplina de Trabalho de Conclusão de Curso
I e apresentada à banca avaliadora do Curso
de Engenharia de Controle e Automação da
Escola Superior de Tecnologia da
Universidade do Estado do Amazonas, como
pré-requisito para a obtenção do título de
Engenheiro(a) de Controle e Automação.
Orientador: Dr. Luis Delfin Rojas Puron
Manaus
2015
SUMÁRIO
INTRODUÇÃO.............................................................................................................4
1 TEMA..........................................................................................................................5
2 PROBLEMA DE PESQUISA...................................................................................5
3 HIPÓTESE.................................................................................................................5
4 OBJETIVOS...............................................................................................................54.1 OBJETIVO GERAL.................................................................................................54.2 OBJETIVOS ESPECÍFICOS....................................................................................6
5 JUSTIFICATIVA.......................................................................................................6
6 REFERENCIAL TEÓRICO.....................................................................................76.1 SENSORES DE MEDIÇÃO DE DISTÂNCIA E POSIÇÃO..................................86.1.1 Sensor Óptico Linear...........................................................................................86.2 SENSORES DE MEDIÇÃO DE INCLINAÇÃO.....................................................86.3 UNIDADE CENTRAL DE PROCESSAMENTO...................................................96.3.1 Arduino.................................................................................................................96.3.2 Hardware Mobile.................................................................................................96.3.2.1 Sistema Operacional Android...........................................................................106.3.2.2 Acelerômetro.....................................................................................................106.3.2.3 Giroscópio.........................................................................................................116.3.2.4 Sensor de Proximidade......................................................................................116.4 SISTEMA DE REPOSITÓRIO..............................................................................116.5 API DE RENDERIZAÇÃO GRÁFICA.................................................................126.5.1 OpenGL...............................................................................................................126.6 LINGUAGEM DE PROGRAMAÇÃO PARA RENDERIZAÇÃO GRÁFICA....126.6.1 Processing............................................................................................................126.7 SOFTWARE CAD..................................................................................................13
7 METODOLOGIA....................................................................................................13
8 CRONOGRAMA DE ATIVIDADES.....................................................................15
REFERÊNCIAS BIBLIOGRÁFICAS......................................................................16
FONTES CONSULTADAS........................................................................................17
4
INTRODUÇÃO
Desenhar modelos 3D é uma tarefa consumidora de tempo e em muitos casos
repetitiva. Em determinadas ocasiões percebe-se a possibilidade de automação de tal
atividade, pois já existe um modelo de geometria similar feito. Um exemplo disso é a
realização manual de medições de distâncias e ângulos para a criação do modelo CAD
do cômodo de uma casa.
Considerando-se a similaridade do modelo geométrico dos compartimentos de
uma casa, e analisando suas diferenças do ponto de vista de relações paramétricas,
propõe-se neste trabalho a criação de um protótipo para automação de tal tarefa através
do uso de sensores de distância e inclinação aliados a um repositório de modelos CAD
e utilização de API apropriada para geração de desenho automatizado.
Tal proposta visa acelerar o design e entrega de produtos com configurações já
existentes, ao mesmo tempo em que objetiva reduzir custos e liberar engenheiros e
técnicos para a realização de atividades de valor agregado mais significativo. O
sistema proposto também abriria espaço para o desenvolvimento de novos produtos,
beneficiando-se da produção modular e redução de trabalho com manutenção.
5
1 TEMA
Prototipagem de sistema para coleta de medidas geométricas relativas de
compartimentos físicos através do uso de sensores de inclinação e distância para
geração automatizada de modelos CAD.
2 PROBLEMA DE PESQUISA
Medição manual repetitiva de coordenadas e distâncias geométricas de
compartimentos com formas geométricas semelhantes.
3 HIPÓTESE
É possível a criação de sistema para coleta de distâncias e coordenadas
geométricas relativas de determinado compartimento com base em um modelo de
referência já existente através de informações de medição coletadas por sensores de
inclinação, como o acelerômetro e sensor (es) de medição de distância, como os de
natureza óptica, controlado (s) por sistema microprocessado. Os dados de relação
paramétrica coletados e modelos de base podem ser armazenados em repositório para
que sejam utilizados e processados por algoritmo gerador de modelos CAD através da
implementação de APIs de software CAD que possibilitem o uso de dados externos
para geração automatizada de projetos em tais plataformas, como o OpenGL.
4 OBJETIVOS
4.1 OBJETIVO GERAL
Construir o protótipo de um sistema que permita a renderização (converter
gráficos a partir de um arquivo em forma visual) automatizada de objeto 3D, como o
compartimento de um prédio, através do uso de informações de coordenadas e
medidas geométricas relativas coletadas através de sistema microprocessado auxiliado
por sensores de inclinação, como o acelerômetro e sensores de medição de distância,
6
como sensor de natureza óptica. Com base em modelos já existentes armazenados em
repositório e uso de dados coletados, será utilizada uma API (application
programming interface) multi-plataforma e cross-language como OpenGL, ou
linguagem voltada para o mercado de computação gráfica, como o Processing, para
construção de algoritmo de renderização de imagens.
4.2 OBJETIVOS ESPECÍFICOS
a) Construção de sub-sistema microprocessado que efetue medições geométricas
entre pontos, através do uso de plataforma Arduino, e sensores medidores de
inclinação e distância. Também há possibilidade de construção de tal sub-
sistema através de desenvolvimento de aplicativo Android próprio e utilização
de sensores embutidos em hardware mobile.
b) Estudo de acurácia de medições geométricas relativas e trabalho em técnicas de
otimização e redução de erro.
c) Escolha de API e/ou linguagem de programação utilizada para construir o
algoritmo de renderização do desenho.
d) Escolha de sistema de armazenamento de dados geométricos necessários e
modelos de base, assim como estudo de sua operação e utilização junto a
linguagens de programação ou APIs utilizadas para a geração automatizadas
dos desenhos 3D.
e) Construção de algoritmo para desenho do objeto 3D desejado e/ou manipulação
de API.
f) Realização de testes com o protótipo desenvolvido em objetos como caixa de
papelão de diferentes dimensões e formas geométricas semelhantes.
5 JUSTIFICATIVA
A construção do protótipo proposto neste trabalho envolve a utilização de
vários conceitos estudados nas disciplinas de Engenharia de Controle e Automação e
áreas relacionadas, tais como: Banco de Dados Relacional, Algoritmos e Estrutura de
7
Dados, Sistemas Embarcados, Sistemas Sensoriais, Álgebra Linear, Pensamento
Matemático e Analítico, Sistemas Operacionais, Projeto Auxiliado por Computador
(CAD), Computação Gráfica, Programação Orientada a Objeto, Desenho Técnico e
Linguagem de Programação.
Fazer o desenho de um objeto 3D é uma atividade que geralmente envolve uma
série de tarefas repetitivas e de operação humana desnecessária, como a de se medir
manualmente, através do uso de trenas ou de outras ferramentas de medição,
coordenadas e medidas de comprimento e altura de uma sala, seguido pela ação de
criação do desenho propriamente dito, de forma manual ou através de software CAD.
Muitas vezes, o modelo de desenho já existe, e somente informações de coordenadas e
distâncias mudam.
Para situações onde deseja-se somente simular determinado objeto 3D em
diferentes dimensões, ter a opção de apenas escolher determinado modelo já existente
e obtê-lo de acordo com as dimensões geométricas de determinado contexto evitaria
trabalho repetitivo em setores de Engenharia Civil, Infraestrutura e similares.
Além disso, tal sistema possibilitaria a modularização de projetos CAD,
permitindo maior colaboração entre um time através do compartilhamento de modelos
de base para utilização em outros projetos com diferentes medidas. Poder-se-ia até
mesmo estender sua utilidade para a área de Manufatura Auxiliada por Computador
(CAM) e prototipagem de sólidos em 3D, como impressão 3D.
6 REFERENCIAL TEÓRICO
A velocidade dos avanços tecnológicos computacionais está continuamente
abrindo caminho para novas ferramentas de design, aumentando a perspectiva de
reutilização de projetos e automação. Esse fator pode ser usado para abolir tarefas
rotineiras, eliminando possibilidade de erros humanos e abrindo espaço para
desenvolvimento de produtos mais personalizados (TARKIAN, 2009).
8
Para atingir o objetivo descrito neste projeto, a automação da geração de
desenhos de modelos 3D precisará da multidisciplinaridade de uma variedade de
ferramentas e frameworks, como descritos a seguir.
6.1 SENSORES DE MEDIÇÃO DE DISTÂNCIA E POSIÇÃO
Os sensores de medição de distância e posição são ideais para várias aplicações
de medição sem contato incluindo: verificação de erros, inspeção, medição de
distância, verificação de posição de materiais, nível de pilha, medição de espessura,
diâmetro, monitoração de nível e medição de largura de caixas, etc (FRADEN, 2010).
Para o projeto descrito nesse trabalho, eles tornam-se úteis para a medição de
distância entre dois pontos apontados pelo usuário.
6.1.1 Sensor Óptico Linear
Esse tipo de sensor consegue calcular de uma forma precisa a distância de
proximidade de objetos que refletem a luz infravermelha emitida para longas
distâncias (FRADEN, 2010). Como exemplo tem-se os sensores detectores de posição
(SDP) produzidos para sensoriamento preciso de posição e auto-focagem em câmeras
fotográficas. Tais sistemas utilizam um diodo emissor de luz (LED) e um sensor
fotodetector. Desse modo, a posição de um objeto é determinada pela aplicação do
princípio de medição triangular.
6.2 SENSORES DE MEDIÇÃO DE INCLINAÇÃO
Os sensores de inclinação ajudam a simplificar as tarefas de medição de ângulo.
Diversos dispositivos de medição que monitoram os ângulos de inclinação estão
disponíveis no mercado. No entanto, a informação de medição muitas vezes não é
fornecida da maneira simples
9
6.3 UNIDADE CENTRAL DE PROCESSAMENTO
A unidade Central de Processamento, a CPU (Central Processing Unit), atua
como o cérebro do sistema, processando e analisando todas as informações que entram
e saem do microcomputador. Nos microcomputadores, é representada pelo
microprocessador (O’HALLARON; O’HALLARON, 2011). Para o projeto descrito
neste trabalho avalia-se a opção de usar plataforma Arduino para controle e
manipulação de dados fornecidos pelos sensores, e também se avalia a possiblidade de
utilização de capacidade de processamento de dispositivo mobile com sistema
operacional Android.
6.3.1 Arduino
O Arduino se constitui em uma boa opção de CPU pela sua facilidade operação,
preço e disponibilidade no mercado. Tal tipo sistema embarcado uma plataforma de
prototipagem eletrônica de hardware livre e de placa única, projetada com um
microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma linguagem
de programação padrão (www.arduino.cc/).
6.3.2 Hardware Mobile
A vantagem de se utilizar hardware mobile para o desenvolvimento de
medições desse projeto é possibilidade de utilizar seus sensores embutidos e fazer a
programação em sistema operacional Android. Dessa forma o projeto adquiriria um
maior escopo de usuários. Ele se tornaria acessível para profissionais da área técnica e
também poderia ser utilizado por leigos que desejam experimentar a ferramenta. Uma
provável desvantagem dessa abordagem seria a incoerência de funcionamento em
diferentes plataformas de hardware ou diferentes versões de sistema operacional
Android (MEIER, 2009).
A maioria dos dispositivos Android bem equipados vem com sensores internos
que podem medir movimentos, orientações e algumas condições ambientais. Eles são
10
capazes de perceber e identificar dados com precisão e exatidão, e responder a
informações importantes acerca de aplicativos no aparelho que, mesmo que o usuário
as vezes não se dê conta, acaba facilitando bastante o uso do mesmo.
Esses sensores são extremamente eficazes em situações onde, por exemplo, seja
necessária uma monitoração de movimentação tridimensional do aparelho, seu
posicionamento, ou até mesmo das mudanças ambientais que ele pode sofrer.
6.3.2.1 Sistema Operacional Android
Android é um sistema operacional móvel (SO) baseado no núcleo Linux e
atualmente desenvolvido pela empresa de tecnologia Google. Com uma interface de
usuário baseada na manipulação direta, o Android é projetado principalmente para
dispositivos móveis com tela sensível ao toque como smartphones e tablets; com
interface específica para TV (Android TV), carro (Android Auto) e relógio de pulso
(Android Wear). Pode-se utilizar a capacidade do sitema operacional Android para
manipulação dos dados fornecidos pelos sensores e armazenamento de dados
fornecidos por estes através da criação de um aplicativo de interface amigável e
possibilidade de interação com API (www.android.com).
6.3.2.2 Acelerômetro
Esse pequeno chip é formado por molas de silício, que medem oscilações no
aparelho. Essas oscilações servem para determinar a posição do aparelho, como se ele
está em pé, ou deitado, por exemplo, para que mude sua interface do modo horizontal
para o vertical e vice-versa.
Na prática, esse componente conta com três pequenos tubos, e dentro de cada
um deles há uma mola acoplada na tampa superior e, na outra ponta da mola, uma
pequena esfera que serve como uma massa. Esses três tubos simulam as três
coordenadas tridimensionais, que permitem que o aparelho perceba seu
posicionamento a partir do posicionamento dessas esferas, e movimentos, a partir dos
movimentos da mola (FRADEN, 2010).
11
6.3.2.3 Giroscópio
O acelerômetro não é o único sensor Android capaz de informar sobre a posição
física dos dispositivos. Eles contam também com um componente chamado de
giroscópio para essa finalidade.
Ele é formado por uma roda central, suspensa por um suporte que consiste em
dois círculos articulados, e uma haste que passa pelo centro dessa roda. A propriedade
que permite que ele possa monitorar e controlar a posição do aparelho, orientação,
direção, movimento angular e rotação é a capacidade de se opor a qualquer tentativa de
mudança em sua direção original (FRADEN, 2010).
6.3.2.4 Sensor de Proximidade
É o que permite ao aparelho perceber a proximidade e distância de objetos ao
seu redor sem precisar entrar em contato com eles. Ou até mesmo do corpo humano, e
um exemplo é como alguns smartphones bloqueiam a tela ao levá-lo ao ouvido. Ao
perceber essa proximidade, eles acionam um circuito elétrico que ativam essas
funções.
Essa detecção acontece através da emissão e reflexão de raios de luz
infravermelha. O aparelho aciona o circuito elétrico a partir da medição de fótons que
foram refletidos e detectados. Dessa forma o sensor é capaz também de medir a
distância desses objetos através de cálculo de frequência do sinal refletido. (FRADEN,
2010)
Alguns dispositivos, inclusive, já vêm com um sensor de proximidade que fica
localizado no canto superior frontal do aparelho, ao lado da câmera frontal, e que
permite desbloqueá-lo ao passar o dedo por cima.
6.4 SISTEMA DE REPOSITÓRIO
12
A medida que sistemas digitais se tornam cada vez mais complexos,
componentes reutilizáveis exercem um papel essencial. Claramente, componentes
reutilizáveis não trariam tantos benefícios se não existisse um lugar comum para
armazená-los, de modo que vários interessados pudessem compartilhar modelos entre
sim facilmente. No entanto, um problema notável em se criar componentes
reutilizáveis, assim como repositórios para tais é que o processo de design requer o uso
de várias ferramentas CAD que aceitam diferentes linguagens de descrição e, portanto,
tornam difícil o reuso de componentes (TARKIAN 2009).
6.5 API DE RENDERIZAÇÃO GRÁFICA
A possibilidade de utilização de API para integração de dados relacionais
paramétricos feitos através do subsistema de medição permitiria a adaptação dos dados
medidos para criação de modelos CAD em softwares já existentes.
6.5.1 OpenGL
OpenGL é o principal meio destinado ao desenvolvimento de aplicações
interativas portáteis, gráficas em 2D e 3D. O OpenGL possui um conjunto com mais
de 500 comandos distintos, que permitem-lhe construir complexas cenas
tridimensionais a partir de figuras geométricas básicas. OpenGL é uma ferramenta
básica que é utilizada na visualização dos gráficos dos videojogos (SHREINER;
SELLERS; KESSENICH; LICEA-KANE, 2014).
6.6 LINGUAGEM DE PROGRAMAÇÃO PARA RENDERIZAÇÃO GRÁFICA
Procurar-se-á linguagens de programação para integração de dados de medição
com software de geração de modelos CAD, procurar-se-á fazer tal integração através
de linguagem de programação mais apropriada, ou criação de software de natureza
gráfica para implementação do projeto.
13
6.6.1 Processing
Processing é uma linguagem de programação, ambiente de desenvolvimento, e
comunidade online. Desde 2001, Processing promoveu a alfabetização de software
dentro do mercado das artes visuais através da tecnologia. Inicialmente criado para
servir como um software de esboço e ensinar fundamentos de programação de
computadores dentro de um contexto visual, Processing evoluiu para uma ferramenta
de desenvolvimento para os profissionais. Hoje, há dezenas de milhares de estudantes,
artistas, designers, pesquisadores e entusiastas que usam Processing para a
aprendizagem, prototipagem e produção (processing.org). Suas vantagens englobam:
É gratuito e open source
Programas interativos com saídas 2D, 3D e PDF
Integração com OpenGL para aceleração 3D
Disponível nas plataformas GNU / Linux, Mac OS X e Windows
Mais de 100 bibliotecas estender a utilidade do software de núcleo
Bem documentado, com muitos livros disponíveis
6.7 SOFTWARE CAD
CAD, ou computer-aided design é o uso de tecnologia computacional para
projetar e fazer documentação de projetos. Software CAD substitui elaboração manual
com um processo automatizado (www.autodesk.com.br).
7 METODOLOGIA
O presente trabalho possui natureza de pesquisa aplicada, cujo objetivo é a
realização de uma análise exploratória e explicativa sobre o material bibliográfico
coletado. Os procedimentos técnicos a serem utilizados serão os de pesquisa
bibliográfica e experimental. O método de abordagem será o hipotético-dedutivo e a
elaboração seguirá o método de procedimento monográfico. A coleta de dados será
14
feita por meio de documentação direta e indireta, e a análise e interpretação dos dados
serão feitas de modo global.
Primeiramente haverá uma pesquisa sobre métodos para medição de distâncias
geométricas, aquisição de coordenados e medição de ângulos com o uso de sensores.
Será feito um estudo sobre vantagens de prototipação de sistema de hardware próprio
usando plataforma Arduino, sensor de inclinação, sensor óptico linear em relação a
utilização de sensores embutidos e processador de plataforma mobile.
Em seguida serão feitos estudos no sentido de tornar o processo de aquisição de
medições mais acurado, e trabalho em técnicas de otimização e redução de erro.
Tendo a parte de medições feita, será feito uma pesquisa sobre a linguagem de
programação e API mais apropriada para a renderização dos modelos CAD, assim
como inicialização de construção de algoritmo para desenho do objeto 3D ou
manipulação de API. Há interesse de se desenvolver tal etapa do projeto com OpenGL
e/ou Processing.
Após o passo descrito anteriormente, procurar-se-á um sistema de
armazenamento para os modelos de base. Haverá um estudo de sua operação e
utilização juntamente a linguagem de programação e/ou API escolhida para construção
do algoritmo de renderização.
Por fim, testes para verificação de funcionamento apropriado serão feitos com o
protótipo desenvolvido em objetos como caixa de papelão de diferentes dimensões e
formas geométricas semelhantes. A implementação de hardware será feita nas
dependências laboratoriais da Universidade do Estado do Amazonas e residência da
aluna orientada, situada na cidade Manaus.
16
REFERÊNCIAS BIBLIOGRÁFICAS
Android Developers, Android, the world's most popular mobile platform. Disponível em: < http://developer.android.com/about/index.html> Acesso em 3 de Abril de 2015.
Arduino, What is Arduino. Disponível em: < http://www.arduino.cc/> Acesso em 20 de Abril de 2015.
FRADEN, Jacob Fraden. Handbook of Modern Sensors: Physics, Designs, and Applications. 4. ed. Nova York: Springer, 2010.
MEIER Reto. Professional Android Application Development. Indianapolis: Wiley Publishing, Inc,2009
O’HALLARON, Bryant; O’HALLARON, David R. Computer Systems: A programmer’s Perspective. 2. ed. Boston: Prentice Hall, 201.
SHREINER, Dave; SELLERS, Graham; KESSENICH, John. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3. 8. ed. Nova Jersey: Addison Wesley, 2014.
17
FONTES CONSULTADAS
GADDIS, Tony. Starting Out With Java: From Control Structures Through Objects. 5. ed. Nova Jersey: Pearson, 2013.
HARDY, Brian; PHILIIPS, Bill. Android Programming: The Big Nerd Ranch Guide. Atlanta: Big Nerd Ranch, Inc, 2013.
SHIFFMAN, Daniel. Learning Processing: A Begginer’s Guide to Programming Images, Animation, and Interaction. Burlington: Morgan Kaufhann, 2008.