Waiting
Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Behavior

가상 현실 환경에서 인간 관찰자의 제어 된 회전

Published: April 21, 2022 doi: 10.3791/63699

Summary

인간 관찰자의 제어된 물리적 회전은 특정 실험적, 레크리에이션적, 교육적 응용에 바람직하다. 이 백서에서는 사무실 회전 의자를 가상 현실 환경에서 제어된 물리적 회전을 위한 매체로 변환하는 방법을 간략하게 설명합니다.

Abstract

가상 현실 (VR) 시스템의 저렴한 비용과 가용성은보다 자연주의적, 다중 감각 및 몰입 형 조건에서 인식과 행동에 대한 최근의 연구 가속화를 지원했습니다. VR 시스템의 사용으로 특히 이익을 얻은 연구 분야 중 하나는 다중 감각 통합, 예를 들어 시각 및 전정 단서의 통합으로 자기 운동 감각을 불러 일으 킵니다. 이러한 이유로, 가상 환경에서 관찰자의 제어된 물리적 회전을 위한 접근 가능한 방법은 유용한 혁신을 나타낸다. 이 백서에서는 사무실 회전 의자의 회전을 자동화하는 방법과 함께 해당 동작을 VR 경험에 통합하는 방법을 제시합니다. 예제 실험을 사용하여, 이렇게 생성 된 물리적 움직임이 기대와 일치하는 방식으로 관찰자의 시각적 경험과 통합된다는 것이 입증됩니다. 움직임이 시각적 자극과 일치 할 때 높은 통합과 움직임이 일치하지 않을 때 낮은 통합.

Introduction

많은 단서가 자연 조건 하에서 결합하여 자기 운동의 감각을 생성합니다1. 이러한 감각을 생산하는 것은 많은 레크리에이션, 건강 및 교육 VR 응용 프로그램 2,3,4,5에서 목표이며, 단서가 어떻게 결합하여 자기 운동 감각을 부여하는지 이해하는 것은 신경 과학자 6,7,8,9,10,11의 장기적인 노력이었습니다. . 자기 운동 인식을위한 세 가지 가장 중요한 단서 클래스는 시각적, 전정 적 및 고유 한 수용1입니다. 세 가지 모두 현실 세계에서 자연스러운 활동을하는 동안 일치하게 결합하여 견고하고 풍부한 자기 운동 감각을 제공합니다. 각 종류의 단서의 역할을 이해하고 단서가 어떻게 결합되는지에 대한 감각을 얻기 위해 연구자들은 전통적으로 실험 관찰자에게 하나 이상의 단서를 박탈하고 / 또는 서로 충돌하는 단서를배치했습니다 1,12. 예를 들어, 고유 수용 단서가 없을 때 회전 전정 신호를 제공하기 위해, 관찰자는 전동 의자(13,14,15,16)에 의해 수동적으로 회전될 수 있다. 이러한 수동적 운동은 자기 운동(17)에 매우 설득력 있는 단서를 제공하는 것으로 나타났다. VR 헤드셋이 제공하는 제어된 시각적 단서는 의자 동작과 일치하거나 일치하지 않거나 전혀 없을 수 있습니다. 고유 수용 단서는 관찰자가 자신의 힘으로 의자를 회전시키는 것, 예를 들어, 의자를 발로 밀어 넣음으로써 추가 될 수 있습니다.

여기에 제시된 것은 사무실 회전 의자를 관찰자의 신체를 물리적으로 회전시키는 매체로 변환하고 그 움직임을 시각적 (그리고 잠재적으로 청각적인) 가상 경험에 통합하는 방법입니다. 의자의 회전은 관찰자, 컴퓨터 프로그램 또는 실험자와 같은 다른 사람의 통제하에 있을 수 있습니다. 관찰자-제어된 회전은 모터 구동 회전을 관찰자의 핸드헬드 제어기의 위치의 함수로 만들거나, 의자를 끄고 관찰자가 의자 자체를 회전시킴으로써 능동적으로 만들어서 수동적일 수 있다.

또한이 의자 / VR 시스템을위한 정신 물리학 적 응용 프로그램도 제시됩니다. 이 예제 응용 프로그램은 자기 동작 단서가 상호 작용하여 전반적인 지각 경험을 생성하는 방법을 이해하는 데 관찰자의 제어된 수동 회전의 유용성을 강조합니다. 구체적인 목표는 오랫동안 연구 된 시각적 환상 유발 운동18,19에 대한 통찰력을 얻는 것이 었습니다. 유도 된 움직임에서, 고정 또는 움직이는 표적은 움직이는 배경으로부터 지각 적으로 "격퇴"됩니다. 예를 들어, 적색 타겟 점이 오른쪽으로 이동하는 청색 점들의 필드에 대해 수직으로 위쪽으로 이동하면, 타겟 도트는 예상대로 위쪽으로 이동하는 것처럼 보일 뿐만 아니라, 이동 배경(20,21)의 방향으로부터 멀어지면서 왼쪽으로 이동하는 것처럼 보일 것이다. 목표는 반발이 배경 운동을 자기 운동22,23에 의해 야기 된 것으로 해석 한 결과인지 여부를 테스트하는 것이 었습니다.

이 경우, 배경 시각적 움직임과 일치하는 물리적 회전을 추가하면 배경 운동이 고정 된 환경을 통한 자체 회전으로 인한 것이라는 더 강한 감각으로 이어져야합니다. 이것은, 차례로, 정지 세계(23)에 비해 타겟 운동을 얻기 위해 타겟 운동으로부터 배경 운동을 뺄 더 큰 경향으로 이어져야 한다. 이러한 뺄셈 경향의 증가는 더 큰 지각 된 목표 반발을 초래할 것입니다. 배경 운동과 일치하거나 일치하지 않는 물리적 자기 회전이 이것을 테스트하기 위해 추가되었습니다. 여기에 제시된 시스템은 물리적 운동과 그에 상응하는 시각 운동의 정확한 제어가이 가설을 테스트 할 수있게 해주었습니다. 이 예에서 의자 동작은 VR 시스템의 핸드 헬드 컨트롤러를 사용하여 관찰자의 직접 제어하에 있었다.

