**2. Review of Related Work**

In 2007, the DARPA (Defense Advanced Research Projects Agency) Urban Challenge (DUC) initiated numerous research projects to address challenges of autonomous driving. Since then, a great deal of research has been conducted in related topics. In addition to highway and urban driving, automated valet parking is also of major interest to relieve drivers from the stress of parking [17].

In 2012, a parking information acquisition and release system was designed by Dou et al. based on the dynamic allocation algorithm of parking spaces in the parking lot [18]. The main idea is to optimize among the distribution of parking spaces arranged in a tabulated format and driving paths/distances. However, the algorithm can obtain the availability of parking spaces only after the human-operated vehicles have completed their parking. Thus, if there are more than two vehicles, at least one HV and one AV, choosing the same parking space and converging near that space, this scenario could lead to traffic congestion and the wasting of time and fuel consumption.

In 2012, Audi Corporation developed a parking guidance system that could assist and orchestrate the entire parking process [19]. The approach of the system includes three steps: scanning, positioning, and arranging parking [20]. The distance to the obstacle is detected by eight ultrasonic sensors installed in the bumper and the parking space is detected by 10 ultrasonic sensors. This parking system can only be executed if the speed of the vehicle is below 30 km/h. While this is an excellent demonstration of an automated valet parking system, during the transition period to fully autonomous driving, HVs will also be represent; the guidance system cannot allocate parking spaces to the HVs with no communication devices equipped and hence cannot complete the space allocation task for the AVs.

In 2016, Kotb et al. [21] proposed a system to reduce the time wasted in looking for parking spaces by offering guaranteed parking reservations with the lowest possible cost and searching time for drivers and the highest revenue and resource utilization for parking managers. However, they did not include other important factors that influence how drivers choose parking spaces, such as the safe locations of the parking spaces and the distance to reach the parking space.

In 2018, Tcheumadjeu et al. [22] presented an architecture for Automated Valet Parking (AVP) connected to cloud-based IoT services and mobile user interfaces. Autonomous vehicles can share information and data via the phones of their occupants. Moreover, under this communication architecture, some functions of the AVs, such as drop-off and pick-up, can be activated by phones. However, the paper only considers the interactions between users and AVs. In an actual scenario, many vehicles will be present at the same time, making efficient planning of traffic flow in the parking lot not possible by just integrating the shared information provided by the users.

In 2019, a new path planning system based on the Dijkstra algorithm was designed by Yu et al. [23]. The road occupancy factor is calculated and added to the path weight of the Dijkstra algorithm, and a shortest path is selected by comparing the weight of each path. However, the traffic situation in the parking lot is complex, and each section of the path may be occupied at any time. Hence, the optimal path planning in the parking lot requires a dynamic planning.

In 2020, a parking guidance system based on the multi-objective point A\* algorithm was designed by Xiao et al. [24], which combines the distance factor between the entrance and the parking spaces and path planning using a heuristic function of the A\* algorithm to quickly generate multiple driving paths and select the most efficient path. However, the heuristic function of the A\* algorithm cannot take into consideration traffic congestion. If congestion happens, the time loss on queuing will reduce the efficiency of the system and subsequently increase the fuel consumption.

Therefore, in an intelligent parking infrastructure with both HVs and AVs involved, it is important to have a central command station to schedule the overall traffic flow and interface with autonomous vehicles. Moreover, it is necessary to consider in detail the factors that would affect parking space selection by the drivers and efficiently guide/allocate potentially available parking spaces for the AVs.

#### **3. Factors for Choosing Optimal Parking Spaces**

In an automated valet parking system, AVs are assumed to be able to interface with the central command station in an intelligent parking infrastructure. However, under the scenario in which there are both HVs and AVs in a parking infrastructure, no matter how intelligent the parking infrastructure is, the central command station cannot allocate parking spaces for the HVs which are not equipped with any communication devices. Based on this scenario, we consider the problem of a HV looking for a parking space in an intelligent parking infrastructure when an AV enters at the same time. The central command station, before allocating a parking space for the AV, must predict which parking space that the driver of the HV would choose and then allocate one of the remaining parking spaces to the autonomous vehicle. When a driver enters a parking infrastructure, his choice of parking space is often affected by his perception of various factors in the parking environment. Chen et al. [25] proposed six major factors that influence drivers to choose parking spaces: the walking distance from the parking spaces to the exit of the parking facility, the distance to the parking space from the entrance, the status of the path to the parking spaces, the status of the available parking spaces, parking safety, and shade under sunlight when parked outdoors. Since parking safety is somewhat implied in the status of the path for the AVs and the test case considered in this paper (see Section 6) is an outdoor parking lot with no shaded area, the last two factors will not be discussed in this paper. Thus, this paper focuses on the following four factors.

