+ All Categories
Home > Education > 2011 12 07_curso_bas_ar_start

2011 12 07_curso_bas_ar_start

Date post: 06-Jun-2015
Category:
Upload: christopher-cerqueira
View: 124 times
Download: 0 times
Share this document with a friend
Popular Tags:
142
Transcript
Page 1: 2011 12 07_curso_bas_ar_start
Page 2: 2011 12 07_curso_bas_ar_start

AR Behavioral Authoring System for Augmented Reality

Christopher Shneider Cerqueira – [email protected] Claudio Kirner – [email protected]

https://sites.google.com/site/christophercerqueira/projetos/ear/basar

http://www.ckirner.com/basar

Page 3: 2011 12 07_curso_bas_ar_start

basAR: Behavioral Authoring System for Augmented Reality

ferramenta de autoria

Estrutura de pontos

Comportamentos inteligentes

Cross-reality

Page 4: 2011 12 07_curso_bas_ar_start

Video

Page 5: 2011 12 07_curso_bas_ar_start

Como funciona

Page 6: 2011 12 07_curso_bas_ar_start
Page 7: 2011 12 07_curso_bas_ar_start

DIVIDIR EM CAMADAS

Page 8: 2011 12 07_curso_bas_ar_start

Configurações básicas e genéricas do sistema.

Correlação entre o mundo real e o mundo virtual

Infraestrutura

Estrutura Atuação

Conteúdo

Comportamento Localização, orientação e escala dos objetos virtuais.

Como é realizada a interação do usuário

com o sistema.

Controle do feedback do sistema ao receber estimulo do usuário.

Camadas:

Page 9: 2011 12 07_curso_bas_ar_start

Atuação

Comportamento

Infraestrutura

Estrutura

Conteúdo

Comportamento

Page 10: 2011 12 07_curso_bas_ar_start

Comportamento

Seleção Ação Liberação

Page 11: 2011 12 07_curso_bas_ar_start
Page 12: 2011 12 07_curso_bas_ar_start

Comportamento

Estados: Descrição das ações e atributos

dos pontos da estrutura.

Page 13: 2011 12 07_curso_bas_ar_start

Comportamento

Estado 1

Estado 2

Estado 3

Estado 4

Estado 5

Estado 6

Page 14: 2011 12 07_curso_bas_ar_start

Comportamento ?

• Que ações sao possíveis no mundo virtual?

CLICAR MOVIMENTAR

Page 15: 2011 12 07_curso_bas_ar_start

• PODE MOVER?

• SE COLIDIR O QUE ACONTECE?

• PODE LIBERAR NESTE LOCAL?

MOVIMENTAR

Page 16: 2011 12 07_curso_bas_ar_start

• O que acontece se clicar?

• O que pode ser mudado?

CLICAR

Page 17: 2011 12 07_curso_bas_ar_start

Comportamento ?

• O que pode ser alterado?!

POS Modelo Animar

Page 18: 2011 12 07_curso_bas_ar_start

• Posição

• Orientação

• Escala

POS

Page 19: 2011 12 07_curso_bas_ar_start

• Passar para o próximo.

• Escolher modelo da lista.

Modelo

Page 20: 2011 12 07_curso_bas_ar_start

• Simular uma animação!

– ROTAÇÃO

– TRANSLAÇÃO

– ESCALA

Animar

Page 21: 2011 12 07_curso_bas_ar_start

Cross-Reality • Enviar comandos

para o mundo real!

• Receber comandos do mundo real!

Page 22: 2011 12 07_curso_bas_ar_start

Matemática

• Cada ponto tem duas variáveis ( A e B )

– Colocar um valor.

– Adicionar

– Inverter

– Multiplicar

– Comparar A B

Page 23: 2011 12 07_curso_bas_ar_start

basAR tem um universo de possibilidades de criação de cenário.

Page 24: 2011 12 07_curso_bas_ar_start

Como que as coisas funcionam na hora certa

Page 25: 2011 12 07_curso_bas_ar_start

COMPORTAMENTO É DIVIDO EM

ESTADOS E A UNIÃO DE ESTADOS GERA UMA SEQUÊNCIA PROGRAMÁVEL, NUMA

MÁQUINA DE ESTADOS.

Page 26: 2011 12 07_curso_bas_ar_start

Autômato

Grafo

Mapa mental

PARA MUDAR DE UM ESTADO PARA O OUTRO DEPENDE DO SUCESSO DA AÇÃO!

Page 27: 2011 12 07_curso_bas_ar_start

Comportamento

Por exemplo

1. Move e mostra quadrado

2. Move e mostra triângulo

3. Atrai o quadrado

Estado 1 Estado 2

Page 28: 2011 12 07_curso_bas_ar_start

Controlador de Estados

Estado 1 Estado 2 Estado 3 Estado 4 Estado 5 Estado 6 Estado 7

Estrutura (Pontos de Ação)

Estado 1

Ação pediu próximo

estado! (2)

Estado 2

Page 29: 2011 12 07_curso_bas_ar_start

Modos de exibição:

• Forma como o descrever o que é exibido pelo ponto.

– Esconder tudo (HIDE)

– Apenas a esfera (ONLY_BALL)

– Apenas o objeto ativo (ONLY_OBJECT)

– Esfera e o objeto (BOTH)

– Esfera piscante (FLASH_BALL)

– Sensor de proximidade (SENSE_PROX)

