Path planning method and device, electronic equipment and computer readable storage medium
By filtering and matching the pose data of vehicle entrances and exits in autonomous driving tests to construct test paths, the high cost problem caused by the reliance on manual setting of autonomous driving test paths is solved, and efficient and reliable path planning is achieved.
Patent Information
- Application Number
- CN202511327867.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-16
- Publication Date
- 2026-11-06
- Estimated Expiration
- 2045-09-16
AI Technical Summary
The construction of autonomous driving test paths relies on manual setting and subjective judgment, resulting in high costs and difficulty in achieving stable passage in complex road environments.
By acquiring multiple pose data of the vehicle at road entrances and exits, representative third and fourth pose data are selected, paired, and a test path is constructed.
It significantly improves the efficiency and relevance of test path generation, enhances the comprehensiveness and reliability of path testing, and provides a sufficient and efficient verification basis for vehicle road testing.
Smart Images

Figure CN121323670B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous driving, and more particularly to a path planning method, apparatus, electronic device, and computer-readable storage medium. Background Technology
[0002] Autonomous driving technology is a cutting-edge field that deeply integrates artificial intelligence and vehicle navigation technology. It aims to enable vehicles to drive safely and autonomously without human intervention through technologies such as environmental perception, high-precision positioning, decision-making, planning, and control execution. To improve the stable passage of vehicles in complex road environments, especially in scenarios such as curves and ramps, autonomous driving testing, as a crucial step in verifying the reliability and safety of autonomous driving technology, often requires a large number of test paths covering different curvatures, slopes, and road conditions for systematic verification. However, in related technologies, the construction of test paths heavily relies on manual setting and subjective judgment, resulting in high costs for autonomous driving testing. Summary of the Invention
[0003] This application provides a path planning method, apparatus, electronic device, and computer-readable storage medium that can improve the efficiency of test path construction.
[0004] The technical solution of this application embodiment is implemented as follows:
[0005] This application provides a path planning method, the method comprising:
[0006] Acquire multiple first pose data of the vehicle at the entrance of the road, and acquire multiple second pose data of the vehicle at the exit of the road;
[0007] Based on the distribution of the plurality of first pose data on the road, at least one third pose data is obtained by filtering from the plurality of first pose data, and based on the distribution of the plurality of second pose data on the road, at least one fourth pose data is obtained by filtering from the plurality of second pose data.
[0008] The at least one third pose data and the at least one fourth pose data are paired to obtain at least one data pair, wherein one data pair includes one third pose data and one fourth pose data;
[0009] Path planning is performed using the third pose data in the at least one data pair as the starting pose and the fourth pose data as the target pose to obtain at least one test path for the vehicle.
[0010] This application provides a path planning device, including:
[0011] The data acquisition module is used to acquire multiple first pose data of the vehicle at the entrance of the road and multiple second pose data of the vehicle at the exit of the road.
[0012] The data filtering module is used to filter at least one third pose data from the plurality of first pose data based on the distribution of the plurality of first pose data on the road, and to filter at least one fourth pose data from the plurality of second pose data based on the distribution of the plurality of second pose data on the road.
[0013] A data pairing module is used to pair the at least one third pose data and the at least one fourth pose data to obtain at least one data pair, wherein one data pair includes one third pose data and one fourth pose data;
[0014] The path planning module is used to perform path planning with the third pose data in the at least one data pair as the starting pose and the fourth pose data as the target pose, so as to obtain at least one test path for the vehicle.
[0015] This application provides an electronic device, the electronic device comprising:
[0016] Memory is used to store executable instructions or computer programs.
[0017] When a processor executes computer-executable instructions or computer programs stored in the memory, it implements the path planning method provided in the embodiments of this application.
[0018] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the path planning method provided in this application when executed by a processor.
[0019] This application provides a computer program product, including a computer program or computer executable instructions, which, when executed by a processor, implements the path planning method provided in this application.
[0020] The embodiments of this application have the following beneficial effects:
[0021] By collecting multiple first pose data of vehicles at the road entrance and multiple second pose data at the road exit, and filtering at least one third pose data and at least one fourth pose data based on their distribution on the road, at least one third pose data and at least one fourth pose data are selected. These at least one third pose data and at least one fourth pose data are paired to construct at least one valid data pair, achieving systematic coverage of multiple possible vehicle pose combinations. This provides rich and reasonable input for subsequent path planning. The selected third pose data and fourth pose data pair are used as the starting pose and target pose for path planning, significantly improving the efficiency and relevance of test path generation, enhancing the comprehensiveness and reliability of path testing, and providing a more sufficient and efficient verification basis for vehicle road testing. Attached Figure Description
[0022] Figure 1 This is a schematic diagram of the path planning system architecture provided in the embodiments of this application;
[0023] Figure 2 This is a schematic diagram of the structure of an electronic device for path planning provided in an embodiment of this application;
[0024] Figure 3A This is a first flowchart illustrating the path planning method provided in this application embodiment;
[0025] Figure 3B This is a second flowchart illustrating the path planning method provided in the embodiments of this application;
[0026] Figure 3C This is a third flowchart illustrating the path planning method provided in the embodiments of this application;
[0027] Figure 4 This is a fourth flowchart illustrating the path planning method provided in the embodiments of this application;
[0028] Figure 5 This is a fifth flowchart illustrating the path planning method provided in the embodiments of this application;
[0029] Figure 6 This is a schematic diagram of the sixth process of the path planning method provided in the embodiments of this application.
[0030] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation
[0031] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0032] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0033] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0034] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0035] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the embodiments of this application is for the purpose of describing the embodiments of this application only and is not intended to limit this application.
[0036] In the implementation of this application, the collection and processing of relevant data should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.
[0037] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.
[0038] 1) Responding to: used to indicate the conditions or states on which the operation is performed depends. When the conditions or states on which it depends are met, one or more operations can be performed in real time or with a set delay. Unless otherwise specified, there is no restriction on the order in which the multiple operations are performed.
[0039] 2) Pose data: Pose data is a set of data that describes the position and orientation of an object in space. It usually includes the three-dimensional coordinates of the object in the global coordinate system and the rotation angles around the three coordinate axes.
[0040] 3) Path planning: Path planning is the process by which a machine automatically generates a feasible path based on the initial pose and the target pose, taking into account environmental constraints and kinematic limitations. The path must meet the requirements of being collision-free, executable, and meeting optimization objectives. It is usually achieved through search algorithms or optimization algorithms.
[0041] 4) Heading Angle: The heading angle is the angle between the machine's longitudinal axis and a specified reference direction in the global coordinate system (usually the positive X-axis or true north) when the machine moves in a two-dimensional plane. It is used to accurately describe the machine's current orientation. The reference direction is taken as 0°, and the counterclockwise rotation direction is taken as the positive direction. Its value range is usually from 0° to 360° or from -180° to 180°. The heading angle is a key component of the machine's pose data. Together with the position coordinates, it constitutes a complete pose state and provides basic input for path tracking, motion control, and positioning and navigation. Its accuracy directly affects the machine's motion accuracy and stability.
[0042] 5) Curvature continuity: Curvature continuity refers to the property that the curvature of a path changes smoothly without abrupt changes along the path length. It requires that the first derivative of the curvature function exists and is continuous. This property ensures that the vehicle will not experience abrupt changes in lateral acceleration when moving along the path, thereby improving driving stability and comfort.
[0043] 6) Turning radius: The turning radius is the radius of the turning circle where the center of gravity of the vehicle is located when it turns. Its value is determined by the steering angle and wheelbase. The turning radius reflects the vehicle's steering ability and the required turning space. The minimum turning radius is a key parameter of vehicle maneuverability.
[0044] This application provides a path planning method, apparatus, electronic device, computer-readable storage medium, and computer program product that can improve the efficiency of test path construction.
[0045] See Figure 1 , Figure 1This is a schematic diagram of the architecture of the path planning system provided in this application embodiment. In the path planning system 10 provided in this application embodiment, in order to support a path planning application, the terminal 400 connects to the server 200 through the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two.
[0046] Terminal 400 can be used to obtain path planning requests carrying multiple first pose data and multiple second pose data.
[0047] In some embodiments, a path planning plugin may be embedded in the client running in the terminal 400 to implement the path planning method locally on the client. For example, the terminal 400 calls the path planning plugin to implement the path planning method, which involves obtaining multiple first pose data of the vehicle at the entrance of the road and multiple second pose data at the exit of the road; based on the distribution of the multiple first pose data on the road, at least one third pose data is obtained from the multiple first pose data; and based on the distribution of the multiple second pose data on the road, at least one fourth pose data is obtained from the multiple second pose data; the at least one third pose data and the at least one fourth pose data are paired to obtain at least one data pair; and path planning is performed using the third pose data in the at least one data pair as the starting pose and the fourth pose data as the target pose to obtain at least one test path for the vehicle.
[0048] In some embodiments, after the terminal 400 obtains a path planning request carrying multiple first pose data and multiple second pose data, it calls the path planning interface of the server 200 (which can be provided as a cloud service, i.e., a path planning service). The server 200 implements a path planning method through a path planning plugin. Based on the distribution of multiple first pose data on the road, it filters at least one third pose data from the multiple first pose data and filters at least one fourth pose data from the multiple second pose data based on the distribution of multiple second pose data on the road. It pairs the at least one third pose data and the at least one fourth pose data to obtain at least one data pair. It performs path planning with the third pose data in the at least one data pair as the starting pose and the fourth pose data as the target pose to obtain at least one test path for the vehicle and returns the at least one test path to the terminal 400.
[0049] The path planning method of this application can be applied to various application scenarios in various fields, as detailed below.
[0050] For example, in a vehicle turning test scenario, related technologies suffer from limited test coverage and difficulty in comprehensively verifying the vehicle's steering performance under different entry and exit poses. In this embodiment, the data acquisition terminal (i.e., terminal 400) on the test vehicle collects multiple first pose data of the vehicle at the entrance of the curve (i.e., road) and multiple second pose data at the exit of the curve based on onboard sensors, constructs a path planning request, and calls the path planning interface of server 200. Server 200 implements the path planning method through a path planning plugin. First, it performs density analysis based on the spatial distribution of multiple first pose data at the entrance, and selects at least one representative first pose data. The server 200 generates at least one third pose data and performs a similar operation on multiple second pose data at the exit to obtain at least one fourth pose data. Then, the third pose data and the fourth pose data are paired to form multiple test data pairs. Using the third pose data in each test data pair as the path start point and the fourth pose data as the path end point, the path planning algorithm is called to generate at least one test path covering different turning conditions and sends it to the terminal 400. Through this process, the server 200 achieves systematic coverage of multiple pose combinations and automatic path generation. The terminal 400 performs real-time steering control based on the sent path, which ultimately significantly improves the scene coverage and verification efficiency of turning tests.
[0051] For example, in a scenario of global scheduling of warehouse logistics robots, related technologies suffer from low multi-robot collaboration efficiency, frequent path conflicts, and insufficient dynamic obstacle avoidance capabilities. In this embodiment, the control terminals (i.e., terminals 400) built into multiple logistics robots collect multiple first pose data at the entrance of the shelf aisle (i.e., road) and multiple second pose data at the exit of the target loading and unloading point through LiDAR and vision sensors. They construct path planning requests and call the path planning interface of server 200. Server 200, through a path planning plugin, performs density clustering and representativeness screening based on the distribution of multi-pose data in the aisle to obtain at least one third pose data in the entrance area and at least one fourth pose data in the exit area. Then, it pairs different entrance and exit poses to generate multiple data pairs. Using each data pair as the start and end point, it performs multi-robot collaborative path planning to generate multiple global paths that are conflict-free and conform to motion constraints, and sends them to each robot terminal. Through this process, the server realizes the systematic integration and conflict resolution of multi-pose combinations. The terminal robots perform real-time scheduling and motion control according to the received paths, ultimately significantly improving the overall operating efficiency of the warehouse system and the collaborative stability of the robots.
[0052] In some embodiments, server 200 may be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms.
[0053] Terminal 400 can be a smartphone, tablet computer, laptop computer, desktop computer, smart speaker, smartwatch, smart voice interaction device, smart home appliance, vehicle terminal, aircraft, etc., but is not limited to these. The terminal and server can be directly or indirectly connected via wired or wireless communication, which is not limited in this embodiment.
[0054] See Figure 2 , Figure 2 This is a schematic diagram of the structure of an electronic device for path planning provided in an embodiment of this application. Figure 2 The electronic device 500 shown can be Figure 1 The terminal 400 or server 200, and the electronic device 500 include: at least one processor 510, memory 550, and at least one network interface 520. The various components in server 200 are coupled together via a bus system 540. It is understood that the bus system 540 is used to implement communication between these components. In addition to a data bus, the bus system 540 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 2 The general labeled all buses as Bus System 540.
[0055] The processor 510 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.
[0056] User interface 530 includes one or more output devices 531 that enable the presentation of media content, including one or more speakers and / or one or more visual displays. User interface 530 also includes one or more input devices 532, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls;
[0057] In some embodiments, when the path planning task is completed independently by the terminal 400, the server 200 provided in this application does not include the user interface 530.
[0058] The memory 550 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The memory 550 may optionally include one or more storage devices physically located away from the processor 510.
[0059] The memory 550 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The memory 550 described in this application embodiment is intended to include any suitable type of memory.
[0060] In some embodiments, memory 550 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.
[0061] Operating system 551 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic business functions and handling hardware-based tasks;
[0062] The network communication module 552 is used to reach other computing devices via one or more (wired or wireless) network interfaces 520, exemplary network interfaces 520 including: Bluetooth, WiFi, and Universal Serial Bus (USB), etc.
[0063] Presentation module 553 is configured to enable the presentation of information (e.g., a user interface for operating peripheral devices and displaying content and information) via one or more output devices 531 (e.g., a display screen, a speaker, etc.) associated with user interface 530;
[0064] In some embodiments, when the path planning task is completed independently by the terminal 400, the server 200 provided in this application embodiment may not include the presentation module 553.
[0065] The input processing module 554 is used to detect and translate one or more user inputs or interactions from one or more input devices 532; in some embodiments, when the terminal 400 independently completes the path planning task, the server 200 provided in this application embodiment may not include the presentation module 553.
[0066] In some embodiments, the apparatus provided in this application can be implemented in software. Figure 2 A path planning device 555 stored in memory 550 is shown. This device can be software in the form of programs and plug-ins, and includes the following software modules: a data acquisition module 5551, a data filtering module 5552, a data matching module 5553, and a path planning module 5554. These modules are logically connected and can therefore be arbitrarily combined or further separated according to the functions they implement. The functions of each module will be described below.
[0067] In other embodiments, the apparatus provided in this application can be implemented in hardware. As an example, the apparatus provided in this application can be a processor in the form of a hardware decoding processor, which is programmed to execute the path planning method provided in this application. For example, the processor in the form of a hardware decoding processor can be one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.
[0068] As mentioned above, the electronic device implementing the path planning method of this application embodiment can be a terminal, a server, or a combination of both. Therefore, the executing entity of each step will not be described again below. See [link to relevant documentation]. Figure 3A , Figure 3A This is a first flowchart illustrating the path planning method provided in this application embodiment, which will be combined with... Figure 3A The steps shown are explained.
[0069] In step 101, multiple first pose data of the vehicle at the entrance of the road and multiple second pose data of the vehicle at the exit of the road are obtained.
[0070] As an example, a road map is acquired, and a two-dimensional Cartesian coordinate system is established based on the road's geometric centerline. This established two-dimensional Cartesian coordinate system is then defined as the road coordinate system. At the road entrance, the vehicle is controlled to perform Brownian motion at a preset speed. Simultaneously, during this Brownian motion at the road entrance, the vehicle's first pose data in the road coordinate system is collected at a preset sampling frequency and a preset sampling duration, resulting in multiple first pose data. At the road exit, the vehicle is controlled to perform Brownian motion at a preset speed. Simultaneously, during this Brownian motion at the road exit, the vehicle's second pose data in the road coordinate system is collected at a preset sampling frequency and a preset sampling duration, resulting in multiple second pose data. Here, Brownian motion refers to a combination of random translation and random steering with a maximum steering amplitude of 30°.
[0071] For example, at the entrance to a curve (i.e., the entrance to the road), a 3-meter-wide and 3-meter-long area is defined. A vehicle is controlled to perform Brownian motion at a preset speed of 0.2 m / s. During this Brownian motion, the vehicle's first pose data is continuously collected at a preset sampling frequency of 10 Hz and a preset sampling duration of 30 seconds, resulting in 300 first pose data points. These 300 first pose data points can be represented as [(X... 11 ,Y 11 ,θ 11 ),(X 12 ,Y 12 ,θ 12 )…(X 1i ,Y 1i ,θ 1i )], i = 300, where X is the coordinate value of the vehicle in the horizontal axis of the road coordinate system, Y is the coordinate value of the vehicle in the vertical axis of the road coordinate system, and θ is the heading angle of the vehicle in the road coordinate system.
[0072] In step 102, based on the distribution of multiple first pose data on the road, at least one third pose data is obtained by filtering from the multiple first pose data, and based on the distribution of multiple second pose data on the road, at least one fourth pose data is obtained by filtering from the multiple second pose data.
[0073] As an example, based on the distribution of multiple first pose data in the road coordinate system, the multiple first pose data are filtered to obtain at least one third pose data, and based on the distribution of multiple second pose data in the road coordinate system, the multiple second pose data are filtered to obtain at least one fourth pose data.
[0074] In some embodiments, see Figure 3B , Figure 3BThis is a schematic diagram of the second process of the path planning method provided in the embodiments of this application. "Based on the distribution of multiple first pose data on the road, at least one third pose data is obtained by filtering from multiple first pose data" can be achieved by iteratively executing the following steps 1021 to 1023, which are described in detail below.
[0075] In step 1021, any first pose data is obtained from the set of the i-th iteration, and the distance threshold of the i-th iteration is determined based on the distribution of the first pose data on the road in the set of the i-th iteration and the arbitrary first pose data.
[0076] The set of the first iteration consists of multiple first pose data, where i is a positive integer that increases sequentially, 1≤i≤I, and I is a positive integer.
[0077] As an example, the first pose data of the vehicle at the road entrance is collected and determined as the set for the first iteration. Any first pose data is selected from the set for the first iteration, and the distance threshold for the first iteration is determined based on the distribution of the first pose data in the road coordinate system and the selected first pose data. Similarly, any first pose data is selected from the set for the i-th iteration, and the distance threshold for the i-th iteration is determined based on the distribution of the first pose data in the road coordinate system and the selected first pose data. In each iteration, the first pose data selected from the set is different.
[0078] For example, the five first pose data points P1, P2, P3, P4, and P5 collected from the vehicle at the road entrance are determined as the set for the first iteration, which can be represented as {P1, P2, P3, P4, P5}. Any first pose data point P1 is selected from the set for the first iteration, and the distance threshold for the first iteration is determined based on the distribution of the first pose data in the road coordinate system and the first pose data P1 contained in the set for the first iteration. When i equals 2, any first pose data P2 other than the first pose data P1 is selected from the set for the second iteration {P1, P2, P4, P5}, and the distance threshold for the second iteration is determined based on the distribution of the first pose data in the road coordinate system and the first pose data P2 contained in the set for the second iteration.
[0079] In some embodiments, "determining the distance threshold for the i-th iteration based on the distribution of the first pose data in the set of the i-th iteration on the road and any first pose data" can be achieved through the following process: based on the distribution of the first pose data in the set of the i-th iteration on the road, determine the first density of the first pose data contained in each unit area of the road; determine the area centered on any first pose data in the road, and calculate the second density of the first pose data contained in the area; based on the ratio between the second density and the maximum first density, adjust the preset distance threshold to obtain the distance threshold for the i-th iteration.
[0080] As an example, in the road coordinate system, the road is divided into multiple unit regions with the same area and shape. A unit region refers to the region corresponding to a regular grid cell formed by dividing the road according to a preset size. Based on the distribution of the first pose data contained in the set of the i-th iteration in the road coordinate system, the number of first pose data contained in each unit region is determined, and the ratio between the number of first pose data contained in each unit region and the area of the unit region is determined as the first density of the first pose data contained in each unit region. Taking any first pose data selected from the set of the i-th iteration as the center and a preset distance threshold as the radius, a region centered on any first pose data is determined in the road. Based on the distribution of the first pose data contained in the set of the i-th iteration in the road coordinate system, the number of first pose data contained in the region centered on any first pose data is determined, and the ratio between the number of first pose data contained in the region centered on any first pose data and the area of the region is determined as the second density. Using formula (1.1), based on the ratio between the second density and the maximum first density, the preset distance threshold is adjusted to obtain the distance threshold for the i-th iteration. Formula (1.1) is as follows:
[0081] R=R_base×(1+0.2*(1-point_density / peak_density)) (1.1)
[0082] Where R is the distance threshold of the i-th iteration, R_base is the preset distance threshold, point_density is the second density, and peak_density is the maximum first density.
[0083] In this embodiment, by dividing the road into regular unit regions and calculating the first density of the first pose data in each unit region, and calculating the second density of the local region for any first pose data, a refined description of the distribution characteristics of the first pose data is achieved. By introducing an adaptive adjustment formula (1.1) based on the ratio of the second density to the maximum first density, the distance threshold is dynamically optimized, which effectively improves the adaptability of the first pose data screening process to spatial distribution differences and provides a more reliable data foundation for subsequent path planning.
[0084] In some embodiments, "determining the distance threshold for the i-th iteration based on the distribution of the first pose data in the set of the i-th iteration on the road and any first pose data" can be achieved through the following process: determining the target unit region containing any first pose data in the road; determining the third density of the first pose data contained in the target unit region based on the distribution of the first pose data in the set of the i-th iteration on the road; when the third density is greater than the density threshold, determining the first preset value as the distance threshold; when the third density is less than or equal to the density threshold, determining the second preset value as the distance threshold.
[0085] The first preset value is greater than the second preset value.
[0086] As an example, in the road coordinate system, the road is divided into multiple unit regions with the same area and shape. From these unit regions, a target unit region containing any first pose data selected from the set of the i-th iteration is determined. The target unit region refers to the region corresponding to the regular grid cell containing the currently selected first pose data. Based on the distribution of the first pose data contained in the set of the i-th iteration in the road coordinate system, the number of first pose data contained in the target unit region is determined. The ratio between the number of first pose data contained in the target unit region and the area of the unit region is determined as the third density. When the third density is greater than the density threshold, the first preset value is determined as the distance threshold. When the third density is less than or equal to the density threshold, the second preset value is determined as the distance threshold. The density threshold can be a threshold preset by engineers or a threshold predicted by a neural network model used to predict the density threshold. No limitation is imposed here.
[0087] For example, when the third density is greater than the density threshold, it indicates that any first pose data selected from the set of the i-th iteration is located in the high-density region, and the first preset value of 0.8 can be determined as the distance threshold. When the third density is less than or equal to the density threshold, it indicates that any first pose data selected from the set of the i-th iteration is located in the low-density region, and the second preset value of 0.3 can be determined as the distance threshold.
[0088] In this embodiment, by dividing the road into regular unit regions and calculating the third density within the target unit region, a quantitative assessment of the distribution density of the first pose data in the local region is achieved. Based on the comparison result between the third density and the density threshold, a first preset value or a second preset value is adaptively selected as the distance threshold. Then, the distance threshold is dynamically adjusted according to the degree of aggregation of the first pose data. A larger first preset value is used as the distance threshold in low-density areas to reduce redundant first pose data, while a smaller second preset value is used as the distance threshold in high-density areas, so that the coverage of the first pose data is kept above 95%, which significantly improves the accuracy and adaptability of the first pose data screening and provides a more efficient and reliable data foundation for path planning.
[0089] In step 1022, from the set of the i-th iteration, delete the first pose data whose distance to any first pose data is less than the distance threshold, to obtain the set of the (i+1)-th iteration.
[0090] As an example, from the set of the i-th iteration, delete the first pose data whose distance to any first pose data is less than the distance threshold, and determine the set of the i-th iteration after deleting the above first pose data as the set of the (i+1)-th iteration.
[0091] Continuing from the previous example, the set for the first iteration can be represented as {P1, P2, P3, P4, P5}. Any first pose data P1 is selected from the set for the first iteration, and the first pose data P3 in the set for the first iteration that is less than a distance threshold from P1 is deleted. The set for the first iteration after deleting the first pose data P3 is determined as the set for the second iteration {P1, P2, P4, P5}. Any first pose data P5 is selected from the set for the second iteration, and the first pose data P4 in the set for the second iteration that is less than a distance threshold from P5 is deleted. The set for the second iteration after deleting the first pose data P4 is determined as the set for the third iteration {P1, P2, P5}.
[0092] In step 1023, at least one first pose data in the set of the (I+1)th iteration is determined as at least one third pose data.
[0093] As an example, when each first pose data contained in the set of the (I+1)th iteration is a first pose data selected from the set during the previous I iterations, at least one first pose data in the set of the (I+1)th iteration is determined as at least one third pose data.
[0094] In this embodiment, by iteratively processing the first pose data set, a distance threshold is dynamically determined based on the distribution characteristics of the current set in each iteration, and neighboring first pose data is deleted accordingly. Finally, representative third pose data is selected. By quantifying local density (e.g., first density, second density, or third density), differentiated processing can be achieved in regions with different distribution characteristics, which significantly improves the accuracy and adaptability of first pose data selection and provides a more efficient and reliable data foundation for subsequent path planning.
[0095] In some embodiments, "selecting at least one fourth pose data from multiple second pose data based on the distribution of multiple second pose data on the road" can be achieved by iteratively performing the following process: obtaining any second pose data from the set of the j-th iteration, and determining the distance threshold for the j-th iteration based on the distribution of the second pose data on the road in the set of the j-th iteration and the arbitrary second pose data; deleting second pose data whose distance from any second pose data is less than the distance threshold from the set of the j-th iteration, obtaining the set of the (j+1)-th iteration; and determining at least one second pose data in the set of the (j+1)-th iteration as at least one fourth pose data.
[0096] The first iteration set consists of multiple second pose data, where j is a positive integer that increments sequentially, 1≤j≤J, and J is a positive integer.
[0097] As an example, the specific implementation of filtering at least one fourth pose data from multiple second pose data can be found in steps 1021 to 1023 shown above, and will not be repeated here.
[0098] In step 103, at least one third pose data and at least one fourth pose data are paired to obtain at least one data pair.
[0099] One data pair includes a third pose data and a fourth pose data.
[0100] As an example, for each third pose data in at least one third pose data, when the turning angle between the third pose data and any fourth pose data selected from at least one fourth pose data is less than the turning angle threshold, and the curvature continuity detection of the candidate path connecting the third pose data and any fourth pose data passes, the third pose data and any fourth pose data are determined as a data pair.
[0101] Perform the above processing on each of the at least one third pose data to obtain at least one data pair.
[0102] In some embodiments, see Figure 3C , Figure 3C This is a schematic diagram of the third process of the path planning method provided in the embodiments of this application. Figure 3A Step 103 shown can be implemented by performing steps 1031 to 1033 for each of the at least one third pose data, as described in detail below.
[0103] In step 1031, when the turning angle between the third pose data and any fourth pose data is less than or equal to the turning angle threshold, a candidate path connecting the third pose data and any fourth pose data is constructed.
[0104] As an example, the angle between the heading angle of the third pose data and the heading angle of any fourth pose data is determined as the steering angle between the third pose data and any fourth pose data. When the steering angle between the third pose data and any fourth pose data is less than or equal to the steering angle threshold, a candidate path connecting the third pose data and any fourth pose data is constructed based on vehicle kinematic constraints. The steering angle threshold can be a threshold preset by engineers or a threshold predicted by a neural network model used to predict the steering angle threshold, and is not limited here.
[0105] For example, the third pose data can be characterized as (X in ,Y in ,θ in ), θ in The heading angle of the third pose data is used to represent the vehicle's orientation at the road entrance. Any fourth pose data can be represented as (X... oit ,Y out ,θ out ), θ out The heading angle of the fourth pose data is used to characterize the vehicle's orientation at the road exit. The heading angle θ of the third pose data is used instead. in and the heading angle θ of any fourth pose data out The angle between them |θ in -θ out |θ is defined as the steering angle between the third pose data and any fourth pose data. When the steering angle threshold is 90°, the steering angle between the third pose data and any fourth pose data satisfies |θ. in -θ out When |≤90°, construct a candidate path connecting the third pose data and any fourth pose data.
[0106] In step 1032, curvature continuity detection is performed on the candidate path to obtain the detection results.
[0107] In some embodiments, Figure 3CStep 1032 shown can be implemented through the following processing: obtaining the minimum turning radius set for the vehicle; when the absolute value of the curvature of each path point in the candidate path is less than or equal to the reciprocal of the minimum turning radius, and the radius of each turn in the candidate path is greater than or equal to the minimum turning radius, the detection is determined as a passing result; when the absolute value of the curvature of any path point in the candidate path is greater than the reciprocal of the minimum turning radius, or the radius of any turn in the candidate path is less than the minimum turning radius, the detection is determined as a failing result.
[0108] As an example, the minimum turning radius set for the vehicle is obtained. Based on the geometric parameters of the candidate path and the vehicle kinematic model, the absolute value of the curvature of each path point in the candidate path is determined. Based on the transformation relationship between the curvature of the path point and the turning radius, the radius of each turn in the candidate path is determined. Each path point in the candidate path can be a point obtained by uniformly sampling the candidate path.
[0109] If the absolute value of the curvature of each path point in the candidate path is less than or equal to the reciprocal of the minimum turning radius, and the radius of each turn in the candidate path is greater than or equal to the minimum turning radius, the detection is considered passed and determined as a detection result; if the absolute value of the curvature of any path point in the candidate path is greater than the reciprocal of the minimum turning radius, or the radius of any turn in the candidate path is less than the minimum turning radius, the detection is considered failed and determined as a detection result.
[0110] In this embodiment, by obtaining the minimum turning radius of the vehicle and calculating the absolute value of curvature of each path point and the radius of each turn based on the geometric parameters of the candidate path and the vehicle kinematic model, curvature continuity detection is performed on the candidate path. This further filters the pairings formed by the third pose data and the fourth pose data, retaining only pose combinations that meet the vehicle kinematic constraints. Thus, when generating an accurate path based on the path planning algorithm in the future, redundant calculations on invalid or infeasible pose pairs are avoided, effectively saving computing resources and improving the overall efficiency of path planning.
[0111] In step 1033, when the detection result is that the detection is passed, the third pose data and any fourth pose data are determined as a data pair.
[0112] As an example, when the turning angle between the third pose data and any fourth pose data is less than or equal to the turning angle threshold, and the curvature continuity detection result of the candidate path connecting the third pose data and any fourth pose data is a pass detection, the third pose data and any fourth pose data are determined as a data pair.
[0113] In this embodiment, by calculating the steering angle between the third pose data and the fourth pose data, and constructing candidate paths when the steering angle is less than or equal to a steering angle threshold, preliminary screening of the geometric feasibility of the path is achieved. Furthermore, by performing curvature continuity detection on the candidate paths, it is ensured that the absolute value of curvature at each path point is not greater than the reciprocal of the vehicle's minimum turning radius, and that each turning radius is not less than the minimum turning radius. This ensures that the candidate paths conform to the vehicle's kinematic constraints, effectively improving the reliability and safety of path planning, avoiding the generation of invalid paths, and providing high-quality data pairs for subsequent path execution.
[0114] In step 104, path planning is performed using the third pose data from at least one data pair as the starting pose and the fourth pose data as the target pose to obtain at least one test path for the vehicle.
[0115] As an example, based on the path planning algorithm, path planning is performed using the third pose data in at least one data pair as the starting pose and the fourth pose data as the target pose. In response to the successful execution of the path planning algorithm, at least one test path for the vehicle is obtained. The path planning algorithm can be the Hybrid A* algorithm, the RRT algorithm, or the Dijkstra algorithm, and is not limited here.
[0116] In some embodiments, Figure 3A After step 104 shown, the following processing can also be performed: as the vehicle travels along each test path, vehicle driving data is collected; based on the driving data, the vehicle's performance is evaluated to obtain the vehicle's performance evaluation result.
[0117] As an example, during the process of controlling the vehicle to traverse each test path, the vehicle's driving data is collected in real time. If the vehicle's lateral deviation exceeds a preset lateral deviation threshold, route replanning is triggered. If route replanning times out three consecutive times, this is recorded as abnormal driving behavior. If the vehicle's heading deviation exceeds a preset heading deviation threshold, the vehicle's speed is reduced to a preset speed. If the vehicle's positioning jump distance exceeds a preset positioning jump distance threshold, this is also recorded as abnormal driving behavior. Based on the vehicle's driving data and abnormal driving behaviors, the vehicle's performance is evaluated, yielding the vehicle's performance evaluation results.
[0118] In this embodiment, by collecting driving data in real time during the vehicle's journey along the test path and monitoring and responding to lateral deviation, heading deviation, and positioning jump distance, the system achieves refined monitoring of the vehicle's driving status. When the lateral deviation exceeds the limit, route replanning is triggered, and if three consecutive planning timeouts occur, it is recorded as abnormal behavior. When the heading deviation exceeds the limit, the system automatically reduces speed to improve stability. When the positioning jump distance exceeds the limit, it is also recorded as abnormal. Based on complete driving data and abnormal behavior records, the system can comprehensively and objectively evaluate vehicle performance, providing reliable data support for the optimization and verification of vehicle control algorithms, and significantly improving the automation level and evaluation accuracy of the testing process.
[0119] The following will describe an exemplary application of the embodiments of this application in a real-world autonomous driving turning capability test scenario.
[0120] Autonomous driving cornering capability testing is a crucial step in evaluating the path planning and control performance of autonomous driving systems in cornering scenarios. Currently, most tests for autonomous driving cornering capability rely on manual stress testing. This involves continuously adjusting the vehicle's trajectory and direction before entering the corner, observing its behavior during the turn, and manually judging the vehicle's cornering ability. This approach suffers from high labor costs, low testing efficiency, and difficulty in covering boundary scenarios. Furthermore, real-world applications involve diverse corner types, and comprehensively covering all types of cornering test scenarios would further increase labor costs. In addition, related technologies also face the following technical bottlenecks:
[0121] 1) Location redundancy: A large number of overlapping location points are collected at the entrance and exit of the curve, which leads to a surge in the amount of path planning calculations.
[0122] 2) Combination Explosion: When the entry and exit points are fully combined, the proportion of invalid paths (such as collisions or unreachable paths) is too high, which causes the combination explosion problem.
[0123] 3) Insufficient real-time performance: In dynamic environments, related technologies struggle to quickly select effective paths, resulting in a bottleneck due to insufficient real-time performance.
[0124] To address the problems existing in related technologies, this application embodiment pre-extracts the vehicle's pose information at the entrance and exit of a curve using a data acquisition module, and plans various turning trajectory curves based on the acquired pose information using a path planning module. Before the test begins, the navigation planning and control interface filters the entrance and exit pose combinations that conform to the turning trajectory curves, i.e., the effective combination of the curve entrance pose information and the curve exit pose information. During the navigation driving task, when the vehicle turns, it performs steering according to the pre-filtered entrance and exit pose combinations that conform to the turning trajectory curves. By using the turning results corresponding to different turning trajectory curves, the vehicle's turning behavior can be quickly verified. The path planning method provided by this application embodiment helps improve test accuracy and significantly reduces manual testing costs. When facing different scenarios, only the data acquisition module needs to be updated, greatly reducing manual testing costs and testing cycles. At the same time, this method also provides an important reference for evaluating the vehicle's turning ability.
[0125] The path planning method provided in this application includes the following modules:
[0126] Data Acquisition Module: The data acquisition module integrates a real-time dynamic differential global positioning system (RTK-GPS), an inertial measurement unit (IMU), and a wheel speedometer to output vehicle pose information with an accuracy of ±2cm.
[0127] Location filtering module: implemented based on the adaptive density clustering algorithm.
[0128] Path planning module: Employs an improved Hybrid A* algorithm and supports curvature continuity constraints.
[0129] Navigation execution module: Controls the vehicle's navigation through curves and verifies the vehicle's behavior when cornering.
[0130] See Figure 4 , Figure 4 This is a schematic diagram of the fourth process of the path planning method provided in the embodiments of this application. The following will be combined with... Figure 4 The steps shown illustrate the path planning method provided in the embodiments of this application.
[0131] Step 1: High-density location data acquisition.
[0132] A 3m×3m area is designated at the entrance (or exit) of the curve. The vehicle is controlled to perform Brownian motion (including random translation and rotation within ±30°) at a speed of 0.2m / s. The sampling frequency is set to 10Hz and the duration is 30 seconds to obtain approximately 300 sets of pose data. The pose acquisition scheme is as follows: First, a pre-constructed map is loaded, and the current pose information of the vehicle is obtained by calling the positioning module; then, the data is continuously collected at a sampling frequency of 10Hz for 30 seconds to obtain approximately 300 sets of pose data.
[0133] Specifically, within the curve entrance area (i.e., the road entrance mentioned above), the data acquisition module records multiple sets of real-time pose information output by the positioning module (i.e., the multiple first pose data mentioned above), which can be represented as [(X 11 ,Y 11 ,θ 11 ),(X 12 ,Y 12 ,θ 12 )…(X 1i ,Y 1i ,θ 1i )], and then remotely control the vehicle to the exit area of the curve (i.e., the exit of the road mentioned above). Similarly, the data acquisition module records multiple sets of real-time pose information output by the positioning module (i.e., multiple second pose data mentioned above), which can be represented as [(X 21 ,Y 21 ,θ 21 ),(X 22 ,Y 22 ,θ 22 )…(X 2i ,Y 2i ,θ 2i )], where X and Y represent the vehicle's position information, and θ represents the vehicle's orientation information.
[0134] Step 2, non-uniform density screening.
[0135] Within a designated area (including the curve entrance and exit areas), a pose information is randomly selected, and its corresponding location point is used as the starting point. The distance between this starting point and the corresponding location points of other pose information in the surrounding area is calculated. All pose information with a distance less than a set threshold (i.e., the distance threshold mentioned above) is discarded. Then, from the remaining pose information in the area, another pose information is randomly selected, and its corresponding location point is used as the new starting point. The above process is repeated until all pose information in the area has been processed. After this filtering, the pose information retained in the designated area can effectively reduce the computational load of subsequent path planning without losing feature positions.
[0136] The distance threshold R (i.e., the distance threshold of the i-th iteration mentioned above) can be determined using the distance threshold calculation formula (2.1) in the location filtering module. Formula (2.1) is as follows:
[0137] R=R_base×(1+0.2*(1-point_density / peak_density)) (2.1)
[0138] Where R_base is the initial threshold (the preset distance threshold), point_density is the current density (i.e., the second density mentioned above), and peak_density is the peak density (i.e., the maximum first density mentioned above).
[0139] Peak density (peak_density) refers to the maximum local density of points within a specified area, i.e., the highest number of points per unit area or volume. This density can be obtained by statistically analyzing the density of all local areas and taking the maximum value. Specifically, methods based on grids or radius neighborhoods can be used: for example, dividing the area into grids and calculating the number of points in each grid, taking the maximum value as the peak density; or calculating the number of points in a neighborhood of radius R_base for each point, and taking the maximum value among them as the peak density.
[0140] The current point density (point_density) represents the density of the local region surrounding the currently randomly selected point (i.e., any first pose data selected from the set of the i-th iteration mentioned above), for example, the total number of position points in the neighborhood with radius R_base or the number of position points per unit area.
[0141] For example, in high-density areas (location point density greater than 1 point / m) 2 The distance threshold can be 0.8 meters in low-density areas (location point density less than or equal to 0.5 points / m). 2 The distance threshold can be 0.3 meters. By dynamically adjusting the distance threshold, the number of location points can be reduced by 60% to 80% in low-density areas, while maintaining a location point coverage rate of more than 95% in high-density areas.
[0142] The above processing is performed on the curve entrance region and the curve exit region respectively to obtain multiple sets of pose information for the filtered curve entrance region (i.e., at least one third pose data mentioned above) and multiple sets of pose information for the filtered curve exit region (i.e., at least one fourth pose data mentioned above).
[0143] Step 3: Path combination filtering.
[0144] By invoking the local path planning module, one set of pose information from the multiple sets of pose information in the curve entrance region and one set from the multiple sets of pose information in the curve exit region are selected respectively to form a combined parameter. This combined parameter is then subjected to secondary filtering. The combined parameter that passes the secondary filtering (i.e., at least one data pair mentioned above) is used as input to the path planning module to obtain the path planning result. During the secondary filtering process, a collision detection fast failure mechanism is introduced to prioritize the verification of point pairs that are compatible with steering angles.
[0145] See Figure 5 , Figure 5 This is a schematic diagram of the fifth process of the path planning method provided in the embodiments of this application. The following will be combined with... Figure 5 The process of secondary screening for effective path entry and exit combinations is explained.
[0146] Step 501: Import the position and pose information of the curve entrance and exit, then proceed to step 502.
[0147] Import multiple sets of pose information from the filtered curve entrance region and multiple sets of pose information from the filtered curve exit region.
[0148] Step 502: Extract the path entry and exit combination, then proceed to step 503.
[0149] One pose is selected from multiple sets of pose information in the filtered curve entrance region as the path entrance point, and one pose is selected from multiple sets of pose information in the filtered curve exit region as the path exit point. The combination of the above path entrance point and the above path exit point is determined as the path entrance / exit combination.
[0150] Step 503: Determine whether the steering angle compatibility is satisfied. If yes, proceed to step 504; otherwise, proceed to step 502.
[0151] Step 504: Check if the curvature continuity is passed. If yes, proceed to step 505; otherwise, proceed to step 502.
[0152] Step 505, Hybrid A* planning, proceed to step 506.
[0153] The path entry and exit points are combined as input parameters to the path planning module, and the output of the path planning module is obtained (i.e., the test path mentioned above).
[0154] Step 506: Determine if the path planning was successful. If successful, proceed to step 507; otherwise, proceed to step 502.
[0155] Step 507: Add the path entry and exit combination to Valid_Pairs, then proceed to step 508.
[0156] Step 508: Determine whether the pose information of the curve entrance and exit has been traversed. If yes, the second filtering is completed. If not, proceed to step 502.
[0157] Repeat the above steps until all pose information in the multiple sets of pose information in the filtered curve entrance area or the multiple sets of pose information in the filtered curve exit area has been filtered. The result of the second filtering is Valid_Pairs (valid path entrance / exit combinations).
[0158] The discriminant for steering angle compatibility is: |θ_in-θ_out|≤90°, where θ_in is the orientation of the path entry point at the curve entrance (i.e., the heading angle of the third pose data mentioned above), and θ_out is the orientation of the path exit point at the curve exit (i.e., the heading angle of any fourth pose data mentioned above).
[0159] The constraint condition for passing the curvature continuity check is that the absolute value of the path curvature |κ| must not exceed the reciprocal of the vehicle's minimum turning radius, to ensure that the curvature of all points on the path satisfies the vehicle's kinematic constraints. At the same time, the path curvature is required to be continuous without abrupt changes, and the turning radius at any position on the path is not less than the vehicle's minimum turning radius, thereby avoiding sharp turns that the vehicle cannot perform.
[0160] The output of the route planning module includes both successful and unsuccessful planning results. Here, only the route entry / exit combinations that successfully plan a route are selected. The final valid route entry / exit combinations can be represented as: [[(X 11 ,Y 11 ,θ 11 ),(X 21 ,Y 21 ,θ 21 )],[(X 12 ,Y 12 ,θ 12 ),(X 22 ,Y 22 ,θ 22 )]……[(X 1i ,Y 1i ,θ 1i ),(X 2i ,Y 2i ,θ 2i )]).
[0161] Step 4: Navigation execution and anomaly detection.
[0162] At the start of the test, a set of valid path entrance / exit combinations (i.e., at least one data pair mentioned above) is randomly selected from the valid path planning module as the navigation target point. The vehicle initiates the navigation task at the path entrance, enters the path, completes the turning action, and finally arrives at the path exit position. This round of testing is considered successful. Then, the next set of data is randomly selected from the valid combinations for testing until all valid path entrance / exit combinations have been tested.
[0163] During the test, the vehicle's driving status was continuously monitored. If the absolute value of the lateral deviation |e_lat| was greater than 0.3 meters, route replanning was triggered. If the path planning time for three consecutive times exceeded 500 milliseconds, it was recorded as abnormal behavior. If the absolute value of the heading deviation |e_θ| exceeded 15°, the vehicle speed was reduced to 0.1 meters per second. If the positioning change was greater than 5 centimeters, it was also recorded as abnormal behavior.
[0164] See Figure 6 , Figure 6 This is a schematic diagram of the sixth process of the path planning method provided in the embodiments of this application. The following will be combined with... Figure 6 The process of navigation execution and anomaly detection is explained.
[0165] Step 601: Import the valid path entry / exit combinations filtered by the path planning module, and proceed to step 602.
[0166] Step 602: Randomly select a set of path entrance / exit combinations from the valid path entrance / exit combinations as the navigation target point, and proceed to step 603.
[0167] Step 603: Navigate to the path entry point in the target location, then proceed to step 604.
[0168] Step 604: Navigate through the curve, then proceed to step 605.
[0169] Step 605: Determine if navigation is successful. If successful, proceed to step 606; otherwise, terminate the test.
[0170] Step 606: Determine whether the valid path entry and exit combination has been traversed. If yes, the test terminates; otherwise, proceed to step 602.
[0171] The path planning method provided in this application generates a combination of pose information based on the collected path entry and exit pose information. This method can cover test scenarios that are difficult to cover manually, significantly reducing testing difficulty. It is suitable for stress testing in various scenarios, effectively freeing up testing manpower and reducing manual testing costs. Based on the path planning algorithm in this application, the computational complexity of planning can be reduced, and the number of tests required can be decreased. Therefore, the path planning method provided in this application has the following beneficial effects:
[0172] 1) Computational efficiency: In a complex curved road environment of 100 square meters, the time complexity of the planning algorithm is reduced from O(n^2) to O(n^2). 2 Reduced to O(nlog) n ).
[0173] 2) Reliability: Through a multi-level screening mechanism, the effective path detection rate is increased by more than 50%.
[0174] 3) Scalability: Supports collaboration with high-precision map matching modules to achieve centimeter-level accuracy in curve trajectory tracking.
[0175] The following description continues to illustrate the exemplary structure of the path planning device 555 provided in the embodiments of this application as a software module. In some embodiments, such as Figure 2 As shown, the software module stored in the path planning device 555 of the memory 550 may include:
[0176] The data acquisition module 5551 is used to acquire multiple first pose data of the vehicle at the entrance of the road and multiple second pose data of the vehicle at the exit of the road.
[0177] The data filtering module 5552 is used to filter at least one third pose data from the plurality of first pose data based on the distribution of the plurality of first pose data on the road, and to filter at least one fourth pose data from the plurality of second pose data based on the distribution of the plurality of second pose data on the road.
[0178] The data pairing module 5553 is used to pair the at least one third pose data and the at least one fourth pose data to obtain at least one data pair, wherein one data pair includes one third pose data and one fourth pose data.
[0179] The path planning module 5554 is used to perform path planning with the third pose data in the at least one data pair as the starting pose and the fourth pose data as the target pose, so as to obtain at least one test path for the vehicle.
[0180] In some embodiments, the data filtering module 5552 is further configured to iteratively perform the following processes: obtain any first pose data from the set of the i-th iteration, and determine the distance threshold of the i-th iteration based on the distribution of the first pose data in the set of the i-th iteration on the road and any first pose data, wherein the set of the first iteration is composed of the plurality of first pose data, i is a positive integer that increases sequentially, 1≤i≤I, and I is a positive integer; delete the first pose data whose distance from any first pose data is less than the distance threshold from the set of the i-th iteration, to obtain the set of the (i+1)-th iteration; determine at least one first pose data in the set of the (i+1)-th iteration as the at least one third pose data.
[0181] In some embodiments, the data filtering module 5552 is further configured to: determine a first density of the first pose data contained in each unit area of the road based on the distribution of the first pose data in the set of the i-th iteration in the road; determine a region centered on any first pose data in the road and calculate a second density of the first pose data contained in the region; and adjust a preset distance threshold based on the ratio between the second density and the maximum first density to obtain the distance threshold of the i-th iteration.
[0182] In some embodiments, the data filtering module 5552 is further configured to determine a target unit region in the road that contains any of the first pose data; based on the distribution of the first pose data in the set of the i-th iteration in the road, determine a third density of the first pose data contained in the target unit region; when the third density is greater than a density threshold, determine a first preset value as the distance threshold; when the third density is less than or equal to the density threshold, determine a second preset value as the distance threshold, wherein the first preset value is greater than the second preset value.
[0183] In some embodiments, the data pairing module 5553 is further configured to perform the following processing for each of the at least one third pose data: when the turning angle between the third pose data and any of the fourth pose data is less than or equal to a turning angle threshold, construct a candidate path connecting the third pose data and any of the fourth pose data; perform curvature continuity detection on the candidate path to obtain a detection result; when the detection result is a pass, determine the third pose data and any of the fourth pose data as the data pair.
[0184] In some embodiments, the data pairing module 5553 is further configured to obtain the minimum turning radius set for the vehicle; when the absolute value of the curvature of each path point in the candidate path is less than or equal to the reciprocal of the minimum turning radius, and the radius of each turn in the candidate path is greater than or equal to the minimum turning radius, the detection is determined as a pass; when the absolute value of the curvature of any path point in the candidate path is greater than the reciprocal of the minimum turning radius, or the radius of any turn in the candidate path is less than the minimum turning radius, the detection is determined as a fail.
[0185] In some embodiments, the data acquisition module 5551 is further configured to collect driving data of the vehicle as the vehicle passes through the road along each of the test paths; and to evaluate the performance of the vehicle based on the driving data to obtain a performance evaluation result of the vehicle.
[0186] This application provides a computer program product, which includes a computer program or computer-executable instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer-executable instructions or computer program from the computer-readable storage medium and executes the computer-executable instructions or computer program, causing the electronic device to perform the path planning method described above in this application.
[0187] This application provides a computer-readable storage medium storing computer-executable instructions or computer programs. When the computer-executable instructions or computer programs are executed by a processor, the processor will execute the path planning method provided in this application.
[0188] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.
[0189] In some embodiments, computer-executable instructions may take the form of programs, software, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.
[0190] As an example, computer-executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple co-located files (e.g., files that store one or more modules, subroutines, or code sections).
[0191] As an example, computer-executable instructions can be deployed to execute on a single electronic device, or on multiple electronic devices located at one location, or on multiple electronic devices distributed across multiple locations and interconnected via a communication network.
[0192] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.
Claims
1. A path planning method, characterized in that, The method includes: Acquire multiple first pose data of the vehicle at the entrance of the road, and acquire multiple second pose data of the vehicle at the exit of the road; The following processing is performed iteratively: Any first pose data is obtained from the set of the i-th iteration, and based on the distribution of the first pose data in the set of the i-th iteration on the road and any first pose data, a distance threshold for the i-th iteration is determined, wherein the set of the first iteration consists of the plurality of first pose data, i is a positive integer that increments sequentially, 1≤i≤I, and I is a positive integer; from the set of the i-th iteration, first pose data whose distance to any first pose data is less than the distance threshold is deleted, resulting in the set of the (i+1)-th iteration; at least one first pose data in the (i+1)-th iteration set is determined as at least one third pose data. Based on the distribution of the plurality of second pose data on the road, at least one fourth pose data is obtained by filtering from the plurality of second pose data; For each of the at least one third pose data, the following processing is performed: when the turning angle between the third pose data and any of the fourth pose data is less than or equal to a turning angle threshold, a candidate path connecting the third pose data and any of the fourth pose data is constructed; curvature continuity detection is performed on the candidate path to obtain a detection result; when the detection result is a pass, the third pose data and any of the fourth pose data are determined as a data pair; Path planning is performed using the third pose data from at least one of the data pairs as the starting pose and the fourth pose data as the target pose to obtain at least one test path for the vehicle.
2. The method according to claim 1, characterized in that, The determination of the distance threshold for the i-th iteration based on the distribution of the first pose data in the set of the i-th iteration on the road and any first pose data includes: Based on the distribution of the first pose data in the set of the i-th iteration in the road, determine the first density of the first pose data contained in each unit area of the road; In the road, a region centered on any of the first pose data is determined, and a second density of the first pose data contained in the region is calculated; Based on the ratio between the second density and the maximum first density, the preset distance threshold is adjusted to obtain the distance threshold for the i-th iteration.
3. The method according to claim 1, characterized in that, The determination of the distance threshold for the i-th iteration based on the distribution of the first pose data in the set of the i-th iteration on the road and any first pose data includes: Determine the target unit region in the road that contains any of the first pose data; Based on the distribution of the first pose data in the set of the i-th iteration on the road, the third density of the first pose data contained in the target unit area is determined; When the third density is greater than the density threshold, the first preset value is determined as the distance threshold; When the third density is less than or equal to the density threshold, the second preset value is determined as the distance threshold, wherein the first preset value is greater than the second preset value.
4. The method according to claim 1, characterized in that, The curvature continuity detection of the candidate path, to obtain the detection result, includes: Obtain the minimum turning radius set for the vehicle; If the absolute value of the curvature of each path point in the candidate path is less than or equal to the reciprocal of the minimum turning radius, and the radius of each turn in the candidate path is greater than or equal to the minimum turning radius, the detection is passed and determined as the detection result. If the absolute value of the curvature of any point on the candidate path is greater than the reciprocal of the minimum turning radius, or if the radius of any turn on the candidate path is less than the minimum turning radius, the detection failure is determined as the detection result.
5. The method according to claim 1, characterized in that, After performing path planning using the third pose data from at least one of the data pairs as the starting pose and the fourth pose data as the target pose to obtain at least one test path for the vehicle, the method further includes: As the vehicle travels along each of the test paths through the road, driving data of the vehicle is collected; Based on the driving data, the performance of the vehicle is evaluated to obtain the performance evaluation result of the vehicle.
6. A path planning device, characterized in that, The device includes: The data acquisition module is used to acquire multiple first pose data of the vehicle at the entrance of the road and multiple second pose data of the vehicle at the exit of the road. The data filtering module is used to iteratively perform the following processes: obtaining any first pose data from the set of the i-th iteration, and determining the distance threshold for the i-th iteration based on the distribution of the first pose data in the set of the i-th iteration on the road and any first pose data, wherein the set of the first iteration consists of the plurality of first pose data, i is a positive integer that increments sequentially, 1≤i≤I, and I is a positive integer; deleting first pose data whose distance to any first pose data is less than the distance threshold from the set of the i-th iteration, obtaining the set of the (i+1)-th iteration; and determining at least one first pose data in the (i+1)-th iteration set as at least one third pose data. The data filtering module is also used to filter at least one fourth pose data from the plurality of second pose data based on the distribution of the plurality of second pose data on the road. The data pairing module is configured to perform the following processing for each of the at least one third pose data: when the turning angle between the third pose data and any of the fourth pose data is less than or equal to a turning angle threshold, construct a candidate path connecting the third pose data and any of the fourth pose data; perform curvature continuity detection on the candidate path to obtain a detection result; when the detection result is a pass, determine the third pose data and any of the fourth pose data as a data pair; The path planning module is used to perform path planning with the third pose data in at least one of the data pairs as the starting pose and the fourth pose data as the target pose, so as to obtain at least one test path for the vehicle.
7. An electronic device, characterized in that, The electronic device includes: Memory is used to store executable instructions or computer programs. A processor, when executing computer-executable instructions or computer programs stored in the memory, implements the path planning method according to any one of claims 1 to 5.
8. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that, When the computer-executable instructions or computer program are executed by a processor, they implement the path planning method according to any one of claims 1 to 5.
9. A computer program product comprising computer-executable instructions or a computer program, characterized in that, When the computer-executable instructions or computer program are executed by a processor, they implement the path planning method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Vehicle positioning method and device, electronic equipment and computer readable storage medium
CN112284400A
Driverless vehicle drive-by-wire performance detection method
CN118092372A
