JoVE Logo

サインイン

このコンテンツを視聴するには、JoVE 購読が必要です。 サインイン又は無料トライアルを申し込む。

この記事について

  • 要約
  • 要約
  • 概要
  • プロトコル
  • 結果
  • ディスカッション
  • 開示事項
  • 謝辞
  • 資料
  • 参考文献
  • 転載および許可

要約

人間の観察者の制御された物理的回転は、特定の実験的、娯楽的、および教育的用途にとって望ましい。本稿では、オフィスの回転椅子をバーチャルリアリティ環境における物理的な回転を制御するための媒体に変換する方法を概説する。

要約

バーチャルリアリティ(VR)システムの低コストと可用性は、より自然主義的、多感覚的、没入型条件下での知覚と行動に関する研究の最近の加速を支えてきました。VRシステムの使用から特に恩恵を受けた研究分野の1つは、多感覚の統合、例えば、視覚と前庭の手がかりを統合して自己運動の感覚を生じさせることです。このため、仮想環境における観測者の制御された物理的回転のためのアクセス可能な方法は、有用な革新を表す。本稿では、オフィスの回転椅子の回転を自動化する方法と、その動きをVR体験に統合する方法を提示する。実験例を用いて、このようにして生成された物理的運動が、期待と一致する方法で観察者の視覚経験と統合されることが実証される。動きが視覚刺激と一致する場合は高積分、運動が不整合な場合は低積分。

概要

自然条件下では、多くの手がかりが組み合わさって、自己運動の感覚を生み出します1.このような感覚を生み出すことは、多くのレクリエーション、健康、教育VRアプリケーション2345の目標であり、手がかりがどのように組み合わさって自己運動の感覚を与えるかを理解することは、神経科学者の長期的な努力でした6,7,8,9,10,11 .自己運動知覚の手がかりの3つの最も重要なクラスは、視覚的、前庭的、および固有受容性1である。3つとも、現実世界での自然な活動的な動きの間に一致して結合し、堅牢で豊かな自己運動の感覚を提供します。手がかりの各クラスの役割を理解し、手がかりがどのように結合するかを理解するために、研究者は伝統的に実験観察者から1つ以上の手がかりを奪い、および/または手がかりを互いに矛盾させてきた1,12。例えば、固有受容性手がかりの非存在下で回転前庭合図を提供するために、観察者は、電動椅子13、14、1516によって受動的に回転させることができる。このような受動運動は、自己運動17に非常に説得力のある手がかりを提供することが示されている。VRヘッドセットによって提供される制御された視覚的合図は、椅子の動きと一致したり矛盾したり、まったく存在しない場合があります。固有受容性の手がかりは、観察者に自分の力で椅子を回転させることによって、例えば、椅子を足で押し回すことによって追加することができる。

ここでは、オフィスの回転椅子を、観察者の身体を物理的に回転させるための媒体に変換し、その動きを視覚的(および潜在的に聴覚的)な仮想体験に統合する方法を紹介します。椅子の回転は、観察者、コンピュータプログラム、または実験者などの別の人の制御下に置くことができる。オブザーバー制御の回転は、モーター駆動の回転をオブザーバーのハンドヘルドコントローラの位置の関数にすることによって受動的にすることも、椅子をオフにしてオブザーバーが椅子自体を回転させることによってアクティブにすることもできます。

また、この椅子/ VRシステムのための心理物理学的なアプリケーションも提示されます。このサンプル アプリケーションでは、観測者の制御されたパッシブ回転が、自己運動の手がかりがどのように相互作用して全体的な知覚エクスペリエンスを生成するかを理解する上での有用性を強調しています。具体的な目標は、長い間研究されてきた錯視誘発運動についての洞察を得ることでした18,19。誘導運動では、静止または移動するターゲットは、移動する背景から知覚的に「反発」されます。例えば、赤色のターゲットドットが、右に移動する青色のドットのフィールドに対して垂直に上方に移動する場合、ターゲットドットは、予想通り上方に移動するように見えるが、移動する背景2021の方向から離れて左にも移動するように見える。その目的は、反発が背景運動を自己運動2223によって引き起こされたと解釈した結果であるかどうかを検定することであった。

