JoVE Logo

Sign In

A subscription to JoVE is required to view this content. Sign in or start your free trial.

In This Article

  • Summary
  • Abstract
  • Introduction
  • Protocol
  • תוצאות
  • Discussion
  • Disclosures
  • Acknowledgements
  • Materials
  • References
  • Reprints and Permissions

Summary

הסיבוב הפיזי המבוקר של צופה אנושי רצוי עבור יישומים ניסיוניים, פנאי וחינוכיים מסוימים. מאמר זה מתווה שיטה להמרת כיסא מסתובב במשרד למדיום לסיבוב פיזי מבוקר בסביבת מציאות מדומה.

Abstract

העלות והזמינות הנמוכות של מערכות מציאות מדומה (VR) תמכו בהאצת מחקר עדכני על תפיסה והתנהגות בתנאים נטורליסטיים, רב-חושיים וסוחפים יותר. תחום מחקר אחד שהפיק תועלת רבה במיוחד מהשימוש במערכות VR הוא אינטגרציה רב-חושית, למשל, שילוב של רמזים חזותיים ושיווי משקל כדי ליצור תחושה של תנועה עצמית. מסיבה זו, שיטה נגישה לסיבוב פיזי מבוקר של צופה בסביבה וירטואלית מייצגת חידוש שימושי. מאמר זה מציג שיטה לאוטומציה של הסיבוב של כיסא מסתובב במשרד יחד עם שיטה לשילוב תנועה זו בחוויית VR. באמצעות ניסוי לדוגמה, הוכח כי התנועה הפיזיקלית, שנוצרה כך, משולבת עם החוויה החזותית של צופה באופן התואם את הציפיות; אינטגרציה גבוהה כאשר התנועה תואמת את הגירוי החזותי ואת האינטגרציה הנמוכה כאשר התנועה אינה תואמת.

Introduction

רמזים רבים משתלבים בתנאים טבעיים כדי ליצור תחושה של תנועה עצמית1. הפקת חוש כזה היא מטרה ביישומי VR רביםשל פנאי, בריאות וחינוך 2,3,4,5, ופשוט להבין כיצד רמזים משתלבים כדי לתת תחושה של תנועה עצמית הייתה מאמץ ארוך טווח של מדעני מוח 6,7,8,9,10,11 . שלושת סוגי הרמזים החשובים ביותר לתפיסת תנועה עצמית הם חזותיים, שיווי משקל ופרופריוספטיבית1. כל השלושה משתלבים באופן עקבי במהלך תנועה פעילה טבעית בעולם האמיתי כדי לספק תחושה חזקה ועשירה של תנועה עצמית. כדי להבין את התפקיד של כל סוג של רמזים ולקבל תחושה של האופן שבו רמזים משתלבים, חוקרים שללו באופן מסורתי מצופים ניסיוניים רמז אחד או יותר ו/או הציבו רמזים בקונפליקט זה עם זה 1,12. לדוגמה, כדי לספק רמזים שיווי משקל סיבוביים בהיעדר רמזים פרופריוצפטיים, ניתן לסובב את הצופה באופן פסיבי על ידי כיסא ממונע 13,14,15,16. תנועה פסיבית כזו הוכחה כמספקת רמזים משכנעים מאוד לתנועה עצמית17. רמזים חזותיים מבוקרים המסופקים על ידי משקפי מציאות מדומה יכולים להיות תואמים או לא תואמים את תנועת הכיסא או נעדרים לחלוטין. ניתן להוסיף רמזים פרופריוספטיביים על ידי כך שהצופה יסובב את הכיסא בכוחות עצמו, למשל, על ידי דחיפת הכיסא עם הרגליים.

מוצגת כאן שיטה להמרת כיסא מסתובב משרדי למדיום לסיבוב פיזי של גוף הצופה ולשילוב תנועה זו בחוויה וירטואלית חזותית (ואולי שמיעתית). סיבוב הכיסא יכול להיות בשליטת הצופה, תוכנת מחשב, או אדם אחר כגון הנסיין. סיבוב הנשלט על ידי הצופה יכול להיות פסיבי על ידי הפיכת הסיבוב המונע על ידי המנוע לפונקציה של מיקום הבקר הידני של הצופה או אקטיבי על ידי כיבוי הכיסא והפיכת הצופה לצופה לסובב את הכיסא בעצמו.

