Difference between revisions of "Getting started for Demiurge"

From IridiaWiki
Jump to navigationJump to search
(→‎Set up your working environment: Added new section heading as test)
(→‎Install AutoMoDe: Updated description for argos3 and argos3-epuck)
Line 11: Line 11:
 
* Give your e-mail address to Mauro, he will add you to the Demiurge mailing list
 
* Give your e-mail address to Mauro, he will add you to the Demiurge mailing list
   
== Install AutoMoDe ==
+
== Install AutoMoDe and related software ==
   
 
* Install argos
 
* Install argos
 
*# Install all prerequisites (specified at the [https://github.com/ilpincy/argos3 github page])
 
*# Install all prerequisites (specified at the [https://github.com/ilpincy/argos3 github page])
*#* You can do so by running the following command in your terminal: '''TODO: Check again this is the right list of prerequisites'''
+
*#* You can do so by running the following command in your terminal:
 
*#* <code>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</code>
 
*#* <code>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</code>
 
*# Download and install argos
 
*# Download and install argos
 
*#* Be aware that we are currently not using the most recent version but instead the release "3.0.0-beta48"
 
*#* Be aware that we are currently not using the most recent version but instead the release "3.0.0-beta48"
 
*#* Get the repository:
 
*#* Get the repository:
*#*# <code>git clone git@github.com:ilpincy/argos3.git argos3</code>, clones the repository '''TODO:''' Setting up ssh keys?
+
*#*# <code>git clone git@github.com:ilpincy/argos3.git argos3</code>, clones the repository
 
*#*# <code>cd argos3</code>
 
*#*# <code>cd argos3</code>
 
*#*# <code>git checkout 3.0.0-beta48</code>, checks out the version that we are using at the moment
 
*#*# <code>git checkout 3.0.0-beta48</code>, 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.
 
*#* '''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
 
*#* Prepare the build of argos3
  +
*#*# <code>export ARGOS_INSTALL_PATH=$HOME</code>, if you want to install argos3 into $HOME/argos3-dist (recommended on the cluster), otherwise choose the location to your liking
*#*# <code>mkdir build</code>
 
*#*# <code>cd build</code>
+
*#*# <code>mkdir build && cd build</code>
*#*# <code>cmake -DCMAKE_INSTALL_PREFIX=[INSTALL_LOCATION]/argos3-dist -DCMAKE_BUILD_TYPE=Release -DARGOS_INSTALL_LDSOCONF=OFF -DARGOS_DOCUMENTATION=OFF ../src</code>, where the [INSTALL_LOCATION] is the place where you will place all compiled projects (on the cluster /home/[USER_NAME]/)
+
*#*# <code>cmake -DCMAKE_INSTALL_PREFIX=$ARGOS_INSTALL_PATH/argos3-dist -DCMAKE_BUILD_TYPE=Release -DARGOS_INSTALL_LDSOCONF=OFF -DARGOS_DOCUMENTATION=OFF ../src</code>
 
*#*# <code>make</code>
 
*#*# <code>make</code>
 
*#*# <code>make doc</code>, if you have forgotten the -DARGOS_DOCUMENTATION=OFF
 
*#*# <code>make doc</code>, if you have forgotten the -DARGOS_DOCUMENTATION=OFF
 
*#*# <code>make install</code>
 
*#*# <code>make install</code>
 
*#* Before you can install our epuck-plugin, you have to remove the default plugin first. In argos3-dist run the following commdands
 
*#* Before you can install our epuck-plugin, you have to remove the default plugin first. In argos3-dist run the following commdands
*#*# <code>rm -rf [INSTALL_LOCATION]/argos3-dist/include/argos3/plugins/robots/e-puck</code>
+
*#*# <code>rm -rf $ARGOS_INSTALL_PATH/argos3-dist/include/argos3/plugins/robots/e-puck</code>
*#*# <code>rm -rf [INSTALL_LOCATION]/argos3-dist/lib/argos3/lib*epuck*.so</code>
+
*#*# <code>rm -rf $ARGOS_INSTALL_PATH/argos3-dist/lib/argos3/lib*epuck*.so</code>
 
*#* Add the following lines to your .bashrc (or create a separate file and source it from your .bashrc)
 
*#* Add the following lines to your .bashrc (or create a separate file and source it from your .bashrc)
  +
*#*# <code>export ARGOS_INSTALL_PATH=$HOME</code> (or whatever you chose in the earlier step)
*#*# <code>export PKG_CONFIG_PATH=[INSTALL_LOCATION]/argos3-dist/lib/pkgconfig</code>
 
*#*# <code>export ARGOS_PLUGIN_PATH=[INSTALL_LOCATION]/argos3-dist/lib/argos3</code>
+
*#*# <code>export PKG_CONFIG_PATH=$ARGOS_INSTALL_PATH/argos3-dist/lib/pkgconfig</code>
 
*#*# <code>export ARGOS_PLUGIN_PATH=$ARGOS_INSTALL_PATH/argos3-dist/lib/argos3</code>
 
*#*# <code>export LD_LIBRARY_PATH=$ARGOS_PLUGIN_PATH:$LD_LIBRARY_PATH</code>
 
*#*# <code>export LD_LIBRARY_PATH=$ARGOS_PLUGIN_PATH:$LD_LIBRARY_PATH</code>
*#*# <code>export PATH=[INSTALL_LOCATION]/argos3-dist/bin/:$PATH</code>
+
*#*# <code>export PATH=$ARGOS_INSTALL_PATH/argos3-dist/bin/:$PATH</code>
 
*# Download and install the e-puck plugin
 
*# Download and install the e-puck plugin
 
*#* Get the repository
 
*#* Get the repository
Line 48: Line 49:
 
*#*# Open src/cmake/ARGoSBuildChecks.cmake and remove the checks for Lua and Qt/OpenGL
 
*#*# Open src/cmake/ARGoSBuildChecks.cmake and remove the checks for Lua and Qt/OpenGL
 
*#* Prepare the build of the epuck-plugin
 
*#* Prepare the build of the epuck-plugin
*#*# <code>mkdir build</code>
+
*#*# <code>mkdir build && cd build</code>
 
*#*# <code>cmake -DCMAKE_INSTALL_PREFIX=$ARGOS_INSTALL_PATH/argos3-dist -DCMAKE_BUILD_TYPE=Release ../src</code>
*#*# <code>cd build</code>
 
*#*# <code>cmake -DCMAKE_INSTALL_PREFIX=[INSTALL_LOCATION]/argos3-dist -DCMAKE_BUILD_TYPE=Release ../src</code>, where the [INSTALL_LOCATION] is the same place as for argos3 (on the cluster /home/[USER_NAME]/)
 
 
*#*# <code>make</code>
 
*#*# <code>make</code>
 
*#*# <code>make install</code>
 
*#*# <code>make install</code>

Revision as of 15:25, 8 November 2021

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 argos
    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 simulation
      4. mkdir build
      5. cd build
      6. cmake -DCMAKE_INSTALL_PREFIX=[INSTALL_LOCATION]/argos3-dist -DCMAKE_BUILD_TYPE=Release ..
      7. make
      8. 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=[INSTALL_LOCATION]/argos3-dist -DCMAKE_BUILD_TYPE=Release ..
      5. make
      6. make install
    3. Download and install AutoMoDe
      1. git clone git@github.com:demiurge-project/AutoMoDe-private.git AutoMoDe
      2. cd AutoMoDe
      3. mkdir build
      4. cd build
      5. cmake ..
      6. 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
  • In order to install NEAT
    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.