Waiting
Login processing...

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

Behavior

Sanal Gerçeklik Ortamında İnsan Gözlemcilerinin Kontrollü Rotasyonu

Published: April 21, 2022 doi: 10.3791/63699

Summary

Bir insan gözlemcisinin kontrollü fiziksel rotasyonu, belirli deneysel, rekreasyonel ve eğitim uygulamaları için arzu edilir. Bu makale, bir ofis döner sandalyesini sanal gerçeklik ortamında kontrollü fiziksel rotasyon için bir ortama dönüştürmek için bir yöntemi özetlemektedir.

Abstract

Sanal Gerçeklik (VR) sistemlerinin düşük maliyeti ve kullanılabilirliği, daha doğal, çok duyusal ve sürükleyici koşullar altında algı ve davranışa yönelik araştırmaların yakın zamanda hızlandırılmasını desteklemiştir. VR sistemlerinin kullanımından özellikle yararlanan bir araştırma alanı, çoklu duyusal entegrasyondur, örneğin, kendi kendine hareket duygusuna yol açmak için görsel ve vestibüler ipuçlarının entegrasyonu. Bu nedenle, bir gözlemcinin sanal ortamda kontrollü fiziksel rotasyonu için erişilebilir bir yöntem, yararlı bir yeniliği temsil eder. Bu makale, bir ofis döner sandalyesinin dönüşünü otomatikleştirmek için bir yöntem ve bu hareketi bir VR deneyimine entegre etmek için bir yöntem sunmaktadır. Örnek bir deney kullanılarak, bu şekilde üretilen fiziksel hareketin, bir gözlemcinin görsel deneyimi ile beklentilerle tutarlı bir şekilde bütünleştiği gösterilmiştir; hareket görsel uyaranla uyumlu olduğunda yüksek entegrasyon ve hareket uyumsuz olduğunda düşük entegrasyon.

Introduction

Birçok ipucu, kendi kendine hareket hissi üretmek için doğal koşullar altında birleşir1. Böyle bir duygu üretmek, birçok rekreasyonel, sağlık ve eğitim VR uygulamasındabir hedeftir 2,3,4,5 ve ipuçlarının kendi kendine hareket hissi vermek için nasıl birleştiğini anlamak, sinirbilimcilerin uzun vadeli bir çabası olmuştur 6,7,8,9,10,11 . Kendi kendine hareket algısı için en önemli üç ipucu sınıfı görsel, vestibüler ve propriyoseptif1'dir. Her üçü de gerçek dünyadaki doğal aktif hareket sırasında uyumlu bir şekilde birleşerek sağlam ve zengin bir kendi kendine hareket hissi sağlar. Her bir ipucu sınıfının rolünü anlamak ve ipuçlarının nasıl birleştiğini anlamak için, araştırmacılar geleneksel olarak deneysel gözlemcileri bir veya daha fazla ipucundan mahrum bırakmış ve / veya birbirleriyle çatışan ipuçları yerleştirmişlerdir 1,12. Örneğin, propriyoseptif ipuçlarının yokluğunda rotasyonel vestibüler ipuçları sağlamak için, bir gözlemci motorlu bir sandalye13,14,15,16 tarafından pasif olarak döndürülebilir. Bu tür pasif hareketin, kendi kendine hareket17'ye çok ikna edici ipuçları sağladığı gösterilmiştir. Bir VR gözlüğü tarafından sağlanan kontrollü görsel ipuçları, sandalye hareketiyle uyumlu veya uyumsuz olabilir veya tamamen mevcut olmayabilir. Propriyoseptif ipuçları, gözlemcinin sandalyeyi kendi gücü altında döndürmesini sağlayarak, örneğin sandalyeyi ayaklarıyla iterek eklenebilir.

Burada sunulan, bir ofis döner sandalyesini, bir gözlemcinin vücudunu fiziksel olarak döndürmek ve bu hareketi görsel (ve potansiyel olarak işitsel) bir sanal deneyime entegre etmek için bir ortama dönüştürmek için bir yöntemdir. Sandalyenin dönüşü gözlemcinin, bir bilgisayar programının veya deneyci gibi başka bir kişinin kontrolü altında olabilir. Gözlemci kontrollü rotasyon, motor tahrikli rotasyonu gözlemcinin el kumandasının konumunun bir fonksiyonu haline getirerek pasif olabilir veya sandalyeyi kapatıp gözlemcinin sandalyeyi kendisinin döndürmesini sağlayarak aktif olabilir.

Ayrıca bu sandalye / VR sistemi için psikofiziksel bir uygulama sunulmaktadır. Bu örnek uygulama, bir gözlemcinin kontrollü pasif rotasyonunun kendi kendine hareket ipuçlarının genel algısal deneyimler üretmek için nasıl etkileşime girdiğini anlamadaki yararlılığını vurgulamaktadır. Özel amaç, uzun süredir çalışılan görsel illüzyon kaynaklı hareket18,19 hakkında fikir edinmekti. İndüklenmiş harekette, sabit veya hareketli bir hedef, hareketli bir arka plandan algısal olarak "itilir". Örneğin, kırmızı bir hedef nokta sağa doğru hareket eden mavi noktalardan oluşan bir alana karşı dikey olarak yukarı doğru hareket ederse, hedef nokta beklendiği gibi yukarı doğru, aynı zamanda sola doğru, hareketli arka plan20,21 yönünden uzaklaşıyor gibi görünecektir. Amaç, itmenin arka plan hareketinin kendi kendine hareketten kaynaklandığı şeklinde yorumlanmasının bir sonucu olup olmadığını test etmekti22,23.

Bu durumda, arka plan görsel hareketi ile tutarlı fiziksel rotasyonun eklenmesi, arka plan hareketinin sabit bir ortamda kendi kendine dönmeden kaynaklandığına dair daha güçlü bir duyuma yol açmalıdır. Bu da, durağan dünya23'e göre hedef hareketi elde etmek için arka plan hareketini hedef hareketten çıkarma eğilimine yol açmalıdır. Bu artan çıkarma eğilimi, daha fazla algılanan hedef itme ile sonuçlanacaktır. Bunu test etmek için arka plan hareketiyle tutarlı veya tutarsız olan fiziksel kendi kendine dönüş eklendi. Burada sunulan sistem, bu hipotezi test etmek için fiziksel hareketin ve buna karşılık gelen görsel hareketin hassas kontrolüne izin verdi. Örnekte, sandalye hareketi, VR sisteminin el tipi kontrolörünü kullanarak gözlemcinin doğrudan kontrolü altındaydı.

