Skip to content
/ emap Public

Evolutionary Multi-Agent Planner (EMAP) is a solution for the multi-agent programming contest 2018.

License

Notifications You must be signed in to change notification settings

maltesie/emap

Repository files navigation

EMAP

EMAP is a planning framework developed in the scope of the master's thesis titled 'Using Artificial Evolution for Planning in Self-Organizing Robot Systems'. It intends to solve the multi-agent programming contest of 2018.

Installation Guide

EMAP requires ROS melodic and Python 3. The following is a step-by-step guide to install all necessary components to run EMAP.

ROS setup

Under Ubuntu, install ROS melodic according to the official ROS installation guide.

In arch-based systems, ROS can be installed from the AUR repository. You need an AUR package manager like yay:

yay -S ros-melodic-ros-base

After installing ROS, initialize it by

sudo rosdep init
rosdep update

You might want to add the global ROS workspace to your bashrc:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

Python packages

EMAP is implemented with python3 and the following python3 packages have to be installed, e.g. by using pip. In Ubuntu, the packages can be installed by

sudo pip3 install scipy, networkx

Arch-based systems use python3 as a default and the necessary packages can be installed by using

sudo pip install scipy, networkx

Third-party software and compile

Copy the contents from https://github.com/graphhopper/graphhopper to the third-party/graphopper folder. The zip containing the massim simulation server in the folder my_mapc/third_party has to be unpacked. After that, in the my_mapc folder, run

catkin_make

Usage

The massim server can be started within the my_mapc folder by running

bash ./massim.sh

There are two options for starting the server. Option 0 starts the simulation for one team. The server then expects only a team A. The evolutionary and randomized versions of EMAP for this configuration can be started by running

bash ./emap_evolution.sh

or

bash ./emap_random_a.sh

Option 1 in the massim configuration starts a competition and the server expects two teams, i.e. team A and team B. If you want to run a competition between the randomized and the evolutionary version of EMAP, the following two scripts have to be run in separate terminals:

bash ./emap_evolution.sh

and

bash ./emap_random.sh

Evaluation and visualization

The plots shown in the thesis' evaluation chapter can be reproduced by running

python3 ./evaluate.py

in the my_mapc folder. This will generate the plots in the my_mapc/plots folder and produce latex-formatted output for the statistics presented in the tables in the thesis.

About

Evolutionary Multi-Agent Planner (EMAP) is a solution for the multi-agent programming contest 2018.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published