Radar time error calibration method and related devices and media
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-31
- Publication Date
- 2026-08-11
AI Technical Summary
[0016]以上方案,在自动引导小车旋转过程中,先获取第一雷达和第二雷达针对同一探测目标分别进行探测得到的第一点云和第二点云,并利用第一点云和第二点云进行点云配准得到目标变换参数,然后利用目标变换参数,确定从获取第一点云到获取到第二点云的过程中自动引导小车的目标旋转角度。采用点云配准的方式确定的目标旋转角度不受第一雷达和第二雷达时间的影响,能够反映在获取第一点云到获取到第二点云的过程中自动引导小车的真实旋转角度,从而使得利用目标旋转角度确定的第一时间差能够反映第一雷达和第二雷达之间的真实时间差,进而使得利用第一时间差和第二时间差(即第二点云的探测时间与第一点云的探测时间的差值)标定得到的第一雷达和第二雷达的时间误差更准确。也即是,通过该方式,能够提高标定的第一雷达和第二雷达的时间误差的准确性。
Smart Images

Figure CN121500252B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of sensor technology, and in particular to a radar time error calibration method and related equipment and media. Background Technology
[0002] Automated Guided Vehicles (AGVs) are typically equipped with multiple radars, such as radars facing forward and radars facing backward. However, due to potential discrepancies in the clock references of each radar (e.g., crystal oscillator drift, asynchronous startup times), the timestamps corresponding to the point clouds detected by each radar targeting the same target may not match, resulting in time asynchrony and time errors. This time error causes the point clouds detected by each radar to be misaligned in time and space, affecting the accuracy of subsequent obstacle recognition and navigation for the AGV.
[0003] Therefore, how to accurately calibrate the time error between different radars has become an urgent technical problem to be solved. Summary of the Invention
[0004] The main technical problem addressed in this application is to provide a radar time error calibration method, related equipment, and medium, which can improve the accuracy of the time error calibration for the first and second radars.
[0005] To solve the above-mentioned technical problems, this application adopts a technical solution as follows: A radar time error calibration method is provided. This method includes: during the rotation of an automatically guided vehicle, acquiring a first point cloud and a second point cloud obtained by a first radar and a second radar respectively detecting the same target, wherein the first radar and the second radar are two radars on the automatically guided vehicle with an included angle; performing point cloud registration using the first point cloud and the second point cloud to obtain target transformation parameters; using the target transformation parameters to determine the target rotation angle of the automatically guided vehicle during the process from acquiring the first point cloud to acquiring the second point cloud; determining the first time difference required for the automatically guided vehicle to rotate the target rotation angle; and using the first time difference and the second time difference to determine the time error between the first radar and the second radar, wherein the second time difference is the difference between the detection time of the second point cloud and the detection time of the first point cloud.
[0006] In one embodiment, the first point cloud includes point data of a plurality of first location points, and the second point cloud includes point data of a plurality of second location points. Point cloud registration is performed using the first point cloud and the second point cloud to obtain target transformation parameters, including: selecting a plurality of matching point pairs from the first point cloud and the second point cloud, wherein a matching point pair includes a first location point and a second location point; performing first point cloud registration on the point data of the plurality of matching point pairs to obtain first transformation parameters; using the first transformation parameters as initial transformation parameters, and performing second point cloud registration using the first point cloud and the second point cloud to obtain second transformation parameters; and using the second transformation parameters as target transformation parameters.
[0007] In one embodiment, selecting multiple matching point pairs from a first point cloud and a second point cloud includes: determining the boundary of the same position region of the first point cloud and the second point cloud; filtering the first point cloud and the second point cloud respectively using the boundary of the same position region to obtain a third point cloud and a fourth point cloud for the same position region; selecting multiple matching point pairs from the third point cloud and the fourth point cloud; and performing second point cloud registration using the first point cloud and the second point cloud to obtain second transformation parameters, including: performing second point cloud registration using the third point cloud and the fourth point cloud to obtain second transformation parameters.
[0008] In one embodiment, the detected target is a corner of a wall, and the multiple matching point pairs include target matching point pairs, which include a first corner point and a second corner point detected by the first radar and the second radar respectively; and / or, the multiple matching point pairs include point pairs corresponding to the boundary points of the same location area of the first point cloud and the second point cloud.
[0009] In one embodiment, the detection target is a corner of a wall. Acquiring a first point cloud and a second point cloud obtained by a first radar and a second radar respectively detecting the same target includes: acquiring the first detection point cloud currently detected by the first radar and determining at least one first corner point in the first detection point cloud; in response to the existence of a corner point among the at least one first corner point that meets a first distance condition, using the first detection point cloud as the first point cloud, wherein the first distance condition includes the distance between the corner point and the first radar being less than a first distance threshold; acquiring the second detection point cloud currently detected by the second radar and determining at least one second corner point in the second detection point cloud; in response to the existence of a corner point among the at least one second corner point that meets a second distance condition, using the second detection point cloud as the second point cloud, wherein the second distance condition includes the distance between the corner point and the second radar being less than a second distance threshold.
[0010] In one embodiment, the step of determining at least one target corner point in the target detection point cloud includes: performing line fitting using point data of each location point in the target detection point cloud to obtain multiple first lines; determining at least one intersection point of the multiple first lines as at least one target corner point; wherein the target detection point cloud is a first detection point cloud, and at least one target corner point is at least one first corner point; or, the target detection point cloud is a second detection point cloud, and at least one target corner point is at least one second corner point.
[0011] In one embodiment, a series of first straight lines are obtained by fitting point data of each location point in the target detection point cloud to a straight line. This includes: determining a first candidate location point in the target detection point cloud and determining a series of second candidate location points corresponding to the first candidate location point, wherein the series of second candidate location points corresponding to the first candidate location point are multiple location points whose index numbers are located before or after the first candidate location point; using the first candidate location point and the series of second candidate location points corresponding to the first candidate location point as fitting location points; performing straight line fitting using each fitting location point to obtain a second straight line; determining whether each fitting location point and the second straight line meet a first condition; if they meet the first condition, expanding the second straight line to obtain a third straight line; if they do not meet the first condition, or after performing the step of expanding the second straight line to obtain a third straight line, determining a new first candidate location point and performing the determination of a series of second candidate location points corresponding to the first candidate location point and subsequent steps, until all location points in the target detection point cloud have been traversed as first candidate location points; and using the determined series of third straight lines as series of first straight lines.
[0012] In one embodiment, expanding a second straight line to obtain a third straight line includes: determining an expanded position point adjacent to the second straight line from the target detection point cloud; determining whether the expanded position point and the second straight line meet a second condition; if the second condition is met, performing line fitting on the expanded position point and each position point included in the second straight line to obtain a new second straight line, determining an expanded position point adjacent to the new second straight line, and re-executing the determination of whether the expanded position point and the second straight line meet the second condition and subsequent steps; if the second condition is not met, then using the current second straight line as a third straight line.
[0013] In one embodiment, determining the target rotation angle of the automatically guided vehicle during the process from acquiring the first point cloud to acquiring the second point cloud using target transformation parameters includes: determining the target rotation angle using the target rotation matrix in the target transformation parameters; and / or determining the time error of the first radar and the second radar using a first time difference and a second time difference, including: taking the difference between the first time difference and the second time difference as the time error; and / or, after determining the time error of the first radar and the second radar using the first time difference and the second time difference, the method further includes: combining multiple time errors corresponding to multiple rotations of the automatically guided vehicle to determine the time error calibration result of the first radar and the second radar.
[0014] To solve the above-mentioned technical problems, another technical solution adopted in this application is: to provide an electronic device, including a memory and a processor coupled to each other, wherein the memory stores program instructions; and the processor is used to execute the program instructions stored in the memory to implement the above-mentioned radar time error calibration method.
[0015] To solve the above-mentioned technical problems, another technical solution adopted in this application is to provide a computer-readable storage medium for storing program instructions that can be executed by a processor to implement the above-mentioned radar time error calibration method.
[0016] The above scheme, during the automatic guided vehicle rotation process, first acquires the first point cloud and the second point cloud obtained by the first and second radars respectively detecting the same target. Then, it uses the first and second point clouds for point cloud registration to obtain target transformation parameters. These parameters are then used to determine the target rotation angle of the automatically guided vehicle during the process from acquiring the first point cloud to acquiring the second point cloud. The target rotation angle determined by point cloud registration is unaffected by the time difference between the first and second radars, reflecting the true rotation angle of the automatically guided vehicle during the process. This ensures that the first time difference determined by the target rotation angle reflects the true time difference between the first and second radars, thus making the time error of the first and second radars calibrated using the first and second time differences (i.e., the difference between the detection time of the second point cloud and the detection time of the first point cloud) more accurate. In other words, this method improves the accuracy of the calibrated time error of the first and second radars. Attached Figure Description
[0017] Figure 1 This is a flowchart illustrating an embodiment of the radar time error calibration method provided in this application; Figure 2 This is a schematic diagram of the radar installation provided in this application; Figure 3This is a flowchart illustrating another embodiment of the radar time error calibration method provided in this application; Figure 4 This is a schematic diagram of the corner point cloud detection scenario provided in this application; Figure 5 This is a flowchart illustrating one implementation of the point cloud detection method provided in this application; Figure 6 This is a schematic diagram of the first candidate location point and the corresponding multiple second candidate location points provided in this application; Figure 7 This is a schematic diagram of multiple matching point pairs in the corner scene provided in this application; Figure 8 This is a schematic diagram of the framework of an embodiment of the radar time error calibration device provided in this application; Figure 9 This is a schematic diagram of the framework of an embodiment of the electronic device provided in this application; Figure 10 This is a schematic diagram of a framework of an embodiment of the computer-readable storage medium provided in this application. Detailed Implementation
[0018] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0019] In this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. The terms "first" and "second" in this application are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, features defined with "first" or "second" may explicitly or implicitly include at least one of those features. The term "multiple" in this application means at least two. The term "several" in this application means at least two. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.
[0020] Please see Figure 1 , Figure 1This is a schematic flowchart of an embodiment of the radar time error calibration method provided in this application. Figure 1 As shown, the method includes the following steps: S11: During the rotation of the automatically guided trolley, acquire the first point cloud and the second point cloud obtained by the first radar and the second radar respectively detecting the same target.
[0021] The automated guided vehicle (AGV) is equipped with multiple radars, which can be two or more. The first radar and the second radar are two radars on the AGV that are at an angle to each other. An angle between the first and second radars means that their orientations are not the same; that is, the angle between the first and second radars is not zero.
[0022] Figure 2 This is a schematic diagram of the radar installation provided in this application. Figure 2 As shown, the first radar is mounted directly in front of the automated guided vehicle (AGV), and the second radar is mounted directly behind the AGV, meaning the angle between the first and second radars is 180°. The radar coordinate systems of the first and second radars change continuously as the AGV rotates. It should be noted that... Figure 2 The example provided is based solely on the case where the angle between the first radar and the second radar is 180°. In other examples, the angle between the first radar and the second radar may be other angles.
[0023] For example, the first radar and the second radar are 2D lidar.
[0024] For example, during the rotation of the automatically guided vehicle, the first radar first faces the target and detects the first point cloud. After the automatically guided vehicle rotates a certain angle, the second radar faces the target and detects the second point cloud.
[0025] S12: Use the first and second point clouds to perform point cloud registration to obtain the target transformation parameters.
[0026] The goal of point cloud registration using the first and second point clouds is to find target transformation parameters that allow the first and second point clouds to overlap as much as possible in the same coordinate system. After point cloud registration, the obtained registration result includes target transformation parameters, which consist of the target rotation matrix and the target translation vector.
[0027] In one embodiment, point cloud registration can be performed on the first point cloud and the second point cloud, such as by using the ICP (Iterative Closest Point) algorithm to register the first point cloud and the second point cloud to obtain the target transformation parameters.
[0028] In another embodiment, multiple matching point pairs can be selected from the first and second point clouds, and a first point cloud registration (coarse point cloud registration) can be performed on these matching point pairs. Then, the transformation parameters obtained from the first point cloud registration are used as the initial transformation parameters for the second point cloud registration. A second point cloud registration (fine point cloud registration) is then performed using the first and second point clouds to obtain the target transformation parameters. In this embodiment, the target transformation parameters are obtained through two point cloud registrations.
[0029] S13: Using the target transformation parameters, determine the target rotation angle that automatically guides the trolley from acquiring the first point cloud to acquiring the second point cloud.
[0030] In step S13, after determining the target transformation parameters, the target rotation matrix is extracted from the target transformation parameters, and the target rotation angle is determined using the target rotation matrix. The target rotation matrix can be expressed by the following formula:
[0031] It is understandable that when the automated guided vehicle rotates, the various radars installed on it will rotate synchronously with the vehicle body; therefore, the angles in the rotation matrix R... This means automatically guiding the target rotation angle of the vehicle during the process of acquiring the first point cloud and then the second point cloud.
[0032] In one embodiment, during point cloud detection of the target, the automatic guide trolley rotates at a constant angular velocity (i.e., uniform rotation), and the ratio of the target rotation angle to the angular velocity of the automatic guide trolley can be used as the first time difference.
[0033] S15: Determine the time error between the first radar and the second radar using the first time difference and the second time difference.
[0034] In step S15, the second time difference is the difference between the detection time of the second point cloud and the detection time of the first point cloud. After obtaining the first time difference and the second time difference, the difference between the first time difference and the second time difference is used as the time error between the first radar and the second radar.
[0035] The time error can be determined using the following formula:
[0036] in, This indicates the time error between the first and second radars. Indicates the target rotation angle. This indicates the rotational angular velocity of the automated guided vehicle. The first time difference is indicated by t1 and t2, which represent the detection time of the first point cloud and the detection time of the second point cloud, respectively. This indicates the second time difference.
[0037] Understandable Characterizes the time synchronization error between the first and second radars. If A value of 0 indicates that the time of the first and second radars is completely synchronized. If... If the value is not 0, it means that the timing of the first radar and the second radar is not synchronized.
[0038] Understandably, in an ideal scenario (i.e., when the first and second radars are synchronized), when the automated guided vehicle... During rotation, the rotation angle of the automated guided vehicle should be as follows during the time interval from t1 to t2: However, in reality, due to the time asynchrony between the first and second radars, a definite time difference occurs. It cannot reflect the true time difference between the first and second radars, therefore It cannot accurately reflect the true rotation angle of the automated guided vehicle (AGV). For example, suppose the AGV rotates at ω=10° / s. Ideally, the clocks of the first and second radars are accurate and consistent with the reference clock. If the first radar detects the first point cloud at 10:00:00 on the reference clock, it will record t1 as 10:00:00. If the second radar detects the second point cloud at 10:00:02 on the reference clock, it will record t2 as 10:00:02. Within these 2 seconds, the AGV rotates 20°, which is the ideal rotation angle of the AGV. However, in reality, assuming the first radar's clock is 1 second ahead of the reference clock, and the second radar's clock is the same as the reference clock, the first radar detects the first point cloud when the reference clock is 9:59:59, but because its clock is 1 second ahead, it will record t1 as 10:00:00. The second radar detects the second point cloud when the reference clock is 10:00:02, and will record t2 as 10:00:02. In this case, the time difference recorded by the two radars... It is set to 2 seconds, but the actual time difference is 3 seconds.
[0039] In this embodiment, during the rotation of the automatically guided vehicle, firstly, a first point cloud and a second point cloud, obtained from the detection of the same target by the first and second radars respectively, are acquired. Point cloud registration is then performed using the first and second point clouds to obtain target transformation parameters. These target transformation parameters are then used to determine the target rotation angle of the automatically guided vehicle from the acquisition of the first point cloud to the acquisition of the second point cloud. The target rotation angle determined by point cloud registration is unaffected by the time difference between the first and second radars, reflecting the true rotation angle of the automatically guided vehicle during the acquisition of the first and second point clouds. This ensures that the first time difference determined by the target rotation angle reflects the true time difference between the first and second radars, thereby making the time error of the first and second radars calibrated using the first and second time differences (i.e., the difference between the detection time of the second point cloud and the detection time of the first point cloud) more accurate. In other words, this method improves the accuracy of the time error calibration of the first and second radars on the automatically guided vehicle.
[0040] Please see Figure 3 , Figure 3 This is a schematic flowchart of another embodiment of the radar time error calibration method provided in this application. Figure 3 As shown, the method includes the following steps: S31: During the rotation of the automatically guided trolley, acquire the first point cloud and the second point cloud obtained by the first radar and the second radar respectively detecting the same target.
[0041] For details regarding the first and second radars, please refer to the relevant descriptions in step S11 above; they will not be repeated here.
[0042] In one embodiment, to improve the accuracy of the time error of the first and second radars in subsequent calibration, the automatic guide trolley is controlled to rotate at a constant angular velocity (i.e., uniform rotation) during the point cloud detection of the target.
[0043] In one embodiment, since the rotational angular velocity of the automated guided vehicle fluctuates greatly when it first starts to rotate, after controlling the vehicle body to start rotating, the automated guided vehicle is first controlled to rotate a preset number of times. After the rotational angular velocity of the automated guided vehicle stabilizes, the point cloud detected by the first radar and the second radar is then acquired.
[0044] In one embodiment, the detection target is a corner of a wall. For example, the angle between the two walls at the corner is 90°.
[0045] Figure 4 This is a scene illustration of corner point cloud detection provided in this application, such as... Figure 4As shown, the AGV rotates near the corner of the wall and uses the first and second radars to detect point clouds.
[0046] Figure 5 This is a flowchart illustrating one implementation method of the point cloud detection method provided in this application. Figure 5 In this process, the first point cloud and the second point cloud, obtained by the first radar and the second radar respectively detecting the same target, are acquired through the following steps: S501: Obtain the first detection point cloud currently detected by the first radar, and determine at least one first corner point in the first detection point cloud.
[0047] The point cloud currently detected by the first radar is acquired as the first detection point cloud, and at least one corner point in the first detection point cloud is identified.
[0048] S502: In response to the existence of a corner point that meets the first distance condition among at least one first corner point, the first detected point cloud is taken as the first point cloud.
[0049] The first distance condition includes a distance between the corner point and the first radar being less than a first distance threshold. The first distance threshold is set according to actual needs.
[0050] When at least one of the first corner points meets the first distance condition, it is considered that the first radar has detected a corner. At this time, the first detection point cloud is acquired as the first point cloud, and the detection time of the first detection point cloud is taken as the detection time of the first point cloud.
[0051] If there is no corner point that meets the first distance condition among at least one first corner point, it is considered that the first radar has not detected the corner. At this time, the first detection point cloud of the first radar continues to be acquired and the determination of at least one first corner point in the first detection point cloud and subsequent steps are performed.
[0052] S503: Acquire the second detection point cloud currently detected by the second radar, and determine at least one second corner point in the second detection point cloud.
[0053] After acquiring the first point cloud, the system begins acquiring the second point cloud currently detected by the second radar to obtain the second detection point cloud, and identifies at least one second corner point in the second detection point cloud.
[0054] S504: In response to the existence of a corner point that meets the second distance condition among at least one second corner point, acquire the point cloud currently detected by the second radar as the second point cloud.
[0055] The second distance condition includes a requirement that the distance between the corner point and the second radar be less than a second distance threshold. The second distance threshold is set according to actual needs.
[0056] When at least one of the second corner points meets the second distance condition, it is considered that the second radar has detected the corner. At this time, the second detection point cloud is acquired as the second point cloud, and the detection time of the second detection point cloud is taken as the detection time of the second point cloud.
[0057] If there is no corner point that meets the second distance condition among at least one second corner point, it is considered that the second radar has not detected the corner. At this time, the second detection point cloud of the second radar continues to be acquired and the determination of at least one second corner point in the second detection point cloud and subsequent steps are performed.
[0058] Furthermore, considering that when the second detection point cloud of the second radar fails to detect a corner, the trolley may automatically rotate once more after acquiring the first point cloud from the first radar to acquire the second detection point cloud, leading to reduced accuracy in subsequent calculations, the following steps are executed: Steps S501 to S504 are re-executed to re-detect the first and second point clouds. For example, the time difference threshold is 0.8 * ... ,in, The rotational angular velocity of the automatically guided vehicle.
[0059] Through steps S501 to S504, point clouds of the same corner scanned by the first and second radars can be automatically and accurately acquired, thereby providing effective data for subsequent point cloud registration and time error calibration.
[0060] The following further explains the determination of at least one first corner point in the first detection point cloud in step S501 and the determination of at least one second corner point in the second detection point cloud in step S503. For simplicity, a target detection point cloud and at least one target corner point are defined. The target detection point cloud is the first detection point cloud, and the at least one target corner point is at least one first corner point in the first detection point cloud. Alternatively, the target detection point cloud is the second detection point cloud, and the at least one target corner point is at least one second corner point in the second detection point cloud.
[0061] The target detection point cloud includes point data of several location points. The point data of each location point may include information such as the two-dimensional coordinates and radar scanning angle of the corresponding location point. The steps to determine at least one target corner point in the target detection point cloud include: performing straight line fitting using the point data of each location point in the target detection point cloud to obtain multiple first straight lines; and determining at least one intersection point of the multiple first straight lines as at least one target corner point.
[0062] In one embodiment, line fitting is performed using point data from various locations in the target detection point cloud to obtain multiple first straight lines, further including the following steps: Step 1: Determine the first candidate location point in the target detection point cloud, and determine multiple second candidate location points corresponding to the first candidate location point.
[0063] Understandably, the point data of each location in the radar's detection point cloud will be arranged and stored in the scanning order.
[0064] The first candidate location point is any location point among all the location points in the target detection point cloud, such as the location point with the first index number, the location point with the last index number, etc. The multiple second candidate location points corresponding to the first candidate location point are multiple location points with index numbers that are before or after the first candidate location point.
[0065] Figure 6 This is a schematic diagram of the first candidate location point and the corresponding multiple second candidate location points provided in this application. For example... Figure 6 As shown, the i-th position within the dashed box is the currently determined first candidate position, and the n positions preceding the i-th position are multiple second candidate positions corresponding to the i-th position.
[0066] Step 2: Use the first candidate position point and the multiple second candidate position points corresponding to the first candidate position point as the fitting position points.
[0067] Step 3: Use the fitted position points to perform line fitting to obtain the second line.
[0068] In one example, a second straight line is obtained by fitting a straight line to each fitted location point using the least squares method. Details regarding least squares line fitting can be found in known techniques and will not be elaborated upon here.
[0069] Step 4: Determine whether each fitted position point meets the first condition with respect to the second line.
[0070] If the first condition is met, a seed line is identified, and step five is executed to expand the second line. If the first condition is not met, step six is executed.
[0071] The first condition includes: the distance from each fitted position point to the second straight line is less than a third distance threshold; and the difference between the radar scanning angle of each fitted position point and the angle of the second straight line is greater than a first angle threshold. The third distance threshold is a pre-set, relatively small value. The radar scanning angle of each fitted position point and the angle of the second straight line are both angles between the fitted position point and the X-axis of the corresponding radar's coordinate system.
[0072] Step 5: Expand the second line to obtain the third line.
[0073] In one example, extending the second line to obtain the third line may further include the following sub-steps: Sub-step one: Determine an extended location point adjacent to the second straight line from the target detection point cloud.
[0074] When extending forward from the second line, the extended position is a point located before and adjacent to the second line. When extending backward from the second line, the extended position is a point located after and adjacent to the second line.
[0075] Sub-step two: Determine whether the extended position point and the second line meet the second condition.
[0076] The second condition includes: the distance from the extended location point to the second straight line is less than the fourth distance threshold. The fourth distance threshold can be set according to actual needs.
[0077] In sub-step three, if the second condition is met, perform line fitting on each position point included in the extended position point and the second line to obtain a new second line, determine an extended position point adjacent to the new second line, and re-execute the judgment on whether the extended position point and the second line meet the second condition and its subsequent steps.
[0078] In sub-step four, if the second condition is not met, the current second line is treated as a third line.
[0079] After the straight line expansion through sub-steps one through four, multiple third straight lines can be obtained in the end.
[0080] Step six: If the first condition is not met, or after the step of expanding the second line to obtain the third line, determine a new first candidate location point and execute the multiple second candidate location points corresponding to the first candidate location point determined in step one and the subsequent steps, until all location points in the target detection point cloud have been traversed as first candidate location points.
[0081] Step 7: Use the determined third lines as multiple first lines.
[0082] Furthermore, after obtaining multiple fitted first lines, these first lines can be merged. For example, for any adjacent lines A and B among the multiple first lines, where the index of line A precedes the index of line B, lines A and B are merged into a new first line when they meet the merging conditions. The merging conditions may include: the index of the last point of line A is adjacent to the index of the first point of line B, and the angle difference between lines A and B is less than a second angle threshold. The second angle threshold is a pre-set, relatively small value.
[0083] In one embodiment, the determined multiple first straight lines are stored in sequence, and the step of determining at least one intersection point of the multiple first straight lines includes: for any adjacent straight lines C and D among the multiple first straight lines, the index number of straight line C is located before the index number of straight line D, and when straight lines C and D satisfy the intersection condition, it can be determined that straight lines C and D have an intersection point.
[0084] The intersection conditions include: the distance between the end point of line C and the beginning point of line D is less than the fifth distance threshold, and the difference between the angle between lines C and D and the preset angle is less than the third angle threshold. The preset angle is related to the specific structured scene; for example, in a corner scene, the preset angle is 90°. The third angle threshold is a small value set according to actual needs.
[0085] In structured scenarios such as corners, the intersection point is called the corner point. The coordinates of the corner point can be determined using the following formula:
[0086] Where a1, b1, and c1 are the coefficients of line C, and a2, b2, and c2 are the coefficients of line D.
[0087] After performing the aforementioned step S31, a first point cloud and a second point cloud are obtained from the detection of the same target (such as the same corner of a wall) by the first radar and the second radar, respectively. The first point cloud of the first radar includes point data of several first position points, and the second point cloud of the second radar includes point data of several second position points.
[0088] After obtaining the first and second point clouds, they can be further transformed into the vehicle coordinate system of the automated guided vehicle based on the laser extrinsic parameters, and point cloud distortion correction processing can be performed. Point cloud distortion correction processing can refer to known techniques and will not be explained further here.
[0089] S32: Select multiple matching point pairs from the first point cloud and the second point cloud.
[0090] A matching point pair includes a first location point in a first point cloud and a second location point in a second point cloud. The physical locations corresponding to the first location point and the second location point in the matching point pair are the same.
[0091] In one embodiment, the step of selecting multiple matching point pairs from the first point cloud and the second point cloud includes: determining the boundary of the same location region of the first point cloud and the second point cloud; filtering the first point cloud and the second point cloud respectively using the boundary of the same location region to obtain a third point cloud and a fourth point cloud for the same location region; and selecting multiple matching point pairs from the third point cloud and the fourth point cloud.
[0092] The same location area refers to the area where the detection ranges of the first radar and the second radar overlap and correspond to the same physical space, and the boundary of the same location area is the spatial range of the area.
[0093] It is understandable that the first point cloud detected by the first radar and the second point cloud detected by the second radar may contain some location points that do not correspond to the same physical location. If multiple matching point pairs are directly determined from the full point cloud (i.e., the first and second point clouds), mismatches may occur, leading to low accuracy in subsequent point cloud registration. By first filtering the third and fourth point clouds located in the same area, the effective point cloud range can be determined first. Then, multiple matching point pairs can be selected from the third and fourth point clouds, improving the accuracy of the determined multiple matching point pairs.
[0094] In one implementation, the number of multiple matching point pairs is greater than or equal to 3.
[0095] In one embodiment, the plurality of matching point pairs includes target matching point pairs, which include first corner points and second corner points detected by the first radar and the second radar, respectively. The plurality of matching point pairs may also include point pairs corresponding to boundary points of the same location region of the first point cloud and the second point cloud.
[0096] Figure 7 This is a schematic diagram of multiple matching point pairs in a corner scene provided in this application. For example... Figure 7 As shown, the first point cloud P1 and the second point cloud P2 were detected by the first radar and the second radar, respectively. Figure 7 The CCP identified three pairs of matching points. The first pair consists of the first corner point a1 and the second corner point b1; the second pair consists of point a2 and point b2; and the third pair consists of point a3 and point b3. The length d of line l1 in the first point cloud P1 and the second point cloud P2 is compared. 11 and d 21 Using the smaller length as a reference, a second pair of matching points can be obtained: position point a2 and position point b2. Compare the length d of line l2 in the first point cloud P1 and the second point cloud P2. 12 and d 22 Based on the shorter length, a third pair of matching points can be obtained: position point a3 and position point b3. The second and third pairs of matching points are both pairs of points corresponding to the boundary points of the same position region of the first point cloud P1 and the second point cloud P2.
[0097] The aforementioned third point cloud corresponds to Figure 7 The fourth point corresponds to each location point within the range a2 to a3. Figure 7 Each location point within the range from b2 to b3.
[0098] S33: Perform first point cloud registration on the point data of multiple matching point pairs to obtain the first transformation parameters.
[0099] For point data of multiple matching point pairs, a first point cloud registration is performed to find a first transformation parameter. This first transformation parameter, when used to transform each first position point in the multiple matching point pairs, minimizes the sum of the positional errors between the transformed first position points and each second position point in the multiple matching point pairs; or, when used to transform each second position point in the multiple matching point pairs, minimizes the sum of the positional errors between the transformed second position points and each first position point in the multiple matching point pairs. The first transformation parameter includes a rotation matrix and a translation vector.
[0100] In one embodiment, point cloud registration is performed using the least squares method. The process of the first point cloud registration can be represented by the following formula:
[0101] Where R and t represent the rotation matrix and translation vector, respectively. and This represents the i-th matching point pair.
[0102] S34: Using the first transformation parameters as the initial transformation parameters, the second point cloud is registered using the first point cloud and the second point cloud to obtain the second transformation parameters, and the second transformation parameters are used as the target transformation parameters.
[0103] In one embodiment, the third and fourth point clouds determined in step S32 are used for second point cloud registration to obtain second transformation parameters. The second transformation parameters also include a rotation matrix and a translation vector. For example, the ICP algorithm can be used to perform second point cloud registration on the third and fourth point clouds to obtain the second transformation parameters. Details regarding the ICP algorithm can be found in known technologies and will not be elaborated upon here.
[0104] S35: Using target transformation parameters, determine the target rotation angle that automatically guides the trolley from acquiring the first point cloud to acquiring the second point cloud.
[0105] The relevant content of step S35 can be referred to in step S13 above, and will not be repeated here.
[0106] S36: Determine the first time difference required for the automatic guided vehicle to rotate the target rotation angle.
[0107] The relevant content of step S36 can be referred to in step S14 above, and will not be repeated here.
[0108] S37: Use the first time difference and the second time difference to determine the time error between the first radar and the second radar.
[0109] The relevant content for determining the time error in step S37 can be referred to in step S15 above, and will not be repeated here.
[0110] In one embodiment, the single time error corresponding to a single rotation of the automatic guide trolley is used as the time error calibration result of the first radar and the second radar.
[0111] In another embodiment, to further improve the accuracy of the time error calibration of the first radar and the second radar, the time error calibration results of the first radar and the second radar can be determined by comprehensively considering the multiple time errors corresponding to the multiple rotations of the automatic guide trolley (i.e., the multiple time errors obtained by repeatedly executing steps S31 to S37).
[0112] For example, the average value of multiple time errors is determined, and this average value is used as the time error calibration result of the first radar and the second radar.
[0113] For example, the number of multiple time errors can be 3, 5, or 10, etc.
[0114] In this embodiment, the target transformation parameters are determined by two point cloud registrations: the first point cloud registration and the second point cloud registration. The first point cloud registration can provide accurate initial transformation parameters for the second point cloud registration, making the target transformation parameters determined by the second point cloud registration more accurate and reliable. This further improves the accuracy of the subsequently determined target rotation angle, thereby further improving the accuracy of the time error of the subsequently calibrated first and second radars.
[0115] The time error determined in this embodiment can be used for radar time synchronization during the actual movement of the automatically guided vehicle. For example, the determined time error is added to the timestamp of the second radar to synchronize the timestamps of the first and second radars.
[0116] The time error determined in this embodiment can also be used as an evaluation standard during the radar testing phase to assess whether the test radar can be introduced into the automated guided vehicle. For example, when the time error between test radars is greater than the time threshold, it indicates that the time synchronization capability of the test radar is poor or no time synchronization has been performed; when the time error between test radars is less than or equal to the time threshold, it indicates that the time synchronization capability of the test radar is acceptable or time synchronization has been performed.
[0117] Please see Figure 8 , Figure 8 This is a schematic diagram of a framework of an embodiment of the radar time error calibration device provided in this application. In this embodiment, the radar time error calibration device 80 includes a point cloud acquisition module 81, a point cloud registration module 82, a rotation angle determination module 83, a time difference determination module 84, and an error calibration module 85.
[0118] During the rotation of the automated guided vehicle, the point cloud acquisition module 81 acquires the first point cloud and the second point cloud obtained by the first radar and the second radar respectively detecting the same target, wherein the first radar and the second radar are two radars on the automated guided vehicle that have an angle between them; the point cloud registration module 82 is used to register the first point cloud and the second point cloud to obtain the target transformation parameters; the rotation angle determination module 83 is used to determine the target rotation angle of the automated guided vehicle from the acquisition of the first point cloud to the acquisition of the second point cloud using the target transformation parameters; the time difference determination module 84 is used to determine the first time difference required for the automated guided vehicle to rotate the target rotation angle; the error calibration module 85 is used to determine the time error between the first radar and the second radar using the first time difference and the second time difference, wherein the second time difference is the difference between the detection time of the second point cloud and the detection time of the first point cloud.
[0119] In one embodiment, the first point cloud includes point data of a plurality of first location points, and the second point cloud includes point data of a plurality of second location points. The point cloud registration module 82 is used to select multiple matching point pairs from the first and second point clouds, wherein each matching point pair includes a first location point and a second location point; perform first point cloud registration on the point data of the multiple matching point pairs to obtain first transformation parameters; use the first transformation parameters as initial transformation parameters and perform second point cloud registration using the first and second point clouds to obtain second transformation parameters; and use the second transformation parameters as target transformation parameters.
[0120] In one embodiment, the point cloud registration module 82 is used to determine the boundary of the same position region of the first point cloud and the second point cloud; to filter the first point cloud and the second point cloud respectively using the boundary of the same position region to obtain a third point cloud and a fourth point cloud for the same position region; to select multiple matching point pairs from the third point cloud and the fourth point cloud; and to perform second point cloud registration using the third point cloud and the fourth point cloud to obtain the second transformation parameters.
[0121] In one embodiment, the detected target is a corner of a wall, and the multiple matching point pairs include target matching point pairs, which include a first corner point and a second corner point detected by the first radar and the second radar respectively; and / or, the multiple matching point pairs include point pairs corresponding to the boundary points of the same location area of the first point cloud and the second point cloud.
[0122] In one embodiment, the detection target is a corner of a wall. The point cloud acquisition module 81 is used to acquire a first detection point cloud currently detected by the first radar and determine at least one first corner point in the first detection point cloud; in response to the existence of a corner point among the at least one first corner point that meets a first distance condition, the first detection point cloud is used as the first point cloud, wherein the first distance condition includes the distance between the corner point and the first radar being less than a first distance threshold; acquire a second detection point cloud currently detected by the second radar and determine at least one second corner point in the second detection point cloud; in response to the existence of a corner point among the at least one second corner point that meets a second distance condition, the second detection point cloud is used as the second point cloud, wherein the second distance condition includes the distance between the corner point and the second radar being less than a second distance threshold.
[0123] In one embodiment, the point cloud acquisition module 81 is used to perform straight line fitting using the point data of each position point in the target detection point cloud to obtain multiple first straight lines; and to determine at least one intersection point of the multiple first straight lines as at least one target corner point; wherein the target detection point cloud is a first detection point cloud, and at least one target corner point is at least one first corner point; or, the target detection point cloud is a second detection point cloud, and at least one target corner point is at least one second corner point.
[0124] In one embodiment, the point cloud acquisition module 81 is used to determine a first candidate position point in the target detection point cloud and determine a plurality of second candidate position points corresponding to the first candidate position point, wherein the plurality of second candidate position points corresponding to the first candidate position point are a plurality of position points whose index number is located before or after the first candidate position point; the first candidate position point and the plurality of second candidate position points corresponding to the first candidate position point are used as fitting position points; a straight line is fitted using each fitting position point to obtain a second straight line; it is determined whether each fitting position point and the second straight line meet a first condition; if the first condition is met, the second straight line is extended to obtain a third straight line; if the first condition is not met, or after the step of extending the second straight line to obtain a third straight line is performed, a new first candidate position point is determined and the determination of a plurality of second candidate position points corresponding to the first candidate position point and subsequent steps are performed until all position points in the target detection point cloud have been traversed as first candidate position points; the determined plurality of third straight lines are used as a plurality of first straight lines.
[0125] In one embodiment, the point cloud acquisition module 81 is used to determine an extended position point adjacent to the second straight line from the target detection point cloud; determine whether the extended position point and the second straight line meet a second condition; if the second condition is met, then perform line fitting on each position point included in the extended position point and the second straight line to obtain a new second straight line, determine an extended position point adjacent to the new second straight line, and re-execute the determination of whether the extended position point and the second straight line meet the second condition and its subsequent steps; if the second condition is not met, then the current second straight line is used as a third straight line.
[0126] In one embodiment, the rotation angle determination module 83 is used to determine the target rotation angle using the target rotation matrix in the target transformation parameters; and / or, the error calibration module 85 is used to take the difference between the first time difference and the second time difference as the time error; and / or, the error calibration module 85 is also used to integrate multiple time errors corresponding to multiple rotations of the automatic guided vehicle to determine the time error calibration results of the first radar and the second radar.
[0127] It should be noted that the apparatus of this embodiment can perform the steps in the above method. For detailed descriptions of the relevant content, please refer to the method section above, which will not be repeated here.
[0128] Please see Figure 9 , Figure 9 This is a schematic diagram of a framework of an embodiment of the electronic device provided in this application. In this embodiment, the electronic device 90 includes a memory 91 and a processor 92.
[0129] Processor 92 can also be referred to as CPU (Central Processing Unit). Processor 92 may be an integrated circuit chip with signal processing capabilities. Processor 92 can also be a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component. A general-purpose processor can be a microprocessor, or processor 92 can be any conventional processor 92, etc.
[0130] The memory 91 in the electronic device 90 is used to store the program instructions required for the processor 92 to run.
[0131] The processor 92 is used to execute program instructions to implement the radar time error calibration method in this application.
[0132] Please see Figure 10 , Figure 10This is a schematic diagram of a framework of an embodiment of the computer-readable storage medium provided in this application. The computer-readable storage medium 100 of this application embodiment stores program instructions 101, which, when executed, implement the radar time error calibration method provided in this application. The program instructions 101 can be formed into a program file and stored in the aforementioned computer-readable storage medium 100 in the form of a software product, so that a computer device (which may be a personal computer, server, or network device, etc.) can execute all or part of the steps of the methods of various embodiments of this application. The aforementioned computer-readable storage medium 100 includes various media capable of storing program code, such as a USB flash drive, mobile hard drive, read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk, or terminal devices such as computers, servers, mobile phones, and tablets.
[0133] In some embodiments, the functions or modules of the apparatus provided in this disclosure can be used to perform the methods described in the above method embodiments. The specific implementation can be referred to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0134] The description of the various embodiments above tends to emphasize the differences between the various embodiments. The similarities or similarities between them can be referred to, and for the sake of brevity, they will not be repeated here.
[0135] In the several embodiments provided in this application, it should be understood that the disclosed methods, apparatuses, and systems can be implemented in other ways. For example, the apparatus implementations described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection of apparatuses or units may be electrical, mechanical, or other forms.
[0136] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0137] Furthermore, the functional units in the various embodiments of this application 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.
[0138] If the 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, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods of various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0139] The above description is merely an embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A radar time error calibration method, characterized in that, The method includes: During the rotation of the automated guided vehicle, a first point cloud and a second point cloud are obtained by the first radar and the second radar respectively detecting the same target. The first radar and the second radar are two radars on the automated guided vehicle that are at an angle to each other. The first point cloud includes point data of several first position points, and the second point cloud includes point data of several second position points. Determine the boundary of the region with the same location in the first point cloud and the second point cloud; The first point cloud and the second point cloud are filtered using the boundary of the same location area to obtain the third point cloud and the fourth point cloud for the same location area. Select multiple matching point pairs from the third point cloud and the fourth point cloud; Perform a first point cloud registration on the point data of the multiple matching point pairs to obtain the first transformation parameters; Using the first transformation parameters as initial transformation parameters, and using the third point cloud and the fourth point cloud to perform second point cloud registration, the second transformation parameters are obtained; Use the second transformation parameter as the target transformation parameter; Using the target transformation parameters, the target rotation angle of the automatic guide vehicle is determined during the process from acquiring the first point cloud to acquiring the second point cloud; Determine the first time difference required for the automated guided vehicle to rotate the target rotation angle; The time error between the first radar and the second radar is determined by using the first time difference and the second time difference, wherein the second time difference is the difference between the detection time of the second point cloud and the detection time of the first point cloud.
2. The method according to claim 1, characterized in that, The detection target is a corner of a wall, and the multiple matching point pairs include target matching point pairs. The target matching point pairs include the first corner point and the second corner point detected by the first radar and the second radar, respectively. And / or, the plurality of matching point pairs include point pairs corresponding to boundary points of the same location regions of the first point cloud and the second point cloud.
3. The method according to claim 1, characterized in that, The target being detected is a corner of a wall. The acquisition of the first point cloud and the second point cloud obtained by the first radar and the second radar respectively detecting the same target includes: Obtain the first detection point cloud currently detected by the first radar, and determine at least one first corner point in the first detection point cloud; In response to the existence of a corner point that meets a first distance condition among the at least one first corner point, the first detected point cloud is taken as the first point cloud, wherein the first distance condition includes the distance between the corner point and the first radar being less than a first distance threshold; Acquire the second detection point cloud currently detected by the second radar, and determine at least one second corner point in the second detection point cloud; In response to the existence of a corner point among the at least one second corner point that meets the second distance condition, the second detection point cloud is used as the second point cloud, wherein the second distance condition includes the distance between the corner point and the second radar being less than a second distance threshold.
4. The method according to claim 3, characterized in that, The steps for determining at least one target corner point in the target detection point cloud include: By using the point data of each location in the target detection point cloud, multiple first straight lines are obtained through line fitting. Determine at least one intersection point of the plurality of first straight lines as the at least one target corner point; Wherein, the target detection point cloud is the first detection point cloud, and the at least one target corner point is the at least one first corner point; or, the target detection point cloud is the second detection point cloud, and the at least one target corner point is the at least one second corner point.
5. The method according to claim 4, characterized in that, The method of using point data from various locations in the target detection point cloud to perform linear fitting yields multiple first straight lines, including: A first candidate location point in the target detection point cloud is determined, and multiple second candidate location points corresponding to the first candidate location point are determined, wherein the multiple second candidate location points corresponding to the first candidate location point are multiple location points whose index number is located before or after the first candidate location point; The first candidate position point and the plurality of second candidate position points corresponding to the first candidate position point are used as fitting position points; A second straight line is obtained by fitting a straight line using the aforementioned fitting position points; Determine whether each of the fitted position points and the second straight line meet the first condition; If the first condition is met, the second line is extended to obtain the third line; If the first condition is not met, or after the step of expanding the second line to obtain the third line, a new first candidate location point is determined and the steps of determining multiple second candidate location points corresponding to the first candidate location point and subsequent steps are executed until all location points in the target detection point cloud are traversed as the first candidate location point. The determined third straight lines are used as the multiple first straight lines.
6. The method according to claim 5, characterized in that, The step of extending the second straight line to obtain the third straight line includes: Determine an extended position point adjacent to the second straight line from the target detection point cloud; Determine whether the extended position point and the second straight line meet the second condition; If the second condition is met, then perform line fitting on the extended position point and each position point included in the second line to obtain a new second line, determine an extended position point adjacent to the new second line, and re-execute the judgment on whether the extended position point and the second line meet the second condition and its subsequent steps. If the second condition is not met, then the current second line is taken as a third line.
7. The method according to claim 1, characterized in that, Determining the target rotation angle of the automatically guided vehicle during the process of acquiring the first point cloud to acquiring the second point cloud using the target transformation parameters includes: The target rotation angle is determined using the target rotation matrix in the target transformation parameters; And / or, determining the time error between the first radar and the second radar using the first time difference and the second time difference includes: The difference between the first time difference and the second time difference is taken as the time error; And / or, after determining the time error between the first radar and the second radar using the first time difference and the second time difference, the method further includes: By combining the multiple time errors corresponding to the multiple rotations of the automated guided vehicle, the time error calibration results of the first radar and the second radar are determined.
8. An electronic device, characterized in that, Including interconnected memory and processor, The memory stores program instructions; The processor is used to execute program instructions stored in the memory to implement the method according to any one of claims 1-7.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store program instructions that can be executed by a processor to implement the method of any one of claims 1-7.
Citation Information
Patent Citations
External parameter calibration method and device and autonomous mobile equipment
CN115601438A
Method for improving positioning precision of robot and storage medium
CN119935178A