Literatürde 24,25,26,27,28,29 literatüründe çeşitli VR uygulamaları için motorlu döner sandalyelerin birçok örneği olmasına rağmen, yazarlar böyle bir sandalye yapmak ve etkileşimli bir VR deneyimine entegre etmek için kısa bir talimat setinden habersizdir. SwiVRChair29 için, yapı olarak burada sunulana benzeyen ancak farklı bir amaç göz önünde bulundurularak tasarlanmış, yani sandalye hareketinin kullanıcı tarafından ayaklarını yere koyarak geçersiz kılınabileceği bir VR ortamına daldırmayı iyileştirmek için bir bilgisayar programı tarafından yönlendirilecek sınırlı talimatlar mevcuttur. Ticari olarak temin edilebilensandalyelerin 30,31 maliyeti göz önüne alındığında, bir "şirket içi" yapmak bazı araştırmacılar için daha uygun bir seçenek olabilir. Bu durumda olanlar için, aşağıdaki protokol kullanılmalıdır.

Sisteme genel bakış
Protokol, bir ofis sandalyesini elektrikle çalışan döner sandalyeye dönüştürmek ve sandalye hareketini bir VR deneyimine entegre etmek için talimatlardan oluşur. Tüm sistem, tamamlandığında, dört bölümden oluşur: mekanik, elektrik, yazılım ve VR alt sistemleri. Tüm sistemin bir fotoğrafı Şekil 1'de gösterilmiştir. Gösterilen sistem, örnek deneyde kullanılan sistemdi.

Mekanik alt sistemin görevi, döner bir sandalyenin üst milini bir motor aracılığıyla fiziksel olarak döndürmektir. İki şeyin bağlı olduğu bir ofis sandalyesinden oluşur: ofis koltuğunun üst dönen miline sabitlenmiş bir kasnak ve şaftın alt sabit kısmına tutturulmuş ayarlanabilir bir montaj çerçevesi. Montaja, ofis koltuğunun üst şaftındaki kasnakla aynı hizada olan şaftına bağlı bir kasnağa sahip bir elektrikli step motor takılıdır. Bir kayış, motor kasnağını sandalye kasnağına bağlayarak motorun sandalyeyi döndürmesine izin verir.

Elektrik alt sistemi motora güç sağlar ve motorun elektronik kontrolüne izin verir. Bir motor sürücüsü, motor için bir güç kaynağı, sürücüyü bir bilgisayarla arayüzlemek için bir Arduino kartı ve Arduino için bir güç kaynağından (isteğe bağlı) oluşur. Bir Arduino kartı, programlanabilir bir mikroişlemci, denetleyiciler, giriş ve çıkış pimleri ve (bazı modellerde) bir USB bağlantı noktası (burada gereklidir) içeren hobiler ve elektronik herhangi bir şeyin profesyonel üreticileri arasında popüler bir küçük karttır. Tüm elektrikli bileşenler, özel modifiye edilmiş elektrik yalıtımlı bir kutuya yerleştirilmiştir. Motora güç sağlayan transformatör ve (isteğe bağlı) Arduino güç kaynağı için şebeke gücü gerektiğinden ve motor yüksek çalışma voltajları gerektirdiğinden, düşük voltajlı elektronik çalışma hariç hepsi (aşağıdaki protokol adımları 2.5 ila 2.10) nitelikli bir kişi tarafından yapılmalıdır.

Yazılım alt sistemi, Arduino'yu programlamak için Arduino yazılımından, VR ortamını oluşturmak için Unity yazılımından, VR sistemini sürmek için Steam yazılımından ve Unity'nin Arduino kartıyla iletişim kurmasını sağlayan bir Unity eklentisi olan Ardity'den oluşur. Bu yazılım, örnek deney için Microsoft Windows 10 Enterprise çalıştıran bir Gygabyte Sabre 15WV8 dizüstü bilgisayara yüklenmiştir (Şekil 1).

VR sistemi, bir Başa Monte Ekran (HMD), bir el kontrolörü ve HMD ve kontrolörün uzaydaki konumunu ve yönünü belirlemek için baz istasyonlarından oluşur. Bu proje için kullanılan VR sistemi HTC Vive Pro idi (Şekil 1).

Aşağıda açıklanan, gözlemci tarafından elde tutulan kontrolör aracılığıyla veya ev sahibi / deneyci tarafından bir bilgisayar faresi veya potansiyometre aracılığıyla kontrol edilen sandalye hareketi ile fiziksel rotasyonu (deney veya başka türlü) içeren sanal bir deneyim elde etmek için bu bileşenleri birleştirme prosedürüdür. Protokolün son kısmı, VR deneyimini başlatmak için gerekli adımlardan oluşur. Unity'yi denemelere ve veri toplamaya izin verecek şekilde kodlama yönteminin bu makalenin kapsamı dışında olduğunu unutmayın. Bazı adımlar, özellikle mekanik alt sistem için, belirli atölye ekipmanı ve belirli bir beceri seviyesi gerektirir. Prensip olarak, sunulan yöntemler bu kaynakların kullanılabilirliğine uyacak şekilde ayarlanabilir. Daha teknik adımların bazıları için alternatifler sunulmaktadır.

Subscription Required. Please recommend JoVE to your librarian.

Protocol

UYARI: Elektrik işleri kalifiye bir kişi tarafından yapılmalıdır.

