A sensor calibration method, device and robot based on cross laser

By aligning the robot body and calibration block with cross laser lines, and automatically calibrating the sensor positioning using point cloud data, the problem of complex and large errors in manual calibration in the prior art is solved, and high-precision sensor positioning calibration is achieved.

CN115655331BActive Publication Date: 2024-12-24HANGZHOU HIKROBOT TECH CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202211275579.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-18
Publication Date
2024-12-24
Estimated Expiration
2042-10-18

AI Technical Summary

Technical Problem

The calibration of existing robot sensors requires manual operation by users, resulting in large workloads and possible errors in position, especially when multiple sensors are deployed on the robot body, the calibration process is complex and inaccurate.

Method used

Using a sensor calibration method based on cross laser, the robot body is aligned with the calibration block through a cross laser line, the first position of the calibration block relative to the robot body is obtained, and the second position of the calibration block relative to the sensor is determined based on point cloud data. , thereby automatically calibrating the position of the sensor relative to the robot body.

Benefits of technology

It reduces the workload of manual calibration for users and improves the accuracy of posture. It is suitable for simultaneous calibration of multiple sensors, realizing the accurate calibration of posture between the sensor and the robot body.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115655331B_ABST
    Figure CN115655331B_ABST
Patent Text Reader

Abstract

The present application provides a sensor calibration method, device and robot based on a cross laser, the method comprising: obtaining the first alignment posture of the calibration block relative to the robot body; for the target sensor on the robot body, collecting point cloud data within the field of view through the target sensor, the field of view of the target sensor includes the calibration block; determining the second posture of the calibration block relative to the target sensor based on the point cloud data; determining the target posture of the target sensor relative to the robot body based on the first posture and the second posture, and calibrating the target posture for the target sensor. Through the technical solution of the present application, the posture of the sensor relative to the robot body is automatically calibrated, the posture error is reduced, the posture accuracy is improved, the posture is accurately calibrated, and the calibration of multiple sensors is achieved together.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of robot sensor calibration, and in particular to a sensor calibration method, device and robot based on a cross laser. Background Art

[0002] In recent years, various types of robots (such as mobile robots) have developed rapidly in terms of technology and market. Robots are mechanical devices that automatically perform work and rely on their own power and control capabilities to achieve various functions. Robots can accept human commands, run pre-programmed programs, and act according to strategies formulated by artificial intelligence. For example, users use manual remote controls to control robots to perform related operations. For example, the manual remote control sends operation commands to the robot wirelessly. After receiving the operation command, the robot performs the operation specified by the operation command and completes the related functions.

[0003] A robot is usually equipped with multiple sensors, each of which collects sensor data, and controls the robot based on the sensor data collected by these sensors. For example, a laser radar can be deployed on the robot, which can collect laser data, control the robot's driving route based on the laser data, and detect obstacles on the driving route based on the laser data. Before using the sensor data to control the robot, it is also necessary to pre-calibrate the position and posture of the sensor relative to the robot body, so that the robot can be controlled based on the position and posture using the sensor data.

[0004] In order to calibrate the position and posture of the sensor relative to the robot body, the user needs to manually calibrate the position and posture, which requires additional user workload. Due to user experience and other reasons, the position and posture may have errors, that is, the position and posture may not be accurate. Moreover, when there are multiple sensors on the robot body, the user needs to calibrate the position and posture of each sensor relative to the robot body in turn, which is very labor-intensive for the user. Summary of the invention

[0005] The present application provides a sensor calibration method based on a cross laser. A cross laser, a calibration block and a robot body are placed in a target scene. At least one sensor is deployed on the robot body. When the cross laser emits a cross laser line, the robot body is aligned with the calibration block based on the cross laser line. The method includes:

[0006] Obtaining a first alignment pose of the calibration block relative to the robot body;

[0007] For a target sensor on the robot body, point cloud data within a field of view is collected by the target sensor, and the field of view of the target sensor includes the calibration block;

[0008] Determine a second pose of the calibration block relative to the target sensor based on the point cloud data;

[0009] A target pose of the target sensor relative to the robot body is determined based on the first pose and the second pose, and the target pose is calibrated for the target sensor.

[0010] The present application provides a sensor calibration device based on a cross laser. A cross laser, a calibration block and a robot body are placed in a target scene. At least one sensor is deployed on the robot body. When the cross laser emits a cross laser line, the robot body is aligned with the calibration block based on the cross laser line. The device includes:

[0011] An acquisition module, used for acquiring a first alignment posture of the calibration block relative to the robot body;

[0012] A collection module, for collecting point cloud data within a field of view of a target sensor on the robot body through the target sensor, wherein the field of view of the target sensor includes the calibration block;

[0013] A determination module is used to determine a second posture of the calibration block relative to the target sensor based on the point cloud data; determine a target posture of the target sensor relative to the robot body based on the first posture and the second posture, and calibrate the target posture for the target sensor.

[0014] The present application provides a robot, comprising a robot body and at least one sensor, wherein a cross laser, a calibration block and the robot are placed in a target scene, and when the cross laser emits a cross laser line, the robot body is aligned with the calibration block based on the cross laser line;

[0015] Among them, the robot also includes a processor and a machine-readable storage medium, and the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the cross laser-based sensor calibration method of the above example of this application.

[0016] As can be seen from the above technical solutions, in the embodiment of the present application, a cross laser is used to emit a cross laser line, so that the robot body is aligned with the calibration block based on the cross laser line. On the basis of the alignment of the robot body and the calibration block, the first alignment posture of the calibration block relative to the robot body is obtained, and the second posture of the calibration block relative to the sensor is determined. The target posture of the sensor relative to the robot body is determined based on the first posture and the second posture, so that the posture of the sensor relative to the robot body is automatically calibrated without the need for the user to manually calibrate the posture, reducing the workload of the user's calibration, reducing the error of the posture, and improving the accuracy of the posture. Even if there are multiple sensors on the robot body, the posture of each sensor relative to the robot body can be automatically calibrated, reducing the workload of the user's calibration. By using a cross laser and a calibration block, the calibration block and the robot body can be accurately aligned, and the distance is flexible and adjustable, so that the accuracy of the posture between the sensor and the robot body is high, and the accurate calibration of the posture is achieved. It is suitable for the calibration of three-dimensional sensors and two-dimensional sensors, and can realize the calibration of multiple sensors together. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments of the present application or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings of the embodiments of the present application.

[0018] Figure 1 is a flow chart of a sensor calibration method based on a cross laser in one embodiment of the present application;

[0019] Figure 2A is a schematic diagram of the alignment of the robot body and the calibration block in one embodiment of the present application;

[0020] Figure 2B and Figure 2C is a schematic diagram of a configured scale of a calibration block in one embodiment of the present application;

[0021] Figure 3 is a flow chart of a sensor calibration method based on a cross laser in one embodiment of the present application;

