Getting started for Demiurge

From IridiaWiki
Jump to navigationJump to search

This page will list all the necessary steps you should take before starting to work on the Demiurge project.

Set up your working environment

  • Activate all resources as described on this page, if you not have done so already.
  • Set up your workstation (see this page for more details)
  • Send your github account name to the Demiurge repository administrator (at the moment Ken)
  • Get yourself added to the Demiurge Whatsapp group
  • Give your e-mail address to Mauro, he will add you to the Demiurge mailing list

Install AutoMoDe and related software

  • Install argos3
    1. Install all prerequisites (specified at the github page)
      • You can do so by running the following command in your terminal:
      • sudo apt-get install libfreeimage-dev libfreeimageplus-dev qt5-default freeglut3-dev libxi-dev libxmu-dev liblua5.2-dev lua5.2 doxygen graphviz graphviz-dev asciidoc
    2. Download and install argos
      • Be aware that we are currently not using the most recent version but instead the release "3.0.0-beta48"
      • Get the repository:
        1. git clone git@github.com:ilpincy/argos3.git argos3, clones the repository
        2. cd argos3
        3. git checkout 3.0.0-beta48, checks out the version that we are using at the moment
      • If you are on the cluster: Change the CMake-version from 2.8.12 to 2.8.8 in the src/CMakeLists.txt file. There are two occurences that need to be replaced.
      • Prepare the build of argos3
        1. export ARGOS_INSTALL_PATH=$HOME, if you want to install argos3 into $HOME/argos3-dist (recommended on the cluster), otherwise choose the location to your liking
        2. mkdir build && cd build
        3. cmake -DCMAKE_INSTALL_PREFIX=$ARGOS_INSTALL_PATH/argos3-dist -DCMAKE_BUILD_TYPE=Release -DARGOS_INSTALL_LDSOCONF=OFF -DARGOS_DOCUMENTATION=OFF ../src
        4. make
        5. make doc, if you have forgotten the -DARGOS_DOCUMENTATION=OFF
        6. make install
      • Before you can install our epuck-plugin, you have to remove the default plugin first. In argos3-dist run the following commdands
        1. rm -rf $ARGOS_INSTALL_PATH/argos3-dist/include/argos3/plugins/robots/e-puck
        2. rm -rf $ARGOS_INSTALL_PATH/argos3-dist/lib/argos3/lib*epuck*.so
      • Add the following lines to your .bashrc (or create a separate file and source it from your .bashrc)
        1. export ARGOS_INSTALL_PATH=$HOME (or whatever you chose in the earlier step)
        2. export PKG_CONFIG_PATH=$ARGOS_INSTALL_PATH/argos3-dist/lib/pkgconfig
        3. export ARGOS_PLUGIN_PATH=$ARGOS_INSTALL_PATH/argos3-dist/lib/argos3
        4. export LD_LIBRARY_PATH=$ARGOS_PLUGIN_PATH:$LD_LIBRARY_PATH
        5. export PATH=$ARGOS_INSTALL_PATH/argos3-dist/bin/:$PATH
    3. Download and install the e-puck plugin
      • Get the repository
        1. git clone git@github.com:demiurge-project/argos3-epuck.git argos3-epuck
        2. cd argos3-epuck
        3. git checkout v48
      • If you are on the cluster:
        1. Open src/plugins/robots/e-puck/CMakeLists.txt and comment the line with include(VisionTools.cmake)
        2. Open src/cmake/ARGoSBuildChecks.cmake and remove the checks for Lua and Qt/OpenGL
      • Prepare the build of the epuck-plugin
        1. mkdir build && cd build
        2. cmake -DCMAKE_INSTALL_PREFIX=$ARGOS_INSTALL_PATH/argos3-dist -DCMAKE_BUILD_TYPE=Release ../src
        3. make
        4. make install
    • If you don't want to install everything by hand this script might be useful. However you need all prerequisites installed before running the script.
  • Install AutoMoDe
    1. Download and install the loopfunctions
      1. git clone git@github.com:demiurge-project/experiments-loop-functions.git AutoMoDe-loopfunctions
      2. cd AutoMoDe-loopfunctions
      3. git checkout dev
      4. mkdir build && cd build
      5. cmake -DCMAKE_INSTALL_PREFIX=$ARGOS_INSTALL_PATH/argos3-dist -DCMAKE_BUILD_TYPE=Release ..
      6. make
      7. make install
    2. Download and install the e-puck DAO
      1. git clone git@github.com:demiurge-project/demiurge-epuck-dao.git AutoMoDe-DAO
      2. cd AutoMoDe-DAO
      3. mkdir build && cd build
      4. cmake -DCMAKE_INSTALL_PREFIX=$ARGOS_INSTALL_PATH/argos3-dist -DCMAKE_BUILD_TYPE=Release ..
      5. make
      6. make install
    3. Download and install AutoMoDe
      1. git clone git@github.com:demiurge-project/ARGoS3-AutoMoDe.git AutoMoDe
      2. cd AutoMoDe
      3. mkdir build && cd build
      4. cmake ..
      5. make
  • If you have to work on the cluster you should follow these instructions to install Argos. AutoMoDe can be installed as on your local computer.
  • In order to install irace on the cluster, follow these steps:
    1. Download the irace package
    2. Upload the .tar.gz file to your home directory in the cluster
    3. Install the R package locally
      • mkdir ~/R/x86_64-redhat-linux-gnu-library/3.5/ (At the moment it is not possible to put it anywhere else)
      • Run the following command: R CMD INSTALL -l ~/R/x86_64-redhat-linux-gnu-library/3.5/ irace_2.2.tar.gz
    4. Add irace to IRACE_HOME, PATH and R_LIBS path (for example in your .bashrc file with the following commands)
      • 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}
  • In order to install EvoStick
    1. Coming soon


Running robot experiments in the arena

  • A detailed description on running experiments in the Arena can be found here

Writing your paper

  • See this page for information on how to write your paper.

Important paper to read

Useful pages to bookmark

People working on the project

  • TODO

Resources depending on your area of expertise

  • TODO

Development guidelines (git rules)

  • See this page for information how the Development guidelines for using the git repositories.

Proj H402 (Master 1 project)

We have an organization (in terms of GitLab group) on GitLab where we can host the git repositories for the students of PROJ-H-402. Please keep the following things in mind:

  • Students should be added as "Developer" to the repository. There should be no need to add them to the group.
  • When a student is finished with the project, please let them prepare a release. This allows us to identify the contribution of each individual student, even if two or more students work on the same repository or another student takes up the development.