1. Mekanik sistem kurulum prosedürü

  1. Ana kasnağı döner sandalyenin üst miline takın.
    1. Üst şaftı çıkarın.
      NOT: Bu tipik olarak sandalyenin yan tarafına yerleştirilmesini ve sandalyenin tabanında, üst şaftın alt şafttan kaymasını önleyen bir pimin çıkarılmasını içerir.
    2. Kasnağı şafta sürtünme ile takın.
      1. Şaftın çapını elde etmek için Vernier kaliperleri kullanın. Kasnak deliğini şaftın çapına uyacak şekilde delmek için bir torna tezgahı kullanın.
      2. Kasnağı şafta sabitleyecek vidalar için dişli delikler oluşturun. Kasnağın göbeğinde, çapı vidalarınkiyle eşleştiren toplam 4 delik açmak için ek delikler açın. Kasnağı şafta sabitlemek için vidaların kullanılabilmesi için bir musluk kullanarak delikleri dişleyin, dişliyi vidalarınkiyle eşleştirin
        NOT: Bir diş oluşturmak mümkün değilse, bir ALTERNİYON, kasnağın göbeğinden ve sandalyenin şaftından sonuna kadar delmek ve kasnağın doğru yerleşimi belirlendikten sonra (adım 1.4.6'dan sonra) bir cıvatayı sonuna kadar çalıştırmaktır.
      3. Kasnağı sandalye miline kaydırın.
      4. Vidaları gevşek bir şekilde takın (ana ve küçük kasnaklar hizalandıktan sonra sıkın).
    3. Tahrik kayışını üst sandalye miline gevşek bir şekilde yerleştirin (daha sonra ana ve küçük kasnaklara takılmak için).
    4. Üst sandalye milini sandalye tabanına yeniden takın.
  2. Motor montajını döner sandalyenin alt miline takın.
    1. Motor montaj braketlerinin takılabileceği ayarlanabilir bir kelepçe imal edin.
      1. Kelepçenin eşleşen iki bileşenini imal edin – şaftın her iki tarafı için bir tane (dört cıvata ile birlikte sıkılacak). Boyutlar için Şekil 2'ye bakın.
      2. Her bileşen için, 90° açılı demiri uzunluğa kadar kesin. Cıvataların içinden geçeceği 4 yaprağı takın.
      3. Güvenlik için her yaprağın kenarlarını (metal çubuk) yuvarlayın. Her çubuğun sonuna yakın, cıvataların sığabileceği kadar büyük delikler açın. Uygun konumda 45°'lik bir viraj yapın (virajı daha hassas hale getirmek için çubuğu puanlayın). Her bir çubuğun dışa doğru açılı demir-cıvata deliklerine nokta kaynağı yapın.
        NOT: ALTERNATİF olarak, yapraklar yerinde cıvatalanabilir, açılı demirin sandalye miline temas etmesini önleyecek bir çıkıntıya neden olmamaya dikkat edin.
    2. İki motor montaj braketi imal edin. Boyutlar için Şekil 3'e bakın. Her braket için, az önce açıklanan kelepçeye tutturmak için çubukta iki delik açın. Uygun konumda 90° bükün (virajı daha hassas hale getirmek için çubuğu puanlayın).
    3. Kelepçeyi takın ve 4 cıvatayı kelepçe bileşenleri ve braketlerinden geçirerek ve sıkarak sandalyenin alt miline monte edin. Montajın adım 1.4.6'daki hizalama işlemine uyacak şekilde ayarlanması gerekiyorsa, cıvataların çok sıkı olmadığından emin olun.
  3. Küçük kasnağı motor miline takın.
    1. Motor milindeki anahtarı düz bir şekilde taşlayın (artık çıkıntı yapmayın).
      NOT: Bu, kasnağın motor milinin etrafında kaymasını önlemek için kasnak vidasının sıkılabileceği düz bir yüzey sağlayacaktır.
    2. Motor milinin çapına uyacak şekilde kasnaktaki deliği delin.
    3. Kasnağı şaftın üzerine kaydırın ve vidayı şaft üzerindeki düz yüzeye karşı gevşek bir şekilde sıkın.
  4. Motoru yukarıda açıklanan motor braketine takın.
    1. Uygun pozisyonlarda iki delik açarak 4 motor bağlantı çubuğunun her birini hazırlayın (deliklerin motordaki montaj delikleriyle aynı hizada olması gerekir). Boyutlar için Şekil 4'e bakın.
    2. Boşluk için gerekliyse, motor mili üzerindeki kasnağın serbestçe dönmesine izin vermek için iki çubuğun üstünden bir bölüm kesin (isteğe bağlı).
    3. Dört küçük kapak bağlantı braketini dört dış deliğin üzerine yerleştirin. Koruyucu kapağı kayış ve kasnakların üzerine takmak için daha sonra bunları kullanın.
    4. Sekiz somunu ve cıvatayı gevşek bir şekilde takın, montaj braketi çubuklarını aralarında kaydırmak için üst ve alt çubuklar arasında yer bırakın.
    5. Motor montaj çubuklarını braketin üzerine kaydırın - her biri montaj braketi çubuğunun üstündeki üst çubuk ve her biri aşağıdaki alt çubuk.
    6. Motoru konumlandırın ve kelepçeleyin.
      1. Ana kasnağı, küçük kasnağı veya ana ve küçük kasnaklar yatay olarak hizalanana kadar yukarı ve aşağı hareket ettirin. Gerekirse kelepçeyi hareket ettirin.
      2. Tahrik kayışını küçük ve ana kasnakların üzerine yerleştirin.
      3. Kayış sıkışana kadar motor tertibatını sandalyeden uzaklaştırın.
      4. Motoru motor braketine sabitlemek için motor bağlantı çubuklarındaki 8 cıvatayı sıkın.
      5. Kelepçe cıvatalarını ve kasnak vidalarını sıkın.
  5. Kasnak/kayış sistemine herhangi bir şeyin takılmasını önlemek için bir kapak takın.
    1. Akrilik koruyucu kapağın kenarlarını Şekil 5'e göre bükün.
      NOT: Bir ALTERNATİF, eğer bir akrilik bükücü mevcut değilse, bir metal sac ve sac bükücü kullanmaktır.
    2. Şekil 5'e göre sandalyenin şaftının etrafına sığacak bir bölüm kesin.
    3. Küçük kapak bağlantı braketlerindeki deliklere uyacak şekilde delikler açın.
    4. Kapağı takmak için küçük kapak bağlantı cıvatalarını kullanın.

2. Elektrik sistemi kurulum prosedürü

  1. Açma/kapama düğmesini ve acil kapatma anahtarını şebeke gücüne bağlayın. IEC bağlayıcıyı (şebeke güç kablosu için erkek konektör) acil kapatma ve açma/kapama anahtarına seri olarak bağlamak için uygun voltaj ve akım dereceli kablolar kullanın (böylece devreyi bunlardan biriyle kesmek diğer bileşenlerin gücünü kesecektir).
    NOT: Lehimleme gerekebilir.
  2. Arduino için 5 V DC güç kaynağını açma / kapama düğmesine bağlayın (isteğe bağlı).
    NOT: Lehimleme ve şebeke anma kablosu gereklidir.
  3. Sandalye sürücüsünün 48 V DC güç kaynağını, 5 V güç kaynağına paralel olarak açma/kapama düğmesine bağlayın.
    NOT: Şebeke anma kablosu gereklidir.
  4. Hibrit step motor sürücüsü için uygun DIP anahtarı ayarlarını yapın. Mesela:
    1. Step motor için devir başına 1.600 darbe için sırasıyla 1-4'ü AÇIK, KAPALI, AÇIK ve AÇIK olarak ayarlayın (sayı ne kadar yüksek olursa, kontrol o kadar ince olur, ancak Arduino'nun ne kadar hızlı darbe üretebileceğine bağlı olarak dönme hızındaki kapak o kadar düşük olur).
    2. Saat yönünün tersine varsayılan dönüş yönü için 5'i KAPALI konuma getirin.
    3. Uzay vektörü kontrol modunun (veya Alan Yönelimli Kontrol, FOC) aksine sürücü Noktası Hareketi (PM) modu için 6'yı AÇIK konuma getirin.
    4. Kontrol cihazını 86 serisi 12 NM kapalı çevrim motorla eşleştirmek için 7 ve 8 numaralı anahtarları KAPALI ve KAPALI olarak ayarlayın.
  5. Hibrit step motor sürücüsünü güç kaynağına ve sandalye sürücü kablolarına bağlayın.
    1. 48 V güç kaynağı çıkış terminallerinden motor sürücüsü güç giriş konektörü muhafazasına uygun şekilde derecelendirilmiş kablolar takın ve muhafazayı takın.
    2. İki motor kablosunu konektör yuvaları aracılığıyla sürücüye bağlayın.
  6. Arduino'yu Hybrid step motor sürücüsüne bağlayın.
    1. Motor sürücüsü konektör muhafazasındaki PUL + ("darbe" +), DIR + ("yön" +) ve ENA + ("etkinleştir" +) terminallerini Arduino'daki 2, 3 ve 5 numaralı pimlere (pim numaraları isteğe bağlıdır, ancak burada kullanılmak üzere örnek olarak belirtilmiştir) bağlamak için sabitlenmiş atlama telleri kullanın.
    2. Motor sürücüsü konektör muhafazasının PUL-, DIR- ve ENA terminallerini bağlamak için kısa kablolar ve ENA- 'yı Arduino'daki bir GND (topraklama) pimine bağlamak için daha uzun bir sabitlemeli atlama teli kullanın.
    3. Konnektör muhafazasını motor sürücüsüne takın.
  7. Arduino'yu 5 V DC güç kaynağına bağlayın (isteğe bağlı). Arduino'daki GND ve Vin pimlerini 5 V güç kaynağının 5 V çıkış terminallerine bağlamak için sabitlenmiş atlama tellerini kullanın.
  8. Potansiyometreyi Arduino'ya bağlayın. Arduino'daki A1 ("analog in" terminali) GND ve 5 V pimlerini potansiyometrenin üç terminaline bağlamak için sabitlenmiş atlama telleri kullanın.
    NOT: Lehimleme gereklidir.
  9. Geçiş anahtarını Arduino'ya bağlayın. Arduino'daki pin 6 ve GND'yi, sabitlenmiş atlama tellerini kullanarak iki geçiş anahtarı terminaline bağlayın.
    NOT: Lehimleme gereklidir.
  10. LED'i Arduino'ya bağlayın.
    1. Direnci LED'in bir terminaline lehimleyin (LED devresindeki voltajı düşürmek için).
    2. Arduino'daki 7 ve GND pimlerini direncin sonuna ve diğer LED terminaline sabitlenmiş atlama telleri kullanarak takın.
      NOT: Lehimleme gereklidir.
  11. Elektrikli/elektronik bileşenleri yalıtın ve barındırın. Tamamlanmış bir barındırılan sistemin görüntüsü için Şekil 6'ya bakın.
    NOT: Elektrik sisteminin yüksek voltajlı bileşenlerini yalıtmanın, kırılgan elektronik bileşenleri hasardan korumanın ve tüm bu bileşenleri yönetilebilir bir alanda tutmanın birçok yolu vardır. Aşağıda önerilen bir yöntem bulunmaktadır.
    1. IEC güç konektörü, ana açma / kapama anahtarı, iki motor kontrol kablosu, küçük geçiş anahtarı, LED, potansiyometre ve Arduino'nun USB bağlantı noktası için gösterge kasasının yan tarafında delikler açın / kesin (havanın soğutma için kasaya akmasına izin vermek için bunu büyük yapın).
    2. Bu bileşenlerin her birini uygun araçları kullanarak takın (örneğin, vidalar, cıvatalar, sıcak tutkal tabancası).
    3. Havalandırma deliklerini (48 V güç kaynağındaki fanın üstünde) ve kasanın kapağındaki acil durum anahtarı için bir delik açın; ardından havalandırma filtrelerini ve anahtarı takın.
    4. Arduino'yu ara parçalar ve vidalar kullanarak kasanın tabanına takın. USB bağlantı noktası, kasadaki USB bağlantı noktası deliğiyle aynı hizada olacak şekilde konumlandırın.
    5. 48 V ve 5 V güç kaynaklarını ve motor sürücüsünü Velcro ve köpük bloklar kullanarak kasanın tabanına takın.

