Memory parking loopback detection method, system, equipment and medium

By acquiring a pre-stored set of trajectory points and using hash table comparison and cubic spline interpolation, the sensor dependency and computing power bottleneck in memory-based parking loop closure detection are solved, achieving low-complexity and high-robustness loop closure detection, reducing hardware costs and improving parking efficiency.

CN121113079APending Publication Date: 2025-12-12DONGFENG MOTOR GRP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511263429.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-05
Publication Date
2025-12-12

AI Technical Summary

Technical Problem

Existing memory parking loop closure detection technologies rely on sensors, resulting in high hardware costs, computational resource bottlenecks, and poor environmental adaptability, making it difficult to achieve low-complexity, high-robust loop closure detection.

Method used

By acquiring a pre-stored set of global trajectory points, a hash table optimization strategy is used to compare the two-dimensional coordinates and heading angles of the trajectory points, identify path intersections and delete loop paths, and use cubic spline interpolation to generate local paths, thereby reducing computing power requirements and hardware costs.

Benefits of technology

It achieves low-complexity and high-robustness loop closure detection with zero environmental perception data input, reducing hardware costs and improving parking efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121113079A_ABST
    Figure CN121113079A_ABST
Patent Text Reader

Abstract

The invention provides a memory parking loopback detection method comprising the following steps: obtaining a pre-stored global track point set, track points comprising two-dimensional coordinates and course angles; starting from the current position of the vehicle, performing inverted search on global track points, and positioning a track point closest to the vehicle as a path planning starting point; traversing the global track point set, and storing the column index appearing for the first time by taking the two-dimensional coordinates of the track points as hash keys; when encountering points with the same two-dimensional coordinates and different course angles again, judging the points as path intersection points; if the path intersection is detected, marking indexes m and n, and deleting track points between m and n to eliminate the loopback path; and generating a local path of a first preset distance based on the cut trajectory, and outputting the local path to a vehicle control system to execute tracking. According to the method, sensor data are replaced by the track point coordinates / course angles, a camera / laser radar is omitted, and the computing power demand is greatly reduced. The comparison complexity is reduced through hash table optimization, and low-computing-power chip deployment is supported.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of vehicle autonomous driving control technology, and in particular to a memory parking loop detection method, system, device and medium. Background Technology

[0002] Memory parking, a key function of autonomous driving, significantly improves parking efficiency by recording and automatically reproducing the user's driving path. Current mainstream solutions rely on multi-sensor fusion technology (such as cameras, LiDAR, and ultrasonic radar) to collect environmental features (such as landmarks, parking lines, and obstacle outlines) in real time while the vehicle reproduces the path, and match them with keyframe data from pre-stored paths. When the system detects that the vehicle has entered a segment of the recorded path (i.e., forming a "loop"), it triggers a positioning calibration mechanism.

[0003] Despite the high accuracy of the sensor solution, its inherent limitations severely restrict its commercialization:

[0004] (1) High hardware costs: The deployment of lidar and high-resolution cameras greatly increases the cost per vehicle.

[0005] (2) Computing resource bottleneck: Environmental feature matching requires real-time processing of massive point cloud / image data, with an algorithm complexity of O(NM) (N is the number of features in the current frame and M is the number of features in the historical frames), which makes it impossible for low-computing-power automotive-grade chips to meet real-time requirements.

[0006] (3) Poor environmental adaptability: changes in lighting and rain or snow can cause visual features to fail, and the failure rate of loop closure detection is relatively high in sparse point cloud scenarios.

[0007] Therefore, overcoming the limitations of sensor dependence and high computing power, and achieving low-complexity, high-robust loop closure detection with zero environmental perception data input, has become a key challenge for the large-scale deployment of memory parking technology. Summary of the Invention

[0008] This application aims to solve at least one of the technical problems existing in the prior art mentioned above, and proposes a memory parking loop closure detection method, system, device and medium, which aims to overcome the bottleneck of sensor dependence and high computing power, and achieve low complexity and high robustness loop closure detection under the premise of zero environmental perception data input.

[0009] In a first aspect, embodiments of this application provide a memory parking loop closure detection method, including:

[0010] When the memory parking function is activated, a pre-stored set of global trajectory points is obtained, and the trajectory points contain the corresponding two-dimensional coordinates and heading angles;

[0011] Starting from the current position of the vehicle, perform a reverse search on the global trajectory points, and locate the trajectory point closest to the vehicle as the starting point for path planning;

[0012] Traverse the global trajectory point set, and use the hash table optimization strategy to compare the trajectory points: use the two-dimensional coordinates of the trajectory point as the hash key, and store the column index of the first occurrence; when encountering a point with the same two-dimensional coordinates but different heading angles again, it is determined as a path intersection point;

[0013] If the path intersection point is detected, mark the indexes m and n, and delete the trajectory points between m and n to eliminate the loop path;

[0014] Generate a local path of the first preset distance based on the trimmed trajectory, and output it to the vehicle control system for execution and tracking.

[0015] Furthermore, the hash table optimization strategy specifically includes:

[0016] Construct a hash table with the two-dimensional coordinates of the trajectory point as the key and the column index as the value;

[0017] When traversing each column of data, if the key already exists and the current column heading angle is different from the stored value, trigger the loop determination.

[0018] Furthermore, the deleting the trajectory points between m and n to eliminate the loop path includes:

[0019] If m < n, delete the index interval [m + 1, n];

[0020] If n < m, delete [n + 1, m].

[0021] Furthermore, the performing a reverse search on the global trajectory points and locating the trajectory point closest to the vehicle as the starting point for path planning includes:

[0022] Start searching forward from the end point of the global trajectory points, calculate the Euclidean distance between each point and the vehicle, and select the trajectory point corresponding to the minimum Euclidean distance as the starting point for path planning.

[0023] Furthermore, when generating a local path of the first preset distance based on the trimmed trajectory, use the cubic spline interpolation method to connect the trajectory points.

[0024] Furthermore, after deleting the trajectory points between m and n, perform a topological connection check on the remaining path, specifically including:

[0025] If the deleted interval contains branch path nodes, automatically repair the connection according to the heading angle continuity.

[0026] Furthermore, the traversing the global trajectory point set uses multi-threaded parallel processing, specifically including:

[0027] Divide the set of trajectory points into multiple subsets, and each thread independently performs hash comparison. After the results are merged, the intersection points are output.

[0028] Further, after the step of "generating a local path within a first preset distance based on the cropped trajectory and outputting it to the vehicle control system for tracking", a dynamic replanning process is added, which specifically includes:

[0029] Every time the vehicle advances a second preset distance, re - execute all steps except "when the memory parking function is activated, obtain the pre - stored global trajectory point set, where the trajectory points include the corresponding two - dimensional coordinates and heading angles" to update the local path.

[0030] In a second aspect, an embodiment of the present application provides a memory parking loop detection system, including:

[0031] A global trajectory point set acquisition module, which obtains the pre - stored global trajectory point set when the memory parking function is activated, and the trajectory points include the corresponding two - dimensional coordinates and heading angles;

[0032] A reverse search module, starting from the current position of the vehicle, performs a reverse search on the global trajectory points, and locates the trajectory point closest to the vehicle as the path planning starting point;

[0033] A trajectory point comparison module, which traverses the global trajectory point set and compares the trajectory points using a hash table optimization strategy: using the two - dimensional coordinates of the trajectory points as hash keys, storing the column index of the first occurrence; when a point with the same two - dimensional coordinates but different heading angles is encountered again, it is determined as a path intersection point;

[0034] A loop path elimination module, if the path intersection point is detected, marks the indices m and n, and deletes the trajectory points between m and n to eliminate the loop path;

[0035] An output execution module, which generates a local path within a first preset distance based on the cropped trajectory and outputs it to the vehicle control system for tracking.

[0036] Further, the hash table optimization strategy specifically includes:

[0037] Construct a hash table with the two - dimensional coordinates of the trajectory points as keys and the column indices as values;

[0038] When traversing each column of data, if the key already exists and the current column heading angle is different from the stored value, trigger a loop determination.

[0039] Further, the deleting of the trajectory points between m and n to eliminate the loop path includes:

[0040] If m < n, delete the index interval [m + 1, n];

[0041] If n < m, delete [n + 1, m].

[0042] Furthermore, the step of performing a reverse search on the global trajectory points to locate the trajectory point closest to the vehicle as the starting point for path planning includes:

[0043] Starting from the endpoint of the global trajectory points, search forward, calculate the Euclidean distance between each point and the vehicle, and select the trajectory point corresponding to the minimum Euclidean distance as the starting point for path planning.

[0044] Furthermore, when generating a local path with a first preset distance based on the clipped trajectory, cubic spline interpolation is used to connect the trajectory points.

[0045] Thirdly, embodiments of this application provide an electronic device, including: one or more processors;

[0046] A memory for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors are able to implement the steps in any of the preceding loop closure detection methods.

[0047] Fourthly, embodiments of this application provide a computer-readable medium storing a computer program, which, when executed by a processor, can implement the steps in any of the aforementioned loop closure detection methods.

[0048] This application provides a memory-based parking loop closure detection method that replaces sensor data with trajectory point coordinates / heading angles, eliminating the need for cameras / LiDAR. Loop closure recognition can be achieved solely through trajectory point calculation, thus significantly reducing the computational power required. Hash table optimization reduces the complexity of trajectory point comparison, supports deployment on low-computing-power chips, and thereby lowers hardware costs. Loop closure pruning can significantly reduce driving distance, thus improving parking efficiency. Attached Figure Description

[0049] Figure 1 A core flowchart of a memory parking loop closure detection method provided in the embodiments of this application;

[0050] Figure 2 The scenario provided in this application embodiment is that there is a path intersection point A first, and then a loop path appears;

[0051] Figure 3 The scenario provided in this application embodiment is where a loop path appears first, followed by a path intersection point B;

[0052] Figure 4 The main flowchart for path planning provided in this application embodiment;

[0053] Figure 5 This is a structural block diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0054] To enable those skilled in the art to better understand the technical solutions of this application, exemplary embodiments of this application are described below with reference to the accompanying drawings, including various details of the embodiments of this application to aid understanding. These should be considered merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this application. Similarly, for clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description. Unless otherwise specified, the various embodiments of this application and the features within those embodiments can be combined with each other.

[0055] As used herein, the term “and / or” includes any and all combinations of one or more of the associated enumerated entries. The terminology used herein is for describing particular embodiments only and is not intended to limit the application. As used herein, the singular forms “a” and “the” are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that when the terms “comprising” and / or “made of” are used in this specification, the presence of the stated features, integrals, steps, operations, elements, and / or components is specified, but the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof is not excluded. Terms such as “connected” or “linked” are not limited to physical or mechanical connections but can include electrical connections, whether direct or indirect.

[0056] Unless otherwise specified, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It should also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having the meaning consistent with their meaning in the context of the relevant art and this application, and will not be interpreted as having an idealized or overly formal meaning, unless expressly so defined herein.

[0057] Current loop closure detection technologies rely on sensors such as cameras and LiDAR to continuously compare current environmental features with keyframe data in the memory path, requiring significant computing power and increasing hardware costs. This application, however, eliminates the need for cameras and other sensors, performing loop closure detection solely through the comparison and calculation of trajectory points, thereby reducing computing power requirements and saving hardware costs.

[0058] refer to Figure 1 One embodiment of this application provides a memory parking loop closure detection method, which may specifically include the following steps.

[0059] Step 1: When the memory parking function is activated, obtain the pre-stored global trajectory point set. The trajectory points contain the corresponding two-dimensional coordinates and heading angles.

[0060] refer to Figure 2 and Figure 3 The path memorization process is simplified to scenario one (from A1 to A). Z ) and Scenario 2 (B1 to B) Z The trajectory points of the entire path are numbered from 1 to Z. It can be observed that there will be intersection points in both paths, that is, the vehicle will pass through a point twice, which will be labeled as A and B respectively.

[0061] Therefore, if a path in memory has a loop, there must be points A and B. Scenario 1 is where the path intersection point A exists first, and then the loop path appears; Scenario 2 is where the loop path exists first, and then the path intersection point B appears.

[0062] First, let's analyze scenario one. Let the first point A be the nth point on the trajectory, with coordinates A. n (X n ,Y n ,θ n The second point encountered is point A, which is the m-th point on the trajectory, and its coordinates are A. m (X m ,Y m ,θ m Then X must exist. n =X m Y n = Y m θ n ≠θ m .

[0063] Similarly, in scenario two, let the first point B be the nth point on the trajectory, with coordinates B. n (X n ,Y n ,θ n The second point passed through is point B, which is the m-th point on the trajectory, and its coordinates are B. m (X m ,Y m ,θ m Then X must exist. n =X m Y n =Y m θ n ≠θ m Where (X, Y) represents the two-dimensional coordinates of the corresponding trajectory point, and θ represents the heading angle of the corresponding trajectory point.

[0064] When a user uses the memory parking function, the first step is to find the memory path, i.e., A1A. Z and B1BZ When the vehicle approaches the designated trajectory, the memory parking function is activated. Upon activation, a pre-stored set of global trajectory points is retrieved, each containing its corresponding two-dimensional coordinates and heading angle. The vehicle then automatically plans its trajectory based on the memorized path and outputs it to the vehicle control system for tracking. (See the main path planning process for reference.) Figure 4 .

[0065] Step 2: Starting from the vehicle's current position, perform a reverse search of the global trajectory points and locate the trajectory point closest to the vehicle as the starting point for path planning.

[0066] Specifically, based on the memorized global trajectory index and the current position, a reverse search is performed, starting from the endpoint position, to find the trajectory point closest to the current position. A 20-meter trajectory is then planned and fed into the vehicle control system for tracking. More specifically, starting from the endpoint of the global trajectory point, a forward search is performed, calculating the Euclidean distance between each point and the vehicle. The trajectory point with the minimum Euclidean distance is selected as the starting point for path planning. This setup avoids the local optima problem of forward search and improves planning accuracy.

[0067] Step 3: Traverse the global trajectory point set and compare trajectory points using a hash table optimization strategy: use the two-dimensional coordinates of the trajectory point as the hash key to store the column index of the first occurrence; when a point with the same two-dimensional coordinates but different heading angles is encountered again, it is determined to be a path intersection point. The hash table optimization strategy specifically includes:

[0068] Construct a hash table with the two-dimensional coordinates of the trajectory points as keys and column indices as values.

[0069] When traversing each column of data, if the key already exists and the heading angle of the current column is different from the stored value, a loop closure check is triggered.

[0070] More specifically, in scenarios one and two, when the vehicle is at point A1, during path planning, the global trajectory is traversed, successively reaching point A... m and A n A coordinate comparison strategy is incorporated during the traversal process, employing a column-by-column comparison method. For a 3×n array, this can be optimized using a hash table. However, if the array is large, the time complexity of column-by-column comparison is O(n^2). 2 The lookup process can be optimized using a hash table, and rule X can be determined. n = X m Y n =Y m θ n ≠θ m, finally find the corresponding m point and n point. The specific pseudocode is as follows: # Define a 3×n array A = np.array([[1, 2, 1, 1], [4, 5, 4, 4], [7, 8, 9, 8]]) n = A.shape[1] # Get the number of columns # Use a hash table to store columns with the same first two numbers seen = {} for i in range(n): key = (A[0, i], A[1, i]) # Use the first two numbers as the key if key in seen: j = seen[key] # Find the previously stored column index if A[2, i] != A[2, j]: # The third number is different print(f"Column {j + 1} and column {i + 1} meet the condition:") print("Column vector 1:", A[:, j]) print("Column vector 2:", A[:, i]) else: seen[key] = i

[0071] Preferably, traversing the global trajectory point set adopts multi-threaded parallel processing, specifically including:

[0072] Divide the trajectory point set into multiple subsets, and each thread independently performs hash comparison. After the results are merged, the intersection points are output. This setting can meet the real-time requirements, for example, the response time does not exceed 100 ms.

[0073] Step 4, if the path intersection point is detected, mark the indexes m and n, and delete the trajectory points between m and n to eliminate the loop path.

[0074] After finding the corresponding m point and n point, at this time, the trajectory points between the m point and the n point are the loop trajectory to be found. At this time, the loop detection is completed. The next step is to delete the trajectory points between the m point and the n point to eliminate the loop path.

[0075] Preferably, deleting the trajectory points between m and n to eliminate the loop path includes:

[0076] If m < n, delete the index interval [m + 1, n].

[0077] If n < m, delete [n + 1, m].

[0078] In some embodiments, when the intersection point indexes n = 5 and m = 20 (n < m) are detected, delete the trajectory points with indexes from 6 to 20, which can shorten the original path by 70%. This setting can eliminate the redundant driving distance and improve the parking efficiency.

[0079] After deleting the trajectory points between m and n, preferably, perform topological connection verification on the remaining path, specifically including:

[0080] If the deleted interval contains branch path nodes, the connection will be automatically repaired based on the heading angle continuity.

[0081] In some embodiments, after deleting points at indices 10-15, the heading angles of indices 9 (θ=30°) and 16 (θ=32°) are continuous, allowing for a direct path connection. This configuration ensures the integrity of the path topology and prevents planning interruptions.

[0082] Step 5: Generate a local path with a first preset distance (e.g., 20 m) based on the clipped trajectory, and output it to the vehicle control system for tracking.

[0083] Specifically, when generating a local path with a first preset distance based on the clipped trajectory, cubic spline interpolation is used to connect the trajectory points.

[0084] In some embodiments, after deleting loop closure points, the remaining trajectory point set {(0,0), (2,2), (4,4)} is used to generate a smooth 20 m continuous path through spline interpolation. This setting can solve the path abrupt change problem and control the tracking error to reduce it to ±5 cm.

[0085] Preferably, a dynamic replanning process is added after step 5, specifically including: every 5 meters the vehicle travels, steps 2 to 5 are re-executed to update the local path. Specifically, after the vehicle travels 5 meters from the starting point, a new path is generated based on the new position to avoid sudden obstacles. This setup adapts to dynamic environmental changes, greatly improving safety.

[0086] This application provides a memory-based parking loop closure detection method that replaces sensor data with trajectory point coordinates / heading angles, eliminating the need for cameras / LiDAR. Loop closure recognition can be achieved solely through trajectory point calculation, thus significantly reducing the computational power required. Hash table optimization reduces the complexity of trajectory point comparison, supports deployment on low-computing-power chips, and thereby lowers hardware costs. Loop closure pruning can significantly reduce driving distance, thus improving parking efficiency.

[0087] Based on the same inventive concept, this application also provides a memory parking loop detection system, including:

[0088] The global trajectory point set acquisition module acquires a pre-stored global trajectory point set when the memory parking function is activated. The trajectory points contain the corresponding two-dimensional coordinates and heading angles.

[0089] The reverse search module starts from the vehicle's current position and performs a reverse search on the global trajectory points to locate the trajectory point closest to the vehicle as the starting point for path planning.

[0090] The trajectory point comparison module traverses the global trajectory point set and uses a hash table optimization strategy to compare trajectory points: the two-dimensional coordinates of the trajectory point are used as the hash key to store the column index of the first occurrence; when a point with the same two-dimensional coordinates but different heading angles is encountered again, it is determined to be a path intersection point.

[0091] The loop path elimination module, if the path intersection point is detected, marks indices m and n, and deletes the trajectory points between m and n to eliminate the loop path;

[0092] The output execution module generates a local path with a first preset distance based on the clipped trajectory and outputs it to the vehicle control system for tracking.

[0093] For specific technical details regarding a memory parking loop closure detection system, please refer to the aforementioned embodiment of a memory parking loop closure detection method, which will not be repeated here.

[0094] Based on the same inventive concept, embodiments of this application also provide an electronic device. Figure 5 This is a structural block diagram of an electronic device provided in an embodiment of this application. Figure 5 As shown in the figure, an electronic device provided in this application embodiment includes: one or more processors 101, a memory 102, and one or more I / O interfaces 103. The memory 102 stores one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement any of the memory parking loop detection methods described in the above embodiments; the one or more I / O interfaces 103 are connected between the processor and the memory, configured to enable information interaction between the processor and the memory.

[0095] The processor 101 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the memory 102 is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I / O interface (read / write interface) 103 is connected between the processor 101 and the memory 102, and can realize information interaction between the processor 101 and the memory 102, including but not limited to a data bus (Bus).

[0096] In some embodiments, the processor 101, memory 102, and I / O interface 103 are interconnected via bus 104, and thus connected to other components of the computing device.

[0097] In some embodiments, the one or more processors 101 include a field-programmable gate array.

[0098] This application also provides a computer-readable medium. The computer-readable medium stores a computer program, which, when executed by a processor, implements the steps of any of the memory parking loopback detection methods described in the above embodiments. The computer-readable storage medium can be volatile or non-volatile.

[0099] This application also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code. When the computer-readable code is run in the processor of an electronic device, the processor in the electronic device executes the above-described memory parking loop detection method.

[0100] Those skilled in the art will understand that all or some of the steps, systems, and apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software can be distributed on a computer-readable storage medium, which may include computer storage media (or non-transitory media) and communication media (or transient media).

[0101] As is known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable program instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), flash memory or other memory technologies, portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, it is known to those skilled in the art that communication media typically contain computer-readable program instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0102] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.

[0103] The computer program instructions used to perform the operations of this application may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, etc., and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuits, such as programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), are personalized by utilizing the status information of the computer-readable program instructions. These electronic circuits can execute the computer-readable program instructions to implement various aspects of this application.

[0104] The computer program product described herein can be implemented specifically through hardware, software, or a combination thereof. In one alternative embodiment, the computer program product is specifically embodied in a computer storage medium; in another alternative embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.

[0105] Various aspects of this application are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0106] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0107] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0108] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0109] Example embodiments have been disclosed herein, and while specific terminology has been used, it is for general illustrative purposes only and should not be construed as limiting. In some embodiments, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in connection with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in connection with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of this application as set forth by the appended claims.

Claims

1. A memory parking loop detection method, characterized in that, Including: When the memory parking function is activated, obtain the pre-stored global trajectory point set, where the trajectory points include corresponding two-dimensional coordinates and heading angles; Starting from the current vehicle position, perform reverse search on the global trajectory points to locate the trajectory point closest to the vehicle as the path planning starting point; Traverse the global trajectory point set, and use the hash table optimization strategy to compare the trajectory points: use the two-dimensional coordinates of the trajectory points as the hash key, and store the column index of the first occurrence; When a point with the same two-dimensional coordinates but different heading angles is encountered again, it is determined as a path intersection point; If the path intersection point is detected, mark the indexes m and n, and delete the trajectory points between m and n to eliminate the loop path; Generate a local path of the first preset distance based on the cropped trajectory, and output it to the vehicle control system for tracking execution.

2. The loop detection method of claim 1, wherein, The hash table optimization strategy specifically includes: Construct a hash table with the two-dimensional coordinates of the trajectory points as the key and the column index as the value; When traversing each column of data, if the key already exists and the current column heading angle is different from the stored value, trigger the loop determination.

3. The loop detection method of claim 1, wherein, The deleting the trajectory points between m and n to eliminate the loop path includes: If m < n, delete the index range [m + 1, n]; If n < m, delete [n + 1, m].

4. The loop detection method of claim 1, wherein, The performing reverse search on the global trajectory points to locate the trajectory point closest to the vehicle as the path planning starting point includes: Start searching forward from the end point of the global trajectory points, calculate the Euclidean distance between each point and the vehicle, and select the trajectory point corresponding to the minimum Euclidean distance as the path planning starting point.

5. The loop detection method of claim 1, wherein, When generating a local path of the first preset distance based on the cropped trajectory, use the cubic spline interpolation method to connect the trajectory points.

6. The loop detection method of claim 1, wherein, After deleting the trajectory points between m and n, perform topological connection verification on the remaining path, specifically including: If the deleted interval contains branch path nodes, automatically repair the connection according to the continuity of the heading angle.

7. The loop detection method of claim 1, wherein, The traversing the global trajectory point set using multi-threaded parallel processing specifically includes: Divide the trajectory point set into multiple subsets, each thread independently performs hash comparison, and the results are merged and output as intersection points.

8. The loop detection method of claim 1, wherein, After the step "Generate a local path of the first preset distance based on the cropped trajectory, and output it to the vehicle control system for tracking execution", add a dynamic replanning process, specifically including: Every time the vehicle advances a second preset distance, re-execute the other steps except "When the memory parking function is activated, obtain the pre-stored global trajectory point set, where the trajectory points include corresponding two-dimensional coordinates and heading angles" to update the local path.

9. A memory parking loop detection system characterized by, Including: Global trajectory point set acquisition module, which obtains the pre-stored global trajectory point set when the memory parking function is activated, where the trajectory points include corresponding two-dimensional coordinates and heading angles; Reverse search module, which starts from the current vehicle position, performs reverse search on the global trajectory points, and locates the trajectory point closest to the vehicle as the path planning starting point; Trajectory point comparison module, which traverses the global trajectory point set and uses the hash table optimization strategy to compare the trajectory points: uses the two-dimensional coordinates of the trajectory points as the hash key, stores the column index of the first occurrence; when a point with the same two-dimensional coordinates but different heading angles is encountered again, it is determined as a path intersection point; The loop path elimination module, if the path intersection point is detected, marks the indices m and n, and deletes the trajectory points between m and n to eliminate the loop path; The output execution module generates a local path of a first preset distance based on the trimmed trajectory and outputs it to the vehicle control system for tracking execution.

10. The loop detection system of claim 9, wherein, The hash table optimization strategy specifically includes: Constructing a hash table with the two-dimensional coordinates of the trajectory points as keys and the column index as values; When traversing each column of data, if the key already exists and the current column heading angle is different from the stored value, a loop determination is triggered.

11. The loop detection system of claim 9, wherein, The deleting the trajectory points between m and n to eliminate the loop path includes: If m < n, delete the index range [m + 1, n]; If n < m, delete [n + 1, m].

12. The loop detection system of claim 9, wherein, The reverse search of the global trajectory points to locate the trajectory point closest to the vehicle as the path planning starting point includes: Searching forward from the end point of the global trajectory points, calculating the Euclidean distance between each point and the vehicle, and selecting the trajectory point corresponding to the minimum Euclidean distance as the path planning starting point.

13. The loop detection system of claim 9, wherein, When generating a local path of a first preset distance based on the trimmed trajectory, the cubic spline interpolation method is used to connect the trajectory points.

14. An electronic device, comprising: Including: One or more processors; A memory for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors are enabled to implement the steps in the loop detection method according to any one of claims 1 to 8.

15. A computer-readable medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it can implement the steps in the loop detection method according to any one of claims 1 to 8.