– Todos os modelos (ALL_OBJECTS)

Page 30: 2011 12 07_curso_bas_ar_start

Vídeo

Page 31: 2011 12 07_curso_bas_ar_start

Criando movimentos Curso basAR

Christopher Shneider Cerqueira – [email protected]

Claudio Kirner – [email protected]

https://sites.google.com/site/christophercerqueira/projetos/ear/basar http://www.ckirner.com/basar

31

Page 32: 2011 12 07_curso_bas_ar_start

Introdução

• Criar um cenário de Realidade Aumentada. – Duas peças móveis e 1 ponto de encaixe.

• Utilizar o software basAR.

• Entender a construção do cenário.

• Entender os conceitos de movimentação.

32

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 33: 2011 12 07_curso_bas_ar_start

• Infraestrutura: especificar a área de trabalho (workspace) da aplicação

• Estrutura: os posicionamentos dos pontos de ação sobre a infraestrutura.

• Contexto: modelos, sons e outros objetos definidos na estrutura.

• Atuação: método de interação com a estrutura.

• Comportamento: regras de interação entre os atuadores e a estrutura.

Aplicação em camadas

33

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 34: 2011 12 07_curso_bas_ar_start

Hierarquia de objetos

basAR

Behavior

Base

Actuator

point1 ... pointK

app_pointM1

m1.dat

m1.wrl

...

...

...

Feedback

Feedback

Feedback

Click1.mp3

Error.mp3

Turn real motor ON

...

app_pointK

m1.dat

m1.wrl

m2.dat

M2.wrl

34

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 35: 2011 12 07_curso_bas_ar_start

Hierarquia de arquivos config_basAR

config_behavior

config_base

config_actuator

app_pointM1

m1.dat

m1.wrl

app_arduino app_pointK

m1.dat

m1.wrl

m2.dat

M2.wrl

35

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 36: 2011 12 07_curso_bas_ar_start

INFRAESTRUTURA, ESTRUTURA, CONTEÚDO E ATUAÇÃO

Criando

36

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 37: 2011 12 07_curso_bas_ar_start

Sistema config_basAR

config_behavior

config_base

config_actuator

app_pointM1

m1.dat

m1.wrl

app_arduino app_pointK

m1.dat

m1.wrl

m2.dat

M2.wrl

37

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 38: 2011 12 07_curso_bas_ar_start

• Configura:

– a primeira interligação dos objetos;

– modo de exibição da janela;

– objetos padrões.

• Arquivo:

{basAR}/Data/config_basAR

Sistema

38

#config_basAR basAR

WINDOWED VRML wrl/action/ballBlue.dat VRML Wrl/Action/ballGreen.dat VRML Wrl/Action/ballRED.dat VRML Wrl/action/tampa.dat Audio/explosion.wav 0.5 Audio/backTrack.mp3 LOOP 0.3 Audio/bell.wav ONCE 0.5 Data/config_behavior # Rule Machine # Bases 1 Data/config_base1 # Actuators 1 ARTKSM Data/config_transport

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 39: 2011 12 07_curso_bas_ar_start

Infraestrutura config_basAR

config_behavior

config_base

config_actuator

app_pointM1

m1.dat

m1.wrl

app_arduino app_pointK

m1.dat

m1.wrl

m2.dat

M2.wrl

39

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 40: 2011 12 07_curso_bas_ar_start

• correlação entre o mundo real e o mundo virtual

• Definição de base

• Arquivo:

{basAR}/Data/config_base

Infraestrutura

#config_base1 # This file contains the setup for a workspace BASE1 # Single ARToolKit Marker configuration ARTKSM Data/Markers/base.patt 53.0 0.0 0.0 USE_DEFAULT # Workspace Sounds Audio/bell.wav ONCE 0.5 # Visible Sound Audio/explosion.wav 0.5 # Error sound wrl/action/status.dat

40

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 41: 2011 12 07_curso_bas_ar_start

Estrutura config_basAR

config_behavior

config_base

config_actuator

app_pointM1

m1.dat

m1.wrl

app_arduino app_pointK

m1.dat

m1.wrl

m2.dat

M2.wrl

41

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 42: 2011 12 07_curso_bas_ar_start

• Pontos do espaço virtual com esferas de ação, modelos associados e comportamento.

• Localização, orientação e escala dos objetos virtuais.

• Arquivo:

{basAR}/Data/config_base

… Pen # Point Name DEFAULT_IPOINT # Action Model File Data/app_pen # OBJECT Model File 20.0 20.0 0.0 # Translation 0.0 0.0 0.0 # Rotation 1.0 1.0 1.0 # Scale 900.0 # Action radius

Estrutura

42

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 43: 2011 12 07_curso_bas_ar_start

Exemplo com 3 pontos

3

Quadrado

DEFAULT_IPOINT

Data/app_quad

200.0 200.0 0.0

0.0 0.0 0.0

1.0 1.0 1.0

900.0

Triangulo

DEFAULT_IPOINT

Data/app_triang

200.0 -200.0 0.0

0.0 0.0 0.0

1.0 1.0 1.0

900.0

pontoColisao

DEFAULT_IPOINT

NO_OBJECT

-200.0 0.0 0.0

0.0 0.0 0.0

1.0 1.0 1.0

900.0

{basAR}/Data/config_base 43

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 44: 2011 12 07_curso_bas_ar_start

Arquivo config_base completo _p1