문헌 24,25,26,27,28,29에는 다양한 VR 응용을위한 전동 회전 의자의 많은 예가 있지만, 저자는 그러한 의자를 만들고 인터랙티브 VR 경험에 통합하기위한 간결한 지침을 알지 못합니다. SwiVRChair(29)에 대해 제한된 명령어가 제공되는데, 이는 구조적으로 여기에서 제시된 것과 유사하지만 다른 목적을 염두에 두고 설계된, 즉 VR 환경에서의 몰입을 개선하기 위해 컴퓨터 프로그램에 의해 구동되는 것, 즉 의자 움직임이 바닥에 발을 올려 놓음으로써 사용자에 의해 재정의될 수 있다. 상업적으로 이용 가능한 의자30,31의 비용을 감안할 때, 하나의 "사내"를 만드는 것이 일부 연구자에게보다 실용적인 옵션 일 수 있습니다. 이 상황에 처한 사람들에게는 아래 프로토콜을 사용해야합니다.

시스템 개요
이 프로토콜은 사무실 의자를 전기 구동 회전 의자로 변환하고 의자 움직임을 VR 경험에 통합하기위한 지침으로 구성됩니다. 전체 시스템은 일단 완료되면 기계, 전기, 소프트웨어 및 VR 서브 시스템의 네 부분으로 구성됩니다. 전체 시스템의 사진은 그림 1에 나와 있습니다. 표시된 시스템은 실시예 실험에 사용된 시스템이었다.

기계식 서브 시스템의 임무는 모터를 통해 회전 의자의 상부 샤프트를 물리적으로 회전시키는 것입니다. 그것은 두 가지가 부착되는 사무실 의자로 구성됩니다 : 사무실 의자의 상부 회전 샤프트에 고정 된 풀리와 샤프트의 하단 고정 부분에 부착 된 조정 가능한 장착 프레임. 전기 스테퍼 모터가 마운트에 부착되어 있으며, 샤프트에 풀리가 부착되어 사무실 의자의 상부 샤프트에있는 풀리와 일렬로 정렬됩니다. 벨트는 모터 풀리를 의자 풀리에 결합시켜 모터가 의자를 회전시킬 수 있도록 합니다.

전기 서브 시스템은 모터에 전력을 공급하고 모터의 전자 제어를 허용합니다. 모터 드라이버, 모터용 전원 공급 장치, 드라이버와 컴퓨터를 인터페이싱하기 위한 Arduino 보드 및 Arduino용 전원 공급 장치(옵션)로 구성됩니다. Arduino 보드는 프로그래밍 가능한 마이크로 프로세서, 컨트롤러, 입력 및 출력 핀, USB 포트 (일부 모델에서는 여기에 필요)가 포함 된 전자 제품의 애호가 및 전문 제조업체 사이에서 인기있는 소형 보드입니다. 모든 전기 부품은 맞춤형 수정 전기 절연 상자에 보관됩니다. 모터에 전력을 공급하는 변압기 및 (옵션) Arduino 전원 공급 장치에 주 전원이 필요하고 모터에 높은 작동 전압이 필요하기 때문에 저전압 전자 작업 (아래의 프로토콜 단계 2.5 ~ 2.10)을 제외한 모든 것은 자격을 갖춘 개인이 수행해야합니다.

소프트웨어 서브시스템은 아두이노 프로그래밍을 위한 아두 이노 소프트웨어, VR 환경을 만들기 위한 Unity 소프트웨어, VR 시스템을 구동하기 위한 Steam 소프트웨어, Unity가 아두 이노 보드와 통신 할 수있게 해주는 Unity 플러그인 인 Ardity로 구성됩니다. 이 소프트웨어는 예제 실험을 위해 Microsoft Windows 10 Enterprise를 실행하는 Gygabyte Sabre 15WV8 노트북에 설치되었습니다(그림 1).

VR 시스템은 헤드 마운트 디스플레이(HMD), 핸드헬드 컨트롤러, 우주에서 HMD 및 컨트롤러의 위치와 방향을 결정하기 위한 기지국으로 구성됩니다. 이 프로젝트에 사용된 VR 시스템은 HTC Vive Pro였습니다(그림 1).

아래는 이러한 구성 요소를 결합하여 물리적 회전(실험 또는 기타)을 핸드헬드 컨트롤러를 통해 관찰자가 제어하거나 컴퓨터 마우스 또는 전위차계를 통해 호스트/실험자가 제어하는 의자 모션과 통합하는 가상 경험을 달성하는 절차입니다. 프로토콜의 마지막 부분은 VR 경험을 시작하는 데 필요한 단계로 구성됩니다. 시험 및 데이터 수집을 허용하기 위해 Unity를 코딩하는 방법은 이 원고의 범위를 벗어납니다. 일부 단계, 특히 기계 서브 시스템의 경우 특정 작업장 장비와 일정 수준의 기술이 필요합니다. 원칙적으로, 제시된 방법들은 이들 자원의 가용성에 적합하도록 조정될 수 있다. 좀 더 기술적 인 단계 중 일부에 대한 대안이 제공됩니다.

Subscription Required. Please recommend JoVE to your librarian.

Protocol

경고 : 전기 작업은 자격을 갖춘 사람이 수행해야합니다.

