JoVE Logo

Entrar

É necessária uma assinatura da JoVE para visualizar este conteúdo. Faça login ou comece sua avaliação gratuita.

Neste Artigo

  • Resumo
  • Resumo
  • Introdução
  • Protocolo
  • Resultados
  • Discussão
  • Divulgações
  • Agradecimentos
  • Materiais
  • Referências
  • Reimpressões e Permissões

Resumo

A rotação física controlada de um observador humano é desejável para certas aplicações experimentais, recreativas e educacionais. Este artigo descreve um método para converter uma cadeira giratória de escritório em um meio para rotação física controlada em um ambiente de realidade virtual.

Resumo

O baixo custo e a disponibilidade de sistemas de Realidade Virtual (VR) têm suportado uma aceleração recente da pesquisa sobre percepção e comportamento em condições mais naturalistas, multissensoriais e imersivas. Uma área de pesquisa que se beneficiou particularmente do uso de sistemas VR é a integração multissensorial, por exemplo, a integração de pistas visuais e vestibulares para dar origem a uma sensação de auto-movimento. Por essa razão, um método acessível para a rotação física controlada de um observador em um ambiente virtual representa uma inovação útil. Este artigo apresenta um método para automatizar a rotação de uma cadeira giratória de escritório, juntamente com um método para integrar esse movimento em uma experiência VR. Utilizando um exemplo de experimento, demonstra-se que o movimento físico, assim produzido, está integrado à experiência visual de um observador de forma coerente com as expectativas; alta integração quando o movimento é congruente com o estímulo visual e baixa integração quando o movimento é incongruente.

Introdução

Muitas pistas se combinam em condições naturais para produzir uma sensação de auto-movimento1. Produzir tal sentido é um objetivo em muitas aplicações de VR recreativas, de saúde e educacionais 2,3,4,5, e simplesmente entender como as pistas se combinam para dar uma sensação de auto-movimento tem sido um esforço de longo prazo de neurocientistas 6,7,8,9,10,11 . As três classes mais importantes de sinais para a percepção de auto-movimento são visual, vestibular e proprioceptiva1. Todos os três se combinam congruentemente durante o movimento ativo natural no mundo real para fornecer um senso robusto e rico de auto-movimento. Para entender o papel de cada classe de pistas e ter uma noção de como as pistas se combinam, os pesquisadores tradicionalmente privaram observadores experimentais de uma ou mais pistas e/ou colocaram pistas em conflito entre si 1,12. Por exemplo, para fornecer pistas vestibulares rotacionais na ausência de pistas proprioceptivas, um observador pode ser girado passivamente por uma cadeira motorizada 13,14,15,16. Tal movimento passivo tem sido mostrado para fornecer pistas muito convincentes para o auto-movimento17. Pistas visuais controladas fornecidas por um fone de ouvido VR podem ser congruentes ou incongruentes com o movimento da cadeira ou ausentes completamente. Pistas proprioceptivas podem ser adicionadas fazendo com que o observador gire a cadeira sob seu próprio poder, por exemplo, empurrando a cadeira com os pés.

Apresentado aqui é um método para converter uma cadeira giratória de escritório em um meio para girar fisicamente o corpo de um observador e integrar esse movimento em uma experiência virtual visual (e potencialmente auditiva). A rotação da cadeira pode estar sob o controle do observador, um programa de computador ou outra pessoa, como o experimentador. A rotação controlada pelo observador pode ser passiva fazendo da rotação motora função da posição do controlador portátil do observador ou ativa, desligando a cadeira e fazendo com que o observador gire a própria cadeira.

Também é apresentado um aplicativo psicofísico para este sistema de cadeira/VR. Esta aplicação de exemplo destaca a utilidade da rotação passiva controlada de um observador na compreensão de como as pistas de auto-movimento interagem para produzir experiências perceptivas globais. O objetivo específico era obter uma visão sobre um movimento de ilusão visual há muito estudado - movimento induzido18,19. Em movimento induzido, um alvo estacionário ou em movimento é perceptivelmente "repelido" longe de um fundo em movimento. Por exemplo, se um ponto alvo vermelho se mover verticalmente para cima contra um campo de pontos azuis movendo-se para a direita, o ponto alvo parecerá mover-se para cima, como esperado, mas também para a esquerda, longe da direção do fundomóvel 20,21. O objetivo era testar se a repulsa é resultado da interpretação do movimento de fundo como sendo causada pelo auto-movimento22,23.

Se este for o caso, então a adição de rotação física que é consistente com o movimento visual de fundo deve levar a uma sensação mais forte de que o movimento de fundo é devido à autorrotação através de um ambiente estacionário. Isso, por sua vez, deve levar a uma maior tendência a subtrair o movimento de fundo do movimento alvo para obter movimento de alvo em relação ao mundo estacionário23. Essa tendência aumentada de subtrair resultaria em maior repulsão de alvo percebida. A autorrotação física consistente ou inconsistente com o movimento de fundo foi adicionada para testar isso. O sistema aqui apresentado permitiu o controle preciso do movimento físico e do movimento visual correspondente para testar esta hipótese. No exemplo, o movimento da cadeira estava sob o controle direto do observador usando o controlador portátil do sistema VR.

