Next Article in Journal
Nonlinear Impact of Built Environment on Older Adults’ Bus Use Behavior: A Hybrid Model Considering Spatial Heterogeneity
Previous Article in Journal
Changes in Tourists’ Perceptions of Community-Based Ecotourism (CBET) After COVID-19 Pandemic: A Study on the Country of Origin and Economic Development Level
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Voxel-Based Path Planning for Autonomous Vehicles in Parking Lots

1
School of Civil Engineering and Transportation, South China University of Technology, Guangzhou 510641, China
2
School of Computing and Information, University of Pittsburgh, Pittsburgh, PA 15260, USA
*
Author to whom correspondence should be addressed.
ISPRS Int. J. Geo-Inf. 2025, 14(4), 147; https://doi.org/10.3390/ijgi14040147
Submission received: 16 January 2025 / Revised: 15 March 2025 / Accepted: 24 March 2025 / Published: 28 March 2025

Abstract

:
With the development of autonomous driving technology, the application scenarios for mobile robots and unmanned vehicles are gradually expanding from simple structured environments to complex unstructured scenes. In unstructured three-dimensional spaces such as urban environments, traditional two-dimensional map construction and path planning techniques struggle to effectively plan accurate paths. To address this, this paper proposes a method of constructing a map and planning a route based on three-dimensional spatial representation. This method utilizes point cloud semantic segmentation to extract navigable space information from environmental point cloud data and employs voxelization techniques to generate a voxel map. Building on this, the paper combines a variable search neighborhood A* algorithm with a road-edge-detection-based path adjustment to generate optimal paths between two points on the map, ensuring that the paths are both short and capable of effectively avoiding obstacles. Our experimental results in multi-story parking garages show that the proposed method effectively avoids narrow areas that are difficult for vehicles to pass through, increasing the average edge distance of the path by 83.3% and significantly enhancing path safety and feasibility.

1. Introduction

In recent years, with the rapid development of sensor technology and artificial intelligence, autonomous driving technology has made significant progress and has been successfully deployed in various practical scenarios such as warehousing [1,2,3], logistics [4,5,6], and manufacturing [7,8,9], leading to notable cost reduction and efficiency improvements. In the field of autonomous vehicles, with increasing investments from governments, businesses, and academia, the technology is gradually moving from the laboratory to real-world applications, and is often used in transportation and commercial operations. Autonomous vehicles are capable of handling complex traffic environments, with the potential to reduce road accidents and alleviate traffic congestion, thus improving transportation in densely populated urban areas [10].
Path planning is a fundamental task in autonomous vehicle navigation, critically determining the vehicle’s ability to reach its destination safely and efficiently. In practical applications, autonomous vehicles often operate in complex three-dimensional environments, such as multi-level parking garages, elevated roadways, and underground tunnels. These scenarios demand path planning approaches that go beyond traditional two-dimensional methods, requiring explicit consideration of vertical variations and three-dimensional obstacles. While conventional 2D and 2.5D path planning techniques have proven effective in relatively simple environments—such as flat terrains or areas with gradual elevation changes—they exhibit significant limitations when applied to complex 3D scenarios. For instance, 2D methods fail to account for height variations, rendering them unsuitable for environments with multi-level structures or prominent vertical obstacles. Similarly, 2.5D methods, despite incorporating elevation data, still rely on a simplified 2D plane, making it difficult to accurately represent overlapping structures (e.g., bridges over roads) or intricate vertical geometries. These limitations restrict their practical applicability in advanced autonomous navigation systems. Consequently, to address the challenges posed by complex operational environments, path planning methodologies must transition to comprehensive 3D solutions that fully integrate environmental height variations and three-dimensional spatial characteristics.
With the advancement of sensor technology, large-scale point cloud data can be easily obtained [11,12,13]. Point clouds can accurately describe three-dimensional space, including the shape, position, height, and depth of objects, allowing systems to better understand the three-dimensional structure of the environment and adapt to complex terrain. Moreover, with the application of deep learning, it is possible to quickly classify elements such as roads, obstacles, and pedestrians from point cloud data, which better serves path planning for autonomous vehicles. However, there are still some challenges when using point clouds for path planning [14]:
  • Unstructured Nature: Point clouds consist of discrete points, lacking inherent spatial and topological information about the environment.
  • Non-Uniform Density: Density variations, caused by sensor characteristics, result in closer regions being denser and distant areas sparser, adding complexity to data processing.
  • Large Scale: The large size of point cloud datasets imposes high computational demands, making pathfinding both resource-intensive and time-consuming.
A voxel represents a cube that acts as a uniformly spaced unit sample on a 3D grid, allowing point cloud data to be divided into regular small cubes. This simplifies spatial relationships and provides a structured, topological representation, which facilitates spatial analysis and path planning. This paper presents a voxel-based method for efficiently processing point cloud data in complex environments, addressing their unstructured nature and reducing computational complexity. The method includes constructing navigable area maps using a voxel-based approach, introducing a variable search neighborhood A* algorithm for efficient and adaptable path planning, and employing a path adjustment technique to enhance safety and reliability. The main contributions of this paper are as follows:
  • Proposing an efficient voxel-based framework for processing point cloud data, significantly reducing computational complexity;
  • Designing a variable search neighborhood A* algorithm capable of adaptive path planning in complex environments to avoid narrow areas;
  • Improving path safety and reliability through path adjustment techniques.
This method provides a robust and scalable solution for autonomous vehicles navigating complex three-dimensional scenarios such as multi-level parking garages, while also laying a technical foundation for autonomous systems to handle diverse three-dimensional environments.
The remainder of this paper is organized as follows: Section 2 reviews related work. Section 3 provides a detailed discussion of the proposed method. Section 4 presents the experimental results. Section 5 summarizes the study and outlines potential directions for future work.

2. Related Work

2.1. Voxel-Based Spatial Representation