3. VR kurulum prosedürü

  1. VR sistemini üreticinin talimatlarına göre kurun.

4. Yazılım kurulum prosedürü

  1. Arduino yazılımını kurun ve kurun.
    1. Arduino programını geliştiricinin talimatlarına göre indirin ve yükleyin.
    2. Arduino'yu bir USB kablosu kullanarak bilgisayara bağlayın.
    3. Araçlar açılır menüsü altında, Arduino kartının bağlı olduğu bağlantı noktasını seçin.
    4. Aynı menü altında, uygun kartı ve işlemciyi seçin. Yukarıdaki bölüm 2'de kullanılan kart ve işlemciyle eşleştiğinden emin olun, örneğin, "Arduino Mega 2560" kartı ve "ATmega2560" işlemci.
  2. Arduino kartını sandalyenin dönmesine izin verecek şekilde programlayın 1) potansiyometre aracılığıyla ve 2) USB üzerinden bilgisayardan gelen komutlarla.
    1. Arduino işlemciye yüklenecek kodu yazın.
      NOT: Örnek deneyden örnek kod, Ek Dosya 1'e (dosya adı: hybrid_motor_controller.ino) eklenir.
    2. Baud hızını (Serial.Begin() komutunun bağımsız değişkeni) not alın, örneğin, 9.600.
    3. Kodu kaydedin ve yükle düğmesini kullanarak Arduino panosuna yükleyin .
  3. Sistemin şu ana kadar çalışıp çalışmadığını test edin.
    1. Elektrik alt sistemini prize takın ve açın.
    2. Küçük geçiş düğmesini, küçük LED gösterge ışığının yandığı bir konuma getirin.
    3. Sandalyenin hızını ve yönünü kontrol ettiğinden emin olmak için potansiyometreyi çevirin.
  4. Steam ve SteamVR'ı geliştiricinin talimatlarına göre kurun ve yapılandırın.
  5. Unity'yi yükleyin ve kurun.
    1. Unity'yi geliştiricinin talimatlarına göre yükleyin ve yapılandırın.
    2. Yeni veya mevcut bir Unity projesi açın (örneğin, uygulama için uygun olan "3B" gibi bir tür seçin).
    3. Projede kullanılmak üzere SteamVR'ı kurun.
      1. Varlık deposunu açın ( Pencere | Varlık Mağazası).
      2. SteamVR'ı arayın ve SteamVR Eklentisi'ni seçin.
      3. Varlıklara Ekle'yi tıklayın.
      4. Unity'de, Paket Yöneticisi'ni açın ( Pencere | Paket Yöneticisi).
      5. SteamVR'ı Varlıklarım sekmesi altında bulun.
      6. İçe Aktar'ı tıklatın ve alma işlemini tamamlamak için istemleri izleyin.
      7. Yapılandırma değişiklikleri yapmanız istenirse Tümünü Kabul Et'i tıklatın.
      8. Steam VR Kamera Donanımını sahneye aktarın. Denetçi ekranındaki proje penceresinde Steam VR adında yeni bir Varlık arayın. Steam VR | prefabriklerini açın.
      9. VR gözlüğünün ve oyun kumandalarının kullanımına izin vermek için [Kamera Donanımı] varlığını hiyerarşiye veya sahne penceresine sürükleyin.
      10. Varsayılan Ana Kamerayı hiyerarşiden veya sahneden kaldırın, çünkü SteamVR kameraya müdahale edecektir.
  6. Ardity'yi kurun ve kurun.
    1. Unity Varlık Deposunda Ardity'yi arayın ve indirmek için seçin (yukarıdaki adım 4.5.3.2).
    2. API uyumluluk düzeyini güncelleştirin.
      1. Düzen menüsü altında Proje Ayarları'nı açın.
      2. Oyuncu |'na tıklayın Diğer Ayarlar.
      3. API Uyumluluk Düzeyi için açılır menüden .NET 4.X'i seçin.
      4. Ayarlar'dan çıkın ve hata mesajlarının kaybolmasını bekleyin.
  7. Unity oyun ortamını ayarlayın.
    NOT: Kullanıcının sandalyeyi kontrol edebilmesi ve sandalye hareketini VR deneyimiyle entegre etmesi için aşağıdaki minimum adımlar gerekli olacaktır.
    1. Belirli bir uygulama için gereken nesneleri ve işlevleri oluşturun.
      1. GameObject'e tıklayıp 2B Nesne veya 3B Nesne'yi seçerek nesneler oluşturun.
      2. Nesnenin Denetçi penceresindeki Bileşen Ekle düğmesini tıklatıp seçeneklerden birini belirleyerek oluşturulan nesneye işlevsellik ekleyin. Ek Dosya 3'tekine benzer bir C# komut dosyası oluşturmak için Yeni Komut Dosyası'nı seçin (dosya adı: SetUpTrial.cs).
    2. Seri Denetleyici komut dosyasını oyuna aktarın.
      1. Proje penceresindeki Varlıklar klasörünün altında, Ardity klasörünü açın | Komut dosyaları klasörü.
      2. SerialController komut dosyasını, Heirarchy penceresindeki istediğiniz oyun nesnesine, örneğin Arka Plan oyun nesnesine sürükleyin.
      3. Nesneye tıklayın ve SerialController komut dosyasını bulmak için Denetçi penceresindeki bileşenlerin listesini aşağı kaydırın.
      4. Bağlantı Noktası Adı ve Baud Hızının, yukarıdaki 4.1 ve 4.2 numaralı adımlarda ayarlanan Arduino programı için olanlarla eşleştiğinden emin olun.
      5. SerialController komut dosyasının eklendiği nesneyi hiyerarşi penceresinden Denetçi penceresindeki İleti Dinleyicisi'nin yanındaki giriş kutusuna sürükleyin.
    3. Sandalye denetleyicisi komut dosyasını yazın ve oyuna aktarın.
      1. Aynı oyun nesnesi için Denetçi penceresinin alt kısmında, Bileşen Ekle'ye tıklayın ve Yeni Komut Dosyası'nı seçin. Yeni komut dosyasını ChairController olarak adlandırın.
      2. Denetleyici ve fare komutlarını almak ve bunları USB üzerinden Arduino'ya gönderilecek sayılara dönüştürmek için gereken kodu yazın.
        NOT: Gerekli kodun en küçük bir örneği Ek Dosya 2'de (dosya adı: ChairController.cs) bulunmaktadır.
      3. Komut dosyasını kaydedin.
      4. Denetçi penceresindeki boş kutuları doldurun. HMD nesnesini Hiyerarşi penceresinden, Denetçi penceresindeki Sandalye Denetleyicisi komut dosyasının altındaki Head'in yanındaki giriş kutusuna sürükleyin. Benzer şekilde, Controller (sağda) nesnesini Hand'in yanındaki kutuya sürükleyin.

