This repository contains the code and data for a thesis project examining the systemic effects of autonomous vehicles on urban mobility patterns, with a case study focusing on Rotterdam.
Full paper: paper/paper.md
Background: The introduction of autonomous vehicles (AVs) represents a potential paradigm shift in urban transportation, but their system-level impacts remain uncertain. While AVs promise benefits like reduced parking demand and improved safety, questions persist about their effects on congestion, mode choice, and overall urban mobility patterns.
Objective: This research investigates how the introduction of self-driving cars will affect urban transportation systems, focusing on which undesired effects might emerge and what policies could effectively mitigate them while preserving benefits.
Methods: An agent-based model combined with mesoscopic traffic simulation was developed to simulate AV adoption in Rotterdam. The model integrates empirical data on travel patterns, road networks, and mode choice behavior. A full-factorial analysis explored 144 scenarios examining four key uncertainties: AV costs, perceived value of time, space efficiency, and induced demand. Additionally, 72 policy combinations were tested to evaluate intervention effectiveness.
Results: AV adoption is primarily driven by cost, with significant uptake occurring only when costs fall below 50% of current levels. Space efficiency emerges as the critical factor determining system outcomes: inefficient AVs (density factors ≥1.0) lead to severe congestion, while efficient AVs (density factors ≤0.5) can maintain or improve traffic flow even at high adoption rates. Notably, cyclists and transit users are more likely to switch to AVs than car users, potentially undermining sustainable transport goals. Traditional policy interventions show limited effectiveness, with no single approach consistently improving system performance across different scenarios.
Implications: Traditional policy interventions show limited effectiveness across different scenarios, suggesting that cities need to develop proactive, adaptive policy frameworks to manage AV adoption, focusing on space efficiency requirements, shared use and integration with existing sustainable mobility options rather than simple restrictions or pricing mechanisms.
model/
- Core simulation codemodel.py
- Main model implementation (documentation)agent.py
- Agent behavior and decision making (documentation)data.py
- Data loading and preprocessing (documentation)traffic.py
- Traffic simulation integration using UXsimrun_model.py
- Experiment execution scripts (experimental setup)scenarios_policies.py
- Scenarios and policies used (appendix D)
data/
- Input data files (full documentation)- Population data (
population_data_pc4_*.pkl
) - from CBS - Travel time matrices (
travel_time_distance_google_*.pkl
) - from Google Maps API - Trip generation probabilities (
trips_by_hour_chances.pickle
) - from ODiN 2023 - Origin-destination matrices (
od_chance_dicts_periods.pickle
) - from V-MRDH model - Network data (
polygons.pkl
) - derived from OpenStreetMap - Vehicle ownership data (
rijbewijzen_personenautos.pkl
) - from CBS mobility data
- Population data (
network/graphs/
- Road network filesmerged_network.graphml
- Combined Rotterdam road network (documentation)
network/create_network.ipynb
- Network processing notebook
results/
- Simulation outputs- Various subfolders for different experiments (results analysis)
img/
- Generated plots and visualizations
prototyping/
- Development notebooksODiN_analysis.ipynb
- Trip pattern analysispc4.ipynb
- Population and car ownership analysis
travel_api/
- Travel time data collectiontravel_time_distance_google.ipynb
- Travel time collection and processing
v_mrdh/
- Origin-destination data processingv_mrdh_od_demand.ipynb
- OD matrix processing
model/analysis_single_run.ipynb
- Single simulation run analysismodel/analysis_ff.ipynb
- Scenario and policy analysis
.github/workflows/
- CI configuration- Python environment setup
- Model test run
See the full model documentation and experimental setup for detailed information about the implementation and experiments.
The model requires several data files to run. Key files include:
- Network Data:
network/graphs/merged_network.graphml
- Population and Geographic Data:
data/population_data_pc4_65coded.pkl
data/areas_mrdh_weighted_centroids.pkl
data/polygons.pkl
- Travel Time Data:
data/travel_time_distance_google_transit.pkl
data/travel_time_distance_google_bicycling.pkl
- PC4-level versions of above
- Trip Pattern Data:
data/trips_by_hour_chances.pickle
data/od_chance_dicts_periods.pickle
data/rijbewijzen_personenautos.pkl
- Population data: CBS (Dutch Central Bureau of Statistics)
- Road network: OpenStreetMap
- Travel times: Google Maps Distance Matrix API
- Trip patterns: ODiN 2023 (Dutch National Travel Survey)
- O-D matrices: V-MRDH transport model