Three-dimensional spatial modeling provides a clear spatial understanding to autonomous mobile systems by accurately and realistically reproducing the structure and features of the physical environment. This not only improves the efficiency of path planning algorithms, but also enhances navigation safety, allowing the system to intelligently respond to changes and challenges in complex scenarios. As an important 3D representation method, voxel maps divide 3D space into small cubes (voxels), storing position information, passability, color, and other semantic data for each voxel, thus effectively representing complex environmental structures. Compared to point clouds, 2.5D grids, and TINs, voxel maps not only provide precise spatial topological descriptions, but also define neighbor relationships in multiple directions (left, right, up, down, front, back), supporting efficient path planning and spatial queries. Refs. [15,16,17,18] used voxelization methods to reconstruct and describe large-scale 3D indoor spaces, dividing them into room entities. Through voxel technology, these methods effectively represent and model complex indoor layouts, including non-Manhattan spaces and multi-story structures. Refs. [19,20,21] not only used voxel methods to construct indoor spaces, but also identified walkable areas, providing convenient path information for pedestrian navigation. In response to special needs such as emergency evacuation, refs. [22,23] further refined spatial representation based on voxel modeling, facilitating efficient and safe path planning in emergency situations. Voxel maps, due to their flexibility, accuracy, and adaptability to complex environments, have become an important tool in 3D spatial modeling. With their flexibility, precision, and strong adaptability to complex environments, voxel maps have become a key tool in 3D spatial modeling [24]. In driving scenarios, challenges include more complex obstacles, multi-level structures (such as ramps and multi-story parking lots), and spatial features at varying scales. Therefore, voxel-based methods must achieve precise spatial representation across multiple levels and scales, particularly in the vertical direction, to adapt to changes in complex spatial structures, thereby supporting efficient path planning and accurate environmental perception.

2.2. Voxel-Based Pathfinding

Graph-based methods [25,26] perform path planning through the abstract representation of nodes and edges. While efficient in 2D planes, extending them to 3D spaces requires complex modeling and computation, making it difficult to accurately capture the details of complex environments. Reinforcement learning methods [27,28] rely on state representations of the environment. Although they exhibit strong adaptability in dynamic environments, training in three-dimensional spaces demands substantial data and time, making real-time performance challenging. In contrast, voxel-based path planning methods directly model environmental details through three-dimensional discretization, enabling the more precise capture of geometric and semantic information. Naturally supporting 3D path planning, these methods optimize computational performance. Refs. [29,30] applied the A* graph search algorithm on voxel-based indoor maps to design a near-optimal 3D path for drones. However, as this path planning did not consider safe distances from obstacles, the resulting paths could bring the drone too close to obstacles, increasing safety risks. To address this, ref. [31] utilized an indoor voxel model to calculate 3D buffer zones around obstacles, allowing drones to maintain a safe distance. This method combines the A* algorithm and distance transform algorithms to propose two path planning options: Safe Shortest Path (SSP) and Safe Lowest-Cost Path (SLCP). Additionally, ref. [32] mapped the semantic and geometric information from BIM models onto voxel grids, using the A* algorithm to optimize paths for starting and target points near the ground and generating more appropriate paths based on drone dimensions. Ref. [33] utilized an octree-based indoor building model to integrate various movement types, such as walking, rolling, and flying, into a path planning algorithm. This approach enables precise 3D navigation tailored to diverse users, including pedestrians, wheelchair users, and drones. Some studies [19,34,35] effectively reduce computational costs by limiting the navigation system’s search space to walkable areas extracted from voxel maps. This approach restricts path searches to traversable areas, reducing unnecessary computation while improving the efficiency and accuracy of path planning. Studies [36,37] integrated vehicle-mounted sensors with voxel modeling, enabling effective segmentation of static and dynamic obstacles and achieving real-time navigation. However, the validation of this method is limited to outdoor environments, and its applicability in indoor scenarios requires further investigation. The A* algorithm [38], being heuristic-based, focuses on calculating the shortest or lowest-cost path, often generating paths that are close to obstacles and occupy only a single voxel, thereby increasing the risk of collisions during actual navigation. Building on voxel maps, this paper proposes a variable search neighborhood A* algorithm to avoid paths through narrow areas and optimize the route to further enhance path safety.

3. Methodology

3.1. Data Collection

The data for this study were collected from the underground parking lot of a building in the Wushan campus of South China University of Technology. The underground parking lot features a two-level structure with a relatively complex layout, which meets the environmental requirements of this study.
The data collection was carried out with an iPad equipped with LiDAR and an RGB camera. This setup enabled 3D scanning of the environment, producing color-enhanced point cloud data [39,40]. The parking lot was systematically scanned in sections, capturing detailed point cloud data for the outdoor areas of two entrances, the first underground level, the ramp connecting the two underground levels, and the second underground level. Through scanning, we accurately acquired the 3D geometric information of structures such as walls, columns, and floors, providing a comprehensive spatial data foundation for subsequent analysis.
Using the Statistical Outlier Removal (SOR) algorithm [41,42], the point cloud data were denoised, and outliers were removed by analyzing the mean distance to neighboring points and filtering points that deviated significantly from the statistical distribution. The various sections of point cloud data were then merged in CloudCompare 2.12 [43], resulting in a complete point cloud dataset of the underground parking lot, as shown in Figure 1. The dataset contains approximately 10 million points, covering an area of about 90 × 180 m with a height difference of 9 m, accurately reflecting the spatial structural characteristics of the parking lot and providing reliable data support for research on path planning for autonomous vehicles.

3.2. Navigable Space Construction

