Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Curso basAR e Arduino

49 visualizaciones

Publicado el

Tutorial

Publicado en: Educación
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

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

×