[0022] Figure 4A is a schematic diagram of point cloud data within a field of view in one embodiment of the present application;

[0023] Figure 4B is a schematic diagram of ground points used for fitting a plane in one embodiment of the present application;

[0024] Figure 5Ais a schematic diagram of two-dimensional position data in a ground coordinate system in one embodiment of the present application;

[0025] Figure 5B is a schematic diagram of a fitted target straight line in one embodiment of the present application;

[0026] Figure 6 It is a structural diagram of a sensor calibration device based on a cross laser in one embodiment of the present application;

[0027] Figure 7 It is a hardware structure diagram of a robot in one embodiment of the present application. DETAILED DESCRIPTION

[0028] The terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, rather than limiting the present application. The singular forms of "a", "said" and "the" used in the present application and claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to any or all possible combinations of one or more associated listed items.

[0029] It should be understood that, although the terms first, second, third, etc. may be used to describe various information in the embodiments of the present application, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, in addition, the word "if" used may be interpreted as "at..." or "when..." or "in response to determination".

[0030] In an embodiment of the present application, a sensor calibration method based on a cross laser is proposed, in which a cross laser, a calibration block and a robot body are placed in a target scene. The method can be applied to a robot (such as a mobile robot), which includes a robot body and at least one sensor deployed on the robot body.

[0031] Exemplarily, when the cross laser emits a cross laser line, the robot body can be aligned with the calibration block (such as a concave-shaped calibration block) based on the cross laser line. For example, the cross laser line can include a horizontal laser line and a vertical laser line, and the horizontal laser line is perpendicular to the vertical laser line. When the robot body is aligned with the calibration block based on the cross laser line, the cross laser can be moved so that the vertical laser line (i.e., the vertical laser line in the cross laser line) passes through the center of the front edge and the center of the rear edge of the robot body, thereby aligning the cross laser with the robot body. The calibration block can be moved so that the vertical laser line (i.e., the vertical laser line in the cross laser line) is aligned with the first configured scale on the calibration block, and the horizontal laser line (i.e., the horizontal laser line in the cross laser line) is aligned with the second configured scale on the calibration block, thereby aligning the cross laser with the calibration block; wherein the first configured scale is a horizontal designated position (such as a horizontal center position) of the calibration block, and the second configured scale is a vertical designated position (such as a vertical center position) of the calibration block. After aligning the cross laser with the robot body and the cross laser with the calibration block, the robot body can be aligned with the calibration block. Based on the alignment of the robot body and the calibration block, the sensor calibration process can be performed, that is, the sensor calibration can be implemented using the calibration method of the embodiment of the present application.

[0032] See also Figure 1 FIG. 1 is a flow chart of a sensor calibration method based on a cross laser, the method comprising:

[0033] Step 101: Obtain the first alignment pose of the calibration block relative to the robot body.

[0034] Exemplarily, on the basis of the alignment of the robot body and the calibration block, the direction of the robot body is consistent with the direction of the calibration block, therefore, the rotation matrix of the calibration block relative to the robot body can be a unit matrix. Regarding the displacement vector of the calibration block relative to the robot body, the displacement vector corresponds to position deviation x, position deviation y and position deviation z, position deviation y and position deviation z are both 0, position deviation x can be measured by a tape measure (i.e., by manual measurement), in summary, the displacement vector of the calibration block relative to the robot body can be obtained. Based on the rotation matrix of the calibration block relative to the robot body and the displacement vector of the calibration block relative to the robot body, the first position of the calibration block relative to the robot body can be obtained.

[0035] Step 102, for the target sensor on the robot body (i.e., any sensor on the robot body, for the sake of distinction, the sensor to be calibrated is recorded as the target sensor), the point cloud data within the field of view is collected by the target sensor, and the field of view of the target sensor includes the calibration block.

[0036] Step 103: Determine a second pose of the calibration block relative to the target sensor based on the point cloud data.

[0037] Exemplarily, a third pose of the ground coordinate system relative to the sensor coordinate system can be determined based on the point cloud data; a fourth pose of the ground coordinate system relative to the calibration block coordinate system can be determined based on the point cloud data; and a second pose of the calibration block relative to the target sensor can be determined based on the third pose and the fourth pose.

[0038] Exemplarily, determining the third pose of the ground coordinate system relative to the sensor coordinate system based on the point cloud data may include but is not limited to: selecting target point cloud data corresponding to the ground point used to fit the plane from all point cloud data, and the ground point is located between the target sensor and the calibration block; determining the first control parameter corresponding to the ground coordinate system based on the target point cloud data; determining the rotation matrix of the ground coordinate system relative to the sensor coordinate system based on the first control parameter; determining the displacement vector of the ground coordinate system relative to the sensor coordinate system based on the first control parameter; and determining the third pose based on the rotation matrix and the displacement vector.

[0039] Exemplarily, determining the fourth pose of the ground coordinate system relative to the calibration block coordinate system based on the point cloud data may include but is not limited to: determining the two-dimensional position data in the ground coordinate system based on the point cloud data, and selecting the target two-dimensional position data corresponding to the rear boundary point of the calibration block from all the two-dimensional position data; fitting the target straight line corresponding to the calibration block based on the target two-dimensional position data; determining the rotation matrix of the ground coordinate system relative to the calibration block coordinate system based on the second control parameter corresponding to the target straight line, and determining the displacement vector of the ground coordinate system relative to the calibration block coordinate system based on the center point coordinates corresponding to the target straight line; determining the fourth pose of the ground coordinate system relative to the calibration block coordinate system based on the rotation matrix and the displacement vector.

[0040] Exemplarily, determining the two-dimensional position data in a ground coordinate system based on point cloud data may include, but is not limited to: if the target sensor is a three-dimensional sensor and the point cloud data is three-dimensional position data, then filtering out the three-dimensional position data except for the ground points from all the three-dimensional position data, and projecting the filtered three-dimensional position data onto the ground to obtain the two-dimensional position data in the ground coordinate system; or, if the target sensor is a two-dimensional sensor and the point cloud data is two-dimensional position data, then determining the two-dimensional position data in the ground coordinate system based on the point cloud data, i.e., using the point cloud data as the two-dimensional position data in the ground coordinate system.

[0041] Step 104: determine a target posture of the target sensor relative to the robot body based on the first posture and the second posture, and calibrate the target posture for the target sensor to complete the posture calibration of the target sensor.

[0042] Exemplarily, determining the target posture of the target sensor relative to the robot body based on the first posture and the second posture may include, but is not limited to: determining the target posture of the target sensor relative to the robot body based on the following formula: rs =T rb *T sb -1 ; In the above formula, T rs represents the target pose, T rb represents the first pose, T sb Of course, the above formula is only an example and is not limited to this.