BASE1 ARTKSM Data/Markers/base.patt 53.0 0.0 0.0 USE_DEFAULT Audio/bell.wav ONCE 0.5 Audio/explosion.wav 0.5 wrl/action/status.dat

3 Quadrado DEFAULT_IPOINT Data/app_quad 200.0 200.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 900.0

44

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 45: 2011 12 07_curso_bas_ar_start

Arquivo config_base completo _p2

Triangulo

DEFAULT_IPOINT

Data/app_triang

200.0 -200.0 0.0

0.0 0.0 0.0

1.0 1.0 1.0

900.0

pontoColisao

DEFAULT_IPOINT

NO_OBJECT

-200.0 0.0 0.0

0.0 0.0 0.0

1.0 1.0 1.0

900.0

45

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 46: 2011 12 07_curso_bas_ar_start

Conteúdo config_basAR

config_behavior

config_base

config_actuator

app_pointM1

m1.dat

m1.wrl

app_arduino app_pointK

m1.dat

m1.wrl

m2.dat

M2.wrl

46

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 47: 2011 12 07_curso_bas_ar_start

• objetos 3D e áudios que são utilizados.

• Arquivos:

{basAR}/Data/App/app_quad

{basAR}/Data/App/app_triang

{basAR}/Wrl/quad.dat

{basAR}/Wrl/triang.dat

{basAR}/Wrl/quad.wrl

{basAR}/Wrl/triang.wrl

1 MODEL3D VRML Wrl/quad.dat

Conteúdo

quad.wrl 0 0 0 0 90 0 0 0 0

47

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 48: 2011 12 07_curso_bas_ar_start

Exemplo do conteúdo dos 2 pontos

1 MODEL3D VRML Wrl/quad.dat

1 MODEL3D VRML Wrl/triang.dat

quad.wrl 0 0 0 0 90 0 0 0 0

triang.wrl 0 0 0 0 90 0 0 0 0

{basAR}/Data/App/app_quad {basAR}/Data/App/app_triang

{basAR}/Wrl/quad.dat {basAR}/Wrl/triang.dat

48

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 49: 2011 12 07_curso_bas_ar_start

Atuação config_basAR

config_behavior

config_base

config_actuator

app_pointM1

m1.dat

m1.wrl

app_arduino app_pointK

m1.dat

m1.wrl

m2.dat

M2.wrl

49

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 50: 2011 12 07_curso_bas_ar_start

• Interação do usuário com o sistema

#config_tranport ARTKSM1 # Single ARToolKit Marker configuration Data/Markers/shovell.patt # Marker 37.0 # Width(mm) 0.0 0.0 # Central USE_DEFAULT # Marker cover VRML wrl/Action/ssd.dat # Symbolic

model # Collision point DEFAULT_IPOINT # Point model 20.0 0.0 0.0 # Translation (x,y,z) (mm) 400.0 # Action radius of the point

Atuação

50

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 51: 2011 12 07_curso_bas_ar_start

COMPORTAMENTO DE MOVIMENTAÇÃO

Criando

51

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 52: 2011 12 07_curso_bas_ar_start

Comportamento?

• Controle do feedback do sistema ao receber estimulo do usuário.

• Baseado em máquina de estados (grafo de cena).

• Ações Comandos

• Estados Blocos de comandos

52

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 53: 2011 12 07_curso_bas_ar_start

Exemplo de estado

• Inicia estado

• Ponto 1 estático, exibe tudo

• Ponto 2 estático, exibe tudo

• Ponto 3 estático, exibe tudo

• Finaliza estado

• Outros comandos vide manual do basAR!

BEGIN_STATE 1

1 STAT BOTH

2 STAT BOTH

3 STAT BOTH

END_STATE

53

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 54: 2011 12 07_curso_bas_ar_start

O que é movimentação?

• Seleção Ação Liberação

• Selecionar um ponto e deslocá-lo, na liberação do ponto deve-se decidir a atitude a tomar dependendo dos pontos que caracterizam a região.

54

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 55: 2011 12 07_curso_bas_ar_start

Mapa de atitudes:

• Movendo um ponto:

– Zonas reativas: • Atraem

• Repelem

• Permitem depósito.

– Zonas neutras: • Permitem depósito.

55

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/ Collision between actuator

and action point

Move action

point

System

ControlledUser controlled

Release point

Test relseaseAttract point

Repels point

Reactive zone: collision of the moving point with others

action points

Se

lec

tio

nM

an

ipu

lati

on

Re

lea

se

Point selected

If selectable

Configure

System

Release point

Page 56: 2011 12 07_curso_bas_ar_start

Movimento

• Comandos de movimentação estabelecem que o ponto seja selecionado pelo atuador e movimentado no espaço virtual.

• A liberação depende dos outros pontos que formam ou nao uma zona reativa.

• 2 comandos (DRGF e DRGRP)

56

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 57: 2011 12 07_curso_bas_ar_start

Comandos que permitem movimento

• Arrastar livremente (Drag Freely)

– DRGF

• 1 DRGF BOTH

• 13 DRGF ONLY_OBJECT

• 5 DRFG BOTH Audio/click.mp3

57

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Point ID DRGF Audio OverplayShowMode

Page 58: 2011 12 07_curso_bas_ar_start

Comandos que permitem movimento

• Arrastar livremente, mas quando estatico e houver colisão, repele (Drag and Repels)

– DRGRP