כמו כן מוצג יישום פסיכופיזי עבור מערכת כיסא / VR זו. יישום לדוגמה זה מדגיש את התועלת של הסיבוב הפסיבי המבוקר של צופה בהבנת האופן שבו רמזים לתנועה עצמית מתקשרים כדי לייצר חוויות תפיסתיות כוללות. המטרה הספציפית הייתה לקבל תובנה לגבי אשליה חזותית שנחקרה זה מכבר – תנועה מושרית18,19. בתנועה מושרית, מטרה נייחת או נעה "נרתעת" מבחינה תפיסתית מרקע נע. לדוגמה, אם נקודת מטרה אדומה נעה אנכית כלפי מעלה כנגד שדה של נקודות כחולות הנעות ימינה, נקודת היעד תיראה כאילו היא נעה כלפי מעלה, כצפוי, אך גם שמאלה, הרחק מכיוון הרקע הנע20,21. המטרה הייתה לבחון אם הדחייה היא תוצאה של פירוש תנועת הרקע כנגרמת על ידי תנועה עצמית22,23.

אם זה המקרה, אז תוספת של סיבוב פיזי שעולה בקנה אחד עם התנועה החזותית ברקע צריכה להוביל לתחושה חזקה יותר שתנועת הרקע נובעת מסיבוב עצמי דרך סביבה נייחת. זה, בתורו, אמור להוביל לנטייה גדולה יותר להפחית את תנועת הרקע מתנועת המטרה כדי לקבל תנועת מטרה ביחס לעולם הנייח23. נטייה מוגברת זו להחסיר תגרום לדחיית מטרה נתפסת גדולה יותר. סיבוב עצמי פיזי שהיה תואם או לא עלה בקנה אחד עם תנועת הרקע נוסף כדי לבחון זאת. המערכת שהוצגה כאן אפשרה שליטה מדויקת בתנועה הפיזיקלית ובתנועה החזותית המתאימה כדי לבחון את ההשערה הזו. בדוגמה, תנועת הכיסא הייתה תחת שליטה ישירה של הצופה באמצעות הבקר הידני של מערכת ה-VR.

למרות שישנן דוגמאות רבות לכיסאות מסתובבים ממונעים ליישומי VR שונים בספרות 24,25,26,27,28,29, המחברים אינם מודעים לסט תמציתי של הוראות להכנת כיסא כזה ולשילובו בחוויית VR אינטראקטיבית. הוראות מוגבלות זמינות עבור SwiVRChair29, אשר דומה במבנה לזה שהוצג כאן אבל זה מתוכנן עם מטרה אחרת בראש, כלומר, להיות מונע על ידי תוכנית מחשב כדי לשפר את הטבילה בסביבת VR, שבו תנועת הכיסא יכולה להיות דרוס על ידי המשתמש על ידי הצבת הרגליים על הקרקע. בהתחשב בהוצאות של כיסאות זמינים מסחרית30,31, יצירת "פנימי" אחד עשויה להיות אפשרות מעשית יותר עבור חלק מהחוקרים. עבור אלה במצב זה, הפרוטוקול שלהלן צריך להיות שימושי.

סקירה כללית של המערכת
הפרוטוקול מורכב מהוראות להסבת כיסא משרדי לכיסא מסתובב המונע חשמלית ולשילוב תנועת הכיסא בחוויית VR. המערכת כולה, לאחר השלמתה, מורכבת מארבעה חלקים: תת-המערכות המכניות, החשמליות, התוכנה וה-VR. תמונה של המערכת השלמה מוצגת באיור 1. המערכת המוצגת הייתה זו ששימשה בניסוי לדוגמה.