[0043] As can be seen from the above technical solutions, in the embodiment of the present application, a cross laser is used to emit a cross laser line, so that the robot body is aligned with the calibration block based on the cross laser line. On the basis of the alignment of the robot body and the calibration block, the first alignment posture of the calibration block relative to the robot body is obtained, and the second posture of the calibration block relative to the sensor is determined. The target posture of the sensor relative to the robot body is determined based on the first posture and the second posture, so that the posture of the sensor relative to the robot body is automatically calibrated without the need for the user to manually calibrate the posture, reducing the workload of the user's calibration, reducing the error of the posture, and improving the accuracy of the posture. Even if there are multiple sensors on the robot body, the posture of each sensor relative to the robot body can be automatically calibrated, reducing the workload of the user's calibration. By using a cross laser and a calibration block, the calibration block and the robot body can be accurately aligned, and the distance is flexible and adjustable, so that the accuracy of the posture between the sensor and the robot body is high, and the accurate calibration of the posture is achieved. It is suitable for the calibration of three-dimensional sensors and two-dimensional sensors, and can realize the calibration of multiple sensors together.

[0044] The above technical solutions of the embodiments of the present application are described below in combination with specific application scenarios.

[0045] A robot (such as a mobile robot) is a machine device that performs work automatically. It is a machine that relies on its own power and control capabilities to achieve various functions. There is no restriction on the type of robot. For example, the robot can be a parking robot with a vehicle handling function, a cargo transport robot with a cargo handling function, etc.

[0046] The robot may include a robot body (the part other than the sensor may be referred to as the robot body), at least one sensor deployed on the robot body, that is, multiple sensors may be deployed on the robot body, such as 3D laser radar, binocular camera, single-line laser radar and other sensors, and there is no restriction on the type of the sensor. When multiple sensors are deployed on the robot body, it is necessary to pre-calibrate the position and posture of each sensor relative to the robot body, that is, to complete the calibration of the sensor. In order to complete the calibration of the sensor, in this embodiment, it is necessary to use a cross laser and a calibration block to complete the calibration of the sensor.

[0047] For example, the position of the sensor relative to the robot body can be recorded as T rs , posture T rs It can also be called the external parameter of the sensor relative to the robot body, and Among them, R rs is the rotation matrix of the sensor relative to the robot body, corresponding to three Euler angles, θ, ψ, namely roll angle, pitch angle, yaw angle. rs is the displacement vector of the sensor relative to the robot body, corresponding to three position deviations x, y, z, i.e. t rs =[x,y,z] t In summary, the position of the sensor relative to the robot body is T ra It can be expressed using 6 degrees of freedom, The two-dimensional relative pose can be expressed as [x, y, ψ].

[0048] For example, the user may manually calibrate the position and posture of the sensor relative to the robot body, but this method requires additional workload for the user, and the position and posture may have errors, that is, the position and posture may not be accurate.

[0049] In view of the above findings, in this embodiment, a cross laser can be used to emit a cross laser line, so that the robot body and the calibration block are aligned based on the cross laser line (that is, the robot body and the calibration block are aligned). On the basis of the alignment of the robot body and the calibration block, a ruler is used to measure to obtain the first posture of the calibration block relative to the robot body, and the sensor data (that is, the point cloud data collected by the sensor) is processed by an algorithm to obtain the second posture of the calibration block relative to the sensor. Finally, the target posture of the sensor relative to the robot body is calculated based on the first posture and the second posture, and the accurate calibration of the sensor is completed. The above method can automatically calibrate the posture of the sensor relative to the robot body, without the need for the user to manually calibrate the posture, reducing the user's calibration workload, reducing the posture error, and improving the posture accuracy.

[0050] For example, a cross laser and a calibration block can be placed in the target scene. The cross laser can emit a cross laser line. The calibration block can be a concave-shaped calibration block or a calibration block of other shapes. There is no limitation on the shape of the calibration block. The concave-shaped calibration block is used as an example for the following description. Figure 2A As shown, it is a schematic diagram of a concave-shaped calibration block.

[0051] Exemplarily, the robot body can be aligned with the calibration block (i.e., the robot body can be aligned with the calibration block), for example, by emitting a cross laser line through a cross laser, thereby aligning the robot body with the calibration block based on the cross laser line. Figure 2A As shown, a schematic diagram of the alignment of the robot body and the calibration block is shown. The calibration block is a concave-shaped calibration block with scales (the scales can also be called engraved lines). The alignment between the robot body and the calibration block is conveniently achieved through the cross laser and the concave-shaped calibration block with engraved lines.

[0052] For example, in order to align the robot body with the calibration block, the following method can be used:

[0053] Align the laser cross with the robot body. Figure 2A As shown, when a cross laser line is emitted by a cross laser, the cross laser line may include a transverse laser line and a vertical laser line, and the transverse laser line is perpendicular to the vertical laser line. On this basis, the cross laser can be moved so that the vertical laser line passes through the center of the front edge and the center of the rear edge of the robot body, thereby aligning the cross laser with the robot body.

[0054] Align the laser cross with the calibration block. Figure 2A As shown, when a cross laser line is emitted through a cross laser, the cross laser line may include a transverse laser line and a vertical laser line, and the transverse laser line is perpendicular to the vertical laser line. On this basis, the calibration block may be moved so that the vertical laser line is aligned with the first configured scale on the calibration block, and the transverse laser line is aligned with the second configured scale on the calibration block, thereby aligning the cross laser with the calibration block. The first configured scale is a transverse designated position (such as a transverse center position) of the calibration block, and the second configured scale is a longitudinal designated position (such as a longitudinal center position) of the calibration block.

[0055] See also Figure 2B As shown, a first configured scale and a second configured scale of a calibration block (such as a concave-shaped calibration block) are shown. The first configured scale is the horizontal center position of the calibration block (i.e., a scale line is marked at the horizontal center position), and the second configured scale is the longitudinal center position of the calibration block (i.e., a scale line is marked at the longitudinal center position). By moving the position of the calibration block, the vertical laser line is aligned with the first configured scale on the calibration block (i.e., Figure 2BThe dotted line in the figure represents the laser line, and the longitudinal dotted line represents the vertical laser line), so that the transverse laser line is aligned with the second configured scale on the calibration block (the transverse dotted line represents the transverse laser line). Obviously, on the basis of aligning the vertical laser line with the first configured scale and the transverse laser line with the second configured scale, the cross laser can be aligned with the calibration block, that is, the alignment of the cross laser with the calibration block is achieved.

[0056] It should be noted that the concave-shaped calibration block is only an example, and the present embodiment is not limited to the concave-shaped calibration block, and may also be a variant of the concave-shaped calibration block, and there is no limitation on this. Figure 2B The concave-shaped calibration block shown in the figure can be found in the Figure 2C shown.