• 1 DRGRP FLASH_BALL

• 6 DRGRP ONLY_BALL 3

• 2 DRGRP BOTH 7 Audio/click.mp3

58

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Point ID DRGRP Audio OverplayNextStateShowMode

Page 59: 2011 12 07_curso_bas_ar_start

Zonas reativas a movimentação

• Existencia de pontos que definem uma zona com uma propriedade de liberação:

– Atração

– Repulsão

– Depósito

• A inexistencia de uma zona reativa permite que a liberação seja realizada livremente.

59

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 60: 2011 12 07_curso_bas_ar_start

Atração

• Atração é uma forma de liberar o ponto em movimento controlada pelo basAR.

• Quando o ponto em movimento entra numa zona reativa de atração ele é atraído para a posição do ponto de atração.

• Copia para o ponto atraído as características de translação, rotação e escala do ponto de atração

60

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 61: 2011 12 07_curso_bas_ar_start

Comandos que habilitam atração

• Atrair apenas um (Attract one specific)

– ATTO

• 4 ATTO 3 BOTH 7 Audio/congrat.mp3

• 2 ATTO 1 ONLY_MODEL 4

• 5 ATTO 1 SENSE_PROX 15

61

Point ID ATTO Audio OverplayNextStatePointWaited ShowMode

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 62: 2011 12 07_curso_bas_ar_start

Comandos que habilitam atração

• Atrai apenas um e repele os outros (Attract one specific and repels others)

– ATTRP

• 5 ATTRP 2 ONLY_BALL 20

62

Point ID ATTRP Audio OverplayNextStatePointWaited ShowMode

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 63: 2011 12 07_curso_bas_ar_start

Comandos que habilitam atração

• Atrai todos os pontos (Attract all)

– ATTA

• 2 ATTA FLASH_BALL 8

63

Point ID ATTA Audio OverplayNextStateShowMode

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 64: 2011 12 07_curso_bas_ar_start

Repulsão

• Repulsão é uma forma de liberar o ponto em movimento controlada pelo basAR.

• Quando o ponto em movimento entra na zona reativa de repulsão ele é repelido para a posição inicial.

• Retorna para a configuração inicial do ponto.

64

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 65: 2011 12 07_curso_bas_ar_start

Comandos que habilitam repulsão

• Repele apenas um (Repels only specific)

– RPLO

• 3 RPLO 4 BOTH 9

65

Point ID RPLO Audio OverplayNextStatePointWaited ShowMode

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 66: 2011 12 07_curso_bas_ar_start

Comandos que habilitam repulsão

• Repele todos os pontos (Repels all)

– RPLA

• 2 RPLA FLASH_BALL 8

66

Point ID RPLA Audio OverplayNextStateShowMode

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 67: 2011 12 07_curso_bas_ar_start

Depósito

• Depósito é uma forma de liberação do ponto em movimento controlado pelo usuário.

• Quando o ponto em movimento entra na zona reativa de depósito, o usuário ao tampar o marcador de atuação decide pelo depósito.

• Caso o depósito não seja permitido o ponto é repelido para a posição inicial.

67

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 68: 2011 12 07_curso_bas_ar_start

Comandos que habilitam depósito

• Deposita apenas um (Drop one specific)

– DRP0

• 1 DRPO 3 SENSE_PROX 35

68

Point ID DRPO Audio OverplayNextStatePointWaited ShowMode

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 69: 2011 12 07_curso_bas_ar_start

Comandos que habilitam depósito

• Deposita todos os pontos (Drop all)

– DRPA

• 5 DRPA SENSE_PROX 3 Audio/drop.mp3

69

Point ID DRPA Audio OverplayNextStateShowMode

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 70: 2011 12 07_curso_bas_ar_start

Comportamento config_basAR

config_behavior

config_base

config_actuator

app_pointM1

m1.dat

m1.wrl

app_arduino app_pointK

m1.dat

m1.wrl

m2.dat

M2.wrl

70

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 71: 2011 12 07_curso_bas_ar_start

Comportamento de atração

• Exemplo 1. Criar 2 pontos móveis (quadrado e triângulo), e 1 ponto estático com comportamento de atração.

• Arquivo de comportamento:

{basAR}/Data/config_behavior

71

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 72: 2011 12 07_curso_bas_ar_start

Arquivo de Comportamento

BEGIN_STATE 1

1 DRGF ONLY_OBJECT

2 DRGF ONLY_OBJECT

3 ATTO 1 ONLY_BALL 2

END_STATE 1

BEGIN_STATE 2

1 STAT ONLY_OBJECT

2 STAT ONLY_OBJECT

END_STATE 2

72

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 73: 2011 12 07_curso_bas_ar_start

Atração

• Mudar o comportamento do ponto 3 para atrair o ponto 2 e repelir outros pontos. – 3 ATTRP 2 ONLY_BALL 2

• Mudar o comportamento do ponto 3 para atrair qualquer ponto – 3 ATTA ONLY_BALL 2

73

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 74: 2011 12 07_curso_bas_ar_start

Repulsão

• Mudar o comportamento do ponto 3 para repelir o ponto 1. – 3 RPLO 1 ONLY_BALL 2

• Mudar o comportamento do ponto 3 para repelir qualquer ponto. – 3 RPLA ONLY_BALL 2

74

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 75: 2011 12 07_curso_bas_ar_start

Depósito

