
\subsection{SUMO}
\label{sub:sumo}

SUMO is an open source traffic simulation tool that offers macroscopic as well as microscopic simulation of vehicle mobility~\cite{lopez2018microscopic}.
SUMO includes models for different types of ``vehicles'', including, among others, cars, bicycles, and even pedestrians.
Due to its large feature set, it has become the de-facto standard for traffic simulation and is used even beyond the transport community, e.g., \cite{beilharz2021towards}.

Traffic scenarios are, among other things, defined by road networks and vehicle traffic.
The road network includes roads and their (sub-)lanes as well as exclusive lanes for cyclists and pedestrians, or road-side infrastructure such as traffic lights.
Furthermore, connections between these lanes and traffic lights can be configured.

When modeling vehicle traffic, users specify demand for a specific road segment per vehicle type and can adjust vehicle-specific parameters of SUMO's simulation model to control their respective behavior.
In general, vehicle parameters are usually specified in the vehicle type declaration (\textit{vType}), applying the changes to all instances of the respective \textit{vType}, e.g., to all cars.
An alternative, however, is to obtain multiple \textit{vType} realizations which typically differ in at least one parameter by using so-called \textit{vTypeDistributions}.
This way, when spawning a new vehicle, SUMO randomly picks a specific \textit{vType} from the \textit{vTypeDistribution} and instantiates the vehicle's parameters accordingly, e.g., cars can thus have individual maximum velocities.

In SUMO, vehicle behavior is, among other things, defined by
\textit{Car Following (CF) models} for the longitudinal kinematic behavior,
\textit{Lane Change (LC) models} for the lateral kinematic behaviour,
and \textit{junction models} for the behavior at junctions and intersections.

Despite including several of these models for cars and trucks, SUMO does not provide a dedicated movement model for cyclists.
Instead, cyclists are simulated by modeling them either as slow cars or fast pedestrians.
Both of these approaches use movement models of the corresponding vehicle type and adapt their respective shape and kinematic characteristics (e.g., velocity and acceleration profiles) to match cyclists.
While this is obviously a rough approximation, it is unlikely to reflect the behavior of real-world cyclists~\cite{grigoropoulos2019modelling}.


\subsection{SimRa}
\label{sub:simra}

SimRa is an open source project started in 2019 which aims to identify hotspots of near miss incidents in bicycle traffic~\cite{karakaya2020simra, temmen2022crowdsourcing}.
For this, the project follows a crowdsourcing approach in which cyclists record their daily rides using a smartphone application available for both Android and iOS.
Today, the project has managed to record more than 65,000 rides, most of them in Germany, approximately half of them in Berlin.

During the ride, SimRa records the GPS trace at 1/3Hz and the motion sensors, i.e., (linear) accelerometer, gyroscope, and rotation vector at 50Hz;
the motion sensor readings are aggregated by calculating a moving average with a window size of 30 and then keeping only every fifth value.
This was done for saving memory, battery, and mobile data usage while still being able to reconstruct the ride and detect near miss incidents.
After the ride, SimRa shows the recorded ride as a route on the map which is then annotated, cropped (for privacy reasons), and uploaded by the user.
In this paper, we only use measured data from the ride files and disregard user-annotated data on near miss incidents.

\subsection{Intersection Behavior of Cyclists}
\label{sec:rw_intersection}

\textcite{kaths2016integration} aim to address the shortcomings of SUMO's intersection model for cyclists.
For this, they record video footage of an example intersection in Munich and derive cyclist trajectories.
From the set of trajectories, they select one representative trajectory for each combination of start and end points in the intersection and make it available to SUMO via an external API.
While this is a significant improvement in realism over SUMO's intersection model, it is hard to generalize to other intersections and cannot cover the plurality of trajectories chosen by real-world cyclists.


Similar to \textcite{kaths2016integration}, \textcite{grigoropoulos2022traffic} analyze video footage of intersections with the goal of better understanding the intersection behavior of cyclists.
Their focus, however, is not on deriving an improved intersection model but rather on identifying best practices for traffic planners working on intersections with high volumes or cycling traffic.
\textcite{grigoropoulos2019modelling} propose to adjust the default traffic infrastructure inside SUMO to achieve more realistic cyclist behavior at intersections.
Here, they focus on the number and shape of bicycle lanes which, however, are highly specific and differ from intersection to intersection.

