This repository allows to run an autonomous mobility-on-demand scenario using the amodeus library.
Try it, orchestrate your own fleet of amod-taxis! Watch a visualization of a traffic simulation in San Francisco generated using this repository.
AMoDeus is jointly maintained and further developed by the Admins and Code Owners Christian Fluri (ETH Zürich), Joel Gächter (ETH Zürich), Sebastian Hörl (ETH Zürich), Claudio Ruch, Jan Hakenberg, ChengQi Lu (TU Berlin), and Marc Albert (nuTonomy).
Please let us know if you'd like to contribute!
- You may work on a Linux, Mac or Windows OS with a set of different possible IDEs. The combination Ubuntu, Java 8, Eclipse has worked well.
- Install Java SE Development Kit (version 8, or above)
- Install Apache Maven
- Install IDE (ideally Eclipse Oxygen or Photon)
- Install GLPK and GLPK for Java (Ensure you install compatible versions, e.g. here)
- Prerequisites are: GCC, Libtool, Swig and Subversion
- Install Git and connect to GitHub with SSH
The code format of the amod
repository is specified in the amodeus
profile that you can import from amodeus-code-style.xml.
Follow these step-by-step instructions or the video to set up, prepare, and run your first simulation. You can get a sample simulation scenario at https://www.amodeus.science/
- Clone amod
- Import to eclipse as existing maven project (Package Explorer->Import) using the pom.xml in the top folder of this repository.
- Set up Run Configurations for: (ScenarioPreparer; ScenarioServer; ScenarioViewer), chose the Working Directory to be the top Simulation Folder directory.
- Adjust the simulation settings in the 3 config files: av.xml for av fleet values (e.g. number vehicles), AmodeusOptions.properties for AMoDeus settings (e.g. max number of people) and config.xml for Matsim settings (e.g. output directory).
- Add JAVA VM arguments if necessary, e.g.,
-Xmx10000m
to run with 10 GB of RAM and-Dmatsim.preferLocalDtds=true
to prefer the local Dtds. - Run the
ScenarioPreparer
as a Java application: wait until termination - Run the
ScenarioServer
as a Java application: the simulation should run - Run the
ScenarioViewer
as a Java application: the visualization of the scenario should open in a separate window
Zurich |
San Francisco |
San Francisco |
TODO improve and adapt documentation, de-dockerize
Run docker-compose up
to run the San Fransisco simulation. This will run two services, aido-host
and aido-guest
, which will communicate over port 9382
.
The protocol is specified here.