1. 기계 시스템 설정 절차

  1. 메인 풀리를 스위블 의자의 상부 샤프트에 부착하십시오.
    1. 상부 샤프트를 분리합니다.
      참고: 이것은 일반적으로 의자를 측면에 놓고 상부 샤프트가 하부 샤프트에서 미끄러지는 것을 방지하는 의자 바닥의 핀을 제거하는 것을 포함합니다.
    2. 풀리를 샤프트에 마찰 장착합니다.
      1. Vernier 캘리퍼를 사용하여 샤프트의 직경을 구하십시오. 선반을 사용하여 풀리 구멍을 보아 샤프트의 직경과 일치시킵니다.
      2. 풀리를 샤프트에 고정시킬 나사 나사 구멍을 만듭니다. 풀리의 허브에 추가 구멍을 뚫어 나사의 직경과 일치하는 총 4 개를 만듭니다. 나사를 사용하여 풀리를 샤프트에 고정하는 데 나사를 사용하여 나사를 나사의 나사와 일치시킬 수 있도록 탭을 사용하여 구멍을 나사로 묶습니다.
        참고: 나사를 만들 수 없는 경우 대안은 풀리의 허브와 의자의 샤프트를 끝까지 뚫고 풀리의 올바른 배치가 결정되면 볼트를 끝까지 실행하는 것입니다(1.4.6단계 이후).
      3. 풀리를 의자 샤프트에 밀어 넣습니다.
      4. 나사를 느슨하게 삽입하십시오 (메인 풀리와 작은 풀리가 정렬 된 후 조이십시오).
    3. 드라이브 벨트를 위쪽 의자 샤프트에 느슨하게 놓습니다(나중에 메인 및 소형 풀리에 맞도록 함).
    4. 상단 의자 샤프트를 의자 받침대에 다시 부착합니다.
  2. 모터 마운트를 스위블 의자의 하단 샤프트에 부착하십시오.
    1. 모터 장착 브래킷을 부착 할 수있는 조정 가능한 클램프를 제작하십시오.
      1. 클램프의 두 개의 일치하는 구성 요소를 제작하십시오 - 샤프트의 양쪽에 하나씩 (네 개의 볼트와 함께 압착 됨). 치수는 그림 2를 참조하십시오.
      2. 각 구성 요소에 대해 90 ° 각도의 다리미를 길이로 자릅니다. 볼트가 달린 4 개의 잎을 부착하십시오.
      3. 안전을 위해 각 잎 (금속 막대)의 가장자리를 둥글게하십시오. 볼트가 통과할 수 있을 만큼 충분히 큰 각 막대의 끝 부분에 구멍을 뚫습니다. 적절한 위치에서 45° 벤드를 만듭니다(벤드를 더 정확하게 만들기 위해 막대에 점수를 매기십시오). 각 막대를 바깥쪽으로 앵글 아이언 볼트 구멍에 스폿 용접합니다.
        참고: 또는 나뭇잎을 제자리에 볼트로 고정하여 앵글 아이언이 의자 샤프트에 닿지 않도록 돌출부를 일으키지 않도록 주의해야 합니다.
    2. 두 개의 모터 장착 브래킷을 제작합니다. 치수는 그림 3 을 참조하십시오. 각 브래킷에 대해 방금 설명한 클램프에 부착하기 위해 막대에 두 개의 구멍을 뚫습니다. 적절한 위치에서 90° 벤드(벤드를 더 정확하게 만들기 위해 막대에 점수를 매깁니다).
    3. 클램프를 부착하고 클램프 구성 요소와 브래킷을 통해 4 개의 볼트를 삽입하고 조여서 의자의 하단 샤프트에 장착하십시오. 1.4.6단계의 정렬 프로세스를 수용하도록 마운트를 조정해야 하는 경우 볼트가 너무 꽉 조이지 않았는지 확인하십시오.
  3. 작은 풀리를 모터 샤프트에 부착하십시오.
    1. 모터 샤프트 플랫에서 키를 연마합니다(더 이상 돌출되지 않음).
      참고: 이것은 모터 샤프트 주위의 풀리의 미끄러짐을 방지하기 위해 풀리 나사를 조일 수있는 평평한 표면을 제공합니다.
    2. 모터 샤프트의 직경과 일치하도록 풀리의 구멍을 뚫습니다.
    3. 풀리를 샤프트 위로 밀어 넣고 샤프트의 평평한 표면에 나사를 느슨하게 조이십시오.
  4. 위에서 설명한 모터 브래킷에 모터를 부착합니다.
    1. 적절한 위치에 두 개의 구멍을 뚫어 4개의 모터 부착 막대를 각각 준비합니다(구멍은 모터의 장착 구멍과 일렬로 정렬되어야 함). 치수는 그림 4를 참조하십시오.
    2. 클리어런스에 필요한 경우, 모터 샤프트의 풀리가 자유롭게 회전할 수 있도록 두 막대의 상단에서 섹션을 잘라냅니다(옵션).
    3. 네 개의 작은 덮개 부착 브래킷을 네 개의 외부 구멍 위에 놓습니다. 나중에 벨트와 풀리 위에 보호 커버를 부착하는 데 사용하십시오.
    4. 여덟 개의 너트와 볼트를 느슨하게 부착하여 위쪽과 아래쪽 막대 사이에 공간을 남겨 두어 장착 브래킷 막대를 밀어 넣습니다.
    5. 모터 장착 막대를 브래킷 위에 밀어 넣습니다. 각 위쪽 막대는 장착 브래킷 막대 위에, 아래쪽은 각각 아래쪽 막대입니다.
    6. 모터를 배치하고 클램프합니다.
      1. 메인 풀리, 작은 풀리 또는 메인 풀리와 작은 풀리가 수평으로 정렬 될 때까지 위아래로 움직입니다. 필요한 경우 클램프를 움직입니다.
      2. 드라이브 벨트를 작은 메인 풀리 위에 놓습니다.
      3. 벨트가 꽉 조일 때까지 모터 어셈블리를 의자에서 밀어 냅니다.
      4. 모터 부착 막대의 볼트 8개를 조여서 모터를 모터 브래킷에 고정합니다.
      5. 클램프 볼트와 풀리 나사를 조이십시오.
  5. 풀리/벨트 시스템에 걸린 것이 없는지 방지하기 위해 덮개를 부착하십시오.
    1. 그림 5와 같이 아크릴 보호 덮개의 측면을 구부립니다.
      참고: 아크릴 벤더를 사용할 수 없는 경우 대안은 금속 시트와 시트 벤더를 사용하는 것입니다.
    2. 그림 5와 같이 의자의 샤프트 주위에 맞도록 섹션을 잘라냅니다.
    3. 작은 덮개 부착 브래킷의 구멍과 일치하도록 구멍을 뚫습니다.
    4. 작은 덮개 부착 볼트를 사용하여 덮개를 부착합니다.