\subsection{Longitudinal Behavior of Cyclists}
\label{sec:rw_longitudinal}

\textcite{twaddle2016modeling} examine four models for the longitudinal kinematic behavior of cyclists, i.e., acceleration and velocity.
The first, called Constant Model, is the most simple one and is the SUMO default:
Cyclists accelerate and decelerate at a constant rate until the desired velocity is reached.
This model works well when breaking to a full stop but leads to frequent acceleration jumps between a fixed positive or negative value and zero, which is not realistic cyclist behavior.
In the Linear Decreasing Model, maximum acceleration is reached, when starting the acceleration maneuver and then linearly declines until the desired velocity is reached.
This model is outperformed by all other models.
In the third and fourth models, Polynomial and Two Term Sinusoidal Model, acceleration or deceleration start at zero and then gradually grow over time.
In their paper, \textcite{twaddle2016modeling} analyze the video recordings of 1030 rides in four intersections in Munich, Germany and conclude that the Polynomial Model has overall the most realistic cyclist behavior but is, however, not trivial to implement in SUMO.

A different approach of achieving realistic cycling behavior in SUMO is taken by \textcite{heinovski2019modeling}.
The authors simulate multiple traffic scenarios in which accidents between cars and cyclists occur to investigate the effects of wireless communication between cyclists and other road users in the context of accident prevention.
In order to obtain realistic cycling behavior for SUMO, they set up a novel Virtual Cycling Environment (VCE) featuring an actual bicycle that is connected to the simulation via multiple sensors.
The VCE supports interactive empirical studies in a physically safe environment and allows the authors to record the cyclists' behavior in the form of trajectories.
They use a set of recorded trajectories from different cyclists for emulating realistic cycling behavior inside SUMO to simulate accidents.
Although their approach produces trajectories from cyclists created with an actual bicycle, it does only achieve limited realism, since no other road users were present when recording the trajectories.
Furthermore, deriving a realistic set of trajectories requires a large number of test persons.

\subsection{Acceleration}
\label{sec:analysis_acceleration}

\begin{figure}
  \centering
    \includegraphics[width=\columnwidth]{pdf/analysis_max_acceleration_dist_fit.pdf}
    \caption{Histogram of the empirical maximum acceleration capabilities of cyclists found in the SimRa dataset and the fitted EMG. The red scalar represents the default value in SUMO.}
    \label{fig:analysis_max_acceleration_dist_fit}
\end{figure}

For analyzing cyclist acceleration, we extracted acceleration maneuvers from the dataset.
For this, we slightly adapted the approach of \cite{ma2016modeling} and found \num{140736} acceleration maneuvers in the cleaned dataset.
Distribution fitting processes showed that the Burr (Type XII) distribution~\cite{burr1942cumulative} Burr($a_{max}; \Phi\mbox{*}$) fits the data best (see also \cref{fig:analysis_max_acceleration_dist_fit}).

Comparing the acceleration capability of actual cyclists (the SimRa dataset) with the default SUMO bicycle model, differences become apparent. By default, SUMO specifies $a_{max}^{SUMO}$ with 1.2m/s\textsuperscript{2}.
This deviates significantly from the findings in the SimRa dataset where only 7.7\% of the acceleration maneuvers are executed with a maximum acceleration of 1.2m/s\textsuperscript{2} or higher.
Furthermore, the empirical distribution is rather wide, indicating a broad variance across different cyclists and cycling situations, which is in stark contrast to SUMO's strategy of choosing a fixed maximum value.

\subsection{Velocity}
\label{sec:analysis_velocity}

To gain insights into cyclists' behavior regarding their velocities, we calculate the maximum velocity for each ride file in the cleaned SimRa dataset.
Using distribution fitting, we found that the S\textsubscript{$U$} distribution \textcite{johnson1949systems} JSU($v_{max};\Phi\mbox{*}$) fits the empirical data best (see also \cref{fig:analysis_max_velo_dist_fit}) and is therefore a valid fit for the specification of the empirical distribution of $v_{max}^{SimRa}$.