[0057] See also Figure 2B As shown, the calibration block coordinate system is also shown, the origin of the calibration block coordinate system is on the ground, and the origin of the calibration block coordinate system is at the center of the rear boundary of the calibration block, the z axis is vertically upward, and the x and y axes are as shown in 2B.

[0058] After aligning the cross laser with the robot body and the cross laser with the calibration block, the robot body can be aligned with the calibration block. Based on the alignment of the robot body and the calibration block, the sensor calibration process can be performed, that is, the sensor calibration can be implemented using the calibration method of the embodiment of the present application.

[0059] In the above application scenario, a sensor calibration method based on a cross laser is proposed in an embodiment of the present application, which can be applied to a robot, wherein the robot includes a robot body and at least one sensor deployed on the robot body. Figure 3 , which is a flow chart of the method, the method comprises:

[0060] Step 301: Obtain the first position of the calibration block relative to the robot body.

[0061] Exemplarily, on the basis of the alignment of the robot body and the calibration block, the direction of the robot body is consistent with the direction of the calibration block, therefore, the rotation matrix of the calibration block relative to the robot body can be a unit matrix. Regarding the displacement vector of the calibration block relative to the robot body, the displacement vector corresponds to position deviation x, position deviation y and position deviation z, position deviation y and position deviation z are both 0, position deviation x can be measured by a tape measure (i.e., by manual measurement), in summary, the displacement vector of the calibration block relative to the robot body can be obtained. Based on the rotation matrix of the calibration block relative to the robot body and the displacement vector of the calibration block relative to the robot body, the first position of the calibration block relative to the robot body can be obtained.

[0062] For example, the calibration block is denoted as calibration block b, the robot body is denoted as robot body r, and the first position of the calibration block relative to the robot body is denoted as T rb , then, the first position T rb It can be expressed by the following formula: R rb represents the rotation matrix of the calibration block relative to the robot body, t rb represents the displacement vector of the calibration block relative to the robot body, and the displacement vector t rb Can be: rb =[x,y,z] t .

[0063] Step 302: record each sensor to be calibrated on the robot body as a target sensor. For the target sensor on the robot body, collect point cloud data within the field of view through the target sensor. When collecting point cloud data within the field of view, the field of view of the target sensor needs to include the calibration block.

[0064] Exemplarily, for the target sensor on the robot body, the sensor data within the field of view can be collected by the target sensor when the robot body is stationary. The sensor data may include point cloud data. Point cloud data refers to a set of vectors in three-dimensional coordinates, recorded in the form of points. Each point contains three-dimensional coordinates, and some may contain color information (RGB) or reflection intensity information (Intensity).

[0065] When the target sensor collects point cloud data within the field of view, the field of view of the target sensor needs to include the calibration block, that is, the point cloud data within the field of view can include the point cloud data corresponding to the calibration block, that is, the point cloud data within the field of view includes the point cloud data of each point where the calibration block is located.

[0066] After obtaining the point cloud data within the field of view, the second pose of the calibration block relative to the target sensor can be determined based on the point cloud data. For example, the calibration block is denoted as calibration block b, the target sensor is denoted as target sensor s, and the second pose of the calibration block relative to the target sensor is denoted as T sb Based on the point cloud data, the second pose T of the calibration block b relative to the target sensor s can be solved by the algorithm sb , for this second pose T sb There is no restriction on the determination method, as long as the second pose T can be determined based on the point cloud data. sb Then, refer to the following steps to determine the second pose T sb , and the determination method is not limited.

[0067] Step 303: Determine a third pose of the ground coordinate system relative to the sensor coordinate system based on the point cloud data.

[0068] In a possible implementation, in order to determine the third posture of the ground coordinate system relative to the sensor coordinate system, the following steps can be used. Of course, this is just an example of determining the third posture, and there is no limitation on this determination method, as long as the third posture can be determined based on the point cloud data.

[0069] Step 3031: Select target point cloud data corresponding to ground points (such as multiple ground points) used to fit the plane from all point cloud data, and these ground points are located between the target sensor and the calibration block.

[0070] For example, see Figure 4A As shown in Figure 1, it is a schematic diagram of the point cloud data within the field of view of the target sensor. In order to establish the ground coordinate system g, based on the position of the calibration block, the target point cloud data corresponding to the ground point can be selected from all the point cloud data (for the convenience of distinction, the point cloud data corresponding to the ground point is called the target point cloud data). First, the target point cloud data is the point cloud data corresponding to the ground point, such as Figure 4A The ground points in the center line frame are the ground points used to fit the plane. Secondly, according to the position of the calibration block, the target point cloud data is the point cloud data corresponding to the ground between the target sensor and the calibration block.

[0071] See also Figure 4B As shown, a schematic diagram of ground points used for fitting a plane is shown. In step 3031, target point cloud data corresponding to these ground points need to be selected from all point cloud data.

[0072] Step 3032: Determine a first control parameter corresponding to the ground coordinate system based on the target point cloud data.

[0073] For example, ground points can be selected for plane fitting. After fitting, the ground equation can be obtained as follows: ax+by+cz+d=0. In the above ground equation, a, b, c, and d can be called the first control parameters corresponding to the ground coordinate system. In the first control parameters, c is not 0, and a 2 +b 2 +c 2 =1.

[0074] Since the target point cloud data includes three-dimensional coordinates, that is, each ground point corresponds to x, y, and z, multiple three-dimensional coordinates can be obtained based on multiple target point cloud data corresponding to multiple ground points. After substituting these three-dimensional coordinates into the above-mentioned ground equations, the values ​​of a, b, c, and d can be obtained. Therefore, the first control parameter corresponding to the ground coordinate system can be determined based on the target point cloud data corresponding to multiple ground points.

[0075] Step 3033: determine the rotation matrix of the ground coordinate system relative to the sensor coordinate system based on the first control parameter, that is, determine the rotation matrix of the ground coordinate system relative to the sensor coordinate system based on a, b, c, and d.

[0076] Exemplarily, the ground coordinate system is recorded as the ground coordinate system g, the sensor coordinate system (i.e., the coordinate system corresponding to the target sensor) is recorded as the sensor coordinate system s, and the rotation matrix of the ground coordinate system g relative to the sensor coordinate system s is recorded as the rotation matrix Rsg, that is, the rotation of the ground coordinate system g relative to the sensor coordinate system s can be Rsg, then, Established, in addition, R sg The corresponding yaw angle ψ=0, and θ=atan2(a,c) can be calculated. Therefore, the rotation matrix R can be determined by the following formula sg :

[0077]

[0078] In summary, it can be seen that on the basis of the known first control parameters, that is, on the basis of the known a, b, c, the rotation matrix R of the ground coordinate system g relative to the sensor coordinate system s can be determined based on a, b, c in the first control parameters. sg .

[0079] Step 3034: determine the displacement vector of the ground coordinate system relative to the sensor coordinate system based on the first control parameter, that is, determine the displacement vector of the ground coordinate system relative to the sensor coordinate system based on a, b, c, and d.