תפקידה של תת-המערכת המכנית הוא לסובב פיזית את הפיר העליון של כיסא מסתובב באמצעות מנוע. הוא מורכב מכיסא משרדי שאליו מחוברים שני דברים: גלגלת קבועה לפיר המסתובב העליון של הכיסא המשרדי ומסגרת הרכבה מתכווננת המחוברת לחלק הקבוע התחתון של הפיר. מנוע חורג חשמלי מחובר לתושבת, אשר יש גלגלת מחוברת לפיר שלה כי קו עם הגלגלת על הפיר העליון של הכיסא המשרדי. חגורה מצמידה את הגלגלת המנועית לגלגלת הכיסא, ומאפשרת למנוע לסובב את הכיסא.

תת-המערכת החשמלית מספקת כוח למנוע ומאפשרת שליטה אלקטרונית במנוע. הוא מורכב מנהג מנוע, ספק כוח עבור המנוע, לוח Arduino עבור התממשקות הנהג עם מחשב, וספק כוח עבור Arduino (אופציונלי). לוח Arduino הוא לוח קטן פופולרי בקרב חובבים ויצרנים מקצועיים של כל דבר אלקטרוני, המכיל מיקרו מעבד ניתן לתכנות, בקרים, פיני קלט ופלט, ו (בדגמים מסוימים) יציאת USB (נדרש כאן). כל הרכיבים החשמליים שוכנים בקופסה מבודדת חשמלית מותאמת אישית. מכיוון שהספק החשמל נדרש עבור השנאי המספק כוח למנוע ועבור ספק הכוח הארדואינו (האופציונלי), וכיוון שהמנוע דורש מתחי הפעלה גבוהים, כל העבודה האלקטרונית מלבד המתח הנמוך (שלבי הפרוטוקול 2.5 עד 2.10 להלן) צריכה להתבצע על ידי אדם מוסמך.

תת-מערכת התוכנה מורכבת מתוכנת Arduino לתכנות הארדואינו, תוכנת Unity ליצירת סביבת VR, תוכנת Steam להנעת מערכת ה-VR, ו-Ardity – תוסף Unity המאפשר ליוניטי לתקשר עם לוח Arduino. תוכנה זו הותקנה על מחשב נייד Gygabyte Sabre 15WV8 שבו פועל Microsoft Windows 10 Enterprise עבור הניסוי לדוגמה (איור 1).

מערכת ה-VR מורכבת מתצוגה המותקנת על הראש (HMD), בקר ידני ותחנות בסיס לקביעת המיקום והכיוון של ה-HMD והבקר בחלל. מערכת ה-VR ששימשה לפרויקט זה הייתה HTC Vive Pro (איור 1).

להלן הנוהל לשילוב רכיבים אלה כדי להשיג חוויה וירטואלית המשלבת סיבוב פיזיקלי (ניסוי או אחר) עם תנועת הכיסא הנשלטת על ידי הצופה באמצעות הבקר המוחזק ביד או על ידי המארח/הנסיין באמצעות עכבר מחשב או פוטנציומטר. החלק האחרון של הפרוטוקול מורכב מהשלבים הדרושים כדי ליזום את חוויית ה- VR. שים לב שהשיטה לקידוד Unity כדי לאפשר ניסויים ואיסוף נתונים היא מעבר להיקף של כתב יד זה. שלבים מסוימים, במיוחד עבור תת-המערכת המכנית, דורשים ציוד סדנה מסוים ורמה מסוימת של מיומנות. באופן עקרוני, ניתן להתאים את השיטות המוצגות כך שיתאימו לזמינות של משאבים אלה. חלופות מוצעות עבור כמה מהשלבים הטכניים יותר.

Protocol

אזהרה: עבודות חשמל צריכות להתבצע על ידי אדם מוסמך.