Embora existam muitos exemplos de cadeiras giratórias motorizadas para várias aplicações vr na literatura 24,25,26,27,28,29, os autores desconhecem um conjunto conciso de instruções para fazer tal cadeira e integrá-la em uma experiência interativa de VR. Instruções limitadas estão disponíveis para o SwiVRChair29, que é semelhante em estrutura ao apresentado aqui, mas que é projetado com um propósito diferente em mente, ou seja, ser conduzido por um programa de computador para melhorar a imersão em um ambiente VR, onde o movimento da cadeira pode ser substituído pelo usuário colocando os pés no chão. Dada a despesa de cadeiras disponíveis comercialmente 30,31, fazer uma "interna" pode ser uma opção mais viável para alguns pesquisadores. Para quem está nessa situação, o protocolo abaixo deve ser de uso.

Visão geral do sistema
O protocolo consiste em instruções para converter uma cadeira de escritório em uma cadeira giratória eletricamente impulsionada e integrar o movimento da cadeira em uma experiência VR. Todo o sistema, uma vez concluído, é composto por quatro partes: os subsistemas mecânicos, elétricos, de software e vr. Uma fotografia do sistema completo é mostrada na Figura 1. O sistema mostrado foi o usado no experimento de exemplo.

O trabalho do subsistema mecânico é girar fisicamente o eixo superior de uma cadeira giratória através de um motor. Consiste em uma cadeira de escritório à qual duas coisas estão anexadas: uma polia fixada no eixo rotativo superior da cadeira do escritório e uma estrutura de montagem ajustável presa à parte fixa inferior do eixo. Um motor de estepe elétrico é anexado ao suporte, que tem uma polia presa ao eixo que se alinha com a polia no eixo superior da cadeira do escritório. Um cinto acotoda a polia do motor na polia da cadeira, permitindo que o motor gire a cadeira.

O subsistema elétrico fornece energia ao motor e permite o controle eletrônico do motor. Consiste em um motor, uma fonte de alimentação para o motor, uma placa Arduino para interligar o motorista com um computador, e uma fonte de alimentação para o Arduino (opcional). Uma placa Arduino é uma pequena placa popular entre hobbyists e fabricantes profissionais de qualquer coisa eletrônica, que contém um microprocessador programável, controladores, pinos de entrada e saída, e (em alguns modelos) uma porta USB (necessária aqui). Todos os componentes elétricos estão alojados em uma caixa eletricamente isolada modificada sob medida. Como a energia da rede é necessária para o transformador que fornece energia para o motor e para a fonte de alimentação (opcional) Arduino, e como o motor requer altas tensões de operação, todos, exceto o trabalho eletrônico de baixa tensão (passos de protocolo 2.5 a 2.10 abaixo) devem ser realizados por um indivíduo qualificado.

O subsistema de software consiste em software Arduino para programar o software Arduino, Unity para criar o ambiente VR, software Steam para conduzir o sistema VR e plugin Ardity – a Unity que permite que a Unity se comunique com a placa Arduino. Este software foi instalado em um laptop Gygabyte Sabre 15WV8 executando o Microsoft Windows 10 Enterprise para o experimento de exemplo (Figura 1).

O sistema VR consiste em um Display montado na cabeça (HMD), um controlador portátil e estações base para determinar a posição e orientação do HMD e do controlador no espaço. O sistema VR utilizado para este projeto foi o HTC Vive Pro (Figura 1).

Descrito abaixo está o procedimento para combinar esses componentes para alcançar uma experiência virtual que incorpore rotação física (experimento ou não) com movimento de cadeira controlada pelo observador através do controlador portátil ou pelo hospedeiro/experimentador através de um mouse de computador ou um potencialiômetro. A parte final do protocolo consiste nas etapas necessárias para iniciar a experiência vr. Observe que o método de codificação unity para permitir ensaios e coleta de dados está além do escopo deste manuscrito. Algumas etapas, particularmente para o subsistema mecânico, requerem certos equipamentos de oficina e um certo nível de habilidade. Em princípio, os métodos apresentados podem ser ajustados para atender à disponibilidade desses recursos. Alternativas são oferecidas para algumas das etapas mais técnicas.

Access restricted. Please log in or start a trial to view this content.

Protocolo

AVISO: O trabalho elétrico deve ser realizado por uma pessoa qualificada.