2. 전기 시스템 설정 절차

  1. 온/오프 스위치와 비상 차단 스위치를 주전원에 연결합니다. 적절한 전압 및 전류 정격 케이블을 사용하여 IEC 커넥터(주 전원 케이블용 수 커넥터)를 비상 차단 및 켜기/끄기 스위치 에 직렬 로 연결합니다(둘 중 하나로 회로를 분리하면 나머지 구성 요소에 대한 전원이 차단됨).
    참고: 납땜이 필요할 수 있습니다.
  2. Arduino용 5V DC 전원 공급 장치를 켜기/끄기 스위치(옵션)에 연결합니다.
    주: 납땜 및 주 정격 케이블이 필요합니다.
  3. 의자 구동기의 48V DC 전원 공급 장치를 5V 전원 공급 장치와 병렬로 켜기/끄기 스위치에 연결합니다.
    주: 주 정격 케이블이 필요합니다.
  4. 하이브리드 스테퍼 모터 드라이버에 대해 적절한 DIP 스위치 설정을 만듭니다. 예를 들어:
    1. 스테퍼 모터의 회전당 1,600개의 펄스에 대해 각각 1-4개의 스위치를 ON, OFF, ON으로 전환합니다(숫자가 높을수록 제어는 더 미세하지만 Arduino가 펄스를 생성할 수 있는 속도에 따라 회전 속도의 캡은 낮아집니다).
    2. 시계 반대 방향 기본 회전 방향에 대해 5를 OFF로 전환합니다.
    3. 공간 벡터 제어 모드(또는 필드 지향 제어, FOC)가 아닌 PM(드라이브 포인트 모션) 모드의 경우 6을 ON으로 전환합니다.
    4. 스위치 7 및 8을 OFF 및 OFF로 설정하여 컨트롤러를 86 시리즈 12 NM 폐쇄 루프 모터와 일치시킵니다.
  5. 하이브리드 스테퍼 모터 드라이버를 전원 공급 장치 및 의자 드라이버 케이블에 연결합니다.
    1. 48V 전원 공급 장치 출력 단자의 적절한 정격 케이블을 모터 드라이버 전원 입력 커넥터 하우징에 연결하고 하우징을 삽입합니다.
    2. 커넥터 하우징을 통해 두 개의 모터 케이블을 드라이버에 연결합니다.
  6. Arduino를 하이브리드 스테퍼 모터 드라이버에 연결하십시오.
    1. 고정된 점프 와이어를 사용하여 모터 드라이버 커넥터 하우징의 PUL+("펄스" +), DIR+("방향" +) 및 ENA+("활성화" +) 단자를 Arduino의 핀 2, 3 및 5(핀 번호는 선택 사항이지만 여기서는 전체적으로 사용할 예제로 명시됨)에 연결합니다.
    2. 짧은 와이어를 사용하여 모터 드라이버 커넥터 하우징의 PUL-, DIR 및 ENA- 단자를 연결하고 더 긴 핀 점프 와이어를 사용하여 ENA-를 Arduino의 GND(접지) 핀에 연결합니다.
    3. 커넥터 하우징을 모터 드라이버에 삽입합니다.
  7. Arduino를 5V DC 전원 공급 장치에 연결합니다(옵션). 고정된 점프 와이어를 사용하여 Arduino의 핀 GND 및 Vin을 5V 전원 공급 장치의 5V 출력 단자에 연결합니다.
  8. 전위차계를 아두이노에 연결합니다. 고정된 점프 와이어를 사용하여 A1("아날로그 입력" 단자) GND 및 Arduino의 5V 핀을 전위차계의 세 단자에 연결합니다.
    참고: 납땜이 필요합니다.
  9. 토글 스위치를 Arduino에 연결합니다. 고정된 점프 와이어를 사용하여 Arduino의 핀 6과 GND를 두 개의 토글 스위치 단자에 연결합니다.
    참고: 납땜이 필요합니다.
  10. LED를 아두이노에 연결합니다.
    1. 저항기를 LED의 한 단자에 납땜합니다(LED 회로의 전압을 떨어뜨리기 위해).
    2. 핀 7 및 GND를 Arduino의 저항기 끝과 핀 점프 와이어를 사용하여 다른 LED 단자에 부착하십시오.
      참고: 납땜이 필요합니다.
  11. 전기/전자 부품을 절연하고 수용합니다. 완성된 하우징 시스템의 이미지는 그림 6 을 참조하십시오.
    주: 전기 시스템의 고전압 구성 요소를 절연하고, 깨지기 쉬운 전자 부품을 손상으로부터 보호하며, 관리 가능한 공간에 이러한 모든 구성 요소를 포함하는 방법에는 여러 가지가 있습니다. 다음은 제안 된 방법 중 하나입니다.
    1. IEC 전원 커넥터, 메인 온/오프 스위치, 두 개의 모터 제어 케이블, 소형 토글 스위치, LED, 전위차계 및 Arduino의 USB 포트용 계측기 케이스 측면에 구멍을 뚫거나 자릅니다(냉각을 위해 공기가 케이스로 유입될 수 있도록 이 구멍을 크게 만듭니다).
    2. 적절한 수단(예: 나사, 볼트, 핫 글루 건)을 사용하여 이러한 각 구성 요소를 부착합니다.
    3. 환기 구멍 (48V 전원 공급 장치의 팬 위 하나)을 자르고 케이스 뚜껑의 비상 스위치를위한 구멍을 절단하십시오. 그런 다음 환기 필터와 스위치를 부착하십시오.
    4. 스페이서와 나사를 사용하여 Arduino를 케이스 바닥에 부착하십시오. USB 포트가 케이스의 USB 포트 구멍과 정렬되도록 배치합니다.
    5. 벨크로 및 폼 블록을 사용하여 48V 및 5V 전원 공급 장치와 모터 드라이버를 케이스 바닥에 연결합니다.

3. VR 설정 절차

  1. 제조업체의 지침에 따라 VR 시스템을 설정하십시오.