この場合、背景の視覚運動と一致する物理的な回転を追加すると、背景の動きが静止した環境を介した自己回転によるものであるというより強い感覚が得られるはずです。これは、次に、静止世界23に対する標的運動を得るために、目標運動から背景運動を減算するより大きな傾向につながるはずである。この減算傾向の増加は、より大きな知覚された標的反発をもたらすであろう。これをテストするために、背景モーションと一致するか、または矛盾する物理的な自己回転が追加されました。ここで提示されたシステムは、この仮説を検証するために、物理的運動および対応する視覚運動の正確な制御を可能にした。この例では、椅子の動きは、VRシステムのハンドヘルドコントローラを使用して観察者を直接制御していました。

文献24,25,26,27,28,29には、さまざまなVRアプリケーション用の電動回転椅子の多くの例がありますが、著者らは、そのような椅子を作り、インタラクティブなVR体験に統合するための簡潔な一連の指示を知らない。SwiVRChair29は、構造的にはここに示すものと似ていますが、異なる目的を念頭に置いて設計されており、VR環境での没入感を向上させるためにコンピュータプログラムによって駆動されるように設計されており、椅子の動きは地面に足を置くことによってユーザーがオーバーライドすることができます。市販の椅子30,31の費用を考えると、1つの「社内」を作ることは、一部の研究者にとってより実行可能な選択肢かもしれません。このような状況にある人にとっては、以下のプロトコルが役に立つはずです。

システム概要
このプロトコルは、オフィスチェアを電気駆動の回転チェアに変換し、チェアの動きをVR体験に統合するための指示で構成されています。システム全体が完成すると、機械、電気、ソフトウェア、VR サブシステムの 4 つの部分で構成されます。システム全体の写真を 図1に示します。示されたシステムは、実験例で使用したシステムであった。

機械サブシステムの仕事は、モーターを介して回転椅子の上部シャフトを物理的に回転させることです。これは、オフィスチェアの上部回転軸に固定されたプーリーと、シャフトの下部固定部分に取り付けられた調整可能な取り付けフレームの2つのものが取り付けられたオフィスチェアで構成されています。マウントには電動ステッピングモーターが取り付けられており、そのシャフトにはプーリーが取り付けられており、オフィスチェアの上部シャフトのプーリーと並んでいます。ベルトはモータープーリーを椅子プーリーに結合し、モーターが椅子を回転させることを可能にします。

電気サブシステムはモーターに電力を供給し、モーターの電子制御を可能にします。これは、モータドライバ、モータ用の電源、ドライバとコンピュータとを接続するためのArduinoボード、およびArduino用の電源(オプション)で構成されています。Arduinoボードは、プログラマブルマイクロプロセッサ、コントローラ、入出力ピン、および(一部のモデルでは)USBポート(ここで必須)を含む、電子製品の愛好家やプロメーカーの間で人気のある小型ボードです。すべての電気部品は、カスタム修正された電気的に絶縁されたボックスに収容されています。モータに電力を供給するトランスと(オプションの)Arduino電源には主電源が必要であり、モータは高い動作電圧を必要とするため、低電圧の電子作業(以下のプロトコルステップ2.5〜2.10)を除くすべての作業は、資格のある個人が実行する必要があります。

ソフトウェアサブシステムは、ArduinoをプログラミングするためのArduinoソフトウェア、VR環境を作成するためのUnityソフトウェア、VRシステムを駆動するためのSteamソフトウェア、およびUnityがArduinoボードと通信できるようにするUnityプラグインであるArdityで構成されています。このソフトウェアは、実験例のためにMicrosoft Windows 10 Enterpriseを実行しているGygabyte Sabre 15WV8ラップトップにインストールされました(図1)。

VRシステムは、ヘッドマウントディスプレイ(HMD)、ハンドヘルドコントローラ、および空間におけるHMDとコントローラの位置と向きを決定するための基地局で構成されています。このプロジェクトで使用したVRシステムはHTC Vive Proでした(図1)。

