construção de aplicações de realidade cruzada projetiva utilizando openframeworks e arduino

Post on 09-Jun-2015

357 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

This chapter aims to show a Projective Cross-Reality environment development. The chapter consists of the following sections: correlated works that motivated this chapter, equipment used, application development steps using the open-source framework openFrameworks with the Arduino hardware interface, and some use trends. The development steps consists of: building of a basic application using openFrameworks; color tracking using an openCV wrapper; projection and camera calibration; and inclusion of a hardware in the interaction loop.

TRANSCRIPT

fb.com/RVA.BR 11/05/2014 1 fb.com/RVA.BR

Preâmbulo

Introdução

• oF

• Definições

• Equipamentos

Casos

• Caso 1

• Caso 2

• Caso 3

• Caso 4

Finalização

11/05/2014 fb.com/RVA.BR 2

“The product is no longer the basis of value. The experience

is.”

Venkat Ramaswamy

The Future of Competition

3

Pre

âmb

ulo

11/05/2014 fb.com/RVA.BR

Valor de uma boa experiência

4

Pre

âmb

ulo

11/05/2014 fb.com/RVA.BR

IHC – Interação Homem-Computador

• Estudo da interação entre pessoas e computadores.

• Onde são formadas as experiências.

5

Pre

âmb

ulo

11/05/2014 fb.com/RVA.BR

Mas quem desenvolve experiência?

• UX Developer – User Experience

– A pessoa que caminha entra o design e a tecnologia.

http://blog.alexandremagno.net/2013/02/o-que-seria-um-ux-developer/

6

Pre

âmb

ulo

11/05/2014 fb.com/RVA.BR

Interação

7

Texto, som, cores, visual, mecânico ou

fisico.

Interface

Mensagens

Usuário Sistema

Pre

âmb

ulo

11/05/2014 fb.com/RVA.BR

Exemplo:

• Usabilidade:

1. Facilidade de aprendizado

2. Eficiência

3. Facilidade de memorização

4. Erros

5. Satisfação subjetiva

8

Meta-Mensagens

Usuário Sistema

Pre

âmb

ulo

11/05/2014 fb.com/RVA.BR

3 níveis

Lógico: Resolvem, solucionam, facilitam.

Emocional: Satisfazem necessidades e desejos afetivos.

Visceral: resolvem questões fundamentais, sem consciência. Impulso.

9

Pre

âmb

ulo

11/05/2014 fb.com/RVA.BR

Espera.... Visceral?

10

Pre

âmb

ulo

11/05/2014 fb.com/RVA.BR

11

Pre

âmb

ulo

11/05/2014 fb.com/RVA.BR

Pre

âmb

ulo

11/05/2014 12 fb.com/RVA.BR

Construção de aplicações de

Realidade Cruzada Projetiva utilizando openFrameworks e

ARDUINO

13

Claudio Kirner1 and Christopher S. Cerqueira12

1Federal University of Itajubá – Universidade Federal de Itajubá (UNIFEI) 2National Institute for Space Research – Instituto Nacional de Pesquisas Espaciais (INPE)

1ckirner@gmail.com ,2christophercerqueira@gmail.com 1http://realidadevirtual.com.br/, 2http://cscerqueira.com.br

11/05/2014 fb.com/RVA.BR

Autores

Christopher Shneider Cerqueira – é graduado na Universidade Federal de Itajubá e pesquisador da área de realidade virtual e aumentada desde 2009, atuando no desenvolvimento de aplicações baseadas em ARToolKit, para o desenvolvimento de ferramentas de autoria de realidade aumentada com cross-reality. É um dos desenvolvedores da ferramenta de autoria comportamental basAR. Atualmente é aluno de pós-graduação do INPE desenvolvendo um sistema de simulação de satélites distribuídos com visualização em realidade virtual.

