A true table selected wave ranging method and measuring device of a laser radar
By using high-power and low-power laser pulses to classify echoes and perform cross-traversal verification during lidar ranging, and generating a state bit array to compare with the truth table, the problem of low ranging accuracy in lidar ranging is solved, achieving higher ranging accuracy and stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TANMI TECHNOLOGY (BEIJING) CO LTD
- Filing Date
- 2025-11-18
- Publication Date
- 2026-07-10
Smart Images

Figure CN121721645B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of lidar ranging, and particularly relates to a truth table-based wave-selective ranging method and measuring device for lidar. Background Technology
[0002] In full-field-of-view radar ranging, point cloud stitching is a commonly used technique. However, both time-of-flight and phase-detection methods, lidar ranging values inherently contain random errors. Noise is particularly pronounced at long distances, with low-reflectivity objects (such as black objects), or in strong light conditions. Stitching algorithms (such as ICP) rely on precise point cloud correspondences. Noisy point clouds cause registration calculation errors; each stitch introduces a small, random error, which is the source of cumulative error. A system that performs well in the laboratory may completely fail in complex real-world road or industrial environments due to a single registration failure or prolonged drift, failing to provide stable and reliable maps and positioning information. Therefore, simply stitching point clouds does not improve their stability and reliability, resulting in stitching gaps. Once large gaps or drifts occur, simple stitching systems lack self-correction capabilities, often requiring manual intervention or the entire reconstruction process, making long-term, large-scale mapping and positioning impossible. This leads to poor maintainability of point cloud stitching methods.
[0003] No effective solutions have yet been proposed to address the aforementioned technical problems in the relevant technologies. Summary of the Invention
[0004] The purpose of this invention is to solve the technical problem in related technologies where the ranging process of lidar is achieved solely through point cloud stitching. Due to the low reliability and stability of point clouds and the existence of stitching gaps, the ranging accuracy of the lidar is low.
[0005] This application provides a truth table-based ranging method for lidar. The method includes: controlling the lidar to send a high-power laser pulse and a low-power laser pulse during a ranging process; receiving all echoes returned by the high-power pulse and the low-power pulse, classifying all echoes to obtain two sets of classified echoes, filtering the two sets of classified echoes to obtain two sets of verification echoes; performing cross-checking on the two sets of verification echoes to obtain a state bit array, and comparing the state bit array with a preset echo truth table to obtain the target output echo and complete the ranging process. The preset echo truth table contains multiple preset state bit arrays.
[0006] In an optional embodiment, all echoes returned by high-power pulses and low-power pulses are received, and all echoes are classified to obtain two sets of classified echoes. This includes: determining a preset echo segment distance value, and determining two ranging ranges based on the preset echo segment distance value and the range of the lidar, wherein the preset echo segment distance value is less than the range; and acquiring the echoes received in the two ranging ranges respectively to obtain two sets of classified echoes existing in different ranging ranges.
[0007] In an optional embodiment, the two sets of classified echoes are screened to obtain two sets of verification echoes, including: sorting multiple echoes in each set of classified echoes from largest to smallest according to their corresponding intensity values; and selecting the top M echoes with the largest intensity values from each set of classified echoes as the verification echoes corresponding to each set of classified echoes, so as to obtain two sets of verification echoes.
[0008] In an optional embodiment, the two sets of classification echoes include a small-range echo group and a large-range echo group. Cross-checking is performed on the two sets of check echoes to obtain a state bit array, including: 4-1: Selecting any echo from the small-range check echo group as the target small-range check echo, and cross-checking each large-range echo in the large-range echo group with the target small-range check echo to obtain the echo state bit and check state bit corresponding to the target small-range check echo; 4-2: Repeating step 4-1 until all small-range check echoes in the small-range check echo group have been cross-checked with each echo in the large-range echo group to obtain a first state bit array, which contains... There are M state bits, where M is a positive integer greater than or equal to 2; 4-3: Select any echo from the large-range check echo group as the large-range check echo, and iterate through the large-range check echo to check each small-range echo in the small-range echo group to obtain the echo state bit and check state bit corresponding to the large-range check echo; 4-4: Repeat step 4-3 until all large-range check echoes in the large-range check echo group have been checked with each echo in the small-range echo group to obtain the second state bit array. The first state bit array contains M state bits, where M is a positive integer greater than or equal to 2; 4-5: Summarize the first state bit array and the second state bit array to obtain the state bit array.
[0009] In an optional embodiment, any echo in the small-range verification echo group is selected as the target small-range verification echo. The target small-range verification echo is used to traverse and verify each large-range echo in the large-range echo group to obtain the echo status bit and verification status bit corresponding to the target small-range verification echo. This includes: if the target small-range verification echo exists, marking the echo status bit corresponding to the target small-range verification echo as 1; if it does not exist, marking it as 0; if the target small-range verification echo does not exist, marking the verification status bit corresponding to the target small-range verification echo as 0; if the target small-range verification echo exists and there is at least one matching large-range echo in the large-range echo group, marking the verification status bit corresponding to the target small-range verification echo as 1; otherwise, marking it as 0. The distance difference between the ranging value corresponding to the matching large-range echo and the ranging value corresponding to the target small-range verification echo is within a preset distance range.
[0010] In an optional embodiment, any echo from the large-scale verification echo group is selected as the large-scale verification echo. The large-scale verification echo is then used to traverse and verify each small-scale echo in the small-scale echo group to obtain the echo status bit and verification status bit corresponding to the large-scale verification echo. This includes: if the target large-scale verification echo exists, marking the echo status bit corresponding to the target large-scale verification echo as 1; otherwise, marking it as 0; if the target large-scale verification echo does not exist, marking the verification status bit corresponding to the target large-scale verification echo as 0; if the target large-scale verification echo exists and there is at least one matching small-scale echo in the small-scale echo group, marking the status bit of the large-scale verification echo as 1; otherwise, marking it as 0. The distance difference between the ranging value corresponding to the matching small-scale echo and the ranging value corresponding to the large-scale verification echo is within a preset distance range.
[0011] In an optional embodiment, the state bit array contains 2M echo state bits and 2M check state bits. Before the target output echo is completed and the ranging process is obtained, the method further includes: obtaining an initial echo truth table, which contains multiple state bit arrays. These multiple state bit arrays contain all possible state bit arrays formed by different states on the 2M echo state bits and different states on the 2M check state bits, with different states indicated by 0 or 1; determining preset filtering conditions and filtering all possible state bit arrays in the initial echo truth table to obtain a preset state bit array; and generating a preset echo truth table based on the preset state bit array, wherein each preset state bit array corresponds to one state, and each state corresponds to output echo information.
[0012] In an optional embodiment, the ranging process is completed by comparing the state bit array with a preset echo truth table to obtain the target output echo. This includes: matching the state bit array with multiple preset state bit arrays in the preset echo truth table; when a target state bit array that is the same as the state bit array exists in the preset state bit array, searching for the output echo information corresponding to the target state bit array; and determining and outputting the target output echo based on the output echo information.
[0013] In an optional embodiment, after sorting the multiple echoes in each group of classified echoes according to their corresponding intensity values from largest to smallest, the method further includes: obtaining the peak value and pulse width corresponding to each classified echo; if the peak value and pulse width meet preset conditions, confirming that the classified echo is a valid wave, retaining the valid wave and participating in the sorting operation; if the peak value and pulse width do not meet preset conditions, confirming that the classified echo is an invalid wave, and deleting the invalid wave.
[0014] To achieve the above objectives, the present invention also provides a truth table-based ranging device for lidar, comprising: a control unit for controlling the lidar to send one high-power laser pulse and one low-power laser pulse during a single ranging process; a processing unit for receiving all echoes returned by the high-power pulse and the low-power pulse, classifying all echoes to obtain two sets of classified echoes, filtering the two sets of classified echoes to obtain two sets of verification echoes; and a verification unit for performing cross-checking on the two sets of verification echoes to obtain a state bit array, comparing the state bit array with a preset echo truth table to obtain the target output echo and complete the ranging process, wherein the preset echo truth table contains multiple preset state bit arrays.
[0015] To achieve the above objectives, the present invention also provides a computer-readable storage medium storing a computer program, characterized in that the computer program, when executed by a processor, implements the steps of a truth table-based wave-selection ranging method for lidar.
[0016] This application provides a truth table-based ranging method and measuring device for lidar. The method involves controlling the lidar to send one high-power laser pulse and one low-power laser pulse during a single ranging process. It receives all echoes returned from both pulses, classifies them into two groups of classified echoes, filters these groups to obtain two sets of verification echoes, and performs cross-validation on these verification echoes to obtain a state bit array. This state bit array is then compared with a preset echo truth table to obtain the target output echo, completing the ranging process. The preset echo truth table contains multiple preset state bit arrays. This method solves the technical problem in related technologies where lidar ranging is achieved solely through point cloud stitching. Due to the low reliability and stability of point clouds, stitching gaps occur, leading to low ranging accuracy. This method improves the ranging accuracy of lidar. Attached Figure Description
[0017] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, are illustrative and descriptive, serving to explain this application and do not constitute an undue limitation thereof. In the drawings:
[0018] Figure 1 A flowchart is provided for a truth table-based beamforming ranging method for lidar.
[0019] Figure 2 A schematic diagram of the preset echo segment distance values and ranging range provided in the embodiments of this application.
[0020] Figure 3 A schematic diagram of the process of using a large range echo for verification of the first and second check wavelets provided in the embodiments of this application;
[0021] Figure 4 A schematic diagram of the process of using a small range echo for verification of the first and second verification waves provided in the embodiments of this application;
[0022] Figure 5 Structural block diagram of the device provided in the embodiments of this application;
[0023] Figure 6 A schematic diagram of a truth table-based wave-selective ranging device for a lidar provided in this application. Detailed Implementation
[0024] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other. The present invention will now be described in detail with reference to the accompanying drawings and embodiments.
[0025] It should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of exemplary embodiments according to the invention. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. Furthermore, it should be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.
[0026] Unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the invention. It should also be understood that, for ease of description, the dimensions of the various parts shown in the drawings are not drawn to actual scale. Techniques, methods, and devices known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and devices should be considered part of the specification. In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values. It should be noted that similar reference numerals and letters in the following figures denote similar items; therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.
[0027] like Figure 1 As shown, Figure 1 A flowchart is provided for a truth table-based beamforming ranging method for lidar, which includes the following steps:
[0028] S101: Controls the lidar to send one high-power laser pulse and one low-power laser pulse during a single ranging operation. In some lidar ranging operations, a combination of large and small beams is used to measure the point cloud. Each laser emission consists of one high-power laser pulse and one low-power laser pulse; the timing is the emission time of the high-power laser pulse.
[0029] The intensity of the low-power laser pulse must be such that there is no distortion at the corners, thus determining the maximum value of the low-power laser pulse (charging time cannot exceed 80ns). Simultaneously, the wave variation of the high-power laser pulse at the splicing distance must be less than 3cm. The weakest intensity of the low-power laser pulse is determined to ensure complete detection even with a board with 2.5% reflectivity tilted at 45° at the splicing distance, in order to determine the minimum emission value of the low-power pulse.
[0030] S102: Receive all echoes returned by high-power pulses and low-power pulses, classify all echoes to obtain two sets of classified echoes, filter the two sets of classified echoes respectively, and obtain two sets of verification echoes.
[0031] S103: Perform cross-traversal verification on the two sets of verification echoes to obtain the state bit array, and compare the state bit array with the preset echo truth table to obtain the target output echo and complete the ranging process. The preset echo truth table contains multiple preset state bit arrays.
[0032] This application introduces a preset echo truth table and analyzes the received echoes to obtain a state bit array. The target output echo is then determined by looking up the table. After receiving the echo, the echoes are filtered during the waveform selection stage, and the most reliable echo is selected as the output echo. This significantly reduces the probability of abnormal noise and interference from point cloud echoes. This improves the stability of the point cloud and enhances the ranging accuracy of point cloud stitching.
[0033] The above-mentioned echoes were screened, and the main sources of the abnormal echoes identified included the following:
[0034] Abnormal echoes introduced by the light window or by dirt or grime in the light window;
[0035] Abnormal echoes introduced by multiple reflections of a single emission;
[0036] Abnormal echoes introduced by reflected light from adjacent channels;
[0037] Abnormal echoes introduced by sunlight.
[0038] In one optional embodiment, all echoes returned by both high-power and low-power pulses are received, and all echoes are classified to obtain two sets of classified echoes. This includes: determining a preset echo segment distance value, and determining two ranging ranges based on the preset echo segment distance value and the range of the lidar, such as... Figure 2 As shown, Figure 2 The diagram illustrates the preset echo segment distance value and ranging range provided in this application embodiment. In one specific embodiment, the preset echo distance value is 5m. The ranging range between the radar and 5 meters is the measurement range of low-power pulse (small light), and the range between 5 meters and the range is the measurement range of high-power laser pulse (large light). In practical applications, the preset echo segment distance value is smaller than the range value. In this application, by setting the preset echo segment distance value, all received echoes are divided into two types of echoes, namely, large-range echoes (hereinafter also referred to as small light echoes) and large-range echoes (also referred to as large light echoes).
[0039] It should be noted that, due to different application scenarios, the preset echo segment distance value is also different, and the range of other values is also within the protection scope of this application, which will not be elaborated here.
[0040] In one optional embodiment, the echoes are sorted by intensity to filter the verification echoes. Specifically, multiple echoes in each group of classified echoes are sorted from largest to smallest according to their corresponding intensity values. From each group of classified echoes, the top M echoes with the highest intensity values are selected as the verification echoes corresponding to each group, resulting in two groups of verification echoes. The two groups of classified echoes are small-range echoes and large-range echoes, respectively.
[0041] It should be noted that if no echo is received within the small light measurement range, the small-range verification echo obtained by sorting the small-range echoes will be empty. Similarly, if no echo is received within the large light measurement range, the large-range verification echo obtained by sorting the large-range echoes will also be empty.
[0042] In one optional embodiment, the small-range echo group and the large-range echo group are cross-checked to obtain a status bit array, including:
[0043] 4-1: Select any echo in the small-range check echo group as the target small-range check echo, and iterate through each large-range echo in the large-range check echo group to obtain the echo status bit and check status bit corresponding to the target small-range check echo.
[0044] 4-2: Repeat step 4-1 until all small-range check echoes in the small-range check echo group have been checked against each echo in the large-range check echo group to obtain the first state bit array, which contains M state bits, where M is a positive integer greater than or equal to 2.
[0045] 4-3: Select any echo in the large-range check echo group as the large-range check echo, and iterate through the large-range check echo to check each small-range echo in the small-range echo group to obtain the echo status bit and check status bit corresponding to the large-range check echo.
[0046] 4-4: Repeat step 4-3 until all large-range check echoes in the large-range check echo group have been checked against each echo in the small-range check echo group to obtain the second state bit array. The first state bit array contains M state bits, where M is a positive integer greater than or equal to 2.
[0047] 4-5: Summarize the first state bit array and the second state bit array to obtain the state bit array.
[0048] In one optional embodiment, any echo in the small-range verification echo group is selected as the target small-range verification echo. The target small-range verification echo is used to traverse and verify each large-range echo in the large-range echo group to obtain the echo status bit and verification status bit corresponding to the target small-range verification echo. This includes: if the target small-range verification echo exists, marking the echo status bit corresponding to the target small-range verification echo as 1; if it does not exist, marking it as 0; if the target small-range verification echo does not exist, marking the verification status bit corresponding to the target small-range verification echo as 0; if the target small-range verification echo exists and there is at least one matching large-range echo in the large-range echo group, marking the verification status bit corresponding to the target small-range verification echo as 1; otherwise, marking it as 0. The distance difference between the ranging value corresponding to the matching large-range echo and the ranging value corresponding to the target small-range verification echo is within a preset distance range. Select any echo from the large-scale verification echo group as the large-scale verification echo. Iterate through each small-scale echo in the small-scale echo group using the large-scale verification echo to obtain the echo status bit and verification status bit corresponding to the large-scale verification echo. This includes: if the target large-scale verification echo exists, mark the echo status bit corresponding to the target large-scale verification echo as 1; otherwise, mark it as 0. If the target large-scale verification echo does not exist, mark the verification status bit corresponding to the target large-scale verification echo as 0. If the target large-scale verification echo exists and there is at least one matching small-scale echo in the small-scale echo group, mark the status bit of the large-scale verification echo as 1; otherwise, mark it as 0. The distance difference between the ranging value corresponding to the matching small-scale echo and the ranging value corresponding to the large-scale verification echo is within a preset distance range.
[0049] Specifically, for example, a small-range check echo group contains two check echoes, namely a first check wavelet and a second check wavelet (the first check wavelet is the strongest check wavelet, and the second check wavelet is the second strongest check wavelet). The first check wavelet is used as the target small-range check echo. The first check wavelet iterates through and checks each large-range echo in the large-range echo group. The distance difference between the corresponding distance measurement value in the large-range echo group and the distance measurement value corresponding to the first check wavelet is... In the case where the first check wavelet's echo state bit is set to 1, the check state bit of the first check wavelet is also set to 1. Otherwise, the first check wavelet's echo state bit is set to 1, since there is no corresponding distance difference between the distance value and the distance value corresponding to the first check wavelet. If a large-scale echo is detected, the check state bit of the first check wavelet is marked as 0. It should be noted that the above applies only if the first check wavelet exists; otherwise, if the first check wavelet does not exist, its state bit is marked as 0, and the check state bit is also 0. The same principle applies to the second check wavelet. By traversing and checking the small-scale check echoes, a first state bit array is obtained, containing four state bits: two echo state bits and two check state bits. The checking process is as follows: Figure 3 As shown, Figure 3 This is a schematic diagram illustrating the process of using a large-range echo for verification of the first and second check wavelets provided in the embodiments of this application.
[0050] In this embodiment, since the small-range verification echo group contains two small-range verification echoes, the same number of large-range verification echoes are selected to traverse and verify each echo in the large-range echo group. Specifically, the first large-range verification echo is used as the target large-range verification echo and verified against each echo in the small-range echo group. Within the small-range echo group, there exists a distance measurement value that differs from the first large-range verification echo. The small-range echo is used as the matching small-range echo of the first check wave. In this case, the echo status bit of the first check wave is marked as 1, and the check status bit is marked as 1. Otherwise, the check status bit corresponding to the first check wave is marked as 0. The above situation applies when the first check wave exists. If the first check wave does not exist, the status bit is marked as 0, and the check bit is marked as 0. The verification process is as follows: Figure 4 As shown, Figure 4 This is a schematic diagram illustrating the process of using a small-range echo for verification of the first and second verification waves provided in the embodiments of this application.
[0051] It should be noted that, It represents a range of distance values.
[0052] By cross-checking, a second state bit array is obtained, containing two echo state bits and two check state bits. The first and second state bit arrays together form a state bit array, as shown in the example below:
[0053]
[0054] Table 1. Example of a state bit array in one case.
[0055] Table 1 above shows the state bit array obtained when both the first and second check wavelets exist, and after each wavelet has traversed and checked the echoes in the large range echo group, there is a matching large range echo. At the same time, when neither the first nor the second check wavelet exists, the corresponding check state bits are all 0.
[0056] In one optional embodiment, the status bit array contains 2M echo status bits and 2M check status bits. In the embodiments provided in this application, the number of small-range check echoes is the same as the number of large-range check echoes. In practical application scenarios, in order to improve the check rate, both the number of small-range check echoes and the number of large-range check echoes are usually selected to be greater than or equal to 2. Of course, the case where the number is 1 is also within the protection scope of this application.
[0057] Before the ranging process is completed, the method further includes: comparing the state bit array with the preset echo truth table to obtain the target output echo; obtaining an initial echo truth table containing multiple state bit arrays, which contain all possible state bit arrays composed of 2M echo state bits with different states and 2M check state bits with different states, with different states indicated by 0 or 1; determining preset filtering conditions and filtering all possible state bit arrays in the initial echo truth table to obtain preset state bit arrays; and generating a preset echo truth table based on the preset state bit arrays, wherein each preset state bit array corresponds to one state, and each state corresponds to output echo information.
[0058] It should be noted that the initial echo truth table contains an array of all possible state bits, consisting of 2M echo state bits with different states and 2M check state bits with different states.
[0059] Since some situations do not reflect reality, it is necessary to remove the state bit arrays that do not conform to the actual situation through filtering criteria. The specific filtering criteria are as follows:
[0060] Filtering condition 1: When there is no check echo, the corresponding check status bit is marked as 1.
[0061] Filtering condition 2: If the first check wavelet does not exist, the second check wavelet exists.
[0062] Filtering condition 3: If the first check wave does not exist, the second check wave exists.
[0063] Using the above filtering criteria, preset state bit arrays that meet the filtering criteria are filtered out and deleted. The resulting truth table, which includes other preset state bit arrays, is the preset echo truth table.
[0064] As shown in the table below,
[0065]
[0066] Table 2 Preset Echo Truth Table
[0067] In the above, small 1 represents the first check wavelet, small 2 represents the second check wavelet, large 1 represents the first check wavelet, and large 2 represents the second check wavelet.
[0068] In the embodiments provided in this application, after obtaining the state bit array, the state bit array is compared with the preset state bit array in the above truth echo table. When the state bit array is 1, 1, 1, 1, 0, 0, 1, 0, it can be seen by looking up the table that the state corresponding to the array is state 9, and the corresponding output echo information is the output first check wave and the first check wavelet. These two waves are used as the target output echo for output.
[0069] In an optional embodiment, after sorting the multiple echoes in each group of classified echoes according to their corresponding intensity values from largest to smallest, the method further includes: obtaining the peak value and pulse width corresponding to each classified echo; if the peak value and pulse width meet preset conditions, confirming that the classified echo is a valid wave, retaining the valid wave and participating in the sorting operation; if the peak value and pulse width do not meet preset conditions, confirming that the classified echo is an invalid wave, and deleting the invalid wave.
[0070] The above-mentioned judgment logic is as follows:
[0071] 1) Judgment logic for the validity of small-range echoes: When the peak value and pulse width of the small-range echo are both greater than a certain value, it is confirmed as a valid echo (reason: 2.5% reflectivity also has a certain peak value and intensity at close range. For distant objects, the measurement of large light is more stable, while small light will have a large jitter problem due to its weak energy).
[0072] 2) Judgment logic for the validity of large-area echo: When both the peak value and pulse width are greater than a certain value, it is confirmed as a valid echo (reason: the large light is mainly responsible for long-distance measurement, and the anomaly of the large light at close range is mainly reflected in the case of high reflection peak value and pulse width).
[0073] Corresponding to the methods given in the above method embodiments, this application also provides a corresponding apparatus, which includes a module for executing the corresponding methods in the above method embodiments. This module can be software, hardware, or a combination of software and hardware. It is understood that the technical features described in the above method embodiments are also applicable to the following apparatus embodiments. Therefore, details not described in detail can be found in the above method embodiments, and for brevity, will not be repeated here.
[0074] Figure 5 A structural block diagram of the apparatus provided in an embodiment of this application is shown. For ease of explanation, only the parts related to the embodiments of this application are shown. (Refer to...) Figure 5 The device may specifically include the following modules:
[0075] The control unit 501 is used to control the lidar to send one high-power laser pulse and one low-power laser pulse respectively during a single ranging process;
[0076] The processing unit 502 is used to receive all echoes returned by high-power pulses and low-power pulses, classify all echoes to obtain two sets of classified echoes, filter the two sets of classified echoes respectively, and obtain two sets of verification echoes.
[0077] The verification unit 503 is used to perform cross-traversal verification on the two sets of verification echoes to obtain the state bit array, and compare the state bit array with the preset echo truth table to obtain the target output echo and complete the ranging process. The preset echo truth table contains multiple preset state bit arrays.
[0078] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method and system embodiments section, and they will not be repeated here.
[0079] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0080] like Figure 6 As shown, this application embodiment also provides an apparatus comprising: at least one processor 601, a memory 602, and a computer program 603 stored in the memory and executable on at least one processor, wherein the processor executes the computer program to implement the steps in any of the above method embodiments.
[0081] This application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the steps in the various method embodiments described above. This application also provides a computer program product that, when run on an electronic device, enables a mobile terminal to implement the steps in the various method embodiments described above. If an integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it implements the steps in the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. A computer-readable medium can include at least: any entity or device capable of carrying computer program code to a photographic device / electronic device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, external hard drives, magnetic disks, or optical discs. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals. In the above embodiments, the descriptions of each embodiment have different focuses; parts not described in detail or in a particular embodiment can be referred to in the relevant descriptions of other embodiments.
[0082] The above embodiments are merely illustrative examples and are not intended to limit the implementation. Those skilled in the art will recognize that other variations or modifications can be made based on the above description. It is neither necessary nor possible to exhaustively list all possible implementations. However, obvious variations or modifications derived therefrom are still within the scope of protection of this invention.
Claims
1. A truth table-based beamforming ranging method for lidar, characterized in that, The method includes: The lidar is controlled to send one high-power laser pulse and one low-power laser pulse during a single ranging operation. The system receives all echoes returned by the high-power laser pulse and the low-power laser pulse, classifies all echoes to obtain two sets of classified echoes, filters the two sets of classified echoes respectively, and obtains two sets of verification echoes. The two sets of verification echoes are cross-traversed and verified to obtain a state bit array. The state bit array is then compared with a preset echo truth table to obtain the target output echo and complete the ranging process. The preset echo truth table contains multiple preset state bit arrays. The two sets of classified echoes include a small-range echo group and a large-range echo group. Cross-checking is performed on the two sets of verification echoes to obtain a state bit array, including: 4-1: Select any echo in the small-range verification echo group as the target small-range verification echo, and iterate through the target small-range verification echo to verify each of the large-range echoes in the large-range echo group to obtain the echo status bit and verification status bit corresponding to the target small-range verification echo. 4-2: Repeat step 4-1 until all the small-range verification echoes in the small-range verification echo group have been traversed and verified with each echo in the large-range echo group to obtain a first state bit array, which contains M state bits, where M is a positive integer greater than or equal to 2. 4-3: Select any echo in the large-range check echo group as the target large-range check echo, and iterate through the target large-range check echo to check each of the small-range echoes in the small-range echo group to obtain the echo status bit and check status bit corresponding to the target large-range check echo. 4-4: Repeat step 4-3 until all the large-range check echoes in the large-range check echo group have been traversed and checked with each echo in the small-range echo group to obtain a second state bit array. The first state bit array contains M state bits, where M is a positive integer greater than or equal to 2. 4-5: Summarize the first state bit array and the second state bit array to obtain the state bit array.
2. The truth table-based wave-selective ranging method for lidar according to claim 1, characterized in that, The system receives all echoes returned by the high-power laser pulse and the low-power laser pulse, and classifies all echoes to obtain two sets of classified echoes, including: A preset echo segment distance value is determined, and two ranging ranges are determined based on the preset echo segment distance value and the range of the lidar, wherein the preset echo segment distance value is less than the range; The echoes received within two different ranging ranges are acquired to obtain two sets of classified echoes that exist in different ranging ranges.
3. The truth table-based wave-selective ranging method for lidar according to claim 1, characterized in that, The two sets of classified echoes were filtered separately to obtain two sets of verification echoes, including: The multiple echoes in each group of classified echoes are sorted from largest to smallest according to their corresponding intensity values; In each sorted group of classified echoes, the top M echoes with the largest intensity values are selected as the verification echoes corresponding to each group of classified echoes, so as to obtain two groups of verification echoes.
4. The truth table-based wave-selective ranging method for lidar according to claim 1, characterized in that, Select any echo from the small-range check echo group as the target small-range check echo, and iterate through and check each of the large-range echoes in the large-range echo group to obtain the echo status bit and check status bit corresponding to the target small-range check echo, including: If the target small-range verification echo exists, mark the echo status bit corresponding to the target small-range verification echo as 1; otherwise, mark it as 0. If the target small-range verification echo is not present, mark the verification status bit corresponding to the target small-range verification echo as 0; When the target small-range verification echo exists, and at least one matching large-range echo exists in the large-range echo group, the verification status bit corresponding to the target small-range verification echo is marked as 1; otherwise, it is marked as 0. The distance difference between the ranging value corresponding to the matching large-range echo and the ranging value corresponding to the target small-range verification echo is within a preset distance range.
5. The truth table-based wave-selective ranging method for lidar according to claim 1, characterized in that, Select any echo from the large-scale check echo group as the target large-scale check echo, and iterate through and check each of the small-scale echoes in the small-scale echo group to obtain the echo status bit and check status bit corresponding to the target large-scale check echo, including: If the target large-scale verification echo exists, mark the echo status bit corresponding to the target large-scale verification echo as 1; otherwise, mark it as 0. If the target large-scale verification echo is not present, mark the verification status bit corresponding to the target large-scale verification echo as 0; When the target large-area verification echo exists, and at least one matching small-area echo exists in the small-area echo group, the status bit of the large-area verification echo is marked as 1; otherwise, it is marked as 0. The distance difference between the ranging value corresponding to the matching small-area echo and the ranging value corresponding to the large-area verification echo is within a preset distance range.
6. The truth table-based wave-selective ranging method for lidar according to claim 1, characterized in that, The state bit array contains 2M echo state bits and 2M check state bits. The method further includes comparing the state bit array with a preset echo truth table to obtain the target output echo before the ranging process is completed. Obtain the initial echo truth table, which contains multiple state bit arrays. The multiple state bit arrays contain all possible state bit arrays composed of 2M echo state bits with different states and 2M check state bits with different states. Different states are indicated by 0 or 1. Determine preset filtering conditions, filter all possible state bit arrays in the initial echo truth table, and obtain preset state bit arrays. Based on the preset state bit arrays, generate the preset echo truth table, wherein each preset state bit array corresponds to a state, and each state corresponds to output echo information.
7. The truth table-based wave-selective ranging method for lidar according to claim 1, characterized in that, The ranging process involves comparing the state bit array with a preset echo truth table to obtain the target output echo, including: The state bit array is matched with multiple preset state bit arrays in the preset echo truth table. When there is a target state bit array in the preset state bit array that is the same as the state bit array, the output echo information corresponding to the target state bit array is searched, and the target output echo is determined and output based on the output echo information.
8. The truth table-based wave-selective ranging method for lidar according to claim 3, characterized in that, After sorting the multiple echoes in each group of classified echoes from largest to smallest according to their corresponding intensity values, the method further includes: The peak value and pulse width corresponding to each of the classified echoes are obtained respectively; If the peak value and the pulse width meet the preset conditions, the classified echo is confirmed to be a valid wave, the valid wave is retained and participates in the sorting operation; If the peak value and the pulse width do not meet the preset conditions, the classified echo is confirmed to be an invalid wave, and the invalid wave is deleted.
9. A truth table-based waveguide ranging device for lidar, characterized in that, The device includes: The control unit is used to control the lidar to send one high-power laser pulse and one low-power laser pulse during a single ranging operation. The processing unit is used to receive all echoes returned by the high-power laser pulse and the low-power laser pulse, classify all echoes to obtain two sets of classified echoes, filter the two sets of classified echoes respectively, and obtain two sets of verification echoes. The verification unit is used to cross-traverse and verify the two sets of verification echoes to obtain a state bit array, and compare the state bit array with a preset echo truth table to obtain the target output echo and complete the ranging process. The preset echo truth table contains multiple preset state bit arrays. The two sets of classified echoes include a small-range echo group and a large-range echo group. Cross-checking is performed on the two sets of verification echoes to obtain a state bit array, including: 4-1: Select any echo in the small-range verification echo group as the target small-range verification echo, and iterate through the target small-range verification echo to verify each of the large-range echoes in the large-range echo group to obtain the echo status bit and verification status bit corresponding to the target small-range verification echo. 4-2: Repeat step 4-1 until all the small-range verification echoes in the small-range verification echo group have been traversed and verified with each echo in the large-range echo group to obtain a first state bit array, which contains M state bits, where M is a positive integer greater than or equal to 2. 4-3: Select any echo in the large-range check echo group as the target large-range check echo, and iterate through the target large-range check echo to check each of the small-range echoes in the small-range echo group to obtain the echo status bit and check status bit corresponding to the target large-range check echo. 4-4: Repeat step 4-3 until all the large-range check echoes in the large-range check echo group have been traversed and checked with each echo in the small-range echo group to obtain a second state bit array. The first state bit array contains M state bits, where M is a positive integer greater than or equal to 2. 4-5: Summarize the first state bit array and the second state bit array to obtain the state bit array.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, characterized in that when the computer program is executed by a processor, it implements the steps of the truth table-based wave-selection ranging method for lidar according to any one of claims 1 to 8.