1. הליך הגדרת מערכת מכנית

  1. חבר את הגלגלת הראשית למוט העליון של הכיסא המסתובב.
    1. הסר את הפיר העליון.
      הערה: בדרך כלל זה כרוך בהנחת הכיסא על צדו ובהסרת סיכה בבסיס הכיסא המונעת מהפיר העליון להחליק החוצה מהפיר התחתון.
    2. חיכוך- להתאים את הגלגלת לפיר.
      1. השתמש בקליפרים של ורנייה כדי להשיג את קוטר הפיר. השתמש במחרטה כדי לשאת את חור הגלגלת כדי להתאים לקוטר הפיר.
      2. צור חורים מושחלים עבור ברגים שיקבעו את הגלגלת לפיר. קודחים חורים נוספים במרכז הגלגלת כדי ליצור סך של 4, תוך התאמת הקוטר לזה של הברגים. השחל את החורים באמצעות הקשה כך שניתן יהיה להשתמש בברגים כדי לתקן את הגלגלת לפיר, ולהתאים את החוט לזה של הברגים
        הערה: חלופה אם יצירת חוט אינה אפשרית היא לקדוח את כל הדרך דרך רכזת הגלגלת ופיר הכיסא, ולהפעיל בורג לאורך כל הדרך לאחר שנקבע המיקום הנכון של הגלגלת (לאחר שלב 1.4.6).
      3. החליקו את הגלגלת על מוט הכיסא.
      4. הכנס את הברגים באופן רופף (הידוק לאחר שהגלגלות הראשיות והקטנות מיושרות).
    3. הניחו את חגורת ההנעה באופן רופף על מוט הכיסא העליון (כדי להתאים לגלגלות הראשיות והקטנות בהמשך).
    4. חברו מחדש את מוט הכיסא העליון לבסיס הכיסא.
  2. חבר את תושבת המנוע למוט התחתון של הכיסא המסתובב.
    1. צרו מהדק מתכוונן שאליו ניתן לחבר את סוגריים להרכבת המנוע.
      1. צרו את שני הרכיבים התואמים של המהדק – אחד לכל צד של הפיר (כדי להידחק יחד עם ארבעה ברגים). ראו איור 2 לממדים.
      2. עבור כל רכיב, יש לחתוך את הברזל בזווית של 90° לאורך. חברו את 4 העלים שדרכם יפעלו הברגים.
      3. עיגול הקצוות של כל עלה (מוט מתכת) לבטיחות. קדחו חורים ליד הקצה של כל מוט גדול מספיק כדי שהברגים יוכלו להיכנס דרכם. בצע כיפוף של 45° במיקום המתאים (תן ציון לפס כדי להפוך את העיקול למדויק יותר). ריתוך נקודתי של כל מוט לחורי הברזל-בורג הזוויתיים כלפי חוץ.
        הערה: לחלופין, העלים עשויים להיות מוברגים במקומם, תוך הקפדה שלא לגרום לבליטה שתמנע מברזל הזווית לגעת בפיר הכיסא.
    2. פברק שני סוגריים להרכבה מוטורית. ראו איור 3 לממדים. עבור כל סוגר, קדחו שני חורים בסרגל לצורך חיבור למהדק שתואר זה עתה. להתכופף 90° במיקום המתאים (להבקיע את המוט כדי להפוך את העיקול למדויק יותר).
    3. חברו את המהדק וההרכבה למוט התחתון של הכיסא על ידי הכנסת 4 הברגים דרך רכיבי המהדק וסוגריים והידוק. ודא שהברגים אינם הדוקים מדי אם יש צורך לכוונן את התושבת כך שתתאים לתהליך היישור בשלב 1.4.6.
  3. חבר את הגלגלת הקטנה לפיר המנוע.
    1. טחנו את המפתח על מוט המנוע שטוח (כבר לא בולט).
      הערה: זה יספק משטח שטוח שכנגדו ניתן להדק את בורג הגלגלת כדי למנוע החלקה של הגלגלת סביב מוט המנוע.
    2. קודחים את החור בגלגלת כך שיתאים לקוטר מוט המנוע.
    3. החלק את הגלגלת מעל הפיר והידק באופן רופף את הבורג כנגד המשטח השטוח שעל הפיר.
  4. חבר את המנוע לסוגר המנוע שתואר לעיל.
    1. הכן כל אחד מארבעת מוטות החיבור של המנוע על ידי קידוח שני חורים במיקומים המתאימים (חורים צריכים ליישר קו עם חורי ההרכבה במנוע). ראו איור 4 לממדים.
    2. במידת הצורך בפינוי, חתכו קטע מהחלק העליון של שני הפסים כדי לאפשר לגלגלת שעל מוט המנוע להסתובב בחופשיות (אופציונלי).
    3. מקם את ארבעת הסוגריים הקטנים לחיבור הכיסוי מעל ארבעת החורים החיצוניים. השתמש בהם מאוחר יותר כדי לחבר את כיסוי המגן מעל החגורה והגלגלות.
    4. חברו באופן רופף את שמונת האומים והברגים, והשאירו מקום בין הפסים העליונים והתחתונים כדי להחליק את מוטות הסוגר המורכבים ביניהם.
    5. החליקו את פסי ההרכבה של המנוע על הסוגר - כל פס עליון מעל סרגל הסוגר ההרכבה וכל אחד תחתון מתחתיו.
    6. מקם והידק את המנוע.
      1. הזז את הגלגלת הראשית, את הגלגלת הקטנה, או את שניהם למעלה ולמטה עד שהגלגלות הראשיות והקטנות מיושרות אופקית. הזז את המהדק במידת הצורך.
      2. הניחו את חגורת ההנעה מעל הגלגלות הקטנות והעיקריות.
      3. החליקו את מכלול המנוע הרחק מהכיסא עד שהחגורה תהיה הדוקה.
      4. הדקו את 8 הברגים במוטות החיבור של המנוע כדי לאבטח את המנוע לתושבת המנוע.
      5. הדקו את ברגי המהדק ואת ברגי הגלגלת.
  5. חברו כיסוי כדי למנוע מכל דבר להיתפס במערכת הגלגלות/חגורה.
    1. כופפו את דפנות כיסוי המגן האקרילי לפי איור 5.
      הערה: חלופה, אם בנדר אקרילי אינו זמין, היא להשתמש בפח מתכת ובנדר גיליון.
    2. חתכו קטע כך שיתאים לפיר הכיסא לפי איור 5.
    3. קדחו חורים שיתאימו לחורים בסוגריים הקטנים של חיבור הכיסוי.
    4. השתמש בברגים המחוברים לכיסוי הקטן כדי לחבר את הכיסוי.