Claudio Kirner – é graduado em Engenharia Elétrica pela Universidade de São Paulo (1973), mestre em Engenharia Eletrônica pelo Instituto Tecnológico de Aeronáutica (1978), doutor em Engenharia de Sistemas e Computação pela Universidade Federal do Rio de Janeiro (1986) e Pós-doutor pela University of Colorado at Colorado Springs – UCCS (1993-1995). Atualmente é Professor Adjunto na Universidade Federal de Itajubá (UNIFEI). Tem experiência em Realidade Virtual e Realidade Aumentada, Interação Humano-Computador, Ambientes Colaborativos e educação à Distância. Coordenou o I Workshop de Realidade Virtual, em 1997, e o I Workshop de Realidade Aumentada, em 2004, e outros subsequentes. Orientou 30 alunos de mestrado e 8 de doutorado; coordenou Projetos CNPq, FAPESP, RHAE e FAPEMIG; publicou cerca de 270 artigos científicos e 40 livros e capítulos.

Dúvidas: christophercerqueira@gmail.com 14

Intr

od

uçã

o

11/05/2014 fb.com/RVA.BR

Intr

od

uçã

o

11/05/2014 15 fb.com/RVA.BR

ERA TROGLODITA

• Graduação (2010): – ARToolKit

– PTAMM

• Bolsista DTI (2011): – basAR

Conectar com ARDUINO em C++

Literatura indica FIRMATA: http://firmata.org/wiki/Download

Intr

od

uçã

o

11/05/2014 16 fb.com/RVA.BR

Processing

Adobe Flash

Unity

Cinder

openFrameworks

17

Intr

od

uçã

o

11/05/2014 fb.com/RVA.BR

oF

• Criado para artistas e designers

• Desenvolvido por: Zach Liberman, Theo Watson, Artuno Castro e Chris O’Shea

• Proposta: Arrumar a falta de comunicação entre diversas bibliotecas em C++, e permitir portabilidade.

• Escrita em C++

• Licença: MIT (educacional e venda)

19

Intr

od

uçã

o

11/05/2014 fb.com/RVA.BR

utilizar oF quando:

• O projeto renderiza muitos gráficos 3D, e/ou;

• Utilizar muita visão computacional, e/ou;

• Controlar equipamentos, como, por exemplo, o ARDUINO.

20

Intr

od

uçã

o

11/05/2014 fb.com/RVA.BR

Libs no pacote padrão

• OpenGL, GLEW, GLUT, libtess2 e cairo para gráficos.

• rtAudio, PortAudio ou FMOD e Kiss FFT para entrada, saída e análise de áudio.

• FreeType para fontes.

• FreeImage para salvar e carregar imagens.

• Quicktime e videoInput para playback e aquisição de vídeo.

• Poco, que contém uma variedade de utilidades.

21

Intr

od

uçã

o

11/05/2014 fb.com/RVA.BR

C++ Portável!!!!

22

Intr

od

uçã

o

11/05/2014 fb.com/RVA.BR

Página Principal – openframeworks.cc

23

Intr

od

uçã

o

11/05/2014 fb.com/RVA.BR

• Introdução à utilização de openFrameworks para o desenvolvimento de aplicações de RVA

• cscerqueira.com.br

• ppt disponível em:

http://pt.slideshare.net/christophercerqueira/svr2013-o-frev

Intr

od

uçã

o

11/05/2014 24 fb.com/RVA.BR

ERA TROGLODITA (C++)

• Graduação (2010): – ARToolKit

– PTAMM

• Bolsista DTI (2011): – basAR

ERA DO FOGO (C++/oF)

• Mestrado (2012):

• Doutorado (2014):

Intr

od

uçã

o

11/05/2014 25 fb.com/RVA.BR

Billinghurst Vision

Intr

od

uçã

o

11/05/2014 26 fb.com/RVA.BR

Realidades – Realidade Aumentada

uma interface baseada na

sobreposição de informações virtuais geradas por computador (envolvendo imagens estáticas e dinâmicas, sons

espaciais e sensações hápticas) com o ambiente físico do usuário, percebida através de dispositivos tecnológicos e

usando as interações naturais do usuário, no mundo físico.

Claudio Kirner

SOURCE: Adapted from ESA (2009) and Capua (2008)

Intr

od

uçã

o

11/05/2014 27 fb.com/RVA.BR

Christopher Vision

Informação virtual

Interação Natural

dispositivos tecnológicos

11/05/2014 28 fb.com/RVA.BR

Realidades – Realidade Cruzada

é um ambiente de realidade misturada ubíqua, que vem da

fusão de uma rede de sensores e atuadores (que coletam e enviam

dados relacionados ao mundo real) com mundos virtuais

compartilhados, usando a