On the other hand, SUMO sets $v_{max}^{SUMO}$ at 5.56m/s by default.
This deviates significantly from the findings in the SimRa dataset where 86.7\% of the rides have a higher maximum velocity.
Bringing this together with the acceleration findings, real-world cyclists often (but not always) cycle much faster than SUMO cyclists and vary much more in their acceleration behavior.

\begin{figure}
  \centering
    \includegraphics[width=\columnwidth]
    {pdf/analysis_max_velo_dist_fit.pdf}
    \caption{Histogram of the empirical maximum velocity data and the fitted JSU. The red scalar represents the default value in SUMO.}
    \label{fig:analysis_max_velo_dist_fit}
\end{figure}

\subsection{Left-turn Behavior at Intersections}
\label{sec:analysis_pathfinding}

\begin{figure}
\includegraphics[width=\columnwidth]{pdf/analysis_im_loc_default.pdf}
\caption{
    Qualitative comparison between the SUMO default intersection model and real world data given by SimRa for the intersection between Alexanderstraße and Karl-Marx-Allee in Berlin.
    SimRa shows two distinct left-turn paths (i.e., a direct and an indirect one) whereas SUMO default only models the direct path.
}
\label{fig:analysis_im_traj_default}
\end{figure}

According to the SimRa dataset, cyclists either behave like cars (using the normal road) or pedestrians (using the pedestrian crossing) to take left-turns at intersections.
We call the former a \textit{direct} left turn and the latter an \textit{indirect} left turn.

SUMO's default model only provides cyclists with the \textit{direct} left turn behavior, thus significantly limiting the simulation's degree of realism (see also \cref{fig:analysis_im_traj_default}).

Taking a closer look at real world intersections in the SimRa dataset revealed that there are two distributions of left-turn behavior in practice.
In the first, the \textit{indirect} path is chosen with a probability of 57 $\pm$7\%, while on intersections following the second, almost all cyclists choose the \textit{indirect} path.
Randomly investigating intersections of both types revealed that the first type has no specific characteristics while the second type actively encourages cyclists to indirect turns through the design of the intersection, e.g., by having a traffic island in the center.
Since such information cannot be identified in \ac{OSM} data reliably and in an abstract way, we will consider only the first distribution in the following.

SUMO and real world data differ decisively in all metrics considered, namely acceleration, velocity, and left-turn behavior at intersections.
However, these three metrics are crucial for realistically simulating bicycle traffic.
In the following, we try to adapt SUMO to simulate a more realistic cyclist behavior.

\subsection{Longitudinal Kinematic Behavior}
\label{sec:concept_param}

In \cref{sec:analysis}, we derived maximum acceleration and maximum velocity characteristics from the SimRa dataset.
We now use them to improve the longitudinal kinematic behavior of the default SUMO bicycle model.
Contrary to the default parameterization, we use theoretical distribution functions instead of scalar values for the exposed kinematic parameters.
This enables the model to produce more realistic bicycle simulation results since the heterogeneity of real world cycling styles is reflected.

We derive the theoretical distributions by aggregating the respective features from \cref{sec:analysis_acceleration,sec:analysis_velocity}.
For this, we rely on the \textit{law of large numbers} which states that the average of the results obtained from a large number of trials of the same experiment eventually converges to its true expected value~\cite{etemadi1981elementary}.
In the context of this work, this means that individual rides do not matter but that the aggregates of multiple rides will converge towards their actual expected value given a sufficiently large number of rides.

In our analysis, we found no correlation between $a_{max}$ and $v_{max}$ and, hence, decided to use both independently in our kinematic model.
For the implementation, we used \textit{vTypeDistributions} following the results of our previous analysis and sample both distribution independently.

It should be noted that through the parameterizations with theoretical probability density functions SUMO's \textit{speedDev} parameter becomes obsolete as variance between the kinematic preferences among cyclists are already represented by the distribution function.

\subsection{Left-turn Behavior at Intersections}
\label{sec:concept_im}

To improve the degree of realism in cyclists' left-turn behavior at signaled intersections, we use an adapted version of the external intersection model (a Python script that steers cyclists via SUMO's \textit{Traffic Control Interface}) as proposed by \textcite{kaths2016integration} which is based on previously recorded real-world trajectories as their guidelines for cyclists across a single predefined intersection.
Our approach algorithmically synthesizes the cyclists' trajectories (i.e., their respective guidelines across the intersection) for any regular four-way intersection and can therefore be seen as a step towards a more universal solution.

