Difference between revisions of "Getting started for Demiurge"

From IridiaWiki
Jump to navigationJump to search
 
(16 intermediate revisions by 3 users not shown)
Line 4: Line 4:
   
 
* Activate all resources as described [[What_you_need_to_begin_to_work_in_IRIDIA | on this page]], if you not have done so already.
 
* Activate all resources as described [[What_you_need_to_begin_to_work_in_IRIDIA | on this page]], if you not have done so already.
** '''TODO''' What is most important of these steps?
+
<!-- ** '''TODO''' What is most important of these steps? -->
 
* Set up your workstation (see [[Workstation_configuration|this page]] for more details)
 
* Set up your workstation (see [[Workstation_configuration|this page]] for more details)
 
* Send your [https://www.github.com github] account name to the Demiurge repository administrator (at the moment Ken)
 
* Send your [https://www.github.com github] account name to the Demiurge repository administrator (at the moment Ken)
 
** He will add you to the [https://github.com/demiurge-project demiurge-project organization] so that you can see the private development repositories
 
** He will add you to the [https://github.com/demiurge-project demiurge-project organization] so that you can see the private development repositories
** Development rules for the github repositories: '''TODO'''
 
 
* Get yourself added to the Demiurge Whatsapp group
 
* Get yourself added to the Demiurge Whatsapp group
 
* 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 argos ('''TODO''' Instructions)
 
  +
== Install AutoMoDe and related software ==
  +
  +
* Install argos3
 
*# 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'''
+
*#* 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>
 
*# 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
*#* '''TODO''' Remove the default e-puck plugin
 
  +
*#*# <code>rm -rf $ARGOS_INSTALL_PATH/argos3-dist/include/argos3/plugins/robots/e-puck</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 '''TODO'''
+
*# Download and install the e-puck plugin
 
*#* Get the repository
 
*#* Get the repository
 
*#*# <code>git clone git@github.com:demiurge-project/argos3-epuck.git argos3-epuck</code>
 
*#*# <code>git clone git@github.com:demiurge-project/argos3-epuck.git argos3-epuck</code>
Line 43: 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>
 
** If you don't want to install everything by hand [http://iridia.ulb.ac.be/~afranzin/files/scripts/bundle_argos3_epuck.sh this script] might be useful. However you need all prerequisites installed before running the script.
 
** If you don't want to install everything by hand [http://iridia.ulb.ac.be/~afranzin/files/scripts/bundle_argos3_epuck.sh this script] might be useful. However you need all prerequisites installed before running the script.
  +
* Install AutoMoDe ('''TODO''' Instructions)
+
* Install AutoMoDe
<!--** Problems that I have encountered: Lua.h couldn't be found (solution move lua headers from /usr/include/lua5.x/ to /usr/include/)-->
 
  +
*# Download and install the loopfunctions
  +
*## <code>git clone git@github.com:demiurge-project/experiments-loop-functions.git AutoMoDe-loopfunctions</code>
  +
*## <code>cd AutoMoDe-loopfunctions</code>
  +
*## <code>git checkout dev</code>
 
*## <code>mkdir build && cd build</code>
  +
*## <code>cmake -DCMAKE_INSTALL_PREFIX=$ARGOS_INSTALL_PATH/argos3-dist -DCMAKE_BUILD_TYPE=Release ..</code>
  +
*## <code>make</code>
  +
*## <code>make install</code>
  +
*# Download and install the e-puck DAO
  +
*## <code>git clone git@github.com:demiurge-project/demiurge-epuck-dao.git AutoMoDe-DAO</code>
  +
*## <code>cd AutoMoDe-DAO</code>
  +
*## <code>mkdir build && cd build</code>
  +
*## <code>cmake -DCMAKE_INSTALL_PREFIX=$ARGOS_INSTALL_PATH/argos3-dist -DCMAKE_BUILD_TYPE=Release ..</code>
  +
*## <code>make</code>
  +
*## <code>make install</code>
  +
*# Download and install AutoMoDe
  +
*## <code>git clone git@github.com:demiurge-project/ARGoS3-AutoMoDe.git AutoMoDe</code>
 
*## <code>cd AutoMoDe</code>
  +
*## <code>mkdir build && cd build</code>
  +
*## <code>cmake ..</code>
  +
*## <code>make</code>
 
* If you have to work on the cluster you should follow [http://majorana.ulb.ac.be/wordpress/how-to-install-argos3-on-majorana/ these instructions] to install Argos. AutoMoDe can be installed as on your local computer.
 
* If you have to work on the cluster you should follow [http://majorana.ulb.ac.be/wordpress/how-to-install-argos3-on-majorana/ 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:
 
* In order to install irace on the cluster, follow these steps:
 
*# Download the [https://nextcloud.ananas.space/s/WhQ2yqhmqoaBRdC irace package]
 
*# Download the [https://nextcloud.ananas.space/s/WhQ2yqhmqoaBRdC irace package]
 
*# Upload the .tar.gz file to your home directory in the cluster
 
*# Upload the .tar.gz file to your home directory in the cluster
 
*# Install the R package locally
 
*# Install the R package locally
*#* Run the following command: <code>R CMD INSTALL -l ~/R/x86_64-redhat-linux-gnu-library/2.15/ irace_2.2.tar.gz</code>
+
*#* <code>mkdir ~/R/x86_64-redhat-linux-gnu-library/3.5/</code> (At the moment it is not possible to put it anywhere else)
*#* Please note that the irace package must be located in ~/R/x86_64-redhat-linux-gnu-library/2.15/irace to be correctly located by R. At the moment it is not possible to put it anywhere else
+
*#* Run the following command: <code>R CMD INSTALL -l ~/R/x86_64-redhat-linux-gnu-library/3.5/ irace_2.2.tar.gz</code>
*#* If you are installing on the new rack, replace the 2.15 in the path by 3.5. This is because we have an updated version of R.
 
 
*# Add irace to IRACE_HOME, PATH and R_LIBS path (for example in your [https://en.wikipedia.org/wiki/Bash_%28Unix_shell%29#Startup_scripts .bashrc file] with the following commands)
 
*# Add irace to IRACE_HOME, PATH and R_LIBS path (for example in your [https://en.wikipedia.org/wiki/Bash_%28Unix_shell%29#Startup_scripts .bashrc file] with the following commands)
*#* <code>export R_LIBS_USER=~/R/x86_64-redhat-linux-gnu-library/2.15/</code>
+
*#* <code>export R_LIBS_USER=~/R/x86_64-redhat-linux-gnu-library/3.5</code>
*#* <code>export IRACE_HOME=${R_LIBS_USER}/irace/</code>
+
*#* <code>export IRACE_HOME=${R_LIBS_USER}/irace</code>
 
*#* <code>export PATH=${IRACE_HOME}/bin/:${PATH}</code>
 
*#* <code>export PATH=${IRACE_HOME}/bin/:${PATH}</code>
 
*#* <code>export R_LIBS=${R_LIBS_USER}:${R_LIBS}</code>
 
*#* <code>export R_LIBS=${R_LIBS_USER}:${R_LIBS}</code>
  +
  +
* In order to install EvoStick
  +
*# ''Coming soon''
  +
 
<!--** Installing new software in the cluster is not always easy. Therefore many modules are not up-to-date and you have to stick to the versions that are used by the cluster. Check before writing your software that you have approximately the same versions as on the cluster or you might encounter some surprises when running your experiments.-->
 
<!--** Installing new software in the cluster is not always easy. Therefore many modules are not up-to-date and you have to stick to the versions that are used by the cluster. Check before writing your software that you have approximately the same versions as on the cluster or you might encounter some surprises when running your experiments.-->
   
Line 92: Line 122:
   
 
* '''TODO'''
 
* '''TODO'''
  +
  +
== Development guidelines (git rules) ==
  +
  +
* See [[Demiurge_Development_Guidelines | 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 [https://gitlab.com/ GitLab] where we can host the git repositories for the students of [[PROJ-H-402_-_Computing_Project:_Rules | 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.

Latest revision as of 15:50, 29 September 2022

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.