Arbitration method and device for point cloud data reading request, laser radar and medium
By arbitrating the type and window size of point cloud data read requests in the MEMS LiDAR, high-priority requests are processed first, resolving the problem of multiple request conflicts and improving data processing efficiency and LiDAR stability.
Patent Information
- Application Number
- CN202410619943.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-17
- Publication Date
- 2025-11-18
AI Technical Summary
In MEMS LiDAR, when multiple algorithms simultaneously initiate point cloud data reading requests, the lack of an effective arbitration mechanism leads to resource competition and conflicts, affecting the efficiency of data processing.
An arbitration method for point cloud data read requests is provided. By determining the type and window size of the point cloud data read request, high-priority requests are processed first, and low-priority requests are interrupted, ensuring that high-priority requests can read the point cloud data before sorting in a window of a preset size.
It enables efficient resource allocation in the event of multiple conflicting requests, ensuring that each algorithm can acquire the required point cloud data in a timely manner and guaranteeing the normal operation of the LiDAR.
Smart Images

Figure CN120980273A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of radar, in particular to a point cloud data reading request arbitration method and device, a laser radar and a storage medium. BACKGROUND
[0002] The main control chip of a MEMS (Micro Electromechanical System) laser radar involves steps of processing point cloud data before sorting and point cloud data after sorting, and the point cloud data before sorting and the point cloud data after sorting belong to different forms of organization of the same data. In the processing process, there may be a situation that multiple algorithms simultaneously request point cloud data through point cloud data reading requests.
[0003] When such a point cloud data reading request conflict occurs, an arbitration mechanism is needed to handle and resolve the conflict. Therefore, there is an urgent need for a point cloud data reading request arbitration method to enable each point cloud data reading request to be responded to, so that each algorithm can obtain the required point cloud data. SUMMARY
[0004] Embodiments of the present application provide a point cloud data reading request arbitration method and device, a laser radar and a storage medium, and provide an arbitration mechanism to enable each point cloud data reading request to be responded to, so that each algorithm can obtain the required point cloud data. The technical solutions are as follows:
[0005] In one aspect, a point cloud data reading request arbitration method is provided, and the method comprises:
[0006] In response to obtaining a first point cloud data reading request to be processed, determining whether there is a second point cloud data reading request that has not been processed.
[0007] In the case that there is a second point cloud data reading request that has not been processed, determining the request type of the first point cloud data reading request.
[0008] In the case that the request type of the first point cloud data reading request is a first request type, interrupting the second point cloud data reading request and processing the first point cloud data reading request, the first request type being used to request reading point cloud data before sorting in a window of a first preset size.
[0009] In one possible implementation, in the case that the request type of the first point cloud data reading request is a first request type, interrupting the second point cloud data reading request and processing the first point cloud data reading request comprises:
[0010] determine the request type of the second point cloud data reading request in a case where the request type of the first point cloud data reading request is a first request type;
[0011] interrupt the second point cloud data reading request and process the first point cloud data reading request in a case where the request type of the second point cloud data reading request is not the first request type and a second request type, the second request type being used for requesting reading of the sorted point cloud data in a window with a second preset size, the second preset size being less than or equal to the first preset size.
[0012] In a possible implementation, after the determination of the request type of the second point cloud data reading request in the case where the request type of the first point cloud data reading request is the first request type, the method further includes:
[0013] continue processing the second point cloud data reading request in a case where the request type of the second point cloud data reading request is the first request type or the second request type.
[0014] process the first point cloud data reading request in a case where the second point cloud data reading request is processed.
[0015] In a possible implementation, after the interruption of the second point cloud data reading request and the processing of the first point cloud data reading request in the case where the request type of the first point cloud data reading request is the first request type, the method further includes:
[0016] determine whether there is a third point cloud data reading request and / or a fourth point cloud data reading request to be processed in a case where the first point cloud data reading request is processed, the request type of the third point cloud data reading request being the first request type, the request type of the fourth point cloud data reading request being a second request type, the second request type being used for requesting reading of the sorted point cloud data in a window with a second preset size, the second preset size being less than or equal to the first preset size.
[0017] continue interrupting the second point cloud data reading request and processing the third point cloud data reading request and / or the fourth point cloud data reading request in a case where the third point cloud data reading request and / or the fourth point cloud data reading request exists.
[0018] In a possible implementation, the continuing interruption of the second point cloud data reading request and the processing of the third point cloud data reading request and / or the fourth point cloud data reading request in the case where the third point cloud data reading request and / or the fourth point cloud data reading request exists includes:
[0019] In the case that the third point cloud data reading request or the fourth point cloud data reading request exists, the second point cloud data reading request is continued to be interrupted and the third point cloud data reading request or the fourth point cloud data reading request is processed;
[0020] In the case that the third point cloud data reading request and the fourth point cloud data reading request exist, the second point cloud data reading request is continued to be interrupted and the third point cloud data reading request is processed; in the case that the third point cloud data reading request is processed, the fourth point cloud data reading request is processed.
[0021] In a possible implementation, after the second point cloud data reading request is interrupted and the first point cloud data reading request is processed in the case that the request type of the first point cloud data reading request is the first request type, the method further includes:
[0022] In the case that the first point cloud data reading request is processed, it is determined whether a fifth point cloud data reading request to be processed exists, the request type of the fifth point cloud data reading request is a third request type, and the third request type is used to request reading the sorted point cloud data in a window with a third preset size.
[0023] In the case that the fifth point cloud data reading request exists, the second point cloud data reading request is continued to be processed.
[0024] In a possible implementation, after the second point cloud data reading request is continued to be processed in the case that the fifth point cloud data reading request exists, the method further includes:
[0025] In the case that the second point cloud data reading request is processed and the number of the fifth point cloud data reading requests is a plurality, it is determined whether an interrupted fifth point cloud data reading request exists in the plurality of fifth point cloud data reading requests.
[0026] In the case that the interrupted fifth point cloud data reading request exists, the interrupted fifth point cloud data reading request is processed.
[0027] In a possible implementation, after the second point cloud data reading request is processed and the number of the fifth point cloud data reading requests is a plurality in the case that the second point cloud data reading request is processed and the number of the fifth point cloud data reading requests is a plurality, it is determined whether an interrupted fifth point cloud data reading request exists in the plurality of fifth point cloud data reading requests, the method further includes:
[0028] In the absence of the interrupted fifth point cloud data reading request, based on the window size corresponding to each of the plurality of fifth point cloud data reading requests, a first priority of each of the plurality of fifth point cloud data reading requests is determined, and the first priority is negatively correlated with the window size;
[0029] The plurality of fifth point cloud data reading requests are processed according to the first priority.
[0030] In a possible implementation, the processing of the plurality of fifth point cloud data reading requests according to the first priority includes:
[0031] In the case that there are at least two fifth point cloud data reading requests with the same first priority in the plurality of fifth point cloud data reading requests, a second priority of each of the at least two fifth point cloud data reading requests is determined, and the second priority is an algorithm priority of a point cloud data processing algorithm corresponding to the fifth point cloud data reading request.
[0032] The at least two fifth point cloud data reading requests are processed according to the second priority.
[0033] In a possible implementation, after the determination of the request type of the first point cloud data reading request in the case that there is an unprocessed second point cloud data reading request, the method further includes:
[0034] In the case that the request type of the first point cloud data reading request is a second request type, the second point cloud data reading request is interrupted and the first point cloud data reading request is processed, and the second request type is used to request reading of the sorted point cloud data in a window with the second preset size, and the second preset size is less than or equal to the first preset size.
[0035] In a possible implementation, the interruption of the second point cloud data reading request and the processing of the first point cloud data reading request in the case that the request type of the first point cloud data reading request is the second request type includes:
[0036] In the case that the request type of the first point cloud data reading request is the second request type, the request type of the second point cloud data reading request is determined.
[0037] In the case that the request type of the second point cloud data reading request is not the first request type and the second request type, the second point cloud data reading request is interrupted and the first point cloud data reading request is processed.
[0038] In a possible implementation, after determining the request type of the second point cloud data reading request in the case that the request type of the first point cloud data reading request is the second request type, the method further includes:
[0039] In the case that the request type of the second point cloud data reading request is the first request type or the second request type, continuing to process the second point cloud data reading request.
[0040] In the case that the second point cloud data reading request is processed, processing the first point cloud data reading request.
[0041] In a possible implementation, after determining the request type of the first point cloud data reading request in the case that there is an unprocessed second point cloud data reading request, the method further includes:
[0042] In the case that the request type of the first point cloud data reading request is a third request type, continuing to process the second point cloud data reading request, the third request type being used for requesting to read the sorted point cloud data in a window with a third preset size.
[0043] In an aspect, a device for arbitrating point cloud data reading requests is provided, and the device includes:
[0044] A request determination module, configured to, in response to obtaining a first point cloud data reading request to be processed, determine whether there is an unprocessed second point cloud data reading request.
[0045] A request type determination module, configured to, in the case that there is an unprocessed second point cloud data reading request, determine the request type of the first point cloud data reading request.
[0046] A processing module, configured to, in the case that the request type of the first point cloud data reading request is a first request type, interrupt the second point cloud data reading request and process the first point cloud data reading request, the first request type being used for requesting to read the point cloud data before sorting in a window with a first preset size.
[0047] In a possible implementation, the processing module is configured to, in the case that the request type of the first point cloud data reading request is the first request type, determine the request type of the second point cloud data reading request; and in the case that the request type of the second point cloud data reading request is not the first request type and a second request type, interrupt the second point cloud data reading request and process the first point cloud data reading request, the second request type being used for requesting to read the sorted point cloud data in a window with a second preset size, the second preset size being less than or equal to the first preset size.
[0048] In a possible implementation, the processing module is further configured to, in a case where the request type of the second point cloud data reading request is the first request type or the second request type, continue processing the second point cloud data reading request; and in a case where the processing of the second point cloud data reading request is completed, process the first point cloud data reading request.
[0049] In a possible implementation, the processing module is further configured to, in a case where the processing of the first point cloud data reading request is completed, determine whether there is a third point cloud data reading request and / or a fourth point cloud data reading request to be processed, the request type of the third point cloud data reading request is the first request type, the request type of the fourth point cloud data reading request is a second request type, the second request type is used to request reading of the sorted point cloud data in a window with a second preset size, and the second preset size is less than or equal to the first preset size; and in a case where the third point cloud data reading request and / or the fourth point cloud data reading request exists, continue interrupting the second point cloud data reading request and processing the third point cloud data reading request and / or the fourth point cloud data reading request.
[0050] In a possible implementation, the processing module is configured to, in a case where the third point cloud data reading request or the fourth point cloud data reading request exists, continue interrupting the second point cloud data reading request and processing the third point cloud data reading request or the fourth point cloud data reading request; in a case where the third point cloud data reading request and the fourth point cloud data reading request exist, continue interrupting the second point cloud data reading request and processing the third point cloud data reading request; and in a case where the processing of the third point cloud data reading request is completed, process the fourth point cloud data reading request.
[0051] In a possible implementation, the processing module is further configured to, in a case where the processing of the first point cloud data reading request is completed, determine whether there is a fifth point cloud data reading request to be processed, the request type of the fifth point cloud data reading request is a third request type, and the third request type is used to request reading of the sorted point cloud data in a window with a third preset size; and in a case where the fifth point cloud data reading request exists, continue processing the second point cloud data reading request.
[0052] In a possible implementation, the processing module is further configured to, in a case where the processing of the second point cloud data reading request is completed and the number of the fifth point cloud data reading requests is a plurality, determine whether there is an interrupted fifth point cloud data reading request in the plurality of fifth point cloud data reading requests; and in a case where the interrupted fifth point cloud data reading request exists, process the interrupted fifth point cloud data reading request.
[0053] In a possible implementation, the processing module is further configured to, in the absence of the interrupted fifth point cloud data reading request, determine, based on window sizes corresponding to the plurality of fifth point cloud data reading requests respectively, first priorities of the plurality of fifth point cloud data reading requests respectively, the first priority being negatively correlated with the window size; and process the plurality of fifth point cloud data reading requests according to the first priorities.
[0054] In a possible implementation, the processing module is configured to, in the presence of at least two fifth point cloud data reading requests with the same first priority in the plurality of fifth point cloud data reading requests, determine second priorities of the at least two fifth point cloud data reading requests respectively, the second priority being an algorithm priority of a point cloud data processing algorithm corresponding to the fifth point cloud data reading request; and process the at least two fifth point cloud data reading requests according to the second priorities.
[0055] In a possible implementation, the processing module is further configured to, in the case that the request type of the first point cloud data reading request is a second request type, interrupt the second point cloud data reading request and process the first point cloud data reading request, the second request type being used to request reading of the sorted point cloud data in a window with a second preset size, the second preset size being less than or equal to the first preset size.
[0056] In a possible implementation, the processing module is configured to, in the case that the request type of the first point cloud data reading request is a second request type, determine a request type of the second point cloud data reading request; and in the case that the request type of the second point cloud data reading request is neither the first request type nor the second request type, interrupt the second point cloud data reading request and process the first point cloud data reading request.
[0057] In a possible implementation, the processing module is further configured to, in the case that the request type of the second point cloud data reading request is the first request type or the second request type, continue processing the second point cloud data reading request; and in the case that the second point cloud data reading request is processed completely, process the first point cloud data reading request.
[0058] In a possible implementation, the processing module is further configured to, in the case that the request type of the first point cloud data reading request is a third request type, continue processing the second point cloud data reading request, the third request type being used to request reading of the sorted point cloud data in a window with a third preset size.
[0059] In an aspect, a laser radar is provided, comprising one or more master chips and one or more storage media, wherein the one or more storage media store at least one computer program, which is loaded and executed by the one or more master chips to implement the arbitration method of the point cloud data reading request.
[0060] In an aspect, a computer readable storage medium is provided, wherein the computer readable storage medium stores at least one computer program, which is loaded and executed by a processor to implement the arbitration method of the point cloud data reading request.
[0061] In an aspect, a computer program product or computer program is provided, which comprises program code stored in a computer readable storage medium, and a processor of a laser radar reads the program code from the computer readable storage medium, and the processor executes the program code to enable the laser radar to perform the arbitration method of the point cloud data reading request.
[0062] Through the technical solutions provided by the embodiments of the present application, in response to obtaining a first point cloud data reading request to be processed, it is determined whether there is an unprocessed second point cloud data reading request. In the case where there is an unprocessed second point cloud data reading request, the request type of the first point cloud data reading request is determined, and the request type can be used to implement arbitration subsequently. In the case where the request type of the first point cloud data reading request is a first request type, the second point cloud data reading request is interrupted and the first point cloud data reading request is processed, thereby implementing arbitration of the first point cloud data reading request and the second point cloud data reading request, and the first request type is used to request reading of point cloud data before sorting in a window of a first preset size. BRIEF DESCRIPTION OF DRAWINGS
[0063] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.
[0064] Figure 1 is a schematic diagram of an implementation environment of a point cloud data reading request arbitration method provided by an embodiment of the present application;
[0065] Figure 2 is a flowchart of a point cloud data reading request arbitration method provided by an embodiment of the present application;
[0066] Figure 3is a flowchart of another arbitration method for a point cloud data reading request provided by an embodiment of the present application;
[0067] Figure 4 is a flowchart of another arbitration method for a point cloud data reading request provided by an embodiment of the present application;
[0068] Figure 5 is a flowchart of another arbitration method for a point cloud data reading request provided by an embodiment of the present application;
[0069] Figure 6 is a flowchart of another arbitration method for a point cloud data reading request provided by an embodiment of the present application;
[0070] Figure 7 is a flowchart of another arbitration method for a point cloud data reading request provided by an embodiment of the present application;
[0071] Figure 8 is a flowchart of another arbitration method for a point cloud data reading request provided by an embodiment of the present application;
[0072] Figure 9 is a flowchart of another arbitration method for a point cloud data reading request provided by an embodiment of the present application;
[0073] Figure 10 is a flowchart of another arbitration method for a point cloud data reading request provided by an embodiment of the present application;
[0074] Figure 11 is a structural schematic diagram of an arbitration device for a point cloud data reading request provided by an embodiment of the present application. DETAILED DESCRIPTION
[0075] In order to make the purpose, technical solutions and advantages of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the drawings.
[0076] In the present application, the terms "first", "second", and the like are used to distinguish the same or similar items with basically the same function, and it should be understood that there is no logical or time sequence dependency between "first", "second", and "n", and the number and execution order are not limited.
[0077] Light Detection and Ranging is a system that uses laser beams for detection and ranging. It calculates the distance of a target object by emitting a laser pulse to the target and measuring the time difference between the emission and reception of the laser pulse. Laser radar can use a variety of different scanning devices to scan, or it can use a planar array to scan by controlling the emission. For example, a laser radar using a MEMS (Micro-Electro-Mechanical System) micro-mirror scans the outgoing laser in space quickly to obtain distance information, azimuth angle information, reflectivity information, etc. in a three-dimensional space. Such a laser radar has the characteristics of high resolution, vehicle-level reliability and low cost, and therefore has a wide application prospect in automatic driving vehicles, unmanned aerial vehicle active cruise control systems, robot navigation and other fields.
[0078] Sorting algorithm: The order of the point cloud output of the laser radar is determined by its scanning method, and the order of the point cloud output is consistent with the scanning order. For example, a MEMS laser radar, which is not scanned row by row during the scanning process, but has cross-line, resulting in the time order of the point cloud output not being output row by row in regular order. Therefore, the original point cloud data generated in turn according to the scanning order needs to be sorted, and the sorted point cloud data is the point cloud image sorted by rows and columns.
[0079] Arbitration algorithm: Arbitration algorithm is usually used to solve resource competition problem. When multiple requests arrive at the same time, the arbitration algorithm is responsible for deciding the priority of resource allocation. Different arbitration algorithms have different decision logic, which can be static or dynamic, and can make decisions based on various factors such as request timestamp, priority, etc. In the embodiments of the present application, the arbitration algorithm is used to allocate priority to multiple point cloud data reading requests in the case of multiple point cloud data reading requests.
[0080] In the related art, due to cost considerations, the number of I / O (Input / Output) interfaces between the data processing module of the main control chip of the laser radar and the storage medium is limited, and the storage medium is used to store point cloud data before and after sorting. For example, there is one I / O interface between the data processing module of the main control chip and the storage medium, and in the case where the algorithm executed by the data processing module of the main control chip needs to obtain point cloud data, the point cloud data needs to be read from the storage medium through the I / O interface. At this time, multiple algorithms may simultaneously initiate point cloud data reading requests. The arbitration method for point cloud data reading requests provided in the embodiments of the present application can allocate priority to the point cloud data reading requests initiated by each algorithm in this case, thereby resolving and eliminating the conflict of multiple algorithms and ensuring the normal operation of the laser radar.
[0081] After introducing the terms related to the embodiments of the present application, the implementation environment of the embodiments of the present application is introduced. Figure 1 is an implementation environment schematic diagram of a point cloud data reading request arbitration method provided by the embodiments of the present application, see Figure 1 , the implementation environment includes a main control chip 101 of a laser radar, the main control chip 101 includes a storage medium 1011, a data processing module 1012 and an arbitration module 1013, in some embodiments, the laser radar 100 is a MEMS laser radar.
[0082] The storage medium 1011 is used to store the original point cloud data obtained by laser radar scanning. In the process of executing the point cloud data processing algorithm by the data processing module 1012 of the main control chip 101, it is necessary to read the point cloud data from the storage medium 1011, and the data processing module 1012 can initiate a point cloud data reading request. The data processing module 1012 includes a plurality of functional modules, and the plurality of functional modules encapsulate different algorithms, for example, the plurality of functional modules include sorting algorithm module, filtering algorithm module, denoising algorithm module, rain and fog processing algorithm module and ground line identification algorithm module and the like. The arbitration module 1013 is used to execute an arbitration algorithm, and in the case of multiple point cloud data processing algorithms simultaneously initiating point cloud data reading requests, the arbitration module 1013 can arbitrate the multiple point cloud data processing algorithms simultaneously initiating point cloud data reading requests.
[0083] After introducing the implementation environment of the embodiments of the present application, the point cloud data reading request arbitration method provided by the embodiments of the present application is described below.
[0084] Figure 2 is a flowchart of a point cloud data reading request arbitration method provided by the embodiments of the present application, see Figure 2 Taking the main control chip of the laser radar as an example, the method includes the following steps.
[0085] 201, in response to obtaining the first point cloud data reading request to be processed, the main control chip determines whether there is an unprocessed second point cloud data reading request.
[0086] The first point cloud data reading request is used to request reading of point cloud data, and the first point cloud data reading request is triggered by a data processing module of the master chip when the first point cloud data processing algorithm is executed. The point cloud data is obtained by laser radar scanning and includes point cloud data before sorting and point cloud data after sorting. In the embodiment of the present application, sorting the point cloud data means sorting the point cloud data according to the pitch angle (Pitch) of the point cloud data. The second point cloud data reading request is a point cloud data reading request currently being processed by the master chip. The determination of whether the second point cloud data reading request exists is to determine whether other point cloud data processing algorithms are also requesting reading of point cloud data.
[0087] 202. In the case where there is an unprocessed second point cloud data reading request, the master chip determines the request type of the first point cloud data reading request.
[0088] In the embodiment of the present application, the request type is determined according to two dimensions, one of which is the request data type, including whether to request reading of point cloud data before sorting or point cloud data after sorting, and the other of which is the window size of the requested point cloud data. Accordingly, when determining the request type of the first point cloud data reading request, the above two dimensions can be used for judgment.
[0089] 203. In the case where the request type of the first point cloud data reading request is a first request type, the master chip interrupts the second point cloud data reading request and processes the first point cloud data reading request. The first request type is used to request reading of point cloud data before sorting in a window of a first preset size.
[0090] In the embodiment of the present application, the first request type corresponds to a high processing priority, and the first point cloud data reading request of the first request type is processed first. Therefore, the second point cloud data reading request is interrupted and the first point cloud data reading request is processed, which is a kind of arbitration provided in the embodiment of the present application. When reading point cloud data, it is usually done in the form of a window, such as 1x1, 3x3, 3x5 or 5x5 window size. The size of the window used by different point cloud data algorithms when reading point cloud data is different. Accordingly, the first preset size is determined by the plurality of algorithms included in the data processing module. Each algorithm reads point cloud data of multiple sizes according to its operation process, such as setting the first preset size to 1x1, which is not limited in the embodiment of the present application.
[0091] In response to obtaining the first point cloud data reading request to be processed, it is determined whether there is an unprocessed second point cloud data reading request. In the case where there is an unprocessed second point cloud data reading request, the request type of the first point cloud data reading request is determined, and the request type can be used to implement arbitration subsequently. In the case where the request type of the first point cloud data reading request is a first request type, the second point cloud data reading request is interrupted and the first point cloud data reading request is processed, so as to implement arbitration of the first point cloud data reading request and the second point cloud data reading request, and the first request type is used to request reading of point cloud data before sorting in a window with a first preset size.
[0092] The steps 201-203 are a simple description of the technical solution provided by the embodiments of the present application. The technical solution provided by the embodiments of the present application will be described in more detail below in combination with some examples, see Figure 3 Taking a master control chip with a laser radar as an execution subject as an example, the method includes the following steps.
[0093] 301. In response to obtaining a first point cloud data reading request to be processed, the master control chip determines whether there is an unprocessed second point cloud data reading request.
[0094] The first point cloud data reading request is used to request reading of point cloud data, and the first point cloud data reading request is triggered by the master control chip when executing a point cloud data processing algorithm. The point cloud data is obtained by scanning a laser radar and includes point cloud data before sorting and point cloud data after sorting. The point cloud data before sorting and the point cloud data after sorting are different forms of organization of the same point cloud data. The second point cloud data reading request is a point cloud data reading request currently being processed by the master control chip. The first point cloud data reading request and the second point cloud data reading request are different point cloud data reading requests triggered by the master control chip executing the same point cloud data processing algorithm, or are point cloud data reading requests triggered by the master control chip executing different point cloud data processing algorithms, which are not limited by the embodiments of the present application. Whether the second point cloud data reading request exists is determined to determine whether there is another unprocessed point cloud data reading request.
[0095] In a possible implementation, in response to obtaining a first point cloud data reading request to be processed, an arbitration module of the master control chip determines whether there is a second point cloud data reading request being processed.
[0096] The processing of the second point cloud data reading request refers to reading point cloud data from the storage medium according to a request data type and a window size of reading point cloud data indicated by the second point cloud data reading request. The request type includes requested pre-sequenced point cloud data and requested post-sequenced point cloud data. The reading of point cloud data is usually performed in the form of a window, for example, 1x1, 3x3, 3x5 or 5x5 window size. Different point cloud data algorithms use different window sizes when reading point cloud data.
[0097] 302. When there is an unprocessed second point cloud data reading request, the master chip determines the request type of the first point cloud data reading request.
[0098] In the embodiments of the present application, the request type is determined according to two dimensions, one dimension is the request data type, including whether to request reading pre-sequenced point cloud data or post-sequenced point cloud data, and the other dimension is the window size of reading point cloud data. Accordingly, when determining the request type of the first point cloud data reading request, the above two dimensions can be used for judgment. The request type is determined to classify the first point cloud data reading request, and the subsequent processing priority of the first point cloud reading request can be determined according to the classification result.
[0099] In a possible implementation, when there is an unprocessed second point cloud data reading request, the arbitration module of the master chip determines the request data type and the window size of reading point cloud data of the first point cloud data reading request. The arbitration module of the master chip determines the request type of the first point cloud data reading request based on the request data type and the window size of the first point cloud data reading request.
[0100] Since the first point cloud data reading request is triggered by the data processing module of the master chip when executing a point cloud data processing algorithm, the request data type and the window size of the first point cloud data reading request are also initiated and transmitted by the point cloud data processing algorithm, and the first point cloud data reading request carries the request type and the window size. After the arbitration module of the master chip obtains the first point cloud data reading request, the arbitration module analyzes the first point cloud data reading request to obtain the request type and the window size. After the arbitration module completes arbitration, the corresponding point cloud data reading request is released to the storage medium, and the point cloud data transmission is started. It should be noted that, in terms of time, the arbitration module needs one time period to receive the point cloud data reading request, and the point cloud data transmission process needs one time period or multiple time periods.
[0101] In this implementation, in the case where there is an unprocessed second point cloud data reading request, the request data type and the window size for reading point cloud data contained in the first point cloud data reading request are determined, and the request type is determined using the request data type and the window size.
[0102] In order to more clearly illustrate the above implementation, the following examples are used to illustrate the method of determining the request type of the first point cloud data reading request by the arbitration module of the master control chip based on the request data type of the first point cloud data reading request and the window size.
[0103] Example 1: In the case where the request data type of the first point cloud data reading request is to read the point cloud data before sorting, and the window size is a first preset size, the arbitration module of the master control chip determines the request type of the first point cloud data reading request as a first request type.
[0104] The first request type is used to request to read the point cloud data before sorting in a window of the first preset size. In some embodiments, the first preset size is the minimum size of the window for reading the point cloud data, and the first preset size is determined by a plurality of algorithms included in the data processing module. Each algorithm needs to read point cloud data of multiple sizes according to its operation process, for example, the first preset size is 1x1, which is not limited in the embodiments of the present application.
[0105] Example 2: In the case where the request data type of the first point cloud data reading request is to read the point cloud data after sorting, and the window size is a second preset size, the arbitration module of the master control chip determines the request type of the first point cloud data reading request as a second request type.
[0106] The second request type is used to request to read the point cloud data after sorting in a window of the second preset size, and the second preset size is less than or equal to the first preset size. Since the point cloud data after sorting may not be continuous in the storage space, the point cloud data after sorting cannot be obtained in the typical sliding window manner, and each point data in the window is usually taken out in a preset order, for example, the point data is taken out in the order of left to right and top to bottom according to the index number corresponding to each point in the window. Taking a window size of 3x5 as an example, 15 time intervals are required to take out the point cloud data with a window size of 3x5 from the point cloud data after sorting. The index number is used to describe the correspondence between the point cloud data after sorting and the point cloud data before sorting. The index number of each point in the window can be used to index the corresponding point data from the storage medium and take it out.
[0107] In a possible implementation, in a case where the request type of the first point cloud data reading request is the first request type, the arbitration module of the master chip determines the request data type and the window size of reading point cloud data of the second point cloud data reading request. The arbitration module of the master chip determines the request type of the second point cloud data reading request based on the request data type of the second point cloud data reading request and the window size.
[0108] The third request type is used to request reading of the sorted point cloud data with the window of the third preset size, and the third preset size is determined by a plurality of algorithms included in the data processing module. Each algorithm needs to read point cloud data of a plurality of sizes according to an operation process thereof, for example, the third preset size is 3x1, 3x3, 3x5, and the like, which is not limited in the embodiments of the present application.
[0109] 303、In a case where the request type of the first point cloud data reading request is the first request type, the master chip determines the request type of the second point cloud data reading request.
[0110] In a possible implementation, in a case where the request type of the first point cloud data reading request is the first request type, the arbitration module of the master chip determines the request data type and the window size of reading point cloud data of the second point cloud data reading request. The arbitration module of the master chip determines the request type of the second point cloud data reading request based on the request data type of the second point cloud data reading request and the window size.
[0111] In order to more clearly illustrate the above embodiments, the method in which the arbitration module of the master chip determines the request type of the second point cloud data reading request based on the request data type of the second point cloud data reading request and the window size will be described below through several examples.
[0112] In a case where the request data type of the second point cloud data reading request is the request reading of the sorted point cloud data and the window size is the first preset size, the arbitration module of the master chip determines the request type of the second point cloud data reading request as the first request type.
[0113] In a case where the request data type of the second point cloud data reading request is the request reading of the sorted point cloud data and the window size is the second preset size, the arbitration module of the master chip determines the request type of the second point cloud data reading request as the second request type.
[0114] In a case where the request data type of the second point cloud data reading request is the request reading of the sorted point cloud data and the window size is the third preset size, the arbitration module of the master chip determines the request type of the second point cloud data reading request as the third request type.
[0115] Optionally, after step 303, the master chip executes step 304 or steps 305-306 according to actual conditions, and embodiments of the present application do not limit this.
[0116] 304. In the case where the request type of the second point cloud data reading request is not the first request type and the second request type, the master chip interrupts the second point cloud data reading request and processes the first point cloud data reading request.
[0117] In embodiments of the present application, the processing priority corresponding to the first request type is higher, and the first point cloud data reading request of the first request type is processed first, so the second point cloud data reading request is interrupted and the first point cloud data reading request is processed first. This is a kind of arbitration provided by embodiments of the present application.
[0118] In a possible implementation, in the case where the request type of the second point cloud data reading request is the third request type, the arbitration module of the master chip stops processing the second point cloud data reading request, and in response to the first point cloud data reading request, reads point cloud data from the storage medium according to the request data type and the window size indicated by the first point cloud data reading request to read point cloud data.
[0119] As can be seen from the above implementation, the processing priority corresponding to the first request type is higher than the processing priority corresponding to the third request type, and in the case where the first request type point cloud data request is initiated during the processing of the third request type point cloud data request, the first request type point cloud data reading request is processed first. This is because the point cloud data stored in the storage medium is the original point cloud before sorting, so the first request type point cloud data reading request can be directly read from the storage medium without indexing and windowing. Therefore, the efficiency of responding to the first request type point cloud data reading request is higher, and the number of waiting time beats can be reduced as a whole.
[0120] 305. In the case where the request type of the second point cloud data reading request is the first request type or the second request type, the master chip continues to process the second point cloud data reading request.
[0121] That is, in the case where the request type of the second point cloud data reading request is the first request type or the second request type, since the processing priority corresponding to the first request type and the second request type is higher, the second point cloud data reading request is guaranteed to be processed before other point cloud data reading requests.
[0122] In addition, in a case where the second point cloud data reading request is of the first request type, if the first preset size is 1x1, since only one time tick is needed to process the second point cloud data reading request, the second point cloud data reading request is actually processed at the same time when the request type of the second point cloud data reading request is determined, and other point cloud data reading requests can be directly executed.
[0123] 306、In a case where the second point cloud data reading request is processed, the master control chip processes the first point cloud data reading request.
[0124] All the optional technical solutions described above can be combined to form optional embodiments of the present application, which will not be described again.
[0125] Through the technical solutions provided by the embodiments of the present application, it is determined whether there is an unprocessed second point cloud data reading request in response to obtaining a first point cloud data reading request to be processed. In a case where there is an unprocessed second point cloud data reading request, the request type of the first point cloud data reading request is determined, which can be used for arbitration in the future. In a case where the request type of the first point cloud data reading request is a first request type, the second point cloud data reading request is interrupted and the first point cloud data reading request is processed, and the first request type is used to request reading point cloud data before sorting with a window of a first preset size. In addition, in a case where the request type of the second point cloud data reading request is the first request type or a second request type, the second point cloud data reading request is continuously processed, and then the first point cloud data reading request is processed, thereby realizing arbitration of the first point cloud data reading request and the second point cloud data reading request.
[0126] Another embodiment of the technical solutions provided by the embodiments of the present application is provided below, which is described with reference to Figure 4 Taking a master control chip with a laser radar as an execution subject as an example, the method comprises the following steps.
[0127] 401、In response to obtaining a first point cloud data reading request to be processed, the master control chip determines whether there is an unprocessed second point cloud data reading request.
[0128] The implementation process of step 401 is the same as that of step 301, and the implementation process is described with reference to the related description of step 301, which will not be described again.
[0129] 402、In a case where there is an unprocessed second point cloud data reading request, the master control chip determines the request type of the first point cloud data reading request.
[0130] The implementation process of step 402 belongs to the same inventive concept as step 302, and the implementation process is described in the description of step 302, which will not be repeated here.
[0131] 403. In the case where the request type of the first point cloud data reading request is the first request type, the master chip interrupts the second point cloud data reading request and processes the first point cloud data reading request.
[0132] The implementation process of step 403 belongs to the same inventive concept as steps 303-304, and the implementation process is described in the description of steps 303-304, which will not be repeated here.
[0133] 404. In the case where the first point cloud data reading request is processed, the master chip determines whether there is a third point cloud data reading request and / or a fourth point cloud data reading request to be processed.
[0134] The request type of the third point cloud data reading request is the first request type, and the request type of the fourth point cloud data reading request is the second request type. Since the second point cloud data reading request is interrupted, in the case where the first point cloud data reading request is processed, the subsequent steps can be used to determine whether to continue processing the second point cloud data reading request or to process other point cloud data reading requests.
[0135] Optionally, after step 404, the master chip executes steps 405-406 or step 407 according to the actual situation, and the embodiments of the present application do not limit this.
[0136] 405. In the case where the third point cloud data reading request and / or the fourth point cloud data reading request exists, the master chip continues to interrupt the second point cloud data reading request and processes the third point cloud data reading request and / or the fourth point cloud data reading request.
[0137] In a possible implementation, in the case where the third point cloud data reading request or the fourth point cloud data reading request exists, the master chip continues to interrupt the second point cloud data reading request and processes the third point cloud data reading request or the fourth point cloud data reading request.
[0138] Since the second point cloud data reading request is an interrupted point cloud data reading request, the request type of the second point cloud data reading request is neither the first request type nor the second request type. In order to more clearly illustrate the above embodiment, the above embodiment is illustrated by several examples.
[0139] In the presence of the third point cloud data reading request, the arbitration module of the master chip continues to interrupt the second point cloud data reading request and processes the third point cloud data reading request.
[0140] In the presence of the fourth point cloud data reading request, the arbitration module of the master chip continues to interrupt the second point cloud data reading request and processes the fourth point cloud data reading request.
[0141] The situations in the above two examples can both continue to perform the subsequent step 406.
[0142] Another embodiment of the above step 405 is described below.
[0143] In a possible embodiment, in the presence of the third point cloud data reading request and the fourth point cloud data reading request, the master chip continues to interrupt the second point cloud data reading request and processes the third point cloud data reading request. In the case where the third point cloud data reading request is processed, the master chip processes the fourth point cloud data reading request.
[0144] As described in the above embodiment, since the second point cloud data reading request is the interrupted point cloud data reading request, the request type of the second point cloud data reading request is not the first request type or the second request type, which means that the priority of the second point cloud data reading request is lower than that of the third point cloud data reading request and the fourth point cloud data reading request, so the second point cloud data reading request is continued to be interrupted.
[0145] 406. In the case where the third point cloud data reading request and / or the fourth point cloud data reading request is processed, the master chip continues to process the second point cloud data reading request.
[0146] 407. In the case where the third point cloud data reading request and / or the fourth point cloud data reading request is not present, the master chip continues to process the second point cloud data reading request.
[0147] All the optional technical solutions described above can be combined to form optional embodiments of the present application, which will not be described one by one here.
[0148] Another embodiment of the technical solution provided by the embodiments of the present application is provided below, which is described with reference to Figure 5 Taking the master chip with the laser radar as the execution subject as an example, the method comprises the following steps.
[0149] 501. In response to obtaining the first point cloud data reading request to be processed, the master chip determines whether there is an unprocessed second point cloud data reading request.
[0150] The implementation process of step 501 belongs to the same inventive concept as step 301, and the implementation process is described in the related description of step 301, which will not be repeated here.
[0151] 502. In the case where there is an unprocessed second point cloud data reading request, the master control chip determines the request type of the first point cloud data reading request.
[0152] The implementation process of step 502 belongs to the same inventive concept as step 302, and the implementation process is described in the related description of step 302, which will not be repeated here.
[0153] 503. In the case where the request type of the first point cloud data reading request is the first request type, the master control chip interrupts the second point cloud data reading request and processes the first point cloud data reading request.
[0154] The implementation process of step 503 belongs to the same inventive concept as steps 303-304, and the implementation process is described in the related description of steps 303-304, which will not be repeated here.
[0155] 504. In the case where the first point cloud data reading request is processed, the master control chip determines whether there is a fifth point cloud data reading request to be processed.
[0156] The request type of the fifth point cloud data reading request is the third request type.
[0157] 505. In the case where there is the fifth point cloud data reading request, the master control chip continues to process the second point cloud data reading request.
[0158] That is, since the second point cloud data reading request is an interrupted point cloud data reading request, and the request type of the fifth point cloud data reading request is the third request type, the processing priority of the second point cloud data reading request is higher than that of the fifth point cloud data reading request at this time. Therefore, the second point cloud data reading request is continued to be processed, which can ensure that the interrupted point cloud data reading request is processed first in the case where the priority of the initiated point cloud data reading request is not high, so that the algorithm corresponding to the interrupted point cloud data reading request can be executed smoothly, and the algorithm corresponding to the interrupted point cloud data reading request is not delayed indefinitely, thereby improving the timeliness of the algorithm.
[0159] Optionally, after step 504, in the case where there is no fifth point cloud data reading request, the master control chip continues to process the second point cloud data reading request.
[0160] 506、In the case that the second point cloud data reading request is processed and the number of the fifth point cloud data reading requests is multiple, the master chip determines whether there is an interrupted fifth point cloud data reading request in the multiple fifth point cloud data reading requests.
[0161] The interrupted fifth point cloud data reading request refers to the fifth point cloud data reading request which is interrupted before being processed. In some embodiments, in the case that the point cloud data reading request is interrupted, the master chip can add an interruption mark in the interrupted point cloud data reading request, so as to determine whether the point cloud data reading request is the interrupted point cloud data reading request according to the interruption mark.
[0162] Optionally, after step 506, the master chip executes step 507 or steps 508-509 according to actual conditions, which are not limited in the embodiments of the present application.
[0163] 507、In the case that there is an interrupted fifth point cloud data reading request, the master chip processes the interrupted fifth point cloud data reading request.
[0164] That is, in the case that there are multiple fifth point cloud data reading requests, the priority of the interrupted fifth point cloud data reading request in the multiple fifth point cloud data reading requests is higher than that of other fifth point cloud data reading requests.
[0165] 508、In the case that there is no interrupted fifth point cloud data reading request, the master chip determines the first priority of each of the multiple fifth point cloud data reading requests based on the window size corresponding to each of the multiple fifth point cloud data reading requests.
[0166] The first priority is negatively related to the window size, that is, the larger the window size, the higher the first priority; the smaller the window size, the lower the first priority. For example, the first priority of the fifth point cloud data reading request with a window size of 3x3 is higher than that of the fifth point cloud data reading request with a window size of 5x5. The principle of such design is that, as mentioned earlier, since the sorted point cloud data may not be continuous in storage space, the sorted point cloud data cannot be obtained in a typical sliding window manner, and each point data in the window is usually taken out according to a preset order. Therefore, it takes 9 time ticks to take out the window size of 3x3 from the sorted point cloud data, and it takes 25 time ticks to take out the window size of 5x5 from the sorted point cloud data. In the case where there are fifth point cloud data reading requests with window sizes of 3x3 and 5x5, if the fifth point cloud data reading request with the smaller window size of 3x3 is processed first, the fifth point cloud data reading request with the window size of 5x5 needs to wait for 9 time ticks, and the total waiting time is relatively short. If the fifth point cloud data reading request with the larger window size of 5x5 is processed first, the fifth point cloud data reading request with the window size of 3x3 needs to wait for 25 time ticks, and the total waiting time is relatively long.
[0167] In a possible implementation, in the case where there is no interrupted fifth point cloud data reading request, the host chip maps the window size corresponding to each fifth point cloud data reading request to obtain the first priority of each fifth point cloud data reading request.
[0168] The mapping relationship between the window size and the first priority is set by the technician according to the actual situation, and the embodiments of the present application are not limited thereto.
[0169] 509、The host chip processes the plurality of fifth point cloud data reading requests according to the first priority.
[0170] In a possible implementation, in the case where there are at least two fifth point cloud data reading requests with the same first priority in the plurality of fifth point cloud data reading requests, the host chip determines the second priority of each of the at least two fifth point cloud data reading requests, and the second priority is the algorithm priority of the point cloud data processing algorithm that initiates the fifth point cloud data reading request. The host chip processes the at least two fifth point cloud data reading requests according to the second priority.
[0171] The algorithm priority of the point cloud data processing algorithm is used to represent the priority of the point cloud data processing algorithm when the point cloud data processing algorithm is executed. For example, in the ISP (Image Singal Process) flow of the MEMS laser radar, there are in turn a filtering algorithm, a denoising algorithm, a rain and fog processing algorithm, and a ground line identification algorithm, and so on. Therefore, the algorithm priority of the filtering algorithm is higher than that of the denoising algorithm, the algorithm priority of the denoising algorithm is higher than that of the rain and fog processing algorithm, and so on. In other words, the algorithm priority of the point cloud data processing algorithm at the front of the point cloud data processing flow is higher, and the algorithm priority of the point cloud data processing algorithm at the rear of the point cloud data processing flow is lower. The second priority of the fifth point cloud data reading request is determined by using the algorithm priority of the point cloud data processing algorithm corresponding to the fifth point cloud data reading request, so that the fifth point cloud data reading request processed first and the fifth point cloud data reading request processed last can be determined according to the front and rear positions of the point cloud data processing algorithm in the point cloud data processing flow, and the smooth progress of the point cloud data processing flow is maximally ensured.
[0172] In the above embodiment, the at least two fifth point cloud data reading requests are processed by the master control chip according to the second priority in the order from high to low.
[0173] In a possible implementation, in the case where there is no at least two fifth point cloud data reading requests with the same first priority in the plurality of fifth point cloud data reading requests, the plurality of fifth point cloud data reading requests are processed by the master control chip in the order from high to low according to the first priority.
[0174] All the optional technical solutions described above can be combined to form optional embodiments of the present application, which will not be described here again.
[0175] Another embodiment of the technical solution provided by the embodiments of the present application is provided below, which is described with reference to Figure 6 Taking the master control chip of the laser radar as an example, the method comprises the following steps.
[0176] 601. In response to obtaining the first point cloud data reading request to be processed, the master control chip determines whether there is an unprocessed second point cloud data reading request.
[0177] The implementation process of step 601 is the same as that of step 301 described above, and the implementation process is described with reference to the related description of step 301 described above, which will not be described here again.
[0178] 602. In the case where there is an unprocessed second point cloud data reading request, the master control chip determines the request type of the first point cloud data reading request.
[0179] The implementation process of step 602 belongs to the same inventive concept as step 302 described above, and the implementation process is described above in the related description of step 302, which will not be repeated here.
[0180] 603、In the case where the request type of the first point cloud data reading request is the second request type, the master chip interrupts the second point cloud data reading request and processes the first point cloud data reading request.
[0181] In a possible implementation, in the case where the request type of the first point cloud data reading request is the second request type, the master chip determines the request type of the second point cloud data reading request. In the case where the request type of the second point cloud data reading request is neither the first request type nor the second request type, the master chip interrupts the second point cloud data reading request and processes the first point cloud data reading request. In the case where the request type of the second point cloud data reading request is the first request type or the second request type, the master chip continues to process the second point cloud data reading request. In the case where the second point cloud data reading request is processed, the master chip processes the first point cloud data reading request.
[0182] Another embodiment of the technical scheme provided by the embodiments of the present application is provided below, which is described with reference to Figure 7 Taking the master chip with the laser radar as the execution subject as an example, the method comprises the following steps.
[0183] 701、In response to obtaining the first point cloud data reading request to be processed, the master chip determines whether there is an unprocessed second point cloud data reading request.
[0184] The implementation process of step 701 belongs to the same inventive concept as step 301 described above, and the implementation process is described above in the related description of step 301, which will not be repeated here.
[0185] 702、In the case where there is an unprocessed second point cloud data reading request, the master chip determines the request type of the first point cloud data reading request.
[0186] The implementation process of step 702 belongs to the same inventive concept as step 302 described above, and the implementation process is described above in the related description of step 302, which will not be repeated here.
[0187] 703、In the case where the request type of the first point cloud data reading request is the third request type, the master chip continues to process the second point cloud data reading request.
[0188] The third request type is used to request reading the sorted point cloud data with a window of a third preset size.
[0189] Another embodiment of the technical solutions provided in the embodiments of the present application is provided below, see Figure 8 Taking a master control chip with a laser radar as an execution subject as an example, the method comprises the following steps.
[0190] 801. In response to obtaining the first point cloud data reading request to be processed, the master control chip determines whether there is an unprocessed second point cloud data reading request.
[0191] The implementation process of step 801 belongs to the same inventive concept as step 301 described above, and the implementation process is described above in relation to step 301, which will not be described here again.
[0192] 802. In the case where there is no unprocessed second point cloud data reading request, the master control chip determines whether there is a fifth point cloud data reading request to be processed.
[0193] The request type of the fifth point cloud data reading request is the third request type.
[0194] 803. In the case where there is no fifth point cloud data reading request to be processed, the master control chip immediately processes the first point cloud data reading request.
[0195] The arbitration method of the point cloud data provided in each of the above embodiments will be described below. Figure 9 The arbitration method of the point cloud data provided in each of the above embodiments will be described below.
[0196] See Figure 9The arbitration module of the master chip receives the first point cloud data reading request, and determines whether there is an unprocessed second point cloud data reading request. In the case where there is no unprocessed second point cloud data reading request, the first point cloud data reading request is directly responded, that is, the first point cloud data reading request is directly processed. In the case where there is an unprocessed second point cloud data reading request, it is determined whether the request type of the first point cloud data reading request is the first request type and the second request type. In the case where the request type of the first point cloud data reading request is not the first request type and the second request type, the second point cloud data reading request is continuously processed, and then the first point cloud data processing request is processed. In the case where the request type of the first point cloud data reading request is the first request type or the second request type, it is determined whether the request type of the second point cloud data reading request is the first request type or the second request type. In the case where the request type of the second point cloud data reading request is the first request type or the second request type, the second point cloud data reading request is continuously processed, and then the first point cloud data processing request is processed. In the case where the request type of the second point cloud data reading request is not the first request type and the second request type, the second point cloud data reading request is interrupted, and the first point cloud data reading request is processed. After the first point cloud data reading request is processed, it is determined whether there is a third point cloud data reading request and a fourth point cloud data reading request.
[0197] The above-mentioned embodiments will be described below in combination with Figure 10 The arbitration method of the point cloud data provided by the above-mentioned embodiments will be described.
[0198] For example, the first request type refers to reading the point cloud data before sorting with a 1×1 window, the second request type refers to reading the point cloud data after sorting with a 1×1 window, and the third request type refers to reading the point cloud data after sorting with a non-1×1 window. Referring to Figure 10, it is determined whether there is a point cloud data reading request to be processed. In the case where there is a point cloud data reading request to be processed, it is determined whether there is an unprocessed point cloud data reading request sort_win_req. In the case where there is an unprocessed point cloud data reading request sort_win_req, it is determined whether the request type of the point cloud data reading request to be processed is the first request type raw_1cycle_req. In the case where the request type of the point cloud data reading request to be processed is the first request type raw_1cycle_req, the unprocessed point cloud data reading request sort_win_req is interrupted, and the unprocessed point cloud data reading request sort_win_req is marked as "to be continued" sort_win_req. The point cloud data reading request of the first request type raw_1cycle_req to be processed is immediately processed. In the case where the request type of the point cloud data reading request to be processed is not the first request type raw_1cycle_req but the second request type sort_point_req, the unprocessed point cloud data reading request sort_win_req is interrupted, and the unprocessed point cloud data reading request sort_win_req is marked as "to be continued" sort_win_req. The point cloud data reading request of the second request type sort_point_req to be processed is immediately processed. In the case where the request type of the point cloud data reading request to be processed is not the first request type raw_1cycle_req and the second request type sort_point_req, it is determined whether there is a point cloud data reading request to be continued sort_win_req. In the case where there is a point cloud data reading request to be continued sort_win_req, the point cloud data reading request to be continued sort_win_req is processed. In the case where there is no point cloud data reading request to be continued sort_win_req, or there is no unprocessed point cloud data reading request sort_win_req, it is determined whether there are a plurality of point cloud data reading requests of the third request type win_req. In the case where there are a plurality of point cloud data reading requests of the third request type win_req, the plurality of point cloud data reading requests of the third request type win_req are processed in order from high to low priority. In the case where there are no point cloud data reading requests of the third request type win_req, the current point cloud data reading request is immediately responded, the current point cloud data reading request being the point cloud data reading request to be processed or the unprocessed point cloud data reading request sort_win_req.
[0199] Figure 11 is a structural schematic diagram of a point cloud data reading request arbitration device provided by an embodiment of the present application, as shown inFigure 11 The apparatus comprises a request determining module 1101, a request type determining module 1102, and a processing module 1103.
[0200] The request determining module 1101 is configured to determine whether there is an unprocessed second point cloud data reading request in response to obtaining a first point cloud data reading request to be processed.
[0201] The request type determining module 1102 is configured to determine a request type of the first point cloud data reading request in the case where there is an unprocessed second point cloud data reading request.
[0202] The processing module 1103 is configured to interrupt the second point cloud data reading request and process the first point cloud data reading request in the case where the request type of the first point cloud data reading request is a first request type, the first request type being used to request reading of unsorted point cloud data in a window of a first preset size.
[0203] In a possible implementation, the processing module 1103 is configured to determine the request type of the second point cloud data reading request in the case where the request type of the first point cloud data reading request is the first request type. In the case where the request type of the second point cloud data reading request is neither the first request type nor a second request type, the second request type being used to request reading of sorted point cloud data in a window of a second preset size, the second preset size being less than or equal to the first preset size, the processing module 1103 is configured to interrupt the second point cloud data reading request and process the first point cloud data reading request.
[0204] In a possible implementation, the processing module 1103 is further configured to continue processing the second point cloud data reading request in the case where the request type of the second point cloud data reading request is the first request type or the second request type. In the case where the second point cloud data reading request is processed, the processing module 1103 is configured to process the first point cloud data reading request.
[0205] In a possible implementation, the processing module 1103 is further configured to determine, in the case where the first point cloud data reading request is processed, whether there is a third point cloud data reading request to be processed and / or a fourth point cloud data reading request, the request type of the third point cloud data reading request being the first request type, the request type of the fourth point cloud data reading request being the second request type, the second request type being used to request reading of sorted point cloud data in a window of a second preset size, the second preset size being less than or equal to the first preset size. In the case where the third point cloud data reading request and / or the fourth point cloud data reading request exist, the processing module 1103 is configured to continue interrupting the second point cloud data reading request and processing the third point cloud data reading request and / or the fourth point cloud data reading request.
[0206] In a possible implementation, the processing module 1103 is configured to, in a case where the third point cloud data reading request or the fourth point cloud data reading request exists, continue interrupting the second point cloud data reading request and processing the third point cloud data reading request or the fourth point cloud data reading request. In a case where the third point cloud data reading request and the fourth point cloud data reading request exist, the second point cloud data reading request is continued to be interrupted and the third point cloud data reading request is processed. In a case where the third point cloud data reading request is processed, the fourth point cloud data reading request is processed.
[0207] In a possible implementation, the processing module 1103 is further configured to, in a case where the first point cloud data reading request is processed, determine whether a fifth point cloud data reading request exists, the fifth point cloud data reading request being of a third request type, and the third request type being used to request reading of the sorted point cloud data in a window of a third preset size. In a case where the fifth point cloud data reading request exists, the second point cloud data reading request is continued to be processed.
[0208] In a possible implementation, the processing module 1103 is further configured to, in a case where the second point cloud data reading request is processed and the number of the fifth point cloud data reading requests is a plurality, determine whether an interrupted fifth point cloud data reading request exists in the plurality of fifth point cloud data reading requests. In a case where the interrupted fifth point cloud data reading request exists, the interrupted fifth point cloud data reading request is processed.
[0209] In a possible implementation, the processing module 1103 is further configured to, in a case where the interrupted fifth point cloud data reading request does not exist, determine, based on window sizes respectively corresponding to the plurality of fifth point cloud data reading requests, first priorities of the plurality of fifth point cloud data reading requests, the first priorities being negatively correlated with the window sizes. The plurality of fifth point cloud data reading requests are processed according to the first priorities.
[0210] In a possible implementation, the processing module 1103 is configured to, in a case where the plurality of fifth point cloud data reading requests include at least two fifth point cloud data reading requests of the same first priority, determine second priorities of the at least two fifth point cloud data reading requests, the second priorities being algorithm priorities of point cloud data processing algorithms corresponding to the fifth point cloud data reading requests. The at least two fifth point cloud data reading requests are processed according to the second priorities.
[0211] In a possible implementation, the processing module 1103 is further configured to, in a case where the request type of the first point cloud data reading request is a second request type, interrupt the second point cloud data reading request and process the first point cloud data reading request, the second request type being used to request reading of the sorted point cloud data in a window with a second preset size, the second preset size being less than or equal to the first preset size.
[0212] In a possible implementation, the processing module 1103 is configured to, in a case where the request type of the first point cloud data reading request is a second request type, determine the request type of the second point cloud data reading request. In a case where the request type of the second point cloud data reading request is neither the first request type nor the second request type, interrupt the second point cloud data reading request and process the first point cloud data reading request.
[0213] In a possible implementation, the processing module 1103 is further configured to, in a case where the request type of the second point cloud data reading request is the first request type or the second request type, continue processing the second point cloud data reading request. In a case where the second point cloud data reading request is processed, process the first point cloud data reading request.
[0214] In a possible implementation, the processing module 1103 is further configured to, in a case where the request type of the first point cloud data reading request is a third request type, continue processing the second point cloud data reading request, the third request type being used to request reading of the sorted point cloud data in a window with a third preset size.
[0215] It should be noted that the arbitration apparatus for point cloud data reading requests provided in the above embodiments is only used as an example for dividing the above functional modules when arbitrating point cloud data reading requests. In actual applications, the above functions can be completed by different functional modules according to needs, that is, the internal structure of the laser radar is divided into different functional modules to complete all or part of the above described functions. In addition, the arbitration apparatus for point cloud data reading requests and the arbitration method for point cloud data reading requests provided in the above embodiments belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be described here.
[0216] By the technical solutions provided in the embodiments of the present application, in response to obtaining a first point cloud data reading request to be processed, it is determined whether there is an unprocessed second point cloud data reading request. In the case where there is an unprocessed second point cloud data reading request, the request type of the first point cloud data reading request is determined, and the request type can be used to implement arbitration subsequently. In the case where the request type of the first point cloud data reading request is a first request type, the second point cloud data reading request is interrupted and the first point cloud data reading request is processed, thereby implementing arbitration of the first point cloud data reading request and the second point cloud data reading request, and the first request type is used to request reading of point cloud data before sorting in a window of a first preset size.
[0217] In the example embodiments, a computer readable storage medium, for example, a memory including a computer program, is also provided, and the computer program can be executed by a processor to complete the arbitration method of the point cloud data reading request in the above embodiments. For example, the computer readable storage medium can be a Read-Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc Read-Only Memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, etc.
[0218] In the example embodiments, a computer program product or a computer program is also provided, and the computer program product or the computer program includes program code stored in a computer readable storage medium, and a processor of a lidar reads the program code from the computer readable storage medium, and the processor executes the program code to enable the lidar to execute the arbitration method of the point cloud data reading request.
[0219] In some embodiments, the computer program related to the embodiments of the present application can be deployed to be executed on one lidar, or on multiple lidars located in one place, or on multiple lidars distributed in multiple places and interconnected through a communication network, and the multiple lidars distributed in multiple places and interconnected through a communication network can constitute a blockchain system.
[0220] Those of ordinary skill in the art can understand that all or part of the steps of the above embodiments can be completed by hardware, or by a program instructing relevant hardware, and the program can be stored in a computer readable storage medium, and the storage medium mentioned above can be a Read-Only Memory, a magnetic disk or an optical disk, etc.
[0221] The above merely is the optional embodiment of the present application, and does not use to limit the present application, any modification, equivalent replacement, improvement and so on, which are made in the spirit and principle of the present application, should be included in the protection scope of the present application.
Claims
1. An arbitration method for point cloud data read requests, characterized in that, The method includes: In response to receiving the first point cloud data read request to be processed, determine whether there is an unprocessed second point cloud data read request; If there is an unprocessed second point cloud data read request, determine the request type of the first point cloud data read request; If the request type of the first point cloud data reading request is the first request type, the second point cloud data reading request is interrupted and the first point cloud data reading request is processed. The first request type is used to request the reading of the point cloud data before sorting in a window of a first preset size.
2. The method according to claim 1, characterized in that, The step of interrupting the second point cloud data read request and processing the first point cloud data read request when the request type of the first point cloud data read request is the first request type includes: If the request type of the first point cloud data read request is the first request type, then determine the request type of the second point cloud data read request; If the request type of the second point cloud data reading request is not the first request type or the second request type, the second point cloud data reading request is interrupted and the first point cloud data reading request is processed. The second request type is used to request the reading of sorted point cloud data in a window of a second preset size. The second preset size is less than or equal to the first preset size.
3. The method according to claim 2, characterized in that, When the request type of the first point cloud data read request is the first request type, after determining the request type of the second point cloud data read request, the method further includes: If the request type of the second cloud data read request is the first request type or the second request type, continue to process the second cloud data read request; After the second cloud data read request has been processed, the first cloud data read request is processed.
4. The method according to claim 1, characterized in that, When the request type of the first point cloud data read request is the first request type, after interrupting the second point cloud data read request and processing the first point cloud data read request, the method further includes: After the first point cloud data reading request is processed, it is determined whether there is a third point cloud data reading request and / or a fourth point cloud data reading request to be processed. The request type of the third point cloud data reading request is the first request type, and the request type of the fourth point cloud data reading request is the second request type. The second request type is used to request to read the sorted point cloud data in a window of a second preset size. The second preset size is less than or equal to the first preset size. If the third point cloud data read request and / or the fourth point cloud data read request exist, the second point cloud data read request will continue to be interrupted and the third point cloud data read request and / or the fourth point cloud data read request will be processed.
5. The method according to claim 4, characterized in that, The step of continuing to interrupt the second point cloud data read request and process the third point cloud data read request and / or the fourth point cloud data read request when the third point cloud data read request and / or the fourth point cloud data read request exist includes: If the third point cloud data read request or the fourth point cloud data read request exists, continue to interrupt the second point cloud data read request and process the third point cloud data read request or the fourth point cloud data read request; If both the third and fourth point cloud data read requests exist, the second point cloud data read request is interrupted and the third point cloud data read request is processed; if the third point cloud data read request is processed, the fourth point cloud data read request is processed.
6. The method according to claim 1, characterized in that, When the request type of the first point cloud data read request is the first request type, after interrupting the second point cloud data read request and processing the first point cloud data read request, the method further includes: After the first point cloud data reading request is processed, it is determined whether there is a fifth point cloud data reading request to be processed. The request type of the fifth point cloud data reading request is the third request type, which is used to request the reading of sorted point cloud data in a window of the third preset size. If the fifth cloud data read request exists, continue processing the second cloud data read request.
7. The method according to claim 6, characterized in that, After processing the second point cloud data read request in the presence of the fifth point cloud data read request, the method further includes: When the second cloud data read request is completed and there are multiple fifth cloud data read requests, determine whether there is an interrupted fifth cloud data read request among the multiple fifth cloud data read requests. In the event of an interrupted fifth point cloud data read request, the interrupted fifth point cloud data read request shall be processed.
8. The method according to claim 7, characterized in that, When the second point cloud data read request has been processed and there are multiple fifth point cloud data read requests, after determining whether any of the multiple fifth point cloud data read requests have been interrupted, the method further includes: In the absence of any interrupted fifth-point cloud data read requests, a first priority is determined for each of the multiple fifth-point cloud data read requests based on the window size corresponding to each of the multiple fifth-point cloud data read requests. The first priority is negatively correlated with the window size. The multiple fifth-point cloud data read requests are processed according to the first priority.
9. The method according to claim 8, characterized in that, The step of processing the plurality of fifth-point cloud data read requests according to the first priority includes: If at least two fifth point cloud data reading requests have the same first priority among the plurality of fifth point cloud data reading requests, determine the second priority of each of the at least two fifth point cloud data reading requests, where the second priority is the algorithm priority of the point cloud data processing algorithm corresponding to the fifth point cloud data reading request; The at least two fifth-point cloud data read requests are processed according to the second priority.
10. The method according to claim 1, characterized in that, In the event of an unprocessed second point cloud data read request, after determining the request type of the first point cloud data read request, the method further includes: If the request type of the first point cloud data reading request is the second request type, the second point cloud data reading request is interrupted and the first point cloud data reading request is processed. The second request type is used to request the reading of sorted point cloud data in a window of the second preset size, where the second preset size is less than or equal to the first preset size.
11. The method according to claim 10, characterized in that, When the request type of the first point cloud data read request is the second request type, interrupting the second point cloud data read request and processing the first point cloud data read request includes: If the request type of the first point cloud data read request is the second request type, determine the request type of the second point cloud data read request; If the request type of the second point cloud data read request is not the first request type or the second request type, the second point cloud data read request is interrupted and the first point cloud data read request is processed.
12. The method according to claim 11, characterized in that, When the request type of the first point cloud data read request is the second request type, after determining the request type of the second point cloud data read request, the method further includes: If the request type of the second cloud data read request is the first request type or the second request type, continue to process the second cloud data read request; After the second cloud data read request has been processed, the first cloud data read request is processed.
13. The method according to claim 1, characterized in that, In the event of an unprocessed second point cloud data read request, after determining the request type of the first point cloud data read request, the method further includes: If the request type of the first point cloud data reading request is the third request type, the second point cloud data reading request will continue to be processed. The third request type is used to request the reading of sorted point cloud data in a window of a third preset size.
14. An arbitration device for point cloud data read requests, characterized in that, The device includes: The request determination module is used to determine whether there is an unprocessed second point cloud data read request in response to the acquisition of the first point cloud data read request to be processed; The request type determination module is used to determine the request type of the first point cloud data read request when there is an unprocessed second point cloud data read request. The processing module is configured to interrupt the second point cloud data reading request and process the first point cloud data reading request when the request type of the first point cloud data reading request is a first request type. The first request type is used to request the reading of the point cloud data before sorting in a window of a first preset size.
15. A lidar, characterized in that, The lidar includes one or more main control chips and one or more storage media, wherein the one or more storage media store at least one computer program, which is loaded and executed by the one or more main control chips to implement the arbitration method for point cloud data reading requests as described in any one of claims 1 to 13.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one computer program, which is loaded and executed by a processor to implement the arbitration method for point cloud data read requests as described in any one of claims 1 to 13.
Citation Information
Patent Citations
Systems and methods for an arbitration controller to arbitrate multiple automation requests on a material handling device
CN111845779A
Radar data processing method and device, electronic equipment and storage medium
CN115469998A
Fusion parking control method, device and equipment and storage medium
CN117141467A
Communication equipment
JP2007219712A
SOA-based intelligent driving system, method and device, and storage medium
WO2023207261A1