Skip to content

StanfordASL/matsim-AMoD

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
doc
 
 
 
 
 
 
 
 
 
 

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].

Citing this work

F. Rossi, R. Zhang, Y. Hindy, and M. Pavone, “Routing Autonomous Vehicles in Congested Transportation Networks: Structural Properties and Coordination Algorithms,” Autonomous Robots, vol. 42, no. 7, pp. 1427–1442, 2018.

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. Autonomous Robots, vol. 42, no. 7, pp. 1427–1442.

About

A fork of MATSIM's DVRP module for rebalancing of self-driving vehicles in an Autonomous Mobility on Demand (AMoD) framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published