This folder contains:

- cpp_common: Common C++ classes
- cpp_observer: The Server C++ code
- cpp_robot: The robot controller C++ code
- experiments: Template settings file for various experiments
- python: Python analysis code
- scripts: Bash scripts for various tasks, such as running an experiment

Acknowledgements
=================
This work was supported by EPSRC grants EP/G03690X/1 and EP/N509747/1. We would like to thank Wenguo Liu for providing his robot and computer programs that served as a basis for the control programs (from folders prefixed with "cpp_") used in this study.

CPP CODE
=================

The code required ROS to be installed.
To compile, use cmake. Alternatively, use the build.sh scripts. See the scripts for documentation.


PYTHON CODE
=================

The analysis code processes raw data and turns it into plots.
It requires pyCreeper (http://pycreeper.lenkaspace.net) to be installed.


SCRIPTS
=================

Many of the scripts are used to communicate with robots via wi-fi.

A particularly important script is doExperiment.sh. This script takes in command-line arguments, such as experiment type, and uses an appropriate template from the experiments folder to create a settings file. It then sends the settings file to each robot and runs the controller on each robot. Is also starts the Server program. At the end of an experimental run, the script collates data from the robots and places it in a results folder, prefixed with a run number.