5. Deney (veya deneyim) prosedürü

  1. Giriş yöntemini seçin.
    NOT: Sağlanan örnek ChairController kodu, inputType ortak tamsayı değişkeninin ayarlandığı (inputType 3'ün VR denetleyicisi ve inputType 4'ün fare olduğu) SetUpTrial adlı bir komut dosyasını ifade eder. Bu komut dosyası/değişken düzenlemesi aşağıdaki adımlarda kabul edilmiştir.
  2. SetUpTrial komut dosyasının eklendiği oyun nesnesine tıklayın, örneğin Arka Plan.
  3. SetUpTrial komut dosyası ortak değişkenlerini bulmak için Denetçi penceresinde aşağı kaydırın.
  4. inputType'ı VR denetleyicisi için 3 veya fare kontrolü için 4 olarak ayarlayın.
  5. VR deneyimine kontrol cihazları veya fare tarafından kontrol edilen hareketle başlamak için Unity'deki Oynat düğmesine basın.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

Örnek deneyin amacı, fiziksel rotasyonun eklenmesinin - bir sahnedeki görsel arka plan hareketiyle uyumlu veya uyumsuz - o sahnedeki hareketli bir hedefin algılanan yönünü etkileyip etkilemediğini belirlemekti. Uyumlu ve uyumsuz fiziksel hareket arasındaki fark, arka plan hareketinin, bir katılımcının görsel sisteminin arka plan hareketinin nedenini kendi kendine harekete ne kadar kolay atadığına bağlı olarak algılanan hedef yönünü etkilediği hipotezine dayanarak bekleniyordu32,33. Arka plan ve fiziksel hareketler uyumlu olsaydı, daha büyük bir nedensel bağlantı duygusu ve böylece algılanan hedef yönün görsel görüntüdeki gerçek yönünden daha büyük bir sapması beklenirdi.

