Skip to content

mcapino/cobra-icaps2015

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published