• *Walking distance*

Walking distance is the distance between the parking space and the exit of the parking infrastructure. For drivers, they likely prefer to arrive at their destination as quickly as possible after parking. Therefore, the shorter the walking distance, the more likely the parking space will be chosen.

• *Distance to parking*

Distance to parking is the distance between the entrance of the parking infrastructure and the parking space. For drivers and occupants, they generally prefer to arrive at their vehicles as quickly as possible, particularly when they forget something (e.g., phones, wallets) or need to place something back in the vehicle. Therefore, the shorter this distance, the more likely the parking space will be chosen.

• *Status of the path to the parking spaces*

Vehicles that break down (e.g., dead batteries) may block the path to some available spaces. Generally, lanes in parking infrastructures are narrow and often only one vehicle can pass through the lane. Lane occupancy increases traffic congestion and reduces traffic efficiency in the parking infrastructure. Thus, drivers are concerned with the status of the path leading to the available parking spaces and will likely choose those parking spaces that have clear paths.

• *Status of available parking spaces*

Ma [26] hypothesized that, in general, particularly new drivers are more inclined to choose available parking spaces with spaces on both sides unoccupied. The order of the priority of choice is followed by those spaces with one adjacent space unoccupied, those adjacent to the road, and finally those with spaces on both sides occupied.

Characteristics of parking spaces can be grouped into two main types: the cost type and the benefit type. For the four factors mentioned above, walking distance and distance to parking are cost types. Status of the path lane to parking spaces and status of available parking spaces are benefit types. The lower the value of the cost type factor, the higher the priority of the parking space would have. Contrarily, the higher the value of the benefit type factor, the higher priority of the parking space. Walking distance and distance to parking can be described by measurable values based on the layout of the entire parking infrastructure. Fuzzy factors such as the status of lanes and available parking spaces can also be represented by quantitative values. Following [27], a value of three is assigned when the lane is occupied; nine when the lane to the parking space is clear; eight to available parking space whose both sides are unoccupied; seven to an available parking space with one adjacent space unoccupied; six to an available parking space adjacent to the road; five to an available parking space with spaces on both sides occupied. Note that these numbers are relative and their absolute values are irrelevant.

#### **4. Optimal Parking Space Selection Model**

For a driver, parking space selection is a decision based on his perception and assessment of the parking environment. As it is difficult to quantify these fuzzy concepts for humans, fuzzy theory is introduced to solve these types of problems. The concept of fuzzy theory was put forward by Professor Zadeh in 1965, aiming to quantify the uncertainty of issues [28]. Based on the fuzzy theory, the four factors affecting driver's choice of parking space selection, discussed in Section 3, are quantified. In this section, we will introduce how to assign and sort the weights of available parking spaces based on the Fuzzy Comprehensive Evaluation (FCE) method [28]. As a result, the order of parking space preference will be displayed with different weights.

*Procedure for Model Construction Based on FCE:*


$$R = \begin{pmatrix} r\_{11} & r\_{12} & \cdots & r\_{1m} \\ r\_{21} & r\_{21} & \ldots & r\_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ r\_{n1} & r\_{n2} & \cdots & r\_{nm} \end{pmatrix} \tag{1}$$

The purpose of this normalization is to eliminate the impact caused by the differences in the orders of numbers of the physical measurements in the decision making process. For example, distance of "walking distance" maybe several meters while there is no particular unit for "status of parking spaces"; the orders of these numeric values are very different. The normalizations are:

$$r\_{ij} = \frac{\min\left(a\_{ij}\right)}{a\_{ij}}, \ i \in \left(1, 2, \dots, n\right), j \in I\_1 \tag{2}$$

