Git Product home page Git Product logo

pointingavatar's Introduction

USER GUIDE

Experimental Trials

  1. Select the file experimental_trial.csv located in Assets/Resources/.

  2. This file contains all the information about the trials and will allow you to choose the necessary options.

Graphical user interface, application, table, Excel Description automatically generated

  1. Targets Hand Pattern :

    • This option allows you to choose the set of targets you want to show to the participant. You can select the desired number of targets.

    • The possible choices are: "++", "+-", "-+", "--" (please refer to the "visualisation_combinaison.xlsx" file to see what these choices correspond to).

    • The targets should be separated by the "/" character. For example, ++/-+/+-/--.

    • Attention : The CSV file will give you an error if you enter only the pattern without starting it with an apostrophe character "".

      Graphical user interface, text, application, email Description automatically generated

      To resolve this, please add an apostrophe and press Enter.

      Graphical user interface, text, application Description automatically generated

  2. Send Signal Vibration :

    • This option allows specifying to the application to ensure that Arduino sends signals at the right time for LabVIEW.

    • The possible choices are: TRUE, FALSE.

    • Attention: It is important that the characters remain in uppercase.

    • The pin responsible for sending the signal is pin 7 (Digital - 07).

      Arduino Pin Configuration: A Detailed Guide (2021) | Robu.in

  3. Signal Répétitions :

    • This option specifies the number of signal repetitions that will be sent by the Arduino.

    • Possible choices are : [0, ∞[.

    • The actual number of signals sent will be determined by the number of targets specified in the "Targets Hand Pattern" if it exists.

      Exemples :

      • The signal will be sent 4 times.

        Graphical user interface, text Description automatically generated with medium confidence

      • The signal will be sent 4 times.

        A picture containing text Description automatically generated

      • The signal will be sent 2 times.

        A picture containing text Description automatically generated

      • The signal will be sent 4 times.

        A picture containing shape Description automatically generated

  4. Delay go :

    • This option specifies the time in seconds for the "move towards the target" motion.
    • The green bar of the timer will progress throughout this time.
    • Possible choices are : [0.0, ∞[.
  5. Delay stay :

    • This option specifies the time in seconds that the participant must stay on the target.
    • The timer will be visible, however, the green bar will be hidden, indicating to the participant to stay on the target.
    • Possible choices are : [0.0, ∞[.
  6. Delay Go Back :

    • This option specifies the time in seconds that the participant has to return to the initial target.
    • The timer will disappear once this time has elapsed.
    • Possible choices are : [0.0, ∞[.
  7. Show chronometer

    • This option specifies whether we want the timer to be visible or not. It is recommended to keep it visible because otherwise the patient will not have feedback for the timing.
    • Possible choices are : TRUE, FALSE.
    • Attention: It is important that the characters remain in uppercase.
  8. Show Black Screen :

    • This option allows hiding the display in the virtual reality headset so that the participant does not see anything during the experience, with a black screen displayed instead.
    • It should be noted that the experimenter will be able to see what is projected on the screen while the participant will not see anything.
  9. Is Avatar Human Controlled :

    • This option allows the program to control the avatar automatically.
    • Possible choices are : TRUE, FALSE.
    • Attention: It is important that the characters remain in uppercase.
  10. Elbow Angle Offset : « Hand overshoot »

  11. Shoulder Angle Offset : «Elbow overshoot»

    • These options determine the maximum angle of overshoot or offset that will be applied to the virtual avatar.

    • Possible choices are : [0.0, ∞[.

    • System explication :

      A = min(D1/D2 * B, 1)
      

A = Angle of overshoot or "offset" of the hand

D1 = The distance between the actual position of the hand (represented by the controller) and the resting hand position.

D2 = The distance between the resting hand position and the selected target position.

B = The value of "Elbow Angle Offset" determined in the experimental_trial.csv file.

Diagram Description automatically generated

So, the further we move away from the resting position, the closer the overshoot angle will approach B. For example, if the actual hand position is at 10% of the distance D2, then D1/D2 = 0.1 so the overshoot angle will be 0.1 * B, which is 10% of the Elbow Angle Offset. If D1 > D2, it means that the actual hand position has exceeded the perimeter of the circle with radius D2, and in this case, the value 1 will be chosen, indicating that we want B, which is 100% of the Elbow Angle Offset.

*The light blue line represents the position of the avatar, while the black lines represent the actual positions of the person. The angle is formed by the angle between the blue line (avatar forearm) and the black line (actual person's forearm).

*This approach is also valid for determining the angle of overshoot or offset for the elbow. The angle will be the value of the Shoulder Angle Offset determined in the experimental_trial.csv file.

New system that takes into account a factor for the joint angle :

            A = min(D1/D2 * B, 1) ----------> A = x * a

A = Angle of overshoot or "offset" of the hand

x = The distance between the actual position of the hand (represented by the controller) and the resting hand position in degrees.

a = The value for the factor of the joint angle determined in the experimental_trial.csv file.

  1. Name : - This option allows naming the current trial. - Any sequence of characters is possible for this option.
  2. Automatic : - This option allows the experimenter to have a waiting option when a repetition (such as a selected target) is completed. A text will appear indicating to the participant and the experimenter that the application is waiting for a key press. - Pressing the "space" key on the keyboard allows the experimenter to proceed to the next repetition. - The possible choices are: TRUE, FALSE. If you want a waiting time between repetitions, you should choose FALSE. - Attention: It is important that the characters remain in uppercase.
  3. Movement Offset : - This option determines the overshoot or offset of the hand or elbow. The combination of Movement Offset and the values of Elbow Angle Offset and Shoulder Angle Offset will help properly position the overshoot angles. - The possible choices are : Raccourcissement, Congruent, Allongement.

Combination Visualization

  1. Select the file visualisation_combinaison.xlsx located in Assets/Resources/.

  2. This file contains the necessary information to accurately position the targets in the 3D environment. Graphical user interface, chart Description automatically generated

  3. To change the measurement values for the participant's arm and forearm, you need to modify the values highlighted in yellow. For example, if the forearm measures 36 centimeters, you should enter 0.36 in the cell. Table Description automatically generated

  4. To change the participant's dominant hand and ensure that the targets are placed on the correct side of the participant, you simply need to modify the value in the next cell.

  5. When you modify the arm measurements and dominant hand, the graph will update and show you the new positions of the targets. The shoulder position corresponds to the original position. The values indicated in the CSVforUnity worksheet will also be updated. Attention: it is now important to follow the instructions carefully to transfer the data to Unity correctly.

    1. Select the worksheet named CSVforUnity. Graphical user interface, chart, application Description automatically generated

    2. This page will be displayed. Attention: do not change the values in this worksheet. Only modify the important values in the XLSX worksheet. Graphical user interface, application, table, Excel Description automatically generated

    *The values of Arm Position "pointR", "pointPP", etc. correspond to the values indicated in the graph of the XLSX worksheet. For example, the point R for the Body Part "hand" corresponds to the position indicated by "Hand ++", and the point PP for the Body Part "elbow" corresponds to the position indicated by "Elbow +- and ++". The x and z values will correspond to the Unity positions for that specific point. Chart, line chart Description automatically generated

    1. Press the "File" tab. Graphical user interface, application, table, Excel Description automatically generated

    2. Press the "Save As" tab. Table Description automatically generated

    3. Select the saving options. Graphical user interface Description automatically generated

    4. Select the CSV (Comma delimited) option (*.csv) and click on "Save." Graphical user interface, text, application, email Description automatically generated

    5. Click on "OK" if the file already exists. Graphical user interface, application Description automatically generated

    6. Click on "OK" again. Table Description automatically generated

    7. Click on the "x" button to close the document. The "Save" option will still be displayed, so click on it again. It is important to close the document before proceeding. Graphical user interface, application, table, Excel Description automatically generated

Unity

*When it is mentioned to press a mouse button in the scene, this implies that the visual representation of the mouse should be within the window that contains the scene, as if you wanted to have the focus on the application.

  1. Select Unity 2021.3.4f1.

  2. Select the project PointingAvatar. A screenshot of a computer Description automatically generated with medium confidence

  3. Press on "Play". A screenshot of a computer Description automatically generated with medium confidence

  4. This screen will appear. Press the following keys exactly in this order:

    1. Click the left mouse button in the scene.
    2. « C » on the keyboard for calibration Graphical user interface, text, application Description automatically generated

    This option will place the targets in the scene according to the specified configuration in the file "visualisation_combinaison.xlsx". Please click on the "Scene" tab, and then you can right-click in the scene (focus has to be on the game), move using W A S D, and use the mouse to navigate within the scene. The scroll wheel can be used to change the movement speed. A screenshot of a computer Description automatically generated with medium confidence

  5. Now, click on the "Game" tab. You will return to the view from step 4. Please click the left mouse button in the scene (focus has to be on the game), and then press the "Space" key on the keyboard. This key will activate the repetitions to be performed. Graphical user interface, text, application Description automatically generated

  6. If you have set the option to FALSE for "Automatic" in the "experimental_trial.csv" file, you will see the text "Waiting..." when the repetition is completed. This means that you can press the "Space" key on the keyboard again. A computer screen capture Description automatically generated with medium confidence

pointingavatar's People

Contributors

kevinchenier avatar

Watchers

 avatar

Forkers

valentinvalets

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.