The left-turn maneuver distribution, as we call it, specifies the probability of the cyclists choosing either the \textit{direct} or the \textit{indirect} path to cross the intersection.
For this, we use the distribution derived in \cref{sec:analysis_pathfinding} as the default for our intersection model.
Users, however, can adjust the distribution if desired or needed for their specific purposes (see also the exception cases in \cref{sec:analysis_pathfinding}).

\subsection{Simulation Setup}
\label{sec:eval_setup}

As SUMO users can import real-world scenarios from OSM data, simulation results can be compared to real-world data and thus be evaluated.
For our evaluation, we chose specific traffic scenarios that are representative and likely to showcase both strengths and weaknesses of our extensions.
For evaluating the longitudinal behavior (acceleration and velocity), we chose urban traffic scenarios with long straight sections.
As an example location, we use \textit{Oranienstraße} in Berlin.
For evaluating left-turn behavior, we chose compact scenarios around signaled intersections.
For this, we study three intersections in Berlin, namely at \textit{Mehringdamm} (see also \cref{fig:mehringdamm_sumo}), \textit{Warschauer Straße}, and \textit{Alexanderstraße}.

\begin{figure}
\includegraphics[width=\columnwidth]{plots/im_eval/mehringdamm_screenshot.png}
\caption{
    Excerpt from the \textit{Mehringdamm} scenario in SUMO.
    The scenario was created using OSM data only.
}
\label{fig:mehringdamm_sumo}
\end{figure}

For our evaluation, we use SUMO version 1.7.0 and a step size of \SI{1}{\s} in simulations.
The SUMO default results are obtained with SUMO's \textit{vType} \texttt{Bicycle} for cyclists.
Thus, the maximum acceleration and maximum veocity are scalars and set to \SI{1.2}{\m\per\s\squared} and \SI{5.6}{\m\per\s} respectively.


\subsection{Acceleration}%
\label{sec:eval_accel}

\begin{figure}
\includegraphics[width=\columnwidth]{pdf/eval_acc.pdf}
\caption{
    Histogram of SUMO's, SimRa's, and our approach's observed maximum accelerations inside the example \textit{Oranienstraße} scenario.
    While the maximum accelerations are heterogeneously distributed in the real-world data and our approach, the default values are clustered.
    Here, the observed accelerations deviate from the configured default value (1.2m/s\textsuperscript{2}) due to traffic effects inside the simulation.
}
\label{fig:eval_acc}
\end{figure}

\cref{fig:eval_acc} shows the empirical distributions of the maximum acceleration among cyclists inside a specific simulation scenario and the corresponding real world data.
It is evident that real-world acceleration maneuvers show heterogeneous maximum rates of acceleration.
Apparently, the default parameterization is not suitable to describe this acceleration behavior among cyclists, as it provides homogeneous maximum acceleration rates within the simulation.
Our new parameterization is significantly closer to the real-world behavior in the SimRa data set with its highly heterogeneous behavior across cyclists.
That our new parameterization is not a perfect fit indicates that there are probably additional influence factors, e.g., the traffic density or the the weather situation, not covered in our kinematic model which aggregates data from all SimRa rides.

\subsection{Velocity}%
\label{sec:eval_velocity}

\begin{figure}
\includegraphics[width=\columnwidth]{pdf/eval_velo.pdf}
\caption{
    Histogram of SUMO's, SimRa's, and our approach's observed maximum velocities inside the example \textit{Oranienstraße} scenario.
    While the maximum velocities are heterogeneously distributed in the real-world data and our approach, the default values are clustered.
}
\label{fig:eval_velo}
\end{figure}

\cref{fig:eval_velo} shows the empirical distributions of the cyclists' maximum velocities in the same simulation and the real-world scenario.
As with maximum acceleration rates, maximum velocities vary widely among real-world cyclists.
Once more, the default parameterization is not able to reflect this characteristic.
Our new parameterization is thus significantly closer to the real-world behavior of cyclists.
As for acceleration behavior, the fact that our new parameterization is not a perfect fit to the real-world data indicates that there are likely to be additional influence factors not captured in our model.