Bir gözlemci, bir VR denetleyicisi kullanarak sandalyenin dönüş hızını ve yönünü kontrol etti. Kontrol cihazı HMD'nin karşı karşıya olduğu yönden ne kadar sola veya sağa doğruysa, dönme hızı da o kadar yüksek olur. Uyumlu durumda, her zaman pozitif bir dikey hareket bileşenine sahip olan hedef model, dikeyin sağına doğru sürükleniyor gibi görünüyorsa, gözlemci denetleyiciyi sola hareket ettirir. Bu, sandalyenin sola (saat yönünün tersine) dönmesine ve gözlemci üzerindeki HMD'nin saat yönünün tersine dönmesine neden oldu, bu da görsel sahnedeki arka planın uygun hızda sağa doğru hareket etmesine neden oldu (gözlemcinin döndüğü sabit bir arka planmış gibi, Şekil 7A). Bu sağa doğru arka plan hareketi, hedefi "iterek", uyarılan hareket yanılsamasının beklediği gibi, algılanan hedef hareketine sola doğru bir hareket bileşeni ekledi. Hedef yön bilgisayar tarafından kontrol edildi, her zaman yukarı doğru, ancak küçük düzenli aralıklarla mevcut yönünün saat yönünde veya saat yönünün tersine rastgele adım attı (dikey olarak başlayarak ve Öklid uzayının üst iki çeyreğini kapsayan rastgele bir yürüyüş elde etti). Gözlemcinin amacı, kendi dönme hızlarını ve yönlerini ve dolayısıyla arka planın hızını ve yönünü ayarlamaktı, böylece arka planın neden olduğu indüklenen hareket, hedefteki herhangi bir sola veya sağa doğru hareket bileşenini tam olarak iptal etti.

Uyumsuz durumda, sola doğru kontrolör hareketi, sandalyenin sağa (saat yönünde) dönmesine ve arka planın saat yönünde HMD dönüşü yoluyla sağa doğru hareket etmesine neden oldu (Şekil 7B). Böylece, sola doğru denetleyici hareketi, uyumlu durumda olduğu gibi sağa doğru arka plan hareketine neden oldu, ancak sandalye, uyumlu durumda yaptığının tersi yönde hareket etti, yani arka planla uyumsuz bir şekilde hareket etti. Örneğin, sağa doğru dönüşe, sabit bir arka plana karşı dönen bir gözlemci ile tutarsız olan sağa doğru arka plan hareketi eşlik etti.

Görsel uyaranın ekran görüntüsü Şekil 8'de gösterilmiştir. Her küçük dairesel uyaran elemanın üzerindeki desenler, aynı nesnenin (hedef veya arka plan) diğer desenleriyle aynı hızda ve yönde, öğelerin kendileri hareket etmeden, sanki her bir öğe, büyük bir altta yatan nesnenin hareketinin görülebildiği sabit bir pencereymiş gibi hareket etti. Bu, hedef ve arka plan ekran alanından hareket etmeden bir hareket hissi sağladı. Görüntüleme alanı, sanal sahnedeki gözlemciden 8 m uzağa yerleştirilmiş ve HMD'ye göre pozisyonda kilitlenmiş bir uçaktı. Hedef elemanlar 5° görsel açı yarıçapına sahip bir halka üzerinde uzanıyordu ve arka plan elemanları ekran düzleminde 20° x 20°'lik bir alana rastgele dağılmıştı. Hedefin hızı 6 ° / s'de tutuldu ve yönü -10 ° ile 190 ° arasında değişiyordu (yani, genellikle Öklid uzayının ilk iki çeyreğinde kaldı). Arka plan yönü her zaman yataydı ve hız, gözlemcinin kafasının saat yönünde veya saat yönünün tersine ne kadar hızlı döndüğüne bağlı olarak değişiyordu. Sürekli toplanan veriler, sürekli psikofiziksel verilerin analizi için laboratuvarda daha önce geliştirilen bir yöntemle analiz edilmiştir. Bu yöntem, sürekli izleme verilerini analiz etmeye yönelik mevcut bir yaklaşımın uzantısıdır33.

Uyumlu ve uyumsuz hareket koşulları altında indüklenen hareket etkisinin gücü, Eq (1) cinsinden β parametresinin değeri ile temsil edildi:

Equation 1(1)

P, algılanan hedef hızı temsil eden bir vektör olduğunda, t gerçek hedef hızını temsil eder ve b, arka plan hızını temsil eder. β, algılanan hedef hızı üretmek için arka plan hızının hedef hareketten ne ölçüde çıkarıldığını kontrol eder. Bir gözlemci gerçek dünyada dönerken ve bir hedef kendi görüş alanı içinde hareket ederken, sabit dünya32'ye göre hedef hareketi elde etmek için arka plan hareketi hedef hareketten tamamen çıkarılmalıdır. Bu nedenle, 1'lik bir β değeri, arka plan hareketinin nedenini tamamen kendi kendine harekete atayan görsel sistemle elverişlidir ve daha düşük bir değer kısmi atamayı gösterir. İki koşul için dokuz gözlemcinin ortalama β değerleri Şekil 9'da gösterilmiştir.

