Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Curso basAR e Arduino

46 views

Published on

Tutorial

Published in: Education
  • Be the first to comment

  • Be the first to like this

Curso basAR e Arduino

  1. 1. ARDUINO Curso basAR Christopher Shneider Cerqueira – christophercerqueira@gmail.com Claudio Kirner – ckirner@gmail.com https://sites.google.com/site/christophercerqueira/projetos/ear/basar http://www.ckirner.com/basar 1
  2. 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 • ARDUINO • Editor de texto simples, como o Bloco de Notas. 2 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  3. 3. Roteiro • Introdução: Metas • basAR • Criando infraestrutura, estrutura e conteúdo • Criando comunicação com o ARDUINO – Conceitos: • Tabela de comandos • Envio de comandos • Recepção de comandos • Interrupção – Comandos – Alterando comandos – Atividade 3 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  4. 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: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  5. 5. basAR 5 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  6. 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: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  7. 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: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  8. 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: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  9. 9. 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 9 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  10. 10. INFRAESTRUTURA, ESTRUTURA, CONTEÚDO E ATUAÇÃO Criando 10 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  11. 11. 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 11 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  12. 12. • Configura: – a primeira interligação dos objetos; – modo de exibição da janela; – objetos padrões. • Arquivo: {basAR}/Data/config_basAR Sistema 12 #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: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  13. 13. 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 13 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  14. 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: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  15. 15. 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 15 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  16. 16. • 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 16 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  17. 17. Exemplo com 3 pontos … 2 Ponto DEFAULT_IPOINT Data/App/app_object 100.0 100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 Arduino EXTERN_IPOINT Data/App/app_arduino 100.0 0.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 0 {basAR}/Data/config_base 17 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  18. 18. 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 2 Ponto DEFAULT_IPOINT Data/App/app_object 100.0 100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 18 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  19. 19. Arquivo config_base completo _p2 Arduino EXTERN_IPOINT Data/App/app_arduino 100.0 0.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 0 19 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  20. 20. 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 20 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  21. 21. • objetos 3D e áudios que são utilizados. • Arquivos: {basAR}/Data/App/app_obj {basAR}/Wrl/quad.dat {basAR}/Wrl/triang.dat {basAR}/Wrl/quad.wrl {basAR}/Wrl/triang.wrl #app_obj 2 # Number of objects MODEL3D VRML Wrl/quad.dat MODEL3D VRML Wrl/triang.dat Conteúdo #quad.dat quad.wrl 0 0 0 0 90 0 0 0 0 21 # triang.dat triang.wrl 0 0 0 0 90 0 0 0 0 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  22. 22. 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 22 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  23. 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: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  24. 24. COMUNICAÇÃO COM O ARDUINO Criando 24 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  25. 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: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  26. 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: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  27. 27. O que é Comunicação? • Envio e recepção de dados entre dois ou mais sistemas. • Protocolo de comunicação. • Lookup table 27 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  28. 28. Evento de envio 28 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  29. 29. Evento de Recepção 29 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  30. 30. Evento de Interrupção 30 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  31. 31. 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 31 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  32. 32. 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 32 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  33. 33. 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; } } 33 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  34. 34. Comando de envio de mensagens • Enviar mensagem (Send message) – ESND • 1 ESND lightON 34 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  35. 35. Comando de recebimento de mensagens • Receber mensagem (Receive message) – ESND • 1 ERCV buttonPressed 35 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  36. 36. 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 36 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  37. 37. 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 37 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  38. 38. RESUMO 38 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  39. 39. Resumo comandos utilizados –CHGST: [PointID] CHGST [ShowMode] [NextState] <AUDIO> <OVER?> –ESND: [PointID] ESND [Message] –ERCV: [PointID] ERCV [Message] 39 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  40. 40. Ajuda online • Videos exemplificando cada comportamento disponível e os arquivos utilizados neste tutorial estão disponíveis em: https://sites.google.com/site/christophercerquei ra/projetos/ear/basar/cursos 40 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  41. 41. Clicks Curso basAR Christopher Shneider Cerqueira – christophercerqueira@gmail.com Claudio Kirner – ckirner@gmail.com https://sites.google.com/site/christophercerqueira/projetos/ear/basar http://www.ckirner.com/basar 41

×