• Mudar o comportamento do ponto 3 para depositar o ponto 1. – 3 DRPO 1 ONLY_BALL 2

• Mudar o comportamento do ponto 3 para depositar qualquer ponto. – 3 DRPA ONLY_BALL 2

75

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 76: 2011 12 07_curso_bas_ar_start

RESUMO

76

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 77: 2011 12 07_curso_bas_ar_start

Resumo comandos utilizados

–STAT: [PointID] STAT [ShowMode] <AUDIO> <OVER?>

–DRGF: [PointID] DRGF [ShowMode] <AUDIO> <OVER?>

–DRGRP: [PointID] DRGRP [ShowMode] [NextState] <AUDIO> <OVER?>

–ATTO: [PointID] ATTO [PointWaited] [ShowMode] [NextState] <AUDIO> <OVER?>

–ATTRP: [PointID] ATTRP [PointWaited] [ShowMode] [NextState] <AUDIO> <OVER?>

–ATTA: [PointID] ATTA [ShowMode] [NextState] <AUDIO> <OVER?>

–RPLO: [PointID] RPLO [PointWaited] [ShowMode] [NextState] <AUDIO> <OVER?>

–RPLA: [PointID] RPLA [ShowMode] [NextState] <AUDIO> <OVER?>

–DRPO: [PointID] DRPO [PointWaited] [ShowMode] [NextState] <AUDIO> <OVER?>

–DRPA: [PointID] DRPA [ShowMode] [NextState] <AUDIO> <OVER?>

77

basAR: Criando movimento sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 78: 2011 12 07_curso_bas_ar_start

Introdução

• Criar um cenário de Realidade Aumentada. – Dois pontos de seleção e um ponto de exibição

• Utilizar o software basAR.

• Entender a construção do cenário.

• Entender os conceitos de mudança de estado e mudança de atributos

78

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 79: 2011 12 07_curso_bas_ar_start

COMPORTAMENTO DE CLICKS Criando

79

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 80: 2011 12 07_curso_bas_ar_start

Comportamento?

• Controle do feedback do sistema ao receber estimulo do usuário.

• Baseado em máquina de estados (grafo de cena).

• Ações Comandos

• Estados Blocos de comandos

80

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 81: 2011 12 07_curso_bas_ar_start

Exemplo de estado

• Inicia estado

• Ponto 1 estático, exibe tudo

• Ponto 1 estático, exibe tudo

• Ponto 1 estático, exibe tudo

• Finaliza estado

• Outros comandos vide manual do basAR!

BEGIN_STATE 1

1 STAT BOTH

2 STAT BOTH

3 STAT BOTH

END_STATE

81

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 82: 2011 12 07_curso_bas_ar_start

O que é click?

• Seleção Ação Liberação

• Selecionar um ponto onde a ação é alterar o fluxo de execução para outro estado, onde as ações e atributos dos pontos podem ser alterados.

82

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 83: 2011 12 07_curso_bas_ar_start

Mudança de estado

• A mudança de estado pode ser realizada pelo sucesso dos comandos de movimentação (Vide tutorial sobre movimentação) ou utilizando um ponto com uma ação de mudança de estado.

• Com o click do atuador no ponto de mudança de estado é possível mudar os atributos e reconfigurar a atitude e exibição do ambiente.

83

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 84: 2011 12 07_curso_bas_ar_start

Tipos de estados

Estado de trabalho

• Este tipo de estado espera uma ação ser completada para que ocorra mudança de estado

BEGIN_STATE 4

1 ...

2 ...

END_STATE

Estado de configuração

• Este tipo de estado, após aplicar as alterações de comportamento, altera automaticamente o estado.

BEGIN_STATE 4

1 ...

2 ...

END_STATE GO_TO 5

84

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 85: 2011 12 07_curso_bas_ar_start

Comando que habilita mudança de estado

• Mudar estado (Change State)

– CHGST

• 1 CHGST ONLY_OBJECT 4

85

Point ID CHGST Audio OverplayNextStateShowMode

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 86: 2011 12 07_curso_bas_ar_start

Mudanças de modelos

• Podem ser alterados os modelos na lista de objetos.

• Escolhas possíveis:

– Escolha de modelo específico

– Próximo modelo da lista (lista circular)

86

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 87: 2011 12 07_curso_bas_ar_start

Comando que muda modelo

• Mudar modelo (Change active object)

– CHGM

• 1 CHGM 4

87

Point ID CHGM ModelToChange

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 88: 2011 12 07_curso_bas_ar_start

Comando que muda para o próximo modelo

• Mudar para o próximo modelo (Change to next model)

– CHGNM

• 3 CHGNM

88

Point ID CHGNM

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 89: 2011 12 07_curso_bas_ar_start

Posicionamento do ponto

• O posicionamento do ponto pode ser mudado no decorrer da aplicação.

• É possível mudar a:

– Translação

– Rotação

– Escala

89

+z

+y

+x

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 90: 2011 12 07_curso_bas_ar_start

Comando de mudança de translação

• Transladar (Translate). Incrementa a posição atual em milimetros.

– TRA

• 2 TRA 100 0 0

• 2 TRA 0 50 100 10 100

90

Point ID TRA X Y Z Time Step

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 91: 2011 12 07_curso_bas_ar_start

Comando de mudança de rotação

• Rotacionar (Rotate). Incrementa a rotação atual em graus.

– ROT

• 2 ROT 90.0 0.0 0.0