Bir gözlemci hariç herkes için, sandalyenin görsel uyaranla uyumsuz bir şekilde hareket etmesi nedeniyle ortalama β değeri azalmıştır (değişiklik yalnızca bir gözlemci için anlamlı olmasına rağmen, t (4) = 13.6, p = 0.000). Veriler iki faktör olarak gözlemci ve uyum kullanılarak iki yönlü ANOVA ile analiz edilmiştir. Her iki faktör de gözlemci F (8, 32) = 2.857, p = 0.016 ve F (1, 32) = 8.236, p = 0.007 uyumu ile gözlemciler arasında anlamlı bir fark ve sandalye dönüş yönünün anlamlı bir etkisini gösteren anlamlı idi. Uyumlu koşul için öngörülen ortalama β değeri 1.03 ve uyumsuz durum için 0.87 idi. Bu sonuçlar yukarıda sunulan beklentilerle eşleşmektedir. Uyumlu koşul için 1'e yakın bir β değeri, arka plan hareketini kendi kendine harekete atamaya hazır olduğunu gösterir. Uyumsuz durum için önemli ölçüde daha düşük bir değer, bunu yapmaya hazır olma durumunun azaldığını gösterir. Bu da, sandalye tarafından sağlanan hareket deneyiminin beklentileri karşıladığını gösterir; sandalye, gözlemcilere beklenen şekilde fiziksel hareket hissi vermek için etkili bir araç sağladı.

Figure 1
Şekil 1: Tüm sistemin bir fotoğrafı. Bu şeklin daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.

Figure 2
Resim 2: Motoru sandalyenin tabanına takmak için kelepçe. (A) Tüm kelepçe tertibatı. (B) Açılı demir ve yaprakların birleşik boyutları. (C) Yaprak boyutları. (D) Açılı demir boyutları. Bu şeklin daha büyük bir versiyonunu görüntülemek için lütfen buraya tıklayın.

Figure 3
Resim 3: Motoru kelepçeye takmak için braket . (A) Montaj. (B) mm cinsinden boyutlar. Kısaltma: dia = çap. Bu şeklin daha büyük bir versiyonunu görüntülemek için lütfen buraya tıklayın.

Figure 4
Şekil 4: Motorun motor braketine tutturulması. (A) Motor bağlantı çubukları nasıl takılır? (B) Motor bağlantı çubuğu boyutları mm cinsinden (C) Kapak braketleri nasıl takılır. Bu şeklin daha büyük bir versiyonunu görüntülemek için lütfen buraya tıklayın.

Figure 5
Şekil 5: Kapağın takılması . (A) Kapak takma işlemi. (B) Tamamlanmış mekanik sistem. (C) Kapak boyutları mm cinsindendir. Bu şeklin daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.

Figure 6
Şekil 6: Cihaz kasasındaki tüm elektrikli ve elektronik bileşenler. Bu fotoğrafta Arduino'ya 5 V gücün bağlantısının kesildiğini unutmayın. Bu şeklin daha büyük bir versiyonunu görüntülemek için lütfen buraya tıklayın.

Figure 7
Şekil 7: Gözlemcinin eylemlerinin şematik bir temsili ve sonuçta ortaya çıkan sandalye ve sahne deney sırasında değişir. (A) Uyumlu durum: denetleyici saat yönünün tersine hareket ettirilirse, sandalye de saat yönünün tersine hareket etti ve görsel arka plan, kişinin döndüğü sabit bir sahneymiş gibi ters yönde hareket etti. (B) Uyumsuz durum: sandalyenin ters yönde hareket etmesi ve sandalye hareketini görsel arka plan hareketiyle uyumsuz hale getirmesi dışında, uyumlu olanla aynıdır. Diyagramda, gözlemci saat yönünde döner ve sahne, gözlemcinin hareketine göre saat yönünde daha da döner, bu da doğal deneyimle tutarsızdır. Bu şeklin daha büyük bir versiyonunu görüntülemek için lütfen buraya tıklayın.

Figure 8
Şekil 8: Görsel ekranın hareket uyarıcısı içeren alanının ekran görüntüsü. Bu 2D görüntü düzlemi, VR ortamında görsel sahnenin 35 ° x 35 ° alanını işgal eden gözlemciden 8 m uzağa yerleştirildi. Hedef halka 5° görüş açısına sahipti ve arka plan alanı 20° x 20° olarak değiştirildi. Kısaltma: VR = sanal gerçeklik. Bu şeklin daha büyük bir versiyonunu görüntülemek için lütfen buraya tıklayın.

Figure 9
Şekil 9: Uyumlu ve uyumsuz koşullarda her gözlemci için ortalama beta değerleri. Bir gözlemci hariç herkes için, uyumsuz sandalye / görsel hareket koşulu için beta değeri azaldı, bu da görsel arka plan hareketini gözlemcinin fiziksel hareketinden kaynaklandığı gibi görme olasılığının azaldığını gösteriyor. 2 yönlü bir ANOVA, beta değerindeki grup değişikliğinin önemli olduğunu ortaya koydu (ayrıntılar için metne bakın). Bu şeklin daha büyük bir versiyonunu görüntülemek için lütfen buraya tıklayın.

Ek Dosya 1: Örnek Arduino kodu, hybrid_motor_controller.ino. Bu Dosyayı indirmek için lütfen tıklayınız.

Ek Dosya 2: Örnek Unity C# betiği, ChairController.cs. Bu Dosyayı indirmek için lütfen tıklayınız.

Ek Dosya 3: Örnek Unity C# betiği, SetUpTrial.cs. Bu Dosyayı indirmek için lütfen tıklayınız.

Subscription Required. Please recommend JoVE to your librarian.

Discussion

Bu makale, bir gözlemcinin veya deneycinin kontrolü altındaki bir ofis koltuğuna otomatik rotasyon eklemek için bir yöntem ve bu hareketi sanal bir deneyime entegre etmek için eşlik eden bir yöntem sunmaktadır. Kritik adımlar arasında motorun sandalyeye mekanik olarak bağlanması, motorun gücünü ve elektrik kontrolünü ayarlamak, ardından Arduino ve bilgisayarı motor kontrolörünü çalıştırmak için yapılandırmak yer alır. Mekanik bağlantı adımı bazı özel ekipman ve beceriler gerektirir, ancak en zor görevler için geçici çözümler önerilmiştir. Donanımın kullanılabilirliğine bağlı olarak daha fazla değişiklik yapılması gerekebilir.