$$r\_{ij} = \frac{a\_{ij}}{\max(a\_{ij})}, \ i \in (1, 2, \dots, n), \ j \in I\_2 \tag{3}$$

where, *I*<sup>1</sup> and *I*<sup>2</sup> represent the cost type factors and benefit factors, respectively [25].


$$w\_i = \frac{1}{n} \left(\sum\_{j=1}^n b\_{ij} + 1 - \frac{n}{2}\right), i = (1, 2, \dots, n) \tag{4}$$

(3) According to Equations (1)–(3) we established a priority vector *zi*(*w*), which can be described as follows:

$$z\_{i(w)} = \text{WAA}\_w(r\_{i1}, r\_{i2}, \dots, r\_{in}) = \sum\_{j=1}^n R\_{n \times m} w\_i \tag{5}$$

where, *WAAw*(*ri*1, *ri*2, ..., *rin*) is the weighted arithmetic average operator. The higher the weight value of a certain parking space in *zi*(*w*), the more likely it would be selected by the driver [31].

#### **5. Optimal Route Selection**

Shortest path planning is very important in path navigation. Traffic efficiency can be improved by planning the shortest path based on the distance information between locations. Floyd algorithm is a classic dynamic programming algorithm that uses dynamic programming to find the shortest path between multiple source points in a given weighted graph. The algorithm aims to find the shortest path from one point to another [32].

Assume that the shortest path from a node *i* to another node *j* has no more than two possibilities, one is directly from *i* to *j*, and the other is from *i* through node *k* to *j*. Hence, the dynamic transfer function of this algorithm is: *dis*(*i*, *<sup>j</sup>*) <sup>=</sup> *min Di*,*j*, *Di*,*<sup>k</sup>* + *Dk*,*<sup>j</sup>* , where *dis*(*i*, *j*) represents the shortest distance between node *i* and node *j*. The specifics of our proposed algorithm is shown as follows:


$$D\_{p \times q} = \begin{pmatrix} 0 & D\_{1,2} & D\_{1,3} & \cdots & D\_{1,q-1} & D\_{1,q} \\ D\_{2,1} & 0 & D\_{2,3} & \cdots & D\_{2,q-1} & D\_{2,q} \\ D\_{3,1} & D\_{3,2} & 0 & \cdots & D\_{3,q-1} & D\_{3,q} \\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ D\_{p-1,1} & D\_{p-1,2} & D\_{p-1,3} & \cdots & 0 & D\_{p-1,q} \\ D\_{p,1} & D\_{p,2} & D\_{p,3} & \cdots & D\_{p,q-1} & 0 \end{pmatrix} \tag{6}$$

(3) Update the transfer function. For example, consider three nodes *i*, *j*, and *k* in the map, where *k* is an intermediate node of *i* and *j*, and *i* and *j* represents the start point and the end point, respectively. The transfer function *dis*(*i*, *j*) is updated by *dis*(*i*, *<sup>j</sup>*) <sup>=</sup> min *Di*,*j*, *Di*,*<sup>k</sup>* + *Dk*,*<sup>j</sup>* to select the smaller of the two distances from *i* to *j* and from *i* to *k* to *j*. The Floyd algorithm finds an intermediate node *k* to determine whether there is a shorter distance through this node *k*.

#### **6. Example: Results and Discussion**

The example we consider is a single-entrance parking lot, see Figure 2. The layout of the parking lot has been redesigned according to the Engineering Construction Industry Standard JGJ100-98 and the layout of the example parking lot is shown in Figure 3. Since the entrance is located in the lower right of the entire layout, we define the coordinate system with the origin at the lower right corner, as shown in Figure 4.

**Figure 2.** Aerial view of the parking lot of our example problem.

**Figure 3.** Layout of the parking lot (distance unit in meter).

**Figure 4.** Layout of nodes in the parking lot and reference to a coordinate system.

As shown in Figure 4, in order to design the route selection, we denote each parking space and each turning intersection as a node (1–24) and a number (T1–T8). Additionally, considering the differences in sizes of vehicles entering the parking lot, we define the coordinates of each of the nodes and intersection numbers as the centered position of the parking space and the central line of the route at the turning. The coordinates of all nodes are listed in Table 1.


