Parking has been becoming increasingly challenging for drivers with the rapid population/car ownership growth in urban areas. According to a report from INRIX, in the US, a driver spends on average 17 hours a year searching for parking spots . Also, the limited visibility in a narrow parking space causes high chances of vehicle collisions – about 40% of car accidents with physical loss or damage occur during parking .
Automated parking systems, which enable vehicles to find available parking spots and park automatically, provide a promising solution. Extensive research has been conducted to address trajectory planning and control problems related to automated parking. For instance, to generate collision-free trajectories in parking lots, heuristic search-based , sampling-based  or optimization-based approaches  may be adopted. Meanwhile, automobile manufacturers have been equipping new commercial vehicles with various automated parking functionalities, such as the Ford Enhanced Active Park Assist  and the Mercedes Remote Parking Assist  – both systems enable the vehicle to park into a specified parking spot even when the driver has left the vehicle. In addition to this, there have been several research efforts and advancements in parking guidance systems [8, 9], which aim to assist drivers in finding available parking spots more efficiently, typically through acquiring necessary information from the infrastructure, processing it, and displaying the suggested parking spot location as well as the corresponding route to drivers.
All the above research treats the case where the target parking spot has been assigned in advance. To achieve a fully autonomous parking system, the parking spot search problem needs to be addressed. One solution is to develop centralized managers/coordinators to assign an available parking spot to each vehicle entering the parking lot [10, 11, 12]. This way, only collision avoidance is handled by the vehicles. However, monitoring the availability of each parking spot and vehicle-to-parking lot communications are needed, requiring major hardware/software updates to existing parking lots. In , a trajectory coordination strategy for automated parking is proposed, which relies purely on communications among vehicles but not on communications between vehicles and the parking lot. In , the competition among multiple vehicles for available parking spots is formulated as a game and a Nash equilibrium-based strategy is solved for each vehicle, under the assumption that only limited information of other vehicles’ trajectories is known. However, both strategies of  and  assume full knowledge of the locations of available parking spots, which may not be the case in reality due to the limited visibility in a parking lot – the lines of sight of sensors are likely to be blocked by parked vehicles.
To address the above limitations, we treat in this paper the problem of searching for available parking spots and picking the “optimal” one to park under the assumption that only limited information of the parking lot is available. Specifically, we assume that the parking lot layout and the current number of parked cars in it are known, which, as a matter of fact, have been available/can be easily available to many existing parking lots [15, 16], but the distribution of parked cars111i.e., the distribution of available and unavailable parking spots. in the parking lot is unknown.
Our approach is based on modeling the ego vehicle’s problem of parking under uncertainty in the actual distribution of available spots as a game between the vehicle and the parking lot. The ego vehicle’s objective is represented using a cost function to minimize, and the parking lot’s objective is to cause the highest cost. Through such a game formulation, the effect of worst-case distributions of available spots that may be encountered by the ego vehicle upon each of its parking plans is modeled and compensated in the parking plan selection. Furthermore, the game is repeatedly re-formulated and re-solved to update the parking plan so that the information gathered during the parking process gets fully utilized.
The main contributions of this paper can be summarized as follows: (1) A game theoretic scheme is proposed for solving the problem of parking under limited parking lot information. (2) Within the game theoretic scheme, two different parking strategies are described and compared. (3) A sampling-based method is integrated with these parking strategies to enhance their scalability of treating large parking lots. (4) The advantages of the proposed game theoretic scheme are demonstrated in simulations versus a state-of-the-art heuristic-based parking strategy.
The paper is organized as follows: Section II presents the problem formulation for parking spot search with limited parking lot information. Section III introduces the game theoretic approach to solving the parking problem formulated in Section II. Section IV illustrates performance of the proposed approach through simulations. Finally, Section V concludes the paper.
Ii Problem Formulation
Ii-a Parking lot representation
Before formulating the parking spot search problem, we introduce assumptions regarding the parking lot and the ego vehicle as follows: Firstly, the parking lot has only one entrance/exit and has several horizontal lanes. In particular, both sides of a horizontal lane have parking spots. Secondly, the parking lot knows the total number of parking spots it has and the current number of parked vehicles in it, which is equivalent to knowing the numbers of parking spots that have and have not been occupied (called, respectively, “unavailable” and “available” spots). However, the distribution of parked vehicles, i.e., whether a specific parking spot is available or occupied, is not known. Note that this is the case for many structured parking lots [15, 16]. Then, we assume that after entering the parking lot, the ego vehicle chooses a horizontal lane to drive into and search for available spots, and once entering a horizontal lane, the vehicle will either drive into an available spot of that lane and park or drive all the way through that lane, i.e., U-turns in the lane are not allowed . In particular, the ego vehicle perceives whether a parking spot is available or occupied when it arrives at the front of that spot, provided that this is the first time for the vehicle to arrive at/passing by that spot. Note that although sensors such as radar and camera may have longer perception ranges, the lines of sight to farther parking spots are often blocked by parked vehicles. Therefore, only being able to perceive the availability of nearest spots is a reasonable assumption. After the vehicle reaches the end of a horizontal lane, it chooses another lane to explore. The roads that connect horizontal lanes are called “vertical lanes.” A typical parking lot considered in this paper is illustrated in Fig. 1(a).
On the basis of the above assumptions, we model a parking lot as a graph consisting of a set of nodes and a set of edges. A node corresponds to a position in a lane of the parking lot and an edge represents the immediate connection between the nodes through lanes. In particular, an edge exists between and when and only when correspond to positions next to each other in the same lane. Fig. 1(b) illustrates the graph corresponding to the parking lot of Fig. 1(a). Moreover, a binary state is assigned to each node that has associated parking spots to represent its availability, where indicates that the parking spots on both sides of are occupied and means at least one of the two spots is available. For instance, by looking at Fig. 1(a) one can conclude that while in Fig. 1(b). Note that according to the assumptions above, the value of each is not known by the parking lot/ego vehicle.
Ii-B Parking spot evaluation
We are interested in not only finding available parking spots but also picking the “optimal” one to park. To evaluate and compare different parking spot options, we consider a cost function to minimize. In particular, the cost function is composed of two parts as follows:
where denotes the node corresponding to the ego vehicle’s current position, denotes the node corresponding to the parking spot option under consideration (called “target parking spot”) and is the decision variable, is a running cost representing the effort needed by the ego vehicle to get to the target spot, is a terminal cost representing the quality of the target spot, and are weighting factors.
In general, how good a parking spot is can depend on various considerations, including individual driver’s or parking lot’s preferences. As an example, the running cost may correspond to the time and/or fuel spent to drive to the target spot. In this case, can be written as
where is a selected sequence of edges forming a route (or in graph theory terminology, a walk) from the current node to the target node , and defines the cost associated with each edge, which, for instance, may be determined by the spatial distance between the endpoints of the edge. On the other hand, the terminal cost may correspond to the distance of the target spot to the parking lot entrance/exit, to the entrance door of an office building or a grocery store, or to some facilities such as battery chargers. We remark that our approach can handle any cost function in the form of (1), and thus, the cost function can either be pre-designed by the vehicle manufacturer or be specified by individual driver or parking lot.
Note that not all but only the nodes that have available parking spots, i.e., with , can be considered as the target node . Therefore, the problem of picking the optimal parking spot can be cast as the following constrained optimization problem,
where defined by is to evaluate the binary state value associated with the node .
Iii Parking Based on Game against Uncertainty
Corresponding to the assumptions in Section II-A, the ego vehicle has only limited parking lot information, including the numbers of available and unavailable/occupied parking spots, as well as the availability of each of the spots that the vehicle has arrived at/passed by (called “visited”). In particular, the availability of each of the parking spots that the ego vehicle has not visited is in general unknown, and as a result, the problem (3) cannot be solved directly.
Let us use to denote decision-execution cycles. Then, the current node of the ego vehicle at the beginning of cycle can be denoted as . Furthermore, let denote the set of nodes that have been visited by the ego vehicle and the set of nodes that have not. Let and denote, respectively, the numbers of available and unavailable spots in the unvisited set . Based on the assumption that the ego vehicle can perceive the availability of the spots on both sides of a node after it arrives at that node at the end of a cycle, the set and the values of and can get updated after every cycle. For instance, for the parking lot in Fig. 1, suppose the ego vehicle has visited the nodes to , then , , , and . Suppose the vehicle arrives at node after cycle , then and , since the node , which has available spots, belongs now to the set of visited nodes.
To deal with uncertainty in the distribution of parked vehicles in the unvisited set , we exploit a game theoretic approach. It is introduced in detail in what follows.
Iii-a Action spaces of the parking lot and the vehicle
We model the parking lot and the ego vehicle as two agents. For the parking lot, given the numbers of available and unavailable parking spots in the unvisited set , and , its action space is the set of all possible arrangements. In particular, let denote the number of nodes in the set with at least one of its two spots available, i.e., with state . Given and , can take any value in the set . Then, an arrangement can be characterized as a way to assign a binary value to each node such that . Fig. 2(a) illustrates two arrangements for the parking lot in Fig. 1.
For every , the set of all possible arrangements corresponds to the set of all permutations of ones and zeros. Based on this, we formalize the algorithm for generating the action space of the parking lot as Algorithm 1. The function Permutation
in line 5 generates the set of all componentwise permutations of the vectorwith ones and zeros.
We now define the action space of the ego vehicle. In general, the ego vehicle’s action space can be defined as the set of all node sequences (starting from its current node ) along which the vehicle traverses the graph . To prevent the cardinality of the ego vehicle’s action space from growing to infinity, we only consider and include in the set the node sequences that satisfy the following two properties, called “admissible”: Firstly, the vehicle can only move forward in a horizontal lane, i.e., U-turns in the lane are not allowed; and secondly, the vehicle traverses all nodes without visiting the same horizontal lane twice. For instance, only two node sequences satisfy both properties for the parking lot in Fig. 1, and they are illustrated in Fig. 2
(b). We remark that although we define an action as a node sequence traversing the graph, the ego vehicle does not necessarily drive along this sequence until the end node: it can choose to stop traversing and park at some node in the middle of the sequence. The reason for defining an action as a complete traversal sequence is to facilitate the subsequent treatment of the problem using game theory.
We leverage the Breadth First Search (BFS) graph traversal algorithm to generate the set of all admissible node sequences for the vehicle. Differently from the standard BFS algorithm, which aims at finding a shortest path from a start node to a goal node, our algorithm for generating the vehicle’s action space needs to find all admissible graph traversal paths. In particular, this requires not only the unexplored nodes but also the unexplored horizontal lanes to be stored in the frontiers. Due to space limitation, the algorithm details are omitted but the code can be found at https://github.com/yutlizy/Parking_Spot_Search.
Iii-B Games against uncertainty
Note first that the availability information at the visited set of nodes is known to the ego vehicle. Then, the set of all possible availability distributions222i.e., distributions of available and unavailable nodes. over the unvisited set of nodes has a one-to-one correspondence with the parking lot’s actions . Thus, given a traversal node sequence , for each , there is a choice of target node for parking among all available nodes that corresponds to the least cost (1). Note that since the walk from the vehicle’s current node to each target node option is determined by the given node sequence , the running cost in the form of (2) associated with the pair is also uniquely determined. Based on this, we define
where is the cost function (1) with the walk from to related to the running cost (2) determined by , and is the binary state evaluation function defined in (3b), which is determined by as well as the known information associated with the visited set .
If the actual distribution of available and unavailable parking spots is known, which corresponds to a unique , then the optimal action of the ego vehicle can be solved as
and the corresponding optimal parking spot is determined according to (4).
However, according to our assumptions in Section II-A, the actual availability distribution, i.e., , is unknown. In this case, one reasonable strategy for the ego vehicle is to make a decision assuming the worst-case situation. In particular, this can be solved for as
Since this strategy is to secure that the worst-case performance is optimized, it is named the “secure strategy.”
Once is obtained, the ego vehicle either parks at the current node, in the case where the optimal parking spot corresponding to determined according to (4) is the current node (i.e., the start node of the sequence ), or drives to the second node in the sequence . For the latter, after the new node has been reached, the data , and get updated and the vehicle re-solves (6) with the updated data at the new cycle .
The strategy (6) corresponds to a sequential game between the ego vehicle and the parking lot, where after the ego vehicle makes a decision , the parking lot makes its own decision to cause the cost as high as possible. Note that this game theoretic model is only used by the ego vehicle to make decisions, the actual availability distribution does not change with the game.
Iii-C Improved strategy exploiting graph topology of the parking lot
The decision strategy (6) may lead to a conservative solution in terms of rendering a cost higher than what can be possibly obtained. This conservativeness comes from the fact that (6) corresponds to a game where the ego vehicle moves first and the parking lot moves afterwards, and in particular, the parking lot can respond to the ego vehicle’s move to cause the highest cost. However, the actual distribution of available and unavailable parking spots is, although unknown to the ego vehicle, fixed and does not change with/respond to the ego vehicle’s action. An immediate approach to accounting for this fact and thus mitigating conservativeness is to switch the order of actions of the two players so that the ego vehicle responds to the parking lot’s action instead of the opposite. In particular, in the sequel we propose an improvement to the decision strategy, which leads to reduced conservativeness and still maintains the capability of guarding against uncertainty in the availability distribution.
To begin with, note that one important feature of the graph representing the parking lot is that at each node , the ego vehicle has either one or two node options as the next node to travel to (called its travel “direction”). In particular, when the vehicle is in the middle of a horizontal lane, the only option is the next node in that lane along its travel direction. When the vehicle just exits a horizontal lane, it can choose to go either upward or downward. When the vehicle is traveling along a vertical lane, it can either continue going straight along that vertical lane to the next node if not at the four corners of the parking lot, or turns into a horizontal lane.
Let us denote the set of directions, i.e., node options as the next node, by . We gather all actions with the same direction as the second node into a group . Note that the cardinality of is either or , and in turn, there are at most two action groups .
We let the ego vehicle select its direction according to
Once is obtained, the ego vehicle compares determined by (7b) with the cost of parking at the current node computed from (1) provided that the current node is available, i.e., . If or , then the ego vehicle proceeds to ; it parks at otherwise.
The decision strategy (7) can be explained as follows: Given a direction , the parking lot selects its action to maximize the vehicle’s cost, where for each selection , it is assumed that the ego vehicle can optimally respond by selecting in the group . Note that the maximization over
accounts for the fact that the actual action of the parking lot, i.e., the actual distribution of available and unavailable parking spots, is unknown – the ego vehicle estimates the cost of each directionby assuming the worst. Then, on top of this, the ego vehicle selects the direction with the lowest worst-case cost.
The decision strategy (7) is further illustrated by Fig 4. It is named the “guarded strategy.” The following Proposition 1 shows that the guarded strategy (7) provides less conservative estimates of the costs compared to the secure strategy (6).
Proposition 1: Let and be defined as
Proof: Note that can be equivalently written as
For each , and , we have
Since this holds for every , we have
And by the fact that this holds for every , we obtain .
Iii-D Scalability through sampling
For large parking lots with hundreds of parking spots, the action spaces , node sequences traversing the graph, and , distributions of available and unavailable parking spots, can be large, imposing computational challenge for exactly solving the problem (6) or the problem (7).
To overcome the computational challenge and thus gain scalability to treat large parking lots, we leverage a sampling-based method to approximately solve (6) or (7). In particular, we replace the sets and in the problem formulation with and , which are randomly generated subsets of and . By restricting the cardinalities of and when randomly generating them, we can bound the computational complexity of the resulting approximated problem.
Iv Simulation Results
We test and evaluate the proposed parking spot search algorithms in simulated parking lots. We first compare the secure and the guarded strategies in terms of their conservativeness. We then illustrate the advantage of our game-theoretic approach over a state-of-the-art heuristic-based parking strategy proposed in . Finally, we test the feasibility and performance of the sampling-based approach in a large parking lot.
Iv-a Comparison between secure and guarded strategies
We consider a parking lot of a mall shown in Fig. 5(a). The actual distribution of parked vehicles is illustrated by the parked cars in the figure. We assume that the front door of the mall is located near the top left corner of the parking lot (marked by the blue star in Fig. 5(a)). The terminal cost of each parking spot is assigned as the Euclidean distance between the node associated with the parking spot and the node associated with the front door. Such a terminal cost represents the walking effort of the driver/passenger after parking. The running cost takes the form of (2) where the cost associated with each edge is . Then, the total cost is computed by (1), where and are chosen as and respectively.
The parking result using the secure strategy is presented in Fig. 5. As shown in Fig. 5(a), after entering the parking lot from the entrance, the vehicle drives into the bottom row and parks at the first available spot. The total cost associated with such a parking choice is . Figs. 5(b)-(d) illustrate the ego vehicle’s possible actions , i.e., traversal node sequences, and the parking lot’s action , i.e., a distribution of parked vehicles over the parking lot, that maximizes the cost corresponding to each , at . In particular, in each of Figs. 5(b)-(d), for the two actions represented respectively by the blue and red dashed curves, the corresponding worst-case is the same (illustrated by the parked cars in the figure). Once the corresponding is determined, the ego vehicle identifies the best location associated with the node sequence as its target node for parking (indicated by the endpoints of the dashed curves). After that, the worst-case cost associated with each is computed according to (4), shown in the figures. It turns out that the action corresponding to the red curve in Fig. 5(d) has the lowest worst-case cost. Therefore, at , the ego vehicle selects that as its action, illustrated by Fig. 5(e). Note that although the target node associated with the selected action is actually unavailable333i.e., already occupied by a parked car, as shown in Fig. 5(e). (which is unknown by the ego vehicle at ), as the vehicle repeatedly updates its information as well as its parking plan by re-solving the problem (6) at every cycle , it finds and parks at an available spot at , as shown in Fig. 5(a).
The parking result using the guarded strategy is presented in Fig. 6. As shown in Fig. 6(a), differently from the result using the secure strategy, the vehicle drives into the middle row and parks there, with a total cost . The reason for this choice is illustrated in Fig. 6(b)-(d). At , the vehicle has two directions to choose from: going upward or going horizontally forward into the bottom row. For the former, the worst-case action of the parking lot is shown in Fig. 6(b). For such a distribution of parked vehicles, the ego vehicle has four possible actions . The path, parking position and corresponding cost associated with each of these four are shown also in Fig. 6(b). It can be seen that the lowest cost is . For the direction of going horizontally forward, the worst-case distribution of parked cars, as well as the path, parking position and corresponding cost associated with each of the possible are shown in Fig. 6(c). The lowest cost is . Therefore, the ego vehicle chooses to go upward at .
The above simulation results verify that the guarded strategy can find a parking solution with a lower total cost compared to that found by the secure strategy, i.e., the guarded strategy can be less conservative than the secure strategy. This observation also agrees with the theoretical result of Proposition 1. Therefore, from now on, we focus our discussion on the guarded strategy.
Iv-B Comparison between guarded and prudent strategies
To illustrate the advantage of our proposed game-theoretic approach for parking over heuristic approaches, we compare our approach to the prudent strategy studied in . The prudent strategy is shown in  to be the optimal among various heuristic parking strategies. With the prudent strategy, the driver starts looking for available parking spots from the row closest to the front door. He always passes the first available spot and hopes that there will be at least one other spot even closer to the front door. If one or more consecutive such available spots are found, he takes the one nearest to the front door to park. Otherwise, the driver backtracks and takes the first available spot he can find. The parking lot with the actual distribution of parked cars is shown in Fig. 7. In this study, we assign the cost associated with each edge in the running cost (2) as the Euclidean length of that edge, to represent driving effort. We still use the Euclidean distance from the parking node to the front door as the terminal cost of that node, to represent walking effort.
When the prudent strategy is used, the vehicle drives first into the top row to look for available plots. It skips the first available spot and then finds that there are no other available spots in the top row. So it drives to the second row and parks at the first available spot it meets.
When the guarded strategy is used, the vehicle parks at the same spot but takes a different path, which results in a lower total cost than that using the prudent strategy (shown at the top right corner of Fig. 7).
This result shows that our guarded strategy can find a better parking solution than heuristic approaches. Note that our strategy can treat an arbitrary design of cost function in the form of (1), which can take into account a wide range of considerations including time and/or fuel consumptions as well as distances to front door and/or facilities. In contrast, the prudent strategy is not as flexible as our approach.
Iv-C Treating large parking lots through sampling
Finally, we show the feasibility of our proposed game-theoretic strategy to treat large parking lots with hundreds of parking spots through the sampling-based method introduced in Section III-D.
The parking lot under consideration has in total parking spots and available ones (see Fig. 8). At each , we restrict the cardinalities of the sampled subsets and to be at most . The parking result is shown in Fig. 8. It can be seen that the vehicle takes a path and parks at a spot, both of which look reasonably good in terms of driving and walking efforts.
In this work, we investigated the problem of parking spot search with limited parking lot information. We treated this problem through a game-theoretic approach, which enabled the vehicle to schedule “optimal” parking plans under uncertainty in the distribution of available parking spots. Two strategies, named, respectively, as “secure” and “guarded,” were proposed and compared. To treat large parking lots, a sampling-based method was adopted to overcome associated computational challenge. Simulation results illustrated good performance of our approach. By comparing against another strategy named “prudent,” we also showed that our systematic, game-theoretic approach could find better parking solutions than heuristic strategies.
-  K. McCoy, Drivers spend an average of 17 hours a year searching for parking spots, 2017. Available: http://www2.inrix.com/research-parking-2017.
-  A sudden bang when parking, Allianz SE, 2015. Available: https://www.allianz.com/en/press/news/commitment/community/150505-a-sudden-bang-when-parking.html.
-  R. Kummerle, D. Hahnel, D.Dolgov, S. Thrun, W. Burgard, Autonomous driving in a multi-level parking structure. IEEE International Conference on Robotics and Automation, 2009, pp. 3395-3400.
-  L. Han, Q. H. Do and S. Mita, Unified path planner for parking an autonomous vehicle based on RRT, IEEE International Conference on Robotics and Automation, 2011, pp. 5622-5627.
-  X. Zhang, A. Liniger, A. Sakai, F. Borrelli, Autonomous parking using optimization-based collision avoidance, IEEE 57th Annual Conference on Decision and Control, 2018.
-  Ford Motor, Available: https://www.ford.com/technology/driver-assist-technology/enhanced-active-park-assist/.
-  Daimler AG, Available: https://www.bosch-mobility-solutions.com/en/highlights/automated-mobility/automated-valet-parking/.
-  Y. Geng, C. G. Cassandras, A new “smart parking” system based on optimal resource allocation and reservations. IEEE Conference on Intelligent Transportation Systems, 2011, pp. 979-984.
-  T. Rajabioun, P. Ioannou, On-street and off-street parking availability prediction using multivariate spatiotemporal models. IEEE Transactions on Intelligent Transportation Systems, 2015, vol. 16, pp. 2913-2924.
-  X. Shen, X. Zhang, F. Borrelli, Autonomous Parking of Vehicle Fleet in Tight Environments. arXiv preprint arXiv:1910.02349.
-  Y. Li, K. H. Johansson, J. Mårtensson, A hierarchical control system for smart parking lots with automated vehicles: Improve efficiency by leveraging prediction of human drivers. IEEE European Control Conference, 2019, pp. 2675-2681.
-  A. Okoso, K. Otaki, T. Nishi, Multi-Agent Path Finding with Priority for Cooperative Automated Valet Parking. IEEE Intelligent Transportation Systems Conference, 2019, pp. 2135-2140.
-  T. Kessler, A. Knoll, Multi vehicle trajectory coordination for automated parking. IEEE Intelligent Vehicles Symposium, 2017, pp. 661-666.
-  D. Ayala, O. Wolfson, B. Xu, B. Dasgupta, J. Lin, Parking slot assignment games. Proceedings of the ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, 2011, pp. 299-308.
-  C. Löper, C. Brunken, G. Thomaidis, S. Lapoehn, P. Fouopi, H. Mosebach, F. Köster, Automated valet parking as part of an integrated travel assistance. IEEE Conference on Intelligent Transportation Systems, 2013, pp. 2341-2348.
-  S. Klemm, M. Essinger, J. Oberländer, M. Zofka, F. Kuhnt, M. Weber, J. Zöllner, Autonomous multi-story navigation for valet parking IEEE Conference on Intelligent Transportation Systems, 2016, pp. 1126-1133.
-  C. R. Cassady, J. E. Kobza, A probabilistic approach to evaluate strategies for selecting a parking space. Transportation Science, 1998, vol. 32, pp. 30-42.
-  P. L. Krapivsky, S. Redner, Simple parking strategies. Journal of Statistical Mechanics: Theory and Experiment, 2019, vol. 9.