[0080] Exemplarily, the ground coordinate system is denoted as the ground coordinate system g, the sensor coordinate system is denoted as the sensor coordinate system s, and the displacement vector of the ground coordinate system g relative to the sensor coordinate system s is denoted as the displacement vector t sg , that is, the displacement of the ground coordinate system g relative to the sensor coordinate system s can be t sg , then, we can set the origin of the ground coordinate system g at Therefore, the displacement vector t sg Can be:

[0081] In summary, it can be seen that on the basis of the known first control parameters, that is, on the basis of the known c and d, the displacement vector t of the ground coordinate system g relative to the sensor coordinate system s can be determined based on c and d in the first control parameters. sg .

[0082] Step 3035: Determine a third posture of the ground coordinate system relative to the sensor coordinate system based on the rotation matrix of the ground coordinate system relative to the sensor coordinate system and the displacement vector of the ground coordinate system relative to the sensor coordinate system.

[0083] For example, the third pose of the ground coordinate system g relative to the sensor coordinate system s is denoted as t sg , then, the third posture t sg Can be: Among them, R sg is the rotation matrix of the ground coordinate system g relative to the sensor coordinate system s, corresponding to three Euler angles, θ, ψ, namely roll angle, pitch angle, yaw angle. sg is the displacement vector of the ground coordinate system g relative to the sensor coordinate system s, corresponding to three position deviations x, y, and z.

[0084] At this point, step 303 is completed, and the third posture of the ground coordinate system relative to the sensor coordinate system is obtained.

[0085] Step 304: Determine a fourth pose of the ground coordinate system relative to the calibration block coordinate system based on the point cloud data.

[0086] In a possible implementation, in order to determine the fourth pose of the ground coordinate system relative to the calibration block coordinate system, the following steps can be used. Of course, this is just an example of determining the fourth pose, and there is no limitation on this determination method, as long as the fourth pose can be determined based on the point cloud data.

[0087] Step 3041: Determine the two-dimensional position data in the ground coordinate system based on the point cloud data, and select the target two-dimensional position data corresponding to the rear boundary point of the calibration block from all the two-dimensional position data.

[0088] Exemplarily, if the target sensor is a three-dimensional sensor (such as a three-dimensional lidar, a binocular camera, or other three-dimensional sensors), the point cloud data collected by the target sensor is three-dimensional position data. On this basis, three-dimensional position data other than ground points can be filtered out from all three-dimensional position data (i.e., all point cloud data). For example, all three-dimensional position data can be height-screened (also called height interception) to filter out the three-dimensional position data corresponding to the ground points, thereby obtaining three-dimensional position data other than the ground points.

[0089] After obtaining the three-dimensional position data except for the ground points, the filtered three-dimensional position data can be projected onto the ground to obtain the two-dimensional position data in the ground coordinate system, that is, to form two-dimensional point cloud data. Based on the above processing, the three-dimensional position data can be converted from the sensor coordinate system s to the ground coordinate system g.

[0090] After obtaining the two-dimensional position data in the ground coordinate system, the target two-dimensional position data corresponding to the rear boundary point of the calibration block can be selected from all the two-dimensional position data (for the convenience of distinction, the two-dimensional position data corresponding to the rear boundary point of the calibration block is called the target two-dimensional position data). Figure 5A As shown, all the two-dimensional position data in the ground coordinate system are shown, and the target two-dimensional position data corresponding to the rear boundary point of the calibration block are selected from these two-dimensional position data. Figure 5A The points in the middle box are the rear boundary points of the calibration block.

[0091] Exemplarily, if the target sensor is a three-dimensional sensor, the point cloud data collected by the target sensor is three-dimensional position data. On this basis, candidate three-dimensional position data corresponding to the rear boundary points of the calibration block can be selected from all three-dimensional position data (for the convenience of distinction, the three-dimensional position data corresponding to the rear boundary points of the calibration block are referred to as candidate three-dimensional position data). After obtaining the candidate three-dimensional position data corresponding to the rear boundary points of the calibration block, the three-dimensional position data other than the ground points are filtered out from all the candidate three-dimensional position data (recorded as target three-dimensional position data). For example, all the candidate three-dimensional position data are highly screened to filter out the three-dimensional position data corresponding to the ground points, and the target three-dimensional position data other than the ground points are obtained.

[0092] After obtaining the target three-dimensional position data except the ground points, the target three-dimensional position data can be projected onto the ground (i.e., projected onto the xy plane) to obtain the two-dimensional position data in the ground coordinate system. Obviously, these two-dimensional position data are the target two-dimensional position data corresponding to the rear boundary points of the calibration block.

[0093] Exemplarily, if the target sensor is a two-dimensional sensor (such as a two-dimensional lidar or other two-dimensional sensors), the point cloud data collected by the target sensor is two-dimensional position data. On this basis, the two-dimensional position data in the ground coordinate system can be determined based on the point cloud data collected by the target sensor. For example, the point cloud data can be directly used as the two-dimensional position data in the ground coordinate system, that is, the two-dimensional position data in the xy plane.

[0094] After obtaining the two-dimensional position data in the ground coordinate system, the target two-dimensional position data corresponding to the rear boundary point of the calibration block can be selected from all the two-dimensional position data. Figure 5A As shown, all the two-dimensional position data in the ground coordinate system are shown, and the target two-dimensional position data corresponding to the rear boundary point of the calibration block are selected from these two-dimensional position data. Figure 5A The points in the middle box are the rear boundary points of the calibration block.

[0095] To sum up, the target two-dimensional position data corresponding to the rear boundary point of the calibration block can be selected. Based on the target two-dimensional position data corresponding to the rear boundary point of the calibration block, the fourth pose of the ground coordinate system relative to the calibration block coordinate system can be determined. The method for determining the fourth pose can be referred to the subsequent steps.

[0096] Step 3042: Fit the target straight line corresponding to the calibration block based on the target two-dimensional position data.

[0097] Exemplarily, after obtaining the target two-dimensional position data corresponding to the rear boundary points of the calibration block, the target straight line corresponding to the calibration block can be fitted based on these target two-dimensional position data. For example, the target two-dimensional position data can be (x, y) coordinate points. Since there are multiple rear boundary points in the calibration block, and multiple rear boundary points correspond to multiple (x, y) coordinate points, the target straight line corresponding to the calibration block is fitted based on these (x, y) coordinate points. For example, based on multiple (x, y) coordinate points, algorithms such as RANSAC (RANdom SAmple Consensus) can be used to fit the target straight line, and there is no restriction on this fitting method. See Figure 5B , an example of a target straight line fitted based on target two-dimensional position data is shown.

[0098] For example, after the target straight line is fitted, the following straight line equation can be obtained: a′x+b′yc′=0. In the above straight line equation, a′, b′, and c′ can be called the second control parameters corresponding to the target straight line. In the second control parameters, a′ 2 +b′ 2 =1.