\subsection{Left-turn Behavior at Intersections}%
\label{sec:eval_turn}

\begin{figure}
\includegraphics[width=\columnwidth]{pdf/eval_im_loc_im.pdf}
\caption{
    Qualitative comparison between the results of our approach for the intersection model and real-world data given by SimRa for the intersection between Alexanderstraße and Karl-Marx-Allee in Berlin.
    SimRa shows two distinct left-turn paths (i.e., a direct and an indirect one), which are also modeled by our approach.
}
\label{fig:eval_im_traj_new}
\end{figure}

As shown in \cref{fig:eval_im_traj_new}, which shows the intersection between Alexanderstraße and Karl-Marx-Allee in Berlin, the 2D trajectories produced by the new intersection model converge towards the trajectories of the SimRa data set.
While the trajectories produced by SUMO's default bicycle model only offer direct turns (we omit those in the figure), the new model is significantly closer to real-world intersection behavior of cyclists.

\subsection{Combining Intersection Model and Kinematic Extensions}%
\label{sec:eval_combined}

To achieve a holistic comparison between SUMO's default bicycle model and our new approach, we measure the durations of left-turn maneuvers at multiple intersections and compare the empirical distributions of these measurements.
To specifically monitor the impact of our changes, we do not include any ride time before or after the intersection in the measurements.

Based on this, we identified the following three findings:


\begin{figure}[t]
\includegraphics[width=\columnwidth]{pdf/im_warschauer_edcf.pdf}
\caption{
    ECDFs of the measured durations for crossing the scenario \textit{Warschauer Straße}.
    It is apparent that our approach outperforms SUMO's default as the measured durations converge towards the real-world data.
}
\label{fig:im_warschauer}
\end{figure}

First, our new approach outperforms the default at most intersections, as its measured durations converge with real data, see for example \cref{fig:im_warschauer}.
Especially when given the option to use the \textit{indirect} path, cyclists take longer to cross an intersection as they need to stop at an additional traffic light.
This is consistent with real-world data as we find it in the SimRa dataset at multiple intersections.


\begin{figure}[t]
\includegraphics[width=\columnwidth]{pdf/im_mehringdamm_edcf.pdf}
\caption{
    ECDFs of the measured durations for crossing the scenario \textit{Mehringdamm}.
    The results when using our new approach are only slightly more realistic than when using the standard SUMO model.
    However, when the \textit{direct} path is blocked for cyclists, the simulation results outperform the default approach.
}
\label{fig:im_mehringdamm}
\end{figure}

Second, in some cases, we were able to improve our results by adjusting the left-turn behavior distribution following the second distribution discussed in \cref{sec:analysis_pathfinding}.
The ``lane only'' results in \cref{fig:im_mehringdamm} were achieved by prohibiting cyclists from using the \textit{direct} path.
Obviously, it takes much longer for cyclists to cross the intersection than SUMO's default simulation model suggests.
When examining SimRa trajectories at this particular intersection, almost all cyclists chose the \textit{indirect} path as the infrastructure guides cyclists to do so.
Hence, manually adjusting the left-turn behavior distribution for such intersections is crucial.

\begin{figure}[t]
\includegraphics[width=\columnwidth]{pdf/im_alex_edcf.pdf}
\caption{
    ECDFs of the measured durations for crossing the scenario \textit{Alexanderstraße}.
    Here, our new approach is not more precise than SUMO default behavior.
}
\label{fig:im_alex}
\end{figure}

Third, at a few intersections, the results of our approach do not yet sufficiently reflect real-world bicycle behavior (see \cref{fig:im_alex}).
We discuss possible reasons for this in \cref{sec:disc}.

\subsection{Methodological Challenges}
\label{sec:method}

Our initial assumption was that the behavior of cyclists in a single intersection cannot be generalized to all intersections~\cite{kaths2016integration} but that the average behavior across a large number of intersections will be close enough to cyclists' behavior at arbitrary intersections.
This seems to be true only for a (relatively large) subset of intersections -- apparently, the intersection behavior of cyclists is more heterogeneous than expected.
We believe that this is due to the fact that we averaged across all intersections in our dataset whereas there are apparently different classes of intersections that we did not account for.

