ARGoS

In this web page, you will find the instructions to install the ARGoS simulator and the ARGoS-Epuck plugin.

ARGoS Simulator

Even though it is possible to install ARGoS via different Linux distribution packages (e.g., Debian, OpenSUSE, ArchLinux), we recommand to download the source code and compile it.

The following is based on the offical installation instructions.

Downloading the source code

Download the source code of ARGoS from the official Github repository:

>> git clone https://github.com/ilpincy/argos3.git argos3

The source code is now in the argos3 directory.

Dependencies

In order to compile ARGoS, you will need to install the following dependencies:

See the official installation guide for more informations (e.g., if you want ARGoS to support Lua).

Compiling the source code

>> cd argos3
>> mkdir build
>> cd build
>> cmake ../src
>> make

ARGoS is now compiled but not installed on your system. It is possible to run ARGoS from the argos3binary located in argos3/build/core/. In order to use the binary, you first need to run the following commands:

>> cd build/
>> . setup_env.sh
>> cd core
>> ./argos3 -h

Install ARGoS

We recommand to install ARGoS on your system. To do so, execute the following commands:

>> cd argos3/build/
>> make doc
>> sudo make install

If everything went well, you should be able to run ARGoS from any terminal by typing:

>> argos3 -h

ARGoS-Epuck plugin

The ARGoS-Epuck plugin enables the use of the e-puck robot platform in ARGoS. It also provides the module software necessary to run a controller code on the real e-puck robot platform.

The following instructions are based on the offical installation instructions.

You can consult the following technical report for more informations on the architecture of the ARGoS-Epuck plugin:

L. Garattoni, G. Francesca, A. Brutschy, C. Pinciroli, and M. Birattari. Software Infrastructure for E-puck (and TAM). Technical Report TR/IRIDIA/2015-004, IRIDIA, Université Libre de Bruxelles, Brussels, Belgium, 2015. Download PDF

Downloading ARGoS-Epuck

Download the source code of ARGoS-Epuck from the official Github repository:

>> git clone https://github.com/lgarattoni/argos3-epuck.git argos3-epuck

The source code is now in the argos3-epuck directory.

Compiling the source code for the simulator

>> cd argos3-epuck
>> mkdir build_simepuck
>> cd build_simepuck
>> cmake ../src
>> make

Installing ARGoS-Epuck for the simulator

>> cd argos3-epuck
>> cd build_simepuck
>> sudo make install

You now can run the experiments in simulation.

Compiling the source code for the real robots

In order to compile the robot controller code for the real e-puck platform, you will need to install the cross compilation tool:

>> wget mobots.epfl.ch/mx31moboard/sdk/angstrom-2010.4-test-20100622-i686-linux-armv6-linux-gnueabi-toolchain-mobots.tar.bz2
>> sudo tar xvjf angstrom-2010.4-test-20100622-i686-linux-armv6-linux-gnueabi-toolchain-mobots.tar.bz2 -C /

If you have a 64-bits version of Linux with multi arch support, you need to add the support of the 32-bits arch (Debian or Ubuntu):

>> sudo dpkg --add-architecture i386
>> sudo apt-get update

Add missing libraries and fix a problem due to old libraries by running the following commands:

>> sudo apt-get install libc6:i368 libmpfr4:i386 libgmp10:i386
>> sudo ln -s $(find /usr/lib/i386-linux-gnu -name "libmpfr.so.*.*.*") /usr/lib/libmpfr.so.1
>> sudo ln -s $(find /usr/lib/i386-linux-gnu -name "libgmp.so.*.*.*") /usr/lib/libgmp.so.3

You now have to configure the cross-compilation of ARGoS3:

>> cd argos3
>> mkdir epuck_build
>> cd epuck_build
>> cmake -DCMAKE_BUILD_STYLE=Release -DCMAKE_TOOLCHAIN_FILE=PATH_TO_argos3-epuck/src/cmake/TargetEPuck.cmake ../src

Cross-compile and install ARGoS3:

>> make
>> sudo make install

You now have to configure the cross-compilation of the ARGoS-Epuck plugin:

>> cd argos3-epuck
>> mkdir epuck_build
>> cd epuck_build
>> cmake -DCMAKE_BUILD_STYLE=Release -DCMAKE_TOOLCHAIN_FILE=PATH_TO_argos3-epuck/src/cmake/TargetEPuck.cmake ../src

Cross-compile and install ARGoS-Epuck:

>> make
>> sudo make install

Preparing the real e-puck robots

The robots you will use in your experiments must contain the ARGoS3 core libraries and the ARGoS-Epuck plugin libraries.

Upload the ARGoS3 core libraries and the ARGoS-Epuck libraries from your computer on the robots:

>> cd argos3-epuck/scripts
>> ./upload.sh libs XX

where XX corresponds to the identification number of an e-puck.

Now, the robot is ready to receive and execute a controller.