1. Introduction
In the past decade, the scientific community has introduced the concept of Vehicular Sensor Networks (VSNs) where the connected and autonomous cars are seen as nodes of an heterogeneous sensor network [
1]. This has been motivated by the development of Intelligent Transportation Systems (ITS) where the connected and autonomous vehicles are the central elements. These vehicles will communicate with each other within a Vehicular Ad hoc Network (VANET) through Dedicated Short-Range Communications (DSRC) based on the IEEE 802.11p standard and using the 5.9 GHz band. Furthermore, these new types of vehicles will include multitude of sensing technologies (cameras, ultrasound sensors, laser radars, inertial sensors) that provide relevant information for the ITS, such as the state of the traffic, detection of collisions or detection of available parking places. Therefore, connected and autonomous cars are considered as key elements for sensing the environment not only for the ITS but also for the smart cities [
2,
3] thanks to the characteristic mobility of cars that increases the coverage area of the sensor network.
Although the connected car of future VSNs is still at development, nowadays commercial cars already include wireless technologies such as WiFi. Indeed, Gartner foresees that for 2020 one in five vehicles will have some form of wireless network connection [
4]. From now on, more intelligence will be added to vehicles, starting from driving aided systems, to connected cars and finally to the fully autonomous cars [
5]. In fact, Ford has announced the intention to deliver a fully autonomous vehicle for ride sharing by 2021 [
6].
The development of the automotive industry towards the VSNs has motivated new emerging vehicular applications [
7]. Examples of applications go from drastically reducing the number of accidents to minimizing the transport cost or reducing the traffic congestion, among others like improving the driving experience or reducing the environmental impact of cars. Vehicular applications can be classified into three groups depending on its main objective [
8]: (
i) safety applications if their objective is to reduce accidents; (
) traffic management applications if their objective is to clear up traffic; and (
) value-added services for the rest of applications with objectives such as providing mobility to more people.
Recent advances in sensing and communications made possible systems that provide accurate and real-time detection of vehicle park space availability [
9,
10]. Usually, the detection of the occupancy of a parking place is done using sensors such as ultrasound sensors [
11], magnetometers [
12] or optical sensors [
13]. On the value-added services category, parking place management applications intend to solve the time and energy consuming problem of finding available parking spaces. These applications also have to deal with management issues such as the reservation of places, the payment systems, the access control to the parking lots among others. For example, in [
13,
14], a Wireless Sensor Network (WSN) is deployed in a parking lot in order to monitor the occupancy of the parking. A VANET based smart parking system is presented in [
15], providing real-time navigation for the cars and monitoring the occupancy of the parking lot. A similar system is found in [
16], where the authors also include a mechanism for reserving a specific parking place. There are other works focusing on the design of methods for discovering free parking places in the streets of a city using ultrasound transmitters [
11] or the design of methods for selecting the parking place for traditional cars in order to minimize the distance walked by the user from the parking place to its destination [
17]. However, far too little attention has been paid to the development of applications based on VSNs that take into account the coexistence between the autonomous cars and the traditional cars.
As in any other Wireless Sensor Network (WSN) involving mobile nodes, the position of the nodes of a VSN must be known at any time because the sensor measurements are meaningless if the information about the position where they were taken is not available. Furthermore, in the particular case of VSNs, the position of the vehicle is also necessary for the autonomous cars to safely drive and park by itself [
18]. Usually, vehicles deduce their position from the combination of GPS measurements with inertial measurements. However, Line Of Sight (LOS) to at least four positioning satellites is needed to obtain an acceptable position estimation, which limits the availability and the accuracy of the technology in GPS denied environments such as urban canyons or indoor parking lots. To circumvent the problems of GPS denied environments, widely used approaches in the literature to substitute the GPS measurements are the Received Signal Strength (RSS), the Time of Arrival (ToA) and the Time Difference of Arrival (TDoA) both in anchor based solutions and in cooperative approaches [
19]. In the past decade, many vehicular guidance systems have been developed. An example can be found in [
20] where the authors employ an anchor based solution by deploying Roadside Units (RSUs) all over a parking lot allowing parked vehicles to communicate space availability with each other by joining a VANET. These approaches require Vehicle to Vehicle (V2V) and Vehicle to Infrastructure (V2I) communications to periodically exchange state information and accurately estimate the vehicle position with the received RF signals from RSUs. The positioning accuracy of these systems depends directly on the number and placement of RSUs, which considerably increases the monetary cost of the system. For this reason, authors developed cooperative systems where, instead of using RSUs, the surrounding cars are considered as anchor nodes. Examples of cooperative systems can be found in [
21,
22].
In the actual paradigm, traditional, connected and autonomous vehicles will have to coexist for a certain period of time as the market evolves. Accordingly, to open new market opportunities, traditional parking lots should offer in their systems parking applications for autonomous vehicles as an added value. Therefore, it is interesting to design new solutions that allow autonomous vehicle users to coexist with traditional cars and park in the same parking lot with the minimum added infrastructure.
Within this framework, in this work, we take profit of our accumulated experience in WSNs [
23,
24,
25,
26] to design a self-automated parking lot on top of a VSN with a single RSU placed at the entrance of the parking. Upon entering the parking lot, vehicles use V2I communication to exchange the parking map and the information about available places (detected employing an underlying sensor network) with the parking RSU. Then, the system communicates to the vehicle which is the best parking place, selected with the aim of improving the accessibility to the parking for the next autonomous cars. The vehicle is guided to the assigned parking place thanks to the cooperation of all the autonomous vehicles in the parking lot. Note that parked autonomous vehicles can be used as anchors to improve the accuracy in position estimation. This strategy allows to mitigate the need to deploy RSUs because parked vehicles know their exact position, have the necessary technology and may remain parked for long periods of time. The main contributions of our work follow:
Design of a smart parking system on top of a VSN with minimum added infrastructure considering that autonomous cars will coexist with traditional cars.
Definition of the accessibility rate as a measure of parking place availability for the autonomous car.
Design of a searching algorithm to select the best parking place for an autonomous car in terms of the accessibility rate.
A simulation testbed that compares the results of our designed searching algorithm with the optimum case.
This paper is organized as follows. In
Section 2, we introduce the parking model and the problem statement. The new design method for searching the best parking place is described in
Section 3, whereas the simulation results appear in
Section 4. Finally, the conclusions of this work are presented in
Section 5.
3. Tree Based Searching Algorithm (TBSA)
In this section, we describe the designed TBSA for selecting the best parking place for an autonomous car. TBSA is applied following the next scenario: the human responsible for the autonomous car decides to park in a specific parking lot. At this moment, inside the parking lot, there will be a specific number of cars parked, both traditional cars and autonomous cars. Obviously, the new car can only be parked in free parking places, defined by the set
, which contains the indices of the free parking places. However, the autonomous car cannot be parked in all of the free parking places, as previously stated, and only a subset of the free parking places are available,
. Thus, a free parking place belongs to
if the following condition is fulfilled:
Notice, however, that when an autonomous car parks in a specific place, the subset of free parking places available for the next autonomous car changes. Therefore, it is meaningful to design methods that grant the best possible parking conditions for the next autonomous cars. Several criteria can be used, but, in this work, we focus on the common good and we assume that the best parking place is the one that maximizes the accessibility rate (see Equation (
8)) for the new cars. Note that, once parked, the new car will act as an anchor for other incoming autonomous cars and will increase the positioning accuracy of those cars inside its communications range.
Figure 3 shows an example of this situation where the free parking places are marked as red unfilled squares and the free parking places accessible for the autonomous car are marked as green unfilled squares. Whenever a new autonomous car enters the parking, the system will select one of the free accessible parking places in order to maximize the
for future autonomous cars, that is,
where
are the free accessible parking places once there is a new autonomous car parked in the parking place
j. Note that the number of total free places,
F, now is lower than in Equation (
8) because now there is one more car parked in the parking. The computation of the optimum parking place involves the computation of the
for all the possible places where the autonomous car can be parked, that is, all the free accessible places,
C, which can be a high complex process if the number of free accessible places is high. Note that for every free accessible parking place, we have to compute again the number of available anchor nodes at every position of the road,
, and for every parking place,
. Thus, if the complexity of one iteration of computing the available anchor nodes is
, the total complexity of the optimum algorithm will be
. For this reason, in this work, we design a suboptimal method with lower computational complexity.
Let us express the roads of the parking as a tree where the nodes of the tree are the intersections and the ends of the roads as depicted in
Figure 4a. In particular, we will define a directed out tree routed at node 0 [
38] as depicted in
Figure 4b, which corresponds to the entrance of the parking lot. Only the shortest path to a point in the parking is considered in the tree, that is, if one position of the parking can be accessed from different paths, only the shortest path will be included in the tree. For every road position of the map, we will store the arc of the tree that involves this position—for example, all the positions from the entrance to the intersection 1 will belong to the arc
.
Remember that a parking place is only accessible for an autonomous car if the car can go from the entrance to the parking place with enough positioning accuracy. For example, for a parking place at node 7, all the way from the entrance to the node 7 must be covered with enough anchor nodes to have the desired positioning accuracy. This involves all the road positions associated to the arcs , and . If any of these positions do not receive from enough anchor nodes, the parking place will be labeled as not accessible for the autonomous car.
Following this idea, we designed a method that covers all the directed out tree and selects the parking place for the autonomous car as the closest to the first point of the road that does not fulfill the anchor node condition. The block diagram of the designed method is depicted in
Figure 5. We start from the entrance (node 0) and first look at all the points belonging to the first arc
; if all of them receive from two or more anchor nodes, then we search in the following arc. In this case, it could be arc
or arc
. By default, the method will choose the one involving lower numbers, but any of them could be selected. If, again, all the positions receive from more than two anchor nodes, we search for the following arc—in this case, arc
. If all the road positions again fulfill the condition, we will search in the following arc—in this case, arc
as we already searched in all the arcs outgoing from node 1. Note that the algorithm will not select the arcs outgoing from node 2 until all the arcs from its parent node (node 1) are selected. The algorithm will follow this procedure until it detects one road position that receives from less than two anchor nodes. Once this position is found, we will select the closest free accessible parking place to the selected road position. The purpose of this algorithm is to create long directed paths inside the tree in order to give access to as many parking places as possible. As regards the computational complexity of the algorithm, note that, in the worst case, that is, when all the positions in the road fulfill the conditions, our algorithm will search the entire tree, which are the same number of positions that the optimum algorithm does at every iteration. Again, if we consider
, the computational complexity of one iteration, the computational complexity of the TBSA in the worst case is
whereas the computational complexity of the optimum method is
. Therefore, the designed system, TBSA reduces the computational complexity by a factor
C that depends on the number of free accessible places.
4. Simulation
In this section, we first describe the parking layout and then we present our simulation results. Our goal is to demonstrate the effectiveness of the method presented in this article comparing it with several other methods in terms of the accessibility rate.
In order to evaluate the performance of the proposed technique, the system is tested in one scenario based on the parking of the Engineering School at the
Universitat Autònoma de Barcelona simulated using MATLAB in a Macbook Pro with a 2.2 GHz Intel i7 processor and 8 Gb of RAM. A layout of the simulated parking can be seen in
Figure 1 and is composed of 300 places divided into five branches with 60 parking places each one. The only RSU available in the parking is placed at the entrance near the first intersection. This parking has only one entrance and one exit that are in the same place.The street belonging to the entrance and exit measures 100 m long while the other four streets oriented in the
x-axis direction measure 77.5 m. On the other hand, the
y-axis oriented street measures 60 m. All streets are 5 m in width. Finally, the distance between the centers of two consecutive places is 2.5 m like the distance between two consecutive road points. Note that the structure of many parking lots is similar to the one described here. There can be modifications in the number of branches of the parking, or the number of places, but, in general, any parking structure can be built by replicating the structure depicted here. Note also that, in the case of a parking with multiple entrances, we can create different trees for every entrance and apply the algorithm designed in
Section 3 for the corresponding tree.
In order to test the performance of the designed TBSA method for the selection of the best parking place, we compare here four different methods: (i) the static method, that is, the stationary state of the parking before the autonomous car arrives and without introducing any new car; (ii) the random method, that is, a method that randomly selects the parking place for a new car; (iii) the TBSA described in
Section 3; and (iv) the optimum method, that is, an exhaustive search algorithm that computes the
for all possible parking places and selects the optimum one.
To do so, we simulate a stationary state of the parking at a given time where the vehicles are randomly distributed around the parking places using a uniform distribution. As previously stated, we assume that the distribution of the vehicles around the parking lot is known by the RSU. Then, we compute the number of free places, free accessible places for the autonomous cars and the
. From this situation, we compute the selected places for the random, TBSA and optimum methods and the accessibility rate is evaluated varying the occupancy rate, penetration rate and the ratio between the communication range and the maximum distance between two points of the parking lot. The last parameter of variation is selected because the effect of the communication range in the
depends on the size of the parking lot. In other words, the results obtained here can be extrapolated to larger parking lots and larger communication ranges. For the selection of the communications range, we adjusted the values following the results published in the literature based on measurement campaigns under the IEEE 802.11p standard [
39,
40]. Take into account that, although in general parking lots don’t usually have lots of walls that can block the signal, the communications will be done in a Non Line Of Sight (NLOS) environment. The walls are not the only object that can block a signal and produce NLOS conditions. In a parking lot, there will be columns and there will be some walls (for the stairs or elevators, for example), but, more importantly, there will be a lot of cars parked in the parking place and the cars will block the signal [
41] and produce NLOS conditions. Note that one car can only partially block the signal, but if there is a series of cars parked side by side (which is the typical case for a parking lot), the blockage of the signal will be higher and the communications will be done in NLOS conditions. In particular, in the simulated scenario, we defined a communications range up to 60 m and the maximum distance of the parking lot is 105 m.
As we are dealing with a stochastic process while placing the cars, all results in this article are shown as the average of 10,000 iterations. In addition, because it is not in the scope of this article, it is assumed that the position estimations of vehicles are error free, which means that the autonomous car is always able to park while receiving from at least two anchors. It is also assumed that the communication range does not vary and is the same for all the nodes. Moreover, the communication range is referred to as in the simulations for abbreviation reasons.
With a defined occupancy rate of 80%,
Figure 6 and
Figure 7 show how accessibility rate varies, on the one hand, while the ratio between the communication range and the maximum distance of the parking grows for a fixed penetration rate of 5%, 10% and 25%; on the other hand, the penetration rate varies for three fixed ratios, between the communication range and the maximum distance of the parking, of 14%, 19% and 24%. Given the static
by the current parking state, the random, optimum and TBSA are computed to further evaluate how
behaves. Note that, here, only a new autonomous car enters the parking lot, so the results shown are the improvements of the methods for the case of adding one autonomous car.
In
Figure 6, when the ratio radius
is near 80%, the
equals 1, which means that the whole parking is accessible for the upcoming autonomous cars. However, this is only in this specific case for the simulated parameters of occupancy rate and penetration rate. For any fixed parameters of occupancy rate and penetration rate, there will be a ratio radius
, where the
equals 1 determined by the size of the parking lot. Similarly, in
Figure 7, the values of the occupancy rate and ratio radius
will determine the minimum value of the penetration rate that achieves
.
It is interesting to remark that the accessibility rate can degenerate if the new autonomous car placed at a given parking spot does not make a new place accessible while occupying one that was previously free. This can easily be seen following the next example: if of the total 300 parking spaces, 10 are free and two of these are accessible by a new autonomous car, is thus 2/10. Now, if a new autonomous car arrives and parks in a free and accessible parking space and does not make a new parking space accessible for another autonomous car, then there are nine free and one accessible parking spaces, so now is 1/9, lower than before.
Comparing the aforementioned methods, it can be seen in
Figure 6 and
Figure 7 that the improvement of the random method over the static method is small for all of the cases. In contrast, our designed TBSA method approximates to the optimal method for all cases. Quantitatively,
Table 1 summarizes that and presents the obtained
for different values of the occupancy rate, the penetration rate and the ratio radius
. For example, for an occupancy rate of 80%, a penetration rate of 10% and a ratio radius
of 24% the
before the introduction of any new car is 67.98%. From the optimum method we know that the
can be improved up to 77.1%. The TBSA obtains an
of 75.45%, which means that it improved 81.91% of the maximum possible improvement, which is the improvement rate, whereas the random method only achieves 8.66% of the maximum improvement. Similarly, for
,
and ratio radius
the TBSA achieves 96.08% of the maximum improvement, whereas the random method only achieves 2.8%.
As expected, in
Figure 6, as the ratio
increases, so does the accessibility rate due to anchors having larger coverage areas; thus, it is more likely that a free parking space and the road that leads to it will be covered by two or more areas of coverage of the anchors. In addition, these graphs present a staggered form due to the specific topology of the parking since the centers of the parking spaces are separated 2.5 m, and, therefore, increasing the radius a little does not guarantee covering a whole parking space, that is, to win a new accessible parking space and increase accessibility rate. On the other hand, in
Figure 7, while the proportion of autonomous cars against traditional cars grows, the accessibility rate also grows due to the increased number of anchors covering a larger part of the parking area.
Figure 8 shows how the
grows as a function of the occupation of the parking lot. It is worth mentioning that, for occupancy rate values close to 100%, it is not possible to increase the accessibility rate because all free available spaces are covered by two or more anchors so these spaces are all accessible. In that situation, when a new autonomous car parks, the accessibility rate will decrease below the static accessibility rate and finally to zero, as it happens in
Figure 8.
Notice that the designed tree based searching algorithm obtain increments in the accessibility rate similar to the optimum ones for all the parameters tested. Furthermore, this increment is achieved with a low complex algorithm—in contrast with the optimum method that computes the for all the free accessible parking places.
Since now, we have evaluated the performance of the methods in terms of
after the addition of one more autonomous car in the parking lot. In order to see the performance of the systems when more autonomous cars enter the parking lot, we modified the simulations to include
n consecutive autonomous cars, that is, we generate a stationary parking. Then, we introduce one by one different autonomous cars in the places selected by the algorithms, and, finally, we evaluate the
as a function of the number of additional autonomous cars. The results of this new scenario are depicted in
Figure 9. We can observe how the algorithms increase the
with the number of cars until they reach a stationary state where the
cannot be longer improved. Note that, if the autonomous car occupies a parking place and thus does not increase the number of accessible parking places, the
will decrease. If we compare the methods, we can observe that the TBSA outperforms the optimum method after the inclusion of four new cars. Note that the optimum method is computed as before and it is not the optimum method when taking into account the best placement of
n successive autonomous cars. The computation of the optimum for
n successive autonomous cars is an NP-hard problem as it involves the iterations over all the possible combinations of placing
n successive cars into the available places, taking into account that the introduction of a new autonomous car will modify the available places. Again, the performance of the random method is far from the optimum method as expected.
From the simulated results, we evaluated the performance of the designed TBSA. We can conclude that the designed algorithm is close to the optimum method in the case of including a new autonomous car and it can perform better than the optimum method when successive autonomous cars enter the parking lot. This is due to the tree based structure employed that grants access to different branches of the parking, and in this way, improves the accessibility rate.