Parking path planning method and related equipment
By introducing a hybrid A* node expansion and indexed list management mechanism into the grid map, the problem of insufficient continuity and executability of parking path planning in complex or narrow spaces in the existing technology is solved, and parking path planning with high stability and high success rate is achieved.
Patent Information
- Application Number
- CN202511905466.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-17
- Publication Date
- 2026-01-23
AI Technical Summary
Existing parking path planning methods lack the continuity and executability of paths generated in complex or narrow parking spaces, making it difficult to reliably and stably fulfill path planning requirements.
A node expansion and index list management mechanism based on hybrid A* is introduced. A grid index sequence is constructed in the grid map, a parking path is generated through the hybrid A* search algorithm, and the node state information is stored in the data list to satisfy vehicle motion constraints.
It generates continuous, reliable, and highly executable parking paths, improving the stability and success rate of path planning.
Smart Images

Figure CN121375754A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle control technology, and more specifically, to a parking path planning method and related equipment. Background Technology
[0002] With the continuous development of automotive intelligence and autonomous driving technologies, automatic parking systems, as an important function to improve vehicle usability and safety, have been widely applied in various passenger and commercial vehicles. Parking path planning, as a core component of automatic parking systems, directly affects the safety, smoothness, and success rate of the parking process. In practical applications, parking environments are typically characterized by limited space, complex obstacle distribution, and restricted vehicle movement, which places higher demands on the accuracy and reliability of parking path planning methods.
[0003] In related technologies, parking path planning typically involves constructing a grid map based on a grid map and using a hybrid A* algorithm for path search. During path search, traditional methods often perform simple deduplication on node states with the same grid index, discarding subsequently visited nodes with the same index during node expansion. This results in some feasible node states with different postures or motion histories not being fully preserved. Simultaneously, the lack of effective data organization for node state information limits the ability to express potential feasible paths during path search, thus affecting path search performance in complex or narrow parking spaces. In other words, existing technologies suffer from limited continuity and executability of generated parking paths, making it difficult to reliably and stably fulfill path planning requirements in complex parking scenarios. Summary of the Invention
[0004] The summary section of this application introduces a series of simplified concepts, which will be further explained in detail in the detailed description section. The summary section of this application is not intended to limit the key features and essential technical features of the claimed technical solution, nor is it intended to determine the scope of protection of the claimed technical solution.
[0005] The parking path planning method and related equipment provided in this application can generate continuous, reliable and highly executable parking paths by introducing a node expansion and indexed list management mechanism based on hybrid A* into the grid map, which can fully preserve the state of feasible nodes under the premise of satisfying vehicle motion constraints, thereby improving the stability and success rate of parking path planning.
[0006] In a first aspect, this application provides a parking path planning method, comprising: acquiring environmental information of a target parking space and the parking start point and parking end point of a vehicle; constructing a grid map corresponding to the environmental information; executing a hybrid A* search algorithm in the grid map to expand the nodes of the parking start point to form a grid index sequence, and storing the node state information during the node expansion process in a data linked list according to the grid index corresponding to the node state information; and generating a target parking path from the parking start point to the parking end point based on the grid index sequence.
[0007] In some implementations, constructing a grid map corresponding to the environmental information includes: dividing the target parking space into a first target region and a second target region based on the environmental information, wherein the first target region is a region where the path planning complexity is greater than a target complexity threshold, and the second target region is a region where the path planning complexity is less than or equal to the target complexity threshold; determining the resolution within the first target region as a first resolution and the resolution within the second target region as a second resolution, wherein the first resolution is greater than the second resolution; and constructing the grid map based on the boundary information between the first target region and the second target region, as well as the first resolution and the second resolution.
[0008] In some implementations, storing the node state information during the node expansion process in a data list according to the raster index corresponding to the node state information includes: during the node expansion process, determining the target raster index corresponding to the expanded node in the raster map based on the node pose of the expanded node; if there is no data list corresponding to the target raster index, creating a data list corresponding to the target raster index and storing the expanded node as the head node of the data list corresponding to the target raster index; if there is a data list corresponding to the target raster index, inserting the expanded node into the data list corresponding to the target raster index.
[0009] In some implementations, inserting the extended node into the data list corresponding to the target raster index includes: if the first generation value is less than the second generation value, then setting the extended node as the new head node of the data list, wherein the first cost value is the cost value of the extended node, and the second cost value is the cost value of the original head node of the data list corresponding to the target raster index; if the first generation value is greater than or equal to the second generation value, then inserting the extended node into a preset position other than the head node in the data list corresponding to the target raster index.
[0010] In some implementations, generating a target parking path from the parking start point to the parking end point based on the grid index sequence includes: determining the target node in the data linked list corresponding to each grid index in the grid index sequence as a path node; and determining the target parking path based on the path node.
[0011] In some implementations, determining the target parking path based on the path nodes includes: linking the path nodes according to the order of the grid indices in the grid index sequence to obtain an initial parking path; and smoothing the initial parking path based on a preset path smoothing algorithm to generate the target parking path.
[0012] In some implementations, determining the target node in the data linked list corresponding to each raster index in the raster index sequence as a path node includes: traversing all raster indexes in the raster index sequence; if the currently traversed raster index is the first raster index to appear during the traversal, then the head node in the data linked list corresponding to the current raster index is determined as the path node; if the currently traversed raster index is not the first raster index to appear during the traversal, then the child node in the data linked list corresponding to the current raster index that corresponds to the path node determined during the previous traversal of the current raster index is determined as the path node.
[0013] Secondly, this application also provides a parking path planning device, comprising: a data acquisition unit for acquiring environmental information of a target parking space and the parking start and parking end points of a vehicle; a space construction unit for constructing a grid map corresponding to the environmental information; a sequence generation unit for executing a hybrid A* search algorithm in the grid map to expand the nodes of the parking start point to form a grid index sequence, and storing the node state information during the node expansion process in a data linked list according to the grid index corresponding to the node state information; and a path generation unit for generating a target parking path from the parking start point to the parking end point based on the grid index sequence.
[0014] Thirdly, this application also provides an electronic device, including: a memory and a processor, the processor being configured to execute a computer program stored in the memory to implement the steps of the parking path planning method described in the first aspect.
[0015] Fourthly, this application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the parking path planning method described in the first aspect.
[0016] Fifthly, this application also provides a computer program product, including a computer program or computer executable instructions, which, when executed by a processor, implement the steps of the parking path planning method provided in the embodiments of this application.
[0017] In summary, this application constructs a grid map corresponding to the target parking space by acquiring environmental information and combining it with the vehicle's parking start and end points. This allows the path planning process to be based on a discretized model of the parking environment, enabling a systematic and standardized description of the vehicle's feasible state during parking, thus improving the controllability of path planning. Furthermore, by executing a hybrid A* search algorithm on the grid map to expand the nodes at the parking start point and form a grid index sequence, path searching can be performed while satisfying vehicle motion constraints, thereby generating parking routes that conform to the actual driving characteristics of the vehicle. The method improves the executability of the path; simultaneously, by storing the node state information obtained during the node expansion process in a data linked list according to the corresponding grid index, different node states under the same grid index can be effectively managed, avoiding the loss of potential feasible paths due to simply discarding duplicate index nodes, thereby improving the completeness and success rate of path search; based on the grid index sequence, a target parking path from the parking start point to the parking end point is generated, so that the final parking path has continuity and traceability under the constraints of the grid map, which can improve the stability and reliability of the parking path planning results. In summary, the parking path planning method provided in this application, by introducing a node expansion and index linked list management mechanism based on hybrid A* into the grid map, fully retains the feasible node states under the premise of satisfying vehicle motion constraints, and can generate continuous, reliable and highly executable parking paths, thereby improving the stability and success rate of parking path planning. Attached Figure Description
[0018] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit this specification. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings: Figure 1 A flowchart illustrating a parking path planning method provided in an embodiment of this application; Figure 2 A schematic diagram of target parking space area division and parking path planning provided in an embodiment of this application; Figure 3 This is a schematic diagram of the composition structure of a parking path planning device provided in an embodiment of this application; Figure 4 This is a schematic diagram of the composition structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0019] The terms used in the specification, claims, and drawings of this application, such as "first," "second," "third," "fourth," etc. (if any), are used to distinguish similar objects and not to describe a specific order or sequence. Therefore, it is to be understood that these terms can be used interchangeably where appropriate, allowing the described embodiments to be used in different orders, unless specifically required by the illustrations or description. Furthermore, the terms "is" and "has," and any variations thereof, are intended to cover, non-exclusively, all possible constituent elements. For example, a process, method, system, product, or apparatus comprising several steps or units is not necessarily limited to the steps or units explicitly listed, but may also include other steps or units not explicitly listed, or steps or units inherent to the process, method, product, or apparatus.
[0020] In this application, a "module" or "unit" refers to a computer program or part of a computer program that has a specific function and works in conjunction with other related parts to achieve a predetermined goal. These modules or units can be implemented by software, hardware (e.g., processing circuitry or memory), or a combination of both. One or more processors or memories can implement one or more modules or units. Furthermore, each module or unit can also be part of a larger module or unit.
[0021] The technical solutions of this application will be described in detail below with reference to the accompanying drawings of the embodiments. It should be noted that the described embodiments are only a part of this application, and not all embodiments. In the following description, the "some embodiments" mentioned are only a subset of all possible embodiments, which may be the same or different subsets, and different embodiments can be combined with each other without conflict.
[0022] Figure 1 This is a flowchart illustrating a parking path planning method provided in an embodiment of this application. For example, see [link to example]. Figure 1 The parking path planning method provided in this application embodiment may include the following steps 101 to 104: Step 101: Obtain environmental information of the target parking space and the starting and ending points of the vehicle's parking.
[0023] In some examples, the target parking space is a specific physical area where the vehicle is planned to complete the parking operation. This area includes parking spaces available for the vehicle and the surrounding environment within a certain range. The range must meet the path planning and driving requirements of the vehicle from the initial position to the parking position. The surrounding environment can be detected by the onboard environmental perception equipment and combined with the parking space marking information in the high-precision map (HPM) to determine the boundary range and environmental contour of the target parking space. Environmental information is a collection of various data that characterize the features of the target parking space and its surrounding environment. This can include spatial geometry, obstacle distribution, parking space contour parameters, and road surface smoothness, serving as the core basis for path planning and collision avoidance. Raw data of the target parking space can be collected collaboratively by devices such as vehicle-mounted LiDAR (Light Detection and Ranging), cameras, and ultrasonic sensors. After preprocessing such as data denoising, calibration, and fusion, structured environmental information is generated. For example, LiDAR scanning reveals two fixed obstacles (curb and fire hydrant) within the target parking space, with coordinates of (30.2 m, 45.1 m) and (32.5 m, 46.3 m) respectively. The camera identifies the pixel coordinates of the parking space's edge, which, after conversion, yields a rectangle ranging from (28.0 m, 44.0 m) to (33.0 m, 46.6 m). The ultrasonic sensor detects no significant protrusions on the road surface, indicating a smooth surface that meets parking requirements. All these data collectively constitute complete environmental information. The parking start point is the initial pose of the vehicle when the Auto Parking Assist (APA) function is activated. This pose includes the vehicle's two-dimensional plane coordinates and heading angle (HA). The two-dimensional plane coordinates are used to determine the vehicle's position in space, and the heading angle is used to determine the vehicle's direction of travel. The vehicle's position and attitude data can be collected by devices such as the onboard Global Positioning System (GPS), Inertial Measurement Unit (IMU), and wheel speed sensors. After processing by data fusion algorithms, a precise initial pose is obtained as the parking start point.The parking endpoint is the target pose that a vehicle must reach after completing a parking maneuver. This pose also includes two-dimensional plane coordinates and a heading angle. The two-dimensional plane coordinates correspond to the center position of the parking space or the designated parking position, while the heading angle corresponds to the standard parking direction of the vehicle within the parking space (e.g., aligned with the road direction for parallel parking and perpendicular to the edge of the parking space for perpendicular parking). Parking space recognition algorithms can analyze environmental data collected by sensors to identify the outline and size of the target parking space. Combined with parking space location information from a high-precision map, the target parking position and direction of the parking space can be calculated, thus determining the parking endpoint. For example, in a perpendicular parking scenario, image data captured by a camera can identify the left and right edges and front and rear boundaries of the target parking space. The two-dimensional plane coordinates of the center of the parking space are calculated to be 25.2 meters and 35.3 meters, and the standard heading angle of the vehicle within the parking space is determined to be 0 degrees. These coordinates and the heading angle together constitute the parking endpoint.
[0024] For example, when the driver triggers the automatic parking assist function, the vehicle first performs a comprehensive scan of the surrounding environment using environmental perception devices such as LiDAR and cameras. Simultaneously, it combines this with high-precision map data to determine the boundaries and range of the target parking space. After acquiring the target parking space, it discretizes the space into a grid of preset sizes through rasterization, marking the occupancy status of each grid to generate complete environmental information. At the same time, the onboard GPS, inertial measurement unit, and other devices work together to collect and fuse the vehicle's current position and attitude data to obtain the parking starting point. By analyzing the environmental data using a parking space recognition algorithm, the vehicle accurately locates the position and direction of the target parking space, determining the parking endpoint. This provides fundamental data support for subsequent raster map construction and the execution of the hybrid A* search algorithm.
[0025] By implementing step 101, the environmental information of the target parking space and the parking start and end points of the vehicle are obtained. The actual parking environment is described in a structured and parameterized manner, enabling the path planning algorithm to accurately perceive the spatial layout and boundary conditions of the parking area. This provides a complete and clear environmental input basis for subsequent path search, thereby improving the accuracy and relevance of the path planning results.
[0026] Step 102: Construct a raster map corresponding to the environmental information.
[0027] In some examples, the raster map is a digital representation of the continuous environment of the target parking space, transformed into a discretized two-dimensional grid model. Each grid (raster) serves as the basic unit of environmental description, containing two core states: "feasible to drive" and "obstacle occupied." The feasible to drive state corresponds to an area without obstacles, where vehicles can pass or park, while the obstacle occupied state corresponds to an area with obstacles such as vehicles, curbs, and fixed facilities. This is the core environmental model for path planning performed by the hybrid A* search algorithm. Based on the environmental information obtained in step 101, the continuous environment can be transformed into a digital representation using a rasterization algorithm. Spatial geometric data and obstacle distribution data are discretized into regular grids, and the state of each grid is marked according to preset rules to form a structured grid map. For example, if the grid size is set to 10 cm × 10 cm, the grids corresponding to the curb at coordinates (30.2 m, 45.1 m) and the fire hydrant at coordinates (32.5 m, 46.3 m) in the target parking space are marked as obstructed. The grids within the outline of the parking space and the surrounding area without obstacles are marked as feasible driving state, and finally a grid map containing 1200 grids (40 m long × 30 m wide) is formed.
[0028] For example, after acquiring the environmental information of the target parking space, the vehicle first activates the gridding processing module to parse the maximum and minimum coordinates of the target parking space from the environmental information, clarify the coverage of the grid map, and ensure that the map can completely include the parking space and the area required for vehicle driving. According to the path planning accuracy requirements of the automatic parking assistance function, an appropriate grid size is set to balance the accuracy of environmental representation and the computational efficiency of the algorithm. Subsequently, the physical space area is matched one by one according to the grid arrangement order. Combining the obstacle distribution data and parking space outline data in the environmental information, the vehicle determines whether there are obstacles in each grid by coordinate comparison, and then marks its status.
[0029] By implementing step 102, a grid map corresponding to the environmental information is constructed, and the position and attitude of the vehicle during the parking process are mapped to discrete states. This allows the reachability of the vehicle to be described within a unified spatial framework, which can systematically constrain the search range, reduce invalid searches, and improve the controllability and computational efficiency of the path planning process.
[0030] Step 103: Execute the hybrid A* search algorithm in the grid map to expand the nodes of the parking starting point to form a grid index sequence, and store the node status information during the node expansion process in the data linked list according to the grid index corresponding to the node status information.
[0031] In some examples, the Hybrid A* Search Algorithm (HybridA*) is a path search algorithm improved based on the classic A* Algorithm (A*). Its core feature is the integration of heuristic search logic and vehicle dynamics constraints (such as minimum turning radius and maximum steering angle), adapting to parking scenario state descriptions composed of two-dimensional plane coordinates and heading angles, and generating paths that conform to the actual driving capabilities of vehicles. Based on the classic A* algorithm framework, the heuristic function (combining G-value and H-value to calculate path cost) and collision detection mechanism can be optimized, and vehicle motion physical constraints can be incorporated to form a Hybrid A* Search Algorithm adapted to the needs of automatic parking path planning. The node expansion process is the core operation of the hybrid A* search algorithm. It is based on the three-dimensional state (two-dimensional plane coordinates, heading angle) of the current search node, and generates multiple adjacent valid state nodes according to vehicle motion constraints and feasible driving states of the grid map. It can calculate all adjacent states that satisfy the dynamic constraints and whose corresponding grid is a feasible driving state, based on the pose parameters of the current node and the vehicle's achievable steering angle increment and single movement distance. Each adjacent state that meets the conditions is the new node generated through expansion. For example, if the parking start node state is (25.3 m, 44.8 m, 90 degrees), and the vehicle steering angle increment is set to ±10 degrees, the single movement distance to be 0.3 m, and all corresponding grids are feasible states, then three valid expansion nodes can be generated: (25.6 m, 44.8 m, 80 degrees), (25.6 m, 44.8 m, 90 degrees), and (25.6 m, 44.8 m, 100 degrees). A raster index sequence is an ordered set formed by recording the raster indices corresponding to each expanded node in the order in which the nodes are generated during the node expansion process. After each node expansion is completed, the raster index of that node can be calculated immediately using a preset formula and stored sequentially in a preset sequence container according to the expansion order. As node expansion continues, the sequence is continuously accumulated to form a complete set. For example, if the raster index corresponding to the parking start node is 285, the first expansion generates indices of 286, 287, and 288 for 3 nodes, and the second expansion generates indices of 292 and 293 for 2 nodes based on node 286, then the raster index sequence formed at this time is [285, 286, 287, 288, 292, 293], which completely records the sequential trajectory of node expansion.Node state information is a data set describing the core attributes of each extended node. It includes the node's corresponding three-dimensional state vector (two-dimensional plane coordinates, heading angle) and the path cost (G value, H value) in the hybrid A* search algorithm. The G value is the actual travel cost from the parking start point to the current node, and the H value is the estimated travel cost from the current node to the parking end point. For example, the node state information of an extended node is two-dimensional plane coordinates (25.6 meters, 44.8 meters), heading angle 80 degrees, G value 1.3 (unit: meters), and H value 5.2 (unit: meters), which comprehensively represents the node's position, orientation, and search cost. A data linked list is a linear data structure used to store node state information. It adopts a linked storage method, and each linked list node contains a node state information field and a pointer to the next linked list node. It supports ordered storage and efficient access of nodes, and each grid index corresponds to a unique data linked list. For example, the data linked list corresponding to grid index 286 contains two nodes, storing the state information of (25.6 meters, 44.8 meters, 80 degrees, G=1.3, H=5.2) and (25.7 meters, 44.8 meters, 85 degrees, G=1.6, H=4.9) respectively. The linked list nodes are connected sequentially by pointers to form an ordered storage structure. The process of storing the raster index corresponding to the node's status information in a data linked list involves first calculating the raster index based on the two-dimensional planar coordinates in the node's status information, and then storing the node's complete status information into the data linked list corresponding to that raster index. This can be done by first calculating the node's raster index based on the grid size and boundary coordinates of the raster map using a preset formula, such as index = (x-coordinate - raster map x-axis start coordinate) / grid size + (y-coordinate - raster map y-axis start coordinate) / grid size × total number of grid cells on the raster map's x-axis; then, finding the preset data linked list corresponding to that index and creating a list containing... The current node's status information is linked to the data linked list, and the storage operation is completed. For example, if a node's two-dimensional plane coordinates are (25.6 meters, 44.8 meters), the starting coordinates of the raster map's x-axis are 25.0 meters, the starting coordinates of the y-axis are 42.0 meters, the grid size is 10 cm × 10 cm, and the total number of grids on the x-axis is 100, the raster index is calculated as (25.6 - 25.0) / 0.1 + (44.8 - 42.0) / 0.1 × 100 = 6 + 28 × 100 = 2806. Then, the complete status information of the node is stored in the data linked list corresponding to index 2806.
[0032] By implementing step 103, the hybrid A* search algorithm is executed in the grid map and the parking starting point is expanded. This allows for the gradual exploration of feasible paths while considering vehicle kinematic constraints. At the same time, the node status information obtained during the node expansion process is stored in a data linked list according to the corresponding grid index. This allows for the effective management of multiple node states under the same grid index, avoiding the direct rejection of feasible nodes due to duplicate indexes, and improving the completeness and success rate of path search.
[0033] Step 104: Based on the grid index sequence, generate the target parking path from the parking start point to the parking end point.
[0034] In some examples, the target parking path is a continuous motion trajectory from the parking start point to the parking end point, which conforms to vehicle dynamics constraints, has no collision risk, and is practically executable. This trajectory is formed by a series of ordered node state information, which fully represents the vehicle's driving route, steering angle, and position changes within the target parking space. Based on the sequential logic of the grid index sequence, the node state information in the data linked list corresponding to each grid index can be matched to filter out the node sequence that satisfies the vehicle constraints between adjacent nodes and the path does not touch the obstacle grid. After being concatenated and integrated, a complete path from the start point to the end point is formed.
[0035] For example, the grid index sequence can be traversed first, and the target grid index that is closest to the destination state can be selected by combining the two-dimensional plane coordinates and heading angle of the parking endpoint. Starting from the target index, each preceding index is searched in reverse along the index sequence, and the node state information that meets the vehicle dynamics constraints is extracted from the corresponding data linked list. At the same time, the grid map is used to verify whether the grid corresponding to the node is in a feasible driving state to ensure that there is no collision risk on the path. After tracing back to the grid index corresponding to the parking starting point, all the selected node state information is rearranged in a forward order from the starting point to the destination to form a continuous and executable target parking path.
[0036] By implementing step 104, a target parking path from the parking start point to the parking end point is generated based on the formed grid index sequence, so that the final path has good continuity and traceability under the constraints of the grid map, and can output stable, reliable and practically executable parking path planning results.
[0037] In summary, this embodiment of the application acquires environmental information of the target parking space and combines it with the vehicle's parking start and end points to construct a grid map corresponding to the grid map. This allows the path planning process to be based on a discretized model of the parking environment, enabling a systematic and standardized description of the vehicle's feasible state during the parking process and improving the controllability of path planning. The hybrid A* search algorithm is executed in the grid map to expand the nodes of the parking start point and form a grid index sequence. This allows for path searching while satisfying vehicle motion constraints, thereby generating a parking path that conforms to the actual driving characteristics of the vehicle. The parking path planning method improves the executability of the path. Simultaneously, by storing the node state information obtained during node expansion in a data linked list according to the corresponding grid index, different node states under the same grid index can be effectively managed, avoiding the loss of potential feasible paths due to simply discarding duplicate index nodes, thereby improving the completeness and success rate of path search. Based on the grid index sequence, a target parking path from the parking start point to the parking end point is generated, ensuring the final parking path has continuity and traceability under grid map constraints, thus improving the stability and reliability of the parking path planning results. In summary, the parking path planning method provided in this application, by introducing a hybrid A*-based node expansion and index linked list management mechanism into the grid map, fully preserves feasible node states while satisfying vehicle motion constraints, generating continuous, reliable, and highly executable parking paths, thereby improving the stability and success rate of parking path planning.
[0038] In some embodiments, step 102 may include: dividing the target parking space into a first target area and a second target area based on environmental information, wherein the first target area is an area where the path planning complexity is greater than a target complexity threshold, and the second target area is an area where the path planning complexity is less than or equal to the target complexity threshold; determining the resolution within the first target area as a first resolution and the resolution within the second target area as a second resolution, wherein the first resolution is greater than the second resolution; and constructing a raster map based on the boundary information between the first target area and the second target area, as well as the first resolution and the second resolution.
[0039] In some examples, the first target area is a specific region within the target parking space where the path planning complexity exceeds a target complexity threshold. This region is characterized by narrow spaces, dense obstacles, or the need for multiple maneuvers, leading to higher path search difficulty and requiring more precise environmental characterization and state description to ensure the effectiveness of path planning. Environmental data of the target parking space can be collected by onboard environmental perception equipment, and combined with the path planning complexity assessment results, the region with complexity exceeding the threshold can be designated as the first target area. The second target area is a region within the target parking space where the path planning complexity is less than or equal to the target complexity threshold. This region is typically open, with few obstacles, and requires no complex turning or maneuvering maneuvers, resulting in lower path planning difficulty. After defining the first target area, the remaining areas within the target parking space, excluding the first target area, can be designated as the second target area to ensure complete coverage of the target parking space. Path planning complexity is a quantitative indicator used to describe the difficulty of path planning in different areas within a target parking space. Influencing factors include the narrowness of the area, the density of obstacles, the number of maneuvers required, and the difficulty of adapting to vehicle motion constraints. The more complex the factors, the higher the path planning complexity. Data such as the spatial dimensions of the area, obstacle coordinates, and parking space outlines can be collected by sensors. A pre-defined evaluation model (such as a weighted summation model) can be used to quantify each influencing factor to obtain a specific numerical value for path planning complexity. For example, if an area has a width of 2.5 meters, an obstacle density of 0.8 (objects / square meter), and requires 3 maneuvers, the model calculates a weighted total score of 85 points, which represents the path planning complexity for that area. The target complexity threshold is a critical value used to distinguish between the first and second target areas. It is the core basis for dividing the two areas, and its value adapts to the planning needs of different parking scenarios, ensuring that high-difficulty areas can be accurately identified. A fixed threshold can be set based on statistical data from a large number of different parking scenarios, combined with the performance of the path planning algorithm, through experimental calibration or experience summarization, or the threshold can be dynamically adjusted according to the environmental characteristics of the current parking scenario. The first resolution is specifically adapted to the discretization precision of the raster map for the first target area. It is represented by the side size of the raster; the smaller the size, the higher the resolution, which can more finely represent the environmental details and vehicle movement status within the area. For example, for a narrow first target area that requires multiple parking maneuvers, a first resolution of 5 cm × 5 cm is set. This precision can accurately depict details such as parking space edges and curbs, providing support for complex path planning. The second resolution is adapted to the discretization precision of the raster map for the second target area. Its raster side size is larger than the first resolution. While ensuring the effectiveness of path planning, it also takes into account the computational efficiency of the algorithm and avoids redundant calculations. For example, for an open second target area, a second resolution of 10 cm × 10 cm is set. This precision can meet the path planning requirements for straight-line driving and simple turning while reducing the number of raster cells and the size of the raster map.After defining the two target areas, a grid discretization precision that matches the complexity of each area can be matched, achieving a precise match between resolution and the difficulty of area planning. First, the spatial range of the first and second target areas can be defined. Then, according to the preset resolution rules, the first resolution is assigned to the first target area, and the second resolution is assigned to the second target area. For example, if a narrow parking space and its surrounding 1-meter area have been defined as the first target area and the remaining area as the second target area, the first resolution of 5 cm × 5 cm is assigned to the first target area, and the second resolution of 10 cm × 10 cm is assigned to the second target area, thus completing the binding of resolution and area.
[0040] Based on the boundary information of the first and second target regions, as well as the first and second resolutions, the process of constructing a raster map involves using the spatial boundaries of the two target regions as the basis for division. A resolution suitable for the path planning complexity is matched to each region, and after raster discretization, all rasters are integrated and their states are marked, ultimately forming a complete structured environment model. A differentiated resolution strategy can ensure the accuracy of environmental representation in complex regions while balancing computational efficiency in simple regions, providing a precise and efficient search platform for the hybrid A-Star search algorithm. In the implementation process, the boundary information of the first target area and the second target area can be extracted from the partitioning results first, and the start and end coordinates of the x and y axes of the two areas can be determined to ensure that the spatial range does not overlap and completely covers the target parking space. Then, according to the preset rules, the first resolution is assigned to the first target area and the second resolution is assigned to the second target area to complete the binding of resolution and area. Next, the two areas are discretized into grids according to the corresponding resolution, and the physical coordinates of each grid and the mapping relationship of the map index are calculated. Then, combined with the obstacle distribution and parking space outline data in the environmental information, the "feasible driving" or "obstacle occupancy" status of each grid is marked one by one. Finally, the grid data of the two areas are stitched together according to the actual spatial position, the consistency of grid connection at the boundary is checked, coordinate offset or duplicate labeling is eliminated, and a complete grid map is formed.
[0041] For example, when the vehicle triggers the automatic parking assist function, it first collects environmental data of the target parking space using devices such as LiDAR and cameras, including information such as space dimensions, obstacle distribution, and parking space outline. Based on a preset evaluation model, the path planning complexity of each area is calculated. Combined with a target complexity threshold of 70 points, narrow parking spaces and surrounding areas are designated as the first target area, and the remaining open areas are designated as the second target area. According to the area complexity characteristics, a first resolution of 5 cm × 5 cm and a second resolution of 10 cm × 10 cm are set and assigned to the two target areas respectively. Then, the boundary coordinates of the two areas are extracted, and the area is discretized into a raster according to its respective resolution. The resulting raster map is integrated to form a complete raster map that adapts to the planning needs of different areas. This ensures the precision of path search within the first target area and avoids redundant calculations within the second target area, laying the foundation for the efficient execution of the subsequent hybrid A* search algorithm.
[0042] By implementing the above embodiments, the target parking space is divided into a first target area and a second target area with different path planning complexities. Different resolutions are set in different areas, enabling path planning to have higher state expression accuracy in areas with limited space and complex operations, while maintaining a lower resolution in relatively simple areas. This helps to control the computational scale while ensuring planning accuracy. Constructing a grid map based on the area boundaries and corresponding resolutions can improve the detail of path search in complex areas, thereby improving the continuity and controllability of parking paths in key operational areas and enhancing the executability of paths in complex parking environments.
[0043] In some embodiments, storing the node state information during the node expansion process in a data list according to the raster index corresponding to the node state information may include: during the node expansion process, determining the target raster index corresponding to the expanded node in the raster map based on the node pose of the expanded node; if there is no data list corresponding to the target raster index, creating a data list corresponding to the target raster index and storing the expanded node as the head node of the data list corresponding to the target raster index; if there is a data list corresponding to the target raster index, inserting the expanded node into the data list corresponding to the target raster index.
[0044] In some examples, extended nodes are new nodes generated during the node expansion process using the hybrid A* search algorithm. They are a concrete representation of the adjacent feasible states of the current search node, containing complete node state information to support the continuous advancement of path search. Based on the 3D state of the current search node, combined with vehicle dynamics constraints (such as steering angle increments and single-trip distances) and feasible driving states of the grid map, adjacent states meeting the conditions can be calculated through a kinematic model. Each valid adjacent state is an extended node. For example, if the current search node's state is (20.5 m, 35.3 m, 90 degrees), and the vehicle steering angle increment is set to ±8 degrees and the single-trip distance to 0.2 meters, the adjacent valid state (20.7 m, 35.3 m, 82 degrees) is calculated, and the node corresponding to this state is the extended node. Node pose is the core data describing the position and attitude of the extended node in the target parking space. Specifically, it includes the extended node's 2D planar coordinates (x, y) and heading angle, which together determine the vehicle's spatial position and driving direction at that node. The target grid index corresponding to the extended node in the grid map is a numerical identifier used to uniquely identify the grid position of the extended node. It corresponds one-to-one with the grid distribution of the grid map and is the core link connecting the extended node and the data list. It can be calculated based on the node pose of the extended node and the preset parameters of the grid map (grid size, boundary coordinates) through a preset index calculation formula. For example, if the starting coordinate of the grid map is 20 meters on the x-axis, the starting coordinate of the y-axis is 35 meters, the grid size is 10 cm × 10 cm, the total number of grids on the x-axis is 100, and the node pose of the extended node is (20.7 meters, 35.3 meters), then the target grid index = (20.7 - 20) / 0.1 + (35.3 - 35) / 0.1 × 100 = 7 + 3 × 100 = 307. If no data list structure associated with the currently calculated target raster index is found in the preset mapping table between raster indexes and data lists, meaning that the node status information corresponding to the raster index has not been stored, then a new data list structure is initialized. The target raster index is associated with the new list, and the complete status information of the current extended node is stored in the list as the first node (head node). For example, for the target raster index 307, a new data list is created, and the status information of the extended node (20.7 meters, 35.3 meters, 82 degrees, G=0.2, H=5.1) is filled into the head node. The pointer field is temporarily set to null. At the same time, an association record of "307-this new list" is added to the mapping table to complete the storage of the head node.If a data list corresponding to the target raster index exists, the process of inserting the extended node into the data list corresponding to the target raster index involves encapsulating the state information of the current extended node into a new linked list node when the target raster index is found to be associated with a data linked list in the mapping table. This allows the state information of multiple nodes under the same raster index to be preserved. For example, if the target raster index 307 is associated with a data linked list, and the head node of this linked list stores (20.7 m, 35.3 m, 82 degrees, G=0.2, H=5.1), the state information of the new extended node is (20.7 m, 35.3 m, 90 degrees, G=0.3, H=4.9). After creating a new linked list node to store this information, it is linked to the tail of the existing linked list, so that the linked list contains two nodes.
[0045] It should be noted that the basic calculation method for the target raster index described above is applicable to scenarios with uniform resolution in the raster map. In step 102, the target parking space has already been divided into a first target area (high-resolution area) and a second target area (low-resolution area). The heading angle discretization precision differs between these areas, and the corresponding maximum heading angle discretization values also differ. The second target area uses the second resolution, corresponding to the maximum heading angle discretization value, while the first target area uses the first resolution (higher precision), corresponding to the variable maximum heading angle discretization value, and the variable maximum heading angle discretization value is greater than the maximum heading angle discretization value. To ensure that the raster indexes for different resolution areas are unique and accurately mapped to the corresponding physical space, differentiated raster index calculation formulas need to be used based on the specific interval where the extended node is located. See [link to relevant documentation]. Figure 2 The second target area can be divided into two areas (first sub-area 402 and second sub-area 403) by the first target area 401. The first target area, as the core area with high path planning complexity, is usually concentrated in the middle area of the target parking space (such as the parking space itself and the surrounding parking operation area), occupying space in a rectangular or quasi-rectangular shape. Open driving areas are reserved on its left and rear, and right and front respectively. These two open areas are the first sub-area 402 and the second sub-area 403 of the second target area.
[0046] The path planning complexity of the first sub-region 402 is low, and the second resolution is used. The heading angle discretization accuracy is consistent with that of the conventional scenario. Therefore, the grid index calculation remains in normal mode, directly based on the two-dimensional planar coordinates (x, y) and heading angle of the extended node, combined with the maximum heading angle discretization value of the second target region and the maximum number of grids in the y-axis direction of the target parking space. The formula is: INDEX = heading + y × MAX_HEADING + MAX_Y × MAX_HEADING × x; where heading is the discretization value corresponding to the heading angle of the extended node (discretized according to the second resolution, such as 0-35 for 10 degrees / step, corresponding to 0-350 degrees); x and y are the grid coordinates of the extended node in the grid map (not physical coordinates, obtained by dividing the physical coordinates by the second resolution grid size); MAX_HEADING is the maximum heading angle discretization value of the second target region (such as MAX_HEADING = 36 for 10 degrees discretization); MAX_Y is the total number of grids in the y-axis direction of the target parking space (obtained by dividing the physical length of the y-axis by the second resolution grid size).
[0047] The path planning for the first target area 401 is complex. Using the first resolution (higher precision), the heading angle discretization precision is doubled. Therefore, the raster index calculation logic needs to be adjusted based on the baseline parameters of the lower left corner of the area. The formula is: INDEX = INDEX_left_bot + heading + (y - y_left_bot) × MAX_VARY_HEADING + MAX_Y_VARY × MAX_VARY_HEADING × (x - x_left_bot); where INDEX_left_bot is the reference raster index corresponding to the lower left corner raster of the first target area 401. This reference raster index is calculated using the normal formula of the first sub-area 402 to ensure that the raster index of the first target area 401 and the raster index of the first sub-area 402 do not overlap; x_left_bot and y_left_bot are the raster coordinates of the lower left corner raster of the first target area 401 in the overall raster map; heading is the discrete value corresponding to the heading angle of the extended node (discrete according to the first resolution, such as 5 degrees / step, the value range is 0-71, corresponding to 0-355 degrees); MAX_VARY_HEADING is the variable maximum heading angle discrete value of the first target area (such as 5 degrees discrete corresponding to MAX_VARY_HEADING=72); MAX_Y_VARY is the total number of raster cells in the y-axis direction of the first target area 401 (obtained by dividing the physical length of the y-axis of the first target area 401 by the raster size of the first resolution); x and y are the raster coordinates of the extended node in the overall raster map.
[0048] The second sub-region 403 also uses the second resolution, but a baseline value needs to be set based on the total number of raster indices in the second sub-region 403 to avoid conflicts with the raster index of the first target region 401. The formula is: INDEX = INDEX_VARY +heading + (y - y_right_bot) × MAX_HEADING + MAX_Y × MAX_HEADING × (x - x_right_bot); where INDEX_VARY is the total number of raster indices in the first target region 401, that is, the total number of raster indices corresponding to all rasters in the first target region 401, which serves as the baseline value for the raster index of the second sub-region 403, ensuring that the raster index of the second sub-region 403 starts after the raster index of the first target region 401; x_right_bot and y_right_bot are the raster coordinates of the lower right corner raster of the first target region 401 in the overall raster map, respectively; x and y are the raster coordinates of the extended node in the overall raster map, respectively.
[0049] For example, after the hybrid A* search algorithm is started, the node corresponding to the parking starting point is used as the initial search node. Multiple extended nodes are generated by expanding the node according to preset rules. For each extended node, the two-dimensional plane coordinates and heading angle in its node pose are extracted first. Combined with the grid size and boundary coordinates of the raster map, the target raster index is calculated using a preset formula. Then, the preset mapping relationship table between the raster index and the data linked list is queried to determine whether the target raster index is already associated with the data linked list. If not associated, a new data linked list is created, the current extended node is stored as the head node, and the association between the index and the linked list is established. If already associated, the extended node is encapsulated as a new linked list node and inserted into the existing linked list. The entire process does not require discarding subsequent extended nodes corresponding to the same raster index, and multiple valid states of the same raster position are fully preserved. This provides sufficient node data support for continuous path search in complex parking scenarios (such as narrow space parking), while the mapping relationship table ensures fast association between the index and the linked list, guaranteeing efficient execution of storage operations.
[0050] Through the implementation of the above embodiments, during the node expansion process, the corresponding grid index is determined according to the node pose, and a data linked list is constructed in units of grid index, so that the states of multiple nodes under the same grid position can be centrally stored and managed; when the target grid index appears for the first time, a data linked list is created and the node is stored; when the target grid index already exists, the expanded node is inserted into the corresponding linked list, avoiding the loss of node information due to simple deduplication, thereby retaining more feasible node states during the path search process, and providing a more sufficient search basis for generating continuous and executable parking paths.
[0051] In some embodiments, the aforementioned insertion of the extended node into the data list corresponding to the target raster index may include: if the first generation value is less than the second generation value, then setting the extended node as the new head node of the data list, wherein the first cost value is the cost value of the extended node, and the second cost value is the cost value of the original head node of the data list corresponding to the target raster index; if the first generation value is greater than or equal to the second generation value, then inserting the extended node into a preset position other than the head node in the data list corresponding to the target raster index.
[0052] In some examples, the first-generation value is the path cost corresponding to the extended node in the current data list to be inserted. This value is the core indicator for measuring the quality of a path in the hybrid A* search algorithm. It is obtained by weighted summation of the actual travel cost (G value) from the parking origin to the current extended node and the estimated travel cost (H value) from the current extended node to the parking destination (e.g., total cost = G value + H value). For example, if an extended node has a G value of 0.2 (in meters) and an H value of 4.8 (in meters), the first cost value calculated using the formula total cost = G value + H value is 5.0, which represents the path cost corresponding to the extended node. The second-generation value is the path cost of the original head node in the existing data list corresponding to the target raster index. Its calculation logic is exactly the same as the first-generation value, except that the calculation object is the original head node of the data list, used for comparison with the first-generation value. For example, if the existing head node of the data list corresponding to the target raster index has a G value of 0.3 and an H value of 4.9, the second cost value calculated using the same formula is 5.2, which represents the path cost corresponding to the original head node. If the path cost (first-generation value) of the current extended node is lower than the path cost (second-generation value) of the original head node of the existing data list, then the original head node and all subsequent nodes are moved to the right, and the current extended node is added to the data list as the new head node. This ensures that the head node of the data list always corresponds to the node with the lowest path cost under the same raster index. If the path cost of the current extended node is not better than that of the original head node, the optimal position of the head node is not changed. The extended node is added to the data list according to preset rules (such as the tail of the list, or the corresponding position sorted by increasing cost, etc.) to retain the optimal path node while preserving the status of other valid nodes under the same raster index.
[0053] For example, after determining that the target raster index is associated with a linked data list, the G and H values are first extracted from the state information of the extended node, and the first-generation value is obtained according to the cost calculation formula preset by the hybrid A* search algorithm; then, the corresponding parameters are extracted from the head node of the existing linked data list, and the second-generation value is calculated; the two generation values are compared numerically, if the first-generation value is smaller, it means that the path corresponding to the current extended node is better, and it is set as the new head node to ensure the optimality of the head node; if the first-generation value is not better, the extended node is inserted into the linked list at a preset position.
[0054] Through the implementation of the above embodiments, the extended nodes are inserted in an orderly manner according to the node cost in the data linked list. This allows nodes with lower cost and better path cost to be retained as the head nodes of the linked list, while still allowing nodes with higher cost to occupy reasonable positions in the linked list. This is beneficial for preserving multiple potential feasible paths while ensuring search efficiency. It can take into account both path quality and search completeness, thereby improving the smoothness and execution reliability of the final generated parking path.
[0055] In some embodiments, step 104 may include: determining the target node in the data list corresponding to each grid index in the grid index sequence as a path node; and determining the target parking path based on the path node.
[0056] In some examples, the target node is a node in the data linked list corresponding to each grid index that conforms to the path generation logic and can support the continuous extension of the target parking path. Its core feature is that the node state information (pose, cost) is adapted to the path planning requirements, and the movement between adjacent target nodes conforms to vehicle dynamics constraints and collision-free conditions. For example, the data linked list corresponding to a certain grid index 307 contains two nodes, namely (20.7 m, 35.3 m, 82 degrees, G=0.2, H=5.1) and (20.7 m, 35.3 m, 90 degrees, G=0.3, H=4.9). Combining the path extension direction (moving towards the parking space) and the vehicle's minimum turning radius constraint, (20.7 m, 35.3 m, 82 degrees, G=0.2, H=5.1) is selected as the target node corresponding to this grid index. Following the generation order of the raster index sequence, each raster index in the sequence can be traversed. After selecting the target node from the data linked list associated with that index, the target node can be directly identified as the basic node (i.e., the path node) constituting the target parking path, thus achieving a precise mapping between raster indexes, target nodes, and path nodes. For example, if the raster index sequence is [155, 156, 157, 163], when traversing to index 155, (20.5 meters, 35.3 meters, 90 degrees, G=0, H=5.3) is selected from the corresponding linked list as the target node and designated as the path node; when traversing to index 156, (20.7 meters, 35.3 meters, 82 degrees, G=0.2, H=5.1) is selected as the target node and designated as the path node, and so on, to complete the determination of path nodes for all indexes. All path nodes determined by the grid index sequence can be sequentially linked together in an ordered manner from the previous path node to the next, forming a continuous and executable motion trajectory from the parking start point to the parking end point. For example, if the path node sequence is (20.5m, 35.3m, 90 degrees), (20.7m, 35.3m, 82 degrees), (20.9m, 35.2m, 75 degrees), and (25.2m, 35.3m, 0 degrees), and the turning angles between adjacent nodes are all within the maximum turning range of the vehicle, the movement distance is uniform, and there are no obstacles in the corresponding grid, then linking this sequence together will form the target parking path.
[0057] For example, the traversal is first initiated in the order of the grid index sequence. For each grid index, the corresponding data list is quickly located through the mapping table. Combined with the extension direction of the path from the start point to the end point, target nodes with pose adaptation, optimal cost, and compliance with vehicle constraints are selected and directly determined as path nodes. After all path nodes corresponding to all grid indices are determined, the two-dimensional plane coordinates and heading angles of each path node are extracted in the order of the grid index sequence. The steering angle increment and movement distance between adjacent path nodes are verified in turn to ensure they meet the vehicle dynamics constraints. At the same time, the grid corresponding to the path is verified to be in a feasible driving state through the grid map. If all adjacent nodes pass the verification, the path nodes are connected in sequence to form a continuous trajectory from the parking start point to the parking end point. If a certain segment of adjacent nodes fails the constraint verification, the data list of the corresponding grid index is returned, the target nodes are re-selected, and the path nodes are determined until a target parking path that meets the requirements is formed.
[0058] By implementing the above embodiments, the target node in the data linked list corresponding to each grid index in the grid index sequence is determined as the path node. The selection of the path node is based on the actual expanded and retained node state during the search process, which helps to ensure the continuity and logical consistency between path nodes. On this basis, a target parking path from the parking start point to the parking end point is generated, which can reduce the situation of path breakage or discontinuity and improve the executability of the parking path at the vehicle control level.
[0059] In some embodiments, the aforementioned determination of the target parking path based on path nodes may include: linking path nodes according to the order of each grid index in the grid index sequence to obtain an initial parking path; and smoothing the initial parking path based on a preset path smoothing algorithm to generate the target parking path.
[0060] In some examples, the initial parking path is a raw trajectory formed by directly concatenating all path nodes in the order of the grid indexes in the grid index sequence. This trajectory already possesses continuity and collision-free nature from the parking start point to the parking end point, and satisfies the basic vehicle dynamics constraints. However, it may have problems such as abrupt inflection points and sudden changes in steering angle, resulting in insufficient smoothness. The preset path smoothing algorithm is an algorithm pre-integrated into the automatic parking system to optimize the smoothness of the initial parking path. It can eliminate abrupt inflection points in the trajectory, adjust the path curvature, and make the trajectory conform to the dynamic characteristics of continuous vehicle steering. The preset path smoothing algorithm can be a Bézier curve algorithm, a B-spline curve algorithm (BSA), etc. For example, in this embodiment, the preset path smoothing algorithm is a third-order Bézier curve algorithm. This algorithm selects key nodes of the initial path as control points and fits to generate a continuous and smooth curve, which can both preserve the overall direction of the path and effectively eliminate local inflection points, adapting to the trajectory optimization requirements of automatic parking.
[0061] For example, after determining all path nodes, the algorithm first strictly follows the order of the grid index sequence, extracting the two-dimensional plane coordinates and heading angle of each path node sequentially. These are then logically linked from one node to the next to verify the basic dynamic constraints between adjacent nodes, forming an initial parking path containing multiple path nodes. Subsequently, a preset third-order Bézier curve algorithm is invoked, using all path nodes of the initial parking path as control points for the algorithm's input. The algorithm calculates the optimal smooth curve between adjacent nodes, gradually eliminating abrupt inflection points in the initial path. During the smoothing process, the algorithm verifies in real time whether the optimized path meets the vehicle's maximum steering angular velocity constraint, while simultaneously verifying through the grid map that the corresponding grid is still in a feasible driving state, avoiding collision risks caused by smoothing adjustments. After the algorithm completes optimization, the output continuous, smooth, and collision-free trajectory is the target parking path. This path not only continues the core direction planned by the hybrid A* search algorithm but also improves executability through smoothing, accurately supporting the stable operation of the automatic parking assistance function.
[0062] By implementing the above embodiments, the path nodes are linked in the order of the grid index sequence to form an initial parking path, ensuring that the path nodes maintain consistency in space and search order. Furthermore, by combining the initial parking path with a preset path smoothing algorithm, the sharp turns and discontinuous changes in the path can be effectively reduced, thereby generating a smoother target parking path that meets the actual control requirements of the vehicle, further improving the stability and comfort of the parking process.
[0063] In some embodiments, determining the target node in the data linked list corresponding to each raster index in the raster index sequence as a path node may include: traversing all raster indexes in the raster index sequence; if the current raster index encountered is the first raster index encountered during the traversal, then the head node in the data linked list corresponding to the current raster index is determined as a path node; if the current raster index encountered is not the first raster index encountered during the traversal, then the child node in the data linked list corresponding to the current raster index that corresponds to the path node determined during the previous traversal of the current raster index is determined as a path node.
[0064] In some examples, when traversing the raster index sequence sequentially, it's possible to determine if the current index is a first occurrence by recording the set of traversed raster indices. If so, the corresponding head node of the linked list is directly selected as the path node. That is, by utilizing the optimal cost attribute of the linked list head node, the optimal path node is prioritized when accessing the raster for the first time. This can be achieved by first initializing an empty set of traversed indices, then extracting the current raster index in the order the raster index sequence was generated; secondly, checking if the index exists in the set of traversed indices, and determining it as a first occurrence if it doesn't; finally, finding the corresponding linked list through the mapping table between raster indices and linked lists, and extracting the linked list head. The node is identified as a path node, and the current index is added to the traversed index set. For example, if the raster index sequence is [155,156,157,156,163], when traversing to index 155, the traversed set is empty, so it is determined to be the first occurrence. The head node of its corresponding data linked list (20.5 meters, 35.3 meters, 90 degrees, G=0, H=5.3) is extracted as a path node. When traversing to index 156, this index is not in the traversed set, so it is determined to be the first occurrence. The head node of its corresponding linked list (20.7 meters, 35.3 meters, 82 degrees, G=0.2, H=5.1) is extracted as a path node, and index 156 is added to the traversed set.
[0065] The child node corresponding to the path node determined when the current raster index was traversed in the previous traversal is a node in the corresponding data list that has a direct extension relationship with the path node determined when the index was traversed in the previous traversal, when the current raster index is not appearing for the first time. The child node here is a representation of the parent-child relationship formed during the node extension process. That is, the previous path node is the parent node, and the adjacent node is generated in the node extension operation of the hybrid A* search algorithm. The child node is stored in the data list corresponding to the same raster index.
[0066] If the current raster index already exists in the traversed index set, based on the parent-child extended association of path nodes, the child node of the previous path node is selected from the corresponding data linked list as the current path node. This ensures the logical continuity in scenarios where the path appears multiple times in the same raster index (such as in narrow space databases) and avoids confusion in path node selection. Alternatively, the current raster index can be extracted sequentially according to the raster index sequence. After determining that it already exists in the traversed set, the path node (parent node) corresponding to the previous index is retrieved from the traversal records. Then, in the data linked list corresponding to the current index, the child node is selected through parent-child relationships. The association identifier is used to find the child node of the parent node; finally, the child node is determined as the current path node, and the traversal record is updated; for example, if index 156 in the raster index sequence is traversed again, it is determined that it is not the first occurrence. The path node corresponding to the previous occurrence is the parent node A (20.7 m, 35.3 m, 82 degrees, G=0.2, H=5.1). In the data linked list corresponding to index 156, its corresponding child node B (20.7 m, 35.3 m, 75 degrees, G=0.4, H=4.9) is found, and node B is determined as the path node corresponding to index 156 in this instance.
[0067] For example, the traversed index set and path node traversal record table are first initialized, and traversal is started in the order of the raster index sequence generated by the hybrid A* search algorithm. When the current raster index is traversed, the traversed set is queried first. If it is the first occurrence, the head node with the best cost is extracted from the corresponding data linked list as the path node, and the index and path node are stored in the traversal record table. If it is not the first occurrence, the path node (parent node) corresponding to the previous occurrence of the index is retrieved from the traversal record table, and the corresponding child node is found in the same data linked list through the parent-child association identifier. This child node is determined as the current path node and the record table is updated. In the whole process, by taking the best head node for the first occurrence and taking the child node of the previous occurrence for subsequent occurrences, the selection of path nodes is ensured to take into account both the optimality of the initial path and the continuous extension of the path when the same raster index occurs multiple times.
[0068] Through the implementation of the above embodiments, when traversing the grid index sequence, different nodes in the data chain are dynamically selected as path nodes based on whether the grid index is appearing for the first time. This allows the same grid index to correspond to different node states at different search stages, thereby reflecting the different movement stages of the vehicle in the same spatial position. This is beneficial for accurately restoring the real path evolution relationship during the search process, avoiding path jump problems caused by inconsistent path node selection, improving the continuity and executability of the final parking path, and enhancing the reliability of path planning in complex parking scenarios.
[0069] Furthermore, as an implementation of the aforementioned method embodiments, this application also provides a parking path planning device for implementing the aforementioned method embodiments. This device embodiment corresponds to the aforementioned method embodiments. For ease of reading, this parking path planning device embodiment will not repeat the details of the aforementioned method embodiments one by one, but it should be understood that the device in this application embodiment can correspondingly implement all the contents of the aforementioned method embodiments. For example... Figure 3 As shown, the parking path planning device 20 includes: a data acquisition unit 201, a space construction unit 202, a sequence generation unit 203, and a path generation unit 204. The data acquisition unit 201 acquires environmental information of the target parking space and the vehicle's parking start and end points. The space construction unit 202 constructs a grid map corresponding to the environmental information. The sequence generation unit 203 executes a hybrid A* search algorithm on the grid map to expand the nodes of the parking start point, forming a grid index sequence, and stores the node state information during the node expansion process in a data linked list according to the grid index corresponding to the node state information. The path generation unit 204 generates a target parking path from the parking start point to the parking end point based on the grid index sequence.
[0070] In some embodiments, the space construction unit 202 is further configured to divide the target parking space into a first target area and a second target area based on environmental information, wherein the first target area is an area where the path planning complexity is greater than a target complexity threshold, and the second target area is an area where the path planning complexity is less than or equal to the target complexity threshold; determine the resolution within the first target area as a first resolution, and determine the resolution within the second target area as a second resolution, wherein the first resolution is greater than the second resolution; and construct a raster map based on the boundary information between the first target area and the second target area, as well as the first resolution and the second resolution.
[0071] In some embodiments, the sequence generation unit 203 is further configured to, during the node expansion process, determine the target raster index corresponding to the expanded node in the raster map based on the node pose of the expanded node; if there is no data list corresponding to the target raster index, create a data list corresponding to the target raster index and store the expanded node as the head node of the data list corresponding to the target raster index; if there is a data list corresponding to the target raster index, insert the expanded node into the data list corresponding to the target raster index.
[0072] In some embodiments, the sequence generation unit 203 is further configured to set the extended node as the new head node of the data linked list if the first generation value is less than the second generation value, wherein the first cost value is the cost value of the extended node and the second cost value is the cost value of the original head node of the data linked list corresponding to the target raster index; if the first generation value is greater than or equal to the second generation value, the extended node is inserted into a preset position other than the head node in the data linked list corresponding to the target raster index.
[0073] In some embodiments, the path generation unit 204 is further configured to determine the target node in the data linked list corresponding to each grid index in the grid index sequence as a path node; and determine the target parking path based on the path node.
[0074] In some embodiments, the path generation unit 204 is further configured to link path nodes based on the order of each grid index in the grid index sequence to obtain an initial parking path; and to smooth the initial parking path based on a preset path smoothing algorithm to generate a target parking path.
[0075] In some embodiments, the path generation unit 204 is further configured to traverse all raster indexes in the raster index sequence. If the current raster index being traversed is the first raster index to appear during the traversal, the head node in the data linked list corresponding to the current raster index is determined as a path node. If the current raster index being traversed is not the first raster index to appear during the traversal, the child node in the data linked list corresponding to the current raster index that corresponds to the path node determined when the current raster index was traversed in the previous traversal is determined as a path node.
[0076] This application also provides a computer-readable storage medium storing computer-executable instructions or a computer program, which, when executed by a processor, will cause the processor to perform any step of the parking path planning method provided in this application.
[0077] In some embodiments, the computer-readable storage medium may be a random access memory (RAM), a read-only memory (ROM), flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); or it may be a variety of devices that include one or any combination of the above-mentioned memories.
[0078] In some embodiments, computer-executable instructions may take the form of programs, software, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.
[0079] In some embodiments, computer-executable instructions may, but do not necessarily, correspond to files in a file system, and may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple co-located files (e.g., files that store one or more modules, subroutines, or code sections).
[0080] In some embodiments, computer-executable instructions may be deployed to execute on an electronic device, or on multiple electronic devices located at one location, or on multiple electronic devices distributed across multiple locations and interconnected via a communication network.
[0081] like Figure 4 As shown, this application also provides an electronic device 30, including a memory 310, a processor 320, and a computer program 311 stored in the memory 310 and executable on the processor. When the processor 320 executes the computer program 311, it implements any step of the above-described parking path planning method.
[0082] This application also provides a computer program product comprising a computer program or computer-executable instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer program or computer-executable instructions from the computer-readable storage medium and executes the computer program or computer-executable instructions, causing the electronic device to perform any step of the parking path planning method described above.
[0083] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A parking path planning method, characterized in that, include: Obtain environmental information about the target parking space and the vehicle's parking start and end points; Construct a raster map corresponding to the environmental information; A hybrid A* search algorithm is executed in the grid map to expand the nodes of the parking starting point to form a grid index sequence, and the node status information during the node expansion process is stored in a data linked list according to the grid index corresponding to the node status information. Based on the grid index sequence, a target parking path is generated from the parking start point to the parking end point.
2. The parking path planning method according to claim 1, characterized in that, The construction of the raster map corresponding to the environmental information includes: Based on the environmental information, the target parking space is divided into a first target area and a second target area, wherein the first target area is the area where the path planning complexity is greater than the target complexity threshold, and the second target area is the area where the path planning complexity is less than or equal to the target complexity threshold. The resolution within the first target area is determined as the first resolution, and the resolution within the second target area is determined as the second resolution, wherein the first resolution is greater than the second resolution; The raster map is constructed based on the boundary information between the first target area and the second target area, as well as the first resolution and the second resolution.
3. The parking path planning method according to claim 1, characterized in that, The step of storing the node state information during the node expansion process in a data linked list according to the raster index corresponding to the node state information includes: During the node expansion process, the target grid index corresponding to the expanded node in the grid map is determined based on the node pose of the expanded node. If no data list exists corresponding to the target raster index, then a data list corresponding to the target raster index is created, and the extended node is stored as the head node of the data list corresponding to the target raster index. If a data list corresponding to the target raster index exists, then the extended node is inserted into the data list corresponding to the target raster index.
4. The parking path planning method according to claim 3, characterized in that, Inserting the extended node into the data list corresponding to the target raster index includes: If the value of the first generation is less than the value of the second generation, then the extended node is set as the new head node of the data list, wherein the first cost value is the cost value of the extended node, and the second cost value is the cost value of the original head node of the data list corresponding to the target raster index. If the value of the first generation is greater than or equal to the value of the second generation, the extended node is inserted into a preset position in the data linked list corresponding to the target raster index, excluding the head node.
5. The parking path planning method according to claim 1, characterized in that, The step of generating a target parking path from the parking start point to the parking end point based on the grid index sequence includes: In the raster index sequence, the target node in the data linked list corresponding to each raster index is determined as the path node; Based on the path nodes, the target parking path is determined.
6. The parking path planning method according to claim 5, characterized in that, Determining the target parking path based on the path nodes includes: Based on the order of each grid index in the grid index sequence, the path nodes are linked to obtain the initial parking path; Based on a preset path smoothing algorithm, the initial parking path is smoothed to generate the target parking path.
7. The parking path planning method according to claim 5, characterized in that, The step of determining the target node in the data linked list corresponding to each raster index in the raster index sequence as a path node includes: Traverse all raster indices in the raster index sequence. If the current raster index is the first raster index to appear during the traversal, then the head node in the data linked list corresponding to the current raster index is determined as the path node. If the current raster index encountered during traversal is not the first raster index encountered during the traversal process, then the child node corresponding to the path node determined when the current raster index was previously encountered in the data linked list corresponding to the current raster index will be determined as the path node.
8. A parking path planning device, characterized in that, include: The data acquisition unit is used to acquire environmental information of the target parking space and the starting and ending points of the vehicle's parking. Spatial construction unit, used to construct a raster map corresponding to the environmental information; The sequence generation unit is used to perform a hybrid A* search algorithm in the grid map to expand the nodes of the parking starting point to form a grid index sequence, and to store the node state information during the node expansion process in a data linked list according to the grid index corresponding to the node state information. The path generation unit is used to generate a target parking path from the parking start point to the parking end point based on the grid index sequence.
9. An electronic device, comprising: A memory and a processor, characterized in that the processor, when executing a computer program stored in the memory, implements the steps of the parking path planning method as described in any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the parking path planning method as described in any one of claims 1 to 7.
Citation Information
Cited By
Parking path generation method and electronic equipment
CN122058901A