This file contains installation instructions to set up and run the experiments of the paper "Iterative improvement in the automatic modular design of robot swarms". The source code, in the included version, has been used to run the experiments. Links to the hosted repositories will be included for reference. PREREQUISITES: The code has been tested under Ubuntu 18.04 and Centos 6.3. The following packages need to be installed on the system: - libfreeimage-dev - libfreeimageplus-dev - qt5-default - freeglut3-dev - libxi-dev - libxmu-dev - liblua5.2-dev - lua5.2 - doxygen - graphviz - graphviz-dev - asciidoc INSTALLATION: Execute the following command in a terminal to set the installation path for all the following steps. $ export ARGOS3_INSTALLATION_PATH="$HOME/argos3-dist" ARGoS3 (argos3; available at: https://github.com/ilpincy/argos3, tag:3.0.0-beta48): $ cd argos3 $ mkdir build && cd build $ cmake -DCMAKE_INSTALL_PREFIX=$ARGOS3_INSTALLATION_PATH -DCMAKE_BUILD_TYPE=Release -DARGOS_INSTALL_LDSOCONF=OFF -DARGOS_DOCUMENTATION=OFF ../src $ make $ make install Remove the default e-puck plugin: $ rm -rf $ARGOS3_INSTALLATION_PATH/include/argos3/plugins/robots/e-puck $ rm -rf $ARGOS3_INSTALLATION_PATH/lib/argos3/lib*epuck*.so Add the following lines to the .bashrc file and then source it: export ARGOS3_INSTALLATION_PATH="$HOME/argos3-dist" export PKG_CONFIG_PATH=$ARGOS3_INSTALLATION_PATH/lib/pkgconfig export ARGOS_PLUGIN_PATH=$ARGOS3_INSTALLATION_PATH/lib/argos3 export LD_LIBRARY_PATH=$ARGOS_PLUGIN_PATH:$LD_LIBRARY_PATH export PATH=$ARGOS3_INSTALLATION_PATH/bin/:$PATH E-Puck Plugin (argos3-epuck; available at: https://github.com/demiurge-project/argos3-epuck, tag: v48) $ cd argos3-e-puck $ mkdir build && cd build $ cmake -DCMAKE_INSTALL_PREFIX=$ARGOS3_INSTALLATION_PATH -DCMAKE_BUILD_TYPE=Release ../src $ make $ make install Loopfunctions (AutoMoDe-loopfunctions, available at: https://github.com/demiurge-project/experiments-loop-functions, commit: 4cba49be171773d405d4ec74cba93acb940fc792) $ cd AutoMoDe-loopfunctions $ mkdir build && cd build $ cmake -DCMAKE_INSTALL_PREFIX=$ARGOS3_INSTALLATION_PATH -DCMAKE_BUILD_TYPE=Release .. $ make $ make install Reference Models (AutoMoDe-DAO, available at: https://github.com/demiurge-project/demiurge-epuck-dao, commit: e24d813b8e34a59d9bb5e2d21e7257e755699517) $ cd AutoMoDe-DAO $ mkdir build && cd build $ cmake -DCMAKE_INSTALL_PREFIX=$ARGOS3_INSTALLATION_PATH -DCMAKE_BUILD_TYPE=Release .. $ make $ make install Finite-state machine architecture for AutoMoDe (AutoMoDe-FSM, available at: https://github.com/demiurge-project/AutoMoDe-private, commit: 5b50d10babbe63bfc23729bb6f66ee68dc23d57a) $ cd AutoMoDe-FSM $ mkdir build $$ cd build $ cmake .. $ make Behavior tree architecture for AutoMoDe (AutoMoDe-BT, available at: https://github.com/demiurge-project/AutoMoDe-private, commit: dd7167cb4838005969afa4fde8c02940c0698fa9) $ cd AutoMoDe-BT $ mkdir build $$ cd build $ cmake .. $ make Iteraded F-Race (irace_2.2.tar.gz) $ mkdir ~/R/x86_64-redhat-linux-gnu-library/3.5/ $ R CMD INSTALL -l ~/R/x86_64-redhat-linux-gnu-library/3.5/ irace_2.2.tar.gz Add the following lines to the .bashrc file and then source it: export R_LIBS_USER=~/R/x86_64-redhat-linux-gnu-library/3.5 export IRACE_HOME=${R_LIBS_USER}/irace export PATH=${IRACE_HOME}/bin/:${PATH} export R_LIBS=${R_LIBS_USER}:${R_LIBS} Iterative improvement for AutoMoDe (AutoMoDe-Localsearch) $ cd AutoMoDe-Localsearch $ python3 -m venv venv/ $ source venv/bin/activate $ pip install graphviz mpi4py numpy Genetic Programming for behavior trees (AutoMoDe-GeneticProgramming) $ cd AutoMoDe-GeneticProgramming $ python3 -m venv venv/ $ source venv/bin/activate $ pip install deap numpy EvoStick (EvoStick, available at: https://github.com/demiurge-project/NEAT-private, commit: fa3c2382c07a9a9730fa9084ce4ccf07797cb89c) $ cd EvoStick $ mkdir build && cd build $ cmake .. $ make