This repository allows to run an autonomous mobility-on-demand scenario using the amodeus library (https://github.com/idsc-frazzoli/amodeus).
Try it, orchestrate your own fleet of amod-taxis! Watch a visualization of a traffic simulation in San Francisco generated using this repository.
- 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.
- 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. You can get a sample simulation scenario at http://www.idsc.ethz.ch/research-frazzoli/amodeus.html
- 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 |
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.