• 2 ROT 0.0 0.0 360.0 60 1000

91

Point ID ROT X Y Z Time Step

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 92: 2011 12 07_curso_bas_ar_start

Comando de mudança de escala

• Alterar Escala (Scale). Incrementa a escala do valor atual multiplicando pelo valor inserido.

– SCL

• 1 SCL 0.5 0.5 0.5

• 1 SCL 2.0 2.0 2.0 1 50

92

Point ID SCL X Y Z Time Step

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 93: 2011 12 07_curso_bas_ar_start

Matrizes de posicionamento

• Para auxiliar o controle dos pontos, cada ponto possui 3 matrizes de posicionamento em referencia ao marcadore de base (infraestrutura)

– Matriz inicial. (Start)

– Matril última. (Last)

– Matriz atual. (Actual)

93

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 94: 2011 12 07_curso_bas_ar_start

Matrizes de posicionamento

• Matriz inicial (Start) é a matriz que é carregada no início do programa, no arquivo de configuração da base (config_base)

• Matriz última (Last) é a matriz que localiza o início de um movimento.

• Matriz atual (Actual) é a matriz atual do movimento e a final após a liberação do ponto.

94

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 95: 2011 12 07_curso_bas_ar_start

Comandos sobre as matrizes

• É possível copiar uma matriz para a outra, de forma a alterar o comportamento. Especialmente usado para alterar o comportamento padrão das ações de atração, repulsão e depósito.

• Os comandos copiam:

– Actual Start e Actual Last

– Start Actual e Last Actual

95

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 96: 2011 12 07_curso_bas_ar_start

Comandos sobre as matrizes

• Salva actual em start (Set Start) – SETS

• Salva actual em last (Set Last) – SETL

• Salva start em actual (Get Start) – GETS

• Salva last em actual (Get Last) – GETL

96

Point ID SETS

Point ID SETL

Point ID GETS

Point ID GETL

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 97: 2011 12 07_curso_bas_ar_start

Comandos sobre as matrizes

97

Start Last Actual

SETS

SETL

GETS

GETL

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 98: 2011 12 07_curso_bas_ar_start

Comportamento config_basAR

config_behavior

config_base

config_actuator

app_pointM1

m1.dat

m1.wrl

app_arduino app_pointK

m1.dat

m1.wrl

m2.dat

M2.wrl

98

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 99: 2011 12 07_curso_bas_ar_start

Comportamento de clicks

• Exemplo 1. Criar 2 pontos de ação, e 1 ponto estático para receber as alterações de atributos.

• Arquivo de comportamento:

{basAR}/Data/config_behavior

• Ponto 1 move ponto 3 para esquerda, Ponto 2 move o ponto 3 para a direita.

99

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 100: 2011 12 07_curso_bas_ar_start

Arquivo de Comportamento

BEGIN_STATE 1

1 CHGST ONLY_BALL 2

2 CHGST ONLY_BALL 3

3 STAT ONLY_OBJECT

END_STATE

BEGIN_STATE 2

1 STAT ONLY_BALL

3 TRA 0 -5 0

END_STATE GO_TO 1

BEGIN_STATE 3

2 STAT ONLY_BALL

3 TRA 0 5 0

END_STATE GO_TO 1

100

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 101: 2011 12 07_curso_bas_ar_start

ALTERAR COMPORTAMENTO Atividade:

101

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 102: 2011 12 07_curso_bas_ar_start

Translação

• Mudar para movimento vertical.

• Mudar no estado 2 o comando para ir para cima: – 3 TRA -5 0 0

• Mudar no estado 3 o comando para ir para baixo – 3 TRA 5 0 0

102

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 103: 2011 12 07_curso_bas_ar_start

Rotação

• Rotacionar o ponto em dois eixos

• Mudar no estado 2 o comando para rotacionar no eixo X: – 3 ROT 5 0 0

• Mudar no estado 3 o comando para rotacionar no eixo Y – 3 ROT 0 5 0

103

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 104: 2011 12 07_curso_bas_ar_start

Escala

• Variar a escala do objeto do ponto

• Mudar no estado 2 o comando para aumentar o tamanho do modelo. – 3 SCL 1.25 1.25 1.25

• Mudar no estado 3 o comando para diminuir o tamanho do modelo. – 3 SCL 0.75 0.75 0.75

104

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 105: 2011 12 07_curso_bas_ar_start

Mudar modelo

• Alterar o modelo.

• Mudar no estado 2 o comando para chamar o modelo 2 da lista. – 3 CHGM 2

• Mudar no estado 3 o comando para chamar o próximo modelo da lista. – 3 CHGNM

– END_STATE GO_TO 1 AFTER 1 105

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 106: 2011 12 07_curso_bas_ar_start

Animação Simulada

• Com um botao o modelo move e com o outro faz o modelo rotacionar.

• Mudar no estado 2 o comando para acionar o movimento: – 3 TRA 1 1 0 0 2 20

– END_STATE GO_TO 1 AFTER 2

• Mudar no estado 3 o comando para acionar a rotação: – 3 ROT 360 0 0 2 20

– END_STATE GO_TO 1 AFTER 2 106

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 107: 2011 12 07_curso_bas_ar_start

RESUMO

107

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 108: 2011 12 07_curso_bas_ar_start

Resumo comandos utilizados

–STAT: [PointID] STAT [ShowMode] <AUDIO> <OVER?>