**Table 1.** Coordinates in metric units of all nodes in test graph

In this section, we have designed three specific parking scenarios to test our proposed algorithm via Python. In the following, we will take scenario 1 as an example to explain the application of our method in detail. As shown in Figure 5, red nodes represent the parking spaces that are occupied, brown ones are those that are currently available, and the light blue node (node 11) represents the parking space that is being parked by a vehicle. A blue vehicle, which is an AV, is just entering into the intelligent parking lot and sending a parking request to the central command station. Meanwhile, an orange vehicle, which is a HV and cannot communicate with the central command station, is seeking an available parking space. Under this situation, the problem is to allocate an available parking space for the blue autonomous vehicle by the central command station.

In order to solve this problem, we need to first determine which parking space that the driver of the orange vehicle would choose and offer the shortest path between the entrance and the allocated parking space. The overview scheme is described as a flowchart (Figure 6). The specific steps in the parking spaces selection and the shortest path planning are shown as follows:

**Figure 5.** Example of a parking scenario 1.

**Figure 6.** Flowchart for parking space selection and the shortest path planning.

Step 1: Set the properties table of all available parking spaces currently in the example parking lot. As shown in Table 2.


**Table 2.** Properties of the available parking spaces in the parking lot of scenario 1.

For the walking distance and distance to parking, distances in metric units are used in evaluating the values in matrix *A*, as defined in Section 4. For the status of lane and status of available parking spaces, fuzzy evaluation is assigned with values proposed in Section 3. Based on the values from Table 2, the evaluation matrix *A* is:


Step 2: Normalize the evaluation matrix *A* to form the fuzzy comprehensive evaluation matrix *R* = *rij <sup>n</sup>*×*<sup>m</sup>* according to Equations (2) and (3):


Step 3: Establish the pair-wise comparison matrix by the comparison method, based on the opinions of our sample set of twenty drivers with a range of driving experiences, as described in Section 4. The following shows the response from one of the drivers:

$$B\_i = \begin{pmatrix} 0.5 & 0.8 & 0.9 & 0.4 \\ 0.2 & 0.5 & 0.1 & 0.4 \\ 0.1 & 0.9 & 0.5 & 0.9 \\ 0.6 & 0.6 & 0.1 & 0.5 \end{pmatrix}$$

where, *i* = 1, ... , 10 for our data set. As shown in *Bi*, all diagonal values are 0.5 as each factor complements itself. The values of *b*<sup>12</sup> = 0.8 and *b*<sup>21</sup> = 0.2 indicate that in the view of this driver, the factor "walking distance" is more important than "distance to parking". "distance to parking" is still a factor that the driver would consider when choosing a parking space, but it is just less important.

Step 4: Obtain the weight vector for the pair-wise comparison matrix in Step 3 according to Equation (4):

$$w\_i = (0.40, \, 0.05, \, 0.35, \, 0.20)$$


Applying Equation (4), the pair-wise comparison matrix from the twenty drivers is converted into the following weight matrix:

To make the above matrix representative of the preference of most drivers, we remove the largest and smallest values of each factor in the above matrix and average the remaining values to obtain an average weight vector:

$$\bar{w} = (0.233, \ 0.170, \ 0.336, \ 0.286)$$

Step 5: With the average weight vector and Equation (5), the priority vector that contains the weights of every available parking space in the given situation can be obtained:

$$z\_i(w) = (0.799, \; 0.788, \; 0.571, \; 0.806, \; 0.881)$$

Step 6: Ranking the priorities of the available parking spaces in this example parking lot according to *zi*(*w*) gives: *z*23(*w*) > *z*18(*w*) > *z*5(*w*) > *z*9(*w*) > *z*12(*w*).

Based on step 6, parking space 23 has the highest priority for the driver of the orange vehicle. Thus, parking space 18 will be allocated to the blue autonomous vehicle by the central command station. By analyzing the preferences of the human driver, the algorithm is able to provide the optimal parking space for the autonomous vehicle. Since an intelligent parking lot system cannot influence the choice of the driver, a suboptimal parking space, which is space 18, is allocated to autonomous vehicle in this situation.