4. 소프트웨어 설정 절차

  1. Arduino 소프트웨어를 설치하고 설정합니다.
    1. 개발자의 지침에 따라 Arduino 프로그램을 다운로드하여 설치하십시오.
    2. USB 케이블을 사용하여 아두 이노를 컴퓨터에 연결하십시오.
    3. 도구 드롭다운 메뉴에서 Arduino 보드가 연결된 포트를 선택합니다.
    4. 동일한 메뉴에서 적절한 보드와 프로세서를 선택합니다. 위의 섹션 2에서 사용된 보드 및 프로세서(예: "Arduino Mega 2560" 보드 및 "ATmega2560" 프로세서)와 일치하는지 확인합니다.
  2. 아두 이노 보드를 프로그래밍하여 1) 전위차계를 사용하고 2) USB를 통해 컴퓨터의 명령을 통해 의자를 회전 할 수 있도록하십시오.
    1. Arduino 프로세서에 업로드할 코드를 작성합니다.
      참고: 예제 실험의 예제 코드는 보충 파일 1(파일 이름: hybrid_motor_controller.ino)에 포함되어 있습니다.
    2. 전송 속도(Serial.Begin() 명령에 대한 인수)를 기록해 둡니다(예: 9,600).
    3. 코드를 저장하고 업로드 버튼을 사용하여 Arduino 보드에 업로드 하십시오.
  3. 시스템이 지금까지 작동하는지 테스트합니다.
    1. 전기 서브시스템을 연결하고 켭니다.
    2. 작은 토글 스위치를 작은 LED 표시등이 켜지는 위치로 휙니다.
    3. 전위차계를 돌려 의자의 속도와 방향을 제어하는지 확인하십시오.
  4. 개발자의 지시에 따라 Steam 및 SteamVR을 설치하고 구성합니다.
  5. Unity를 설치하고 설정합니다.
    1. 개발자의 지침에 따라 Unity를 설치하고 구성합니다.
    2. 새 Unity 프로젝트 또는 기존 Unity 프로젝트를 엽니다(예: 애플리케이션에 적합한 유형(예: "3D" 선택).
    3. 프로젝트에 사용할 SteamVR을 설정합니다.
      1. 자산 저장소를 엽니 다 ( 창 | 클릭 자산 저장소).
      2. SteamVR을 검색하고 SteamVR 플러그인을 선택하십시오.
      3. 자산에 추가를 클릭합니다.
      4. Unity에서 패키지 관리자를 엽니 다 ( 창 클릭 | 패키지 관리자).
      5. 내 자산 탭에서 SteamVR을 찾습니다.
      6. 가져오기를 클릭하고 프롬프트에 따라 가져오기를 완료합니다.
      7. 구성을 변경하라는 메시지가 표시되면 모두 수락 을 클릭합니다.
      8. Steam VR 카메라 리그를 장면으로 가져옵니다. 인스펙터 화면의 프로젝트 창에서 Steam VR 이라는 새로운 에셋을 찾으십시오. 프리팹| 스팀 VR을 엽니다.
      9. [Camera Rig] 자산을 계층 구조 또는 장면 창으로 드래그하여 게임에서 VR 헤드셋과 컨트롤러를 사용할 수 있도록 합니다.
      10. 계층 구조 또는 장면에서 기본 메인 카메라를 제거하면 SteamVR 카메라를 방해합니다.
  6. Ardity를 설치하고 설정합니다.
    1. Unity 에셋 스토어에서 Ardity를 검색하여 다운로드할 대상을 선택합니다(위의 4.5.3.2단계).
    2. API 호환성 수준을 업데이트합니다.
      1. 편집 메뉴에서 프로젝트 설정을 엽니다.
      2. 플레이어 |를 클릭하십시오. 다른 설정.
      3. API 호환성 수준에 대한 드롭다운 메뉴에서 .NET 4.X를 선택합니다.
      4. 설정을 종료하고 오류 메시지가 사라질 때까지 기다립니다.
  7. Unity 게임 환경을 설정합니다.
    참고: 사용자가 의자를 제어하고 의자 모션을 VR 경험과 통합하려면 다음 최소 단계가 필요합니다.
    1. 특정 응용 프로그램에 필요한 개체와 함수를 만듭니다.
      1. 게임 오브젝트를 클릭하고 2D 오브젝트 또는 3D 오브젝트를 선택하여 오브젝트를 생성합니다.
      2. 객체에 대한 검사기 창에서 구성 요소 추가 단추를 클릭하고 옵션 중 하나를 선택하여 생성된 객체에 기능을 추가합니다. 새 스크립트를 선택하여 보충 파일 3(파일 이름: SetUpTrial.cs)의 스크립트와 유사한 C# 스크립트를 만듭니다.
    2. 시리얼 컨트롤러 스크립트를 게임으로 가져옵니다.
      1. 프로젝트 창의 자산 폴더에서 Ardity 폴더를 열| 스크립트 폴더.
      2. SerialController 스크립트를 상속 창의 원하는 게임 오브젝트(예: 배경 게임 오브젝트)로 드래그하십시오.
      3. 개체를 클릭하고 검사 기 창에서 구성 요소 목록을 아래로 스크롤하여 SerialController 스크립트를 찾습니다.
      4. 포트 이름과 전송 속도가 위의 4.1 및 4.2 단계에서 설정 한 Arduino 프로그램의 포트 이름과 전송 속도와 일치하는지 확인하십시오.
      5. 계층 구조 창에서 SerialController 스크립트가 첨부된 개체를 검사기 창의 메시지 수신기 옆의 입력 상자로 끕니다.
    3. 의자 컨트롤러 스크립트를 작성하고 게임으로 가져옵니다.
      1. 동일한 게임 오브젝트에 대한 인스펙터 창 하단에서 컴포넌트 추가를 클릭하고 새 스크립트를 선택합니다. 새 스크립트의 이름을 ChairController로 지정합니다.
      2. 컨트롤러 및 마우스 명령을 수행하는 데 필요한 코드를 작성하고 USB를 통해 Arduino로 보낼 숫자로 변환하십시오.
        참고: 필요한 코드의 최소 예제는 보충 파일 2(파일 이름: ChairController.cs)에 포함되어 있습니다.
      3. 스크립트를 저장합니다.
      4. 검사기 창의 빈 상자를 채웁니다. HMD 오브젝트를 계층 구조 창에서 인스펙터 창의 의자 컨트롤러 스크립트 아래의 헤드 옆의 입력 상자로 드래그하십시오. 마찬가지로 Controller(오른쪽) 개체를 옆의 상자로 끕니다.

5. 실험(또는 경험) 절차

  1. 입력 방법을 선택합니다.
    참고: 제공된 예제 ChairController 코드는 공용 정수 변수 inputType이 설정된 SetUpTrial 이라는 스크립트를 참조합니다(여기서 inputType 3은 VR 컨트롤러이고 inputType 4는 마우스임). 이 스크립트/변수 배열은 아래 단계에서 가정되었습니다.
  2. SetUpTrial 스크립트가 첨부된 게임 오브젝트(예: 배경)를 클릭합니다.
  3. 검사기 창에서 아래로 스크롤하여 SetUpTrial 스크립트 공개 변수를 찾습니다.
  4. VR 컨트롤러의 경우 inputType3으로, 마우스 제어의 경우 4로 설정합니다.
  5. Unity의 재생 버튼을 눌러 컨트롤러나 마우스가 제어하는 동작으로 VR 경험을 시작합니다.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

예제 실험의 목적은 물리적 회전의 추가(장면의 시각적 배경 동작과 일치하거나 일치하지 않음)가 해당 장면에서 움직이는 대상의 인식 방향에 영향을 미치는지 여부를 확인하는 것이었습니다. 일치 및 부조화 물리적 운동 사이의 차이는 배경 운동이 참여자의 시각 시스템이 배경 운동의 원인을 자기 운동(32,33)에 얼마나 쉽게 할당하는지에 따라 인식된 목표 방향에 영향을 미친다는 가설에 기초하여 예상되었다. 배경과 물리적 움직임이 일치한다면, 더 큰 인과 관계 감각이 예상되었고, 따라서 시각적 디스플레이에서 실제 방향으로부터 인식 된 목표 방향의 더 큰 편차가 예상되었습니다.

관찰자는 VR 컨트롤러를 사용하여 의자의 회전 속도와 방향을 제어했습니다. 컨트롤러가 HMD의 향하는 방향에서 왼쪽 또는 오른쪽으로 멀어질수록 회전 속도가 빨라집니다. 일치 조건에서, 항상 양의 수직 운동 성분을 갖는 표적 패턴이 수직의 오른쪽으로 표류하는 것처럼 보인다면, 관찰자는 컨트롤러를 왼쪽으로 이동시킬 것이다. 이로 인해 의자가 왼쪽으로(시계 반대 방향으로) 회전하고 관찰자의 HMD가 시계 반대 방향으로 회전하여 시각적 장면의 배경이 적절한 속도로 오른쪽으로 이동하게 되었습니다(마치 관찰자가 회전하고 있는 고정된 배경인 것처럼, 그림 7A). 이 오른쪽 배경 동작은 유도 된 모션 환상에 의해 예상대로 인식 된 목표 동작에 왼쪽 모션 구성 요소를 추가하여 타겟을 "격퇴"했습니다. 목표 방향은 컴퓨터에 의해 제어되었으며, 항상 위쪽으로 제어되었지만 작은 일정한 간격으로 현재 방향의 시계 방향 또는 시계 반대 방향으로 무작위로 밟습니다 (수직에서 시작하여 유클리드 공간의 위쪽 두 사분면에 걸쳐 무작위 걷기를 달성). 관찰자의 목표는 자신의 회전 속도와 방향을 조정하고, 따라서 배경의 속도와 방향을 조정하여 배경에 의해 유발 된 움직임이 목표물의 왼쪽 또는 오른쪽 움직임 구성 요소를 정확하게 취소하도록하는 것이 었습니다.

부조화 상태에서 왼쪽 컨트롤러 이동으로 인해 의자가 오른쪽으로(시계 방향으로) 회전하고 배경이 시계 방향 HMD 회전을 통해 오른쪽으로 이동하게 되었습니다(그림 7B). 따라서 좌측 컨트롤러 이동은 일치 조건에서와 마찬가지로 오른쪽 배경 운동을 일으켰지 만 의자는 일치 조건에서 수행 한 것과 반대 방향으로 움직였습니다. 예를 들어, 오른쪽 회전에는 오른쪽 배경 운동이 수반되었는데, 이는 고정된 배경에 대해 회전하는 관찰자와 일치하지 않습니다.

시각적 자극의 스크린샷은 그림 8에 나와 있습니다. 각각의 작은 원형 자극 요소의 패턴은 요소 자체가 움직이지 않고 동일한 물체 (목표 또는 배경)의 다른 패턴과 동일한 속도와 방향으로 움직였으며, 각 요소가 큰 기본 물체의 움직임을 볼 수있는 고정 된 창 인 것처럼 움직입니다. 이를 통해 대상과 배경이 디스플레이 영역에서 벗어나지 않고 움직임의 감각을 가질 수있었습니다. 디스플레이 영역은 가상 장면에서 관찰자로부터 8m 떨어진 곳에 설정된 평면이었으며 HMD에 상대적인 위치에 잠겨 있습니다. 대상 요소는 시각 각도 반경이 5°인 링 위에 놓여 있고, 배경 요소는 디스플레이 평면의 20° x 20° 영역에 무작위로 흩어져 있었습니다. 목표물의 속도는 6°/s로 유지되었고, 그 방향은 -10°에서 190°까지 다양했다(즉, 일반적으로 유클리드 공간의 상위 두 사분면에 남아있었다). 배경 방향은 항상 수평이었고, 속도는 관찰자의 머리가 시계 방향 또는 시계 반대 방향으로 얼마나 빨리 회전하는지에 따라 다양했습니다. 지속적으로 수집 된 데이터는 지속적인 정신 물리학 적 데이터를 분석하기 위해 실험실에서 이전에 개발 된 방법으로 분석되었습니다. 이 방법은 연속 추적 데이터(33)를 분석하기 위한 기존의 접근법의 확장이다.

일치 및 부조화 운동 조건하에서의 유도된 운동 효과의 강도는 Eq (1)에 β 파라미터의 값으로 표현되었다:

Equation 1(1)

여기서 p 는 인식된 목표 속도를 나타내는 벡터이고, t 는 실제 목표 속도를 나타내고, b 는 배경 속도를 나타낸다. β는 목표 운동에서 배경 속도를 뺀 정도를 제어하여 인식된 목표 속도를 생성합니다. 관찰자가 현실 세계에서 회전하고 있고, 표적이 그들의 시야 내에서 움직이고 있을 때, 배경 운동은 정지 세계(32)에 상대적인 목표 운동을 얻기 위해 목표 운동으로부터 완전히 뺄 필요가 있다. 따라서 β 값 1은 배경 운동의 원인을 자기 운동에 완전히 할당하는 시각 시스템에 도움이되며 낮은 값은 부분 할당을 나타냅니다. 두 조건에 대한 9명의 관찰자의 평균 β값을 도 9에 나타내었다.

한 명의 관찰자를 제외한 모든 관찰자의 경우, 평균 β 값은 의자가 시각적 자극과 일치하지 않게 움직이기 때문에 감소했습니다 (변화는 한 명의 관찰자에게만 유의했지만 t(4) = 13.6, p = 0.000). 데이터는 관찰자와 일치를 두 가지 요인으로 사용하여 양방향 ANOVA로 분석되었습니다. 두 인자 모두 관찰자 F(8, 32) = 2.857, p = 0.016 및 일치도 F(1, 32) = 8.236, p = 0.007로 유의하였고, 이는 관찰자 간의 유의한 차이와 자회전 방향의 유의한 효과를 나타낸다. 일치 조건에 대한 예측된 평균 β 값은 부조화 조건에 대해 1.03 및 0.87이었다. 이러한 결과는 위에 제시된 기대치와 일치합니다. 일치 조건에 대해 1에 가까운 β 값은 배경 동작을 자기 동작에 할당할 준비가 되었음을 나타냅니다. 부조화 상태에 대한 값이 현저히 낮다는 것은 그렇게 할 준비가 줄어들었음을 나타냅니다. 이것은 차례로 의자가 제공하는 운동 경험이 기대와 일치한다는 것을 나타냅니다. 의자는 관찰자에게 예상되는 방식으로 물리적 움직임의 감각을 부여하는 효과적인 수단을 제공했습니다.

Figure 1
그림 1: 전체 시스템의 사진입니다. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 2
그림 2: 의자 바닥에 모터를 부착하기 위한 클램프. (A) 전체 클램프 어셈블리. (B) 앵글 아이언과 나뭇잎이 결합 된 치수. (C) 잎 치수. (D) 각도 철 치수. 모든 치수(mm)입니다. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 3
그림 3: 모터를 클램프에 부착하기 위한 브래킷 . (A) 어셈블리. (B) mm 단위의 치수. 약어 : 직경 = 직경. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 4
그림 4: 모터 브래킷에 모터 부착. (A) 모터 부착 막대를 부착하는 방법. (B) 모터 부착 막대 치수 mm. (C) 커버 브래킷을 부착하는 방법. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 5
그림 5: 덮개 부착 . (A) 덮개 부착 과정. (B) 완성된 기계 시스템. (C) mm 단위의 덮개 치수. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 6
그림 6: 계측기 케이스의 모든 전기 및 전자 부품. 이 사진에서 아두 이노에 대한 5V 전원이 분리되어 있습니다. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 7
그림 7: 관찰자의 행동과 실험 중 결과 의자 및 장면 변화에 대한 개략적인 표현. (A) 일치 조건: 컨트롤러가 시계 반대 방향으로 이동하면 의자도 시계 반대 방향으로 움직이며 시각적 배경은 마치 사람이 회전하는 고정 장면인 것처럼 반대 방향으로 움직였습니다. (B) 부조화 조건 : 의자가 반대 방향으로 움직여서 의자의 움직임이 시각적 배경 운동과 일치하지 않는다는 점을 제외하고는 일치와 동일합니다. 다이어그램에서 관찰자는 시계 방향으로 회전하고 장면은 관찰자의 움직임에 대해 시계 방향으로 더 회전하므로 자연스러운 경험과 일치하지 않습니다. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 8
그림 8: 시각적 디스플레이의 모션 자극 포함 영역의 스크린샷입니다. 이 2D 이미지 평면은 VR 환경에서 시각적 장면의 35° x 35° 영역을 차지하는 관찰자로부터 8m 떨어진 곳에 배치되었습니다. 대상 링은 시각 각도가 5°인 반경을 가지며 배경 영역은 20° x 20°로 미묘했습니다. 약어 : VR = 가상 현실. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 9
그림 9: 일치 및 불일치 조건에서 각 관찰자에 대한 평균 베타 값. 한 명의 관찰자를 제외한 모든 관찰자의 경우, 부조화 의자/시각 동작 조건에 대해 베타 값이 감소하여 시각적 배경 모션을 관찰자의 물리적 움직임에 의해 야기된 것으로 볼 가능성이 감소했음을 나타냅니다. 2 방향 ANOVA는 베타 값의 그룹 변화가 중요하다는 것을 밝혀 냈습니다 (자세한 내용은 텍스트 참조). 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

보충 파일 1 : 예제 아두 이노 코드, hybrid_motor_controller.ino. 이 파일을 다운로드하려면 여기를 클릭하십시오.

보충 파일 2: Unity C# 스크립트 예제, ChairController.cs. 이 파일을 다운로드하려면 여기를 클릭하십시오.

보충 파일 3: Unity C# 스크립트 예제, SetUpTrial.cs. 이 파일을 다운로드하려면 여기를 클릭하십시오.

Subscription Required. Please recommend JoVE to your librarian.

Discussion

이 백서에서는 관찰자 또는 실험자의 제어하에 사무실 의자에 자동 회전을 추가하는 방법과 해당 동작을 가상 환경에 통합하는 방법을 제시합니다. 중요한 단계에는 의자에 모터를 기계적으로 부착하고, 모터의 전원 및 전기 제어를 설정 한 다음 모터 컨트롤러를 구동하도록 Arduino와 컴퓨터를 구성하는 것이 포함됩니다. 기계적 부착 단계에는 몇 가지 특수 장비와 기술이 필요하지만 가장 어려운 작업에 대한 해결 방법이 제안되었습니다. 하드웨어의 가용성에 따라 추가 수정이 요구될 수 있다.

고전압 전기 작업은 자격을 갖춘 개인이 완료해야하며 법으로 요구되는 경우 관련 기관의 인증을 받아야합니다. 저전압 작업은 경험이 부족한 사람이 수행 할 수 있습니다. 위의 내용은 동일한 장비를 사용하는 경우 재현을 허용할만큼 구체적인 지침이지만 다른 장비는 절차를 약간 수정해야합니다.

Arduino 코드는 여기에 제안 된 특정 전자 구성을 보완하기 위해 제공되었습니다. 제공된 Arduino 및 기타 소프트웨어 지침은 Arduino 버전 1.8.12, SteamVR 버전 1.18.7, Unity 버전 2020.2.7f1 및 Ardity 버전 1에서 작동합니다. 다른 소프트웨어 버전에서는 프로토콜을 수정해야 할 수 있습니다.

이 방법의 한 가지 한계는 각도 가속도를 댐핑해야한다는 것입니다. 이를 수행하는 방법은 Arduino 코드에 제공됩니다. 이는 하이브리드 서보가 놓친 모터 스텝에 대해 "따라잡기"를 시도하기 때문입니다 (마찰이나 관성으로 인해 모터가 지시 한대로 빠르게 가속되지 않는 경우), 오버 슈팅 및 회전 "튀기"로 이어질 수 있습니다. 컴퓨터에서 오는 가속 명령을 감쇠하는 것은이를 처리하는 방법입니다. 이것은 제공된 예제 코드에서 취한 접근 방식입니다. 브러시 또는 브러시리스 DC 모터를 사용하여 이 문제를 완화할 수 있지만 이러한 모터는 저속에서의 토크가 낮아 저속에서의 회전 제어가 매우 어렵습니다. 저자는 하이브리드 스테퍼 모터로 전환하기 전에 먼저 브러시리스 DC 모터를 시도했습니다.

여기에 제시된 접근 방식에 대한 대안이 존재합니다. 사전 제조된 회전 의자(30)와 다른 방향으로 움직이는 의자(31), 예를 들어, 작은 회전(34,35) 또는 회전36,37 운동을 하는 의자, 큰 다차원 운동을 수행하는 스트랩 인 의자 및 케이지까지 다양한 움직임을 만드는 의자(38,39,40)를 구입할 수 있다. . 이러한 시스템은 일반적으로 레크리에이션 응용 프로그램을 위해 제작되었지만 원칙적으로 실험 수행에 맞게 조정할 수 있지만 일부 상황에서는 실험자의 소프트웨어로 작동 할 수 있도록 시스템을 "잠금 해제"하는 것이 어려울 수 있습니다. 이러한 시스템은 또한 비용이 많이 드는 경향이 있습니다. 결국 저자가 자신의 시스템을 개발하도록 이끈 것은 비용이었습니다. 비교를 위해이 프로젝트에서 사무실 의자의 움직임을 자동화하는 데 사용 된 키트 비용은 약 AUD $ 540 (노트북, 사무실 의자 및 VR 시스템 비용은 포함되지 않음)이었습니다.

대표적인 결과 섹션에 제시된 데이터는 전동 의자에서 관찰자의 물리적 움직임이 시각적 장면에 대한 그들의 경험에 상당한 영향을 미칠 수 있음을 나타낸다. 특히, 스핀 방향(일치 대 부조화)은 그룹의 β 값을 구동하는 데 매우 중요한 요소였으며, 의자가 시각적 배경 모션과 일치하는 방향으로 회전할 때 평균 β 값이 1.03이고 의자가 부적절하게 회전할 때 β값(0.87)이 현저히 낮아졌습니다. 개인들 사이에서 효과의 강도에 차이가 있었다 (심지어 한 개인에서 반대 효과를 낳는다, 비록 중요하지 않지만). 그러나, 스핀 방향 전환에 의해 야기된 평균 변화는 ANOVA에 의해 밝혀진 바와 같이 매우 유의하였다(p=0.007). 의자의 효과에 대한 추가 지원은 일치 조건에있는 그룹의 평균 β 값이 1에 가깝다는 것입니다 (1과 크게 다르지 않음; p = 0.89, 쌍을 이룬 t- 테스트), 관찰자가 평균적으로 시각적 장면을 실제 세계에서 실제로 회전하는 것처럼 보았음을 나타냅니다. 고정 된 세계와 관련된 대상의 실제 움직임을 얻기 위해 대상 운동에서 배경의 움직임을 완전히 뺍니다.

여기에 제시된 방법에 대한 실험 응용 프로그램은 VR 매개 실험에 대한 관심이 높아짐에 따라 광범위합니다. 가상 환경에서 자동화된 회전 운동이 바람직한 곳이라면 어디든지 이 방법이 적용될 수 있습니다. 의자는 압력, 진동 및 관성 신호와 같은 전정 및 작은 운동 감각 회전 신호를 제공합니다. 이러한 단서를 제어하는 것은 자기 운동 감각의 메커니즘을 이해하고 전정 단서가 일반적으로 다른 감각 단서와 어떻게 통합되는지 이해하는 데 중요합니다. 예제 실험은 의자가 제공하는 물리적 단서가 시각적 단서와 결합하여 장면 해석, 즉 대상의 인식 된 방향을 생성한다는 것을 나타내며, 이는 단서가 일치하고 일치하지 않을 때 실제 경험과 일치합니다.

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

이해 상충은 없습니다.

Acknowledgments

이 연구는 호주 연구위원회 보조금 DP160104211, DP190103474 및 DP190103103에 의해 지원되었습니다.

Materials

Name Company Catalog Number Comments
48 V DC power supply (motor) Meanwell RSP-320-48 https://www.meanwellaustralia.com.au/products/rsp-320
5 V DC power supply (arduino) Jaycar MP3295 https://www.jaycar.com.au/15w-5v-3a-enclosed-power-supply/p/MP3295?pos=5&queryId=dda344422ab16c6
7f558551ac0acbd40
Ardity plugin for Unity Open Source https://ardity.dwilches.com/
Arduino MEGA 2560 Jaycar XC4420 https://www.jaycar.com.au/duinotech-mega-2560-r3-board-for-arduino/p/XC4420?pos=2&queryId=901771805f4bf6e0
ec31d41601d14dc3
Arduino software Arduino https://www.arduino.cc/en/software
Belt Motion Dynamics RFTB10010 Choose 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 Factory 161260 x 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 Factory 161258 x 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 Iron Austral Wright Metals 50004813 x 2. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
Clamp bolts The Fastner Factory 161265 x 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 Metals 50004687 x 8. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
Cover (acrylic) Bunnings Warehouse 1010489 https://www.bunnings.com.au/suntuf-900-x-600-x-5mm-grey-acrylic-sheet_p1010489
Cover bolts/nuts Bunnings Warehouse 247292 x 4. https://www.bunnings.com.au/pinnacle-m3-x-16mm-stainless-steel-hex-head-bolts-and-nuts-12-pack_p0247292
Cover brackets Bunnings Warehouse 44061 x 4. https://www.bunnings.com.au/zenith-20mm-zinc-plated-angle-bracket-16-pack_p0044061
Emergency shut-off switch Jaycar SP0786 https://www.jaycar.com.au/latching-emergency-stop-switch/p/SP0786?pos=1&queryId=5abe9876cf78dc3d
d26b9067fbc36f74
Hybrid stepper motor and driver Vevor ? 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 connector RS components 811-7213 https://au.rs-online.com/web/p/iec-connectors/8117213
Instrument case (housing) Jaycar HB6381 https://www.jaycar.com.au/abs-instrument-case-with-purge-valve-mpv2/p/HB6381
LED Jaycar ZD0205 https://www.jaycar.com.au/green-10mm-led-100mcd-round-diffused/p/ZD0205?pos=11&queryId=e596cbd3d71e86
37ab9340cee51175e7&sort=
relevance
Main pulley (chair) Motion Dynamics ALTP10020 Choose 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 Metals 50004687 x 4. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
Mounting brackets (stainless flat bar) Austral Wright Metals 50004687 x 2. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
Nuts The Fastner Factory 161989 x 12. https://www.thefastenerfactory.com.au/stainless-steel-hex-nylon-insert-lock-nut-m6-100pc
On/off switch Jaycar SK0982 https://www.jaycar.com.au/dpdt-illuminated-rocker-large-red/p/SK0982?pos=4&queryId=88e0c5abfa682b74
fa631c6d513abc73&sort=relevance
Potentiometer Jaycar RP8610 https://www.jaycar.com.au/10k-ohm-logarithmic-a-single-gang-9mm-potentiometer/p/RP8610?pos=4&queryId=0d1510281ba100d
174b8e3d7f806a020
Pulley screws The Fastner Factory 155856 x 5. https://www.thefastenerfactory.com.au/stainless-steel-hex-socket-head-cap-screw-m4-x-25mm-100pc
resistor 150 Ohm Jaycar RR2554 https://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 Dynamics ALTP10020 Choose 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 switch Jaycar ST0555 https://www.jaycar.com.au/sealed-mini-toggle-switch/p/ST0555?pos=14&queryId=066b989a151d83
31885c6cec92fba517&sort=
relevance
Steam software Valve Corporation https://store.steampowered.com/
SteamVR plugin for Steam Valve Corporation https://store.steampowered.com/app/250820/SteamVR/
Unity software Unity Technologies https://unity3d.com/get-unity/download
VR system Scorptec 99HANW007-00 HTC 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

DOWNLOAD MATERIALS LIST

References

  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).

Tags

동작 문제 182
가상 현실 환경에서 인간 관찰자의 제어 된 회전
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Falconbridge, M., Falconbridge, P.,More

Falconbridge, M., Falconbridge, P., Badcock, D. R. Controlled Rotation of Human Observers in a Virtual Reality Environment. J. Vis. Exp. (182), e63699, doi:10.3791/63699 (2022).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter