PushAndSwap: An open-source library for polynomial-time, sequential multi-robot path planning. Copyright (c) 2013, Ryan Luna, Athanasios Krontiris, Kostas Bekris Contact Information: - rluna/AT/rice.edu - tdk.krontir/AT/gmail.com - kostas.bekris/AT/cs.rutgers.edu See LICENSE file for open source license agreement. ------------ Dependencies ------------ The following dependencies are necessary to build PushAndSwap: CMake Boost.Graph (v1.49 or greater) ----------- Compilation ----------- Once the dependencies are installed, PushAndSwap can be compiled in the typical CMake manner using the following commands: mkdir build cd build cmake [-DCMAKE_INSTALL_PREFIX=/path/for/installation] ../ make ------------ Installation ------------ Optionally, the compiled library, header files, and demo programs can be installed to the default system install directory (or to the specified install prefix CMAKE_INSTALL_PREFIX) using: make install ----- Usage ----- The PushAndSwap class requires just two inputs: a graph, and a list of agents to plan on the graph. The problem induced by the agents on the graph can be solved by invoking the solve() method on the PushAndSwap class. If a solution exists, the plan computed can be retrieved by the getPlan() method. Optionally, the smooth() method can be invoked to heuristically remove redundancies in the final path. A simple demo program (PASDemo) is bundled with the PushAndSwap source that demonstrates all of the functionality described above. PASDemo reads in an instance file that defines the graph in GraphML format as well as all agents and their start/goal configurations on the graph. Sample instances and graphs are supplied as well.