以下に説明するのは、これらのコンポーネントを組み合わせて、ハンドヘルドコントローラを介して観察者によって制御される椅子の動き、またはコンピュータマウスまたはポテンショメータを介してホスト/実験者によって制御される椅子の動きと、物理的な回転(実験またはその他の方法)を組み込んだ仮想体験を達成するための手順である。プロトコルの最後の部分は、VR体験を開始するために必要な手順で構成されています。試行とデータ収集を可能にするために Unity をコーディングする方法は、この原稿の範囲外であることに注意してください。一部のステップ、特に機械サブシステムの場合、特定のワークショップ機器と一定レベルのスキルが必要です。原則として、提示された方法は、それらのリソースの利用可能性に合わせて調整することができる。より技術的なステップのいくつかについて、代替案が提供されています。

プロトコル

警告: 電気工事は資格のある人が行う必要があります。

1. 機械的なシステムセットアップ手順

  1. メインプーリーをスイベルチェアの上部シャフトに取り付けます。
    1. 上部シャフトを取り外します。
      メモ:これには通常、椅子を横に置き、椅子の基部にあるピンを取り外して、上部シャフトが下部シャフトから滑り落ちるのを防ぐことが含まれます。
    2. プーリーをシャフトに摩擦フィットさせます。
      1. バーニアノギスを使用してシャフトの直径を取得します。旋盤を使用してプーリー穴を穴を開け、シャフトの直径に合わせます。
      2. プーリーをシャフトに固定するネジ穴を作成します。プーリのハブに追加の穴を開けて合計4個にし、直径をネジの直径に合わせます。タップを使用して穴をねじ込み、ねじを使用してプーリーをシャフトに固定できるようにし、ねじをねじのねじに合わせます。
        メモ: ねじを作成できない場合の代替方法は、プーリーのハブと椅子のシャフトを最後までドリルで開け、プーリの正しい配置が決まったら(ステップ 1.4.6 以降)、ボルトを最後まで通すことです。
      3. プーリーを椅子のシャフトにスライドさせます。
      4. ネジをゆるく挿入します(メインプーリとスモールプーリが揃ったら締めます)。
    3. ドライブベルトを上部の椅子シャフトにゆるやかに置きます(後でメインプーリとスモールプーリにフィットするようにします)。
    4. 上部の椅子シャフトを椅子ベースに取り付け直します。
  2. モーターマウントを回転椅子の底部シャフトに取り付けます。
    1. モーター取り付けブラケットを取り付けることができる調整可能なクランプを製作します。
      1. クランプの 2 つの一致するコンポーネント (シャフトの両側に 1 つずつ) を製作します (4 本のボルトで一緒に絞る)。寸法については、 図 2 を参照してください。
      2. 各コンポーネントについて、90°の角度の鉄を長さにカットします。ボルトが通る4枚の葉を取り付けます。
      3. 安全のために各葉(金属棒)の端を丸めます。各バーの端近くに、ボルトが収まる大きさの穴を開けます。適切な位置で45°曲げます(曲がりをより正確にするためにバーにスコアを付けます)。各バーを外側の角度の鉄ボルト穴にスポット溶接します。
        注:代わりに、角度の鉄が椅子のシャフトに接触するのを妨げる突起を引き起こさないように注意して、葉を所定の位置にボルトで固定することもできます。
    2. 2つのモーター取り付けブラケットを製作する。寸法については、 図 3 を参照してください。ブラケットごとに、バーに 2 つの穴を開けて、先ほど説明したクランプに取り付けます。適切な位置で90°曲げます(曲がりをより正確にするためにバーにスコアを付けます)。
    3. クランプを取り付け、クランプコンポーネントとブラケットに4本のボルトを挿入して締め付けて、椅子の底部シャフトに取り付けます。ステップ 1.4.6 のアライメント・プロセスに対応するためにマウントを調整する必要がある場合は、ボルトがきつすぎないようにしてください。
  3. 小さなプーリーをモーターシャフトに取り付けます。
    1. モーターシャフトのキーを平らに研削します(突き出さなくなった)。
      メモ: これにより、プーリネジを締め付けて、モーターシャフトの周りのプーリの滑りを防ぐことができる平らな面が提供されます。
    2. モーターシャフトの直径に合わせてプーリに穴を開けます。
    3. プーリーをシャフトの上にスライドさせ、シャフトの平らな面に対してネジをゆるやかに締め付けます。
  4. モーターを上記のモーターブラケットに取り付けます。
    1. 適切な位置に2つの穴を開けて、4つのモーター取り付けバーのそれぞれを準備します(穴はモーターの取り付け穴と整列する必要があります)。寸法については 、図 4 を参照してください。
    2. クリアランスが必要な場合は、2つのバーの上部からセクションを切り取り、モーターシャフトのプーリが自由に回転できるようにします(オプション)。
    3. 4 つの小さなカバー取り付けブラケットを 4 つの外側の穴の上に置きます。後でそれらを使用して、ベルトとプーリーの上に保護カバーを取り付けます。
    4. 8 本のナットとボルトをゆるやかに取り付け、上下のバーの間にスペースを確保して、取り付けブラケットのバーをスライドさせます。
    5. モーター取り付けバーをブラケットにスライドさせます (上部バーは取り付けブラケットバーの上、下側バーはそれぞれ下バーです)。
    6. モーターの位置決めとクランプを行います。
      1. メインプーリ、小プーリ、またはメインプーリとスモールプーリが水平に揃うまで上下に動かします。必要に応じてクランプを動かします。
      2. ドライブベルトを小型のメインプーリの上に置きます。
      3. ベルトがきつく締まるまで、モーターアセンブリを椅子からスライドさせて取り外します。
      4. モーター取り付けバーの 8 本のボルトを締めて、モーターをモーターブラケットに固定します。
      5. クランプボルトとプーリーネジを締めます。
  5. プーリー/ベルトシステムに何かが引っかからないようにカバーを取り付けてください。
    1. 図5に従って、アクリル製保護カバーの側面を曲げます。
      メモ:アクリルベンダーが利用できない場合は、金属シートとシートベンダーを使用することをお勧めします。
    2. 図5のように椅子のシャフトの周りに収まるセクションを切り取ります。
    3. 小さなカバー取り付けブラケットの穴に合うように穴を開けます。
    4. 小さなカバー取り付けボルトを使用して、カバーを取り付けます。