1. Procedimento de configuração do sistema mecânico

  1. Fixar a polia principal ao eixo superior da cadeira giratória.
    1. Remova o eixo superior.
      NOTA: Isso normalmente envolve colocar a cadeira de lado e remover um pino na base da cadeira que impede que o eixo superior deslize para fora do eixo inferior.
    2. Ajuste de fricção da polia no eixo.
      1. Use pinças Vernier para obter o diâmetro do eixo. Use um torno para furar o orifício da polia para combinar com o diâmetro do eixo.
      2. Crie orifícios roscados para parafusos que fixarão a polia no eixo. Faça furos adicionais no cubo da polia para fazer um total de 4, combinando o diâmetro com o dos parafusos. Rosqueie os orifícios usando uma torneira para que os parafusos possam ser usados para fixar a polia ao eixo, combinando a rosca com a dos parafusos
        NOTA: Uma ALTERNATIVA se não for possível criar um fio é perfurar todo o caminho através do cubo da polia e do eixo da cadeira, e executar um parafuso todo o caminho, uma vez que a colocação correta da polia tenha sido determinada (após o passo 1.4.6).
      3. Deslize a polia no eixo da cadeira.
      4. Insira os parafusos livremente (aperte depois que as polias principais e pequenas estiverem alinhadas).
    3. Coloque o cinto de acionamento livremente no eixo da cadeira superior (para caber nas polias principais e pequenas depois).
    4. Recoloque o eixo da cadeira superior na base da cadeira.
  2. Conecte o suporte do motor ao eixo inferior da cadeira giratória.
    1. Fabricar um grampo ajustável ao qual os suportes de montagem do motor podem ser anexados.
      1. Fabricar os dois componentes correspondentes do grampo – um para cada lado do eixo (a ser espremido junto com quatro parafusos). Consulte a Figura 2 para obter dimensões.
      2. Para cada componente, corte o ferro de ângulo de 90° para o comprimento. Conecte as 4 folhas pelas quais os parafusos serão executados.
      3. Em volta das bordas de cada folha (barra de metal) por segurança. Faça furos perto da extremidade de cada barra grande o suficiente para os parafusos se encaixarem. Faça uma curva de 45° na posição apropriada (marque a barra para tornar a curva mais precisa). Soldar cada barra para os furos de ferro angular para fora.
        NOTA: ALTERNATIVAMENTE, as folhas podem ser aparafusadas no lugar, tomando cuidado para não causar uma saliência que impedirá que o ferro angular entre em contato com o eixo da cadeira.
    2. Fabricar dois suportes de montagem do motor. Consulte a Figura 3 para obter dimensões. Para cada suporte, faça dois furos na barra para fixação ao grampo apenas descrito. Dobre 90° na posição apropriada (marque a barra para tornar a curva mais precisa).
    3. Coloque o grampo e o suporte no eixo inferior da cadeira inserindo os 4 parafusos através dos componentes e suportes do grampo e apertando. Certifique-se de que os parafusos não estão muito apertados se a montagem precisar ser ajustada para acomodar o processo de alinhamento na etapa 1.4.6.
  3. Coloque a polia pequena no eixo do motor.
    1. Triture a chave no eixo do motor plano (não mais saliente).
      NOTA: Isso fornecerá uma superfície plana contra a qual o parafuso da polia pode ser apertado para evitar o deslizamento da polia ao redor do eixo do motor.
    2. Faça o orifício na polia para combinar com o diâmetro do eixo do motor.
    3. Deslize a polia sobre o eixo e aperte o parafuso contra a superfície plana do eixo.
  4. Conecte o motor ao suporte do motor descrito acima.
    1. Prepare cada uma das 4 barras de fixação do motor perfurando dois furos nas posições apropriadas (os orifícios precisam se alinhar com os orifícios de montagem no motor). Consulte a Figura 4 para obter dimensões.
    2. Se necessário para a liberação, corte uma seção da parte superior das duas barras para permitir que a polia no eixo do motor gire livremente (opcional).
    3. Coloque os quatro pequenos suportes de fixação de tampa sobre os quatro orifícios externos. Use-os mais tarde para fixar a tampa protetora sobre o cinto e as polias.
    4. Fixar livremente as oito porcas e parafusos, deixando espaço entre as barras superior e inferior para deslizar as barras do suporte de montagem entre eles.
    5. Deslize as barras de montagem do motor sobre a barra superior acima da barra de suporte de montagem e cada uma inferior abaixo.
    6. Posicione e aperte o motor.
      1. Mova a polia principal, a roldana pequena, ou tanto para cima quanto para baixo até que as polias principais e pequenas estejam alinhadas horizontalmente. Mova o grampo se necessário.
      2. Coloque o cinto de acionamento sobre as polias pequenas e principais.
      3. Deslize o conjunto do motor para longe da cadeira até que a correia esteja apertada.
      4. Aperte os 8 parafusos nas barras de fixação do motor para fixar o motor ao suporte do motor.
      5. Aperte os parafusos do grampo e os parafusos da polia.
  5. Conecte uma tampa para evitar que qualquer coisa fique presa no sistema de polia/correia.
    1. Dobre as laterais da tampa protetora acrílica conforme a Figura 5.
      NOTA: Uma ALTERNATIVA, se um dobrador de acrílico não estiver disponível, é usar uma folha de metal e um dobrador de folhas.
    2. Corte uma seção para caber ao redor do eixo da cadeira de acordo com a Figura 5.
    3. Faça furos para combinar com os orifícios nos pequenos suportes de fixação da tampa.
    4. Use os pequenos parafusos de fixação da tampa para fixar a tampa.