In path planning and navigation, navigable areas refer to all spaces where mobile systems (such as robots, drones, or autonomous vehicles) can safely pass [44]. These areas exclude obstacles and non-navigable zones, ensuring that path planning can be executed without colliding with objects, thereby achieving safe navigation. Extracting navigable areas from point clouds provides a significant efficiency advantage. By clearly separating navigable areas, the complexity of data processing is reduced, allowing the navigation system to focus solely on safe, passable areas, which accelerates computation and provides a solid foundation for 3D path planning.
To extract navigable areas from point cloud data, we employed PointNet++ [45] to segment the point clouds of parking lots. PointNet++ is an efficient deep learning model for processing 3D point cloud data, particularly suited for segmentation tasks in large-scale datasets. Through its hierarchical structure, the model captures both local and global features in stages, refining the segmentation results to accurately distinguish various structures in parking lots (such as walls, ground surfaces, vehicles, ramp edges, etc.). For navigable area classification, PointNet++ directly processes unstructured point clouds, avoiding additional computational overheads, and achieves high-precision classification by simultaneously capturing local details and global contextual information through hierarchical feature extraction. Additionally, its sampling and grouping strategies enable it to handle large-scale point cloud data, and it precisely differentiates navigable areas from non-navigable areas (e.g., walls, vehicles) via point-wise classification. By leveraging these advantages of PointNet++, we can efficiently and accurately extract navigable areas from complex parking lot point cloud data, providing a reliable navigation foundation for autonomous vehicles.
As shown in Figure 2, by using PointNet++, we assign labels to each point in the point cloud and further classify them into navigable and non-navigable areas. Specifically, the ground (navigable area) is represented in yellow, while non-navigable areas include building facades in orange, vehicles in red, and green areas in green. By removing these non-navigable areas, we can extract a clear navigable area from the point cloud, providing precise spatial information for the path planning of autonomous vehicles.
Next, we will perform voxel-based modeling on the extracted navigable area. By converting the navigable region from the 3D point cloud data into a voxel grid, the space is discretized into uniform voxel units, simplifying the data structure and reducing computational complexity. The regular structure of the voxel grid allows the system to quickly identify navigable areas and efficiently perform path searching on the voxel map. The voxelization process is based on the principle of spatial discretization of point cloud data, where continuous 3D space is divided into regular voxel units, with each voxel unit representing a small cubic region whose size is determined by the voxel resolution r. The specific steps of voxelization are as follows:
  • Spatial partitioning and voxel mapping. According to the set voxel resolution r, the space is divided into a voxel grid. For any point ( x , y , z ) in 3D space, it can be mapped to the voxel unit ( i , j , k ) in the voxel coordinate system using the following formula:
    i = x x min r , j = y y min r , k = z z min r
    Here, x min , y min , z min represent the minimum values of the point cloud data in the x, y, and z directions, respectively, and · denotes the floor operation. This step discretizes the continuous 3D space into regular voxel units, providing structured data for subsequent processing.
  • Voxel occupancy state definition. For each voxel unit V i , j , k in the voxel grid, a Boolean occupancy state is defined. If the voxel contains at least one point cloud point, it is set to 1 (indicating drivable space, i.e., the road surface where the vehicle can travel); otherwise, it is set to 0. The generated path must have a value of 0 and lie on the voxels with a value of 1 to ensure that the path is feasible and safe. This process involves traversing all point cloud data, assigning points to their corresponding voxel units, and updating their occupancy states. The resulting voxel map clearly represents the spatial distribution of navigable areas.
  • Voxel map optimization. After generating the initial voxel map, noise voxels are removed using filtering algorithms to improve the accuracy and robustness of the voxel map. The optimized voxel map not only provides a more precise representation of navigable areas, but also offers more reliable environmental information for path planning.
Through the above voxelization process, the complex point cloud data are transformed into a structured voxel map, providing an efficient and reliable spatial representation for autonomous vehicle navigation in complex environments such as multi-level parking garages.

3.3. Variable Search Neighborhood A* Algorithm

3.3.1. Path Representation

In 3D voxel-based navigation, the path generated by the traditional A* algorithm typically occupies only a single voxel grid. When the actual footprint of a robot or vehicle requires multiple voxels for representation, the generated path may pass through narrow areas, leading to potential collisions. To overcome this limitation, we propose a custom path width representation method.
The path is defined as a set of discrete, ordered path points. A path point consists of a group of adjacent voxels in space. In the voxel map, a path point is mapped to a cube composed of voxels, and the path points can overlap. A path point r has the following attributes:
  • Central voxel c ( x c , y c , z c ) : This attribute represents the position of the central voxel of the path point, indicating the location of the entire path point in the voxel map.
  • Edge length n v : This attribute represents the size of the path point. The value of the edge length depends on the size of the robot or vehicle, the resolution of the voxel map, and the obstacles in the environment.
  • Bottom voxels V b : This attribute represents the set of voxels in the bottom layer of the path point. The voxels in this set represent the part of the robot or vehicle that contacts the ground.
Based on the attributes of the path points and constraints from physical laws, the path needs to satisfy the following constraints:
  • The value of all voxels at each path point must be 0. For path point r and voxel v i within the path point, v i r , v i = 0 .
  • The value of voxels in the bottom layer of each path point must be 1, ensuring that the generated path lies entirely on the ground. For path point r, define the bottom voxels V b as
    V b = v ( x b , y b , z b ) z b = z c n v 2 v r
    The ground voxels V g directly below V b are defined as
    V g = v ( x g , y g , z g ) ( x g , y g , z g ) = ( x b , y b , z b 1 )
    The constraint that ensures the path lies on the ground is given by
    v i V g , v i = 1

3.3.2. Search Neighborhoods

In traditional 2D A* search algorithms, path planning typically utilizes 4-neighbor or 8-neighbor search methods. However, these methods are limited to searching within the plane of the starting point and cannot plan 3D paths that involve changes in elevation. To address this limitation, we propose a 26-neighbor search strategy based on an extension of the 2D 8-neighbor search strategy to 3D space. This strategy comprehensively covers all adjacent nodes in three dimensions. The fundamental unit of this search neighborhood is the path point. In 3D space, each path point not only connects with neighboring nodes in the current plane, but also includes adjacent nodes in the vertical direction, forming a voxel set centered around the current path point and including its 26 neighboring nodes. Figure 3 shows a search neighborhood with a path point edge length of three voxels.
Since path points in 3D space may overlap, it is necessary to dynamically adjust the selection of neighboring nodes during the search process to ensure the formation of a continuous and smooth path in space. In voxel maps, slopes are often discretized into a series of voxel blocks with gradually changing elevations, similar to low-gradient steps (as Figure 4a shows). As a vehicle traverses a sloped area, the path manifests as a sequence of “ascending” and “descending” steps. However, during these “ascending” or “descending” maneuvers, the neighboring path points may partially hover above or sink into the ground (as Figure 4b,c show). To address this, an optimization strategy is proposed: while maintaining a constant height for the path point, the offsets of neighboring path points along the X and Y axes are increased up to the path point’s edge length until the path point meets the constraint conditions. This adjustment ensures that the path point adheres more closely to the ground during the search, avoiding hovering or sinking (as Figure 4d shows). Additionally, this adjustment improves the accuracy of the path search, ensuring that the path points meet the required constraints and form a smoother path.