2. 電気システムのセットアップ手順

  1. オン/オフスイッチと緊急遮断スイッチを主電源に接続します。適切な電圧および電流定格ケーブルを使用して、IECコネクタ(主電源ケーブル用のオスコネクタ)を緊急シャットオフおよびオン/オフスイッチに 直列 に接続します(どちらかで回路を切断すると、残りのコンポーネントへの電力が遮断されます)。
    メモ: はんだ付けが必要な場合があります。
  2. Arduinoの5 V DC電源をオン/オフスイッチに接続します(オプション)。
    メモ:はんだ付けおよび主電源定格ケーブルが必要です。
  3. 椅子ドライバー用の 48 V DC 電源を 5 V 電源と並列にオン/オフ スイッチに接続します。
    メモ: 主電源定格ケーブルが必要です。
  4. ハイブリッドステッピングモータードライバーに適切なDIPスイッチ設定を行います。例えば:
    1. ステッピングモータの1回転あたり1,600パルスに対して、スイッチをそれぞれ1~4にON、OFF、ON、ONに設定します(数値が大きいほど制御は細かくなりますが、Arduinoがパルスを生成する速度に応じて回転速度の上限が低くなります)。
    2. 反時計回りのデフォルトの回転方向に対して 5 を OFF に切り替えます。
    3. 空間ベクトル制御モード(またはフィールド指向制御、FOC)とは対照的に、ドライブポイントモーション(PM)モードの場合は、6をONに切り替えます。
    4. スイッチ 7 と 8 を OFF および OFF に設定して、コントローラを 86 シリーズ 12 NM 閉ループ モータに合わせます。
  5. ハイブリッドステッピングモータードライバーを電源ケーブルと椅子ドライバーケーブルに接続します。
    1. 48 V 電源装置出力端子からモーター・ドライバーの電源入力コネクター・ハウジングに適切な定格のケーブルを接続し、ハウジングを挿入します。
    2. 2 本のモーターケーブルをコネクタハウジングを介してドライバに接続します。
  6. Arduinoをハイブリッドステッピングモータードライバーに接続します。
    1. ピン留めされたジャンプワイヤを使用して、モータドライバコネクタハウジングのPUL+(「パルス」+)、DIR+(「方向」+)、およびENA+(「イネーブル」+)端子をArduinoのピン2、3、および5(ピン番号はオプションですが、ここでは全体で使用する例として説明しています)に接続します。
    2. 短いワイヤを使用してモータドライバコネクタハウジングのPUL-、DIR-、およびENA-端子を接続し、ENA-をArduinoのGND(グランド)ピンに接続するには、より長いピン留めジャンプワイヤを使用します。
    3. コネクタハウジングをモータードライバーに挿入します。
  7. Arduinoを5 V DC電源に接続します(オプション)。ピン留めされたジャンプワイヤを使用して、ArduinoのピンGNDとVinを5V電源の5V出力端子に接続します。
  8. ポテンショメータをArduinoに接続します。ピン留めされたジャンプワイヤを使用して、ArduinoのA1(「アナログ入力」端子)GNDと5Vピンをポテンショメータの3端子に接続します。
    メモ: はんだ付けが必要です。
  9. トグルスイッチをArduinoに接続します。Arduinoのピン6とGNDを、ピン留めされたジャンプワイヤを使用して2つのトグルスイッチ端子に接続します。
    メモ: はんだ付けが必要です。
  10. LEDをArduinoに接続します。
    1. 抵抗器をLEDの一方の端子にはんだ付けします(LED回路の電圧を降下させるため)。
    2. Arduinoのピン7とGNDを、ピン留めされたジャンプワイヤを使用して抵抗と他のLED端子の端に接続します。
      メモ: はんだ付けが必要です。
  11. 電気/電子部品を絶縁して収納する。完成した収容システムのイメージについては、 図6 を参照してください。
    メモ: 電気システムの高電圧コンポーネントを絶縁し、壊れやすい電子コンポーネントを損傷から保護し、これらすべてのコンポーネントを管理可能なスペースに収容するには、さまざまな方法があります。以下は1つの提案された方法です。
    1. IEC電源コネクタ、メインオン/オフスイッチ、2本のモータ制御ケーブル、小さなトグルスイッチ、LED、ポテンショメータ、ArduinoのUSBポート用の計器ケースの側面にドリル/カット穴を開けます(冷却のためにケースに空気が流れるように、これを大きくします)。
    2. これらの各コンポーネントは、適切な手段(ネジ、ボルト、ホットグルーガンなど)を使用して取り付けます。
    3. 通気孔(48V電源のファンの上の1つ)とケースの蓋の非常用スイッチ用の穴を切ります。次に、換気フィルターとスイッチを取り付けます。
    4. Arduinoをスペーサーとネジを使用してケースのベースに取り付けます。USBポートがケース内のUSBポートの穴に揃うように配置します。
    5. 48 V および 5 V 電源とモータードライバーを、ベルクロとフォームブロックを使用してケースのベースに取り付けます。