2. הליך הגדרת מערכת חשמל

  1. חבר את מתג ההפעלה/כיבוי ואת מתג כיבוי החירום לחשמל. השתמש בכבלים המתאימים בדירוג מתח וזרם כדי לחבר את מחבר IEC (מחבר גברי לכבל החשמל) למתג כיבוי החירום וההדלקה/כיבוי בסדרה (כך ששבירת המעגל עם כל אחד מהם תנתק את החשמל לשאר הרכיבים).
    הערה: ייתכן שתידרש הלחמה.
  2. חבר את ספק הכוח 5 V DC עבור Arduino למתג ההפעלה/כיבוי (אופציונלי).
    הערה: נדרש כבל מסוג הלחמה וחשמל בדירוג חשמל.
  3. חבר את ספק הכוח 48 V DC עבור מנהל ההתקן של הכיסא למתג ההפעלה/כיבוי במקביל לספק הכוח 5 V.
    הערה: נדרש כבל בדירוג חשמל.
  4. בצעו את הגדרות מתג ה-DIP המתאימות לנהג מנוע הסטפר ההיברידי. לדוגמה:
    1. הגדר מתגים 1-4 ל- ON, כבוי, ON ו- ON, בהתאמה, עבור 1,600 פולסים לכל סיבוב עבור מנוע הסטפר (ככל שהמספר גבוה יותר, כך השליטה עדינה יותר אך כך המכסה על מהירות הסיבוב נמוכה יותר בהתאם למהירות שבה הארדואינו יכול לייצר פולסים).
    2. החלף את 5 למצב כבוי עבור כיוון הסיבוב המוגדר כברירת מחדל נגד כיוון השעון.
    3. עבור 6 למצב ON עבור מצב תנועה נקודתית (PM) של הכונן, בניגוד למצב בקרת וקטור החלל (או שליטה מונחית שדה, FOC).
    4. הגדר את המתגים 7 ו-8 ל-OFF ו-OFF כדי להתאים את הבקר למנוע הלולאה הסגורה מסדרה 86 12 NM.
  5. חבר את דרייבר מנוע הסטפר ההיברידי לכבלי ספק הכוח ונהג הכיסא.
    1. חבר כבלים בעלי דירוג מתאים ממסופי היציאה של ספק הכוח 48 וולט למארז מחבר כניסת החשמל של נהג המנוע והכנס את המארז.
    2. חבר את שני כבלי המנוע באמצעות בתי המחברים שלהם לנהג.
  6. חברו את הארדואינו לנהג הסטפר ההיברידי.
    1. השתמש בחוטי קפיצה מוצמדים כדי לחבר את מסופי ה-PUL+ ("דופק" +), DIR+ ("כיוון" +) ו-ENA+ ("הפעל" +) במבית מחבר הנהג של המנוע לפינים 2, 3 ו-5 (מספרי פינים אופציונליים אך צוין כאן כדוגמאות לשימוש לאורך כל הדרך) ב-Arduino.
    2. השתמש בחוטים קצרים כדי לחבר את ההדקים PUL, DIR ו- ENA - של בית מחבר דרייבר המנוע וחוט קפיצה מוצמד ארוך יותר כדי לחבר ENA - לפין GND (הארקה) בארדואינו.
    3. הכנס את בית המחבר לנהג המנוע.
  7. חבר את הארדואינו לספק הכוח 5 V DC (אופציונלי). השתמש בחוטי קפיצה מוצמדים כדי לחבר את הפינים GND ו- Vin ב- Arduino להדקי 5 V החוצה של ספק הכוח 5 V.
  8. חברו את הפוטנציומטר לארדוינו. השתמש בחוטי קפיצה מוצמדים כדי לחבר את פיני ה-GND וה-5 V של A1 (מסוף "אנלוגי פנימה") על הארדואינו לשלושת ההדקים של הפוטנציומטר.
    הערה: נדרשת הלחמה.
  9. חבר את מתג המתג לארדוינו. חבר את פין 6 ו-GND ב-Arduino לשני הדקים המתגים באמצעות חוטי קפיצה מוצמדים.
    הערה: נדרשת הלחמה.
  10. חבר את הנורית לארדוינו.
    1. הלחימו את הנגד למסוף אחד של הנורית (כדי להוריד את המתח במעגל ה-LED).
    2. חברו פינים 7 ו-GND על הארדואינו לקצה הנגד ומסוף ה-LED השני באמצעות חוטי קפיצה מוצמדים.
      הערה: נדרשת הלחמה.
  11. לבודד ולאכלס את הרכיבים החשמליים/אלקטרוניים. ראו איור 6 לתמונה של מערכת שהושלמה.
    הערה: ישנן דרכים רבות לבודד את רכיבי המתח הגבוה של המערכת החשמלית, להגן על הרכיבים האלקטרוניים השבריריים מפני נזק, ולהכיל את כל הרכיבים הללו בחלל הניתן לניהול. להלן שיטה מוצעת אחת.
    1. חורי קידוח/חיתוך בצד מארז המכשיר של מחבר החשמל של חברת החשמל, מתג ההפעלה/כיבוי הראשי, שני כבלי בקרת המנוע, מתג המתג הקטן, ה-LED, הפוטנציומטר ויציאת ה-USB של הארדואינו (הפכו את זה לגדול כדי לאפשר לאוויר לזרום לתוך המארז לצורך קירור).
    2. חברו כל אחד מהרכיבים הללו באמצעים המתאימים (למשל, ברגים, ברגים, אקדח דבק חם).
    3. חתכו חורי אוורור (אחד מעל המאוורר בספק הכוח 48 וולט) וחור למתג החירום במכסה המארז; לאחר מכן, חבר את מסנני האוורור ואת המתג.
    4. חברו את הארדואינו לבסיס המארז באמצעות ספייסרים וברגים. מקם כך שיציאת ה- USB תתיישר עם חור יציאת ה- USB במארז.
    5. חברו את ספקי הכוח 48 V ו-5 V ואת נהג המנוע לבסיס המארז באמצעות בלוקי סקוטש וקצף.