Primarily, the intersection design is likely to have a strong impact:
Consider the example in \cref{fig:mehringdamm_traffic_island} where a traffic island partially blocks direct left turns and where markings on the ground suggest indirect turns.
As another example, the intersection Bismarckstraße/Leibnizstraße had no direct left turns in the SimRa dataset.
In this intersection, the reason would be that cyclists legally have to use a bike lane.
When using that bike lane, a direct left turn would require cyclists to first pass through a row of parked cars, then to cross four car lanes of a major street before being able to turn left.

Aside from that, other possible influence factors include the amount and velocity of traffic (higher numbers of cars or faster cars can be expected to lead to more indirect turns), gender and age group distributions of cyclists in the respective intersections, as well as weather and light conditions or the grade of the street.
In future work, we plan to explore these possible influence factors, focusing on the intersection design which we deem to have the strongest impact.

Another problem results from inaccuracy in the dataset used:
GPS and motion sensors of smartphones provide only imprecise insights into actual ``micro''-behavior of cyclists.
Using a broad group of cyclists as input will always result in this limitation which we tried to overcome based on preprocessing and filtering of the SimRa dataset.
Alternatives would be additional sensors (especially cameras) on bicycles or on intersections as in~\cite{kaths2016integration}.
These, however, have the inherent limitation that they will either limit the number of bicycles producing data or the number of intersections covered.


\subsection{Dataset Choice as Ground Truth}
\label{sec:problem_simra}

In this paper, we used the SimRa datasets as input for our analysis as it is, to the best of our knowledge, the first public dataset comprising a large number of rides that actually publishes individual rides in an anonymized but non-aggregated form.
We need to keep in mind, however, that SimRa was designed for a different purpose:
For example, the SimRa app records motion sensors at 50Hz but only persists every fifth value of a moving average over 30 values.
While this suffices for detecting near miss incidents~\cite{karakaya2020simra}, it further limits the resolution of motion data (and thus any conclusions we can draw from that).
Furthermore, the SimRa data which we used were recorded over a period of 1.5 years.
During such as long period of time, physical changes to the bicycle infrastructure (both temporary and permanent) will occur, thus, adding additional noise to the data.

Finally, SimRa relies on crowdsourcing as a data collection method which often leads to participation inequality.
As a result, individual users will be overrepresented in some intersections and street segments and not represented in others.
Furthermore, based on the data collection method using smartphones, the user group of SimRa is likely to have a slight gender bias towards males and an age group bias towards cyclists between the ages 20 and 50.
These biases will, of course, be reflected in our analysis results and cannot be compensated unless other cycling datasets become available in non-aggregated form.

\subsection{Generalizability}
\label{sec:problem_general}

Although the SimRa dataset contains rides from almost 100 regions, we only considered rides from Berlin for our data analysis and the development of cyclists' left turn behavior.
The main reason for this is that almost half the rides are from the Berlin region~\cite{karakaya2022cyclesense}.
To derive both turn model and acceleration behavior, however, we need data from "dense" street segments with many rides which are hence only available for Berlin at the moment.
This is further aggravated by the fact that the preprocessing step (see \cref{sec:analysis}) further reduces the number of eligible rides and with that the number of intersections with sufficient left-turn maneuvers.
Nevertheless, this does not pose a threat to the generalizability of our findings -- at least for Germany -- as traffic infrastructure guidelines throughout Germany are standardized.
Furthermore, adjacent countries such as Austria often also have comparable infrastructure.
We hence believe that our findings also apply to at least these countries.



\section{Introduction}
\label{sec:intro}
\input{content/1_introduction}

\section{Background}
\label{sec:background}
\input{content/2_background}

\section{Related Work}
\label{sec:rw}
\input{content/2_RW}

\section{Cycling Behavior in SimRa and SUMO}
\label{sec:analysis}
\input{content/3_analysis}

\section{Improving SUMO's Bicycle Simulation}
\label{sec:concept}
\input{content/4_concept}

\section{Evaluation}
\label{sec:eval}
\input{content/6_eval}

\section{Discussion}
\label{sec:disc}
\input{content/7_discussion}

\section{Conclusion}
\label{sec:conclusion}
\input{content/8_conclusion}

\printbibliography
\end{document}
