What is the AMoD technology?
Autonomous Mobility-on-Demand is a novel technology in which self-driving vehicles transport customers on-request from their desired pick-up to their desired drop-off destination.
The technology promises to revolutionize transportation systems as it may offer levels of comfort as high a private transportation at the personal and environmental cost of public transportation.
AMoDeus is a tool designed to solve the AMoD design problem.
What can AMoDeus do for you?
- Rapid simulation results for your publication: verify your algorithms in a high-fidelity environment with ease.
- Quantificative evaluation of potential for new cities: rapidly understand what potential autonomous mobility-on-demand has for your geography of interest without the need of lengthy software implementations.
- Stand on the shoulders of programmers: we provide a viewer, automated analysis for AMoD systems, benchmark dispatchers and many other features in an open-source basis. Benefit from a well-tested and maintained codebase.
- Contribute to the community: become a contributor and make your work available and visible to the global research community on our platform.
AMoDeus is Open-Source.
This makes it absolutely free to use and open for code contributions.
To get started, visit our GitHub repository and follow the instructions provided in README.md:
You will also need a specific transportation scenario. Either download one of the scenarios provided on this page or create your own based on other datasets.
AMoDeus uses various libraries including MATSim. It therefore opens up to you the full range of possibilities offered by MATSim without the need to deal with its full complexity at once.
For assistance, input, feedback please don't hesitate to contact us, join our Slack channel, or send us a pull request on GitHub!
You may work on any operating system with a Java-compatible IDE. This repository demonstrates how to use the AMoDeus library in your project.
We provide installation guidelines as well as various demos:
- Take control of the fleet by writing your own dispatcher for a fleet of robotic taxis and send them around in the city, see this demo.
- Customize your analysis: The analysis of an autonomous mobility-on-demand system requires the processing of large amounts of data. We have simplified this, run your custom-analysis faster as shown in this demo.
- Change the routing of the vehicles: you would like to take control of the path your taxis take in the city. Start here.
- Move from unit-capacity taxis to taxis with many seats: write a shared dispatcher as shown here.
First Steps in AMoDeus
Step by Step
- Clone amod repository
- Import as existing Maven project using the pom.xml file in the top folder of this repository
If you do not have a scenario yet
- Set up Run Configurations for ScenarioCreator
- Creates several and directories in Working Directory for later usage
- Use argument chicago or san-francisco
- Run the ScenarioCreator as Java application
- Wait until termination
- Set up Run Configurations for ScenarioPreparer, ScenarioServer, and ScenarioViewer
- Chose the Working Directory to be the top Simulation Folder directory
- Optional: Adjust the simulation settings (e.g. max number of people, output directory) in the config file
- Run the ScenarioPreparer as Java application
- Wait until termination
- Run the ScenarioServer as Java application
- The simulation should run
- Run the ScenarioViewer as Java application
- The visualization of the scenario should open in a separate window
Source Code & Contribution
The AMoDeus source code is available on github in this repository, it is open-source and regularly updated and maintained by the AMoDeus team. We are very happy to add you as a contributor, please contact us if you are interested.
We have the following design principles that we enforce whenever possible, when writing contributions, please adhere to them:
- Files are as short as possible and have less than 200 lines of code in any case.
- Minimal redundancy.
- For mathematical operations that require exact precision we use the tensor library.
- Code should be documented and covered by tests.
For interested researchers, we present some AMoDeus scenarios available for testing and extension. The scenarios can be generated using amodtaxi or amod's ScenarioGenerator resulting in basic settings. The resulting directories contain all necessary files that can be used with the sequence ScenarioPreparer, ScenarioServer and ScenarioViewer as explained above, and in the main GitHub repository.
- Chicago: this scenario is based on the taxi data set by the City of Chicago. The data available is abstracted and therefore has to be re-sampled during scenario creation.
- San Francisco: this scenario represents a static demand extracted from San Francisco taxi data available online. Only a small slice of the original dataset from: M. Piorkowski, N. Sarafijanovic-Djukic and M. Grossglauser is included. You can download the full dataset from here and copy it to the working directory before creating the scenario.
The functionalities provided in amodtaxi can also be used to create your own scenarios from datasets.
If you use AMoDeus, we are happy if you cite us:
Claudio Ruch, Sebastian Hörl, and Emilio Frazzoli. Amodeus, a simulation-based testbed for autonomous mobility-on-demand systems. In: Proc. 21th IEEE Conf. Intelligent Transportation Systems, 2018.
The following research is based on AMoDeus software:
- Ruch, Claudio, et al. "Quantifying the efficiency of ride sharing" IEEE Transactions on Intelligent Transportation Systems (2020).
- Sieber, Lukas, et al. "Improved public transportation in rural areas with self-driving cars: A study on the operation of Swiss train lines." Transportation Research Part A: Policy and Practice (2020).
- Hörl, Sebastain, et al. "Fleet operational policies for automated mobility: A simulation assessment for Zurich" Transportation Research Part C: Emerging Technologies (2019)
- Fluri, Christian, et al. "Learning to operate a fleet of cars" IEEE Intelligent Transportation Systems Conference (ITSC) (2019).
- Albert, Marc, et al. "Imbalance in mobility-on-demand systems: A stochastic model and distributed control approach" ACM Transactions on Spatial Algorithms and Systems (TSAS) (2019).
- Carron, Andrea, et al. "Scalable model predictive control for autonomous mobility-on-demand systems" IEEE Transactions on Control Systems Technology (2019).
- Ruch, Claudio, et al. "The value of coordination in one-way mobility-on-demand systems" IEEE Transactions on Network Science and Engineering (2019).
AMoDeus™ was developed by the Institute of Dynamic Systems and Control at ETH Zürich in collaboration with the Institute for Transport Planning and Systems at ETH Zürich.
Contributors in alphabetical order:
Institute for Dynamic Systems and Control: Andrea Censi, Andreas Aumiller, Christian Fluri, Claudio Ruch, Emilio Frazzoli, Jan Hakenberg, Joel Gächter, Lukas Sieber, Marc Albert, Maximilien Picquet, Nicolo Ormezzano, Francesco Seccamonte, Samuel Stauber.
Institute for Transport Planning and Systems: Sebastian Hörl.
For feedback, inputs or to have an espresso break with us in Zürich, please contact Claudio Ruch: