Global path planning method, system and equipment for realizing parking, storage medium and vehicle
Through global path planning methods, high-precision maps are built using Lanelet2 and Autoware Universe, and combined with Dijkstra and Hybrid A* algorithms, seamless switching from cruising to parking is achieved in the autonomous driving system, improving parking efficiency and safety.
Patent Information
- Application Number
- CN202510850187.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-24
- Publication Date
- 2025-10-03
AI Technical Summary
In existing autonomous driving technologies, cruise path planning and parking planning are often independent, resulting in low automatic parking efficiency and the need for manual mode switching.
A global path planning method is proposed. By obtaining the parking endpoint, global cruise path planning is performed to determine the coordinates of the target parking space. The vehicle automatically switches to parking mode when it reaches the switching point. A high-precision map is constructed using the Lanelet2 and Autoware Universe open source frameworks, and the path is optimized by combining the Dijkstra and Hybrid A* algorithms.
It achieves seamless switching of automatic parking, improves parking efficiency, reduces manual operations, and enhances the overall efficiency and safety of the autonomous driving system.
Smart Images

Figure CN120735756A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of vehicle automatic driving technology, and in particular to a global path planning method, system, device, storage medium and vehicle for realizing parking. Background Art
[0002] With the rapid development of the automotive industry and the continuous advancement of science and technology, autonomous driving technology has become a research hotspot and development trend in the transportation field. Autonomous driving aims to reduce human driving errors, improve traffic efficiency and safety, and provide drivers and passengers with a more comfortable and convenient travel experience. In the autonomous driving system, the planning module connects the upper and lower levels, receiving outputs from the map, perception and positioning modules, completing path planning through various methods, and sending the planning results to the control module. In related technologies, cruise path planning and parking planning are often two relatively independent processes. When the vehicle is driving on the road and then parking, it is often necessary for the operator to switch the parking mode according to the parking requirements, which affects the parking efficiency of autonomous driving. Summary of the Invention
[0003] The main purpose of the embodiments of the present application is to propose a global path planning method, system, device, storage medium and vehicle for parking, aiming to improve the efficiency of automatic parking.
[0004] To achieve the above objectives, one aspect of an embodiment of the present application provides a method for implementing a global path planning for parking, comprising the following steps: Get the parking end position; Performing global cruising path planning according to the parking end position to obtain a cruising path; Determine the target parking space coordinate point according to the parking end position; Determining a parking switching point from the cruising path according to the target parking space coordinate point; When the vehicle positioning point reaches the parking switching point, a parking path is planned with the target parking space coordinate point as the parking end point to obtain a parking path.
[0005] In some embodiments, performing global cruising path planning based on the parking end position to obtain a cruising path includes the following steps: Obtain a lane topology map formed by lane basic units; Matching the corresponding lane basic unit in the lane topology map according to the starting position to obtain a starting lane unit; and matching the corresponding lane basic unit in the lane topology map according to the parking end position to obtain an end lane unit; Performing a lane network topology search on the lane topology map according to the starting lane unit and the ending lane unit to obtain a target topology array; the target topology array includes a plurality of searched lane basic units; A cruise path is determined according to the target topology array.
[0006] In some embodiments, determining a cruise path according to the target topology array comprises the following steps: Extracting the centerline of each lane basic unit in the target topological array to obtain the road centerline; The road centerline is optimized with the goal of minimizing a first path cost to obtain a cruising path; the first path cost includes a smoothing cost, a length cost, and an end point error cost.
[0007] In some embodiments, determining the target parking space coordinate point based on the parking end position includes the following steps: Obtain a parking space map formed by lane basic units; Matching the corresponding lane basic unit in the parking map according to the parking end position to obtain a target lane unit; Perform midpoint geometric analysis on the target lane unit to obtain the target parking space coordinate point.
[0008] In some embodiments, determining a parking switching point from the cruising path according to the target parking space coordinate point comprises the following steps: Traversing the sequence points of the cruising path, and determining the sequence point in the cruising path that is closest to the target parking space coordinate point as a matching point; A parking switching point in the cruising path is determined according to the matching point and a preset forward distance.
[0009] In some embodiments, the planning of a parking path using the target parking space coordinate point as the parking end point to obtain a parking path includes the following steps: The occupancy grid map constructed based on the perception module is used as the parking planning map; Determining a second path cost corresponding to a searched node based on the parking starting point, the parking end point, the parking planning map, and the vehicle state based on a discrete graph search algorithm; The node with the smallest cost on the second path is selected to construct an RS curve with the parking destination, and the RS curve is optimized to obtain a parking path.
[0010] To achieve the above objectives, another aspect of the present application provides a global path planning system for parking, comprising: The first module is used to obtain the parking end position; The second module is used to perform global cruising path planning according to the parking end position to obtain a cruising path; The third module is used to determine the target parking space coordinate point according to the parking end position; A fourth module is configured to determine a parking switching point from the cruising path according to the target parking space coordinate point; The fifth module is used to plan a parking path with the target parking space coordinate point as the parking end point when the vehicle positioning point reaches the parking switching point to obtain a parking path.
[0011] To achieve the above-mentioned purpose, another aspect of an embodiment of the present application proposes an electronic device, which includes a memory, a processor, a program stored on the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory. When the program is executed by the processor, the global path planning method for parking described in the above-mentioned embodiment is realized.
[0012] To achieve the above-mentioned purpose, another aspect of an embodiment of the present application proposes a storage medium, which is a computer-readable storage medium used for computer-readable storage. The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the global path planning method for parking described in the above embodiment.
[0013] The global path planning method for parking proposed in this application first obtains the parking endpoint location, performs global cruise path planning based on the parking endpoint location to obtain a cruise path, determines the target parking space coordinate point based on the parking endpoint location, and determines the parking switch point from the cruise path based on the target parking space coordinate point. When the vehicle positioning point reaches the parking switch point, parking path planning is performed using the target parking space coordinate point as the parking endpoint to obtain a parking path. During the global path planning process, the application matches the parking switch point on the road cruise path using the target parking space coordinate point. This allows the vehicle to automatically and seamlessly switch to parking mode for parking planning when the vehicle reaches the parking switch point during automatic cruising, eliminating the need for manual operation and improving parking efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 This is a flow chart of a global path planning method for implementing parking provided in an embodiment of the present application; Figure 2 yes Figure 1 Flowchart of step S102 in FIG. Figure 3 yes Figure 2 Flowchart of step S204 in FIG. Figure 4 yes Figure 1 Flowchart of step S103 in FIG. Figure 5 yes Figure 1 Flowchart of step S104 in FIG. Figure 6 yes Figure 1 Flowchart of step S105 in FIG. Figure 7 This is a schematic diagram of a global path planning process for parking provided by an embodiment of the present application; Figure 8 This is a schematic diagram of the hardware structure of the electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0015] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0016] It should be noted that although the system diagrams illustrate functional module divisions and the flowcharts illustrate logical sequences, in certain circumstances, the steps shown or described may be performed in a sequence that differs from the module divisions in the system or the sequence in the flowcharts. The terms "first," "second," and so on, in the specification, claims, and drawings, are used to distinguish similar items and are not necessarily used to describe a specific sequence or precedence.
[0017] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application pertains. The terms used herein are for the purpose of describing the embodiments of this application only and are not intended to limit this application.
[0018] First, the terms involved in the embodiments of this application are explained as follows: Lanelet2 is a powerful and widely adopted open-source C++ library designed specifically for autonomous driving, primarily for creating, processing, and using high-precision semantic maps. Lanelet2 provides an efficient, flexible, and easy-to-understand approach to modeling road environments, their complex topology, and traffic rules. The core abstraction of Lanelet2 is the lanelet, also known as a lane unit or lane primitive. Essentially, it breaks down complex roads into the smallest traversable units. Each lanelet contains left and right boundary lines, semantic labels (such as lane type and speed limit), and topological relationships between units (such as connectivity and traffic rules).
[0019] Autoware Universe is an open-source autonomous driving software framework designed to provide a complete, modular, and scalable autonomous driving solution. It provides out-of-the-box open-source programs for core autonomous driving functions, such as vehicle perception, positioning, path planning, and control. Autoware Universe promotes standardized interfaces and modular design to facilitate secondary development and integration.
[0020] OpenStreetMap (OSM) is an open-source, collaborative geographic information database. It crowdsources map data from volunteers, covering roads, buildings, and natural features, and is open to everyone for use, editing, and distribution. OSM is a crucial foundation for building autonomous driving maps. The osm2lanelet tool can be used to convert OSM roads into lane topology maps in the Lanelet2 format.
[0021] The global path planning method, system, device, storage medium and vehicle for implementing parking provided in the embodiments of the present application are specifically illustrated through the following embodiments. First, the global path planning method for implementing parking in the embodiments of the present application is described.
[0022] The global path planning method for parking provided in the embodiment of the present application relates to the field of vehicle autonomous driving technology. The global path planning method for parking provided in the embodiment of the present application can be applied in a terminal, can also be applied in a server side, and can also be software running in a terminal or a server side. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, etc.; the server side can be configured as an independent physical server, or can be configured as a server cluster or a distributed system composed of multiple physical servers, or can be configured as a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms; the software can be an application that implements the global path planning method for parking, etc., but is not limited to the above forms.
[0023] The present application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and the like. The present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. The present application can also be practiced in distributed computing environments in which tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media, including storage devices.
[0024] Figure 1 This is an optional flowchart of a global path planning method for implementing parking provided in an embodiment of the present application. Figure 1 The method may include but is not limited to steps S101 to S105.
[0025] Step S101, obtaining the parking end position; Step S102, performing global cruising path planning based on the parking end position to obtain a cruising path; Step S103, determining the target parking space coordinate point according to the parking end position; Step S104, determining a parking switching point from the cruising path according to the target parking space coordinate point; In step S105 , when the vehicle positioning point reaches the parking switching point, a parking path is planned with the target parking space coordinate point as the parking end point to obtain a parking path.
[0026] In some embodiments, in step S101, the final parking location can be input by the user or automatically determined by the system. The global path planning process includes cruising path planning and parking path planning for approaching a parking spot. In one example, if the user has determined a specific parking space, the user can directly input the location of the specific parking space as the final parking location. The system then performs global path planning based on the input final parking location and the current location (or starting location).
[0027] In another example, if the user is initially unsure of the specific parking space, they can enter the area where the parking space is located (such as a parking lot entrance or a lane where parking is available). The system will then use this area as the final parking location for cruise route planning and cruise control. Once the vehicle reaches the designated area (such as the parking lot entrance), the user will know the location of the specific parking space. The user can then update the final parking location based on the location of the parking space. The system will then replan the cruise route and further plan the parking path based on this location, achieving automatic parking. Alternatively, once the vehicle reaches the designated area, the vehicle's perception system will automatically identify the specific parking space and then update the final parking location based on this automatically identified parking space. The system will then replan the cruise route and further plan the parking path based on this location, achieving automatic parking.
[0028] In step S102 of some embodiments, global cruise path planning refers to the process of calculating a global optimal path from a starting point to a target point based on prior map information and under the premise of satisfying motion constraints (such as obstacle avoidance, turning radius, etc.). The output cruise path can be represented by a sequence of path points to guide the vehicle to complete long-distance forward driving navigation tasks.
[0029] See also Figure 2 In some embodiments, step S102 may include but is not limited to steps S201 to S204: Step S201, obtaining a lane topology map formed by lane basic units; Step S202: Match the corresponding lane basic unit in the lane topology map according to the starting position to obtain a starting lane unit; and match the corresponding lane basic unit in the lane topology map according to the parking end position to obtain an end lane unit; Step S203: performing a lane network topology search on the lane topology map based on the starting lane unit and the ending lane unit to obtain a target topology array; the target topology array includes a plurality of searched lane basic units; Step S204: determining a cruise path according to the target topology array.
[0030] Specifically, global cruise path planning needs to be implemented based on high-precision maps, which can be based on the LaneLet2 open source framework and the AutowareUniverse open source framework, as well as the OpenStreetMap (OSM) high-definition map format. Specifically, the semantic map builder of the AutowareUniverse open source framework can be used to read OSM high-precision maps. The main roads in the entire high-precision map can be subdivided into each Lanelet (i.e., lane basic unit) and the corresponding Lanelet topological relationship through online editing, thereby constructing a lane topology map based on lane basic units. In the lane topology map, each Lanelet contains two left and right road boundaries, and the boundaries are expressed by LineString. Each LineString is a polyline segment connected by an ordered sequence of points (Point). The order of the points determines the direction of the line. In addition, the road centerline and traffic information such as speed limit and traffic restriction can also be drawn in the Lanelet for use by subsequent modules.
[0031] After obtaining the lane topology map, global cruise path planning can be performed. For example, the embodiment of the present application uses the Djikstra algorithm for path planning and considers the cost of each LaneLet. The cost includes the LaneLet length, which is as follows: Obtain the starting and ending positions in a two-dimensional plane. The ending position can be user-entered. During the cruise path planning phase, the ending position can simply indicate the approximate location of the target parking space on the lane (such as the parking space number) or the precise coordinates of the target parking space. The starting position can also be user-entered or the current position determined by the vehicle positioning system.
[0032] The starting lane unit is obtained by matching the corresponding lane basic unit in the lane topology map based on the starting position; the ending lane unit is obtained by matching the corresponding lane basic unit in the lane topology map based on the parking end position. Specifically, taking the starting lane unit as an example, all lanelets in the lane topology map are traversed based on the starting position coordinate point (x, y). Using geometric methods, the point is checked to see if it is within the polygon formed by its left and right boundary LineStrings. The matching lanelet is then determined, which is the starting lane unit. The matched lanelet is returned as the Lanelet data type in the Lanelet2 open source framework, containing information such as the LineString and traffic rule semantics. The matching process for the ending lane unit is similar and will not be repeated here.
[0033] Based on the starting and ending lane units, a lane network topology search is performed on the lane topology map to obtain a target topology array. Specifically, the getRoute() method (declared in the RoutingGraph.h file) in the open-source framework of Lanelet2 is called to calculate the shortest-cost topology relationship and return a target topology array, which sequentially stores each Lanelet corresponding to the shortest-cost topology relationship. The getRoute() method essentially searches for the lane network topology based on the Dijkstra or A* algorithms, while also considering the constraints of RegulatoryElements (such as traffic lights and stop signs).
[0034] The cruise path is determined based on the target topology array. This embodiment takes into account current graph search-based methods (such as the Dijkstra algorithm and the A* algorithm) and sampling-based methods. These methods discretize the environment and employ graph search strategies to find the shortest or optimal path. These methods often suffer from high computational complexity and low search efficiency when processing high-precision maps containing complex road information. This embodiment, based on the Lanelet2 open-source framework, reduces the computational complexity of path planning by dividing the map into multiple grid cells and performing a search and sorting process on these cells.
[0035] See also Figure 3 In some embodiments, step S204 may include but is not limited to steps S301 to S302: Step S301, extracting the centerline of each lane basic unit in the target topological array to obtain the road centerline; Step S302 , optimizing the road centerline to obtain a cruising path with the goal of minimizing a first path cost; the first path cost includes a smoothing cost, a length cost, and an end point error cost.
[0036] Specifically, the target topology array is traversed, and the leftBound() and rightBound() methods in the LaneLet structure are used to obtain the left and right road boundaries of each Lanelet. Then, geometric calculations are performed on the left and right road boundaries to determine the unit centerline. The unit centerlines of all Lanelets in the target topology array are stored in an array structure to obtain the road centerline.
[0037] Perform secondary programming on the road centerline, that is, optimize the road centerline with the goal of minimizing the first path cost to obtain the cruising path. Secondary programming includes smoothing, length and error optimization, etc. Specifically, three cost functions are designed as follows: The smoothing cost function is expressed as follows: ; in, Represents the horizontal coordinate value of the i-th path sequence point in the optimized path, It represents the ordinate value of the i-th path sequence point in the optimized path, and n represents the number of sequence points in the path.
[0038] The length cost function is expressed as follows: ; The error cost function is expressed as follows: ; in, Indicates the i-th vertical coordinate value of the reference line; Indicates the i-th horizontal coordinate value of the reference line.
[0039] Combining the three cost functions above, we can determine the first path cost function. This function is then converted into a standard quadratic programming format to construct a quadratic programming problem, an optimization problem whose goal is to minimize the first path cost. The quadratic programming problem is solved using the OSQP (Operator Splitting Quadratic Program) solver, along with other required path information (such as path constraints, heading angle, and curvature), to obtain the cruise path. The first path cost is expressed as follows: ; in, , , combined with the above smoothing cost function, length cost function and error cost function, the first path cost is expressed as: ; in, The identity matrix of the three different costs obtained after sorting; The reference line matrix after integration is as follows: ; The corresponding hard and soft constraints in the quadratic programming problem are expressed as follows: ; The information required in the quadratic programming problem, the heading angle, is expressed as follows: ; The information required in the quadratic programming problem, the heading angle curvature, is expressed as follows: .
[0040] In step S103 of some embodiments, the parking end position indicates a target parking space, and a target parking space coordinate point can be determined by performing a geometric analysis on the target parking space. The target parking space coordinate point can be the center point of the target parking space, a vertex of a parking space frame, or the like.
[0041] See also Figure 4 In some embodiments, step S103 may include but is not limited to steps S401 to S403: Step S401, obtaining a parking space map formed by lane basic units; Step S402, matching the corresponding lane basic unit in the parking map according to the parking end position to obtain the target lane unit; Step S403: Perform midpoint geometric analysis on the target lane unit to obtain the target parking space coordinate point.
[0042] Specifically, the semantic map builder provided by the AutowareUniverse open-source framework can be combined with the Lanelet2 open-source framework to create a parking map based on lane units. In this parking map, each parking space is represented by a Lanelet. It is understood that the lane topology map and parking map can be separated into two separate map data sets or drawn within the same map data set.
[0043] The target lane unit is obtained by matching the corresponding lane basic unit in the parking map based on the parking end position. Specifically, the getAllParkingSpaces() method in Lanelet2 can be called to obtain the geometric information of all parking spaces in the high-precision parking map. The getAllParkingSpaces() method retrieves all Lanelets marked as "parking areas" from the Lanelet2 parking map and returns the retrieved Lanelet data structure. After obtaining all Lanelets representing parking spaces, the target lane unit is obtained by matching the corresponding Lanelet from all retrieved Lanelets based on the target parking space indicated by the parking end position.
[0044] Perform midpoint geometry analysis on the target lane unit to obtain the target parking space coordinate point. Specifically, the center point of the unit can be calculated based on the left and right road boundaries of the target lane unit. This center point is the target parking space coordinate point.
[0045] In step S104 of some embodiments, a parking switching point is determined from the cruising path according to the coordinate point of the target parking space; See also Figure 5 In some embodiments, step S104 may include but is not limited to steps S501 to S502: Step S501, traversing the sequence points of the cruising path, and determining the sequence point in the cruising path that is closest to the target parking space coordinate point as a matching point; Step S502: determining a parking switching point in the cruising path according to the matching point and the preset forward distance.
[0046] Specifically, the global cruise path planning process described above yields the center reference line of the planned lane (i.e., the cruise path). The cruise path consists of a set of coordinate sequence points. By traversing the cruise path sequence points, a coordinate distance algorithm is used to match the sequence point closest to the target parking space coordinate point within the cruise path. This sequence point is then identified as the matching point. Based on the index of the matching point, the point at which the vehicle is a predetermined forward distance (e.g., 5 meters) from the matching point is reversed to obtain the index of the parking switch point in the cruise path. The cruise path can be clipped based on the parking switch point index to obtain a revised cruise path. In this embodiment, the forward distance represents the distance the vehicle has traveled forward along the cruise path.
[0047] For example, the cruising path is represented by the sequence P = [P0, P1, ..., P100], and the target parking space coordinates are represented by C(x, y). The distances from all points Pi to C are calculated, and the point P40 with the shortest distance is found (i.e., the matching point index = 40). Searching forward from P40, the cumulative path length is 5 meters (assuming the cumulative distance from P40 to P35 is 5 meters), so the parking switch point index = 35.
[0048] In step S105 of some embodiments, when the vehicle's positioning point reaches the parking switch point, a parking path is planned with the target parking space coordinate point as the parking endpoint, resulting in a parking path. For example, upon detecting that the vehicle's positioning point has reached the parking switch point, the system performs longitudinal braking and begins parking planning. During parking planning, the current vehicle positioning point is the parking starting point, and the target parking space coordinate point is the parking endpoint. The parking planning algorithm can be implemented using geometric planning methods (such as the RS curve algorithm), sampling planning methods (such as the Hybrid A* algorithm), and machine learning methods, and is not specifically limited in this embodiment.
[0049] In some embodiments, when the vehicle reaches the preset range area where the target parking space is located, the positioning frequency of the vehicle can be increased to accurately detect whether the vehicle has reached the parking switch point. The radius of the preset range area is greater than the preset forward distance.
[0050] See also Figure 6 In some embodiments, the parking path planning in step S105 with the target parking space coordinate point as the parking end point to obtain the parking path may include but is not limited to steps S601 to S603: Step S601: Using the occupancy grid map constructed based on the perception module as a parking planning map; Step S602: Determine a second path cost corresponding to the searched node based on the parking start point, parking end point, parking planning map, and vehicle status based on a discrete graph search algorithm; Step S603 : Select the node with the minimum cost on the second path to construct an RS curve with the parking destination, and optimize the RS curve to obtain a parking path.
[0051] In this embodiment, parking planning can be implemented using the HybridA* algorithm. This method uses the occupancy grid map transmitted by the upstream perception module as the parking planning map. The occupancy grid map is the core modeling method for the vehicle's perception of the environment. It discretizes the continuous space into a two-dimensional grid (grid), with each grid storing the probability of being occupied by an obstacle.
[0052] During parking planning, the functions used to calculate the second path cost include a driving cost function and a heuristic cost function. The driving cost function is used to calculate the path length and turning cost from the starting state to the current state. The driving cost g(s) is quantified as follows: ; The driving cost function includes steering wheel weight, steering wheel change weight and obstacle distance weight. Represents the distance cost to the parent node.
[0053] The heuristic cost h(s) function is used to consider obstacle avoidance. Dynamic programming is used to build a distance map. The target point is used as the starting point to expand the shortest distance from all grid points to the target point, and each distance value is used as the final heuristic cost.
[0054] The second path cost, that is, the total cost, is expressed as follows: ; During the parking planning process, an analytical extension is designed to speed up the overall search process. When the node with the minimum cost of the second path is screened, the RS curve is used to connect the node and the end point. The curve is processed using normalization and denormalization to obtain the set of points with coordinates in the map coordinate system that the path passes through.
[0055] After normalization, we get the turning radius and straight-line distance on the RS curve, and further cooperate with denormalization and resampling to get the set of points at the current coordinates. Based on this, we first design a cost function to screen out the optimal path with the shortest cost value, and then use the difference method to resample. Next, we need to perform denormalization and collision detection separately. Collision detection is to observe whether the discrete points on the boundary of the rectangular box after each expansion of the node occupy the collision grid, and filter out the nodes occupying the collision grid. The overall path is obtained by reverse search based on the end node, and the path is used as the parking path for the downstream control module to achieve automatic parking.
[0056] In this embodiment, the embodiment of the present application first plans the optimal cruising path using the Dijkstra algorithm, then intelligently clips the cruising path based on the parking space location, and finally uses the Hybrid A* algorithm to refine the parking plan. The embodiment of the present application uses a scenario decision state machine to determine the triggering timing of parking planning, so that the vehicle can smoothly switch from cruising state to parking state within the appropriate distance and timing. By integrating open source frameworks such as Lanelet2 and AutowareUniverse, not only the efficiency of map construction and path planning is improved, but also the modularity and scalability of the system are guaranteed. This integration method enables the system to more easily adapt to the update of new technologies and new methods. By clipping the cruising path in advance and intelligently determining the triggering timing of parking planning, the present invention can achieve a smooth transition when the vehicle approaches the parking space, thereby improving parking efficiency and success rate.
[0057] According to some embodiments of this application, please refer to Figure 7 When planning a cruise path, the method of the embodiment of the present application cooperates with the LaneLet2 and AutowareUniverse open source frameworks, uses OpenStreetMap to divide and sort the roads into grids (i.e., lane units), and uses the Djikstra algorithm in the Lanelet open source framework to roughly plan the road topology relationship after grid division in conjunction with the relevant processing of the initial point and the end point. At the same time, a special data structure processing is performed on the road boundary and grid sequence number corresponding to each grid. According to the optimal path sequence number given by Djikstra, the corresponding road boundary is indexed. Finally, the OSQP open source solver is used in conjunction with quadratic programming to solve the smoothing problem of the road center reference line. When approaching a parking space, the cruise path (i.e., the road center reference line) is clipped in advance according to the road center reference line of the grid where the parking space is located, and the scene decision state machine is used to determine the parking planning trigger time, and then the HybridA* algorithm is used to plan the parking path.
[0058] The present application also provides a global path planning system for parking, including: The first module is used to obtain the parking end position; The second module is used to perform global cruising path planning based on the parking end position to obtain the cruising path; The third module is used to determine the target parking space coordinate point according to the parking end position; The fourth module is used to determine the parking switching point from the cruising path according to the coordinate point of the target parking space; The fifth module is used to plan a parking path with the target parking space coordinate point as the parking end point when the vehicle positioning point reaches the parking switching point to obtain a parking path.
[0059] It can be understood that the contents of the above-mentioned embodiments of the global path planning method for parking are applicable to the embodiments of this system. The functions specifically implemented by the embodiments of this system are the same as those of the above-mentioned embodiments of the global path planning method for parking, and the beneficial effects achieved are also the same as those achieved by the above-mentioned embodiments of the global path planning method for parking.
[0060] An embodiment of the present application further provides an electronic device comprising: a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for enabling communication between the processor and the memory. When the program is executed by the processor, the above-described global path planning method for parking is implemented. The electronic device may be any intelligent terminal, including a tablet computer and an in-vehicle computer.
[0061] See also Figure 8 , Figure 8 The hardware structure of an electronic device according to another embodiment is shown. The electronic device includes: The processor 901 can be implemented as a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application. The memory 902 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 902 can store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 902 and is called by the processor 901 to execute the global path planning method for parking in the embodiments of this application. Input / output interface 903, used to implement information input and output; Communication interface 904, used to implement communication interaction between this device and other devices, which can be achieved through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WiFi, Bluetooth, etc.); Bus 905 , which transmits information between various components of the device (e.g., processor 901 , memory 902 , input / output interface 903 , and communication interface 904 ); The processor 901 , the memory 902 , the input / output interface 903 and the communication interface 904 are connected to each other in communication within the device via a bus 905 .
[0062] An embodiment of the present application also provides a storage medium, which is a computer-readable storage medium used for computer-readable storage. The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the above-mentioned global path planning method for parking.
[0063] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0064] The present application also provides a vehicle comprising the electric drive assembly of the global path planning system or electronic device for implementing parking. Specifically, the vehicle can be a private vehicle, such as a sedan, SUV, MPV, or pickup truck. The vehicle can also be a commercial vehicle, such as a van, bus, small truck, or large trailer. The vehicle can be a gasoline vehicle or a new energy vehicle. When the vehicle is a new energy vehicle, it can be a hybrid vehicle or a pure electric vehicle.
[0065] The embodiments described in the embodiments of this application are intended to more clearly illustrate the technical solutions of the embodiments of this application and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0066] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.
[0067] Those skilled in the art will appreciate that all or some of the steps in the methods, systems, and functional modules / units in the devices disclosed above may be implemented as software, firmware, hardware, or appropriate combinations thereof.
[0068] The terms "first," "second," "third," "fourth," etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential sequence. It should be understood that the numbers used in this way are interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having," as well as any variations thereof, are intended to cover non-exclusive inclusions, e.g., a process, method, system, product, or apparatus comprising a series of steps or modules is not necessarily limited to those steps or modules clearly listed, but may include other steps or modules that are not clearly listed or inherent to these processes, methods, products, or apparatus.
[0069] In the several embodiments provided in this application, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For example, the division of the modules described above is merely a logical function division. In actual implementation, there may be other division methods, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection of the system or unit through some interface, which can be electrical, mechanical or other forms.
[0070] The modules described above as separate components may or may not be physically separate, and the components shown as units may or may not be physical modules, that is, they may be located in one place or distributed across multiple network units. Some or all of these modules may be selected based on actual needs to achieve the purpose of this embodiment.
[0071] In addition, the functional modules in the various embodiments of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into a single module. The above-mentioned integrated modules may be implemented in the form of hardware or software functional modules.
[0072] If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes multiple instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store programs.
[0073] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but are not intended to limit the scope of the present invention. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and essence of the present invention should be within the scope of the present invention.
Claims
1. A global path planning method for parking, characterized in that: The following steps are involved: Get the parking end position; Performing global cruising path planning according to the parking end position to obtain a cruising path; Determine the target parking space coordinate point according to the parking end position; Determining a parking switching point from the cruising path according to the target parking space coordinate point; When the vehicle positioning point reaches the parking switching point, a parking path is planned with the target parking space coordinate point as the parking end point to obtain a parking path.
2. The global path planning method for parking according to claim 1, characterized in that: The global cruising path planning is performed according to the parking terminal position to obtain the cruising path, including the following steps: Obtain a lane topology map formed by lane basic units; Matching the corresponding lane basic unit in the lane topology map according to the starting position to obtain a starting lane unit; and matching the corresponding lane basic unit in the lane topology map according to the parking end position to obtain an end lane unit; Performing a lane network topology search on the lane topology map according to the starting lane unit and the ending lane unit to obtain a target topology array; the target topology array includes a plurality of searched lane basic units; A cruise path is determined according to the target topology array.
3. The global path planning method for parking according to claim 2, characterized in that: Determining the cruise path according to the target topology array includes the following steps: Extracting the centerline of each lane basic unit in the target topological array to obtain the road centerline; The road centerline is optimized with the goal of minimizing a first path cost to obtain a cruising path; the first path cost includes a smoothing cost, a length cost, and an end point error cost.
4. The global path planning method for parking according to claim 1, characterized in that: Determining the target parking space coordinate point according to the parking end position includes the following steps: Obtain a parking space map formed by lane basic units; Matching the corresponding lane basic unit in the parking map according to the parking end position to obtain a target lane unit; Perform midpoint geometric analysis on the target lane unit to obtain the target parking space coordinate point.
5. The global path planning method for parking according to claim 1, characterized in that: Determining the parking switching point from the cruising path according to the target parking space coordinate point includes the following steps: Traversing the sequence points of the cruising path, and determining the sequence point in the cruising path that is closest to the target parking space coordinate point as a matching point; A parking switching point in the cruising path is determined according to the matching point and a preset forward distance.
6. The global path planning method for parking according to claim 1, characterized in that: The parking path planning is performed with the target parking space coordinate point as the parking end point to obtain the parking path, including the following steps: The occupancy grid map constructed based on the perception module is used as the parking planning map; Determining a second path cost corresponding to a searched node based on the parking starting point, the parking end point, the parking planning map, and the vehicle state based on a discrete graph search algorithm; The node with the smallest cost on the second path is selected to construct an RS curve with the parking destination, and the RS curve is optimized to obtain a parking path.
7. A global path planning system for parking, characterized in that: include: The first module is used to obtain the parking end position; The second module is used to perform global cruising path planning according to the parking end position to obtain a cruising path; The third module is used to determine the target parking space coordinate point according to the parking end position; A fourth module is configured to determine a parking switching point from the cruising path according to the target parking space coordinate point; The fifth module is used to plan a parking path with the target parking space coordinate point as the parking end point when the vehicle positioning point reaches the parking switching point to obtain a parking path.
8. An electronic device, characterized in that: The electronic device includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory. When the program is executed by the processor, the steps of the global path planning method for parking as described in any one of claims 1 to 7 are realized.
9. A computer storage medium, wherein the storage medium is a computer-readable storage medium and is used for computer-readable storage, characterized in that: The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps of the global path planning method for parking according to any one of claims 1 to 7.
10. A vehicle, characterized in that: The vehicle includes the global path planning system for implementing parking according to claim 7 or the electronic device according to claim 8.