A high-efficiency probability map generation method and system for intended functional safety
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SUN YAT SEN UNIV
- Filing Date
- 2023-06-30
- Publication Date
- 2026-08-07
AI Technical Summary
[0006]本发明提供了一种面向预期功能安全的高效概率地图生成方法及系统,解决的技术问题是,传统基于预期功能安全的地图生成方法无法综合评估其计算量、数据处理复杂性、实时性和环境复杂性等因素,降低了自动驾驶的安全性
[0049] This invention provides an efficient probabilistic map generation method and system for expected functional safety. The method encapsulates positioning uncertainty and the grid occupancy probability of each grid cell in the global grid map into an algorithm container. This container is then used to obtain the grid occupancy probability of a local grid map through parallel computation using the Thrust template library and multi-threading. Finally, each grid cell in the initialized local grid map is assigned a value based on this probability to obtain the final local grid map. Compared to existing technologies, this method, based on containerization encapsulation technology and utilizing the high-performance parallel computing Thrust template library and multi-threading, achieves parallel accelerated computation to generate local grid maps that consider positioning uncertainty in real time. This significantly reduces computation time costs and makes data transfer and interaction between devices more efficient, reducing data interaction time.
Smart Images

Figure CN116878523B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of autonomous driving technology, and in particular to an efficient probabilistic map generation method and system for intended functional safety. Background Technology
[0002] With the development of autonomous driving technology, the reliability and safety of autonomous vehicles have received increasing attention. Among them, Safety of the Intended Functionality (SOTIF) is an indispensable part of ensuring the safety design of autonomous vehicles. SOTIF refers to "the absence of unreasonable risks caused by insufficient expected functions or foreseeable human misuse". In terms of SOTIF, the uncertainty of autonomous vehicle positioning caused by complex environmental factors has become a key focus of current autonomous driving safety concerns.
[0003] Currently, in terms of anticipated functional safety, traditional methods for analyzing autonomous driving safety include modeling and analysis methods for the anticipated functional safety trigger conditions of autonomous driving perception systems, road risk map generation methods and systems based on safety potential fields, and high-precision map generation methods and electronic devices based on 3D point clouds. However, these methods have the following drawbacks:
[0004] (1) In the practice of expected functional safety, traditional autonomous driving technology analysis methods do not fully consider the uncertainty factors of the environment. They only assume that the information obtained from the positioning system is correct, without fully considering the error of the positioning information, which leads to errors in the information in the map and reduces the accuracy of map generation.
[0005] (2) Map generation based on 3D point clouds usually requires a lot of computation and cannot meet the requirements of real-time map updates. Therefore, although map generation based on 3D point clouds can achieve high-precision maps, under the consideration of expected functional safety, this method ignores the comprehensive evaluation of its computational load, data processing complexity and real-time performance, and cannot ensure that the system can generate maps within a reasonable time range, resulting in an inability to adapt to environmental changes. In addition, since environmental detection cannot provide real location information, for expected functional safety, other auxiliary positioning or sensor data need to be considered to improve the accuracy and reliability of the map. Summary of the Invention
[0006] This invention provides an efficient probabilistic map generation method and system for expected functional safety. The technical problem it solves is that traditional map generation methods based on expected functional safety cannot comprehensively evaluate factors such as computational load, data processing complexity, real-time performance, and environmental complexity, which reduces the safety of autonomous driving.
[0007] To address the above technical problems, this invention provides a method and system for generating efficient probabilistic maps with expected functional safety.
[0008] In a first aspect, the present invention provides an efficient probabilistic map generation method for expected functional safety, the method comprising the following steps:
[0009] The pre-acquired offline map is rasterized to obtain a global raster map and a local raster map of the area surrounding the autonomous vehicle, and the local raster map is initialized.
[0010] Calculate the vehicle's own positioning uncertainty, and encapsulate the positioning uncertainty and the grid occupancy probability of each grid in the global grid map into an algorithm container;
[0011] Based on the algorithm container, the confidence ellipse parameters are obtained through parallel computation using the Thrust template library;
[0012] Extract the confidence ellipse parameters, and perform multi-threaded parallel loop calculations on the confidence ellipse parameters and the grid occupancy probability to obtain a local grid map grid occupancy probability array;
[0013] Decapsulate the local grid map grid occupancy probability array to obtain the local grid map grid occupancy probability;
[0014] The initial local grid map is assigned a value to each grid cell based on the grid occupancy probability of the local grid map to obtain the final local grid map.
[0015] In a further implementation, the step of obtaining the confidence ellipse parameters in parallel using the Thrust template library based on the algorithm container includes:
[0016] Based on the positioning uncertainty, the local covariance matrix of the initialized local grid map is obtained;
[0017] Based on the coordinate transformation relationship between the global coordinate system and the vehicle local coordinate system, the global covariance matrix is calculated using the local covariance matrix of the local grid map.
[0018] The confidence ellipse parameters are obtained through parallel computation using the Thrust template library based on the global covariance matrix.
[0019] In a further implementation, the formula for calculating the global covariance matrix is:
[0020]
[0021] in,
[0022]
[0023]
[0024]
[0025] In the formula, Σ i This represents the global covariance matrix of the i-th grid in the vehicle's global coordinate system; (σ x , σ y , σ θ This indicates the uncertainty of the vehicle's own positioning; This represents the vehicle's yaw angle in the global coordinate system; This represents the coordinates of the i-th cell in the x-direction within the initialized local raster map; This represents the coordinates of the i-th grid cell in the y-direction within the initialized local grid map.
[0026] In a further embodiment, the confidence ellipse parameters include the semi-major axis, semi-minor axis, and deflection angle of the confidence ellipse, and the calculation formula for the confidence ellipse parameters is as follows:
[0027]
[0028]
[0029]
[0030] In the formula, a represents the semi-major axis of the confidence ellipse; b represents the semi-minor axis of the confidence ellipse; α represents the deflection angle of the confidence ellipse; λ1 and λ2 represent the two eigenvalues of the global covariance matrix in two-dimensional space; v1(x) and v1(y) represent the eigenvectors corresponding to the largest eigenvalues of the global covariance matrix in the x and y directions, respectively.
[0031] In a further implementation, the step of calculating the occupancy probability of the local raster map grid is as follows:
[0032] Based on the confidence ellipse parameters and the vehicle center position, the grid inside the confidence ellipse on the global grid map is obtained;
[0033] The grid occupancy probability of the local grid map is obtained by weighted averaging the grid occupancy probabilities of the grid cells inside the confidence ellipse.
[0034] In a further implementation, the formula for calculating the occupancy probability of the local raster map grid is:
[0035]
[0036] In the formula, This indicates the probability of a local raster map cell being occupied. f represents the i-th cell in the initialized local raster map; j F represents the Gaussian distribution probability of the j-th grid cell occupying the confidence ellipse generated by the i-th grid cell; j E represents the probability of the j-th cell being occupied in a global raster map; i (a,b,α) represents the confidence ellipse parameters of the i-th grid cell within the confidence ellipse.
[0037] Secondly, the present invention provides an efficient probabilistic map generation system for expected functional safety, the system comprising a data interaction processing module and a map module, a positioning system and a parallel acceleration module connected to the data interaction processing module.
[0038] The map module is used to rasterize the pre-acquired offline map to obtain a global raster map and a local raster map of the area surrounding the autonomous vehicle, and to initialize the local raster map.
[0039] The positioning system is used to calculate the vehicle's own positioning uncertainty and send the positioning uncertainty to the data interaction processing module;
[0040] The data interaction processing module is used to encapsulate the received positioning uncertainty and the grid occupancy probability of each grid in the global grid map into an algorithm container, and send the encapsulated algorithm container to the parallel acceleration module; and to decapsulate the local grid map grid occupancy probability array calculated by the parallel acceleration module to obtain the local grid map grid occupancy probability.
[0041] The parallel acceleration module is used to obtain confidence ellipse parameters through parallel calculation using the Thrust template library based on the algorithm container, and store the confidence ellipse parameters in the data interaction processing module; and to perform multi-threaded parallel loop calculation on the confidence ellipse parameters and the grid occupancy probability extracted from the data interaction processing module to obtain a local grid map grid occupancy probability array.
[0042] The map module is further configured to assign a value to each grid cell in the initialized local grid map according to the grid occupancy probability of the local grid map, so as to obtain the final local grid map.
[0043] In a further implementation, the step of obtaining the confidence ellipse parameters in parallel using the Thrust template library based on the algorithm container specifically involves:
[0044] Based on the positioning uncertainty, the local covariance matrix of the initialized local grid map is obtained;
[0045] Based on the coordinate transformation relationship between the global coordinate system and the vehicle local coordinate system, the global covariance matrix is calculated using the local covariance matrix of the local grid map.
[0046] The confidence ellipse parameters are obtained through parallel computation using the Thrust template library based on the global covariance matrix.
[0047] In addition, in a third aspect, the present invention also provides a computer device, including a processor and a memory, the processor being connected to the memory, the memory being used to store a computer program, and the processor being used to execute the computer program stored in the memory, so that the computer device performs the steps of implementing the above-described method.
[0048] Fourthly, the present invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the above-described method.
[0049] This invention provides an efficient probabilistic map generation method and system for expected functional safety. The method encapsulates positioning uncertainty and the grid occupancy probability of each grid cell in the global grid map into an algorithm container. This container is then used to obtain the grid occupancy probability of a local grid map through parallel computation using the Thrust template library and multi-threading. Finally, each grid cell in the initialized local grid map is assigned a value based on this probability to obtain the final local grid map. Compared to existing technologies, this method, based on containerization encapsulation technology and utilizing the high-performance parallel computing Thrust template library and multi-threading, achieves parallel accelerated computation to generate local grid maps that consider positioning uncertainty in real time. This significantly reduces computation time costs and makes data transfer and interaction between devices more efficient, reducing data interaction time. Attached Figure Description
[0050] Figure 1 This is a schematic diagram of the efficient probabilistic map generation method for expected functional safety provided in an embodiment of the present invention;
[0051] Figure 2 This is an example diagram of an offline map provided in an embodiment of the present invention;
[0052] Figure 3 This is an example image of an offline map being rasterized into a global raster map, provided in an embodiment of the present invention.
[0053] Figure 4 This is a schematic diagram of parallel computing of the Thrust template library provided in an embodiment of the present invention;
[0054] Figure 5 This is a schematic diagram of the local raster map after propagation provided in an embodiment of the present invention;
[0055] Figure 6 This is a schematic diagram of the efficient probabilistic map generation framework structure for expected functional safety provided in an embodiment of the present invention;
[0056] Figure 7 This is a block diagram of an efficient probabilistic map generation system for expected functional safety provided in an embodiment of the present invention;
[0057] Figure 8 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present invention. Detailed Implementation
[0058] The embodiments of the present invention are described in detail below with reference to the accompanying drawings. The embodiments are given for illustrative purposes only and should not be construed as limiting the present invention. The accompanying drawings are for reference and illustration only and do not constitute a limitation on the scope of patent protection of the present invention, because many changes can be made to the present invention without departing from the spirit and scope of the present invention.
[0059] refer to Figure 1 This invention provides an efficient probabilistic map generation method for expected functional safety, such as... Figure 1 As shown, the method includes the following steps:
[0060] S1. Rasterize the pre-acquired offline map to obtain a global raster map and a local raster map of the area surrounding the autonomous vehicle, and initialize the local raster map.
[0061] In this embodiment, after obtaining the offline map of the road, the offline map is rasterized into a global raster map, and the occupancy probability of each cell in the global raster map is determined, such as... Figure 2 , 3 As shown, the global raster map is a black and white binary image. In this embodiment, P is used in the global raster map. i = {0,1} to represent the occupancy probability, where the occupancy probability P i =0 indicates that the i-th grid cell is a passable area, with an occupation probability P. i =1 indicates that the i-th grid cell is an area outside the road or an obstacle.
[0062] S2. Calculate the vehicle's own positioning uncertainty, and encapsulate the positioning uncertainty and the grid occupancy probability of each grid in the global grid map into an algorithm container.
[0063] S3. Based on the algorithm container, the confidence ellipse parameters are obtained through parallel computation using the Thrust template library.
[0064] In this embodiment, the step of obtaining the confidence ellipse parameters in parallel using the Thrust template library based on the algorithm container includes:
[0065] Based on the positioning uncertainty, the local covariance matrix of the initialized local grid map is obtained;
[0066] Based on the coordinate transformation relationship between the global coordinate system and the vehicle local coordinate system, the global covariance matrix is calculated using the local covariance matrix of the local grid map.
[0067] The confidence ellipse parameters are obtained through parallel computation using the Thrust template library based on the global covariance matrix.
[0068] Specifically, in order to establish a frame in a raster map, this embodiment establishes a frame in the global raster map M. G The initial local grid map M where the vehicle is located V Based on this, a global coordinate system C is defined. G and vehicle local coordinate system C V and set This represents the position coordinates of the i-th grid cell in the global coordinate system; This represents the position coordinates of the i-th grid in the vehicle's local coordinate system. Then, based on the coordinate transformation relationship between the global coordinate system and the vehicle's local coordinate system, the global covariance matrix of the i-th grid in the vehicle's global coordinate system is calculated using the error propagation between the two systems. The formula for calculating the global covariance matrix is as follows:
[0069]
[0070] in,
[0071]
[0072]
[0073] In the formula, Σ i T represents the global covariance matrix of the i-th grid in the vehicle's global coordinate system; f δ represents the coordinate transformation matrix between the global coordinate system and the vehicle's local coordinate system; δ denotes the partial derivative. Represents the Jacobian matrix; T denotes the transpose symbol; Represents the vehicle pose in the global coordinate system; Q V Represents the current pose of the vehicle in the global coordinate system. The covariance matrix; This represents the position coordinates of the i-th grid cell in the global coordinate system; This represents the position coordinates of the i-th grid cell in the vehicle's local coordinate system; This represents the vehicle's position coordinates in the global coordinate system; This represents the vehicle's yaw angle in the global coordinate system.
[0074] It should be noted that, due to the position of the i-th grid in the vehicle's local coordinate system It is known, and the vehicle's local coordinate system C V The origin is located at the center of the vehicle; therefore, the position of each grid cell in the global coordinate system... The uncertainty comes from the vehicle position coordinates in the global coordinate system. Due to the uncertainty of the Jacobian matrix, the transpose of the Jacobian matrix can be expressed as follows:
[0075]
[0076] Therefore, the relationship between the local covariance matrix and the vehicle's own positioning uncertainty can be derived:
[0077]
[0078] Among them, process quantities p i The calculation formula is as follows:
[0079]
[0080]
[0081]
[0082]
[0083] In the formula, Σ i This represents the global covariance matrix of the i-th grid in the vehicle's global coordinate system; (σ x , σ y , σ θ ) indicates the uncertainty in the vehicle's own positioning; θ V G This represents the vehicle's yaw angle in the global coordinate system; This represents the coordinates of the i-th cell in the x-direction within the initialized local raster map; This represents the coordinates of the i-th grid cell in the y-direction within the initialized local grid map.
[0084] It should be noted that, since the raster location information obtained after rasterizing the offline map in this embodiment is mainly stored on the CPU and host, the location information of each raster needs to be copied from the host to the GPU device using a copy construction method. Considering that the data structure of the raster map is different from the data structure or compilation environment used in parallel computing, namely, Thrust's underlying implementation is based on NVIDIA CUDA technology, and CUDA is also a language with its own compiler, it is necessary to distinguish between C++ and CUDA languages when using it. Therefore, this embodiment needs to encapsulate the data into the corresponding algorithm container for use. That is, the raster location information (the raster occupancy probability of each raster in the global raster map) and the positioning uncertainty calculated by the positioning system (the positioning uncertainty includes the offset of the vehicle position and the offset of the heading angle) are encapsulated together into the Thrust device container for subsequent use by the Thrust device container.
[0085] In this embodiment, the i-th grid is calculated using the above formula. The global covariance matrix is used to calculate the 95% confidence ellipse parameters. In this embodiment, the confidence ellipse parameters include the semi-major axis a, the semi-minor axis b, and the deflection angle α of the confidence ellipse. This embodiment uses E0... i (a,b,α) represents the confidence ellipse parameters, and the formula for calculating the confidence ellipse parameters is as follows:
[0086]
[0087]
[0088]
[0089] In the formula, a represents the semi-major axis of the confidence ellipse; b represents the semi-minor axis of the confidence ellipse; α represents the deflection angle of the confidence ellipse; λ1 and λ2 represent the two eigenvalues of the global covariance matrix in two-dimensional space; v1(x) and v1(y) represent the eigenvectors corresponding to the largest eigenvalues of the global covariance matrix in the x and y directions, respectively.
[0090] like Figure 4 As shown, this embodiment utilizes the Thrust template library, which fully leverages the computing power of the GPU and makes it easier to convert existing single-threaded code into parallel code, thereby accelerating computation. With GPU support, this embodiment changes the cyclic data processing process through parallel computing, enabling the rapid calculation of the confidence ellipse parameters E of all raster cells in the local map. i (a,b,α), thus significantly reducing computation time costs.
[0091] S4. Extract the confidence ellipse parameters, and perform multi-threaded parallel loop calculations on the confidence ellipse parameters and the grid occupancy probability to obtain a local grid map grid occupancy probability array.
[0092] Specifically, since the computational methods available on the device are relatively limited, they cannot meet the requirements of subsequent raster calculations within the confidence ellipse. OpenMP (Open Multi-Processing) is a programming model oriented towards shared memory multiprocessors. It uses preprocessor instructions to create and synchronize threads and provides runtime library functions to control the number of threads, thread affinity, etc., thereby enabling parallel computation by multiple threads. Therefore, this embodiment uses multi-threaded computation through OpenMP parallel programming to divide the confidence ellipse parameters into multiple data segments. Based on the specified number of threads created by OpenMP, the data is simultaneously fed into these threads for traversal calculation, thereby realizing a parallel loop based on OpenMP. The iterative tasks in the loop are distributed to multiple threads for execution, avoiding serial data transmission and improving computational efficiency. Finally, the calculated occupancy probability value is fed back to the initialized local raster map to realize the local raster propagation process. This embodiment uses a combination of parallel computing and multi-threaded computing to greatly improve the computational efficiency of the program.
[0093] This embodiment utilizes CPU multithreading in OpenMP parallel programming to perform multithreaded parallel cyclic calculations on the confidence ellipse parameters and the grid occupancy probability. It should be noted that since there is no buffer in the interaction between memory and GPU, simple serial data transmission would incur significant time costs. Therefore, this embodiment transmits the confidence ellipse parameters to the data interaction module for storage, and then retrieves the stored confidence ellipse parameters from the data interaction module for multithreaded calculation in OpenMP parallel programming. This allows the GPU and CPU to have separate modules for data transfer and copying, improving the data interaction rate between computing devices and thus reducing data interaction time.
[0094] S5. Decapsulate the local grid map grid occupancy probability array to obtain the local grid map grid occupancy probability.
[0095] This embodiment calculates the grid points inside the ellipse on the grid map based on the calculated confidence ellipse parameters and the vehicle center position. It then performs a weighted average of the values of these grid points to obtain a weighted average, which is the occupancy probability of the current grid cell. This average is used as the local grid map grid occupancy probability. After propagation, the grid map appears as follows: Figure 5 As shown, the formula for calculating the occupancy probability of a local raster map grid is:
[0096]
[0097] In the formula, This indicates the probability of a local raster map cell being occupied. f represents the i-th cell in the initialized local raster map; j F represents the Gaussian distribution probability of the j-th grid cell occupying the confidence ellipse generated by the i-th grid cell; j E represents the global initial occupancy probability; i (a,b,α) represents the confidence ellipse parameters of the i-th grid cell within the confidence ellipse.
[0098] S6. Assign values to each grid cell in the initialized local grid map according to the grid occupancy probability of the local grid map to obtain the final local grid map.
[0099] For ease of understanding, in a specific embodiment, this embodiment provides a concrete implementation framework diagram of an efficient probabilistic map generation method for expected functional safety, as shown below. Figure 6 As shown, the map module rasterizes the offline map and transmits the rasterized offline map to the data interaction processing module. The data interaction processing module then encapsulates the positioning uncertainty and occupancy probability calculated by the positioning system based on the collected positioning data into a Thrust device-side container. This Thrust device-side container is then transmitted to the Thrust template library in the parallel acceleration module. The Thrust template library fully leverages the computing power of the GPU, converting the existing single-threaded code into parallel code to achieve parallel acceleration and obtain the confidence level of all raster cells in the local map. After calculating the confidence ellipse parameters, these parameters are sent back to the data interaction processing module. OpenMP, in parallel programming, extracts these parameters from the data interaction processing module and uses its multi-threaded CPU processing to calculate the occupancy probability of each cell in the local raster map. This occupancy probability is then transmitted to the map module via the data interaction processing module. The map module updates the initialized local raster map based on these occupancy probabilities, resulting in the final local raster map. The final local raster map is then generated by P... i ={0,1} is updated to the probability of occupancy of an uncertain local raster map, i.e., P i = [0,1] (the probability that the final local raster map occupies a position between 0 and 1); It should be noted that the purpose of designing the data interaction processing module in this embodiment is for the following two points:
[0100] 1) Different modules or algorithms require different data structures or algorithm containers, so the data needs to be encapsulated into the corresponding algorithm containers for use. Therefore, this embodiment designs a data interaction processing module as a data interaction bridge between different languages.
[0101] 2) There is no cache for the interaction between memory and GPU. Simple serial data transmission will take a lot of time. Therefore, the data interaction processing module designed in this embodiment can focus on dealing with this problem and reduce the data interaction time.
[0102] In order to achieve data fusion of multiple information sources on the grid map, this embodiment uses an uncertainty propagation algorithm to calculate the positioning uncertainty at each moment, so as to pass the positioning uncertainty to the occupied grid map. At the same time, since there are many uncertain factors in the environment (such as pedestrians and vehicles), the position information of these objects often changes. Relying solely on the prior map (offline map) is not enough for safe trajectory planning. Therefore, in order to ensure safety, real-time environmental information needs to be fused into the occupied grid map through sensors, the positioning uncertainty is propagated using a linear transformation process, and interaction with the offline map is achieved based on two-dimensional Gaussian distribution data.
[0103] To accelerate the computation process, this embodiment utilizes the high-performance parallel computing library Thrust in CUDA and the parallel computing mode of OpenMP parallel programming to form a parallel acceleration module. This module calculates the confidence ellipse parameters and the grid occupancy probability, respectively. As explained above, the data interaction processing module in this embodiment is designed to facilitate rapid data encapsulation and interaction between the map module and the parallel acceleration module. Since this embodiment involves improving the utilization of GPU and CPU to increase computational efficiency, the data transfer efficiency between GPU and CPU is slow, reducing the overall program efficiency. Therefore, an intermediate module is needed to process the data, thereby improving the data transfer efficiency between GPU and CPU. Finally, the parallel acceleration module, through the data interaction processing module, transmits the grid occupancy probability back to the initialized local grid map in the map module, resulting in a "grayscale" phenomenon.
[0104] This invention provides an efficient probabilistic map generation method for expected functional safety. The method encapsulates the calculated vehicle positioning uncertainty and the grid occupancy probability of each grid cell in the global grid map into an algorithm container. First, the algorithm container is used to perform parallel computation to obtain confidence ellipse parameters using the Thrust template library. Data is extracted from the algorithm container, and the confidence ellipse parameters and the grid occupancy probabilities are then calculated in a multi-threaded parallel loop to obtain the local grid map grid occupancy probability. Each grid cell in the initialized local grid map is assigned a value based on the local grid map grid occupancy probability to obtain the final local grid map. Compared to existing technologies, the method provided in this embodiment, under the background of expected functional safety, achieves parallel acceleration computation technology by rationally utilizing GPU and CPU resources. Combined with the high-performance parallel computing template library Thrust and concurrent programming OpenMP, it improves device utilization during program execution. Simultaneously, by designing a data interaction processing module, it makes the data transfer and interaction process between devices more efficient and faster, significantly improving map generation efficiency.
[0105] It should be noted that the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0106] In one embodiment, such as Figure 7 As shown, this embodiment of the invention provides an efficient probabilistic map generation system for expected functional safety. The system includes a data interaction processing module 103 and a map module 101, a positioning system 102, and a parallel acceleration module 104, all of which are connected to the data interaction processing module 103.
[0107] The map module 101 is used to rasterize the pre-acquired offline map to obtain a global raster map and a local raster map of the area surrounding the autonomous vehicle, and to initialize the local raster map.
[0108] The positioning system 102 is used to calculate the positioning uncertainty of the vehicle itself and send the positioning uncertainty to the data interaction processing module.
[0109] The data interaction processing module 103 is used to encapsulate the received positioning uncertainty and the grid occupancy probability of each grid in the global grid map into an algorithm container, and send the encapsulated algorithm container to the parallel acceleration module; and to decapsulate the local grid map grid occupancy probability array calculated by the parallel acceleration module to obtain the local grid map grid occupancy probability.
[0110] The parallel acceleration module 104 is used to obtain confidence ellipse parameters by parallel calculation through the Thrust template library based on the algorithm container, and store the confidence ellipse parameters in the data interaction processing module; and to perform multi-threaded parallel loop calculation on the confidence ellipse parameters and the grid occupancy probability extracted from the data interaction processing module to obtain a local grid map grid occupancy probability array.
[0111] The map module 101 is further configured to assign a value to each grid cell in the initialized local grid map according to the grid occupancy probability of the local grid map, so as to obtain the final local grid map.
[0112] In this embodiment, the step of obtaining the confidence ellipse parameters in parallel using the Thrust template library based on the algorithm container specifically involves:
[0113] Based on the positioning uncertainty, the local covariance matrix of the initialized local grid map is obtained;
[0114] Based on the coordinate transformation relationship between the global coordinate system and the vehicle local coordinate system, the global covariance matrix is calculated using the local covariance matrix of the local grid map.
[0115] The confidence ellipse parameters are obtained through parallel computation using the Thrust template library based on the global covariance matrix.
[0116] For specific limitations regarding an efficient probabilistic map generation system for expected functional safety, please refer to the above-described limitations regarding an efficient probabilistic map generation method for expected functional safety, which will not be repeated here. Those skilled in the art will recognize that the various modules and steps described in conjunction with the embodiments disclosed in this application can be implemented in hardware, software, or a combination of both. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0117] This invention provides a high-efficiency probabilistic map generation system oriented towards expected functional safety. The system achieves data transmission and interaction between different devices through a data interaction processing module, increasing data throughput; and implements parallel acceleration computation based on the high-performance parallel computing Thrust template library and concurrent programming OpenMP through a parallel acceleration module, improving GPU and CPU resource utilization. Compared with existing technologies, this application simplifies the computational structure and designs a data interaction processing module as a data interaction bridge between different languages, avoiding serial data transmission and reducing data interaction time.
[0118] Figure 8This invention provides a computer device including a memory, a processor, and a transceiver, which are connected to each other via a bus. The memory is used to store a set of computer program instructions and data, and can transmit the stored data to the processor. The processor can execute the program instructions stored in the memory to perform the steps of the above method.
[0119] The memory may include volatile memory or non-volatile memory, or both; the processor may be a central processing unit, a microprocessor, an application-specific integrated circuit, a programmable logic device, or a combination thereof. By way of example, but not limitation, the programmable logic device described above may be a complex programmable logic device, a field-programmable gate array, a general-purpose array logic, or any combination thereof.
[0120] In addition, memory can be a physically independent unit or integrated with the processor.
[0121] Those skilled in the art will understand that Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have the same component arrangement.
[0122] In one embodiment, the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.
[0123] This invention provides an efficient probabilistic map generation method and system for expected functional safety. The efficient probabilistic map generation method for expected functional safety utilizes the high-performance parallel computing Thrust template library and OpenMP parallel programming to achieve multi-threaded parallel computing, which effectively improves the utilization of GPU and CPU, improves the computational efficiency of the program, ensures the real-time performance of map generation, and provides a new solution to the problem of dangerous environments caused by measurement errors in positioning systems.
[0124] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., SSD), etc.
[0125] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when the computer program is executed, it can include the processes of the embodiments of the above methods.
[0126] The embodiments described above are merely preferred embodiments of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various improvements and substitutions without departing from the technical principles of this invention, and these improvements and substitutions should also be considered within the scope of protection of this application. Therefore, the scope of protection of this patent application should be determined by the scope of the claims.
Claims
1. A method for generating efficient probabilistic maps oriented towards expected functional safety, characterized in that, Includes the following steps: The pre-acquired offline map is rasterized to obtain a global raster map and a local raster map of the area surrounding the autonomous vehicle, and the local raster map is initialized. Calculate the vehicle's own positioning uncertainty, and encapsulate the positioning uncertainty and the grid occupancy probability of each grid in the global grid map into an algorithm container; Based on the algorithm container, the confidence ellipse parameters are obtained through parallel computation using the Thrust template library; Extract the confidence ellipse parameters, and perform multi-threaded parallel loop calculations on the confidence ellipse parameters and the grid occupancy probability to obtain a local grid map grid occupancy probability array; Decapsulate the local grid map grid occupancy probability array to obtain the local grid map grid occupancy probability; The initial local grid map is assigned a value to each grid cell based on the grid occupancy probability of the local grid map to obtain the final local grid map. The step of obtaining the confidence ellipse parameters in parallel using the Thrust template library based on the algorithm container includes: obtaining the local covariance matrix of the initialized local grid map according to the positioning uncertainty; calculating the global covariance matrix using the local covariance matrix of the local grid map based on the coordinate transformation relationship between the global coordinate system and the vehicle local coordinate system; and obtaining the confidence ellipse parameters in parallel using the Thrust template library based on the global covariance matrix. The confidence ellipse parameters include the semi-major axis, semi-minor axis, and deflection angle of the confidence ellipse. The formula for calculating the confidence ellipse parameters is as follows: In the formula, a represents the semi-major axis of the confidence ellipse; b represents the semi-minor axis of the confidence ellipse. Indicates the confidence ellipse deflection angle; , These represent the two eigenvalues of the global covariance matrix in two-dimensional space. , This represents the eigenvector corresponding to the largest eigenvalue of the global covariance matrix in the x and y directions.
2. The efficient probabilistic map generation method for expected functional safety as described in claim 1, characterized in that, The formula for calculating the global covariance matrix is as follows: in, In the formula, Represents the global covariance matrix of the i-th grid in the vehicle's global coordinate system; This indicates the uncertainty of the vehicle's own positioning; This represents the vehicle's yaw angle in the global coordinate system; This represents the coordinates of the i-th cell in the x-direction within the initialized local raster map; This represents the coordinates of the i-th grid cell in the y-direction within the initialized local grid map.
3. The efficient probabilistic map generation method for expected functional safety as described in claim 1, characterized in that, The steps for calculating the occupancy probability of the local raster map are as follows: Based on the confidence ellipse parameters and the vehicle center position, the grid inside the confidence ellipse on the global grid map is obtained; The grid occupancy probability of the local grid map is obtained by weighted averaging the grid occupancy probabilities of the grid cells inside the confidence ellipse.
4. The efficient probabilistic map generation method for expected functional safety as described in claim 3, characterized in that, The formula for calculating the occupancy probability of a local raster map is as follows: In the formula, Indicates the probability of a local raster map cell being occupied; This represents the i-th cell in the initialized local raster map; This represents the Gaussian distribution probability of the j-th grid occupied within the confidence ellipse generated by the i-th grid. This represents the probability that the j-th grid cell is occupied in the global grid map; This represents the confidence ellipse parameter of the i-th cell within the confidence ellipse.
5. A highly efficient probabilistic map generation system for expected functional safety, characterized in that, The system includes a data interaction processing module, a map module, a positioning system, and a parallel acceleration module, all of which are connected to the data interaction processing module. The map module is used to rasterize the pre-acquired offline map to obtain a global raster map and a local raster map of the area surrounding the autonomous vehicle, and to initialize the local raster map. The positioning system is used to calculate the vehicle's own positioning uncertainty and send the positioning uncertainty to the data interaction processing module; The data interaction processing module is used to encapsulate the received positioning uncertainty and the grid occupancy probability of each grid in the global grid map into an algorithm container, and send the encapsulated algorithm container to the parallel acceleration module; and to decapsulate the local grid map grid occupancy probability array calculated by the parallel acceleration module to obtain the local grid map grid occupancy probability. The parallel acceleration module is used to calculate the confidence ellipse parameters in parallel using the Thrust template library based on the algorithm container, and store the confidence ellipse parameters in the data interaction processing module. In addition, the confidence ellipse parameters and the grid occupancy probability extracted from the data interaction processing module are subjected to multi-threaded parallel loop calculation to obtain a local grid map grid occupancy probability array. The map module is also used to assign a value to each grid in the initialized local grid map according to the grid occupancy probability of the local grid map, so as to obtain the final local grid map. Specifically, the step of obtaining the confidence ellipse parameters in parallel using the Thrust template library based on the algorithm container involves: obtaining the local covariance matrix of the initialized local grid map according to the positioning uncertainty; and calculating the global covariance matrix using the local covariance matrix of the local grid map based on the coordinate transformation relationship between the global coordinate system and the vehicle local coordinate system. Based on the global covariance matrix, the confidence ellipse parameters are obtained through parallel computation using the Thrust template library. The confidence ellipse parameters include the semi-major axis, semi-minor axis, and deflection angle of the confidence ellipse. The formula for calculating the confidence ellipse parameters is as follows: In the formula, a represents the semi-major axis of the confidence ellipse; b represents the semi-minor axis of the confidence ellipse. Indicates the confidence ellipse deflection angle; , These represent the two eigenvalues of the global covariance matrix in two-dimensional space. , This represents the eigenvector corresponding to the largest eigenvalue of the global covariance matrix in the x and y directions.
6. A computer device, characterized in that: The device includes a processor and a memory, the processor being connected to the memory for storing computer programs, and the processor for executing the computer programs stored in the memory to cause the computer device to perform the method as described in any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program that, when executed, implements the method as described in any one of claims 1 to 4.
Citation Information
Patent Citations
Positioning method and device, equipment and storage medium
CN110967011A
Occupied grid map generation method and device and robot system
CN111737395A