2. Procedimento de configuração do sistema elétrico

  1. Conecte o interruptor de liga/desliga e o interruptor de desligamento de emergência à alimentação da rede. Use cabos apropriados de tensão e corrente para conectar o conector IEC (conector masculino para o cabo de alimentação da rede) ao interruptor de desligamento e desligamento de emergência em série (de modo que a quebra do circuito com qualquer um deles corte a energia para o resto dos componentes).
    NOTA: Pode ser necessária solda.
  2. Conecte a fonte de alimentação DC de 5 V para o Arduino ao interruptor de liga/desliga (opcional).
    NOTA: A soldagem e a rede de cabos nominal necessárias.
  3. Conecte a fonte de alimentação DC de 48 V para o driver da cadeira ao interruptor de liga/desliga em paralelo à fonte de alimentação de 5 V.
    NOTA: Cabo nominal de rede necessário.
  4. Faça as configurações apropriadas do interruptor DIP para o condutor do motor de estepe Híbrido. Por exemplo:
    1. Ajuste os interruptores 1-4 para ON, OFF, ON e ON, respectivamente, para 1.600 pulsos por revolução para o motor do passo (quanto maior o número, mais fino o controle, mas menor a tampa na velocidade de rotação, dependendo da rapidez com que o Arduino pode produzir pulsos).
    2. Mude 5 para OFF para a direção de rotação padrão no sentido anti-horário.
    3. Mude 6 para ON para o modo DRIVE Point Motion (PM) em oposição ao modo de controle vetorial de espaço (ou Controle orientado a campo, FOC).
    4. Defina os interruptores 7 e 8 para OFF e OFF para combinar o controlador com o motor de loop fechado série 86 12 NM.
  5. Conecte o condutor do motor do estepe Híbrido à fonte de alimentação e aos cabos do driver da cadeira.
    1. Conecte os cabos devidamente classificados dos terminais de saída de alimentação de 48 V aos conectores de entrada de alimentação do motorista do motor e insira a carcaça.
    2. Conecte os dois cabos do motor através de suas carcaças de conectores ao motorista.
  6. Conecte o Arduino ao motor do estepe Híbrido.
    1. Use fios de salto fixados para conectar os terminais PUL+ ("pulso" +), DIR+ ("direção" +) e ENA+ ("habilitar" +) na carcaça do conector do motorista do motor aos pinos 2, 3 e 5 (números de pinos opcionais, mas indicados aqui como exemplos a serem usados por toda parte) no Arduino.
    2. Use fios curtos para conectar os terminais PUL, DIR e ENA da carcaça do conector do motorista do motor e um fio de salto mais longo para conectar o ENA a um pino GND (terra) no Arduino.
    3. Insira a carcaça do conector no motor.
  7. Conecte o Arduino à fonte de alimentação DC de 5 V (opcional). Use fios de salto fixados para conectar os pinos GND e Vin no Arduino aos terminais de saída de 5 V da fonte de alimentação de 5 V.
  8. Conecte o potencialiômetro ao Arduino. Use fios de salto fixados para conectar os pinos A1 (um terminal "analógico dentro") GND e 5 V no Arduino aos três terminais do potencialiômetro.
    NOTA: É necessária solda.
  9. Conecte o interruptor de alternância ao Arduino. Conecte o pino 6 e o GND no Arduino aos dois terminais de interruptor de alternação usando fios de salto presos.
    NOTA: É necessária solda.
  10. Conecte o LED ao Arduino.
    1. Solde o resistor para um terminal do LED (para soltar a tensão no circuito led).
    2. Conecte os pinos 7 e GND no Arduino até a extremidade do resistor e o outro terminal LED usando fios de salto presos.
      NOTA: É necessária solda.
  11. Isole e abriga os componentes elétricos/eletrônicos. Consulte a Figura 6 para obter uma imagem de um sistema alojado completo.
    NOTA: Existem muitas maneiras de isolar os componentes de alta tensão do sistema elétrico, proteger os frágeis componentes eletrônicos de danos e conter todos esses componentes em um espaço gerenciável. Abaixo está um método sugerido.
    1. Furos de perfuração/corte na lateral da caixa de instrumentos para o conector de alimentação IEC, o interruptor de liga/desliga principal, os dois cabos de controle do motor, o pequeno interruptor de alternação, o LED, o potencialiômetro e a porta USB do Arduino (torná-lo grande para permitir que o ar flua para dentro da caixa para resfriamento).
    2. Conecte cada um desses componentes usando os meios apropriados (por exemplo, parafusos, parafusos, pistola de cola quente).
    3. Corte os orifícios de ventilação (um acima do ventilador na fonte de alimentação de 48 V) e um orifício para o interruptor de emergência na tampa da caixa; em seguida, conecte os filtros de ventilação e o interruptor.
    4. Conecte o Arduino à base da caixa usando espaçadores e parafusos. Posicione para que a porta USB se alinhe com o orifício da porta USB na caixa.
    5. Conecte as fontes de alimentação de 48 V e 5 V e o motor à base da caixa usando Velcro e blocos de espuma.

3. Procedimento de configuração vr

  1. Configure o sistema VR de acordo com as instruções do fabricante.