3. VRのセットアップ手順

  1. 製造元の指示に従ってVRシステムを設定します。

4. ソフトウェアのセットアップ手順

  1. Arduinoソフトウェアをインストールしてセットアップします。
    1. 開発者の指示に従ってArduinoプログラムをダウンロードしてインストールします。
    2. USBケーブルを使用してArduinoをコンピュータに接続します。
    3. [ツール]ドロップダウンメニューで、Arduinoボードが接続されているポートを選択します。
    4. 同じメニューで、適切なボードとプロセッサを選択します。上記のセクション2で使用したボードとプロセッサ(例:「Arduinoメガ2560」ボードと「ATmega2560」プロセッサ)と一致していることを確認します。
  2. Arduinoボードをプログラムして、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 プロジェクトを開きます (アプリケーションに適した「3D」などのタイプを選択します)。
    3. プロジェクトで使用する SteamVR を設定します。
      1. アセットストアを開きます( ウィンドウ|をクリックしますアセットストア)。
      2. SteamVR を検索し、[SteamVR プラグイン] を選択します。
      3. アセットに追加」をクリックします。
      4. Unity で、パッケージマネージャーを開きます (ウィンドウ|をクリックします。 パッケージマネージャ)。
      5. [マイアセット] タブで SteamVR を見つけます。
      6. 「インポート」をクリックし、プロンプトに従って インポート を完了します。
      7. 構成の変更を行うように求められた場合は、「 すべて受け入れる 」をクリックします。
      8. Steam VR カメラリグをシーンにインポートします。インスペクタ画面のプロジェクトウィンドウで Steam VR という新しいアセットを探します。 Steam VR |プレハブを開きます。
      9. [カメラリグ]アセットを階層またはシーンウィンドウにドラッグして、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 オブジェクトを「階層」ウィンドウから「インスペクター」ウィンドウの「椅子コントローラー」スクリプトの下にある「ヘッド」の横にある入力ボックスにドラッグします。同様に、コントローラー (右) オブジェクトを [手] の横にあるボックスにドラッグします。

