Quaestio

Over the last few decades, there has been a drastic reduction in survey participation often with negative consequences for commercial firms and governments. Quaestio is an interactive survey robot developed with the intention of combating this decline. This repository contains Queastio's techhnical files, as well as files for the evaluation of experiments run with Queastio.

Head:

All the code controlling the head can be found in the head directory. *quaestio.py* is the main file, which has to be executed on start-up using python3. *quastio_constants.py* the pins used on the pi are defined.

Hypothesis Testing:

This folder contains both the dataset collected survey_data.json as well as the notebook Hypothesis_Testing.ipynb used for the analysis of the gathered data.

Robot App:

All files regarding the iOS app for the iPad can be found in the folder Robot App.

Overall flowchart of the app

See how the app interfaces

Website:

The index.html file in the website directory allows you to manipulate the website content. The code.js file allows you to fetch the question answers from firebase.

Mechanical Input Methods & Mobility:

All the code controlling both the mobility and the mechanical input methods can be found in this folder.

Mobility

For the ROS Kinetic Ubuntu is installed on the Raspberry Pi, this is due to the fact that ROS Kinetic only supports Wily (Ubuntu 15.10), Xenial (Ubuntu 16.04) and Jessie (Debian 8) for debian packages. After setting up the pi with the system the following tutorial can be followed in order to install and use ROS Kinetic.

Mechanical input methods

First all packages from the requirements.txt file have to be installed using pip3. The GPIO pins used on the pi are defined in the config.py file.

main.py is the main file which has to be executed on start-up using python3. testMotor.py & testButtons.py are two testfiles which can be used to test whether the buttons and slider are working.

An ssh key linked to the account used for github can be put into the pi folder in order to allow the pi to automatically pull the latest master version from the github repository. This is done by updating on Firebase the field: Hardware_Interface\Current_State.

An overview of the threads

Threads

Quaestio-Admin-App

All the code for the admin app can be found in the Admin App folder. Project team members can configure experiments, control & maintain the robot, and get an overview of collected experimental data through this iOS/iPadOS app.

Main Menu

MainMenu

New Setup

NewSetup

Manage Setups

ManageSetup

Dashboard

Dashboard

Control & Maintenance

Control

Human-Led Surveys

survey0 survey1 survey2 survey3 survey4