A robot calibration method, apparatus and device
By receiving the pose data of the reference robot and the pose data of the reference object, the pose error of the robot to be calibrated in the coordinate system of the reference robot is calculated, and calibration is performed directly. This solves the problem of low efficiency of multiple AMR calibrations in the existing technology and realizes an efficient and simplified calibration process.
Patent Information
- Application Number
- CN202310945921.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-28
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2043-07-28
AI Technical Summary
Existing AMR consistency calibration methods are inefficient, cumbersome, and time-consuming, mainly because they require moving to multiple reference points one by one to collect coordinate information.
By receiving the pose data of the reference robot and the pose data of the reference object, the pose error of the robot to be calibrated in the coordinate system of the reference robot is calculated, and calibration is performed directly, which simplifies the calibration process and improves efficiency.
The elimination of the need for multiple movements to collect coordinate data simplifies the calibration process, improves calibration efficiency and accuracy, and reduces calibration time.
Smart Images

Figure CN117021078B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, and in particular to a robot calibration method, apparatus, and equipment. Background Technology
[0002] Robots are increasingly being applied across various industries, such as industrial applications. In industrial settings, autonomous mobile robots (AMRs) are used to transport and install parts between production lines and warehouses. Because AMRs must transport parts along pre-defined routes and precisely insert them into fixed positions, consistency calibration is necessary before deploying multiple AMRs to ensure the accuracy of coordinated transport and installation. Consistency calibration involves calibrating the parameters of multiple AMRs so that their measurement data relative to the same reference object at the same location is identical when performing tasks (coordinated transport and installation).
[0003] Currently, a method for consistent calibration of multiple AMRs is as follows: A global coordinate system is established, and six reference points are selected within this system. Each AMR collects coordinate information from these six reference points, resulting in six sets of coordinate information for each AMR. One AMR is designated as the reference AMR, and the six sets of coordinate information collected by this reference AMR are used as the reference coordinate information. All other AMRs except the reference AMR are then calibrated based on this reference coordinate information.
[0004] However, due to the large size of AMRs, multiple AMRs are usually moved to the corresponding reference points by remote control. Each AMR needs to be moved to six points to collect coordinate information, making the calibration process cumbersome and resulting in low calibration efficiency. Summary of the Invention
[0005] This application provides a robot calibration method, apparatus, and device to improve the efficiency of consistency calibration.
[0006] In a first aspect, embodiments of this application provide a robot calibration method, comprising: receiving first pose data and second pose data from a first robot, wherein the first pose data represents the pose of a first sensor in the first robot in the coordinate system of the first robot, and the second pose data represents the pose of the first robot in the coordinate system of a first reference object; acquiring third pose data of a second robot in the coordinate system of the first reference object; determining sixth pose data based on the first pose data, pre-stored fourth pose data, and fifth pose data, wherein the fourth pose data represents the pose of a second sensor in the second robot in the coordinate system of the second robot, the fifth pose data represents the pose of the second sensor in the coordinate system of the first sensor, and the sixth pose data represents the pose of the first robot in the coordinate system of the second robot; determining seventh pose data based on the second pose data and the third pose data, wherein the seventh pose data represents the pose of the second robot in the coordinate system of the first robot; and calibrating the fourth pose data based on the sixth pose data and the seventh pose data.
[0007] In this embodiment, the second robot is equivalent to the robot to be calibrated, and the first robot is equivalent to the reference robot. The second robot can directly receive first and second pose data from the first robot, and acquire its own third and fourth pose data. It then calculates the pose of the second robot in the coordinate system of the first robot and the pose of the first robot in the coordinate system of the second robot, thus determining the relative position of the first and second robots. This yields the pose error of the second robot relative to the first robot, and the fourth pose data is calibrated based on this pose error. In this approach, the second robot does not need to collect coordinate data at multiple locations, improving calibration efficiency. Furthermore, the second robot can automatically perform calibration based on the first robot's first and second pose data, simplifying the calibration process and further improving calibration efficiency.
[0008] In one possible implementation, the method further includes: acquiring eighth pose data of the second reference object in the coordinate system of the second sensor; receiving ninth pose data from the first robot, the ninth pose data representing the pose of the second reference object in the coordinate system of the first sensor; and determining the fifth pose data as the product of the eighth pose data and the reciprocal of the ninth pose data.
[0009] In this embodiment, the fifth pose data can be obtained by matching the pose data of the second reference object in the coordinate system of the first sensor and the coordinate system of the second sensor respectively. This allows the fifth pose data to better represent the pose relationship between the first sensor and the second sensor in the second reference object, which is beneficial to improving the accuracy of calculating the pose error of the first sensor relative to the second sensor, thereby improving the accuracy of robot calibration.
[0010] In one possible implementation, the sixth pose data includes the coordinate data and orientation angle of the first robot in the coordinate system of the second robot, the seventh pose data includes the coordinate data and orientation angle of the second robot in the coordinate system of the first robot, and the fourth pose data includes the coordinate data and orientation angle of the second sensor in the coordinate system of the second robot. Determining the sixth pose data by multiplying the fourth pose data, the reciprocal of the fifth pose data, and the reciprocal of the first pose data includes: determining a first error by multiplying the sixth pose data and the seventh pose data, whereby the first error represents the position of the second sensor relative to the first sensor. The pose error includes the coordinate data error between the second sensor and the first sensor in the coordinate system of the second sensor and the orientation angle error. If the orientation angle error is less than or equal to a first preset angle, the sixth pose data is determined by multiplying the fourth pose data, the reciprocal of the fifth pose data, and the reciprocal of the first pose data. Alternatively, if the orientation angle error is greater than the first preset angle, the orientation angle in the fourth pose data is adjusted according to the orientation angle error to obtain the adjusted fourth pose data, and the sixth pose data is determined by multiplying the adjusted fourth pose data, the reciprocal of the fifth pose data, and the reciprocal of the first pose data.
[0011] In this embodiment, when the direction angle of the first error is greater than a first preset angle, the second robot needs to adjust the direction angle of the fourth pose data and determine the sixth pose data based on the adjusted fourth pose data. When the direction angle of the first error is less than or equal to the first preset angle, the second robot can directly adjust the fourth pose data based on the coordinate data error in the first error. In other words, when the calculated direction angle of the first error is greater than the first preset angle, the accuracy of determining the coordinate data error of the first error is low. Therefore, by adjusting the direction angle of the fourth pose data, the accuracy of calculating the coordinate data error of the first error is improved, thereby improving the accuracy of calibrating the second robot.
[0012] In one possible implementation, the fourth pose data is calibrated based on the sixth pose data and the seventh pose data, including: adjusting the coordinate data in the fourth pose data according to the coordinate data error.
[0013] In this embodiment, when the orientation angle error is less than or equal to a first preset angle, the second robot determines that the coordinate data error is the error of the second robot relative to the first robot, and can directly calibrate the fourth pose data based on the coordinate data error. In this method, only the fourth pose data needs to be calibrated, without calibrating other pose data, making the calibration process simpler and improving calibration efficiency.
[0014] In one possible implementation, obtaining the third pose data of the second robot in the coordinate system of the first reference object includes: obtaining the tenth pose data of the first imaging module in the second robot in the coordinate system of the first reference object; determining the third pose data by the product of the reciprocals of the tenth pose data and the eleventh pose data, wherein the eleventh pose data represents the pose of the first imaging module in the coordinate system of the second robot.
[0015] In this embodiment, considering the large size of the second robot, directly acquiring the pose data of the second robot in the coordinate system of the first reference object would result in a large error. Therefore, the tenth pose data is first obtained based on the first imaging module, and then the third pose data is calculated based on the eleventh pose data of the first imaging module and the second robot. This reduces the error in the pose data acquisition process and improves the accuracy of calibration.
[0016] In one possible implementation, the first orientation angle in the second pose data is the same as the second orientation angle in the third pose data, wherein the first orientation angle represents the azimuth angle of the first robot in the coordinate system of the first reference object, and the second orientation angle represents the azimuth angle of the second robot in the coordinate system of the first reference object.
[0017] In this embodiment, ensuring that the first orientation angle is the same as the second orientation angle can reduce the orientation angle error generated when the first robot acquires the second pose data and the second robot acquires the third pose data, making the first error calculated based on the second pose data and the third pose data more accurate.
[0018] Secondly, embodiments of this application provide a robot calibration device, comprising: a transceiver module, configured to receive first pose data and second pose data from a first robot, wherein the first pose data represents the pose of a first sensor in the first robot in the coordinate system of the first robot, and the second pose data represents the pose of the first robot in the coordinate system of a first reference object; a determination module, configured to acquire third pose data of a second robot in the coordinate system of the first reference object, and determine sixth pose data based on the first pose data, pre-stored fourth pose data, and fifth pose data, wherein the fourth pose data represents the pose of a second sensor in the second robot in the coordinate system of the second robot, the fifth pose data represents the pose of the second sensor in the coordinate system of the first sensor, the sixth pose data represents the pose of the first robot in the coordinate system of the second robot, and determine seventh pose data based on the second pose data and the third pose data, wherein the seventh pose data represents the pose of the second robot in the coordinate system of the first robot; and a calibration module, configured to calibrate the fourth pose data based on the sixth pose data and the seventh pose data.
[0019] In one possible implementation, the determining module is further configured to acquire the eighth pose data of the second reference object in the coordinate system of the second sensor; the transceiver module is further configured to receive the ninth pose data from the first robot, the ninth pose data representing the pose of the second reference object in the coordinate system of the first sensor; the determining module is further configured to determine the fifth pose data by multiplying the eighth pose data and the reciprocal of the ninth pose data.
[0020] In one possible implementation, the sixth pose data includes the coordinate data and orientation angle of the first robot in the coordinate system of the second robot, the seventh pose data includes the coordinate data and orientation angle of the second robot in the coordinate system of the first robot, and the fourth pose data includes the coordinate data and orientation angle of the second sensor in the coordinate system of the second robot.
[0021] The determining module is specifically configured to determine a first error by multiplying the sixth pose data and the seventh pose data. The first error represents the pose error of the second sensor relative to the first sensor. The first error includes the coordinate data error and the orientation angle error between the second sensor and the first sensor in the coordinate system of the second sensor. The determining module is further configured to determine the sixth pose data by multiplying the fourth pose data, the reciprocal of the fifth pose data, and the reciprocal of the first pose data if the orientation angle error is less than or equal to a first preset angle; or, if the orientation angle error is greater than the first preset angle, adjust the orientation angle in the fourth pose data according to the orientation angle error to obtain the adjusted fourth pose data, and determine the sixth pose data by multiplying the adjusted fourth pose data, the reciprocal of the fifth pose data, and the reciprocal of the first pose data.
[0022] In one possible implementation, the calibration module is specifically used to: adjust the coordinate data in the fourth pose data according to the coordinate data error.
[0023] In one possible implementation, the determining module is specifically configured to: acquire the tenth pose data of the first imaging module in the second robot in the coordinate system of the first reference object, and determine the third pose data by multiplying the reciprocals of the tenth pose data and the eleventh pose data, wherein the eleventh pose data represents the pose of the first imaging module in the coordinate system of the second robot.
[0024] In one possible implementation, the first orientation angle in the second pose data is the same as the second orientation angle in the third pose data, wherein the first orientation angle represents the azimuth angle of the first robot in the coordinate system of the first reference object, and the second orientation angle represents the azimuth angle of the second robot in the coordinate system of the first reference object.
[0025] Thirdly, embodiments of this application provide an electronic device, including: at least one processor, and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the at least one processor implements the method as described in the first aspect and any possible implementation by executing the instructions stored in the memory.
[0026] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer instructions that, when executed on a computer, cause the computer to perform the methods described in the first aspect and any possible implementation.
[0027] Fifthly, embodiments of this application provide a computer program product containing instructions that, when run on a computer, enable the methods described above as in the first aspect and any possible implementation.
[0028] The beneficial effects of aspects two through five can be referred to the content discussed in aspect one above, and will not be repeated here. Attached Figure Description
[0029] Figure 1 This is a schematic diagram illustrating an application scenario of a robot calibration method provided in an embodiment of this application;
[0030] Figure 2 A schematic flowchart of a robot calibration method provided in an embodiment of this application;
[0031] Figure 3 A schematic diagram illustrating the transformation for determining a sixth pose coordinate system, provided in an embodiment of this application;
[0032] Figure 4 A schematic diagram illustrating the transformation of a coordinate system for determining seventh pose data, provided in an embodiment of this application;
[0033] Figure 5 A flowchart illustrating a method for calibrating fourth pose data provided in an embodiment of this application;
[0034] Figure 6 This is a schematic diagram of the structure of a robot calibration device provided in an embodiment of this application;
[0035] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0036] To better understand the technical solutions provided in this application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.
[0037] The following explains the terms used in the embodiments of this application.
[0038] 1. Pose data, used to represent the current posture or state of an object. Pose data can include the object's coordinate data. The object may be, for example, a robot or a reference object. Coordinate data includes, for example, the coordinate values of the object in a coordinate system, which can be the world coordinate system or the reference object's coordinate system, and can be a two-dimensional or three-dimensional coordinate system. For example, the robot's pose data is [5, 8], where 5 and 8 represent the robot's coordinate values on the first and second coordinate axes in the reference coordinate system, respectively.
[0039] Alternatively, pose data can also include the object's coordinates and angles. In this case, the position data includes the object's coordinates and angles in a coordinate system. The meaning of coordinate data is explained above, and the angle represents the orientation angle of the object relative to a coordinate axis in that coordinate system. For example, the robot's pose data in a coordinate system might be [7, 9, 30°], where 7 and 9 represent the robot's coordinates on the first and second coordinate axes, respectively, and 30° represents the orientation angle of the robot relative to the first coordinate axis.
[0040] Please refer to Figure 1 This is a schematic diagram illustrating an application scenario of a robot calibration method provided in an embodiment of this application. Figure 1 As shown in the diagram, the scene includes a first robot 110, a second robot 120, a first reference object 130, and a second reference object 140. The first robot 110 and the second robot 120 can communicate wirelessly.
[0041] The first robot 110 and the second robot 120 are the same type of robot, such as an AMR and an automated guided vehicle (AGV), also known as an automated guided transport vehicle or automated guided transport vehicle.
[0042] The first reference object 130 is an object that provides visual reference for the first robot 110 and the second robot 120, such as a QR code, texture, or cross code.
[0043] The second reference object 140 is an object that provides laser reference for the first robot 110 and the second robot 120, such as an environmental contour point cloud and a reflector. There can be multiple second reference objects 140. Figure 1 In this embodiment, there are three second reference objects 140. In specific implementation, the number of second reference objects 140 may be increased or decreased accordingly. This application does not limit this.
[0044] The first robot 110 includes a second imaging module 111 and a first sensor 112. The second imaging module 111 is, for example, a top-view camera or a bottom-view camera on the first robot 110, and the first sensor 112 is, for example, a lidar. The position of the first reference object 130 differs depending on whether the second imaging module 111 is a top-view camera or a bottom-view camera. For example, if the second imaging module 111 is a top-view camera, the first reference object 130 is above the first robot 110 or the top-view camera; if the second imaging module 111 is a bottom-view camera, the first reference object 130 is below the first robot 110 or the bottom-view camera.
[0045] The second robot 120 includes a first imaging module 121 and a second sensor 122. The content of the first imaging module 121 can be referred to the content described in the second imaging module 111, and the content of the second sensor 122 can be referred to the content described in the first sensor 112.
[0046] For example, the first robot 110 extracts corresponding pose data based on the first reference object 130 and the second reference object 140, and sends the extracted pose data to the second robot 120, so that the second robot 120, after extracting the corresponding pose data based on the first reference object 130 and the second reference object 140, performs calibration based on the pose data sent by the first robot 110. The specific process of the second robot 120 performing calibration based on the pose data of the first robot 110 will be described in detail below.
[0047] In this context, the first robot 110 can also be referred to as the reference robot, and the second robot 120 can also be referred to as the robot to be calibrated. The reference robot can be determined from multiple robots according to preset rules. These preset rules could be, for example, random selection from multiple robots, or selection of the robot with the smallest error from multiple robots as the reference robot. The smallest error could refer to the reference robot having the smallest error while traveling along a preset route, and / or the smallest error in inserting the part into a fixed position. The number of first robots 110 is one, and the number of second robots 120 can be one or more. Figure 1 The example uses a second robot, 120.
[0048] All embodiments of this application can be applied to Figure 1 The application scenarios shown. The first robot involved in the various embodiments of this application is, for example, a... Figure 1 The first robot 110 shown, and the second imaging module involved in the various embodiments of this application, for example, are... Figure 1 The second imaging module 111 shown, and the first sensor involved in various embodiments of this application, for example, is... Figure 1 The first sensor 112 shown, and the second robot involved in the various embodiments of this application, for example, are... Figure 1 The second robot 120 shown, and the first imaging module involved in various embodiments of this application, for example, are... Figure 1 The first imaging module 121 shown, and the second sensor involved in various embodiments of this application, for example, are... Figure 1 The second sensor 122 shown, and the first reference object involved in the various embodiments of this application, for example, is Figure 1 The first reference object 130 shown, and the second reference object involved in various embodiments of this application, for example, are... Figure 1 The second reference object 140 is shown.
[0049] Please refer to Figure 2 This is a flowchart illustrating a robot calibration method provided in an embodiment of this application.
[0050] S201, the first robot sends first pose data and second pose data to the second robot. Correspondingly, the second robot receives the first pose data and second pose data from the first robot. The first pose data represents the pose of the first sensor in the first robot in the coordinate system of the first robot, and the second pose data represents the pose of the first robot in the coordinate system of the first reference object.
[0051] The first pose data includes the coordinate data and orientation angle of the first sensor in the coordinate system of the first robot. The coordinate data includes the coordinate values on the first and second coordinate axes in the coordinate system, and the orientation angle refers to the angle between the first sensor and the first coordinate axis. The second pose data includes the coordinate data and orientation angle of the first robot in the coordinate system of the first reference object. The meanings of the coordinate data and orientation angle can be found in the content described above.
[0052] The first pose data is pre-stored in the first robot. The second pose data is obtained by the first robot through the second imaging module by photographing the first reference object. The method by which the first robot obtains the second pose data is explained in detail below.
[0053] The first robot acquires the twelfth pose data of the second imaging module in the coordinate system of the first reference object. The twelfth pose data includes the coordinate data and orientation angle of the second imaging module in the coordinate system of the first reference object. Specifically, the second imaging module captures an image of the first reference object to obtain a first image. Based on the first image, the first robot uses a computer vision algorithm to calculate the twelfth pose data of the second imaging module. The computer vision algorithm is, for example, the perspective-n-point (PNP) algorithm.
[0054] The first robot calculates the second pose data based on the twelfth pose data and the pre-stored thirteenth pose data. The thirteenth pose data represents the pose of the second imaging module in the coordinate system of the first robot, and includes the coordinate data and orientation angle of the second imaging module in the coordinate system of the first robot.
[0055] For example, the first robot determines the second pose data as the product of the reciprocals of the twelfth pose data and the thirteenth pose data. A formula for calculating the second pose data is shown below.
[0056]
[0057] in, This represents the second pose data. This represents the twelfth pose data. This represents the thirteenth pose data. This represents the coordinate value of the second imaging module on the first coordinate axis in the coordinate system of the first reference object. This represents the coordinate value of the second imaging module on the second coordinate axis in the coordinate system of the first reference object. The angle between the second imaging module and the first coordinate axis is represented by q, the first reference object is represented by b_ref, the first robot is represented by c_ref, and the second imaging module is represented by c_ref.
[0058] The first robot determines the first pose data and the second pose data, and sends the first pose data and the second pose data to the second robot. Correspondingly, the second robot receives the first pose data and the second pose data from the first robot.
[0059] In one possible implementation, the actual installation position of the second imaging module in the first robot is the same as or close to the pre-stored installation position of the second imaging module in the first robot. "Close" can be understood as the error between the actual installation position and the pre-stored installation position not being zero, but less than a set error threshold. The set error threshold is, for example, 0.5.
[0060] When the actual installation position of the second shooting module in the first robot is located at the center of the first robot, the origin of the coordinate system of the first robot can coincide with the origin of the second shooting module, that is, the coordinate system of the first robot and the coordinate system of the second shooting module can be the same coordinate system.
[0061] S202, the second robot acquires the third pose data of the second robot in the coordinate system of the first reference object.
[0062] The third pose data includes the coordinate data and orientation angle of the second robot in the coordinate system of the first reference object.
[0063] Specifically, the second robot acquires the tenth pose data of the first imaging module in the coordinate system of the first reference object, as well as the pre-stored eleventh pose data. The eleventh pose data represents the pose of the first imaging module in the coordinate system of the second robot. The second robot determines the third pose data by multiplying the reciprocals of the tenth and eleventh pose data.
[0064] The specific method by which the second robot acquires the tenth pose data of the first imaging module in the coordinate system of the first reference object can be referred to the content described above regarding the acquisition of the twelfth pose data of the second imaging module in the coordinate system of the first reference object by the first robot.
[0065] The first orientation angle in the second pose data is the same as the second orientation angle in the third pose data. The first orientation angle represents the azimuth angle of the first robot in the coordinate system of the first reference object, and the second orientation angle represents the azimuth angle of the second robot in the coordinate system of the first reference object. For example, the third pose data is represented as follows: The first orientation angle is expressed as The second direction angle is expressed as but
[0066] In one possible implementation, a preset orientation angle is pre-configured in the first robot. The first robot adjusts a first orientation angle and a second orientation angle based on the preset orientation angle, such that the first and second orientation angles are the same angle as the preset orientation angle. Optionally, the preset orientation angle is represented as θ. set And set θ set =0, then
[0067] S203, the second robot determines the sixth pose data based on the first pose data, the pre-stored fourth pose data, and the fifth pose data. The fourth pose data represents the pose of the second sensor in the second robot in the coordinate system of the second robot, the fifth pose data represents the pose of the second sensor in the coordinate system of the first sensor, and the sixth pose data represents the pose of the first robot in the coordinate system of the second robot.
[0068] The fourth pose data includes the coordinate data and orientation angle of the second sensor in the coordinate system of the second robot. The fifth pose data includes the coordinate data and orientation angle of the second sensor in the coordinate system of the first sensor. The sixth pose data includes the coordinate data and orientation angle of the first robot in the coordinate system of the second robot. The meanings of the coordinate data and orientation angle can be found in the preceding text.
[0069] Specifically, the second robot can determine the sixth pose data by multiplying the reciprocal of the first pose data, the fourth pose data, and the reciprocal of the fifth pose data. For example, a calculation formula for determining the sixth pose data is shown below.
[0070]
[0071] in, This represents the sixth pose data. This represents the fourth pose data. Indicates the fifth pose data, b_tar represents the first pose data, b_tar represents the second robot, l_tar represents the second sensor, and l_ref represents the first sensor.
[0072] The fifth pose data can be pre-stored in the second robot or calculated by the second robot.
[0073] For example, the second robot can calculate the pose data based on the eighth pose data and the ninth pose data. The eighth pose data represents the pose of the second reference object in the coordinate system of the second sensor, and the ninth pose data represents the pose of the second reference object in the coordinate system of the first sensor. The eighth pose data includes the coordinate data and azimuth angle of the second reference object in the coordinate system of the second sensor, and the ninth pose data includes the coordinate data and azimuth angle of the second reference object in the coordinate system of the first sensor.
[0074] The second robot acquires the eighth pose data of the second reference object in the coordinate system of the second sensor. If there are multiple second reference objects, the eighth pose data can include the pose data of each of these multiple second reference objects, that is, the eighth pose data can be regarded as a pose data set.
[0075] Specifically, the second robot scans the second reference object using a second sensor to obtain a point cloud. The second robot then extracts the coordinate data of the second reference object in the coordinate system of the second sensor from the point cloud, which is the eighth pose data. For example, the coordinate data of the second reference object in the coordinate system of the second sensor can be represented as r. tar ={r 1_tar ,r 2_tar ,…,r n_tar},in, r 1_tar This represents the coordinate data of the first second reference object in the coordinate system of the second sensor, r. 2_tar This represents the coordinate data of the second reference object in the coordinate system of the second sensor, r. n_tar This represents the coordinate data of the nth second reference object in the coordinate system of the second sensor, where i = 1, 2, ..., n, and n represents the number of second reference objects.
[0076] The second robot receives the ninth pose data from the first robot. The method by which the first robot obtains the ninth pose data can be referred to the content described for the second robot obtaining the eighth pose data.
[0077] Because of the error in the installation positions of the first sensor and the second sensor within the first robot, the pose data of the second reference object obtained by the first sensor scanning the second reference object in the first sensor's coordinate system also differs from the pose data obtained by the second sensor scanning the second reference object in the second sensor's coordinate system. The difference between the eighth and ninth pose data is caused by the difference in the installation positions of the first and second sensors. Therefore, the second robot can obtain the fifth pose data from the eighth and ninth pose data.
[0078] For example, the second robot can process the eighth and ninth pose data based on a matching algorithm to obtain the fifth pose data. Matching algorithms include, for example, the iterative closest point (ICP) algorithm and the scan match algorithm.
[0079] The following example illustrates how the second robot determines the fifth pose data based on the eighth and ninth pose data, using the ICP algorithm to calculate the fifth pose data with multiple second reference objects as an example. In this case, the eighth pose data may include the pose data of multiple second reference objects in the coordinate system of the second sensor, and the ninth pose data may include the pose data of multiple second reference objects in the coordinate system of the first sensor.
[0080] For example, the eighth pose data can be represented as r tar ={r 1_tar ,r 2_tar ,…,r n_tar The ninth pose data is represented as r. ref ={r 1_ref ,r 2_ref ,…,r n_ref}, r n_ref This represents the pose data of the nth second reference object in the coordinate system of the first sensor.
[0081] The second robot determines multiple sets of corresponding points, where each set of corresponding points includes a pose data point from the ninth pose data and a pose data point from the eighth pose data, and the difference between the pose data point from the ninth pose data and the pose data point from the eighth pose data is the smallest among multiple differences. Multiple differences refer to the differences between the pose data point from the ninth pose data and each pose data point in the eighth pose data.
[0082] The second robot uses the least squares method to iteratively calculate and determine the fifth pose data based on the distance between each set of corresponding points. The fifth pose data represents the pose of the second sensor's coordinate system relative to the first sensor's coordinate system after registration. Registration can be understood as the pose data of the fourth reference object acquired by the second sensor in the second sensor's coordinate system, after transformation by the fifth pose data, becoming identical to the pose data of the fourth reference object acquired by the first sensor in the first sensor's coordinate system.
[0083] S204, the second robot determines the seventh pose data based on the second pose data and the third pose data. The seventh pose data represents the pose of the second robot in the coordinate system of the first robot.
[0084] The seventh pose data includes the coordinates and orientation angles of the second robot in the coordinate system of the first robot.
[0085] Specifically, the second robot determines the seventh pose data by multiplying the reciprocal of the second pose data and the third pose data. For example, one formula for determining the seventh pose data is shown below.
[0086]
[0087] in, This represents the seventh pose data. This represents the second pose data. This represents the third pose data.
[0088] S205, the second robot calibrates the fourth pose data based on the sixth and seventh pose data.
[0089] Specifically, the second robot determines the first error, or consistency parameter, as the product of the sixth pose data and the seventh pose data. The first error represents the pose error of the second sensor relative to the first sensor, and includes the coordinate data error and orientation angle error between the second and first sensors in the second sensor's coordinate system. For example, a formula for determining the first error is shown below.
[0090]
[0091] Where γ represents the first error. This represents the seventh pose data. Represents the sixth pose data, γ x and γ y This represents the coordinate data error, specifically, γ. x γ represents the coordinate error between the second sensor and the first sensor on the first coordinate axis in the coordinate system of the second sensor. yγ represents the coordinate error between the second sensor and the first sensor on the second coordinate axis in the coordinate system of the second sensor. θ This represents the angular error between the second sensor and the first sensor in the coordinate system of the second sensor. For ease of description, γ will be referred to as such in the following text. x Simply put, the first coordinate value error is γ. y This is simply referred to as the second coordinate value error. In other words, coordinate data error includes the first coordinate value error and the second coordinate value error.
[0092] The following will combine Figure 3 The diagram shows a transformation of a coordinate system, and Figure 4 The diagram showing the coordinate system transformation illustrates the conversion between the various pose data mentioned above.
[0093] Figure 3 Including the coordinate system of the first sensor (in) Figure 3 The coordinate system is denoted by L1), and the coordinate system of the first robot is denoted by L1. Figure 3 The coordinate system of the first sensor is denoted by B1), and the coordinate system of the second sensor is denoted by B1. Figure 3 The coordinate system of the first robot is denoted by L2), and the coordinate system of the second robot is denoted by L2. Figure 3 (represented by B2 in Chinese). Figure 3 R in the figure represents the actual position of the second reference point.
[0094] The second robot receives pose data of the second reference object in the coordinate system of the first sensor obtained by the first sensor scanning the second reference object, and also obtains pose data of the second reference object in the coordinate system of the second sensor obtained by the second sensor scanning the second reference object, and converts these data to obtain pose data of the second sensor in the coordinate system of the first sensor. Further, based on the pose data of the second sensor in the coordinate system of the first sensor, the pose data of the first sensor in the coordinate system of the first robot and the pose data of the second sensor in the coordinate system of the second robot are converted to obtain the pose data of the first robot in the coordinate system of the second robot, i.e., the sixth pose data.
[0095] Figure 4 The coordinate system including the first reference object (in) Figure 4 The coordinate system is denoted by Q), and the coordinate system of the first robot (in... Figure 4 The coordinate system of the first robot is denoted by B1), and the coordinate system of the second robot is denoted by B1. Figure 4 In this coordinate system, B2 is used as the reference. Figure 4 In this diagram, C1 represents the actual position of the second shooting module, and C2 represents the actual position of the first shooting module.
[0096] The second robot, based on the pose data of the second imaging module in the coordinate system of the first reference object and the pose data of the second imaging module in the coordinate system of the first robot, converts the pose data of the first robot in the coordinate system of the first reference object to obtain the pose data of the second robot in the coordinate system of the first reference object. Similarly, the second robot can, based on the pose data of the first imaging module in the coordinate system of the first reference object and the pose data of the first imaging module in the coordinate system of the second robot, convert the pose data of the second robot in the coordinate system of the first reference object to obtain the pose data of the second robot in the coordinate system of the first reference object. Thus, the second robot obtains its pose data in the coordinate system of the first robot, i.e., the seventh pose data.
[0097] Furthermore, the second robot determines the first error based on the product of the sixth pose data and the seventh pose data. For example, the second robot represents the sixth pose data and the seventh pose data in matrix form, and the product of the two matrices is the first error.
[0098] Once the second robot determines the first error, it can calibrate the fourth pose data based on this error. After calibrating the fourth pose data, the pose data of the second reference object in the second robot's coordinate system, obtained by the second robot using the second sensor, is consistent with the pose data of the second reference object in the first robot's coordinate system, obtained by the first robot using the first sensor. In other words, the calibrated fourth pose data can compensate for the installation error caused by the actual installation positions of the first and second sensors in the first robot, ensuring consistency between the first and second robots.
[0099] The following will combine Figure 5 The flowchart illustrating a method for calibrating fourth pose data provides a detailed explanation of how the second robot calibrates the fourth pose data. Figure 5 The steps shown are illustrated using the second robot.
[0100] S501, the second robot determines the first error.
[0101] The specific method by which the second robot determines the first error can be found in the content described above.
[0102] S502, the second robot determines whether the orientation angle error is less than or equal to the first preset angle.
[0103] If the second robot determines that the orientation angle error is less than or equal to the first preset angle, then execute S503, that is, the second robot determines the calibrated fourth pose data based on the first coordinate value error and the second coordinate value error. If the second robot determines that the orientation angle error is greater than the first preset angle, then execute S504, that is, the second robot determines the adjusted fourth pose data based on the orientation angle error.
[0104] The first preset angle can be pre-configured in the second robot, or it can be set based on actual needs. For example, the first preset angle can be a threshold value approximately equal to zero. Optionally, the first preset angle can be represented as θ. ths θ ths =0.5 or θ ths =0.1.
[0105] It should be noted that the closer the first preset angle is to zero, the more accurate the error value represented by the first error will be, and thus the fourth pose data calibrated based on the first error will also be more accurate.
[0106] S503, the second robot determines the calibrated fourth pose data based on the first coordinate error and the second coordinate error.
[0107] The fourth pose data includes the coordinate values of the second sensor on the first coordinate axis in the coordinate system of the second robot, the coordinate values of the second sensor on the second coordinate axis in the coordinate system of the second robot, and the orientation angle of the second sensor in the coordinate system of the second robot. For ease of description, the coordinate values of the second sensor on the first coordinate axis in the coordinate system of the second robot will be referred to as the first coordinate values, the coordinate values of the second sensor on the second coordinate axis in the coordinate system of the second robot will be referred to as the second coordinate values, and the orientation angle of the second sensor in the coordinate system of the second robot will be referred to as the third orientation angle.
[0108] Specifically, the second robot determines the calibrated first coordinate value by the difference between the first coordinate value and the error between the first coordinate value, and determines the calibrated second coordinate value by the difference between the second coordinate value and the error between the second coordinate value, thus obtaining the calibrated fourth pose data. The calibrated fourth pose data includes the calibrated first coordinate value, the calibrated second coordinate value, and the orientation angle of the second sensor in the coordinate system of the second robot. In other words, if the orientation angle error is less than or equal to a first preset angle, the second robot does not need to calibrate the third orientation angle.
[0109] For example, when the direction angle error is less than or equal to a first preset angle (the direction angle error is denoted as γ) θ The first preset angle is denoted as θ. ths Then γ θ ≤θ ths In the case of ), a calculation formula for determining the fourth pose data after calibration is shown below.
[0110]
[0111]
[0112] in, This represents the first coordinate value after calibration. Represents the first coordinate value, γ x This indicates the error of the first coordinate value. This represents the calibrated second coordinate value. Indicates the second coordinate value, γ y This indicates the error in the second coordinate value.
[0113] After executing S503, the second robot can determine that the calibration process has been completed.
[0114] S504, the second robot determines the adjusted fourth pose data based on the orientation angle error.
[0115] Specifically, the second robot determines the difference between the third orientation angle and the orientation angle error as the adjusted third orientation angle, thus obtaining the adjusted fourth pose data. The adjusted fourth pose data includes the first coordinate value, the second coordinate value, and the adjusted third orientation angle.
[0116] For example, when the direction angle error is greater than a first preset angle (the direction angle error is denoted as γ) θ The first preset angle is denoted as θ. ths Then γ θ >θ ths In the case of ), a formula for calculating the adjusted fourth pose data is shown below.
[0117]
[0118] in, This indicates the adjusted third-direction angle. γ represents the third-direction angle. θ This indicates the direction angle error.
[0119] S505, the second robot determines the first error based on the adjusted fourth pose data.
[0120] Specifically, the second robot determines the sixth pose data by multiplying the adjusted fourth pose data, the reciprocal of the fifth pose data, and the reciprocal of the first pose data. The second robot then determines the first error by multiplying the sixth pose data and the seventh pose data.
[0121] In other words, if the orientation angle error is greater than the first preset angle, the second robot adjusts the third orientation angle in the fourth pose data, recalculates the sixth pose data based on the adjusted fourth pose data, and then determines the first error based on the sixth pose data obtained from the adjusted fourth pose data. In other words, after the second robot determines the adjusted fourth pose data, it repeats steps S203-S205 until the calibrated fourth pose data is obtained.
[0122] It should be noted that the embodiments in this application are illustrated using the aforementioned pose data, which includes coordinate data in a two-dimensional coordinate system. Of course, the aforementioned pose data may also include coordinate data in a K-dimensional coordinate system. When the aforementioned pose data includes coordinate data in a K-dimensional coordinate system, the calibration process for the second robot is similar to that described above, and will not be repeated here. K is an integer greater than or equal to 3.
[0123] Based on the same inventive concept, embodiments of this application provide a robot calibration device, which is used to implement any of the robot calibration methods described above, for example, for... Figure 2 The device demonstrates the robot calibration method and can also perform the functions of the second robot described above, and correspondingly, it can also perform the steps executed by the second robot described above.
[0124] Please refer to Figure 6 This is a schematic diagram of the structure of a robot calibration device provided in an embodiment of this application, as shown below. Figure 6 As shown, the robot calibration device 600 includes a transceiver module 601, a determination module 602, and a calibration module 603.
[0125] For example, the transceiver module 601 is used to receive first pose data and second pose data from the first robot. The first pose data represents the pose of the first sensor in the first robot in the coordinate system of the first robot, and the second pose data represents the pose of the first robot in the coordinate system of the first reference object. The determination module 602 is used to acquire the third pose data of the second robot in the coordinate system of the first reference object, and determine the sixth pose data based on the first pose data, the pre-stored fourth pose data, and the fifth pose data. The fourth pose data represents the pose of the second sensor in the second robot in the coordinate system of the second robot, the fifth pose data represents the pose of the second sensor in the coordinate system of the first sensor, and the sixth pose data represents the pose of the first robot in the coordinate system of the second robot. The determination module 603 is used to determine the seventh pose data based on the second pose data and the third pose data. The seventh pose data represents the pose of the second robot in the coordinate system of the first robot. The calibration module 603 is used to calibrate the fourth pose data based on the sixth pose data and the seventh pose data.
[0126] In one possible implementation, the determining module 602 is further configured to acquire the eighth pose data of the second reference object in the coordinate system of the second sensor; the transceiver module 601 is further configured to receive the ninth pose data from the first robot, the ninth pose data representing the pose of the second reference object in the coordinate system of the first sensor; the determining module 602 is further configured to determine the fifth pose data by multiplying the eighth pose data and the reciprocal of the ninth pose data.
[0127] In one possible implementation, the sixth pose data includes the coordinate data and orientation angle of the first robot in the coordinate system of the second robot, the seventh pose data includes the coordinate data and orientation angle of the second robot in the coordinate system of the first robot, and the fourth pose data includes the coordinate data and orientation angle of the second sensor in the coordinate system of the second robot.
[0128] The determining module 602 is specifically used to determine the first error by multiplying the sixth pose data and the seventh pose data. The first error represents the pose error of the second sensor relative to the first sensor. The first error includes the coordinate data error between the second sensor and the first sensor in the coordinate system of the second sensor and the orientation angle error. The determining module 602 is also used to determine the sixth pose data by multiplying the fourth pose data, the reciprocal of the fifth pose data and the reciprocal of the first pose data if the orientation angle error is less than or equal to a first preset angle; or, if the orientation angle error is greater than the first preset angle, adjust the orientation angle in the fourth pose data according to the orientation angle error to obtain the adjusted fourth pose data, and determine the sixth pose data by multiplying the adjusted fourth pose data, the reciprocal of the fifth pose data and the reciprocal of the first pose data.
[0129] In one possible implementation, the calibration module 603 is specifically used to: adjust the coordinate data in the fourth pose data according to the coordinate data error.
[0130] In one possible implementation, the determining module 602 is specifically used to: obtain the tenth pose data of the first imaging module in the second robot in the coordinate system of the first reference object, and determine the third pose data by multiplying the reciprocals of the tenth pose data and the eleventh pose data, wherein the eleventh pose data represents the pose of the first imaging module in the coordinate system of the second robot.
[0131] In one possible implementation, the first orientation angle in the second pose data and the second orientation angle in the third pose data are the same. The first orientation angle represents the azimuth angle of the first robot in the coordinate system of the first reference object, and the second orientation angle represents the azimuth angle of the second robot in the coordinate system of the first reference object.
[0132] Based on the same inventive concept, embodiments of this application provide an electronic device for implementing any of the above-described robot calibration methods, for example, for... Figure 2 The robot calibration method shown is illustrated, and the electronic device can also perform the functions of the second robot mentioned above.
[0133] Please refer to Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 7 As shown, the electronic device 700 includes at least one processor 701 and a memory 702 communicatively connected to the at least one processor 701.
[0134] The processor 701 can be a general-purpose processor or a dedicated processor. For example, the processor 701 may include a baseband processor or a central processing unit (CPU). The baseband processor can be used to process communication protocols and communication data. The CPU can be used to control the electronic device, execute software programs, and / or process data. Different processors can be independent devices or can be integrated into one or more processing circuits, for example, integrated onto one or more application-specific integrated circuits (ASICs).
[0135] In one embodiment, memory 702 stores instructions that can be executed by at least one processor 701. At least one processor 701 implements the functions of the second robot described above by executing the instructions stored in memory 702, and correspondingly, can also implement the steps performed by the second robot described above.
[0136] In this embodiment, the electronic device 700 can also perform the functions of the robot calibration device 600 described above. When the electronic device 700 performs the functions of the robot calibration device 600, at least one processor 701 in the electronic device 700 can perform the functions of the transceiver module 601, the determination module 602, and the calibration module 603 described above.
[0137] Based on the same inventive concept, embodiments of this application provide a computer-readable storage medium, characterized in that the computer-readable storage medium stores computer instructions, which, when executed on a computer, cause the computer to perform any of the robot calibration methods described above, for example... Figure 2 The robot calibration method shown.
[0138] Based on the same inventive concept, embodiments of this application provide a computer program product containing instructions that, when run on a computer, cause the robot calibration method described above to be implemented, for example, implementing... Figure 2 The robot calibration method shown.
[0139] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0140] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0141] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0142] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0143] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A robot calibration method, characterized in that, include: Receive first pose data and second pose data from the first robot. The first pose data represents the pose of the first sensor in the first robot in the coordinate system of the first robot, and the second pose data represents the pose of the first robot in the coordinate system of the first reference object. Obtain the third pose data of the second robot in the coordinate system of the first reference object; Based on the first pose data, the pre-stored fourth pose data, and the fifth pose data, the sixth pose data is determined. The fourth pose data represents the pose of the second sensor in the second robot in the coordinate system of the second robot, the fifth pose data represents the pose of the second sensor in the coordinate system of the first sensor, and the sixth pose data represents the pose of the first robot in the coordinate system of the second robot. Based on the second pose data and the third pose data, a seventh pose data is determined, which represents the pose of the second robot in the coordinate system of the first robot. The fourth pose data is calibrated based on the sixth pose data and the seventh pose data; The sixth pose data includes the coordinates and orientation angles of the first robot in the coordinate system of the second robot; the seventh pose data includes the coordinates and orientation angles of the second robot in the coordinate system of the first robot; and the fourth pose data includes the coordinates and orientation angles of the second sensor in the coordinate system of the second robot. Determining the sixth pose data based on the first pose data, the pre-stored fourth pose data, and the fifth pose data includes: multiplying the sixth pose data and the seventh pose data to determine a first error, where the first error represents the pose error of the second sensor relative to the first sensor. The errors include coordinate data errors and orientation angle errors between the second sensor and the first sensor in the coordinate system of the second sensor; if the orientation angle error is less than or equal to a first preset angle, the sixth orientation data is determined by multiplying the fourth pose data, the reciprocal of the fifth pose data, and the reciprocal of the first pose data; or, if the orientation angle error is greater than the first preset angle, the orientation angle in the fourth pose data is adjusted according to the orientation angle error to obtain the adjusted fourth pose data, and the sixth pose data is determined by multiplying the adjusted fourth pose data, the reciprocal of the fifth pose data, and the reciprocal of the first pose data. Specifically, calibrating the fourth pose data based on the sixth pose data and the seventh pose data includes adjusting the coordinate data in the fourth pose data according to the coordinate data error.
2. The method according to claim 1, characterized in that, The method further includes: Obtain the eighth pose data of the second reference object in the coordinate system of the second sensor; Receive ninth pose data from the first robot, the ninth pose data representing the pose of the second reference object in the coordinate system of the first sensor; The product of the eighth pose data and the reciprocal of the ninth pose data is determined as the fifth pose data.
3. The method according to claim 1 or 2, characterized in that, Acquiring the third pose data of the second robot in the coordinate system of the first reference object includes: Obtain the tenth pose data of the first imaging module in the second robot in the coordinate system of the first reference object; The product of the reciprocals of the tenth and eleventh pose data is determined as the third pose data, and the eleventh pose data represents the pose of the first imaging module in the coordinate system of the second robot.
4. The method according to claim 1 or 2, characterized in that, The first orientation angle in the second pose data is the same as the second orientation angle in the third pose data. The first orientation angle represents the azimuth angle of the first robot in the coordinate system of the first reference object, and the second orientation angle represents the azimuth angle of the second robot in the coordinate system of the first reference object.
5. A robot calibration device, characterized in that, include: The transceiver module is used to receive first pose data and second pose data from the first robot. The first pose data represents the pose of the first sensor in the first robot in the coordinate system of the first robot, and the second pose data represents the pose of the first robot in the coordinate system of the first reference object. The determination module is used to acquire the third pose data of the second robot in the coordinate system of the first reference object, and to determine the sixth pose data based on the first pose data, the pre-stored fourth pose data, and the fifth pose data, wherein the fourth pose data represents the pose of the second sensor in the second robot in the coordinate system of the second robot, the fifth pose data represents the pose of the second sensor in the coordinate system of the first sensor, and the sixth pose data represents the pose of the first robot in the coordinate system of the second robot; and to determine the seventh pose data based on the second pose data and the third pose data, wherein the seventh pose data represents the pose of the second robot in the coordinate system of the first robot. The calibration module calibrates the fourth pose data based on the sixth pose data and the seventh pose data. The sixth pose data includes the coordinates and orientation angles of the first robot in the coordinate system of the second robot; the seventh pose data includes the coordinates and orientation angles of the second robot in the coordinate system of the first robot; and the fourth pose data includes the coordinates and orientation angles of the second sensor in the coordinate system of the second robot. Determining the sixth pose data based on the first pose data, the pre-stored fourth pose data, and the fifth pose data includes: multiplying the sixth pose data and the seventh pose data to determine a first error, where the first error represents the pose error of the second sensor relative to the first sensor. The errors include coordinate data errors and orientation angle errors between the second sensor and the first sensor in the coordinate system of the second sensor; if the orientation angle error is less than or equal to a first preset angle, the sixth orientation data is determined by multiplying the fourth pose data, the reciprocal of the fifth pose data, and the reciprocal of the first pose data; or, if the orientation angle error is greater than the first preset angle, the orientation angle in the fourth pose data is adjusted according to the orientation angle error to obtain the adjusted fourth pose data, and the sixth pose data is determined by multiplying the adjusted fourth pose data, the reciprocal of the fifth pose data, and the reciprocal of the first pose data. Specifically, the calibration module is used to adjust the coordinate data in the fourth pose data according to the coordinate data error.
6. The apparatus according to claim 5, characterized in that, The determining module is further configured to acquire the eighth pose data of the second reference object in the coordinate system of the second sensor; The transceiver module is further configured to receive ninth pose data from the first robot, the ninth pose data representing the pose of the second reference object in the coordinate system of the first sensor; The determining module is further configured to determine the product of the eighth pose data and the reciprocal of the ninth pose data as the fifth pose data.
7. The apparatus according to claim 5 or 6, characterized in that, The determining module is specifically used for: The tenth pose data of the first imaging module in the second robot in the coordinate system of the first reference object is obtained, and the product of the reciprocals of the tenth pose data and the eleventh pose data is determined as the third pose data, wherein the eleventh pose data represents the pose of the first imaging module in the coordinate system of the second robot.
8. The apparatus according to claim 5 or 6, characterized in that, The first orientation angle in the second pose data is the same as the second orientation angle in the third pose data. The first orientation angle represents the azimuth angle of the first robot in the coordinate system of the first reference object, and the second orientation angle represents the azimuth angle of the second robot in the coordinate system of the first reference object.
9. An electronic device, characterized in that, include: At least one processor, and a memory communicatively connected to said at least one processor; The memory stores instructions that can be executed by the at least one processor, and the at least one processor implements the method as described in any one of claims 1-4 by executing the instructions stored in the memory.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-4.
Citation Information
Patent Citations
Robot calibration method, device and equipment and storage medium
CN113384347A
Positioning method and device, storage medium and program product
CN114676713A