[0099] Since the target two-dimensional position data is an (x, y) coordinate point, that is, each rear boundary point of the calibration block corresponds to x and y, therefore, based on the target two-dimensional position data corresponding to the rear boundary point of the calibration block, multiple (x, y) coordinate points can be obtained. After substituting these (x, y) coordinate points into the above straight line equation, the values ​​of a′, b′, and c′ can be obtained, that is, the target straight line corresponding to the calibration block can be fitted.

[0100] Step 3043: determine the rotation matrix of the ground coordinate system relative to the calibration block coordinate system based on the second control parameter corresponding to the target straight line, that is, the rotation matrix can be determined based on a′, b′, and c′.

[0101] For example, the ground coordinate system is denoted as the ground coordinate system g, the calibration block coordinate system (the coordinate system corresponding to the calibration block) is denoted as the calibration block coordinate system b, and the rotation matrix of the ground coordinate system g relative to the calibration block coordinate system b is denoted as the rotation matrix R gb , that is, the rotation of the ground coordinate system g relative to the calibration block coordinate system b can be R gb , then, the relative position T of the calibration block coordinate system b relative to the ground coordinate system g gb middle, , θ, z are 0, and we only need to solve [x, y, ψ]. Therefore, the rotation matrix R can be determined by the following formula: gb :

[0102]

[0103] On the basis of the known second control parameters, that is, on the basis of the known a′, b′, and c′, the rotation matrix R of the ground coordinate system g relative to the calibration block coordinate system b can be determined based on a′ and b′ in the second control parameters. gb .

[0104] Step 3044: determine the displacement vector of the ground coordinate system relative to the calibration block coordinate system based on the center point coordinates corresponding to the target straight line (ie, the center point coordinates can be obtained based on the known target straight line).

[0105] For example, the ground coordinate system is denoted as the ground coordinate system g, the calibration block coordinate system is denoted as the calibration block coordinate system b, and the displacement vector of the ground coordinate system g relative to the calibration block coordinate system b is denoted as the displacement vector t gb , that is, the displacement of the ground coordinate system g relative to the calibration block coordinate system b can be t g b. On this basis, we can first determine the coordinates of the center point corresponding to the target straight line and mark the coordinates of the center point as [x c ,y c ], then, the displacement vector t of the ground coordinate system g relative to the calibration block coordinate system b can be determined by the following formula gb :

[0106]

[0107] From the above, we can see that when the center point coordinates [x c ,y c ], we can calculate the center point coordinates [x c ,y c ] Determine the displacement vector t of the ground coordinate system g relative to the calibration block coordinate system b gb .

[0108] Step 3045: Determine a fourth posture of the ground coordinate system relative to the calibration block coordinate system based on the rotation matrix of the ground coordinate system relative to the calibration block coordinate system and the displacement vector of the ground coordinate system relative to the calibration block coordinate system.

[0109] For example, the fourth pose of the ground coordinate system g relative to the calibration block coordinate system b is recorded as T gb , then, the fourth posture T gb Can be: R gb is the rotation matrix of the ground coordinate system g relative to the calibration block coordinate system b, corresponding to three Euler angles, θ, ψ, namely roll angle, pitch angle, yaw angle. gb is the displacement vector of the ground coordinate system g relative to the calibration block coordinate system b, corresponding to three position deviations x, y, and z.

[0110] At this point, step 304 is completed, and the fourth pose of the ground coordinate system relative to the calibration block coordinate system is obtained.

[0111] Step 305: Determine a second pose of the calibration block relative to the target sensor based on a third pose of the ground coordinate system relative to the sensor coordinate system and a fourth pose of the ground coordinate system relative to the calibration block coordinate system.

[0112] For example, the second pose of the calibration block (corresponding to the calibration block coordinate system b) relative to the target sensor (corresponding to the sensor coordinate system s) can be determined by the following formula: sb =T sg *T gb .

[0113] In the above formula, T sg represents the third pose of the ground coordinate system g relative to the sensor coordinate system s, T gb represents the fourth pose of the ground coordinate system g relative to the calibration block coordinate system b, T sb It represents the second pose of the calibration block coordinate system b relative to the sensor coordinate system s, that is, the relative pose of the calibration block coordinate system b relative to the sensor coordinate system s, that is, the second pose between the calibration block and the target sensor.

[0114] Step 306: Determine the target pose of the target sensor relative to the robot body based on the first pose of the calibration block relative to the robot body and the second pose of the calibration block relative to the target sensor.

[0115] For example, the target position of the target sensor relative to the robot body can be determined using the following formula: rs =T rb *T sb -1 In the above formula, T rb represents the first pose of the calibration block relative to the robot body, T sb represents the second pose of the calibration block relative to the target sensor, T rs Represents the target position of the target sensor relative to the robot body.

[0116] After obtaining the target posture of the target sensor relative to the robot body, the target posture can be calibrated for the target sensor to complete the posture calibration of the target sensor. The calibration process will not be described in detail.

[0117] As can be seen from the above technical solutions, in the embodiment of the present application, the robot body can be aligned with the calibration block based on the cross laser line. On the basis of the alignment of the robot body and the calibration block, the first pose of the calibration block relative to the robot body is obtained, and the second pose of the calibration block relative to the sensor is determined. Based on the first pose and the second pose, the target pose of the sensor relative to the robot body is determined, thereby automatically calibrating the pose of the sensor relative to the robot body without the need for the user to manually calibrate the pose, reducing the workload of the user calibration, reducing the error of the pose, and improving the accuracy of the pose. Even if there are multiple sensors on the robot body, the pose of each sensor relative to the robot body can be automatically calibrated, reducing the workload of the user calibration. By using the cross laser and the calibration block, the calibration block and the robot body can be accurately aligned, and the distance is flexible and adjustable, so that the accuracy of the pose of the sensor relative to the robot body is high, and the accurate calibration of the pose is achieved. It is suitable for the calibration of three-dimensional sensors and two-dimensional sensors, and can realize the calibration of multiple sensors together. By first calibrating the height z, pitch angle and roll angle with the help of ground fitting, and then calibrating the x, y, and yaw angles, the accuracy is high, and the calibration can be achieved in a single frame, and the operation is simple. It is not only applicable to the calibration of three-dimensional sensors (such as three-dimensional lidar and binocular cameras), but also to the calibration of two-dimensional sensors (such as two-dimensional lidar).

[0118] Based on the same application concept as the above method, a sensor calibration device based on a cross laser is proposed in the embodiment of the present application. A cross laser, a calibration block and a robot body are placed in the target scene. At least one sensor is deployed on the robot body. When the cross laser emits a cross laser line, the robot body is aligned with the calibration block based on the cross laser line. See Figure 6 FIG. 1 is a schematic diagram of the structure of the device, and the device may include:

[0119] An acquisition module 61 is used to acquire a first alignment posture of the calibration block relative to the robot body;

[0120] A collection module 62, for collecting point cloud data within a field of view of a target sensor on the robot body through the target sensor, wherein the field of view of the target sensor includes the calibration block;

[0121] A determination module 63 is used to determine a second posture of the calibration block relative to the target sensor based on the point cloud data; determine a target posture of the target sensor relative to the robot body based on the first posture and the second posture, and calibrate the target posture for the target sensor.

[0122] Exemplarily, the cross laser line includes a transverse laser line and a vertical laser line, and the transverse laser line is perpendicular to the vertical laser line; aligning the robot body with the calibration block based on the cross laser line includes: moving the cross laser so that the vertical laser line passes through the center of the front edge and the center of the rear edge of the robot body to align the cross laser with the robot body; moving the calibration block so that the vertical laser line is aligned with a first configured scale on the calibration block, and the transverse laser line is aligned with a second configured scale on the calibration block to align the cross laser with the calibration block; wherein the first configured scale is a horizontal designated position of the calibration block, and the second configured scale is a vertical designated position of the calibration block.

[0123] Exemplarily, when the determination module 63 determines the second pose of the calibration block relative to the target sensor based on the point cloud data, it is specifically used to: determine the third pose of the ground coordinate system relative to the sensor coordinate system based on the point cloud data; determine the fourth pose of the ground coordinate system relative to the calibration block coordinate system based on the point cloud data; and determine the second pose based on the third pose and the fourth pose.

[0124] Exemplarily, when the determination module 63 determines the third posture of the ground coordinate system relative to the sensor coordinate system based on the point cloud data, it is specifically used to: select target point cloud data corresponding to the ground point used to fit the plane from all point cloud data, and the ground point is located between the target sensor and the calibration block; determine the first control parameter corresponding to the ground coordinate system based on the target point cloud data; determine the rotation matrix of the ground coordinate system relative to the sensor coordinate system based on the first control parameter; determine the displacement vector of the ground coordinate system relative to the sensor coordinate system based on the first control parameter; and determine the third posture based on the rotation matrix and the displacement vector.

[0125] Exemplarily, when the determination module 63 determines the fourth posture of the ground coordinate system relative to the calibration block coordinate system based on the point cloud data, it is specifically used to: determine the two-dimensional position data in the ground coordinate system based on the point cloud data, and select the target two-dimensional position data corresponding to the rear boundary point of the calibration block from all the two-dimensional position data; fit the target straight line corresponding to the calibration block based on the target two-dimensional position data; determine the rotation matrix of the ground coordinate system relative to the calibration block coordinate system based on the second control parameter corresponding to the target straight line, and determine the displacement vector of the ground coordinate system relative to the calibration block coordinate system based on the center point coordinates corresponding to the target straight line; determine the fourth posture based on the rotation matrix and the displacement vector.

[0126] Exemplarily, when the determination module 63 determines the two-dimensional position data in the ground coordinate system based on the point cloud data, it is specifically used to: if the target sensor is a three-dimensional sensor and the point cloud data is three-dimensional position data, then the three-dimensional position data other than the ground points are filtered out from all the three-dimensional position data, and the filtered three-dimensional position data are projected onto the ground to obtain the two-dimensional position data in the ground coordinate system; or, if the target sensor is a two-dimensional sensor and the point cloud data is two-dimensional position data, then the two-dimensional position data in the ground coordinate system is determined based on the point cloud data.

[0127] Exemplarily, when the determination module 63 determines the target posture of the target sensor relative to the robot body based on the first posture and the second posture, it is specifically used to: determine the target posture of the target sensor relative to the robot body based on the following formula: rs =T rb *T sb -1 ; Among them, T rs represents the target pose, T rb represents the first posture, T sb represents the second posture.

[0128] Based on the same application concept as the above method, a robot is proposed in an embodiment of the present application, the robot includes a robot body and at least one sensor, a cross laser, a calibration block and the robot are placed in a target scene, and when the cross laser emits a cross laser line, the robot body is aligned with the calibration block based on the cross laser line. Figure 7 As shown, the robot also includes a processor 71 and a machine-readable storage medium 72, wherein the machine-readable storage medium 72 stores machine-executable instructions that can be executed by the processor 71; the processor 71 is used to execute the machine-executable instructions to implement the cross laser-based sensor calibration method disclosed in the above example of this application.

[0129] Based on the same application concept as the above method, an embodiment of the present application also provides a machine-readable storage medium, on which a number of computer instructions are stored. When the computer instructions are executed by a processor, the sensor calibration method based on the cross laser disclosed in the above example of the present application can be implemented.

[0130] The above-mentioned machine-readable storage medium may be any electronic, magnetic, optical or other physical storage device, which may contain or store information, such as executable instructions, data, etc. For example, the machine-readable storage medium may be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state drive, any type of storage disk (such as CD, DVD, etc.), or similar storage medium, or a combination thereof.

[0131] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver, a game console, a tablet computer, a wearable device or a combination of any of these devices.

[0132] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0133] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the embodiments of the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0134] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0135] Moreover, these computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0136] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0137] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims

1. A sensor calibration method based on a cross laser, characterized in that: A cross laser, a calibration block and a robot body are placed in a target scene, at least one sensor is deployed on the robot body, when the cross laser emits a cross laser line, the robot body is aligned with the calibration block based on the cross laser line, and the method includes: Obtaining a first posture after the calibration block is aligned with the robot body; wherein the first posture includes a rotation matrix and a displacement vector, the rotation matrix is ​​a unit matrix, the displacement vector corresponds to a position deviation x, a position deviation y and a position deviation z, the position deviation y and the position deviation z are both 0, and the position deviation x is obtained by measurement; For a target sensor on the robot body, point cloud data within a field of view is collected by the target sensor, and the field of view of the target sensor includes the calibration block; Determine a second pose of the calibration block relative to the target sensor based on the point cloud data; A target pose of the target sensor relative to the robot body is determined based on the first pose and the second pose, and the target pose is calibrated for the target sensor.

2. The method according to claim 1, characterized in that The cross laser line includes a transverse laser line and a vertical laser line, and the transverse laser line is perpendicular to the vertical laser line; The step of aligning the robot body with the calibration block based on the cross laser line comprises: By moving the cross laser so that the vertical laser line passes through the center of the front edge and the center of the rear edge of the robot body, the cross laser is aligned with the robot body; The calibration block is moved so that the vertical laser line is aligned with a first configured scale on the calibration block, and the horizontal laser line is aligned with a second configured scale on the calibration block, so as to align the cross laser with the calibration block; wherein the first configured scale is a horizontal designated position of the calibration block, and the second configured scale is a vertical designated position of the calibration block.