Step 7: Establish the adjacent matrix with all the road intersection nodes and the node of parking space 18 for route selection based on the adjacent matrix assignment rule according to Equation (6) in Section 5:


As shown in matrix *D*, there is only one passable path from T1 to parking space 18: starting from T1, go through T2, subsequently arrive at T3, then turn right to parking space 18, which is also the shortest path, with a total distance of 30.9 m. Through this method, under the scenario of the presence of one HV and one AV in this example, we simultaneously predict the parking space preference of the driver and allocate a parking space to the AV through V2X communication based on the driver preferences. Moreover, a parking lot may be constrained with traffic rules (e.g., one way road) and limited space, the adjacent matrix *D* can, in addition to providing the shortest route navigation, also reflect the constraints of the traffic rules and other conditions.

Using the same approach as used in scenario one, we can also solve the similar issues, such as in the following two scenarios:

Scenario 2:

Step 1: Set the properties table of all available parking spaces currently in the example parking scenario (Figure 7). As shown in Table 3.

**Figure 7.** Example of a parking scenario 2.


**Table 3.** Properties of the available parking spaces in the parking lot of scenario two.

Based on the values from Table 3 and assignment rule in Section 3, the evaluation matrix *A* is:


Step 2: Normalize the evaluation matrix *A* to form the fuzzy comprehensive evaluation matrix *R* = *rij <sup>n</sup>*×*<sup>m</sup>* according to Equations (2) and (3):


Step 3: With the average weight vector calculated in scenario one and Equation (5), the priority vector that contains the weights of every available parking space in scenario two can be obtained:

$$z\_i(w) = (0.761, \ 0.756, \ 0.737, \ 0.773, \ 0.944, \ 0.719)$$

Step 4: Ranking the priorities of the available parking spaces in this example parking lot according to *zi*(*w*) gives: *z*20(*w*) > *z*19(*w*) > *z*2(*w*) > *z*9(*w*) > *z*12(*w*) > *z*23(*w*).

Based on Step 4, parking space 20 has the highest priority for the driver of the orange vehicle based on scenario two. Thus, parking space 19 will be allocated to the blue autonomous vehicle by the central command station.

Scenario 3:

Step 1: Set the properties table of all available parking spaces currently in the example parking scenario (Figure 8). As shown in Table 4.

Based on the values from Table 4 and assignment rule in Section 3, the evaluation matrix *A* is:


**Figure 8.** Example of a parking scenario three.

**Table 4.** Properties of the available parking spaces in the parking lot of scenario two.


Step 2: Normalize the evaluation matrix *A* to form the fuzzy comprehensive evaluation matrix *R* = *rij <sup>n</sup>*×*<sup>m</sup>* according to Equations (2) and (3):


Step 3: With the average weight vector calculated in scenario one and Equation (5), the priority vector that contains the weights of every available parking space in scenario three can be obtained:

$$z\_i(w) = (0.723, 0.728, 0.748, 0.777, 0.725, 0.898, 0.681)$$

Step 4: Ranking the priorities of the available parking spaces in this example parking lot according to *zi*(*w*) gives: *z*20(*w*) > *z*12(*w*) > *z*11(*w*) > *z*8(*w*) > *z*19(*w*) > *z*5(*w*) > *z*23(*w*).

Based on step 4, parking space 20 has the highest priority for the driver of the orange vehicle based on scenario two. Thus, parking space 12 will be allocated to the blue autonomous vehicle by the central command station.

As can be seen from the above three test examples, people are more inclined to choose the available parking space near the exit of the parking lot.

In this paper, to validate of the proposed algorithm, we have collected opinions from fifty drivers on their most preferred parking spaces to check against the data from the twenty drivers mentioned in Step 3. Figure 9 shows that, in addition to the preferred choice of space 23, 20 and 20 in designed scenarios one, two and three, respectively, there are only four, six and four other choices among the fifty drivers who are surveyed. The accuracy of the prediction of the proposed algorithm is thus, 92%, 88% and 92%, respec-tively, in the three test cases.

**Figure 9.** *Cont.*