–CHGST: [PointID] CHGST [ShowMode] [NextState] <AUDIO> <OVER?>

–TRA: [PointID] TRA [X] [Y] [Z] <Time> <Step>

–ROT: [PointID] ROT [X] [Y] [Z] <Time> <Step>

–SCL: [PointID] SCL [X] [Y] [Z] <Time> <Step>

–CHGM: [PointID] CHGM [ModelToChange]

–CHGNM: [PointID] CHGNM

–SETS: [PointID] SETS

–SETL: [PointID] SETL

–GETS: [PointID] GETS

–GETL: [PointID] GETL 108

basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 109: 2011 12 07_curso_bas_ar_start

Funções de controle matemáticas

• Permitem a construção de lógicas para auxiliar no controle do fluxo do programa.

• Permitem loops (For, while, do-while)

• Permitem colocar peso nos nós ( Inteligência Artificial)

109

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 110: 2011 12 07_curso_bas_ar_start

Variáveis por ponto

110

A B

Subsistema de comandos

matemáticas

• Cada ponto tem uma variável A e B.

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 111: 2011 12 07_curso_bas_ar_start

Comandos entre as variáveis

• Carregar Valor:

• Adicionar valor

• Subtrair entre variaveis

• Swap

• Inverter sinal

• Multiplicar

• Comparar

111

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 112: 2011 12 07_curso_bas_ar_start

Comandos de carregar valor

• Carregar valor na variável A. A <= Value

– LOADA

– 1 LOADA 25.5

• Carregar valor na variável B. B<= Value

– LOADB

– 1 LOADB 30

112

Point ID LOADA Value

Point ID LOADB Value

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 113: 2011 12 07_curso_bas_ar_start

Comandos para adicionar valor

• Somar valor em A. A <= A + Value

– ADDA

– 1 ADDA 15

• Somar valor em B. B <= B + Value

– ADDB

– 1 ADDB 35 113

Point ID ADDB Value

Point ID ADDA Value

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 114: 2011 12 07_curso_bas_ar_start

Comandos para subtrair entre variáveis

• Subtrair B de A. A <= A - B

– AMB

– 1 AMB

• Subtrair A de B B <= B - A

– BMA

– 1 BMA 114

Point ID AMB

Point ID BMA

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 115: 2011 12 07_curso_bas_ar_start

Comandos para inverter sinal

• Inverte o sinal de A. A <= - A

– NEGA

– 1 NEGA

• Inverte o sinal de B. B <= -B

– NEGB

– 1 NEGB 115

Point ID NEGB

Point ID NEGA

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 116: 2011 12 07_curso_bas_ar_start

Comandos para multiplicar valor

• Multiplica valor em A. A <= A * Valor

– MULA

– 1 MULA 5

• Multiplica valor em B. B <= B * Valor

– MULB

– 1 MULB 3 116

Point ID MULB Value

Point ID MULA Value

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 117: 2011 12 07_curso_bas_ar_start

Comando de troca entre variáveis

• Trocar variáveis. A <= B e B <= A

– SWAB

– 1 SWAB

117

Point ID SWAB

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 118: 2011 12 07_curso_bas_ar_start

Comandos de comparação

• Compara A com B. Com condições. Se comparação é válida muda de estado.

– A > B ( GREATER)

– A < B ( LESSER)

– A = B (EQUALS)

– CMP

– 1 CMP LESSER 7

118

Point ID CMP TYPE NextState

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 119: 2011 12 07_curso_bas_ar_start

Comandos de comparação

• Compara A com Value. Com condições. Se comparação é válida muda de estado.

– A > Value ( GREATER)

– A < Value ( LESSER)

– A = Value (EQUALS)

– CMP

– 1 CMP 35.5 LESSER 7

119

Point ID CMPV TYPE NextStateValue

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 120: 2011 12 07_curso_bas_ar_start

Comportamento config_basAR

config_behavior

config_base

config_actuator

app_pointM1

m1.dat

m1.wrl

app_arduino app_pointK

m1.dat

m1.wrl

m2.dat

M2.wrl

120

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 121: 2011 12 07_curso_bas_ar_start

Exemplo de Loop

• Exemplo 1. Criar loop para contar Clicks.

• Arquivo de comportamento:

{basAR}/Data/config_behavior

• Clicando em qualquer ponto soma contador e quando houver um total de 6 clicks para a aplicação

121

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 122: 2011 12 07_curso_bas_ar_start

Flu

xogr

ama

122

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 123: 2011 12 07_curso_bas_ar_start

Arquivo de Comportamento BEGIN_STATE 1

1 CHGST ONLY_BALL 2

2 CHGST ONLY_BALL 3

3 CHGST ONLY_BALL 4

END_STATE

BEGIN_STATE 2

1 STAT ONLY_BALL

END_STATE GO_TO 5 AFTER 1

BEGIN_STATE 3

2 STAT ONLY_BALL

END_STATE GO_TO 5 AFTER 1

BEGIN_STATE 4

3 STAT ONLY_BALL

END_STATE GO_TO 5 AFTER 1

BEGIN_STATE 5

1 ADDA 1

END_STATE GO_TO 6

BEGIN_STATE 6

1 CMPV 6 EQUALS 7

END_STATE GO_TO 1

BEGIN_STATE 7

1 STAT ONLY_BALL

1 STAT ONLY_BALL

1 STAT ONLY_BALL

END_STATE