4. Procedimento de configuração de software

  1. Instale e configure o software Arduino.
    1. Baixe e instale o programa Arduino de acordo com as instruções do desenvolvedor.
    2. Conecte o Arduino ao computador usando um cabo USB.
    3. No menu suspenso ferramentas , selecione a porta à qual a placa Arduino está anexada.
    4. No mesmo menu, selecione a placa e o processador apropriados. Certifique-se de que ele corresponde à placa e processador usados na seção 2 acima, por exemplo, placa "Arduino Mega 2560" e processador "ATmega2560".
  2. Programe a placa Arduino para permitir a rotação da cadeira 1) por meio do potencialiômetro e 2) por meio de comandos do computador via USB.
    1. Escreva o código a ser carregado no processador Arduino.
      NOTA: O código de exemplo do experimento de exemplo está incluído no Arquivo Suplementar 1 (nome do arquivo: hybrid_motor_controller.ino).
    2. Tome nota da taxa de baud (argumento para o comando Serial.Begin(), por exemplo, 9.600.
    3. Salve o código e carregue-o na placa Arduino usando o botão de upload .
  3. Teste que o sistema está funcionando até agora.
    1. Ligue e ligue o subsistema elétrico.
    2. Flick o pequeno interruptor de alternância para uma posição onde a pequena luz indicadora LED acende.
    3. Gire o potencialiômetro para garantir que ele controle a velocidade e a direção da cadeira.
  4. Instale e configure Steam e SteamVR de acordo com as instruções do desenvolvedor.
  5. Instale e configure o Unity.
    1. Instale e configure Unity de acordo com as instruções do desenvolvedor.
    2. Abra um projeto unity novo ou existente (escolha um tipo, por exemplo, "3D" apropriado para a aplicação).
    3. Configure o SteamVR para uso no projeto.
      1. Abra a loja de ativos (clique em Janela | Loja de Ativos).
      2. Pesquise por SteamVR e selecione Plugin SteamVR.
      3. Clique em Adicionar a Ativos.
      4. Em Unity, abra o Gerenciador de pacotes (clique em Janela | Gerenciador de pacotes).
      5. Encontre SteamVR na guia Meus ativos .
      6. Clique em Importar e siga as instruções para concluir a importação.
      7. Clique em Aceitar Tudo se solicitado a fazer alterações configurais.
      8. Importe o Steam VR Camera Rig para a cena. Procure um novo ativo chamado Steam VR na janela do projeto na tela do inspetor. Pré -| de vr do Steam Aberto.
      9. Arraste o ativo [Camera Rig] para a hierarquia ou janela de cena para permitir o uso do fone de ouvido VR e controladores no jogo.
      10. Remova a câmera principal padrão da hierarquia ou cena, pois ela interferirá com a câmera SteamVR.
  6. Instale e configure ardity.
    1. Pesquise ardity na Unity Asset Store e selecione-a para download (etapa 4.5.3.2 acima).
    2. Atualize o nível de compatibilidade da API.
      1. Abra configurações de projeto no menu Editar .
      2. Clique em Player | Outras Configurações.
      3. Escolha .NET 4.X no menu suspenso para o nível de compatibilidade da API.
      4. Configurações de saída e aguarde que as mensagens de erro desapareçam.
  7. Configure o ambiente de jogo unity.
    NOTA: Serão necessárias as seguintes etapas mínimas para que o usuário tenha o controle da cadeira e tenha o movimento da cadeira integrado à sua experiência vr.
    1. Crie os objetos e funções necessários para a aplicação específica.
      1. Crie objetos clicando no GameObject e selecionando objeto 2D ou objeto 3D.
      2. Adicione funcionalidade ao objeto criado clicando no botão Adicionar componente na janela Inspetor para o objeto e selecionando uma das opções. Selecione Novo Script para criar um script C# semelhante ao do Arquivo Suplementar 3 (nome do arquivo: SetUpTrial.cs).
    2. Importe o script do Serial Controller para o jogo.
      1. Na pasta Ativos na janela Projeto , abra a pasta Ardity | Pasta de scripts .
      2. Arraste o script SerialController para o objeto de jogo desejado na janela Heirarchy , por exemplo, o objeto de jogo Background .
      3. Clique no objeto e role para baixo a lista de componentes na janela Inspetor para localizar o script SerialController .
      4. Certifique-se de que o Nome do Porto e a Taxa baud correspondam aos do programa Arduino definido nas etapas 4.1 e 4.2 acima.
      5. Arraste o objeto ao qual o script SerialController está conectado da janela de hierarquia para a caixa de entrada ao lado do Ouvinte de mensagens na janela Inspetor.
    3. Escreva e importe o script do controlador da cadeira para o jogo.
      1. Na parte inferior da janela Inspetor para o mesmo objeto de jogo, clique em Adicionar componente e selecione Novo Script. Nomeie o novo script ChairController.
      2. Escreva o código necessário para pegar comandos de controlador e mouse e transformá-los em números a serem enviados via USB para o Arduino.
        NOTA: Um exemplo mínimo do código necessário está incluído no Arquivo Suplementar 2 (nome do arquivo: ChairController.cs).
      3. Guarde o roteiro.
      4. Encha as caixas vazias na janela do Inspetor . Arraste o objeto HMD da janela Hierarquia para a caixa de entrada ao lado do quadro Head sob o script Controlador da Cadeira na janela Inspetor . Da mesma forma, arraste o objeto Controlador (à direita) para a caixa ao lado da Mão.

5. Procedimento de experimento (ou experiência)

  1. Selecione o método de entrada.
    NOTA: O código ChairController de exemplo fornecido refere-se a um script chamado SetUpTrial onde a entrada variável de inteiro públicoType está definida (onde o inputType 3 é controlador VR e o inputType 4 é mouse). Este script/arranjo variável foi assumido nas etapas abaixo.
  2. Clique no objeto de jogo ao qual o script SetUpTrial está anexado, por exemplo, Fundo.
  3. Role para baixo na janela Inspetor para encontrar as variáveis públicas do script SetUpTrial .
  4. Defina entradaType para 3 para controlador VR ou 4 para controle do mouse.
  5. Pressione o botão Reproduzir em Unity para iniciar a experiência VR com movimento controlado pelos controladores ou pelo mouse.

Access restricted. Please log in or start a trial to view this content.

Resultados

O objetivo do experimento de exemplo foi determinar se a adição de rotação física – congruente ou incongruente com o movimento de fundo visual em uma cena - afetou a direção percebida de um alvo em movimento naquela cena. Uma diferença entre movimento físico congruente e incongruente era esperada com base na hipótese de que o movimento de fundo afeta a direção do alvo percebido de acordo com a forma como o sistema visual de um participante atribui a causa do movimento de fundo ao auto-movimento

Access restricted. Please log in or start a trial to view this content.

Discussão

Este artigo apresenta um método para adicionar rotação automatizada a uma cadeira de escritório sob o controle de um observador ou experimentador, e um método de acompanhamento para integrar esse movimento em uma experiência virtual. As etapas críticas incluem a fixação mecânica do motor na cadeira, a configuração da potência e o controle elétrico do motor, configurando o Arduino e o computador para conduzir o controlador do motor. A etapa de fixação mecânica requer alguns equipamentos e habilidades espe...

Access restricted. Please log in or start a trial to view this content.

Divulgações

Não há conflitos de interesse.

Agradecimentos

Este trabalho foi apoiado pelas bolsas do Conselho de Pesquisa Australiano DP160104211, DP190103474 e DP190103103.

Access restricted. Please log in or start a trial to view this content.

Materiais

NameCompanyCatalog NumberComments
48 V DC power supply (motor)MeanwellRSP-320-48https://www.meanwellaustralia.com.au/products/rsp-320
5 V DC power supply (arduino)JaycarMP3295https://www.jaycar.com.au/15w-5v-3a-enclosed-power-supply/p/MP3295?pos=5&queryId=dda344422ab16c6
7f558551ac0acbd40
Ardity plugin for UnityOpen Sourcehttps://ardity.dwilches.com/
Arduino MEGA 2560JaycarXC4420https://www.jaycar.com.au/duinotech-mega-2560-r3-board-for-arduino/p/XC4420?pos=2&queryId=901771805f4bf6e0
ec31d41601d14dc3
Arduino softwareArduinohttps://www.arduino.cc/en/software
BeltMotion DynamicsRFTB10010Choose a size that suits the application. We used 60 tooth. https://www.motiondynamics.com.au/polyurethane-timing-belts-16mm-t-10/
Bracket bolts (holding motor)The Fastner Factory161260x 4. https://www.thefastenerfactory.com.au/bolts-and-nuts/all-stainless-bolts/stainless-button-socket-head-cap-screws/stainless-steel-button-socket-head-cap-screw-m6-x-35mm-100pc
Bracket bolts (not holding motor)The Fastner Factory161258x 4. https://www.thefastenerfactory.com.au/bolts-and-nuts/all-stainless-bolts/stainless-button-socket-head-cap-screws/stainless-steel-button-socket-head-cap-screw-m6-x-25mm-100pc
Clamp Angle IronAustral Wright Metals50004813x 2. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
Clamp boltsThe Fastner Factory161265x 4. https://www.thefastenerfactory.com.au/bolts-and-nuts/all-stainless-bolts/stainless-button-socket-head-cap-screws/stainless-steel-button-socket-head-cap-screw-m6-x-70mm-100pc  
Clamp leaves (stainless flat bar)Austral Wright Metals50004687x 8. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
Cover (acrylic)Bunnings Warehouse1010489https://www.bunnings.com.au/suntuf-900-x-600-x-5mm-grey-acrylic-sheet_p1010489
Cover bolts/nutsBunnings Warehouse247292x 4. https://www.bunnings.com.au/pinnacle-m3-x-16mm-stainless-steel-hex-head-bolts-and-nuts-12-pack_p0247292
Cover bracketsBunnings Warehouse44061x 4. https://www.bunnings.com.au/zenith-20mm-zinc-plated-angle-bracket-16-pack_p0044061
Emergency shut-off switchJaycarSP0786https://www.jaycar.com.au/latching-emergency-stop-switch/p/SP0786?pos=1&queryId=5abe9876cf78dc3d
d26b9067fbc36f74
Hybrid stepper motor and driverVevor?Closed Loop Stepper Motor Nema 34 12NM Servo Motor Hybrid Driver https://vevor.com.au/products/1712oz-in-nema34-closed-loop-stepper-motor-12nm-hybrid-servo-driver-hsc86-kit?variant=33058303311975
IEC mains power connectorRS components811-7213https://au.rs-online.com/web/p/iec-connectors/8117213
Instrument case (housing)JaycarHB6381https://www.jaycar.com.au/abs-instrument-case-with-purge-valve-mpv2/p/HB6381
LEDJaycarZD0205https://www.jaycar.com.au/green-10mm-led-100mcd-round-diffused/p/ZD0205?pos=11&queryId=e596cbd3d71e86
37ab9340cee51175e7&sort=
relevance
Main pulley (chair)Motion DynamicsALTP10020Choose a size that suits the application. More teeth = slower rotation. We used 36 tooth. https://www.motiondynamics.com.au/timing-pulleys-t10-16mm.html
Motor attachment bars (Stainless flat bar)Austral Wright Metals50004687x 4. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
Mounting brackets (stainless flat bar)Austral Wright Metals50004687x 2. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
NutsThe Fastner Factory161989x 12. https://www.thefastenerfactory.com.au/stainless-steel-hex-nylon-insert-lock-nut-m6-100pc
On/off switchJaycarSK0982https://www.jaycar.com.au/dpdt-illuminated-rocker-large-red/p/SK0982?pos=4&queryId=88e0c5abfa682b74
fa631c6d513abc73&sort=relevance
PotentiometerJaycarRP8610https://www.jaycar.com.au/10k-ohm-logarithmic-a-single-gang-9mm-potentiometer/p/RP8610?pos=4&queryId=0d1510281ba100d
174b8e3d7f806a020
Pulley screwsThe Fastner Factory155856x 5. https://www.thefastenerfactory.com.au/stainless-steel-hex-socket-head-cap-screw-m4-x-25mm-100pc
resistor 150 OhmJaycarRR2554https://www.jaycar.com.au/150-ohm-1-watt-carbon-film-resistors-pack-of-2/p/RR2554?pos=19&queryId=48c6317c73fd361
a42c835398d282c4a&sort=
relevance
Small pulley (motor)Motion DynamicsALTP10020Choose a size that suits the application. More teeth = faster rotation. We used 24 tooth. https://www.motiondynamics.com.au/timing-pulleys-t10-16mm.html
Small toggle switchJaycarST0555https://www.jaycar.com.au/sealed-mini-toggle-switch/p/ST0555?pos=14&queryId=066b989a151d83
31885c6cec92fba517&sort=
relevance
Steam softwareValve Corporationhttps://store.steampowered.com/
SteamVR plugin for SteamValve Corporationhttps://store.steampowered.com/app/250820/SteamVR/
Unity softwareUnity Technologieshttps://unity3d.com/get-unity/download
VR systemScorptec99HANW007-00HTC Vive Pro with controllers and base stations. https://www.scorptec.com.au/product/gaming-peripherals/vr/72064-99hanw007-00?gclid=Cj0KCQiA5OuNBhCRARIsA
CgaiqX8NjXZ9F6ilIpVmYEhhanm
GA67xLzllk5EmjuG0gnhu4xmiE
_RwSgaAhn8EALw_wcB

Referências

  1. Campos, J., Bülthoff, H. Multimodal integration during self-motion in virtual reality. The Neural Bases of Multisensory. Murray, M. M., Wallace, M. T. , CRC Press. (2012).
  2. Radianti, J., Majchrzak, T. A., Fromm, J., Wohlgenannt, I. A systematic review of immersive virtual reality applications for higher education: Design elements, lessons learned, and research agenda. Computers & Education. 147, 103778(2020).
  3. Madshaven, J. M. Investigating the user experience of virtual reality rehabilitation solution for biomechatronics laboratory and home environment. Frontiers in Virtual Reality. 2, 645042(2021).
  4. Fan, Z. Design of physical training motion simulation system based on virtual reality technology. 2021 The 13th International Conference on Computer Modeling and Simulation. Association for Computing Machinery. , 81-86 (2021).
  5. Roettl, J., Terlutter, R. The same video game in 2D, 3D or virtual reality - How does technology impact game evaluation and brand placements. PLoS One. 13 (7), 0200724(2018).
  6. Riecke, B. E., Sigurdarson, S., Milne, A. P. Moving through virtual reality without moving. Cognitive Processing. 13, Suppl 1 293-297 (2012).
  7. Fauville, G., Queiroz, A. C. M., Woolsey, E. S., Kelly, J. W., Bailenson, J. N. The effect of water immersion on vection in virtual reality. Scientific Reports. 11 (1), 1022(2021).
  8. Bernhard, E. R., Jörg, S. -P., Marios, N. A., Markus Von Der, H., Heinrich, H. B. Cognitive factors can influence self-motion perception (vection) in virtual reality. ACM Transactions on Applied Perception. 3 (3), 194-216 (2006).
  9. Gibson, J. J. The perception of the visual world. , Houghton Mifflin. (1950).
  10. Angelaki, D. E., Gu, Y., Deangelis, G. C. Visual and vestibular cue integration for heading perception in extrastriate visual cortex. Journal of Physiology. 589, Pt 4 825-833 (2011).
  11. Badcock, D., Palmisano, S., May, J. G. Vision and virtual environments. Handbook of Virtual Environments: Design, Implementation, and Applications. Hale, K. S., Stanney, K. M. , CRC Press. 39-85 (2014).
  12. Kaliuzhna, M., Prsa, M., Gale, S., Lee, S. J., Blanke, O. Learning to integrate contradictory multisensory self-motion cue pairings. Journal of Vision. 15 (1), (2015).
  13. Wilkie, R. M., Wann, J. P. The role of visual and nonvisual information in the control of locomotion. Journal of Experimental Psychology: Human Perception and Performance. 31 (5), 901-911 (2005).
  14. Sinha, N., et al. Perception of self motion during and after passive rotation of the body around an earth-vertical axis. Progress in Brain Research. 171, 277-281 (2008).
  15. Tremblay, L., et al. Biases in the perception of self-motion during whole-body acceleration and deceleration. Frontiers in Integrative Neuroscience. 7, 90(2013).
  16. Nooij, S. A. E., Bockisch, C. J., Bülthoff, H. H., Straumann, D. Beyond sensory conflict: The role of beliefs and perception in motion sickness. PLoS One. 16 (1), 0245295(2021).
  17. Harris, L., et al. Simulating self-motion I: Cues for the perception of motion. Virtual Reality. 6 (2), 75-85 (2002).
  18. Carr, H. A., Hardy, M. C. Some factors in the perception of relative motion: A preliminary experiment. Psychological Review. 27, 24-37 (1920).
  19. Reinhardt-Rutland, A. H. Induced movement in the visual modality: An overview. Psychological Bulletin. 103, 57-71 (1988).
  20. Zivotofsky, A. Z., et al. Tracking of illusory target motion: Differences between gaze and head responses. Vision Research. 35 (21), 3029-3035 (1995).
  21. Farrell-Whelan, M., Wenderoth, P., Wiese, M. Studies of the angular function of a Duncker-type induced motion illusion. Perception. 41 (6), 733-746 (2012).
  22. Warren, P. A., Rushton, S. K. Optic flow processing for the assessment of object movement during ego movement. Current Biology. 19 (18), 1555-1560 (2009).
  23. Fajen, B. R., Matthis, J. S. Visual and non-visual contributions to the perception of object motion during self-motion. PLoS One. 8 (2), 55446(2013).
  24. Duminduwardena, U. C., Cohen, M. Controlling the Schaire Internet Chair with a mobile device. Proceedings CIT: The Fourth International Conference on Computer and Information Technology. , Wuhan, China. 215-220 (2004).
  25. Ashiri, M., Lithgow, B., Mansouri, B., Moussavi, Z. Comparison between vestibular responses to a physical and virtual reality rotating chair. Proceedings of the 11th Augmented Human International Conference. , Association for Computing Machinery. Winnipeg, Manitoba, Canada. (2020).
  26. Koenig, E. A new multiaxis rotating chair for oculomotor and vestibular function testing in humans. Neuro-ophthalmology. 16 (3), 157-162 (1996).
  27. Mowrey, D., Clayson, D. Motion sickness, ginger, and psychophysics. The Lancet. 319 (8273), 655-657 (1982).
  28. Sanmugananthan, P., Nguyen, N., Murphy, B., Hossieni, A. Design and development of a rotating chair to measure the cervico-ocular reflex. Cureus. 13 (10), 19099(2021).
  29. Gugenheimer, J., Wolf, D., Haas, G., Krebs, S., Rukzio, E. SwiVRChair: a motorized swivel chair to nudge users' orientation for 360 degree storytelling in virtual reality. 1996-2000. Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems. , Association for Computing Machinery. San Jose, California, USA. (2016).
  30. Roto VR Ltd. Roto VR Chair. , Available from: https://www.rotovr.com/ (2021).
  31. Yaw VR Ltd. Yaw Motion Simulator. , Available from: https://www.yawvr.com/ (2021).
  32. Warren, P. A., Rushton, S. K. Perception of object trajectory: Parsing retinal motion into self and object movement components. Journal of Vision. 7 (11), 1-21 (2007).
  33. Bonnen, K., Burge, J., Yates, J., Pillow, J., Cormack, L. K. Continuous psychophysics: Target-tracking to measure visual sensitivity. Journal of Visualized Experiments: JoVE. (3), (2015).
  34. SimXperience. , Available from: https://www.simxperience.com/ (2021).
  35. Harris, L. R., Jenkin, M., Zikovitz, D. C. Visual and non-visual cues in the perception of linear self-motion. Experimental Brain Research. 135, 12-21 (2000).
  36. DOF Reality Motion Simulators. , Available from: https://www.dofreality.com/ (2021).
  37. Next Level Racing. , Available from: https://nextlevelracing.com/ (2022).
  38. Motion Systems. , Available from: https://motionsystems.eu/ (2022).
  39. Redbird Flight Simulations. , Available from: https://simulators.redbirdflight.com/ (2022).
  40. Teufel, H. J., et al. MPI motion simulator: development and analysis of a novel motion simulator. Proceedings of the AIAA Modeling and Simulation Technologies Conference and Exhibit (AIAA 2007). , Hilton Head, South Carolina. (2007).

Access restricted. Please log in or start a trial to view this content.

Reimpressões e Permissões

Solicitar permissão para reutilizar o texto ou figuras deste artigo JoVE

Solicitar Permissão

Explore Mais Artigos

ComportamentoQuest o 182

This article has been published

Video Coming Soon

JoVE Logo

Privacidade

Termos de uso

Políticas

Pesquisa

Educação

SOBRE A JoVE

Copyright © 2025 MyJoVE Corporation. Todos os direitos reservados