Skip to content
A fork of MATSIM's DVRP module for rebalancing of self-driving vehicles in an Autonomous Mobility on Demand (AMoD) framework
Jupyter Notebook HTML MATLAB Java Python CSS
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
JMatIO_071005
MATLAB_utils
doc
matlabcontrol
src/main
LICENSE
Plot_MATSIM_results.ipynb
README.md
user_guide.pdf

README.md

DOI

matsim-AMoD

A fork of MATSIM's DVRP module [1] for rebalancing of self-driving vehicles in an Autonomous Mobility on Demand (AMoD) framework. Implements the rebalancing algorithms presented in [2] and [3]. The framework was used for simulations in [4].

Requirements

JRE (for MATSim), MATLAB (for the rebalancing algorithms in [2] and [3]), a MATLAB LP solver. The current LP solver is IBM ILOG CPLEX: a different LP solver (e.g. Gurobi or MATLAB's linprog) can be used by modifying the file run_optimization.m in MATLAB_utils.

Quick start

Prepare a configuration file to specify the problem parameters. Sample configuration files are provided in src/main/resources/configs - the relevant sample problem inputs are also provided in this repository, but you may have to specify absolute paths to them.

Specify the location of the configuration file in src/main/java/RunAMoDExample.java .

Configure the location of the road map in the MATLAB optimizer by editing the file MATLAB_utils/runOptimization.m (line ~52). A sample road map of New York City is provided in LoadRoadGraphNYOSM.m . Note that the capacity of the roads in LoadRoadGraphNYOSM do not necessarily match the capacity of the roads in the MATSim configuration file (which are reduced to account for exogenous traffic). To ensure that MATLAB and MATSim employ the same road capacities, edit line ~89 in LoadRoadGraphNYOSM.m.

Ensure that 1. the road maps used by MATLAB and by MATSim are identical (use networkwriter.py to generate a MATSim map from the MATLAB map - see the User Guide for further information) and 2. the path of the optimization output in MATLAB is correctly specified in the configuration file.

Run src/main/java/RunAMoDExample.java to start the simulation.

The User Guide in the root folder provides a more detailed introduction to the matsim-AMoD package.

References

[1] M. Maciejewski, J. Bischoff, S. Hörl, K. Nagel (2017) Towards a testbed for dynamic vehicle routing algorithms; submitted to PAAMS-TAAPT.

[2] Zhang R, Pavone M (2016) Control of robotic Mobility-on-Demand systems: A queueing-theoretical perspective. Int. Journal of Robotics Research 35(1-3):186--203

[3] Zhang R*, Rossi F*, Pavone M (2016) Routing Autonomous Vehicles in congested transportation networks: structural properties and coordination algorithms. In Robotics: Science and Systems. Ann Arbor, MI, July, 2016.

[4] Rossi F, Zhang R, Hindy Y, Pavone M (2017) Routing Autonomous Vehicles in congested transportation networks: structural properties and coordination algorithms. Submitted to Autonomous Robots.

You can’t perform that action at this time.