123

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 124: 2011 12 07_curso_bas_ar_start

RESUMO

124

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 125: 2011 12 07_curso_bas_ar_start

Resumo comandos utilizados

– STAT: [PointID] STAT [ShowMode] <AUDIO> <OVER?>

– CHGST: [PointID] CHGST [ShowMode] [NextState] <AUDIO> <OVER?>

– LOADA: [PointID] LOADA [Value]

– LOADB: [PointID] LOADB [Value

–ADDA: [PointID] ADDA [Value]

–ADDB: [PointID] ADDB [Value]

–AMB: [PointID] AMB

–BMA: [PointID] BMA

–NEGA: [PointID] NEGA

–NEGB: [PointID] NEGB

–MULA: [PointID] MULA [Value]

–MULB: [PointID] MULB [Value]

– CMP: [PointID] CMP [GREATER/LESSER/EQUALS] [NEXTSTATE]

– CMPV: [PointID] CMPV [Value] [GREATER/LESSER/EQUALS] [NEXTSTATE] 125

basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 126: 2011 12 07_curso_bas_ar_start

COMUNICAÇÃO COM O ARDUINO Criando

126

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 127: 2011 12 07_curso_bas_ar_start

Comportamento?

• Controle do feedback do sistema ao receber estimulo do usuário.

• Baseado em máquina de estados (grafo de cena).

• Ações Comandos

• Estados Blocos de comandos

127

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 128: 2011 12 07_curso_bas_ar_start

Exemplo de estado

• Inicia estado

• Ponto 1 estático, exibe tudo

• Ponto 1 estático, exibe tudo

• Ponto 1 estático, exibe tudo

• Finaliza estado

• Outros comandos vide manual do basAR!

BEGIN_STATE 1

1 STAT BOTH

2 STAT BOTH

3 STAT BOTH

END_STATE

128

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 129: 2011 12 07_curso_bas_ar_start

O que é Comunicação?

• Envio e recepção de dados entre dois ou mais sistemas.

• Protocolo de comunicação.

• Lookup table

129

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 130: 2011 12 07_curso_bas_ar_start

Evento de envio

130

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 131: 2011 12 07_curso_bas_ar_start

Evento de Recepção

131

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 132: 2011 12 07_curso_bas_ar_start

Evento de Interrupção

132

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 133: 2011 12 07_curso_bas_ar_start

Lookup Table

• Tabela de tradução de comandos para enviar para o ARDUINO.

• Auxilia na separação de qual comando vai ser enviado para o ARDUINO

133

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 134: 2011 12 07_curso_bas_ar_start

Lookup Table

COM4 # ARDUINO COM # ARDUINO LOOKUP TABLE # THE NUMBERS 00-09, and 255 are RESERVED to Configuration and Test. 10-254 # TABLE FORMAT: REQUEST_NUMBER REQUEST_NAME <NEXT_STATE> # CONFIGURATION AND TEST COMMANDS 1 aliveTest 2 aliveAnswer 3 intRequest 4 readRequest 5 readRequestAnswer # USER COMMANDS # DEVICE 1 - Light 10 lightOFF 11 lightON # DEVICE 2 - Button 20 buttonPressed 5

134

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 135: 2011 12 07_curso_bas_ar_start

ARDUINO CODE // start global variables

void setup() {

Serial.begin(9600); // connect to the serial port

}

void loop () {

// read the serial port

val = Serial.read();

// Code to adapt data

switch(val){

case 1: {// CHECK IF ITS aliveTest

Serial.print(2); // send back aliveAnswer

break; }

case 3: {// CHECK IF ITS intRequest

{Serial.print(intNSdata);

break; }

case 4: {// CHECK IF Its readRequest

break; }

default:

break; }

} 135

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 136: 2011 12 07_curso_bas_ar_start

Comando de envio de mensagens

• Enviar mensagem (Send message)

– ESND

• 1 ESND lightON

136

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 137: 2011 12 07_curso_bas_ar_start

Comando de recebimento de mensagens

• Receber mensagem (Receive message)

– ESND

• 1 ERCV buttonPressed

137

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 138: 2011 12 07_curso_bas_ar_start

Comportamento config_basAR

config_behavior

config_base

config_actuator

app_pointM1

m1.dat

m1.wrl

app_arduino app_pointK

m1.dat

m1.wrl

m2.dat

M2.wrl

138

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 139: 2011 12 07_curso_bas_ar_start

Arquivo de Comportamento BEGIN_STATE 1

1 CHGST ONLY_BALL 2

2 ESND lightOFF

END_STATE AFTER 2

BEGIN_STATE 2

1 CHGST ONLY_BALL 1

2 ESND lightON

END_STATE AFTER 2

139

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 140: 2011 12 07_curso_bas_ar_start

RESUMO

140

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 141: 2011 12 07_curso_bas_ar_start

Resumo comandos utilizados

–CHGST: [PointID] CHGST [ShowMode] [NextState] <AUDIO> <OVER?>

–ESND: [PointID] ESND [Message]

–ERCV: [PointID] ERCV [Message]

141

basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/

Page 142: 2011 12 07_curso_bas_ar_start

AR Behavioral Authoring System for Augmented Reality

Christopher Shneider Cerqueira – [email protected] Claudio Kirner – [email protected]

https://sites.google.com/site/christophercerqueira/projetos/ear/basar

http://www.ckirner.com/basar


Recommended