3. הליך הגדרת VR

  1. הגדר את מערכת ה-VR בהתאם להוראות היצרן.

4. הליך הגדרת תוכנה

  1. התקן והגדר את תוכנת Arduino.
    1. הורד והתקן את תוכנית Arduino בהתאם להוראות היזם.
    2. חבר את הארדואינו למחשב באמצעות כבל USB.
    3. תחת התפריט הנפתח כלים , בחר את היציאה שאליה מצורף לוח Arduino.
    4. תחת אותו תפריט, בחר את הלוח והמעבד המתאימים. ודא שהוא תואם את הלוח והמעבד המשמשים בסעיף 2 לעיל, למשל, לוח "Arduino Mega 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 חדש או קיים (בחר סוג, לדוגמה, "תלת-ממד" המתאים ליישום).
    3. הגדרת SteamVR לשימוש בפרויקט.
      1. פתח את מאגר הנכסים (לחץ על חלון | חנות נכסים).
      2. חפש את SteamVR ובחר תוסף SteamVR.
      3. לחץ על הוסף לנכסים.
      4. ב- Unity, פתח את מנהל החבילות (לחץ על חלון | מנהל החבילות).
      5. מצא את SteamVR תחת הכרטיסייה הנכסים שלי .
      6. לחץ על ייבוא ופעל לפי ההנחיות כדי להשלים את הייבוא.
      7. לחץ על קבל הכל אם תתבקש לבצע שינויים קונפיגורטיביים.
      8. יבא את מתקן מצלמת ה-VR של Steam לתוך הסצנה. חפש נכס חדש בשם Steam VR בחלון הפרויקט על מסך הפקח. פתח את Steam VR | prefabs.
      9. גררו את הנכס [Camera Rig] לחלון ההיררכיה או הסצנה כדי לאפשר שימוש באוזניות המציאות המדומה ובבקרים במשחק.
      10. הסר את ברירת המחדל של המצלמה הראשית מההיררכיה או מהסצנה מכיוון שהיא תפריע למצלמת SteamVR.
  6. התקן והגדר את Ardity.
    1. חפש את Ardity בחנות הנכסים Unity ובחר אותה להורדה (שלב 4.5.3.2 לעיל).
    2. עדכן את רמת התאימות של ה-API.
      1. פתח את הגדרות פרוייקט תחת תפריט עריכה .
      2. לחץ על נגן | הגדרות אחרות.
      3. בחר .NET 4.X בתפריט הנפתח עבור רמת תאימות API.
      4. צא מ'הגדרות' והמתן עד שהודעות שגיאה ייעלמו.
  7. הגדר את סביבת המשחק Unity.
    הערה: הצעדים המינימליים הבאים יידרשו כדי שהמשתמש יקבל שליטה על הכיסא וישלב את תנועת הכיסא בחוויית ה-VR שלו.
    1. צור את האובייקטים והפונקציות הדרושים ליישום הספציפי.
      1. צור אובייקטים על-ידי לחיצה על GameObject ובחירה באובייקט דו-ממדי או באובייקט תלת-ממדי.
      2. הוסף פונקציונליות לאובייקט שנוצר על-ידי לחיצה על לחצן הוסף רכיב בחלון המפקח עבור האובייקט ובחירה באחת מהאפשרויות. בחר סקריפט חדש כדי ליצור סקריפט C# דומה לזה שבקובץ משלים 3 (שם קובץ: SetUpTrial.cs).
    2. ייבא את סקריפט הבקר הטורי למשחק.
      1. תחת התיקיה נכסים בחלון Project , פתח את התיקיה Ardity | תיקיית סקריפטים .
      2. גרור את סקריפט SerialController לתוך אובייקט המשחק הרצוי בחלון הירושה , לדוגמה, אובייקט המשחק רקע .
      3. לחץ על האובייקט וגלול מטה ברשימת הרכיבים בחלון המפקח כדי לאתר את קובץ ה- Script SerialController .
      4. ודא ששם הנמל ושיעור הבוד תואמים לאלה של תוכנית Arduino שנקבעו בשלבים 4.1 ו- 4.2 לעיל.
      5. גרור את האובייקט שאליו מצורף קובץ ה- Script SerialController מחלון ההיררכיה לתיבת הקלט שליד מאזין ההודעות בחלון המפקח.
    3. כתוב ויבא את סקריפט בקר הכיסא למשחק.
      1. בתחתית חלון המפקח עבור אותו אובייקט משחק, לחץ על הוסף רכיב ובחר סקריפט חדש. תן שם לתסריט החדש ChairController.
      2. כתוב את הקוד הנדרש כדי לקחת פקודות בקר ועכבר ולהפוך אותן למספרים שיש לשלוח באמצעות USB לארדוינו.
        הערה: דוגמה מינימלית של הקוד הנדרש כלולה בקובץ משלים 2 (שם הקובץ: ChairController.cs).
      3. שמור את הסקריפט.
      4. מלא את התיבות הריקות בחלון המפקח . גרור את אובייקט ה- HMD מחלון ההיררכיה לתוך תיבת הקלט שליד ראש מתחת לסקריפט בקר הכיסא בחלון המפקח . באופן דומה, גרור את אובייקט הבקר (מימין) לתוך התיבה שליד יד.

