Este documento fornece instruções para criar um cenário de realidade aumentada usando o software basAR. Ele discute:
1) Os requisitos necessários para usar o basAR, incluindo o download do software e modelos 3D;
2) As etapas para criar a infraestrutura, estrutura e conteúdo do cenário, incluindo a configuração de pontos, modelos e comportamentos;
3) Como adicionar comportamento dinâmico usando controle matemático, como mudança de estado e lógicas de cont
2. Requisitos
• Windows
• basAR
– Download:
• https://sites.google.com/site/christophercerqueira/proj
etos/ear/basar
• http://www.ckirner.com/basar
• Alguns modelos 3D em VRML
• Editor de texto simples, como o Bloco de
Notas.
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
2
3. Roteiro
• Introdução: Metas
• basAR
• Criando infraestrutura, estrutura e conteúdo
• Criando comportamento com controle
matemático.
– Conceitos:
• Mudança de estado
• Lógicas de controle.
– Comandos
– Atividade
3
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
4. 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
4
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
6. basAR: Behavioral Authoring System for Augmented Reality
• Meta-ferramenta de
autoria de ambientes
inteligentes de realidade
aumentada .
– Estrutura de
comportamento baseada
em pontos de ação
– Cross-Reality
• COMPORTAMENTO DINÂMICO
entre PONTOS DE AÇÃO
Comportamento
Pontos de
ação
Hardware
Externo
basAR
6
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
7. • 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
7
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
8. 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
8
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
14. • 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
14
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
23. • 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
23
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
25. 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
25
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
26. 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
26
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
27. 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.
27
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
28. Mapa de atitudes:
• Clicando um ponto
– Configuração do sistema
• Modelos do ponto
• Posicionamento do ponto
– Animações simuladas
• Matrizes de
posicionamento
28
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/Collision between actuator
and action point
Move action
point
System
Controlled
User controlled
Release point
Test relseaseAttract point
Repels point
Reactive zone: collision of the moving point with others
action points
SelectionManipulationRelease
Point selected
If selectable
Configure
System
Release point
29. 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.
29
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
30. 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
30
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
31. Comando que habilita mudança de estado
• Mudar estado (Change State)
– CHGST
• 1 CHGST ONLY_OBJECT 4
31
Point ID CHGST Audio OverplayNextStateShowMode
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
32. 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)
32
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
33. Variáveis por ponto
33
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/
34. Comandos entre as variáveis
• Carregar Valor:
• Adicionar valor
• Subtrair entre variaveis
• Swap
• Inverter sinal
• Multiplicar
• Comparar
34
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
35. 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
35
Point ID LOADA Value
Point ID LOADB Value
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
36. 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
36
Point ID ADDB Value
Point ID ADDA Value
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
37. 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 37
Point ID AMB
Point ID BMA
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
38. Comandos para inverter sinal
• Inverte o sinal de A. A <= - A
– NEGA
– 1 NEGA
• Inverte o sinal de B. B <= -B
– NEGB
– 1 NEGB 38
Point ID NEGB
Point ID NEGA
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
39. 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 39
Point ID MULB Value
Point ID MULA Value
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
40. Comando de troca entre variáveis
• Trocar variáveis. A <= B e B <= A
– SWAB
– 1 SWAB
40
Point ID SWAB
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
41. 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
41
Point ID CMP TYPE NextState
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
42. 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
42
Point ID CMPV TYPE NextStateValue
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
44. 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
44
basAR: Math.IA
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/