28
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

Trabalho - Empreededorismo - UEA

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.

15

8 CRONOGRAMA DE ATIVIDADES

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.