Webapp based in React and Flask for the Reading To Robot project experiments, including interview questions, video playing and robot controls.
This application depends on the readingtorobot
package to control the robot movements (see the
documentation for details).
The data in the csv generated by the app uses the following keys.
Key | Value |
---|---|
id |
Subject ID. |
date |
Experiment date. |
{robot}_AnyQ |
"Do you have any questions about this robot?" -> Text |
{robot}_Intelligent |
"How intelligent do you think this robot is?" -> Value (0-2) |
{robot}_Friendly |
"How friendly do you think this robot is?" -> Value (0-2) |
chosen |
Robot used in the reading experiment. (miro, cozmo, nao) |
Impressions |
"How was that? What do you think about this robot?" -> Text |
Helpful_{D, O} |
"Do you think this is a helpful robot? Why (if not) / HOW (if so)?" -> Options are: "Yes"/"No" |
Helpful_R |
"How helpful was this robot?" -> Value (0-2) |
GoodListener_R |
"chosen-robot is a good listener." -> Value (0-2) |
GoodTeacher_R |
"chosen-robot is a good teacher." -> Value (0-2) |
Kind_R |
"chosen-robot is kind." -> Value (0-2) |
Dislike_{D, O} |
"Is there anything you didn’t like about the robot?" -> Options are: "Yes"/"No" |
TeachRobotPref_{D, O} |
"If you had to read a really difficult book for the first time, would you be more comfortable reading with a teacher or this robot?" -> Options are: "Prefer Robots", "Prefer Adult" |
AloneRobotPref_{D, O} |
"If you had to read a really difficult book for the first time, would you be more comfortable reading on alone or with this robot?" -> Options are: "Prefer Robots", "Prefer Alone" |
Enjoy_{D, O} |
"Did you enjoy reading with the robot? Why?" -> Options are: "Yes"/"No" |
Enjoy_R |
"How much did you enjoy reading with the robot?" -> Value (0-2) |
GoodReadBudQuals_O |
"What makes chosen-robot a good reading buddy?" -> Text |
BetterReadButQuals_Q |
"How could chosen-robot be a better reading buddy?" -> Text |
Activities_O |
"What types of activities could you do with chosen-robot ?" -> Text |
AvoidActivities_O |
"Can you think of something you probably shouldn’t do with the chosen-robot ?" -> Text |
FinalComments_O |
"Do you have any questions or is there anything else you’d like to say?" -> Text |
VideoOrder |
Order in which the videos were presented. |
rating{x}_miro |
Position for miro in rating x . (First, Second, Third) |
rating{x}_nao |
Position for miro in rating x . (First, Second, Third) |
rating{x}_cozmo |
Position for miro in rating x . (First, Second, Third) |
rating{x}_origin |
Unasigned values (In case some kid does not want to give prizes to the robots) in rating x . |
stai{x}_calm |
Answer for "I feel calm" in stai x -> Value (0-2) |
stai{x}_content |
Answer for "I am content" in stai x -> Value (0-2) |
stai{x}_relaxed |
Answer for "I feel relaxed" in stai x -> Value (0-2) |
stai{x}_tense |
Answer for "I feel tense" in stai x -> Value (0-2) |
stai{x}_upset |
Answer for "I feel upset" in stai x -> Value (0-2) |
stai{x}_worried |
Answer for "I feel worried" in stai x -> Value (0-2) |
-
Questions repeated for each robot are marked as
{robot}_qx
, whererobot
is the robot name in lower case, andx
a unique identifier. -
Questions with option selection and space for explanation are noted as
qx_D
(to store the selection) andqx_O
(to store any notes or explanations), where x is a unique identifier.
You will need to have access to a system with a bash shell, ssh and node installed. If you are in linux, you probably are good with the defaults, for Windows users, your easiest way would be using the Git Bash program to run the following commands.
cd
into the location of the repository in your machine.
cd ~/speech-learning
- Execute the following script:
./install.sh
-
You will be prompted with some parameters to fill up (like user and ip for the raspberry pi). You will also be asked for the password for the raspberry pi user several times, this is normal. Please note that our lab's configuration is set up as default. You can change any entries or simply press enter when asked for input to follow the defaults.
-
If everything went well, you should now be able to access the server from your web browser.
If the webapp is not working, there might be some error in the server.
To check wether there is the case, you can first open the /logs/speech-practice.err.log
file in
the raspberry pi.
You might see an error ocurring on the appserver there.
When you try to fix the error, you can test the server without installation by running this command in the raspberry pi:
python3 ~/speech-practice/run.py
This will run the server and print the output to the terminal, so you can see any errors happening live.