3.3.3. Heuristic Function

In the A* algorithm, a heuristic function is used to estimate the priority of each node when searching for the shortest path in a graph or grid. The heuristic function is defined as
f ( r ) = g ( r ) + h ( r )
-
g ( r ) : the actual cost from the start node to node r, typically the path length.
-
h ( r ) : the estimated cost from node r to the goal, which is the predicted distance to the target.
Given that the search neighborhood proposed in this paper is an extension of the 2D eight-neighbor method into 3D space, the Chebyshev distance is chosen as the distance metric in the heuristic function. The Chebyshev distance effectively measures the maximum difference along any coordinate axis between path points in 3D space, ensuring balanced searching in all directions and preventing excessive node expansion in certain directions [46,47]. This choice is particularly advantageous because it aligns with the nature of the eight-neighbor extension in 3D, allowing diagonal movements that are common in such environments. For any two path points, r 1 and r 2 , with their central voxels c 1 ( x 1 , y 1 , z 1 ) and c 2 ( x 2 , y 2 , z 2 ) , respectively, the distance is given by
d ( r 1 , r 2 ) = d ( c 1 , c 2 ) = max x 1 x 2 , y 1 y 2 , z 1 z 2
This metric ensures that the heuristic function remains admissible and consistent, which are critical properties for the A* algorithm to guarantee optimality. By expanding the node with the smallest f ( r ) value, the A* algorithm can effectively narrow the search space and find the path with the minimal cost.

3.4. Path Adjustment

The heuristic function of the A* algorithm indeed consists of the actual cost g ( n ) from the start point to the current path point and the heuristic cost h ( n ) from the current path point to the goal. This means that path planning is based on the distances from the current path point to both the start and the goal. However, because the algorithm only detects obstacles within the local neighborhood of the path point, it lacks foresight regarding obstacles that are farther away. This can result in the generated path being too close to obstacles during execution, increasing the risk of collisions. To address this, it is necessary to perform path adjustment on the shortest path generated by the A* algorithm. This research proposes an edge-detection-based path offset method that shifts path points away from obstacles to safer positions.
This method only detects edges on both sides of the path, without considering vertical influences, so the offset is applied only in the X-Y plane where the path points are located. The adjustment steps are as follows:
Step 1: Calculation of Path Point Normal Vectors
  • For each pair of adjacent path points, r i and r i + 1 , calculate the tangent vector τ i = ( x i + 1 x i , y i + 1 y i ) .
  • Based on the tangent vector, calculate the normal vectors v + and v :
    • v + is defined as the normal vector to the left of the tangent vector τ i .
    • v is defined as the normal vector to the right of the tangent vector τ i .
Step 2: Obstacle Detection and Path Adjustment on Both Sides of the Path Points
  • Detecting edges on both sides of the path:
    • Detect the presence of obstacles along the directions of the normal vectors v + and v on both sides of the path points.
    • Determine the position of the road edges based on the detected obstacle positions.
  • Determining the new path point position based on the detection results:
    • Case 1: Road edges are detected on both sides:
      -
      If edges are detected on both sides of the path point, let the coordinates of the left edge be v + ( x v + , y v + ) and the coordinates of the right edge be v ( x v , y v ) .
      -
      The new path point r i is set as the midpoint between the edges, i.e., r i = x v + + x v 2 , y v + + y v 2 .
      -
      Record the Chebyshev distance d between the edges on both sides.
    • Case 2: Road edges are detected on only one side:
      -
      If only one side detects an edge and the edge is detected in the direction of v + , set the new path point as r i = r i d 2 · v i .
      -
      If the edge is detected in the direction of v , set the new path point as r i = r i + d 2 · v i .
    • Case 3: Neither side detects an edge:
      -
      If neither side detects an edge, the path point r i remains unchanged, and no offset is applied.
The pseudocode description is highlighted in Algorithm 1.
Algorithm 1 Path Adjustment Method
Require: Path R
Ensure: Adjustment path R
    1:
d = 0
    2:
for each r i ( x i , y i , z i ) R  do
    3:
   Tangent vector r i = ( x i + 1 x i , y i + 1 y i )
    4:
   Normal vector v i ( x ν i , y ν i ) : x τ i x ν i + y τ i y ν i = 0 x ν i 2 + y ν i 2 = 1
    5:
    v + = v = r i
    6:
   for  l = 1 to d m a x  do
    7:
      v e d g e + = r i + v i · ( l + 1 )
    8:
      v e d g e = r i v i · ( l + 1 )
    9:
     if  v e d g e + = 0  then
  10:
         v + = r i + v i · l
  11:
     end if
  12:
     if  v e d g e = 0  then
  13:
         v = r i v i · l
  14:
     end if
  15:
   end for
  16:
   if  v + r i and v r i  then
  17:
      r i ( x i , y i , z i ) = x ν + + x ν 2 , y ν + + y ν 2 , z i
  18:
      d = max ( x ν + x ν , y ν + y ν )
  19:
   else if  v + r i and v = r i  then
  20:
      r i = r i ν i · d 2
  21:
   else if   v + = r i and v r i  then
  22:
      r i = r i + ν i · d 2
  23:
   else
  24:
      r i = r i
  25:
   end if
  26:
    R = R { r i }
  27:
end for
  28:
return  R

4. Results

The proposed solution was implemented using Python 3.7 on a machine with an Intel Core i5-13600KF CPU (Intel Corporation, Santa Clara, CA, USA) running at 3.5 GHz, and with 14 cores, 32 GB of RAM, and a dedicated NVIDIA GeForce RTX 3050 GPU (NVIDIA Corporation, Santa Clara, CA, USA) with 8 GB of graphics memory for visualization.

4.1. Voxel Map Construction

