方法論記事

バーチャルリアリティ環境における人間の観察者の制御された回転

DOI:

10.3791/63699

2022年4月21日

この記事について

サマリー

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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

要約

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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

概要

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

自然条件下では、多くの手がかりが組み合わさって、自己運動の感覚を生み出します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 をコーディングする方法は、この原稿の範囲外であることに注意してください。一部のステップ、特に機械サブシステムの場合、特定のワークショップ機器と一定レベルのスキルが必要です。原則として、提示された方法は、それらのリソースの利用可能性に合わせて調整することができる。より技術的なステップのいくつかについて、代替案が提供されています。

アクセスが制限されています。このコンテンツを表示するにはログインするか、トライアルを開始してください。

プロトコル

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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

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 体験が開始されます。

アクセスが制限されています。このコンテンツを表示するにはログインするか、トライアルを開始してください。

結果

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

この実験例の目的は、物理的な回転 (シーン内の視覚的背景の動きと一致するか一致しないか) の追加が、そのシーン内の移動するターゲットの知覚方向に影響を与えるかどうかを判断することでした。合同運動と不整合な物理的運動との間の差は、背景運動が、参加者の視覚系が背景運動の原因を自己運動にどれだけ容易に割り当てるかに従って、知覚された標的方向に影響を与えるという仮説に基づいて予想された32,33。背景と物理的な動きが一致している場合、より大きな因果関係の感覚が期待され、したがって、視覚的表示における実際の方向から知覚されたターゲット方向のより大きな偏差が期待された。

観察者は、VRコントローラを使用して椅子の回転速度と方向を制御しました。コントローラがHMDの対向方向から左または右に離れるほど、回転速度は速くなります。合同条件では、常に正の垂直運動成分を持つターゲットパターンが垂直方向から右方向に漂っているように見える場合、観測者はコントローラを左に移動します。これにより、...

アクセスが制限されています。このコンテンツを表示するにはログインするか、トライアルを開始してください。

ディスカッション

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

本稿では、観察者や実験者の制御下でオフィスチェアに自動回転を追加する方法と、その動きを仮想体験に統合するための付随的な方法を提示する。重要なステップには、モーターを椅子に機械的に取り付け、モーターの電源と電気制御を設定し、モーターコントローラーを駆動するようにArduinoとコンピューターを構成することが含まれます。機械的な取り付けステップには、いくつかの特殊な機器とスキルが必要ですが、最も困難なタスクには回避策が提案されています。ハードウェアの可用性に応じて、さらなる変更が必要になる場合があります。

高圧電気工事は、資格のある個人によって完了し、法律で義務付けられている場合は、関連機関によって認定されるべきです。低電圧作業は、経験の限られた人が行うことができます。上記は、同じ機器を使用した場合に再現できる程度に具体的な説明書ですが、異なる機器では手順を少し変更する必要があります。

Arduinoコードは、ここで提案されている特定の電子構成を補完するために提供されています。Arduinoおよびその他のソフトウェアの説明書は、A...

アクセスが制限されています。このコンテンツを表示するにはログインするか、トライアルを開始してください。

開示事項

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

利益相反はありません。

謝辞

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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

アクセスが制限されています。このコンテンツを表示するにはログインするか、トライアルを開始してください。

材料

