No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
experiment
src/main
.classpath
.gitignore
.project
README
pom.xml
run-experiment.sh

README

COBRA -- Complete decentralized method for on-line multi-robot trajectory planning in valid infrastructures
===========================================================================================================

This repository contains an implementation of COBRA algorithm and the dataset used for experimental comparision as described in the paper:

M. Čáp, J. Vokřínek, and A. Kleiner, “Complete decentralized method for on-line multi-robot trajectory planning in valid infrastructures,” in International conference on planning and scheduling, ICAPS 2015, 2015.

Dependencies:
-------------

The following software must be installed on the machine where the experiment is executed: 
 * Java JDK 7 or higher
 * Maven
 * GNU parallel
 * R programming language with packages: plyr, ggplot2, rcolorbrewer, gridExtra

In Ubuntu 14.04, all the dependencies can be installed by running

$ sudo apt-get install -y openjdk-7-jdk maven parallel r-base r-cran-plyr r-cran-ggplot2 r-cran-rcolorbrewer
$ sudo Rscript -e "install.packages('gridExtra', repos='http://cran.us.r-project.org')"

1. Recomputing the whole experiment:
--------------------------------

To recompute the entire experiment, run the following command:

$./run-experiment.sh

2. Executing single simulation run:
-----------------------------------

2.1 Compiling
---------
The dependencies are managed using Maven. To compile the project and create a jar archive with dependencies run:	

$ mvn package

The jar archive with all dependencies will be in:

target/map4rt-1.0-SNAPSHOT-jar-with-dependencies.jar

Alternatively, you can open the project in your favorite IDE, i.e. in Eclipse.

2.2 Getting started
---------------

A simulation is run by executing cz.agents.map4rt.ScenarioCreator class.

Parameters:
  -problemfile 		Path to the xml file with problem description.
  -method			Specifies method to be used to solve the problem. One of {COBRA, ORCA}.
  -maxtime			Specifies the maximum time (in miliseconds) considered during trajectory planning.
  -timestep			The discretization of time-dimension used during trajectory planning.
  -timeout          The timeout in miliseconds after which the simulation will be terminated
  -ntasks           Number of random tasks to generate for each robot
  -seed             Random seed used to generate the random tasks for the robots
  -showvis          Turns on/off the visualization.
  
Detailed information can be derived from the source code, in particular from the method cz.agents.admap.creator.ScenarioCreator.createFromArgs().  

Example: 
--------

The following command will run the COBRA on the example problem instance described in file experiment/instances/ubremen-r27/28.xml with 4 tasks for each robot randomly generated with random seed 8.

$java -jar target/map4rt-1.0-SNAPSHOT-jar-with-dependencies.jar cz.agents.map4rt.creator.ScenarioCreator -method COBRA -problemfile experiment/instances/ubremen-r27/28.xml -ntasks 4 -timestep 650 -maxtime 600000 -timeout 600000 -seed 8 -showvis

2.3 Visualization control: 
----------------------

When the visualization window pops-up, use the following keys to toggle various useful visualization layers:
  m - missions/tasks of agents
  t - trajectories of agents
  g - planning graph
  p - polygons representing obstacles 
  
Dragging with right mouse button pressed moves the viewport. Mouse wheel zooms the view.