5. הליך ניסוי (או ניסיון)

  1. בחר את שיטת הקלט.
    הערה: קוד ChairController לדוגמה שסופק מתייחס לסקריפט בשם SetUpTrial שבו מוגדרת קלט המשתנה השלם הציבוריType (כאשר inputType 3 הוא בקר VR, ו- inputType 4 הוא עכבר). סידור סקריפט/משתנה זה הונח בשלבים הבאים.
  2. לחץ על אובייקט המשחק שאליו מצורף הסקריפט SetUpTrial , לדוגמה, רקע.
  3. גלול מטה בחלון המפקח כדי למצוא את המשתנים הציבוריים של סקריפט SetUpTrial .
  4. הגדר קלטType ל - 3 עבור בקר VR או 4 לשליטה בעכבר.
  5. לחץ על לחצן הפעל ב- Unity כדי להתחיל את חוויית ה- VR עם תנועה הנשלטת על ידי הבקרים או העכבר.

תוצאות

מטרת הניסוי לדוגמה הייתה לקבוע אם תוספת הסיבוב הפיזיקלי – או תואמת או שאינה תואמת את תנועת הרקע החזותי בסצנה – השפיעה על הכיוון הנתפס של מטרה נעה באותה סצנה. הבדל בין תנועה פיזיקלית מקבילה לתנועה פיזיקלית לא תואמת היה צפוי בהתבסס על ההשערה שתנועת הרקע משפיעה על כיוון המטרה הנתפס על פי מיד...

Discussion

מאמר זה מציג שיטה להוספת סיבוב אוטומטי לכיסא משרדי בשליטת משקיף או נסיין, ושיטה נלווית לשילוב תנועה זו בחוויה וירטואלית. שלבים קריטיים כוללים את החיבור המכני של המנוע לכיסא, הגדרת הכוח והשליטה החשמלית של המנוע, ולאחר מכן הגדרת התצורה של הארדואינו והמחשב כדי להניע את בקר המנוע. שלב החיבור ה...

Disclosures

אין ניגודי עניינים.

Acknowledgements

עבודה זו נתמכה על ידי מענקי מועצת המחקר האוסטרלית DP160104211, DP190103474 ו- DP190103103.

Materials

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

References

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

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Explore More Articles

182

This article has been published

Video Coming Soon

JoVE Logo

Privacy

Terms of Use

Policies

Research

Education

ABOUT JoVE

Copyright © 2025 MyJoVE Corporation. All rights reserved