Calibration method, device and electronic equipment
Patent Information
- Application Number
- CN202211167533.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-23
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2042-09-23
AI Technical Summary
[0003]本公开的多个方面提供一种标定方法、装置和电子设备,以解决目前机器人系统的精度不满足要求的问题
[0011]本公开实施例应用在对机器人系统的标定场景中,包括:依次对机器人和点云采集装置进行标定,得到标定后的机器人的模型参数和点云采集装置的外参,其中,在标定机器人时,点云采集装置的外参是不变的,在标定点云采集装置时,机器人的模型参数是不变的;确定是否满足第一预设条件,若否,则基于标定后的外参和模型参数,执行依次对机器人和点云采集装置进行标定的步骤,进而准确的确定标定图案。本公开通过迭代标定的方式,能够提高机器人系统的精度。
Smart Images

Figure CN115439633B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and more particularly to a calibration method, apparatus, and electronic device. Background Technology
[0002] The robot system includes a robot and a point cloud acquisition device. The robot system locates the object to be processed based on the point cloud data acquired by the point cloud acquisition device, obtaining the object's position information. Then, it controls the robot's end effector to move to the target position corresponding to this position information. However, there is a certain deviation between the target position and the ideal position, causing the robot system's accuracy to fail to meet requirements. Summary of the Invention
[0003] This disclosure provides a calibration method, apparatus, and electronic device to address the problem that current robot systems do not meet accuracy requirements.
[0004] The first aspect of this disclosure provides a calibration method applied to a robot system, the robot system including a robot and a point cloud acquisition device. The calibration method includes: sequentially calibrating the robot and the point cloud acquisition device to obtain the calibrated model parameters of the robot and the extrinsic parameters of the point cloud acquisition device, wherein the extrinsic parameters of the point cloud acquisition device remain unchanged when calibrating the robot, and the model parameters of the robot remain unchanged when calibrating the point cloud acquisition device; determining whether a first preset condition is met, and if not, then performing the step of sequentially calibrating the robot and the point cloud acquisition device based on the calibrated extrinsic parameters and model parameters.
[0005] A second aspect of this disclosure provides a calibration apparatus for performing the calibration method of the first aspect, comprising:
[0006] The calibration module is used to calibrate the robot and the point cloud acquisition device in sequence to obtain the model parameters of the calibrated robot and the extrinsic parameters of the point cloud acquisition device. When calibrating the robot, the extrinsic parameters of the point cloud acquisition device remain unchanged, and when calibrating the point cloud acquisition device, the model parameters of the robot remain unchanged.
[0007] The processing module is used to determine whether the first preset condition is met. If not, it performs the step of calibrating the robot and the point cloud acquisition device in sequence based on the calibrated external parameters and model parameters.
[0008] A third aspect of this disclosure provides an electronic device, including: a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the calibration method of the first aspect.
[0009] A fourth aspect of this disclosure provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the calibration method of the first aspect.
[0010] A fifth aspect of this disclosure provides a computer program product comprising: a computer program stored in a readable storage medium, wherein at least one processor of an electronic device can read the computer program from the readable storage medium, and the at least one processor executes the computer program to cause the electronic device to perform the calibration method of the first aspect.
[0011] This disclosure is applied to a robot system calibration scenario, including: sequentially calibrating the robot and the point cloud acquisition device to obtain the calibrated robot model parameters and the extrinsic parameters of the point cloud acquisition device. When calibrating the robot, the extrinsic parameters of the point cloud acquisition device remain unchanged; when calibrating the point cloud acquisition device, the robot model parameters remain unchanged. It then determines whether a first preset condition is met; if not, based on the calibrated extrinsic parameters and model parameters, it performs the sequential calibration steps for the robot and the point cloud acquisition device to accurately determine the calibration pattern. This disclosure improves the accuracy of the robot system through iterative calibration. Attached Figure Description
[0012] The accompanying drawings, which are included to provide a further understanding of this disclosure and form part of this disclosure, illustrate exemplary embodiments of the present disclosure and are used to explain the disclosure, but do not constitute an undue limitation of the disclosure. In the drawings:
[0013] Figure 1 An application scenario diagram of a calibration method provided for an exemplary embodiment of this disclosure;
[0014] Figure 2 An application scenario diagram of another calibration method provided for exemplary embodiments of this disclosure;
[0015] Figure 3 A flowchart illustrating the steps of a calibration method provided for an exemplary embodiment of this disclosure;
[0016] Figure 4 A schematic diagram of a calibration method provided for an exemplary embodiment of this disclosure;
[0017] Figure 5 A schematic diagram of another calibration method provided for an exemplary embodiment of this disclosure;
[0018] Figure 6 Structural block diagram of a calibration apparatus provided for an exemplary embodiment of this disclosure;
[0019] Figure 7A schematic diagram of the structure of an electronic device provided for an exemplary embodiment of this disclosure. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of this disclosure clearer, the technical solutions of this disclosure will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without creative effort are within the scope of protection of this disclosure.
[0021] During the calibration process of a robot system, it is common practice to calibrate the point cloud acquisition device and the robot separately. For example, the point cloud acquisition device is calibrated multiple times until it reaches the required calibration accuracy, and then the robot is calibrated multiple times until it reaches the required calibration accuracy. This method can only guarantee the accuracy of the point cloud acquisition device and the robot individually, but it cannot guarantee the accuracy when the point cloud acquisition device and the robot work together, which will in turn affect the execution accuracy of the robot system.
[0022] To address the aforementioned issues, this embodiment of the present disclosure calibrates the robot and the point cloud acquisition device sequentially to obtain the model parameters of the calibrated robot and the extrinsic parameters of the point cloud acquisition device. When calibrating the robot, the extrinsic parameters of the point cloud acquisition device remain unchanged, and when calibrating the point cloud acquisition device, the model parameters of the robot remain unchanged. It then determines whether a first preset condition is met. If not, based on the calibrated extrinsic parameters and model parameters, the step of sequentially calibrating the robot and the point cloud acquisition device is executed to accurately determine the calibration pattern. The point cloud acquisition device and the robot are then jointly calibrated iteratively to improve the accuracy of the robot system.
[0023] Furthermore, one application scenario of this disclosure embodiment is as follows: Figure 1 and Figure 2 The robot system shown, Figure 1 The robot system shown includes a point cloud acquisition device 11 and a robot, wherein the robot includes an end effector 12, a robot base 14, and at least two motion segments 13 mounted between the end effector 12 and the robot base 14. Figure 1 The robot system also includes a marker reference object B. Among them, in Figure 1 The midpoint cloud acquisition device 11 is fixed on the end effector 12 of the robot, and the marker reference object B is fixed on the outside of the robot.
[0024] Figure 2The robot system shown includes a point cloud acquisition device 21 and a robot, wherein the robot includes an end effector 22, a robot base 24, and at least two motion segments 23 mounted between the end effector 22 and the robot base 24. Figure 2 The robot system also includes a marker reference object B. Among them, in Figure 2 In the middle, the point cloud acquisition device 21 is fixedly installed on the outside of the robot, and the marker reference object B is fixed on the end effector 22 of the robot.
[0025] in, Figure 1 and Figure 2 This is merely one exemplary application scenario, and the embodiments disclosed herein can be applied to any calibration of a robot system. This disclosure does not limit the specific application scenario.
[0026] Figure 3 A flowchart illustrating the steps of a calibration method provided for an exemplary embodiment of this disclosure. Specifically, it includes the following steps:
[0027] S301, calibrate the robot and the point cloud acquisition device in sequence to obtain the model parameters of the calibrated robot and the external parameters of the point cloud acquisition device.
[0028] In this calibration process, the extrinsic parameters of the point cloud acquisition device remain constant, and the model parameters of the robot remain constant. Specifically, the robot can be calibrated first with the extrinsic parameters of the point cloud acquisition device constant, and then the point cloud acquisition device can be calibrated with the robot's model parameters constant. Alternatively, the point cloud acquisition device can be calibrated first with the robot's model parameters constant, and then the robot can be calibrated with the extrinsic parameters of the point cloud acquisition device constant. In this single calibration process, the order in which the robot and the point cloud acquisition device are calibrated is not specified.
[0029] In one optional embodiment, the robot and the point cloud acquisition device are calibrated sequentially, including: calibrating the robot using the current extrinsic parameters of the point cloud acquisition device to obtain the model parameters of the calibrated robot; and calibrating the extrinsic parameters of the point cloud acquisition device using the model parameters of the calibrated robot to obtain the extrinsic parameters of the calibrated point cloud acquisition device, wherein the calibrated extrinsic parameters are used for the next calibration of the robot.
[0030] Reference Figure 4 The robot system undergoes n rounds of calibration, where n is a positive integer. Each round of calibration includes the calibration of both the robot and the point cloud acquisition device. Figure 4The process involves first calibrating the robot to obtain calibrated model parameters M1, and then using these parameters to calibrate the point cloud acquisition device, yielding calibrated extrinsic parameters W1. This means that each calibration round of the robot system produces both calibrated model parameters and calibrated extrinsic parameters. The calibrated extrinsic parameters are used for the next calibration round of the robot. In the next calibration round, the robot's corresponding model parameters will be M1, and the calibrated model parameters will be M2. Therefore, both the calibrated model parameters M1 and the calibrated extrinsic parameters W1 obtained in this round can be used for the next round of robot system calibration.
[0031] Furthermore, in Figure 4 In this calibration process, the extrinsic parameters obtained in the current calibration round can be used as the current extrinsic parameters for the next calibration round. For example, in the second calibration round of the robot system, the calibrated extrinsic parameter W1 is used as the current extrinsic parameter to calibrate the robot and obtain the calibrated model parameters M2. When calibrating the robot, the extrinsic parameter W1 of the point cloud acquisition device remains unchanged. Then, when calibrating the point cloud acquisition device using the calibrated model parameters M2, the robot's model parameters M2 remain unchanged.
[0032] exist Figure 1 and Figure 2 In the diagram, the first coordinate system (XYZ) of the robot base is established with the robot base as the origin O, where the Z-axis represents the vertical direction. The X and Y axes lie in the horizontal plane, and the three coordinate axes are perpendicular to each other. The second coordinate system (X′Y′Z′) of the point cloud acquisition device has the point cloud acquisition device as the origin O′, the Z′ axis is the direction of the central axis of the field of view of the point cloud acquisition device, and X′Y′ is a plane perpendicular to this central axis. The third coordinate system (X″Y″Z″) of the end effector has a fixed point on the end effector (e.g., the center of the flange) as the origin O″, the Z″ axis is perpendicular to the surface of the flange, and the X″ and Y″ axes are perpendicular to each other and parallel to the surface of the flange.
[0033] Specifically, in Figure 4 Based on this, for Figure 1 The robot system has a point cloud acquisition device 11 fixed on the robot's end effector 12, and a calibration reference object B fixedly installed on the outside of the robot. The robot is calibrated using the current extrinsic parameters of the point cloud acquisition device, including: determining the third reference position of the calibration reference object in the first coordinate system of the robot base based on the current extrinsic parameters of the point cloud acquisition device, while controlling the robot to a third pose using a third preset control parameter; determining the fourth reference position of the calibration reference object in the first coordinate system based on the current extrinsic parameters of the point cloud acquisition device, while controlling the robot to a fourth pose using a fourth preset control parameter; and calibrating the robot's model parameters based on the deviation between the third and fourth reference positions to obtain the calibrated model parameters.
[0034] exist Figure 1 In the diagram, the extrinsic parameters of the point cloud acquisition device 11 represent the transformation relationship between the second coordinate system (X′Y′Z′) of the point cloud acquisition device 11 and the third coordinate system (X″Y″Z″) of the end effector 12. The end effector 12 drives the point cloud acquisition device 11 to move.
[0035] In addition, the robot's control parameters can control the robot's pose. The control parameters can include motion parameters (e.g., rotation and / or translation) for each motion segment 13. The control parameters are input parameters of the robot model, such as parameters in the forward kinematics equations. Based on these control parameters, the theoretical position of the end effector in the first coordinate system can be calculated using the robot model.
[0036] Furthermore, based on the current extrinsic parameters of the point cloud acquisition device, and under the third preset control parameters controlling the robot in a third pose, the third reference position of the calibration reference object in the first coordinate system of the robot base is determined. This includes: in the third pose, acquiring the third reference point cloud of the calibration reference object B through the point cloud acquisition device 12, wherein the third reference point cloud includes the third camera position of the points on the calibration reference object in the second coordinate system (X′Y′Z′). Then, based on the third camera position and the current extrinsic parameters, the third execution position of the calibration reference object in the third coordinate system (X″Y″Z″) of the end effector can be determined. Then, based on the third preset control parameters and the current... The robot model's model parameters are used to calculate the third theoretical position (theoretical position in the first coordinate system) of the end effector. Then, based on the third theoretical position and the third actuated position, the position of calibration reference object B in the first coordinate system (XYZ) of the robot base 14 can be calculated as the third reference position. Furthermore, when the control parameters are changed to the fourth preset control parameters, the fourth reference position is determined using the same method. Since calibration reference object B is fixed, the calculated third and fourth reference positions should be the same. If they are different, the difference between the third and fourth reference positions can be used to adjust the robot's model parameters.
[0037] Furthermore, the extrinsic parameters of the point cloud acquisition device are calibrated using the calibrated robot model parameters, including: based on the calibrated robot model parameters, controlling the robot to a fifth pose using the fifth preset control parameters, controlling the point cloud acquisition device to acquire a third point cloud against the calibration reference object; determining the fifth reference position of the calibration reference object in the first coordinate system based on the third point cloud, the current extrinsic parameters of the point cloud acquisition device, and the calibrated robot model parameters; based on the calibrated robot model parameters, controlling the robot to a sixth pose using the sixth preset control parameters, controlling the point cloud acquisition device to acquire a fourth point cloud against the calibration reference object; determining the sixth reference position of the calibration reference object in the first coordinate system based on the fourth point cloud, the current extrinsic parameters of the point cloud acquisition device, and the calibrated robot model parameters; and calibrating the extrinsic parameters of the point cloud acquisition device based on the deviation between the fifth and sixth reference positions, thus obtaining the calibrated extrinsic parameters.
[0038] Specifically, after the above calibration, the robot model parameters are the calibrated model parameters. Based on the fifth preset control parameters and the calibrated model parameters, the robot is controlled to a fifth pose. In the fifth pose, the control point cloud acquisition device 11 acquires a third point cloud for the calibration reference object B. Then, based on the third point cloud and the current extrinsic parameters, the fifth execution position of the calibration reference object B in the third coordinate system (X″Y″Z″) is determined. Then, based on the calibrated model parameters and the fifth preset control parameters, the theoretical position of the end effector 12 in the first coordinate system can be calculated. Based on this theoretical position and the fifth execution position, the fifth reference position of the reference object B in the first coordinate system can be obtained. When the control parameters are changed to the sixth preset control parameters, the sixth reference position can be determined in the same way. Since the position of the reference object B is unchanged, the fifth reference position and the sixth reference position should ideally be the same. If they are different, the extrinsic parameters of the point cloud acquisition device are calibrated using the fifth reference position and the sixth reference position to obtain the calibrated extrinsic parameters.
[0039] In summary, the above calibration method can be used for... Figure 1 The robot system shown is calibrated to improve its accuracy.
[0040] Optionally, in Figure 4 Based on this, for Figure 2The robot system has a calibration reference object B fixed on the robot's end effector 22, and a point cloud acquisition device 21 fixedly installed on the outside of the robot. The robot is calibrated using the current extrinsic parameters of the point cloud acquisition device, including: controlling the robot to a first pose based on the current robot model using first preset control parameters; controlling the point cloud acquisition device to acquire a first point cloud against the calibration reference object while the robot is in the first pose; determining a first reference position of the calibration reference object in a first coordinate system on the robot base based on the first point cloud and the current extrinsic parameters of the point cloud acquisition device, where the extrinsic parameters of the point cloud acquisition device include the transformation relationship between the second coordinate system of the point cloud acquisition device and the first coordinate system; inputting the first preset control parameters into the current robot model for parameter processing to obtain a first theoretical position of the calibration reference object in the first coordinate system; and calibrating the robot's model parameters based on the deviation between the first theoretical position and the first reference position to obtain the calibrated model parameters.
[0041] During robot calibration, with the robot model currently in the first position, the robot is controlled to assume its first pose using a first preset control parameter. This means the first preset control parameter is input into the robot to control it in its first pose. In this first pose, a first point cloud is acquired, representing the position of the marker object B in the second coordinate system of the point cloud acquisition device 21. Then, based on the first point cloud and the current extrinsic parameters, the first reference position of the marker object B in the first coordinate system of the robot base 24 can be determined. The first preset control parameter is then input into the current robot model for parameter processing, yielding the theoretical position of the end effector in the first coordinate system. Since the calibration reference object is fixed under the end effector, its position relative to the end effector is fixed, thus allowing the acquisition of the first theoretical position of the calibration reference object in the first coordinate system. The first reference position reached by controlling the robot should be the same as the calculated first theoretical position. If they differ, the difference between the first reference position and the first theoretical position is used to calibrate the robot's model parameters, ensuring that the robot model parameters are the calibrated model parameters.
[0042] Furthermore, the extrinsic parameters of the point cloud acquisition device are calibrated using the calibrated robot model parameters, including: controlling the robot to a second pose using second preset control parameters based on the calibrated robot model parameters; controlling the point cloud acquisition device to acquire a second point cloud against the calibration reference object while the robot is in the second pose; determining the second reference position of the calibration reference object in the first coordinate system based on the second point cloud and the current extrinsic parameters of the point cloud acquisition device; inputting the second preset control parameters into the calibrated robot model for parameter processing to obtain the second theoretical position of the calibration reference object in the first coordinate system; and calibrating the extrinsic parameters of the point cloud acquisition device based on the deviation between the second theoretical position and the second reference position to obtain the calibrated extrinsic parameters.
[0043] Specifically, during the calibration of the point cloud acquisition device, the model parameters of the robot model are the calibrated model parameters described above. Under the calibrated model parameters, the robot is controlled to a second pose using second preset control parameters, i.e., the second preset control parameters are input into the robot to control it to a second pose. When the robot is in the second pose, a second point cloud is acquired. Then, based on the second point cloud and the current extrinsic parameters, the second reference position of the marker object B in the first coordinate system of the robot base 24 can be determined. Then, the second preset control parameters are input into the calibrated robot model for parameter processing, resulting in the theoretical position of the end effector in the first coordinate system. Since the calibration reference object is fixed under the end effector, its position relative to the end effector is fixed, thus the second theoretical position of the calibration reference object in the first coordinate system can be obtained. The second reference position calculated using extrinsic parameters should be the same as the calculated second theoretical position. If they are different, the difference between the second reference position and the second theoretical position is used to calibrate the extrinsic parameters of the point cloud acquisition device, making the extrinsic parameters of the point cloud acquisition device the calibrated extrinsic parameters.
[0044] In another optional embodiment, the robot and the point cloud acquisition device are calibrated sequentially, including: calibrating the extrinsic parameters of the point cloud acquisition device using the robot's current model parameters; and calibrating the model parameters of the robot using the calibrated extrinsic parameters, wherein the calibrated model parameters are used for the next calibration of the extrinsic parameters of the point cloud acquisition device.
[0045] Reference Figure 5 In each calibration round, the point cloud acquisition device is first calibrated using the current model parameters to obtain calibrated extrinsic parameters. Then, the robot is calibrated using these calibrated extrinsic parameters to obtain calibrated model parameters. The obtained calibrated extrinsic parameters and calibrated model parameters can be applied to the next calibration round.
[0046] also, Figure 5 The calibration method can also be applied to Figure 1 and Figure 2 The calibration of the robot system shown can be performed as described above. Figure 4 The corresponding calibration method is to calibrate the point cloud acquisition device while keeping the robot's model parameters unchanged, and to calibrate the robot while keeping the point cloud acquisition device unchanged. This will not be elaborated further here.
[0047] S302, determine whether the first preset condition is met.
[0048] If yes, the calibration ends; otherwise, S301 is executed based on the calibrated extrinsic parameters and model parameters.
[0049] Among them, reference Figures 4 to 6Based on the calibrated external parameters and model parameters, in S301, the calibration order of the robot and the point cloud acquisition device can be the same as or different from the previous one.
[0050] For example, in Figure 4 In the first round of calibration, the model parameters obtained after calibrating the robot are M1. These model parameters M1 are then used to calibrate the point cloud acquisition device, resulting in the calibrated extrinsic parameters W1. In the second round of calibration, the robot's current model parameters are M1. The extrinsic parameters W1 are used to calibrate the robot, resulting in the calibrated model parameters M2. In the second round of calibration, the extrinsic parameters of the point cloud acquisition device are W1. After calibrating the point cloud acquisition device using model parameters M2, the extrinsic parameters W2 are obtained. After n rounds of calibration, the robot's model parameters are Mn, and the extrinsic parameters of the point cloud acquisition device are Wn. Figure 5 In the process, after n rounds of calibration, the external parameter of the point cloud acquisition device is On, and the model parameter of the robot is Pn.
[0051] Furthermore, in this disclosure, the point cloud acquisition device can be calibrated separately first. After the point cloud acquisition device meets certain calibration requirements, the functions of this disclosure can then be executed. Figure 4 The steps shown, combined with the robot and point cloud acquisition device, are used for calibration to improve the overall execution accuracy of the robot system.
[0052] Specifically, determining whether the first preset condition is met includes: determining the execution accuracy of the robot system based on the calibrated external parameters and model parameters; determining whether the execution accuracy meets the preset accuracy requirements; or, determining whether the number of calibrations of the robot system is the preset number.
[0053] Specifically, the execution accuracy of the robot system is as follows: Given the actual coordinates of the calibration reference object in the first coordinate system, a point cloud acquisition device is used to acquire a point cloud of the calibration reference object. Then, the theoretical position of the calibration reference object in the first coordinate system is calculated using the extrinsic parameters of the point cloud acquisition device and the robot model. The end effector is then controlled to move based on this theoretical position. The difference between the actual position of the end effector and the actual position of the calibration reference object represents the execution accuracy of the robot system. A larger difference indicates lower execution accuracy, and a smaller difference indicates higher execution accuracy. In this disclosure, accuracy requirements can be preset, such as setting the difference to be less than 2mm or less than 3mm.
[0054] Optionally, due to differences in the structure of the robot system itself, such as the influence of pixel size of the point cloud acquisition device, the difference cannot reach a state of 0. Therefore, different calibration times can be set according to different robot systems, such as 3 times. Then, the robot system will determine that the calibration is completed after executing S301 three times.
[0055] For example, referring to Tables 1 and 2, the results for different experimental environments are given. Figure 1 The execution accuracy of the robot system shown is after calibration at different rounds. "Uncalibrated" refers to systems calibrated using the methods disclosed herein. The difference refers to the difference between the actual position of the control end effector after movement and the actual position of the calibration reference object. The percentage is the percentage of times the difference falls within the corresponding range after multiple experiments. In Table 1, for robot model A1, point cloud acquisition device B1, and the distance from the point cloud acquisition device to the reference object, the distance is 300mm to 500mm.
[0056] Table 1
[0057]
[0058] As can be seen in Table 1, the smaller the difference in the robot system's value and the higher the execution accuracy, the more iterations (calibration rounds) there are. The execution accuracy of the robot system after four iterations is similar to that after three iterations.
[0059] In Table 2, for robot model A2, point cloud acquisition device B2, the distance from the point cloud acquisition device to the marker reference object is 800mm to 1000mm.
[0060] Table 2
[0061]
[0062]
[0063] As can be seen in Table 2, with the increase of the number of iterations (calibration rounds), the corresponding difference in the robot system becomes smaller, and the execution accuracy becomes higher. Combining Tables 1 and 2, it can be seen that different robot systems can achieve different execution accuracies. Table 1 shows a difference of less than 0.6 mm, while Table 2 shows a difference of less than 2.4 mm. In conclusion, iterative calibration can improve the execution accuracy of the robot system.
[0064] This disclosure is applied to a robot system calibration scenario, including: sequentially calibrating the robot and the point cloud acquisition device to obtain the calibrated robot model parameters and the extrinsic parameters of the point cloud acquisition device. When calibrating the robot, the extrinsic parameters of the point cloud acquisition device remain unchanged; when calibrating the point cloud acquisition device, the robot model parameters remain unchanged. It then determines whether a first preset condition is met; if not, based on the calibrated extrinsic parameters and model parameters, it performs the sequential calibration steps for the robot and the point cloud acquisition device to accurately determine the calibration pattern. This disclosure improves the accuracy of the robot system through iterative calibration.
[0065] In this embodiment of the disclosure, reference is made to Figure 6 In addition to providing a calibration method, a calibration apparatus 60 is also provided for use with the above-mentioned calibration method, including:
[0066] The calibration module 61 is used to calibrate the robot and the point cloud acquisition device in sequence to obtain the model parameters of the calibrated robot and the external parameters of the point cloud acquisition device. When calibrating the robot, the external parameters of the point cloud acquisition device remain unchanged, and when calibrating the point cloud acquisition device, the model parameters of the robot remain unchanged.
[0067] The processing module 62 is used to determine whether the first preset condition is met. If not, it performs the step of calibrating the robot and the point cloud acquisition device in sequence based on the calibrated external parameters and model parameters.
[0068] In one optional embodiment, the calibration module 61 is specifically used to: calibrate the robot using the current extrinsic parameters of the point cloud acquisition device to obtain the model parameters of the calibrated robot; and calibrate the extrinsic parameters of the point cloud acquisition device using the model parameters of the calibrated robot to obtain the extrinsic parameters of the calibrated point cloud acquisition device, wherein the calibrated extrinsic parameters are used for the next calibration of the robot.
[0069] In one optional embodiment, the calibration reference object is fixed on the robot's end effector, and the point cloud acquisition device is fixedly installed on the outside of the robot. When the calibration module 61 calibrates the robot using the current extrinsic parameters of the point cloud acquisition device, it is specifically used for: controlling the robot to a first pose based on the robot's current robot model using a first preset control parameter; controlling the point cloud acquisition device to acquire a first point cloud for the calibration reference object in the first pose state; determining a first reference position of the calibration reference object in a first coordinate system of the robot base according to the first point cloud and the current extrinsic parameters of the point cloud acquisition device, wherein the extrinsic parameters of the point cloud acquisition device include: the transformation relationship of the second coordinate system of the point cloud acquisition device relative to the first coordinate system; inputting the first preset control parameter into the current robot model for parameter processing to obtain a first theoretical position of the calibration reference object in the first coordinate system; calibrating the robot's model parameters according to the deviation between the first theoretical position and the first reference position to obtain the calibrated model parameters.
[0070] In one optional embodiment, when the calibration module 61 calibrates the extrinsic parameters of the point cloud acquisition device using the calibrated robot model parameters, it specifically performs the following: based on the calibrated robot model parameters, it controls the robot to a second pose using a second preset control parameter; while the robot is in the second pose, it controls the point cloud acquisition device to acquire a second point cloud against a calibration reference object; based on the second point cloud and the current extrinsic parameters of the point cloud acquisition device, it determines a second reference position of the calibration reference object in the first coordinate system; it inputs the second preset control parameter into the calibrated robot model for parameter processing to obtain a second theoretical position of the calibration reference object in the first coordinate system; based on the deviation between the second theoretical position and the second reference position, it calibrates the extrinsic parameters of the point cloud acquisition device to obtain the calibrated extrinsic parameters.
[0071] In one optional embodiment, the point cloud acquisition device is fixed to the end effector of the robot, and the calibration reference object is fixedly installed on the outside of the robot. When the calibration module 61 calibrates the robot using the current extrinsic parameters of the point cloud acquisition device, it is specifically used to: determine the third reference position of the calibration reference object in the first coordinate system of the robot base based on the current extrinsic parameters of the point cloud acquisition device and controlling the robot to a third pose using a third preset control parameter; determine the fourth reference position of the calibration reference object in the first coordinate system based on the current extrinsic parameters of the point cloud acquisition device and controlling the robot to a fourth pose using a fourth preset control parameter; and calibrate the model parameters of the robot according to the deviation between the third reference position and the fourth reference position to obtain the calibrated model parameters.
[0072] In one optional embodiment, when the calibration module 61 calibrates the extrinsic parameters of the point cloud acquisition device using the calibrated robot model parameters, it specifically performs the following: based on the calibrated robot model parameters, and with the robot controlled in a fifth pose using a fifth preset control parameter, it controls the point cloud acquisition device to acquire a third point cloud against a calibration reference object; based on the third point cloud, the current extrinsic parameters of the point cloud acquisition device, and the calibrated robot model parameters, it determines a fifth reference position of the calibration reference object in the first coordinate system; based on the calibrated robot model parameters, and with the robot controlled in a sixth pose using a sixth preset control parameter, it controls the point cloud acquisition device to acquire a fourth point cloud against the calibration reference object; based on the fourth point cloud, the current extrinsic parameters of the point cloud acquisition device, and the calibrated robot model parameters, it determines a sixth reference position of the calibration reference object in the first coordinate system; based on the deviation between the fifth and sixth reference positions, it calibrates the extrinsic parameters of the point cloud acquisition device to obtain the calibrated extrinsic parameters.
[0073] In one optional embodiment, the calibration module 61 is specifically used to: calibrate the extrinsic parameters of the point cloud acquisition device using the current model parameters of the robot; and calibrate the model parameters of the robot using the calibrated extrinsic parameters, wherein the calibrated model parameters are used for the calibration of the extrinsic parameters of the point cloud acquisition device in the next iteration.
[0074] In one optional embodiment, the processing module 62 is specifically used to: determine the execution accuracy of the robot system based on the calibrated extrinsic parameters and model parameters; determine whether the execution accuracy meets the preset accuracy requirements; or, determine whether the number of calibrations of the robot system is the preset number.
[0075] The calibration device provided in this embodiment, through iterative calibration, can improve the accuracy of the robot system.
[0076] Furthermore, in some of the processes described in the above embodiments and accompanying drawings, multiple operations appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order they appear herein, or may be executed in parallel. The sequence numbers are merely used to distinguish different operations, and the sequence numbers themselves do not represent any execution order. Additionally, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel. It should be noted that the descriptions such as "first," "second," etc., in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.
[0077] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an example embodiment of this disclosure. For example... Figure 7 As shown, the electronic device 70 includes a processor 71 and a memory 72 communicatively connected to the processor 71. The memory 72 stores computer-executed instructions. The electronic device can be the aforementioned robot system.
[0078] The processor executes computer execution instructions stored in the memory to implement the calibration method provided in any of the above method embodiments. The specific functions and technical effects to be achieved will not be elaborated here.
[0079] This disclosure also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the calibration method provided in any of the above method embodiments.
[0080] This disclosure also provides a computer program product, which includes: a computer program stored in a readable storage medium, at least one processor of an electronic device can read the computer program from the readable storage medium, and the at least one processor executes the computer program to cause the electronic device to perform the calibration method provided in any of the above method embodiments.
[0081] In the embodiments provided in this disclosure, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between systems or units may be electrical, mechanical, or other forms.
[0082] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0083] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in a combination of hardware and software functional units.
[0084] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods of the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0085] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional modules is merely an example. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the system can be divided into different functional modules to complete all or part of the functions described above. The specific working process of the system described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0086] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.
[0087] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. A calibration method, characterized in that, The calibration method is applied to a robot system, which includes a robot and a point cloud acquisition device, and includes: The robot system undergoes multiple rounds of calibration. In each round, the robot and the point cloud acquisition device are calibrated sequentially to obtain the model parameters of the robot and the extrinsic parameters of the point cloud acquisition device. When calibrating the robot, the extrinsic parameters of the point cloud acquisition device remain unchanged; when calibrating the point cloud acquisition device, the model parameters of the robot remain unchanged. Each round of robot system calibration includes the calibration of both the robot and the point cloud acquisition device. After the previous round of robot system calibration, it is determined whether the first preset condition is met. If not, based on the extrinsic parameters and model parameters after the previous round of calibration, the step of sequentially calibrating the robot and the point cloud acquisition device is executed. Determining whether the first preset condition is met includes: determining the execution accuracy of the robot system based on the calibrated extrinsic parameters and model parameters; determining whether the execution accuracy meets the preset accuracy requirement; or, determining whether the number of calibrations of the robot system is a preset number. The step of sequentially calibrating the robot and the point cloud acquisition device to obtain the calibrated model parameters of the robot and the extrinsic parameters of the point cloud acquisition device includes: The robot is calibrated using the current extrinsic parameters of the point cloud acquisition device to obtain the model parameters of the calibrated robot; Using the calibrated robot model parameters, the extrinsic parameters of the point cloud acquisition device are calibrated to obtain the calibrated extrinsic parameters of the point cloud acquisition device. These calibrated extrinsic parameters are used for the next calibration of the robot; or... The external parameters of the point cloud acquisition device are calibrated using the current model parameters of the robot. The calibrated extrinsic parameters are used to calibrate the robot's model parameters, which are then used for the next calibration of the extrinsic parameters of the point cloud acquisition device.
2. The calibration method according to claim 1, characterized in that, The calibration reference object is fixed to the end effector of the robot, and the point cloud acquisition device is fixedly installed outside the robot. The calibration of the robot using the current extrinsic parameters of the point cloud acquisition device includes: Based on the current robot model, the robot is controlled to the first pose using the first preset control parameters; When the robot is in the first pose, the point cloud acquisition device is controlled to acquire the first point cloud against the calibration reference object; Based on the first point cloud and the current extrinsic parameters of the point cloud acquisition device, the first reference position of the calibration reference object in the first coordinate system of the robot base is determined. The extrinsic parameters of the point cloud acquisition device include: the transformation relationship of the second coordinate system of the point cloud acquisition device relative to the first coordinate system. The first preset control parameters are input into the current robot model for parameter processing to obtain the first theoretical position of the calibration reference object in the first coordinate system. Based on the deviation between the first theoretical position and the first reference position, the model parameters of the robot are calibrated to obtain the calibrated model parameters.
3. The calibration method according to claim 2, characterized in that, The calibration of the extrinsic parameters of the point cloud acquisition device using the calibrated robot model parameters includes: Based on the calibrated model parameters of the robot, the robot is controlled to a second pose using a second preset control parameter; While the robot is in the second pose, the point cloud acquisition device is controlled to acquire a second point cloud against the calibration reference object; Based on the second point cloud and the current external parameters of the point cloud acquisition device, determine the second reference position of the calibration reference object in the first coordinate system; The second preset control parameters are input into the calibrated robot model for parameter processing to obtain the second theoretical position of the calibration reference object in the first coordinate system. Based on the deviation between the second theoretical position and the second reference position, the extrinsic parameters of the point cloud acquisition device are calibrated to obtain the calibrated extrinsic parameters.
4. The calibration method according to claim 1, characterized in that, The point cloud acquisition device is fixed to the end effector of the robot, and the calibration reference object is fixedly installed on the outside of the robot. The calibration of the robot using the current extrinsic parameters of the point cloud acquisition device includes: Based on the current external parameters of the point cloud acquisition device, and under the control of the robot in a third pose using the third preset control parameters, the third reference position of the calibration reference object in the first coordinate system of the robot base is determined. Based on the current external parameters of the point cloud acquisition device, and under the control of the robot in the fourth pose using the fourth preset control parameters, the fourth reference position of the calibration reference object in the first coordinate system is determined. Based on the deviation between the third reference position and the fourth reference position, the model parameters of the robot are calibrated to obtain the calibrated model parameters.
5. The calibration method according to claim 4, characterized in that, The calibration of the extrinsic parameters of the point cloud acquisition device using the calibrated robot model parameters includes: Based on the model parameters of the calibrated robot, and with the robot controlled in the fifth pose using the fifth preset control parameters, the point cloud acquisition device is controlled to acquire the third point cloud for the calibration reference object. Based on the third point cloud, the current external parameters of the point cloud acquisition device, and the model parameters of the calibrated robot, determine the fifth reference position of the calibration reference object in the first coordinate system; Based on the model parameters of the calibrated robot, and with the robot controlled in the sixth pose using the sixth preset control parameters, the point cloud acquisition device is controlled to acquire the fourth point cloud for the calibration reference object. Based on the fourth point cloud, the current external parameters of the point cloud acquisition device, and the calibrated robot model parameters, determine the sixth reference position in the first coordinate system; Based on the deviation between the fifth reference position and the sixth reference position, the extrinsic parameters of the point cloud acquisition device are calibrated to obtain the calibrated extrinsic parameters.
6. A calibration device, characterized in that, The calibration method for performing any one of claims 1 to 5 is applied to a robot system, the robot system comprising a robot and a point cloud acquisition device, the calibration device comprising: The calibration module is used to perform multiple rounds of calibration on the robot system. In each round of calibration, the robot and the point cloud acquisition device are calibrated sequentially to obtain the model parameters of the robot and the extrinsic parameters of the point cloud acquisition device after calibration. When calibrating the robot, the extrinsic parameters of the point cloud acquisition device remain unchanged, and when calibrating the point cloud acquisition device, the model parameters of the robot remain unchanged. Each round of robot system calibration includes the calibration of both the robot and the point cloud acquisition device. The processing module is used to determine whether a first preset condition is met after the previous round of robot system calibration. If not, it executes the step of sequentially calibrating the robot and the point cloud acquisition device based on the extrinsic parameters and model parameters after the previous round of calibration. Determining whether the first preset condition is met includes: determining the execution accuracy of the robot system based on the calibrated extrinsic parameters and model parameters; determining whether the execution accuracy meets a preset accuracy requirement; or, determining whether the number of calibrations of the robot system is a preset number. The calibration module is specifically used to calibrate the robot using the current extrinsic parameters of the point cloud acquisition device, and obtain the model parameters of the calibrated robot. Using the calibrated robot model parameters, the extrinsic parameters of the point cloud acquisition device are calibrated to obtain the calibrated extrinsic parameters of the point cloud acquisition device. These calibrated extrinsic parameters are used for the next calibration of the robot; or... The external parameters of the point cloud acquisition device are calibrated using the current model parameters of the robot. The calibrated extrinsic parameters are used to calibrate the robot's model parameters, which are then used for the next calibration of the extrinsic parameters of the point cloud acquisition device.
7. An electronic device, characterized in that, include: A processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the calibration method as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the calibration method according to any one of claims 1 to 5.
9. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, is used to implement the calibration method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Method for calibrating robot through point cloud acquisition device and calibration system
CN114770516A
Method for calibrating robot through point cloud acquisition device and calibration system
CN114770517A