interface da realidade aumentada.

Claudio Kirner

Intr

od

uçã

o

11/05/2014 29 fb.com/RVA.BR

Milgram Continuum - interfaces

SOURCE: Milgram et al. (1995)

Aumento de elementos reais Aumento de elementos virtuais

Intr

od

uçã

o

11/05/2014 30 fb.com/RVA.BR

Kirner’s Diagram – elementos

Source: (KIRNER et al., 2012) Intr

od

uçã

o

11/05/2014 31 fb.com/RVA.BR

M$

GRU

Lego

Cave

2L

Realidade Cruzada

Objetos reais

Sensores e Atuadores

Realidade Aumentada

OC

R

NO

CR

NO

CR

Intr

od

uçã

o

11/05/2014 32 fb.com/RVA.BR

Intr

od

uçã

o

11/05/2014 33 fb.com/RVA.BR

Construção de aplicações de Realidade Cruzada Projetiva

utilizando openFrameworks e ARDUINO

Intr

od

uçã

o

11/05/2014 34 fb.com/RVA.BR

Equipamentos

Rastreio

• Visão Computacional

• Câmeras

Interface de Hardware

• Prototipagem rápida

Projetor

Intr

od

uçã

o

11/05/2014 35 fb.com/RVA.BR

Rastreio

• Óptico

• Via webcam

Logitech HD Webcam C525 720P Foco Automático USB 2.0

Intr

od

uçã

o

11/05/2014 36 fb.com/RVA.BR

Projetor

Intr

od

uçã

o

11/05/2014 37 fb.com/RVA.BR

Interface de Hardware

Intr

od

uçã

o

11/05/2014 38 fb.com/RVA.BR

Construção de aplicações de Realidade Cruzada Projetiva

utilizando openFrameworks e ARDUINO

Intr

od

uçã

o

11/05/2014 39 fb.com/RVA.BR

CASOS

11/05/2014 fb.com/RVA.BR 40

Construção da Aplicação

Caso 1 – Programa Vazio.

Caso 2 – Rastreio de Cores.

Caso 3 – Projeção Calibrada.

Caso 4 – Uso de Hardware no loop de interação.

DEV

EL

11/05/2014 41 fb.com/RVA.BR

Caso 1: Montagem do programa vazio

• oF na versão 0.8.0

• Windows 8.1

• Visual C++ 2012 Express

• Componentes:

– ofxCv

– ofxGlWrapper

DEV

EL –

Cas

o 1

11/05/2014 42 fb.com/RVA.BR

projectGenerator: Onde inicia tudo (easy way)

DEV

EL –

Cas

o 1

11/05/2014 43 fb.com/RVA.BR

projectGenerator:

DEV

EL –

Cas

o 1

11/05/2014 44 fb.com/RVA.BR

projectGenerator

Código no oF

• oF baseia-se em OO

• Arquivo de cabeçalho

• Arquivo de métodos

– Setup

– Update

– Draw

DEV

EL –

Cas

o 1

11/05/2014 45 fb.com/RVA.BR

Caso 2: Rastreio de cores

1. Breve teoria de cores e rastreio de blobs em openCV,

2. Construção dos artefatos de manipulação,

3. Algoritmo de rastreio,

4. Algumas sugestões de usos para este caso.

DEV

EL –

Cas

o 2

11/05/2014 47 fb.com/RVA.BR

Cores

RGB-A (red, green, blue)-alfa HSV (hue (cor), saturation, value)

DEV

EL –

Cas

o 2

11/05/2014 48 fb.com/RVA.BR

Blobs

• Método de busca de caracteristicas.

• Blobs compartilham propriedades constantes que podem ser “percebidas” na imagem.

DEV

EL –

Cas

o 2

11/05/2014 49 fb.com/RVA.BR colorTrack

Construção dos artefatos

DEV

EL –

Cas

o 2

11/05/2014 50 fb.com/RVA.BR

Para infraestrutura

• Foi considerado estático, então é proposto (no caso 3) uma calibração fixa (versão easy).

DEV

EL –

Cas

o 2

11/05/2014 51 fb.com/RVA.BR

Algoritmo

DEV

EL –

Cas

o 2

11/05/2014 52 fb.com/RVA.BR

Resultado do Rastreio de cores

DEV

EL –

