Robot zero point calibration method and device and computer readable storage medium
Data is collected through industrial cameras and controllers, images to be calibrated are screened, and the results of robot zero point calibration are determined, which solves the problem of high cost of robot zero point calibration and realizes a high-precision, automation and low-cost calibration process.
Patent Information
- Application Number
- CN202311641526.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-01
- Publication Date
- 2025-06-03
AI Technical Summary
The cost of robot zero point calibration is too high, and the prior art relies on expensive precision instruments such as laser trackers and three-coordinate measuring machines.
The industrial camera collects the mark point images and the pulse values collected by the controller, filters the images to be calibrated with the same rectangular coordinate value, and determines the zero point calibration result based on the pixel coordinate value and pulse value to achieve zero point calibration.
No additional expensive equipment is required, reducing calibration costs, providing sub-millimeter-level accuracy, automating calibration processes, and improving efficiency.
Smart Images

Figure CN120080349A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of robots, and in particular, to a robot zero-point calibration method, device, and computer-readable storage medium. Background Art
[0002] The precision performance of a robot is a key factor determining the production efficiency and quality of an automated production line, and the zero point of the robot is the initial reference point of the robot's theoretical kinematic model, which directly affects the absolute precision of the robot.
[0003] In related technologies, a laser tracker, a coordinate measuring machine, etc. are usually used to achieve zero-point calibration. However, the high cost of precision instruments such as laser trackers and coordinate measuring machines results in too high costs for robot zero-point calibration.
[0004] The above content is only used to assist in understanding the technical solution of this application, and does not represent an admission that the above content is prior art.
[0005] Application Content
[0006] The main purpose of this application is to provide a robot zero-point calibration method, device, and computer-readable storage medium, aiming to solve the technical problem of high costs for robot zero-point calibration.
[0007] To achieve the above purpose, a robot zero-point calibration method, the robot zero-point calibration method includes the following steps:
[0008] Obtain the marked point images collected by an industrial camera and the pulse values collected by a controller;
[0009] Screen out the to-be-calibrated images with the same rectangular coordinate values from several of the marked point images;
[0010] If the pixel coordinate values of each of the to-be-calibrated images meet a preset condition, determine the zero-point calibration result according to the pulse values, and write the zero-point calibration result into the controller, where the controller controls the robot body to move to the position corresponding to the zero-point calibration result.
[0011] Optionally, the step of if the pixel coordinate values of each of the to-be-calibrated images meet a preset condition, determine the zero-point calibration result according to the pulse values, and write the zero-point calibration result into the controller includes:
[0012] Determine the pixel differences between the pixel coordinate values of each of the to-be-calibrated images;
[0013] Convert the pixel differences into actual errors according to the rotation transformation signal and the pixel equivalent;
[0014] If the actual error is less than the actual error threshold, determine the zero calibration result according to the pulse value, and write the zero calibration result into the controller.
[0015] Optionally, before the step of determining the pixel differences between the pixel coordinate values of the to-be-calibrated images, it includes:
[0016] When the controller controls the robot body to move to the preset zero position, obtain the preset zero image collected by the industrial camera;
[0017] When the controller controls the robot body to move to the measurement position, obtain the measurement image collected by the industrial camera;
[0018] According to the preset zero image and the measurement image, determine the rotation transformation signal and the pixel equivalent.
[0019] Optionally, the measurement image includes a horizontal image and a vertical image. The step of when the controller controls the robot body to move to the measurement position and obtaining the measurement image collected by the industrial camera includes:
[0020] When the controller controls the robot body to move a preset distance along the horizontal axis direction of the base coordinate system, obtain the horizontal image collected by the industrial camera;
[0021] When the controller controls the robot body to move a preset distance along the vertical axis direction of the base coordinate system, obtain the vertical image collected by the industrial camera;
[0022] The step of determining the rotation transformation signal and the pixel equivalent according to the preset zero image and the measurement image includes:
[0023] Determine the preset pixel coordinate value of the preset zero image, and the horizontal pixel coordinate value and vertical pixel coordinate value of the horizontal image and the vertical image;
[0024] According to the preset pixel coordinate value, the horizontal pixel coordinate value and the vertical pixel coordinate value, determine the horizontal axis unit vector and vertical axis unit vector of the plane coordinate system within the field of view of the industrial camera, and according to the horizontal axis unit vector and the vertical axis unit vector, determine the rotation transformation signal of the base coordinate system relative to the pixel coordinate system.
[0025] Optionally, the pixel equivalent includes a horizontal-axis pixel equivalent and a vertical-axis pixel equivalent. After the step of determining the horizontal-axis unit vector and the vertical-axis unit vector of the plane coordinate system within the field of view of the industrial camera according to the preset pixel coordinate value, the horizontal pixel coordinate value, and the vertical pixel coordinate value, and determining the rotation transformation signal of the base coordinate system relative to the pixel coordinate system according to the horizontal-axis unit vector and the vertical-axis unit vector, the following steps are included:
[0026] Determine the preset rectangular coordinate value of the preset zero-point image, as well as the horizontal rectangular coordinate value and the vertical rectangular coordinate value of the horizontal image and the vertical image;
[0027] Determine the horizontal-axis pixel equivalent and the vertical-axis pixel equivalent according to the preset pixel coordinate value, the preset rectangular coordinate value, the horizontal pixel coordinate value, the vertical pixel coordinate value, the horizontal rectangular coordinate value, and the vertical rectangular coordinate value.
[0028] Optionally, after the step of, if the actual error is less than the actual error threshold, determining the zero-point calibration result according to the pulse value and writing the zero-point calibration result into the controller, the following steps are included:
[0029] If the actual error is greater than or equal to the actual error threshold, determine the corrected rectangular coordinate value according to the rectangular coordinate value of each image to be calibrated and the actual error;
[0030] Write the corrected rectangular coordinate value into the controller, where the controller controls the robot body to move to the position corresponding to the corrected rectangular coordinate value;
[0031] Jump to execute the steps of acquiring the fiducial point image collected by the industrial camera and the pulse value collected by the controller.
[0032] Optionally, before the step of acquiring the fiducial point image collected by the industrial camera and the pulse value collected by the controller, the following steps are included:
[0033] When the controller controls the robot body to move to the predetermined zero-point position, write the center position of the field of view of the industrial camera into the controller, where the controller controls the robot body to move to the center position of the field of view;
[0034] Acquire the preset zero-point image collected by the industrial camera;
[0035] Send a switching instruction to the controller according to the preset rectangular coordinate value of the preset zero-point image, where the controller switches the arm type of the robot body based on the switching instruction.
[0036] Optionally, the step of determining the zero-point calibration result according to the pulse value includes:
[0037] Determine the pulse values associated with each of the images to be calibrated;
[0038] Determine the zero-point calibration result according to the average value of all the pulse values.
[0039] In addition, to achieve the above object, the present application further provides a robot zero-point calibration device, which includes: a memory, a processor, and a robot zero-point calibration program stored on the memory and executable on the processor, and the robot zero-point calibration program is configured to implement the steps of the robot zero-point calibration method described above.
[0040] In addition, to achieve the above object, the present application further provides a computer-readable storage medium, on which a robot zero-point calibration program is stored, and when the robot zero-point calibration program is executed by a processor, it implements the steps of the robot zero-point calibration method described above.
[0041] In a technical solution provided by the present application, a computer will screen out the images to be calibrated with the same rectangular coordinate values from several landmark images collected by an industrial camera. When the pixel coordinate values of the images to be calibrated meet the preset conditions, the computer will calculate the zero-point calibration result according to the pulse values collected by the controller, and then complete the zero-point calibration. Different from the calibration methods of precision instruments and visual calibration, the present application adopts a visual calibration method, which does not require additional expensive equipment, greatly reduces the calibration cost, and can at least provide sub-millimeter-level accuracy to ensure the high accuracy of the measurement results. In addition, the calibration process can be automated without manual intervention, and no complex mechanical adjustments and operations are required, greatly improving the calibration efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 It is a schematic diagram of the robot zero-point calibration system of the present application;
[0043] Figure 2 It is a schematic flowchart of the first embodiment of the robot zero-point calibration method of the present application;
[0044] Figure 3 It is a schematic flowchart of the second embodiment of the robot zero-point calibration method of the present application;
[0045] Figure 4 It is a schematic diagram of the robot base coordinate system in the second embodiment of the robot zero-point calibration method of the present application;
[0046] Figure 5 It is a schematic flowchart of the third embodiment of the robot zero-point calibration method of the present application;
[0047] Figure 6 It is a detailed process schematic diagram of steps S32 and S33 in the third embodiment of the robot zero-point calibration method of the present application;
[0048] Figure 7 It is a process schematic diagram of the fourth embodiment of the robot zero-point calibration method of the present application;
[0049] Figure 8 It is a structural schematic diagram of a robot zero-point calibration device in the hardware operating environment related to the solution of the embodiment of the present application.
[0050] The realization, functional characteristics, and advantages of the purpose of the present application will be further described in conjunction with the embodiments with reference to the accompanying drawings. Specific Embodiments
[0051] It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0052] The accuracy performance of a robot is a key factor determining the production efficiency and quality of an automated production line, and the zero point of a robot is the initial reference point of the robot's theoretical kinematic model, which directly affects the absolute accuracy of the robot.
[0053] Taking the Selective Compliance Assembly Robot Arm (SCARA robot for short) as an example, the SCARA robot is a cylindrical coordinate type industrial robot, which has three degrees of freedom for translation along the XYZ directions and one degree of freedom for rotation around the Z direction. This type of robot has a simple structure and flexible movement, so it is widely used in industries such as computers, communications, consumer electronics, logistics, and automobiles.
[0054] For the high-precision SCARA robot zero-point calibration method, expensive precision instruments such as laser trackers and coordinate measuring machines are usually used to achieve it. Although the calibration accuracy of such instruments is high, the calibration cost is high and the operation is complex.
[0055] For the low-precision SCARA robot zero-point calibration method, it is usually achieved by technicians visually aligning the zero-point mark scales or card slots, tooling fixtures, etc. on the robot joints. Although such methods are convenient to operate and low in cost, the accuracy is low and the degree of automation is low.
[0056] To solve the above problems, this solution calibrates the zero point of the robot through vision. In this way, high-precision, high-efficiency, and automated calibration can be achieved, and the operation is convenient and the cost is low.
[0057] To better understand the above technical solution, the exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.
[0058] Referring to Figure 1 , which is the system structure diagram for robot zero-point calibration. The system mainly includes a robot body 1, a controller 2, an industrial camera 3, and a computer 4. Among them, the robot body 1 is the object to be calibrated, and a fiducial point is set at the end of its robotic arm. For example, a fiducial point is pasted on the visual recognition fiducial point tooling 5 to provide a visual recognition reference point, which is not specifically limited here; the controller 2 is used to record the zero-point calibration result and control the movement of the robot body 1; the industrial camera 3 is set at the center position of the working space of the robotic arm, such as directly in front of the robot body, and is used to collect the calibration image containing the fiducial point; the computer 4 is used to read the pixel coordinates collected by the industrial camera 3, calculate the zero-point calibration result, and write it into the controller 2.
[0059] The embodiment of the present application provides a method for robot zero-point calibration. Referring to Figure 2 , Figure 2 is the flow schematic diagram of the first embodiment of a method for robot zero-point calibration of the present application.
[0060] In this embodiment, the method for robot zero-point calibration includes:
[0061] Step S11: Obtain the fiducial point image collected by the industrial camera and the pulse value collected by the controller;
[0062] It can be understood that the fiducial points of the robot can be some special patterns or markers, such as dots, color blocks, etc. The fiducial point image includes the images of the above-mentioned fiducial points; the pulse value represents the number of pulses output within a certain period of time. By measuring and analyzing the pulse value, the positions of the joints of the robot can be determined.
[0063] On the one hand, when it is detected that the robot body moves the fiducial point to the center position of the field of view, the computer sends a photographing instruction to the industrial camera, or the industrial camera automatically triggers photographing to obtain the fiducial point image collected by the industrial camera. For ease of understanding, the following will take the industrial camera automatically triggering photographing as an example for illustration.
[0064] On the other hand, a joint encoder is a sensor used to measure the position of a robot joint. By measuring the rotation angle or linear displacement of the joint axis, it determines the position of the joint. Therefore, the controller can read the pulse signal output by the joint encoder based on the interface of each joint encoder, and through counting and decoding, obtain the pulse value, which is used to represent the position of the joint.
[0065] Based on this, the computer can obtain the marked point images collected by the industrial camera and the pulse values collected by the controller.
[0066] Step S12: Screen out the to-be-calibrated images with the same rectangular coordinate values from several of the said marked point images;
[0067] It can be understood that the rectangular coordinate value is relative to the base coordinate system of the robot body and is used to characterize the position of the marked point in the base coordinate. The rectangular coordinate value corresponding to the marked point can be obtained through methods such as sensor measurement, kinematic analysis, and external calibration. For example, install a lidar, camera, infrared sensor, etc. at the marked point, and process the collected sensor data to extract the rectangular coordinates of the robot.
[0068] It should be noted that when the industrial camera collects the marked point image A and the sensor collects the rectangular coordinate value a at the same moment or the same position, there is an association relationship between the marked point image A and the rectangular coordinate value a.
[0069] Optionally, determine the rectangular coordinate values associated with all the marked point images, then screen out the same rectangular coordinate values, and further set the corresponding marked point images as the to-be-calibrated images for analyzing the zero-point deviation situation of the current robot. For the convenience of understanding, the following content will be explained by taking two to-be-calibrated images as an example.
[0070] Exemplarily, determine the rectangular coordinate values associated with the marked point images, that is, marked point image A - rectangular coordinate value a, marked point image B - rectangular coordinate value b, marked point image C - rectangular coordinate value a. It is known that the rectangular coordinate values of marked point image A and marked point image C are the same, then set marked point image A and marked point image C as the to-be-calibrated images.
[0071] Step S13: If the pixel coordinate values of each of the said to-be-calibrated images meet the preset conditions, then determine the zero-point calibration result according to the said pulse value, and write the zero-point calibration result into the controller, where the controller controls the robot body to move to the position corresponding to the zero-point calibration result.
[0072] It can be understood that the to-be-calibrated images are processed based on image processing algorithms, such as object detection, feature extraction, etc., to identify and locate the marked points, and then according to the position information of the marked points in the image, determine the pixel coordinate values of the marked points.
[0073] Substantially speaking, the rectangular coordinate values can be understood as theoretical coordinate values, that is, the coordinate situation recognized by the robot body, while the pixel coordinate values can be understood as actual coordinate values, that is, the coordinate situation recognized by the industrial camera. When the robot body performs attitude transformation based on the zero point recognized by the system, the rectangular coordinate values before the attitude transformation are exactly the same as those after the attitude transformation. If the zero point recognized by the system is accurate or has a small deviation from the actual zero point, then the pixel coordinate values before and after the attitude transformation will remain the same or have a small deviation; conversely, if the zero point recognized by the system has a large deviation from the actual zero point, then the pixel coordinate values before and after the attitude transformation will also have a large deviation.
[0074] Based on the above principle, analyze the pixel coordinate value situations of each image to be calibrated. For example, directly calculate the first pixel coordinate value Ps 1 and the second pixel coordinate value Ps 2 The pixel difference [ΔPs x , ΔPs y , where ΔPs x is the pixel error on the x-axis, and ΔPs y is the pixel error on the y-axis. Based on the comparison result of the pixel difference and the pixel difference threshold, infer the zero point deviation situation of the robot.
[0075] If the pixel coordinate values of each image to be calibrated meet the preset conditions, such as the pixel difference is less than the pixel difference threshold, it means that the zero point originally recognized by the system is relatively accurate, that is, near the actual zero point. Therefore, the zero point calibration result can be directly determined according to the corresponding pulse value.
[0076] Exemplarily, if at the same rectangular coordinate position, the pixel coordinates in one image are (100, 200), and the pixel coordinates in another image are (105, 205), then it can be inferred that the robot has deviated 5 pixel units in the X direction and 5 pixel units in the Y direction, meeting the preset offset amount. Then, the zero point calibration result can be directly calculated.
[0077] Conversely, if the pixel coordinate values of each image to be calibrated do not meet the preset conditions, such as the difference between the pixel coordinate values is greater than the preset threshold, it means that the zero point originally recognized by the system is not accurate enough, that is, far from the actual zero point. At this time, further adjustment is required before making a determination.
[0078] Among them, the zero point calibration result can be determined according to the difference between the pulse values associated with the two images to be calibrated.
[0079] Or, it can be determined according to the average value of the pulse values, that is, referring to the formula Q = (Q 1 + Q 2 ) / 2, where Q is the zero point of the robot, Q1 is the pulse value associated with the first image to be calibrated, Q 2 is the pulse value associated with the second image to be calibrated. When using the difference in pulse values to determine the zero-point calibration result, it may be affected by outliers, such as the pulse value fluctuations caused by sensor errors or mechanical vibrations. Using the average value of the pulse values can reduce the impact of a single outlier on the result, improve the robustness of the algorithm, and make the result more stable and accurate.
[0080] At this point, the computer can write the zero-point calibration result into the controller. Correspondingly, when the controller can control the robot body to move to the corresponding position based on this zero-point calibration result, the zero-point calibration is completed.
[0081] It should be noted that to ensure that the industrial camera can quickly capture suitable landmark images, before the formal zero-point calibration, the computer can send a rough alignment instruction to the controller, so that the controller controls the joints of the robot body to move to the predetermined zero position according to this instruction. Then obtain the center position of the field of view of the industrial camera, and then write it into the controller, so that the controller controls the robot body to move the landmark to this center position of the field of view. At this time, the corresponding preset zero-point image can be captured by the industrial camera. Further, according to the preset rectangular coordinate values of the preset zero-point image, a switching instruction is sent to the controller. Correspondingly, the controller switches the arm type of the robot body based on the switching instruction, such as Figure 4 the left arm type and the right arm type shown, and the rectangular coordinate values before and after the arm type switching do not change. Such a setting can achieve fast zero-point calibration on the basis of zero-point rough adjustment, improving the overall efficiency.
[0082] In a technical solution provided in this embodiment, the computer will screen out the images to be calibrated with the same rectangular coordinate values from several landmark images captured by the industrial camera. When the pixel coordinate values of the images to be calibrated meet the preset conditions, the computer will calculate the zero-point calibration result according to the pulse values collected by the controller, and then complete the zero-point calibration. Different from the calibration methods of precision instruments and visual calibration, this application adopts a visual calibration method, which does not require additional expensive equipment, greatly reduces the calibration cost, and can at least provide sub-millimeter-level accuracy to ensure the high accuracy of the measurement results. In addition, the calibration process can be automated without manual intervention, nor complex mechanical adjustments and operations, greatly improving the calibration efficiency.
[0083] Further, referring to Figure 3 , a second embodiment of the robot zero-point calibration method of this application is proposed. Based on the above Figure 2 shown embodiment, the step of if the pixel coordinate values of each of the images to be calibrated meet the preset conditions, then determining the zero-point calibration result according to the pulse values and writing the zero-point calibration result into the controller includes:
[0084] Step S21: Determine the pixel differences between the pixel coordinate values of each of the to-be-calibrated images;
[0085] Step S22: Convert the pixel differences into actual errors according to the rotation transformation signal and the pixel equivalent;
[0086] Step S23: If the actual error is less than the actual error threshold, determine the zero-point calibration result according to the pulse value, and write the zero-point calibration result into the controller.
[0087] In this solution, after obtaining the pixel differences in the pixel coordinate system of the camera, instead of directly comparing the pixel values, the pixel differences are converted into the actual error dp in the base coordinate system of the robot and then compared with the actual error threshold.
[0088] It can be understood that the camera pixel coordinate system is the coordinate system in the camera image. Usually, with the imaging plane of the camera as the reference, in units of the pixels of the image, usually with the upper left corner as the origin, the x-axis extends to the right, and the y-axis extends downward; the robot base coordinate system is the reference coordinate system of the robot system, used to describe the position and posture of the robot. Usually, with a certain fixed point of the robot as the origin, a coordinate system is established, as shown on the left; the rotation transformation signal describes the rotation relationship of the camera pixel coordinate system in the robot base coordinate system, specifically a rotation transformation matrix or other forms, which are not specifically limited in this embodiment; the pixel equivalent refers to the length corresponding to each pixel in the physical space in camera imaging. Figure 4 Specifically, first, subtract the pixel coordinate values of each to-be-calibrated image to obtain the corresponding pixel differences, such as the pixel difference [ΔPs x , ΔPs y ] between the first pixel coordinate value Ps 1 and the second pixel coordinate value Ps 2 , where ΔPs x is the pixel error on the x-axis, and ΔPs y is the pixel error on the y-axis.
[0089] First, subtract the pixel coordinate values of each to-be-calibrated image to obtain the corresponding pixel differences, such as the pixel difference [ΔPs x , ΔPs y ] between the first pixel coordinate value Ps 1 and the second pixel coordinate value Ps 2 , where ΔPs x is the pixel error on the x-axis, and ΔPs y is the pixel error on the y-axis. 1 and the second pixel coordinate value Ps 2 2 between the pixel difference [ΔPs x x , ΔPs y y |, where, ΔPs x x is the pixel error on the x-axis, and ΔPs y y is the pixel error on the y-axis.
[0090] Then, obtain the rotation transformation signal and the pixel equivalent, which can be obtained by querying the mapping relationship between the specific coordinate system and the rotation transformation signal and the pixel equivalent in the database.
[0091] At this point, the pixel difference [ΔPs x , ΔPs y ] between the first pixel coordinate value and the second pixel coordinate value can be calculated, and the error in the camera field of view is dp c = [ΔPs x u x , ΔPs y x ,ΔPs y y , c =[ΔPs x x u x x ,ΔPs y yu y , so the actual error dp in the robot base coordinate system is [R c -1 [ΔPs x u x , ΔPs y u y , where ΔPs x is the pixel error on the x-axis, ΔPs y is the pixel error on the y-axis, u x is the pixel equivalent on the x-axis, u y is the pixel equivalent on the y-axis, and R c is the rotation transformation signal of the robot base coordinate system relative to the camera pixel coordinate system.
[0092] Furthermore, if the actual error is less than the corresponding actual error threshold, that is, less than the preset threshold in the base coordinate system, then according to the first pulse value and the second pulse value, determine the zero-point calibration result and write it into the controller to complete the zero-point calibration.
[0093] In a technical solution provided by this embodiment, through the rotation transformation signal and the pixel equivalent, the pixel difference in the pixel coordinate system is converted into the actual error in the base coordinate system. When the actual error is less than the corresponding actual error threshold, zero-point calibration is performed. The reason for judging the error in the base coordinate system in this solution is based on the consideration of actual application requirements. Different application scenarios have different requirements for position accuracy. Converting the pixel difference into the actual error can more intuitively understand the actual position deviation corresponding to the error, so as to better control the error range and meet specific application requirements.
[0094] Further, referring to Figure 5 , a third embodiment of the robot zero-point calibration method of the present application is proposed. Based on the above Figure 3 shown embodiment, before the step of determining the pixel difference between the pixel coordinate values of each of the to-be-calibrated images, it includes:
[0095] Step S31: When the controller controls the robot body to move to the preset zero position, obtain the preset zero image collected by the industrial camera;
[0096] Step S32: When the controller controls the robot body to move to the measurement position, obtain the measurement image collected by the industrial camera;
[0097] Step S33: Determine the rotation transformation signal and the pixel equivalent according to the preset zero image and the measurement image.
[0098] This solution determines the rotation transformation signal and the pixel equivalent by controlling the movement of the robot body and collecting relevant images.
[0099] It is understandable that the preset zero position is the reference position of the robot body originally recognized by the system; the measurement position is a position specifically set to obtain the rotation transformation signal and pixel equivalent, and the specific parameters are not specifically limited in this embodiment.
[0100] Optionally, the computer sends a control instruction to the controller, so that the controller controls the movement of the robot body to the preset zero position according to this instruction. After detecting that the robot body has completed the above operation, the industrial camera will automatically trigger a photo to obtain the preset zero image collected by the industrial camera.
[0101] Similarly, when the controller controls the robot body to move to the measurement position, the measurement image collected by the industrial camera is obtained.
[0102] On the one hand, calculate the movement vector between the preset zero image and the measurement image, decompose it along the horizontal axis and the vertical axis to obtain the coordinate values in each direction, and calculate the rotation transformation signal based on this.
[0103] On the other hand, determine the size of the fiducial points in the actual scene in the preset zero image and the measurement image, and then measure the number of pixels occupied by the fiducial points in the preset zero image and the measurement image. Finally, divide the actual physical size by the number of pixels occupied by the object in the image to obtain the pixel equivalent.
[0104] Or, referring to Figure 6 , the measurement image includes a horizontal image and a vertical image, and step S32 includes:
[0105] Step S321: When the controller controls the robot body to move a preset distance along the horizontal axis direction of the base coordinate system, obtain the horizontal image collected by the industrial camera;
[0106] Step S322: When the controller controls the robot body to move a preset distance along the vertical axis direction of the base coordinate system, obtain the vertical image collected by the industrial camera;
[0107] The computer sends a control instruction to the controller, so that the controller controls the robot body to move a preset distance along the horizontal axis direction of the base coordinate system, that is, move a preset distance in the x-axis direction, such as 10 mm. After the industrial camera detects that the robot has completed the above operation, it will automatically trigger a photo to obtain the horizontal image.
[0108] Similarly, when the controller controls the robot body to move a preset distance along the vertical axis direction of the base coordinate system, that is, move a preset distance in the y-axis direction, such as 10 mm, the vertical image is obtained.
[0109] Step S33 includes:
[0110] Step S331: Determine the preset pixel coordinate values of the preset zero-point image, as well as the horizontal pixel coordinate values and vertical pixel coordinate values of the horizontal image and the vertical image;
[0111] Step S332: Determine the horizontal axis unit vector and the vertical axis unit vector of the plane coordinate system within the field of view of the industrial camera according to the preset pixel coordinate values, the horizontal pixel coordinate values and the vertical pixel coordinate values, and determine the rotation transformation signal of the base coordinate system relative to the pixel coordinate system according to the horizontal axis unit vector and the vertical axis unit vector.
[0112] Optionally, determine the pixel coordinate values of the fiducial points in each image, that is, the preset pixel coordinate value Ps of the preset zero-point image 1 , the horizontal pixel coordinate value Ps of the horizontal image 3 , and the vertical pixel coordinate value Ps of the vertical image 4 .
[0113] Furthermore, use Ps 1 , Ps 3 and Ps 4 to establish a plane coordinate system C within the camera's field of view XOY , as shown on the right in Figure 4 , and its horizontal axis unit vector and vertical axis unit vector are respectively:
[0114]
[0115] Therefore, the rotation transformation signal of the plane coordinate system C XOY relative to the camera pixel coordinate system is , and from Figure 4 , it can be seen that the directions of the base coordinate system and the plane coordinate system C XOY are the same. Therefore, the rotation transformation signal of the robot base coordinate system relative to the camera pixel coordinate system is R C .
[0116] In addition, after step S332, it further includes:
[0117] Step S333: Determine the preset rectangular coordinate values of the preset zero-point image, as well as the horizontal rectangular coordinate values and vertical rectangular coordinate values of the horizontal image and the vertical image;
[0118] Step S334: Determine the horizontal axis pixel equivalent and the vertical axis pixel equivalent according to the preset pixel coordinate values, the preset rectangular coordinate values, the horizontal pixel coordinate values, the vertical pixel coordinate values, the horizontal rectangular coordinate values and the vertical rectangular coordinate values.
[0119] Optionally, not only the pixel coordinate values of the fiducial points in each image are determined, but also the rectangular coordinate values are determined, that is, the preset rectangular coordinate value P of the preset zero-point image 1 , the horizontal rectangular coordinate value P of the horizontal image 3 , the vertical rectangular coordinate value P of the vertical image 4 .
[0120] Optionally, using P 1 , P 2 and P 3 These three rectangular coordinates and Ps 1 , Ps 3 and Ps 4 These three pixel coordinate values, the pixel equivalent u of the horizontal axis of the camera relative to the robot can be obtained x and the pixel equivalent u of the vertical axis y , respectively:
[0121]
[0122] Different from directly obtaining the existing mapping relationship, this solution uses the camera measurement method to make the result more accurate and reliable. The existing mapping relationship may have uncertainties and errors, and cannot guarantee accuracy and reliability. By physical measurement and calculation, relatively accurate rotation transformation signals and pixel equivalents can be obtained, achieving sub-pixel level accuracy; in addition, camera measurement can also measure multiple angles and positions, and then obtain more data and information to improve the reliability and anti-robustness of calibration.
[0123] Furthermore, referring to Figure 7 , the fourth embodiment of the robot zero-point calibration method of this application is proposed. Based on the above Figure 3 shown embodiment, after the step of if the actual error is less than the actual error threshold, determining the zero-point calibration result according to the pulse value and writing the zero-point calibration result into the controller, it includes:
[0124] Step S51: If the actual error is greater than or equal to the actual error threshold, determine the corrected rectangular coordinate value according to the rectangular coordinate value of each image to be calibrated and the actual error;
[0125] Step S52: Write the corrected rectangular coordinate value into the controller, where the controller controls the robot body to move to the position corresponding to the corrected rectangular coordinate value;
[0126] Jump to execute the steps of acquiring the fiducial point image collected by the industrial camera and the pulse value collected by the controller.
[0127] It can be understood that when the actual error is greater than or equal to the preset threshold, it indicates that the distance from the zero point is relatively far at this time, and the difference between the two pulse values is relatively large, so it is not suitable to directly calculate the zero point.
[0128] Optionally, when the actual error is greater than or equal to the preset threshold, additionally obtain the rectangular coordinates P corresponding to the landmark points in the current arm type 4 . Then, using the coordinates [P 4 of point P 4x , P 4y and the actual error dp = [dp x , dp y , the corrected rectangular coordinate value P 5 can be obtained, that is, [P 5x , P 5y = [P 4x - dp x , P 4y - dp y , and make the Z coordinate and arm type of point P 5 consistent with those of point P 4 .
[0129] Furthermore, write the corrected rectangular coordinate value into the controller, so that the controller controls the robot body to move the landmark point to the rectangular coordinate P 5 , and obtain the pixel coordinates Ps 5 corresponding to the landmark point at the current position, as well as the pulse values Q 3 of each joint encoder.
[0130] Then replace the pixel coordinates Ps 2 with the pixel coordinates Ps 5 , and replace the pulse values Q 2 with the pulse values Q 3 , and jump to execute the steps of obtaining the image of the landmark point collected by the industrial camera and the pulse values collected by the controller. It should be noted that if the threshold requirement is still not met, then continue to calculate the new rectangular coordinates, jump to execute, etc. until the threshold requirement is met.
[0131] In a technical solution provided by this embodiment, the situation where the actual error is greater than or equal to the preset threshold is considered. At this time, due to the relatively large difference in pulse values, it is necessary to revise the position of the landmark point according to the actual error, and then make a determination again. Only after the threshold requirement is met, the zero point value is calculated to ensure the accuracy and stability of the determination of the zero point position of the robot.
[0132] Refer to Figure 8 . Figure 8 FIG. is a schematic structural diagram of a robot zero-point calibration device for the hardware operating environment involved in the solution of the embodiment of the present application.
[0133] As shown Figure 8 in the figure, the robot zero-point calibration device may include: a processor 1001, such as a Central Processing Unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. Among them, the communication bus 1002 is used to implement connection communication between these components. The user interface 1003 may include a display screen (Display) and an input unit such as a keyboard (Keyboard). Optionally, the user interface 1003 may further include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a Wireless-Fidelity (WI-FI) interface). The memory 1005 may be a high-speed Random Access Memory (RAM) memory or a stable Non-Volatile Memory (NVM), such as a disk memory. Optionally, the memory 1005 may also be a storage device independent of the foregoing processor 1001.
[0134] Those skilled in the art can understand that Figure 8 the structure shown in does not constitute a limitation on the robot zero-point calibration device, and may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0135] As shown Figure 8 in the figure, the memory 1005, as a storage medium, may include an operating system, a data storage module, a network communication module, a user interface module, and a robot zero-point calibration program.
[0136] In Figure 8 the robot zero-point calibration device shown in , the network interface 1004 is mainly used for data communication with other devices; the user interface 1003 is mainly used for data interaction with users; the processor 1001 and the memory 1005 in the robot zero-point calibration device of the present application may be provided in the robot zero-point calibration device. The robot zero-point calibration device calls the robot zero-point calibration program stored in the memory 1005 through the processor 1001 and executes the robot zero-point calibration method provided in the embodiments of the present application.
[0137] The embodiments of the present application provide a computer-readable storage medium, on which a computer program is stored, and when the computer program is run by a processor, the steps in any one of the above-mentioned robot zero-point calibration methods are implemented.
[0138] Since the embodiments of the computer-readable storage medium part correspond to the embodiments of the method part, for the embodiments of the computer-readable storage medium part, please refer to the description of the embodiments of the method part, and will not be elaborated here for the time being.
[0139] It should be noted that in this article, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or system. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article or system including the element.
[0140] The serial numbers of the embodiments of the present application above are only for description and do not represent the superiority or inferiority of the embodiments.
[0141] Through the description of the above embodiments, those skilled in the art can clearly understand that the above-described embodiment methods can be implemented by means of software plus a necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product is stored in a storage medium as described above (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in the various embodiments of the present application.
[0142] The above are only the preferred embodiments of the present application, and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made by using the content of the specification and drawings of the present application, or directly or indirectly applied in other related technical fields, are equally included in the patent protection scope of the present application.
Claims
1. A robot zero-point calibration method, characterized in that, the robot zero-point calibration method comprises the following steps: Obtain the marker point images collected by an industrial camera and the pulse values collected by a controller; Select the to-be-calibrated images with the same rectangular coordinate values from several of the marker point images; If the pixel coordinate values of each of the to-be-calibrated images meet a preset condition, determine the zero-point calibration result according to the pulse values, and write the zero-point calibration result into the controller, wherein the controller controls the robot body to move to the position corresponding to the zero-point calibration result.
2. The robot zero-point calibration method according to claim 1, characterized in that, the step of if the pixel coordinate values of each of the to-be-calibrated images meet a preset condition, determining the zero-point calibration result according to the pulse values, and writing the zero-point calibration result into the controller comprises: Determine the pixel differences between the pixel coordinate values of each of the to-be-calibrated images; Convert the pixel differences into actual errors according to a rotation transformation signal and a pixel equivalent; If the actual error is less than an actual error threshold, determine the zero-point calibration result according to the pulse values, and write the zero-point calibration result into the controller.
3. The robot zero-point calibration method according to claim 2, characterized in that, before the step of determining the pixel differences between the pixel coordinate values of each of the to-be-calibrated images, it includes: When the controller controls the robot body to move to a preset zero-point position, obtain the preset zero-point image collected by the industrial camera; When the controller controls the robot body to move to a measurement position, obtain the measurement image collected by the industrial camera; Determine the rotation transformation signal and the pixel equivalent according to the preset zero-point image and the measurement image.
4. The robot zero-point calibration method according to claim 3, characterized in that, the measurement image includes a horizontal image and a vertical image, and the step of when the controller controls the robot body to move to a measurement position, obtaining the measurement image collected by the industrial camera includes: When the controller controls the robot body to move a preset distance along the horizontal axis direction of the base coordinate system, obtain the horizontal image collected by the industrial camera; When the controller controls the robot body to move a preset distance along the vertical axis direction of the base coordinate system, obtain the vertical image collected by the industrial camera; the step of determining the rotation transformation signal and the pixel equivalent according to the preset zero-point image and the measurement image includes: Determine the preset pixel coordinate values of the preset zero-point image, and the horizontal pixel coordinate values and vertical pixel coordinate values of the horizontal image and the vertical image; According to the preset pixel coordinate values, the horizontal pixel coordinate values and the vertical pixel coordinate values, determine the horizontal axis unit vector and the vertical axis unit vector of the plane coordinate system within the field of view of the industrial camera, and determine the rotation transformation signal of the base coordinate system relative to the pixel coordinate system according to the horizontal axis unit vector and the vertical axis unit vector.
5. The robot zero-point calibration method according to claim 4, characterized in that, The pixel equivalent includes a horizontal-axis pixel equivalent and a vertical-axis pixel equivalent. After the step of determining the horizontal-axis unit vector and the vertical-axis unit vector of the plane coordinate system within the field of view of the industrial camera according to the preset pixel coordinate value, the horizontal pixel coordinate value, and the vertical pixel coordinate value, and determining the rotation transformation signal of the base coordinate system relative to the pixel coordinate system according to the horizontal-axis unit vector and the vertical-axis unit vector, the following steps are included: Determine the preset rectangular coordinate value of the preset zero-point image, as well as the horizontal rectangular coordinate value and the vertical rectangular coordinate value of the horizontal image and the vertical image; Determine the horizontal-axis pixel equivalent and the vertical-axis pixel equivalent according to the preset pixel coordinate value, the preset rectangular coordinate value, the horizontal pixel coordinate value, the vertical pixel coordinate value, the horizontal rectangular coordinate value, and the vertical rectangular coordinate value.
6. The robot zero-point calibration method according to claim 2, characterized in that, After the step of if the actual error is less than the actual error threshold, determining the zero-point calibration result according to the pulse value and writing the zero-point calibration result into the controller, the following steps are included: If the actual error is greater than or equal to the actual error threshold, determine the corrected rectangular coordinate value according to the rectangular coordinate value of each image to be calibrated and the actual error; Write the corrected rectangular coordinate value into the controller, where the controller controls the robot body to move to the position corresponding to the corrected rectangular coordinate value; Jump to execute the steps of acquiring the marked-point image collected by the industrial camera and the pulse value collected by the controller.
7. The robot zero-point calibration method according to claim 1, characterized in that, Before the step of acquiring the marked-point image collected by the industrial camera and the pulse value collected by the controller, the following steps are included: When the controller controls the robot body to move to the predetermined zero-point position, write the center position of the field of view of the industrial camera into the controller, where the controller controls the robot body to move to the center position of the field of view; Acquire the preset zero-point image collected by the industrial camera; Send a switching instruction to the controller according to the preset rectangular coordinate value of the preset zero-point image, where the controller switches the arm type of the robot body based on the switching instruction.
8. The robot zero-point calibration method according to claim 1, characterized in that, The step of determining the zero-point calibration result according to the pulse value includes: Determine the pulse value associated with each image to be calibrated; Determine the zero-point calibration result according to the average value of all the pulse values.
9. A robot zero-point calibration device, characterized in that, The robot zero-point calibration device includes: a memory, a processor, and a robot zero-point calibration program stored on the memory and executable on the processor. The robot zero-point calibration program is configured to implement the steps of the robot zero-point calibration method according to any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that, A robot zero-point calibration program is stored on the computer-readable storage medium. When the robot zero-point calibration program is executed by a processor, the steps of the robot zero-point calibration method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Method for calibrating operation device, operation device system, and control device
CN112262023A
Robot zero calibration system and method based on binocular vision technology and LM algorithm
CN115741720A
Visual system for composite robot and visual calibration method
CN122347616A
Calibration method for program-controlled robot uses sucessive stpes of off-line calibration program for detecting robot tolerance correction values and zero-point shift correction of movement program
DE19960933C1
Cited By
Zero calibration method and system for camera holder
CN121924358A