3. The method according to claim 1, characterized in that The determining, based on the point cloud data, a second posture of the calibration block relative to the target sensor comprises: Determine a third pose of the ground coordinate system relative to the sensor coordinate system based on the point cloud data; Determine a fourth pose of the ground coordinate system relative to the calibration block coordinate system based on the point cloud data; Based on the third pose and the fourth pose, the second pose is determined.

4. The method according to claim 3, characterized in that The determining, based on the point cloud data, a third posture of the ground coordinate system relative to the sensor coordinate system comprises: Selecting target point cloud data corresponding to a ground point for fitting a plane from all point cloud data, wherein the ground point is located between the target sensor and the calibration block; Determine a first control parameter corresponding to a ground coordinate system based on the target point cloud data; Determine a rotation matrix of a ground coordinate system relative to a sensor coordinate system based on the first control parameter; Determine a displacement vector of a ground coordinate system relative to a sensor coordinate system based on the first control parameter; The third pose is determined based on the rotation matrix and the displacement vector.

5. The method according to claim 3, characterized in that: The determining, based on the point cloud data, a fourth posture of the ground coordinate system relative to the calibration block coordinate system comprises: Determine the two-dimensional position data in the ground coordinate system based on the point cloud data, and select the target two-dimensional position data corresponding to the rear boundary point of the calibration block from all the two-dimensional position data; Fitting a target straight line corresponding to the calibration block based on the target two-dimensional position data; Determine a rotation matrix of the ground coordinate system relative to the calibration block coordinate system based on a second control parameter corresponding to the target straight line, and determine a displacement vector of the ground coordinate system relative to the calibration block coordinate system based on the center point coordinates corresponding to the target straight line; The fourth pose is determined based on the rotation matrix and the displacement vector.

6. The method according to claim 5, characterized in that The determining of two-dimensional position data in a ground coordinate system based on the point cloud data comprises: If the target sensor is a three-dimensional sensor and the point cloud data is three-dimensional position data, three-dimensional position data other than ground points are filtered out from all three-dimensional position data, and the filtered three-dimensional position data are projected onto the ground to obtain two-dimensional position data in a ground coordinate system; Alternatively, if the target sensor is a two-dimensional sensor and the point cloud data is two-dimensional position data, the two-dimensional position data in a ground coordinate system is determined based on the point cloud data.

7. The method according to claim 1, characterized in that The determining a target posture of the target sensor relative to the robot body based on the first posture and the second posture comprises: The target position of the target sensor relative to the robot body is determined based on the following formula: T rs =T rb *T sb -1 T rs represents the target pose, T rb represents the first posture, T sb represents the second posture.

8. A sensor calibration device based on a cross laser, characterized in that: A cross laser, a calibration block and a robot body are placed in a target scene, at least one sensor is deployed on the robot body, when the cross laser emits a cross laser line, the robot body is aligned with the calibration block based on the cross laser line, and the device includes: An acquisition module is used to acquire a first posture of the calibration block after alignment with the robot body; wherein the first posture includes a rotation matrix and a displacement vector, the rotation matrix is ​​a unit matrix, the displacement vector corresponds to a position deviation x, a position deviation y and a position deviation z, the position deviation y and the position deviation z are both 0, and the position deviation x is obtained by measurement; A collection module, for collecting point cloud data within a field of view of a target sensor on the robot body through the target sensor, wherein the field of view of the target sensor includes the calibration block; A determination module is used to determine a second posture of the calibration block relative to the target sensor based on the point cloud data; determine a target posture of the target sensor relative to the robot body based on the first posture and the second posture, and calibrate the target posture for the target sensor.

9. The device according to claim 8, It is characterized in that in, When the determination module determines the second posture of the calibration block relative to the target sensor based on the point cloud data, it is specifically used to: determine a third posture of the ground coordinate system relative to the sensor coordinate system based on the point cloud data; determine a fourth posture of the ground coordinate system relative to the calibration block coordinate system based on the point cloud data; determine the second posture based on the third posture and the fourth posture; Wherein, when the determination module determines the third posture of the ground coordinate system relative to the sensor coordinate system based on the point cloud data, it is specifically used to: select target point cloud data corresponding to the ground point used to fit the plane from all point cloud data, and the ground point is located between the target sensor and the calibration block; determine the first control parameter corresponding to the ground coordinate system based on the target point cloud data; determine the rotation matrix of the ground coordinate system relative to the sensor coordinate system based on the first control parameter; determine the displacement vector of the ground coordinate system relative to the sensor coordinate system based on the first control parameter; determine the third posture based on the rotation matrix and the displacement vector; Among them, when the determination module determines the fourth posture of the ground coordinate system relative to the calibration block coordinate system based on the point cloud data, it is specifically used to: determine the two-dimensional position data in the ground coordinate system based on the point cloud data, and select the target two-dimensional position data corresponding to the rear boundary point of the calibration block from all the two-dimensional position data; fit the target straight line corresponding to the calibration block based on the target two-dimensional position data; determine the rotation matrix of the ground coordinate system relative to the calibration block coordinate system based on the second control parameter corresponding to the target straight line, and determine the displacement vector of the ground coordinate system relative to the calibration block coordinate system based on the center point coordinates corresponding to the target straight line; determine the fourth posture based on the rotation matrix and the displacement vector; Wherein, when the determination module determines the two-dimensional position data in the ground coordinate system based on the point cloud data, it is specifically used to: if the target sensor is a three-dimensional sensor and the point cloud data is three-dimensional position data, then the three-dimensional position data other than the ground points are filtered out from all the three-dimensional position data, and the filtered three-dimensional position data are projected onto the ground to obtain the two-dimensional position data in the ground coordinate system; or, if the target sensor is a two-dimensional sensor and the point cloud data is two-dimensional position data, then the two-dimensional position data in the ground coordinate system is determined based on the point cloud data; Wherein, when the determination module determines the target posture of the target sensor relative to the robot body based on the first posture and the second posture, it is specifically used to: determine the target posture of the target sensor relative to the robot body based on the following formula: rs =T rb *T sb -1 ; Among them, T rs represents the target pose, T rb represents the first posture, T sb represents the second posture.

10. A robot, characterized in that: The robot comprises a robot body and at least one sensor, a cross laser, a calibration block and the robot are placed in a target scene, and when the cross laser emits a cross laser line, the robot body is aligned with the calibration block based on the cross laser line; The robot further comprises a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the method steps described in any one of claims 1-7.

Citation Information

Patent Citations

  • Laser radar calibration method and device, equipment and storage medium

    CN109901138A

  • Method for extracting and encoding motion characteristics of digital retina of mobile camera

    CN110009739A

  • Incomplete detection method and device

    CN110910379A

  • Line laser and mechanical arm calibration method

    CN112361958A

  • Automatic plane correction method for intelligent tube plate welding robot based on cross laser

    CN112894209A