5. 実験(または経験)の手順

  1. 入力方法を選択します。
    注: 提供されている ChairController コード例は、パブリック整数変数 inputType が設定されている SetUpTrial というスクリプトを参照しています (ここで、inputType 3 は VR コントローラー、inputType 4 はマウスです)。このスクリプト/変数の配置は、以下の手順で想定されています。
  2. SetUpTrial スクリプトがアタッチされているゲームオブジェクト (背景など) をクリックします。
  3. インスペクター」 ウィンドウで下にスクロールして、 SetUpTrial スクリプトのパブリック変数を見つけます。
  4. 入力タイプVR コントローラーの場合は 3マウス制御の場合は 4 に設定します。
  5. Unity の [再生 ] ボタンを押すと、コントローラーまたはマウスによって制御されるモーションで VR 体験が開始されます。

結果

この実験例の目的は、物理的な回転 (シーン内の視覚的背景の動きと一致するか一致しないか) の追加が、そのシーン内の移動するターゲットの知覚方向に影響を与えるかどうかを判断することでした。合同運動と不整合な物理的運動との間の差は、背景運動が、参加者の視覚系が背景運動の原因を自己運動にどれだけ容易に割り当てるかに従って、知覚された標的方向に影響を与えるという...

ディスカッション

本稿では、観察者や実験者の制御下でオフィスチェアに自動回転を追加する方法と、その動きを仮想体験に統合するための付随的な方法を提示する。重要なステップには、モーターを椅子に機械的に取り付け、モーターの電源と電気制御を設定し、モーターコントローラーを駆動するようにArduinoとコンピューターを構成することが含まれます。機械的な取り付けステップには、いくつかの特...

開示事項

利益相反はありません。

謝辞

この研究は、オーストラリア研究評議会の助成金DP160104211、DP190103474、およびDP190103103の支援を受けました。

資料

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

参考文献

  1. Campos, J., Bülthoff, H., Murray, M. M., Wallace, M. T. Multimodal integration during self-motion in virtual reality. The Neural Bases of Multisensory. , (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, 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. , (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, 825-833 (2011).
  11. Badcock, D., Palmisano, S., May, J. G., Hale, K. S., Stanney, K. M. Vision and virtual environments. Handbook of Virtual Environments: Design, Implementation, and Applications. , 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. , 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. , (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. , (2016).
  30. . Roto VR Chair Available from: https://www.rotovr.com/ (2021)
  31. . 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). , (2007).

転載および許可

このJoVE論文のテキスト又は図を再利用するための許可を申請します

許可を申請

さらに記事を探す

182

This article has been published

Video Coming Soon

JoVE Logo

個人情報保護方針

利用規約

一般データ保護規則

研究

教育

JoVEについて

Copyright © 2023 MyJoVE Corporation. All rights reserved