To observe the effect of voxel size on the 3D spatial representation of the voxel map, we voxelized the parking lot point cloud using voxel sizes of 0.1 m, 0.5 m, and 1 m, as shown in Figure 5. The voxel maps generated at different voxel sizes reveal key differences in detail, The voxel maps generated with different voxel sizes exhibit significant differences in detail: the 0.1 m resolution produces 270,558 voxels, the 0.5 m resolution produces 13,482 voxels, and the 1.0 m resolution produces only 3224 voxels. When the voxel size is small (0.1 m), the voxel map retains more environmental details, but the number of voxels is over 20 times that of the 0.5 m resolution, leading to significantly increased memory usage and reduced computational efficiency. Conversely, as the voxel size increases (1.0 m), the number of voxels decreases substantially, but the loss of fine-grained details results in less accurate modeling, which may compromise vehicle safety. After balancing computational efficiency, storage requirements, and modeling accuracy, we ultimately selected a voxel size of 0.5 m to generate the voxel map for 3D spatial modeling, as it achieves an optimal balance between detail preservation and computational performance.

4.2. Path Planning Results

In the voxel map, we generated three different types of paths using both the standard A* algorithm and our proposed A* algorithm with a variable search neighborhood, and conducted a detailed comparison of their performance. As shown in Figure 6, the first type is the short path, with both the start and end points located inside the underground parking lot’s second level, featuring a relatively short distance; the second type is the medium path, from Entrance 1 to the second level of the underground parking lot, which includes a sharp turn and a slope, as well as a passage exclusively for pedestrians; and the third type is the long path, from Entrance 1 to Exit 2, covering the global navigation from the parking lot entrance to the exit, with a longer and more complex route. We focused on comparing the following aspects: search time, recording the total time from algorithm initiation to pathfinding to evaluate computational efficiency; path length, calculating the total length of the generated paths and analyzing their feasibility; and the distance of the adjustment path from the edge, analyzing the improvement in safety achieved through path adjustment.
Table 1 presents a comparison of search times between the standard A* algorithm and the proposed method for generating short, medium, and long paths. For the short path, the search time of the proposed method increases by only 1.9 ms compared to the standard A* algorithm, indicating that its computational efficiency in simple scenarios is comparable to that of the standard A* algorithm. However, for the medium and long paths, the search time of the proposed method is relatively longer. This increase is primarily due to the algorithm’s need to avoid narrow passages reserved for pedestrians and to expand the search range in areas with sharp turns, ensuring the safety and feasibility of the paths.
Table 2 presents a comparison of path lengths between the standard A* algorithm and the proposed method for generating short, medium, and long paths. For the short path, the path length generated by the proposed method increases by only 19 voxels compared to the standard A* algorithm, indicating that its path length in simple scenarios is comparable to that of the standard A* algorithm. However, for medium and long paths, the path lengths generated by the proposed method are relatively longer. This increase is primarily due to the algorithm’s need to avoid narrow passages reserved for pedestrians (as shown in the Figure 7) and to navigate sharp turns when entering the parking lot. This occurs because the standard A* algorithm selects only one voxel per iteration, allowing the path to pass through narrow regions as small as 0.5 m in width, which is significantly narrower than the width of a passenger vehicle. In contrast, the variable search neighborhood A* algorithm can generate paths of arbitrary widths, effectively avoiding narrow areas. Although the path length is slightly increased, the proposed method demonstrates significant advantages in path safety, particularly in avoiding narrow passages and complex environments.
In reference to the path adjustment method in Section 3.4, we set a maximum detection distance of 10 voxels in the voxel map. Using the variable search neighborhood A* algorithm, we generated the shortest path and applied an offset to it to compare the shortest path with the optimal offset path. In this paper, the path is evaluated based on the path length and the average distance to the edge, where the average distance to the edge is defined as
d o ¯ = i = 1 l d i + + d i l
The path length l is defined as the number of points along the path. Using the Chebyshev distance, let the distance from path point r i to obstacles in the directions of the normal vector ν i and ν i be d i + and d i , respectively. When there is no obstacle in a given direction, it is not included in the average distance calculation. The result is shown in Table 3. After adjustment, although the path lengths increased slightly (short path from 126 to 128, an increase of approximately 1.59%; medium path from 329 to 359, an increase of approximately 9.12%; long path from 540 to 580, an increase of approximately 7.41%), the average distances to the edge increased significantly (short path from 5.22 to 9.28, an increase of approximately 77.78%; medium path from 4.29 to 8.21, an increase of approximately 91.38%; long path from 4.47 to 8.14, an increase of approximately 82.10%). This significant increase in distance demonstrates that the adjusted paths substantially expanded the safety buffer from the edge, effectively reducing the risk of collisions, highlighting the effectiveness and practicality of the proposed method in path planning.

5. Conclusions and Future Work

This paper proposes a voxel-based path planning method to address the challenges of map construction and navigation in complex unstructured environments. By performing semantic segmentation on point cloud data using deep learning, navigable areas are extracted and voxelized to create a sparse, structured voxel map. This approach improves data processing efficiency by reducing storage requirements, simplifying terrain analysis, and enabling precise navigation. Building on this, a variable search range A* algorithm is introduced, which generates safer paths by adjusting path width and avoiding narrow areas, significantly enhancing navigation safety. Road edge detection further optimizes path safety. Experiments conducted in a multi-layer underground parking lot demonstrate the effectiveness of the proposed method. Compared to traditional methods, the paths generated by our approach, although they slightly increase search time and path length, effectively avoid narrow areas that are difficult for vehicles to pass through. After path adjustment, the average edge distance of the path increases by 83.3%, significantly improving the safety and feasibility of the path.
However, this study still has some limitations. The proposed method primarily focuses on static scenarios, which limits its applicability in real-time navigation tasks, particularly in environments with dynamic obstacles. Since traversable areas in the environment may undergo unpredictable changes, path planning results could be significantly affected. Future research will incorporate dynamic-voxel-data-updating mechanisms [36,48,49] by integrating sensor data to achieve real-time updates to the voxel map. This enhancement will enable more accurate reflection of environmental changes and facilitate efficient real-time path planning based on the updated information.

Author Contributions

Zhaoyu Lin: methodology, data curation, and writing; Zhiyong Wang: conceptualization, methodology; Tailin Gong and Weidong Xie: software, data curation; Yingying Ma: formal analysis, project management. All authors have read and agreed to the published version of the manuscript.

Funding

This research was carried out within the project “Research on Space-Time Performance of Urban Road Networks Based on Four-dimensional State Space Model” funded by the National Natural Science Foundation of China (Grant No. 52072129). This research was funded by the Fundamental Research Funds for Central Universities (NO.2023ZYGXZR056). Additionally, this research was conducted as part of the project “Integrating IndoorGML with Outdoors: Automatic Routing Graph Generation for Indoor-Outdoor Transitional Space for Seamless Navigation”, funded by the ISPRS Council through the ISPRS Scientific Initiatives 2023.