Cas

o 2

11/05/2014 53 fb.com/RVA.BR

exemplo

Usos

• Reconhecimento de gestos

• Interação 2D

• Realidade Aumentada

* Sem projeção calibrada.

DEV

EL –

Cas

o 2

11/05/2014 54 fb.com/RVA.BR

sixthSense

Robot

AirDraw

HandTracking

Caso 3: Projeção Calibrada

1. Teoria simplificada de calibração

2. Algoritmo

3. Resultados

4. Usos

DEV

EL –

Cas

o 3

11/05/2014 55 fb.com/RVA.BR

Projection Mapping

11/05/2014 fb.com/RVA.BR 56

Audi case

Teoria simplificada

DEV

EL –

Cas

o 3

11/05/2014 57 fb.com/RVA.BR

Algoritmo

DEV

EL –

Cas

o 3

11/05/2014 58 fb.com/RVA.BR

Resultados

DEV

EL –

Cas

o 3

11/05/2014 59 fb.com/RVA.BR

Usos

• Table-tops

• Projeções em paredes

DEV

EL –

Cas

o 3

11/05/2014 60 fb.com/RVA.BR

SketchSynth

Sensetable

L.A.S.E.R. Tag

Coca-Cola Case

Climbing

OASIS

Missile Command

Caso 4: Uso de hardware no loop de interação

• Teoria (super reduzida) sobre ARDUINO

• Algoritmos

• Resultados

• Sugestões de uso

DEV

EL –

Cas

o 4

11/05/2014 61 fb.com/RVA.BR

O que tem no ARDUINO?

11/05/2014 62 fb.com/RVA.BR

Outras versões

11/05/2014 63 fb.com/RVA.BR

Shields

11/05/2014 64 fb.com/RVA.BR

FIRMATA

Literatura indica FIRMATA: http://firmata.org/wiki/Download

11/05/2014 65 fb.com/RVA.BR

O que a FIRMATA faz!?

• Transforma o ARDUINO numa interface de controle, podendo ser modificado por um host.

• Quais as vantagens?

– O host controla a execução!

– O host tem mais memória.

• Desvantagens?!

– Tem que ficar atrelado ao host!

11/05/2014 66 fb.com/RVA.BR

Métodos para conectar com o ARDUINO

connect()

disconnect()

getAnalog()

getAnalogPinReporting()

getDigital()

getDigitalPinMode()

getPwm()

getString()

isArduinoReady()

isInitialized()

sendAnalogPinReporting()

sendByte()

sendDigital()

sendDigitalPinMode()

sendPwm()

sendReset()

sendString()

setUseDelay()

update()

11/05/2014 67 fb.com/RVA.BR

“esquemático”

11/05/2014 68 fb.com/RVA.BR

Montando o circuito

11/05/2014 69 fb.com/RVA.BR

Algoritmo conceitual

11/05/2014 70 fb.com/RVA.BR

Algoritmo

11/05/2014 fb.com/RVA.BR 71

Resultados

11/05/2014 72 fb.com/RVA.BR exemplo

Usos

• Bancadas interativas

• Interação com projeção

• Objetos inteligentes

11/05/2014 73 fb.com/RVA.BR

inForm

SandStation

Space Glasses

MYU

Project Tango

FECHAMENTO Considerações finais.

11/05/2014 fb.com/RVA.BR 74

• oF é indicado quando é necessário alto desempenho, controle de hardware, distribuição, etc.

• Foi visto: – Estrutura básica

– Color tracking

– Calibração da projeção

– Uso de hardware

11/05/2014 fb.com/RVA.BR 75

• No material fornecido:

– Apresentação.

– Vídeos.

– Capítulo (corrigido).

– Códigos usados.

– Códigos de alguns exemplos.

– Compilador usado (VS 2012).

– oF e add-nos utilizados.

11/05/2014 fb.com/RVA.BR 76

Dúvidas Sites:

cscerqueira.com.br realidadevirtual.com.br

E-mails: christophercerqueira@gmail.com

ckirner@gmail.com Facebook:

fb.com/RVA.BR

Aproveitem o evento! 11/05/2014 fb.com/RVA.BR 78

79

Informação virtual

Interação Natural

dispositivos tecnológicos

11/05/2014 80 fb.com/RVA.BR

top related