この記事で使用された材料の一覧
名前会社カタログ番号コメント
48 V DC電源(モーター)MeanwellRSP-320-48https://www.meanwellaustralia.com.au/products/rsp-320
5 V DC電源(arduino)JaycarMP3295https://www.jaycar.com.au/15w-5v-3a-enclosed-power-supply/p/MP3295?pos=5&queryId=dda344422ab16c6
7f558551ac0acbd40
Open Source用Ardityプラグインhttps://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ソフトウェアArduinohttps://www.arduino.cc/en/software
ベルトモーション ダイナミクスRFTB10010用途に合ったサイズをお選びください。60歯を使用しました。https://www.motiondynamics.com.au/polyurethane-timing-belts-16mm-t-10/
ブラケットボルト(保持モーター)ファスナー工場161260x 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
ブラケットボルト(保持モーターなし)ファスナー工場1612584倍。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
クランプ アングル アイアンオーストラル ライト メタル50004813x 2.
https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/ クランプ ボルトファスナー ファクトリー1612654倍。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  
クランプリーフ(ステンレスフラットバー)オーストラルライトメタルズ50004687×8.https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
カバー(アクリル)バニングスウェアハウス1010489https://www.bunnings.com.au/suntuf-900-x-600-x-5mm-grey-acrylic-sheet_p1010489
カバーボルト/ナットバニングスウェアハウス2472924倍。https://www.bunnings.com.au/pinnacle-m3-x-16mm-stainless-steel-hex-head-bolts-and-nuts-12-pack_p0247292
カバーブラケットBunnings Warehouse44061x 4. https://www.bunnings.com.au/zenith-20mm-zinc-plated-angle-bracket-16-pack_p0044061
緊急遮断スイッチJaycarSP0786https://www.jaycar.com.au/latching-emergency-stop-switch/p/SP0786?pos=1&queryId=5abe9876cf78dc3d
d26b9067fbc36f74
ハイブリッドステッピングモーターとドライバーVevor?閉ループステッピングモーターNema 34 12NMサーボモーターハイブリッドドライバー https://vevor.com.au/products/1712oz-in-nema34-closed-loop-stepper-motor-12nm-hybrid-servo-driver-hsc86-kit?variant=33058303311975
IEC主電源コネクタRSコンポーネント811-7213https://au.rs-online.com/web/p/iec-connectors/8117213
計器ケース(ハウジング)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=
関連性
メインプーリー (椅子)モーションダイナミクスALTP10020用途に適したサイズを選択してください。歯が多い=回転が遅い。36歯を使用しました。https://www.motiondynamics.com.au/timing-pulleys-t10-16mm.html
モーター取付棒(ステンレスフラットバー)オーストラルライトメタルズ50004687×4
https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/ 取付金具(ステンレスフラットバー)オーストラルライトメタルズ500046872倍です。https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
ナットファスナーファクトリー161989×12. https://www.thefastenerfactory.com.au/stainless-steel-hex-nylon-insert-lock-nut-m6-100pc
ON/OFFスイッチJaycarSK0982https://www.jaycar.com.au/dpdt-illuminated-rocker-large-red/p/SK0982?pos=4&queryId=88e0c5abfa682b74
FA631C6D513ABC73&sort=relevance
ポテンショメータJaycarRP8610https://www.jaycar.com.au/10k-ohm-logarithmic-a-single-gang-9mm-potentiometer/p/RP8610?pos=4&queryId=0d1510281ba100d
174b8e3d7f806a020
プーリーネジファスナー工場155856x 5. https://www.thefastenerfactory.com.au/stainless-steel-hex-socket-head-cap-screw-m4-x-25mm-100pc
抵抗 150ΩジェイカーRR2554https://www.jaycar.com.au/150-ohm-1-watt-carbon-film-resistors-pack-of-2/p/RR2554?pos=19&queryId=48c6317c73fd361
a42c835398d282c4a&sort=
関連性
小さなプーリー (モーター)モーションダイナミクスALTP10020用途に適したサイズを選択してください。歯が多い=回転が速い。24歯を使用しました。https://www.motiondynamics.com.au/timing-pulleys-t10-16mm.html
小型トグルスイッチJaycarST0555https://www.jaycar.com.au/sealed-mini-toggle-switch/p/ST0555?pos=14&queryId=066b989a151d83
31885c6cec92fba517&sort=
関連性
SteamソフトウェアValve Corporationhttps://store.steampowered.com/
Valve CorporationのSteamVRプラグイン
https://store.steampowered.com/app/250820/SteamVR/ Unity Technologieshttps://unity3d.com/get-unity/download
VRシステムScorptec99HANW007-00HTC Vive Proとコントローラーとベースステーション。https://www.scorptec.com.au/product/gaming-peripherals/vr/72064-99hanw007-00?gclid=Cj0KCQiA5OuNBhCRARIsA
CgaiqX8NjXZ9F6ilIpVmYEhhanm
GA67xLzllk5EmjuG0gnhu4xmiE
_RwSgaAhn8EALw_wcB
Unity Steam

参考文献

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  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).

アクセスが制限されています。このコンテンツを表示するにはログインするか、トライアルを開始してください。

再版と許可

このJoVE記事のテキストまたは図の再利用許可をリクエスト

許可をリクエスト

タグ

Virtual RealityControlled RotationMultisensory IntegrationVisual Vestibular CuesObserver MotionArduino ControlUnity IntegrationSteamVR PluginInduced MotionHead Mounted Display

関連記事