Data Availability Statement

The data used in this paper are available upon request from the corresponding author via email.

Conflicts of Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

References

  1. Kumar, N.V.; Kumar, C.S. Development of collision free path planning algorithm for warehouse mobile robot. Procedia Comput. Sci. 2018, 133, 456–463. [Google Scholar]
  2. Luo, L.; Zhao, N.; Zhu, Y.; Sun, Y. A* guiding DQN algorithm for automated guided vehicle pathfinding problem of robotic mobile fulfillment systems. Comput. Ind. Eng. 2023, 178, 109112. [Google Scholar]
  3. Yao, Q.; Zheng, Z.; Qi, L.; Yuan, H.; Guo, X.; Zhao, M.; Liu, Z.; Yang, T. Path planning method with improved artificial potential field—a reinforcement learning perspective. IEEE Access 2020, 8, 135513–135523. [Google Scholar]
  4. Lin, R.; Huang, H.; Li, M. An automated guided logistics robot for pallet transportation. Assem. Autom. 2021, 41, 45–54. [Google Scholar]
  5. Leng, K.; Li, S. Distribution path optimization for intelligent logistics vehicles of urban rail transportation using VRP optimization model. IEEE Trans. Intell. Transp. Syst. 2021, 23, 1661–1669. [Google Scholar]
  6. Bhargava, A.; Bhargava, D.; Kumar, P.N.; Sajja, G.S.; Ray, S. Industrial IoT and AI implementation in vehicular logistics and supply chain management for vehicle mediated transportation systems. Int. J. Syst. Assur. Eng. Manag. 2022, 13, 673–680. [Google Scholar]
  7. Dundar, Y.C. Dynamic path finding method and obstacle avoidance for automated guided vehicle navigation in Industry 4.0. Procedia Comput. Sci. 2021, 192, 3945–3954. [Google Scholar]
  8. Pasha, J.; Nwodu, A.L.; Fathollahi-Fard, A.M.; Tian, G.; Li, Z.; Wang, H.; Dulebenets, M.A. Exact and metaheuristic algorithms for the vehicle routing problem with a factory-in-a-box in multi-objective settings. Adv. Eng. Inform. 2022, 52, 101623. [Google Scholar]
  9. Liu, C.; Wu, L.; Xiao, W.; Li, G.; Xu, D.; Guo, J.; Li, W. An improved heuristic mechanism ant colony optimization algorithm for solving path planning. Knowl.-Based Syst. 2023, 271, 110540. [Google Scholar]
  10. Wang, W.; Wang, L.; Zhang, C.; Liu, C.; Sun, L. Social interactions for autonomous driving: A review and perspectives. Found. Trends® Robot. 2022, 10, 198–376. [Google Scholar] [CrossRef]
  11. Tang, P.; Huber, D.; Akinci, B.; Lipman, R.; Lytle, A. Automatic reconstruction of as-built building information models from laser-scanned point clouds: A review of related techniques. Autom. Constr. 2010, 19, 829–843. [Google Scholar] [CrossRef]
  12. Wu, C.; Yuan, Y.; Tang, Y.; Tian, B. Application of terrestrial laser scanning (TLS) in the architecture, engineering and construction (AEC) industry. Sensors 2021, 22, 265. [Google Scholar] [CrossRef] [PubMed]
  13. Xiong, X.; Adan, A.; Akinci, B.; Huber, D. Automatic creation of semantically rich 3D building models from laser scanner data. Autom. Constr. 2013, 31, 325–337. [Google Scholar] [CrossRef]
  14. Xu, Y.; Tong, X.; Stilla, U. Voxel-based representation of 3D point clouds: Methods, applications, and its potential use in the construction industry. Autom. Constr. 2021, 126, 103675. [Google Scholar]
  15. Xiong, Q.; Zhu, Q.; Du, Z.; Zlatanova, S.; Zhang, Y.; Zhou, Y.; Li, Y. Free multi-floor indoor space extraction from complex 3D building models. Earth Sci. Inform. 2017, 10, 69–83. [Google Scholar] [CrossRef]
  16. Pang, Y.; Zhang, C.; Zhou, L.; Lin, B.; Lv, G. Extracting indoor space information in complex building environments. ISPRS Int. J.-Geo-Inf. 2018, 7, 321. [Google Scholar] [CrossRef]
  17. Hübner, P.; Weinmann, M.; Wursthorn, S.; Hinz, S. Automatic voxel-based 3D indoor reconstruction and room partitioning from triangle meshes. ISPRS J. Photogramm. Remote Sens. 2021, 181, 254–278. [Google Scholar] [CrossRef]
  18. Nikoohemat, S.; Peter, M.; Oude Elberink, S.; Vosselman, G. Semantic interpretation of mobile laser scanner point clouds in indoor scenes using trajectories. Remote Sens. 2018, 10, 1754. [Google Scholar] [CrossRef]
  19. Fichtner, F.W.; Diakité, A.A.; Zlatanova, S.; Voûte, R. Semantic enrichment of octree structured point clouds for multi-story 3D pathfinding. Trans. GIS 2018, 22, 233–248. [Google Scholar] [CrossRef]
  20. Staats, B.; Diakité, A.; Voûte, R.; Zlatanova, S. Automatic generation of indoor navigable space using a point cloud and its scanner trajectory. In Proceedings of the ISPRS Geospatial Week 2017, ISPRS, Wuhan, China, 18–22 September 2017; pp. 393–400. [Google Scholar]
  21. Staats, B.; Diakité, A.; Voûte, R.; Zlatanova, S. Detection of doors in a voxel model, derived from a point cloud and its scanner trajectory, to improve the segmentation of the walkable space. Int. J. Urban Sci. 2019, 23, 369–390. [Google Scholar] [CrossRef]
  22. Gorte, B.; Aleksandrov, M.; Zlatanova, S. Towards egress modelling in voxel building models. ISPRS Ann. Photogramm. Remote Sens. Spat. Inf. Sci. 2019, 4, 43–47. [Google Scholar]
  23. Xie, R.; Zlatanova, S.; Lee, J.; Aleksandrov, M. A Motion-Based Conceptual Space Model to Support 3D Evacuation Simulation in Indoor Environments. ISPRS Int. J.-Geo-Inf. 2023, 12, 494. [Google Scholar]
  24. Niu, L.; Wang, Z.; Lin, Z.; Zhang, Y.; Yan, Y.; He, Z. Voxel-Based Navigation: A Systematic Review of Techniques, Applications, and Challenges. ISPRS Int. J.-Geo-Inf. 2024, 13, 461. [Google Scholar]
  25. Ntakolia, C.; Iakovidis, D.K. A swarm intelligence graph-based pathfinding algorithm (SIGPA) for multi-objective route planning. Comput. Oper. Res. 2021, 133, 105358. [Google Scholar]
  26. Savostin, I.; Trubakov, A. The Combination of Morphological and Evolutionary Algorithms for Graph-based Pathfinding on Maps with Complex Topologies. In Proceedings of the 29th International Conference on Computer Graphics and Vision, Moscow, Russia, 23–26 September 2019; pp. 300–303. [Google Scholar]
  27. Khekare, G.; Verma, P.; Dhanre, U.; Raut, S.; Sheikh, S. The optimal path finding algorithm based on reinforcement learning. Int. J. Softw. Sci. Comput. Intell. (IJSSCI) 2020, 12, 1–18. [Google Scholar]
  28. Tozer, B.; Mazzuchi, T.; Sarkani, S. Many-objective stochastic path finding using reinforcement learning. Expert Syst. Appl. 2017, 72, 371–382. [Google Scholar]
  29. MacAllister, B.; Butzke, J.; Kushleyev, A.; Pandey, H.; Likhachev, M. Path planning for non-circular micro aerial vehicles in constrained environments. In Proceedings of the 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, Germany, 6–10 May 2013; IEEE: Piscataway, NJ, USA, 2013; pp. 3933–3940. [Google Scholar]
  30. Xu, S.; Honegger, D.; Pollefeys, M.; Heng, L. Real-time 3D navigation for autonomous vision-guided MAVs. In Proceedings of the 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, 28 September–2 October 2015; IEEE: Piscataway, NJ, USA, 2015; pp. 53–59. [Google Scholar]
  31. Li, F.; Zlatanova, S.; Koopman, M.; Bai, X.; Diakité, A. Universal path planning for an indoor drone. Autom. Constr. 2018, 95, 275–283. [Google Scholar]
  32. Chen, Q.; Chen, J.; Huang, W. Pathfinding method for an indoor drone based on a BIM-semantic model. Adv. Eng. Inform. 2022, 53, 101686. [Google Scholar]
  33. Zhao, J.; Xu, Q.; Zlatanova, S.; Liu, L.; Ye, C.; Feng, T. Weighted octree-based 3D indoor pathfinding for multiple locomotion types. Int. J. Appl. Earth Obs. Geoinf. 2022, 112, 102900. [Google Scholar]
  34. Yang, J.; Kang, Z.; Zeng, L.; Akwensi, P.H.; Sester, M. Semantics-guided reconstruction of indoor navigation elements from 3D colorized points. ISPRS J. Photogramm. Remote Sens. 2021, 173, 238–261. [Google Scholar]
  35. Rodenberg, O.; Verbree, E.; Zlatanova, S. Indoor A* pathfinding through an octree representation of a point cloud. ISPRS Ann. Photogramm. Remote Sens. Spat. Inf. Sci. 2016, 4, 249–255. [Google Scholar] [CrossRef]
  36. Asvadi, A.; Premebida, C.; Peixoto, P.; Nunes, U. 3D Lidar-based static and moving obstacle detection in driving environments: An approach based on voxels and multi-region ground planes. Robot. Auton. Syst. 2016, 83, 299–311. [Google Scholar] [CrossRef]
  37. Wang, S.; Caesar, H.; Nan, L.; Kooij, J.F. Unibev: Multi-modal 3d object detection with uniform bev encoders for robustness against missing sensor modalities. In Proceedings of the 2024 IEEE Intelligent Vehicles Symposium (IV), Jeju Island, Republic of Korea, 2–5 June 2024; IEEE: Piscataway, NJ, USA, 2024; pp. 2776–2783. [Google Scholar]
  38. Hart, P.E.; Nilsson, N.J.; Raphael, B. A formal basis for the heuristic determination of minimum cost paths. IEEE Trans. Syst. Sci. Cybern. 1968, 4, 100–107. [Google Scholar] [CrossRef]
  39. Spreafico, A.; Chiabrando, F.; Teppati Losè, L.; Giulio Tonolo, F. The ipad pro built-in lidar sensor: 3d rapid mapping tests and quality assessment. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. 2021, 43, 63–69. [Google Scholar] [CrossRef]
  40. Díaz Vilariño, L.; Tran, H.; Frías Nores, E.; Balado Frías, J.; Khoshelham, K. 3D mapping of indoor and outdoor environments using Apple smart devices. ISPRS-Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. 2022, 43, 303–308. [Google Scholar] [CrossRef]
  41. Balta, H.; Velagic, J.; Bosschaerts, W.; De Cubber, G.; Siciliano, B. Fast statistical outlier removal based method for large 3D point clouds of outdoor environments. IFAC-PapersOnLine 2018, 51, 348–353. [Google Scholar] [CrossRef]
  42. Carrilho, A.; Galo, M.; Santos, R. Statistical outlier detection method for airborne LiDAR data. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. 2018, 42, 87–92. [Google Scholar] [CrossRef]
  43. CloudCompare. CloudCompare (Version 2.13.2), 2024. GPL Software. Available online: https://www.cloudcompare.org (accessed on 16 March 2025).
  44. Chen, Z.; Liu, L. Navigable space construction from sparse noisy point clouds. IEEE Robot. Autom. Lett. 2021, 6, 4720–4727. [Google Scholar] [CrossRef]
  45. Qi, C.R.; Yi, L.; Su, H.; Guibas, L.J. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. Adv. Neural Inf. Process. Syst. 2017, 30. [Google Scholar]
  46. Guo, X.; Luo, X. Global path search based on A* algorithm. In Proceedings of the 2018 International Conference on Transportation & Logistics, information & Communication, Smart City (TLICSC 2018), Chengdu, China, 30–31 October 2018; Atlantis Press: Dordrecht, The Netherlands, 2018; pp. 369–374. [Google Scholar]
  47. Schär, K.; Schwank, P.; Dornberger, R.; Hanne, T. Pathfinding in the paparazzi problem comparing different distance measures. In Proceedings of the International Joint Conference on Advances in Computational Intelligence: IJCACI 2021, Dhaka, Bangladesh, 23–24 October 2021; Springer: Berlin/Heidelberg, Germany, 2022; pp. 81–95. [Google Scholar]
  48. Rangesh, A.; Trivedi, M.M. No blind spots: Full-surround multi-object tracking for autonomous vehicles using cameras and lidars. IEEE Trans. Intell. Veh. 2019, 4, 588–599. [Google Scholar] [CrossRef]
  49. Capalnean, S.; Oniga, F.; Danescu, R. Obstacle Detection Using a Voxel Octree Representation. In Proceedings of the 2019 IEEE 15th International Conference on Intelligent Computer Communication and Processing (ICCP), Cluj-Napoca, Romania, 5–7 September 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 3–9. [Google Scholar]