Yüksek gerilimli elektrik işi, nitelikli bir kişi tarafından tamamlanmalı ve yasaların gerektirdiği takdirde ilgili kurum tarafından sertifikalandırılmalıdır. Alçak gerilim işi, sınırlı deneyime sahip bir kişi tarafından yapılabilir. Yukarıda, aynı ekipman kullanılıyorsa üremeye izin verecek kadar spesifik talimatlar verilmiştir, ancak farklı ekipmanlar prosedürün küçük değişikliklerini gerektirecektir.

Arduino kodu, burada önerilen belirli elektronik yapılandırmayı tamamlamak için sağlanmıştır. Arduino ve sağlanan diğer yazılım talimatlarının Arduino sürüm 1.8.12, SteamVR sürüm 1.18.7, Unity sürüm 2020.2.7f1 ve Ardity sürüm 1 ile çalıştığını unutmayın. Diğer yazılım sürümleri protokolün değiştirilmesini gerektirebilir.

Yöntemin bir sınırlaması, açısal ivmenin sönümlenmesi gerektiğidir. Bunu yapmak için bir yöntem Arduino kodunda sağlanmıştır. Bunun nedeni, hibrit servonun kaçırılan motor adımlarını "yakalamaya" çalışmasıdır (sürtünme veya atalet motorun talimat verildiği kadar hızlı hızlanmasını önlerse), bu da aşırı atış ve dönme "sıçramasına" neden olabilir. Bilgisayardan gelen hızlandırma komutlarını sönümlemek, bununla başa çıkmanın bir yoludur; bu, sağlanan örnek kodda alınan yaklaşımdır. Bu sorunu hafifletmek için fırçalanmış veya fırçasız bir DC motor kullanılabilir, ancak bu motorlar düşük hızlarda düşük torka sahip olma eğilimindedir ve bu da düşük hızlarda dönüş kontrolünü çok zorlaştırır. Yazarlar ilk önce hibrit step motora geçmeden önce fırçasız bir DC motor denediler.

Burada sunulan yaklaşıma alternatifler mevcuttur. Önceden imal edilmiş döner sandalyeler 30 ve diğer yönlerde hareket eden sandalyeler 31, örneğin, küçük translasyonel 34,35 veya rotasyonel36,37 hareketler yapan sandalyeler, kayışlı sandalyelere ve büyük çok boyutlu hareketler gerçekleştiren kafeslere kadar 38,39,40 . Bu sistemler genellikle rekreasyonel uygulamalar için inşa edilmiştir, ancak prensip olarak, deneyler yapmak için uyarlanabilir, ancak bir deneycinin yazılımıyla çalışmasına izin vermek için sistemin "kilidini açmak" bazı durumlarda zor olabilir. Bu sistemler aynı zamanda pahalı olma eğilimindedir. Sonunda, yazarları kendi sistemlerini geliştirmeye yönlendiren masraftı. Karşılaştırma için, bu projede ofis koltuğunun hareketini otomatikleştirmek için kullanılan kitin maliyeti yaklaşık 540 AUD $ idi (dizüstü bilgisayar, ofis koltuğu ve VR sisteminin maliyeti dahil değildir).

Temsili sonuçlar bölümünde sunulan veriler, motorlu sandalyedeki bir gözlemcinin fiziksel hareketinin görsel sahne deneyimleri üzerinde önemli bir etkiye sahip olabileceğini göstermektedir. Spesifik olarak, spin yönü - uyumlu ve uyumsuz - grup için β değerlerini yönlendirmede oldukça önemli bir faktördü, sandalye görsel arka plan hareketiyle uyumlu bir yönde döndüğünde ortalama 1.03 β değeri ve sandalye uyumsuz bir şekilde döndüğünde önemli ölçüde daha düşük bir β değeri (0.87) üretti. Bireyler arasında etkinin gücünde farklılıklar vardı (önemsiz de olsa bir bireyde zıt etkiyi üretse bile). Bununla birlikte, spin yönünün değiştirilmesinin neden olduğu ortalama değişim, ANOVA tarafından ortaya konduğu gibi oldukça önemliydi (p = 0.007). Sandalyenin etkinliği için daha fazla destek, uyumlu durumda grup için ortalama β değerinin 1'e yakın olmasıdır (1'den önemli ölçüde farklı değildir; p = 0.89, eşleştirilmiş t-testi), gözlemcilerin ortalama olarak görsel sahneyi gerçek dünyada dönüyormuş gibi gördüklerini gösterir. Sabit dünyaya göre hedefin gerçek hareketini elde etmek için arka planın hareketini hedef hareketten tamamen çıkarmak.

Burada sunulan yöntem için deneysel uygulamalar, VR aracılı deneylere olan ilginin artması nedeniyle geniştir. Sanal bir ortamda otomatik dönme hareketinin istendiği her yerde, yöntem uygulanabilir. Sandalye, basınç, titreşim ve atalet ipuçları gibi vestibüler ve küçük kinestetik rotasyonel ipuçları sağlar. Bu tür ipuçlarını kontrol etmek, kendi kendine hareket duygusunun mekanizmalarını anlamada ve vestibüler ipuçlarının genellikle diğer duyusal ipuçlarıyla nasıl bütünleştiğini anlamada önemlidir. Örnek deney, sandalye tarafından sağlanan fiziksel ipuçlarının, bir sahne yorumu üretmek için görsel ipuçlarıyla birleştiğini, yani hedefin algılanan yönünün, ipuçlarının uyumlu ve tutarsız olduğu durumlarda gerçek dünya deneyimiyle tutarlı olduğunu göstermektedir.

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

Çıkar çatışması yoktur.

Acknowledgments

Bu çalışma, Avustralya Araştırma Konseyi'nin DP160104211, DP190103474 ve DP190103103 hibeleri tarafından desteklenmiştir.

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

Davranış Sayı 182
Sanal Gerçeklik Ortamında İnsan Gözlemcilerinin Kontrollü Rotasyonu
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