A city-scale IoT-enabled ridesharing platform

12/02/2019 ∙ by Claudio Gambella, et al. ∙ 0

The advent of on-demand mobility systems is expected to have a tremendous potential on the wellness of transportation users in cities. Yet such positive effects are reached when the systems under consideration enable seamless integration between data sources that involve a high number of transportation actors. In this paper we report on the effort of designing and deploying an integrated system, including algorithms and platforms, that can operate in cities, in an Internet of Things (IoT)-aware fashion. The system was evaluated by enabling/disabling the IoT components of the system, highlighting the necessity of real-time data integration for efficient mobility services.



There are no comments yet.


page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Ridesharing consists in optimising the pickup and drop-off locations and routes of potentially-shared rides, using a fleet of vehicles. Ridesharing is typically solved in a centralised fashion across the whole vehicle fleet and across customers, as to minimise the total travel time of the operating vehicles, while taking into account the customer preferences (pickup and drop-off times, whether sharing is desired or not, etc.) [8, 7, 2]. Ridesharing emerged in the past few decades amongst the shared-mobility services as a means to limit traffic congestion and achieve environmental benefits. In such a context, external information about the traffic situation and events affecting travel times, collected by IoT devices, may be taken into account in the scheduling of ridesharing. IoT is used to optimise the allocation, routes, pickup and drop-off locations based on real-time information received from the IoT ecosystem (e.g., traffic jams, incidents, road closures, traffic lights, etc.). While the effects of traffic conditions have been studied in small-sized ridesharing systems [9, 10], the inherent complexity of managing city-scale systems hindered their analysis on traffic-aware scenarios [6]. In this paper, we propose a city-scale IoT implemented architecture and system to augment the optimisation-based ridesharing service proposed in [8]. Such IoT-enabled ridesharing service has been developed as part of the Brainport pilot site of the European Horizon 2020 AUTOPILOT project.

2 An IoT-Based Approach for Ridesharing

2.1 Architecture

Figure 1: IoT-Based Ridesharing Service Architecture

Figure 1 shows the architecture of the IoT-based ridesharing service that we implemented. As can be seen in this architectural diagram, a customer interacts with the service through a mobile app. Customer requests are communicated to the ride sharing service through a message broker and are processed in batches collected over regular time intervals. Shared cars communicate with the ridesharing service through a dedicated vehicle IoT platform. They act as ”things”. Cars submit their events (locations, customer pickup and drop-off confirmations, detected events) to the vehicle IoT platform. They receive customer assignment and route instructions from the ridesharing scheduler through the same IoT platform. The ridesharing service queries a routing engine for the travel times between pairs of nodes of the area of interest. The routing engine receives notifications about changes in traffic speeds and situations through the oneM2M IoT platform, and updates its maps accordingly. In this way, traffic information is taken into account in the determination of travel times, and the assignment provided by the ridesharing scheduler takes this into account.

A standard oneM2M-based context IoT platform is used to access traffic events communicated by external devices, road sensors, and vehicles. The vehicle IoT platform exchanges data with the context IoT platform through a oneM2M interworking gateway. Data are exchanged as follows.

  • In one direction, relevant traffic events affecting the operations of the shared car fleet are communicated from the oneM2M IoT platform to the vehicle IoT platform through the oneM2M interworking gateway. These may then be received by the shared cars to adjust their routes.

  • In the other direction, any events detected by the shared cars (e.g., accidents, hazards, etc.) are communicated from the vehicle IoT platform to the oneM2M IoT platform through the oneM2M interworking gateway.

2.2 Ridesharing Optimisation

The aim of the ridesharing service is to find an assignment of available vehicles to customers so as to optimise a performance indicator, such as vehicle travel times. Candidate vehicles are those with residual seat capacity, located at an acceptable distance from the customer. Each customer specifies his trip request as an origin-destination coordinate pair and, optionally, time preferences for pickup and drop-off (e.g., maximum waiting time). The ridesharing scheduler receives from a message broker a batch of customer requests at time interval and works as follows:

  • It obtains the customer requests submitted during the time interval .

  • It asks insertions costs to the vehicles indicated by the context mapping. This involves to solve a single-vehicle Dial-a-Ride problem (see, e.g., [5]

    ), via a greedy insertion heuristic.

  • It queries an optimisation module for an optimal assignment of vehicles to requests, which is modelled as a linear assignment problem (see, e.g., [4]).

  • If some customers cannot be served, it calls an internal rebalancing module, which runs the logic again (steps 2. to 3.) with looser customer time constraints and for idle vehicles only.

  • It sends the assignments and their corresponding routes to the customers and vehicles.

3 Evaluation

We validated our framework in two ways. Firstly, we ran large-scale (city-wide) simulations with virtual vehicles and customers. This allowed us to evaluate the benefits of the IoT-based approach performance in terms of quality of service. Secondly, we demonstrated the ridesharing service using 2 real automated vehicles. This allowed us to verify the feasibility of the approach.

3.1 Simulations

In this validation approach, we ran simulations in six regions in the Brainport area, Netherlands, with virtual fleets of cars and virtual customers. Here, we report on the Brainport simulations. As illustrated in the screenshot of Figure 2, the simulation area covers Eindhoven and Helmond and the highway that links both towns. From these simulations, we draw conclusions relative to the scalability of our proposal and the advantages of integrating it with traffic data generated by IoT devices.

Figure 2: Screenshot of the simulation user interface showing the study area in Brainport, the Netherlands. Markers indicate the position of vehicles and the number of passengers they are carrying.

In the Brainport simulations, we generate a fleet of virtual vehicles serving between and user requests during hour of service. Vehicles are assigned to requests every seconds: [8] showed that such frequency for batch assignment provides an optimum trade-off between level of service and computation time. We have several speed cameras connected to the oneM2M IoT platform which provide traffic events every 5 min. These cameras are placed on a stretch of the highway between Eindhoven and Helmond. We recorded traffic events from the actual speed cameras for an hour and then we played them back during simulations. To make simulations more realistic we also simulated more speed cameras on the circular road around Eindhoven. Having gathered this IoT data we aim to evaluate its effect on the ridesharing system.

Each vehicle has the capacity to carry up to four passengers at the same time, and its location is initialised randomly in one of the six areas of interest of Eindhoven, Larger Eindhoven, Helmond, Neunen, Geldrop, Whole area (grey box in Figure 2), as reported in Table 1. Users are simulated by generating ride requests, each consisting of the origin and destination coordinates for a single passenger. Passengers expect their requests to be attended within minutes. In case a request is not met, a rebalancing module attempts to serve it by assigning an idle vehicle as mentioned in the logic description in Section 2.2

. Similar to the initial vehicle locations, the origin of each request is calculated using six predefined areas with the probability indicated in Table

1. Once the origin is selected, the destination is selected following the conditional probability documented in Table 1. For example, if the origin is a random point in Larger Eindhoven, there is a probability of selecting a random point in Helmond as destination. Ride requests are grouped into batches of 10 seconds, and the batches are processed by the ridesharing service. Every batch has between and requests. For reproducibility purposes, ride requests are generated only once, offline, and then injected into the simulations at predefined time instants.

Bounding Box Vehicle Origin Destination
E 51.4584, 5.5157 51.4154, 5.4453 0.30 0.30 0.30 0.30 0.05 0.15 0.15 0.05
L 51.4927, 5.5323 51.4106, 5.4310 0.20 0.20 0.03 0.30 0.05 0.15 0.15 0.05
H 51.5016, 5.7155 51.4511, 5.6008 0.20 0.20 0.10 0.10 0.60 0.05 0.05 0.10
N 51.4814, 5.5756 51.4566, 5.5302 0.10 0.10 0.30 0.30 0.05 0.20 0.05 0.10
G 51.4366, 5.5831 51.4068, 5.5342 0.10 0.10 0.30 0.30 0.05 0.05 0.20 0.10
W 51.5021, 5.7249 51.4018, 5.3950 0.10 0.10 0.30 0.20 0.20 0.10 0.10 0.10
Table 1: Simulation parameters for the six areas of interest: Eindhoven (E), Larger Eindhoven (L), Helmond (H), Neunen (N), Geldrop (G), Whole area (W, grey box in Figure 2). Respectively, the columns indicate: the North East and South West coordinates of the bounding box of each area, the probability for the vehicles to have initial location in an area, the probability for the trips to have given origin and destination area.

The experiment setup consists of a custom traffic simulator that updates vehicle positions on a map considering the road network and traffic speeds per road link. The simulator is connected to the ride sharing service through the IoT platforms. The simulator is connected to the vehicle IoT platform to update vehicle routes and positions, and makes use of pre-recorded IoT event data sitting on the oneM2M IoT platform. So, from the service point of view, there is no difference between the simulator and a the real world. In addition, the simulator can be configured to simulate real-time traffic on selected roads, by updating the OSRM routing contract. We inserted IoT traffic data using this mechanism so as to simulate traffic jams in different roads. We are then able to use the routing engine in both the “IoT-enabled” and “IoT-disabled” modes. In both modes, vehicles move at the appropriate speeds as measured by the IoT devices, and update their locations accordingly. The ridesharing scheduler is only aware of the IoT measurements in the “IoT-enabled” condition. Thus, in the “IoT-disabled” condition, assignments are optimised assuming free flow traffic, i.e. traffic in all roads is fluid. The expectation is that this will lead the ridesharing scheduler to suboptimal recommendations that are detrimental to the service quality.

In the following, we show some results obtained for the area of interest and we compare the performance of the ridesharing service in both “IoT-enabled” and “IoT-disabled” scenarios. Figure 3 shows the evolution of the number of customers served over time, which is a common key performance indicator for ridesharing services (see, e. g., [1]). The growth of the served customers is larger for the “IoT-enabled” service. Making ridesharing aware of IoT data has a positive impact not only on the number of users served, but also ion vehicle utilisation, and on the number of customers in waiting condition, as shown in Figure 4. By analysing the the average number of customers per vehicle in Figure 5 and the number of customers waiting for a ride in Figure 6, it is possible to observe that the advantage of the “IoT-enabled” service over the “IoT-disabled” one is noticeable towards the end of the simulation. This is because neglecting the variations of the travel times due to traffic appears to have a cumulative effect during the simulation. It is not possible however to establish a strict dominance of the “IoT-enabled” service at each instant of the simulation for each of these indicators, as shown by the waiting customers’ plot in Figure 6. An important indicator for the customer satisfaction reported in Figure 7 is the detour time, computed as the difference from the customer preferred travel time at trip destination and the actual arrival time. In the “IoT-disabled” service, fewer customers are affected by delays of more than minutes.

Figure 3: Number of users served over the one-hour simulation, for the “IoT-enabled” and “IoT-disabled” ridesharing service.
Figure 4: Customer status at the end of the one-hour simulation for the “IoT-enabled” and “IoT-disabled” ridesharing service. The histogram reports the number of served customers, the number of waiting customers, and the number of customers traveling on the cars.
Figure 5: Average vehicle load during a one-hour simulation for the “IoT-enabled” and “IoT-disabled” ridesharing service.
Figure 6: Number of customers waiting for a car during a one-hour simulation for the “IoT-enabled” and “IoT-disabled” ridesharing service.
Figure 7: Cumulative detour time at the end of the one-hour simulation, for the “IoT-enabled” and “IoT-disabled” ridesharing service.

3.2 MaaS demonstration

In addition to the above simulation results, we further validated the feasibility of our architecture and approach in a real environment (Brainport) using real connected autonomous vehicles. The demonstration was carried out at the ITS Europe Congress, in Eindhoven, June 2019 [3]. In the demonstration, two automated vehicles were used. A customer wanting to travel from the automotive campus of Helmond to Eindhoven booked a shared ride through our ride sharing service, which assigned one of the autonomous vehicles to the customer request. The vehicle, which was initially parked, drove itself autonomously from its parking location to the customer. This was operated by an automated valet parking (AVP) system developed by the AUTOPILOT project partners. The vehicle then picked up the customer and headed to Eindhoven. The ride sharing was also demonstrated in a broader context of mobility as a service, where platooning with the second automated vehicle was tested.

The demonstration was successfully repeated several times before and during the ITS Europe Congress. The preparation period increased our confidence in the feasibility of deploying the developed ridesharing service prototype onto the real World.

4 Conclusion

The paper proposed an IoT architecture for city-scale ridesharing services. The impact of traffic events affecting the vehicle travel times has been assessed via a simulation in a geographical area in the Netherlands. The results advocate for the need of IoT-aware ridesharing in urban environments, as an approach to improve the number of served customers as well as the utilization of the vehicles, and to limit the inconveniences experienced by customers, such as waiting time and detour time. The service has been successfully demonstrated during the ITS Europe Congress, 2019. Future work will focus on IoT simulations of larger scale.


  • [1] N. Agatz, A. Erera, M. Savelsbergh, and X. Wang (2012) Optimization for dynamic ride-sharing: a review. European Journal of Operational Research 223 (2), pp. 295 – 303. External Links: ISSN 0377-2217, Document, Link Cited by: §3.1.
  • [2] J. Alonso-Mora, S. Samaranayake, A. Wallar, E. Frazzoli, and D. Rus (2017) On-demand high-capacity ride-sharing via dynamic trip-vehicle assignment. 114 (3), pp. 462–467. Cited by: §1.
  • [3] (2019) Autopilot at the 13th ITS European Congress. Note: https://autopilot-project.eu/iot-for-cad-the-success-of-autopilot-at-the-13th-its-european-congress/ Cited by: §3.2.
  • [4] D. P. Bertsekas (1990) The auction algorithm for assignment and other network flow problems: a tutorial. Interfaces 20 (4), pp. 133–149. Cited by: 3rd item.
  • [5] J. Cordeau and G. Laporte (2003) The dial-a-ride problem (DARP): variants, modeling issues and algorithms. Quarterly Journal of the Belgian, French and Italian Operations Research Societies 1 (2), pp. 89–101. Cited by: 2nd item.
  • [6] D. Fiedler, M. Čáp, and M. Čertickỳ (2017) Impact of mobility-on-demand on traffic congestion: simulation-based study. In 2017 IEEE 20th International Conference on Intelligent Transportation Systems (ITSC), pp. 1–6. Cited by: §1.
  • [7] V. Pandey, J. Monteil, C. Gambella, and A. Simonetto (2019) On the needs for maas platforms to handle competition in ridesharing mobility. arXiv preprint arXiv:1906.07567. Cited by: §1.
  • [8] A. Simonetto, J. Monteil, and C. Gambella (2019) Real-time city-scale ridesharing via linear assignment problems. Transportation Research Part C: Emerging Technologies 101, pp. 208–232. Cited by: §1, §3.1.
  • [9] X. Wang, M. Dessouky, and F. Ordonez (2016) A pickup and delivery problem for ridesharing considering congestion. Transportation letters 8 (5), pp. 259–269. Cited by: §1.
  • [10] H. Xu, J. Pang, F. Ordóñez, and M. Dessouky (2015) Complementarity models for traffic equilibrium with ridesharing. Transportation Research Part B: MethodologicalProceedings of the National Academy of Sciences 81, pp. 161 – 182. External Links: ISSN 0191-2615, Document, Link Cited by: §1.