Figure 1. Underground parking lot point cloud.
Figure 1. Underground parking lot point cloud.
Ijgi 14 00147 g001
Figure 2. Point cloud segmentation results using PointNet++ (with ceiling labels removed), where navigable areas are colored in yellow, vehicles in red, building facades in orange, and green space in green.
Figure 2. Point cloud segmentation results using PointNet++ (with ceiling labels removed), where navigable areas are colored in yellow, vehicles in red, building facades in orange, and green space in green.
Ijgi 14 00147 g002
Figure 3. A search neighborhood with a path point edge length of 5 voxels (including the central voxel of the neighborhood).
Figure 3. A search neighborhood with a path point edge length of 5 voxels (including the central voxel of the neighborhood).
Ijgi 14 00147 g003
Figure 4. (a) The slope is discretized into voxel blocks in the voxel map. (b) The path point is hovering when “ascending”. (c) The path point sinks into the ground when “descending”. (d) The path points after adjustment with offsets (the dark green area represents the current path point, while the light green areas indicate the neighboring path points).
Figure 4. (a) The slope is discretized into voxel blocks in the voxel map. (b) The path point is hovering when “ascending”. (c) The path point sinks into the ground when “descending”. (d) The path points after adjustment with offsets (the dark green area represents the current path point, while the light green areas indicate the neighboring path points).
Ijgi 14 00147 g004
Figure 5. Voxel maps generated at different resolutions.
Figure 5. Voxel maps generated at different resolutions.
Ijgi 14 00147 g005
Figure 6. Path planning results generated by standard A* and proposed method across short, medium, and long paths. (a) Short path generated by standard A*; (b) Short path generated by the proposed method (blue: before adjustment; red: after adjustment); (c) Medium path generated by standard A*; (d) Medium path generated by the proposed method (blue: before adjustment; red: after adjustment); (e) Long path generated by standard A*; (f) Long path generated by the proposed method (blue: before adjustment; red: after adjustment).
Figure 6. Path planning results generated by standard A* and proposed method across short, medium, and long paths. (a) Short path generated by standard A*; (b) Short path generated by the proposed method (blue: before adjustment; red: after adjustment); (c) Medium path generated by standard A*; (d) Medium path generated by the proposed method (blue: before adjustment; red: after adjustment); (e) Long path generated by standard A*; (f) Long path generated by the proposed method (blue: before adjustment; red: after adjustment).
Ijgi 14 00147 g006
Figure 7. Path generated by standard A* passing through narrow area. (a) Close-up view of the premature turn area in the path generated by standard A*; (b) Real-world scene corresponding to the turn area.
Figure 7. Path generated by standard A* passing through narrow area. (a) Close-up view of the premature turn area in the path generated by standard A*; (b) Real-world scene corresponding to the turn area.
Ijgi 14 00147 g007
Table 1. Comparison of search times for different path types and methods.
Table 1. Comparison of search times for different path types and methods.
Path TypeMethodTime (ms)
ShortStandard A*8.5
Proposed method10.4
MediumStandard A*52.6
Proposed method90.3
LongStandard A*173.1
Proposed method230.6
Table 2. Comparison of path lengths for different path types and methods.
Table 2. Comparison of path lengths for different path types and methods.
Path TypeMethodLength (Voxel)
ShortStandard A*107
Proposed method (before adjustment)126
MediumStandard A*183
Proposed method (before adjustment)329
LongStandard A*367
Proposed method (before adjustment)540
Table 3. Comparison of path lengths and average distances to the edge before and after adjustment.
Table 3. Comparison of path lengths and average distances to the edge before and after adjustment.
Path TypeMethodLength (Voxel)Average Distance to Edge (Voxel)
ShortBefore adjustment1265.22
After adjustment1289.28
MediumBefore adjustment3294.29
After adjustment3598.21
LongBefore adjustment5404.47
After adjustment5808.14
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Lin, Z.; Wang, Z.; Gong, T.; Ma, Y.; Xie, W. Voxel-Based Path Planning for Autonomous Vehicles in Parking Lots. ISPRS Int. J. Geo-Inf. 2025, 14, 147. https://doi.org/10.3390/ijgi14040147

AMA Style

Lin Z, Wang Z, Gong T, Ma Y, Xie W. Voxel-Based Path Planning for Autonomous Vehicles in Parking Lots. ISPRS International Journal of Geo-Information. 2025; 14(4):147. https://doi.org/10.3390/ijgi14040147

Chicago/Turabian Style

Lin, Zhaoyu, Zhiyong Wang, Tailin Gong, Yingying Ma, and Weidong Xie. 2025. "Voxel-Based Path Planning for Autonomous Vehicles in Parking Lots" ISPRS International Journal of Geo-Information 14, no. 4: 147. https://doi.org/10.3390/ijgi14040147

APA Style

Lin, Z., Wang, Z., Gong, T., Ma, Y., & Xie, W. (2025). Voxel-Based Path Planning for Autonomous Vehicles in Parking Lots. ISPRS International Journal of Geo-Information, 14(4), 147. https://doi.org/10.3390/ijgi14040147

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop