Robot conveyor calibration method, system, and storage medium

By working together with an industrial camera and a host computer, the target points in the tool template image are automatically identified and converted into robot coordinates. The robot is then calibrated based on these coordinates, which solves the problems of complex operation and low accuracy in existing technologies and achieves efficient conveyor belt calibration.

CN115903791BActive Publication Date: 2026-02-13GREE ELECTRIC APPLIANCE INC OF ZHUHAI
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211338791.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-28
Publication Date
2026-02-13
Estimated Expiration
2042-10-28

AI Technical Summary

Technical Problem

The existing robot conveyor belt calibration and standardization operations are complex, inefficient, and have low accuracy, requiring operators to manually set target points.

Method used

The tool template image is captured by an industrial camera and uploaded to the host computer. The host computer then identifies and converts the target point into robot coordinates. The robot moves according to the coordinates and obtains the taught coordinates. The pulse equivalent, gripping area, and tilt are calibrated and determined by combining the encoder value.

Benefits of technology

The operation process is simplified, eliminating the need to manually set target points, thus improving the efficiency and accuracy of calibration and achieving a three-in-one calibration of pulse equivalent, gripping area, and tilt.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115903791B_ABST
    Figure CN115903791B_ABST
Patent Text Reader

Abstract

The application discloses a kind of robot conveyor calibration calibration method, system and storage medium, it is related to robot technical field.Therein, the method includes: when tool template is in the first target position or the second target position on conveyor, tool template is photographed by industrial camera to obtain tool template image, and is uploaded to host computer;Host computer identifies and converts target point in tool template image to obtain first robot coordinate or second robot coordinate;Robot moves on conveyor according to the first robot coordinate or the second robot coordinate sent by host computer, and obtains first teaching coordinate or second teaching coordinate after receiving teaching instruction;Robot calibrates and calibrates conveyor according to first teaching coordinate, second teaching coordinate and the first encoder value and second encoder value obtained.This application scheme is not only simple in operation, but also can improve calibration efficiency and precision.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, and particularly relates to a robot conveyor calibration method and system and a storage medium. BACKGROUND

[0002] Robot conveyor calibration is an important preliminary step for robots to realize dynamic tracking of a conveyor process. Robot conveyor calibration includes pulse equivalent calibration, grabbing area calibration and conveyor inclination calibration. In each step, multiple target points need to be moved on the surface of the conveyor, and the robot is taught according to the positions of the target points, and the corresponding calibration results are calculated in combination with the values of the conveyor encoder. In the prior art, the robot conveyor calibration has many steps and a complex operation process. In each step, an operator manually sets a target point to teach the position of the robot, which is time-consuming and laborious, and the calibration efficiency and accuracy are low. SUMMARY

[0003] Embodiments of the present application provide a robot conveyor calibration method and system and a storage medium, aiming to solve the problems of complex operation, low efficiency and accuracy of existing robot conveyor calibration.

[0004] In a first aspect, embodiments of the present application provide a robot conveyor calibration method, which includes:

[0005] When the tool template is at the first target position or the second target position on the conveyor, an industrial camera photographs the tool template to obtain a tool template image, and uploads the tool template image to an upper computer;

[0006] The upper computer identifies and converts target points in the tool template image to obtain first robot coordinates or second robot coordinates;

[0007] The robot moves on the conveyor according to the first robot coordinates or the second robot coordinates sent by the upper computer, and after receiving a teaching instruction, obtains first teaching coordinates or second teaching coordinates;

[0008] The robot obtains first encoder values and second encoder values corresponding to the first target position and the second target position, and determines the pulse equivalent, the grabbing area and the inclination of the conveyor according to the first encoder values, the second encoder values, the first teaching coordinates and the second teaching coordinates, and calibrates the conveyor according to the pulse equivalent, the grabbing area and the inclination.

[0009] In a second aspect, the embodiment of the present application further provides a robot conveyor calibration system, which comprises an uploading unit arranged in an industrial camera, an identification conversion unit arranged in a host computer, and a moving acquisition unit and a calibration unit arranged in a robot, wherein:

[0010] The uploading unit is configured to make the industrial camera capture a tool template image when the tool template is at a first target position or a second target position on a conveyor, and upload the tool template image to the host computer.

[0011] The identification conversion unit is configured to make the host computer identify and convert a target point in the tool template image to obtain a first robot coordinate or a second robot coordinate.

[0012] The moving acquisition unit is configured to make the robot move on the conveyor according to the first robot coordinate or the second robot coordinate sent by the host computer, and acquire a first teaching coordinate or a second teaching coordinate after receiving a teaching instruction.

[0013] The calibration unit is configured to make the robot acquire a first encoder value and a second encoder value corresponding to the first target position and the second target position, and determine a pulse equivalent, a grabbing area and an inclination of the conveyor according to the first encoder value, the second encoder value, the first teaching coordinate and the second teaching coordinate, and calibrate the conveyor according to the pulse equivalent, the grabbing area and the inclination.

[0014] In a third aspect, the embodiment of the present application further provides a robot conveyor calibration system, which comprises a host computer, a robot, an industrial camera and a tool template, the tool template comprising a first target point and a second target point, the host computer, the robot and the industrial camera each comprising a memory and a processor, the memory storing a computer program, and the processors of the host computer, the robot and the industrial camera collectively implementing the above method when executing the respective computer programs.

[0015] In a fourth aspect, the embodiment of the present application further provides a computer readable storage medium, which stores a computer program, and the computer program can implement the above method when executed by multiple processors.

[0016] This invention provides a method, system, and storage medium for calibrating a robot conveyor belt. The method includes: when a tool template is positioned at a first target position or a second target position on the conveyor belt, an industrial camera captures an image of the tool template and uploads the image to a host computer; the host computer identifies and converts target points in the tool template image to obtain first robot coordinates or second robot coordinates; the robot moves on the conveyor belt according to the first robot coordinates or second robot coordinates sent by the host computer, and acquires first teaching coordinates or second teaching coordinates upon receiving a teaching instruction; the robot acquires first encoder values ​​and second encoder values ​​corresponding to the first target position and the second target position, and determines the pulse equivalent, gripping area, and tilt of the conveyor belt based on the first encoder value, the second encoder value, the first teaching coordinates, and the second teaching coordinates, and calibrates the conveyor belt based on the pulse equivalent, the gripping area, and the tilt. In the technical solution of this invention embodiment, the host computer first identifies the target points on the tool template and converts them into first robot coordinates and second robot coordinates. The robot then moves and adjusts on the conveyor belt according to the first robot coordinates and second robot coordinates to calibrate the conveyor belt. The entire calibration process not only eliminates the need for operators to manually set target points, making the operation simple, but also allows for the combined calibration of pulse equivalent, gripping area, and tilt, improving the efficiency and accuracy of calibration. Attached Figure Description

[0017] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 This is a schematic diagram of a robot conveyor belt calibration system provided in an embodiment of the present invention;

[0019] Figure 2 This is a flowchart illustrating a robot conveyor belt calibration method according to an embodiment of the present invention.

[0020] Figure 3 for Figure 1 Structural diagram of an industrial camera, robot, conveyor belt, and tool template;

[0021] Figure 4 for Figure 1 A schematic diagram of the structure of the tool template when it is at the first target position and the second target position on the conveyor belt;

[0022] Figure 5 A sub-flow schematic diagram of a robot conveyor calibration method provided for an embodiment of the present application;

[0023] Figure 6 A sub-flow schematic diagram of a robot conveyor calibration method provided for an embodiment of the present application;

[0024] Figure 7 A flowchart of a robot conveyor calibration method provided for an embodiment of the present application;

[0025] Figure 8 A schematic block diagram of a robot conveyor calibration system provided for an embodiment of the present application;

[0026] Figure 9 A schematic block diagram of a computer device provided for an embodiment of the present application. DETAILED DESCRIPTION

[0027] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are some of the embodiments of the present application, but not all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.

[0028] It should be understood that, when used in the specification and the appended claims, the terms "comprise" and "include" indicate the presence of the described features, integers, steps, operations, elements, and / or components, but do not exclude one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0029] It should also be understood that the terms used in the present application specification are only for the purpose of describing particular embodiments and are not intended to limit the present application. As used in the present application specification and the appended claims, unless otherwise clearly indicated by the context, the singular forms "a", "an" and "the" are intended to include the plural forms as well.

[0030] It should be further understood that the term "and / or" used in the present application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes these combinations.

[0031] As used in the specification and the appended claims, the term "if' can be interpreted as meaning "when," or "upon," or "in response to a determination," or "in response to a detection" depending on the context. Similarly, the phrase "if it is determined" or "if [the described condition or event] is detected" can be interpreted as meaning "upon a determination" or "in response to a determination" or "upon a detection of [the described condition or event]" or "in response to a detection of [the described condition or event]" depending on the context.

[0032] Referring to Figure 1 , Figure 1 is a scene schematic diagram of a robot conveyor calibration system provided by an embodiment of the application. The robot conveyor calibration system comprises a host computer, a robot, an industrial camera, a tool template, a conveyor and an encoder, wherein the host computer comprises but is not limited to a tablet computer, a notebook computer and a desktop computer and the like electronic devices with communication function, and a visual identification software is installed on the host computer. In the embodiment, the tool template is placed on the conveyor; the encoder is installed on the conveyor and communicates with the control center of the robot to upload the first encoder value and the second encoder value corresponding to the first target position and the second target position to the control center of the robot; the host computer communicates with the industrial camera to receive the tool template image uploaded by the industrial camera; the industrial camera communicates with the robot to send the first robot coordinate and the second robot coordinate to the robot control center; the robot control center controls the robot to move on the conveyor according to the received first robot coordinate and second robot coordinate, and after receiving the teaching instruction, obtains the first teaching coordinate and the second teaching coordinate, and finally calibrates the conveyor according to the first encoder value, the second encoder value, the first robot coordinate, the second robot coordinate, the first teaching coordinate and the second teaching coordinate. It should be noted that in the embodiment, the host computer first identifies the target point on the tool template and converts it into the first robot coordinate and the second robot coordinate, and then the robot moves and adjusts on the conveyor according to the first robot coordinate and the second robot coordinate to calibrate the conveyor. The whole calibration process not only does not need the operator to manually set the target point, but also can calibrate the pulse equivalent, the grabbing area and the inclination in one, thereby improving the calibration efficiency and accuracy.

[0033] Figure 2 is a flow schematic diagram of a robot conveyor calibration method provided by an embodiment of the application. As shown in Figure 2 , the method comprises the following steps S110-S140.

[0034] S110. When the tool template is at the first target position or the second target position on the conveyor belt, the industrial camera takes a picture of the tool template to obtain an image of the tool template, and uploads the image of the tool template to the host computer.

[0035] In this embodiment, as Figure 3 The diagram shows a structural schematic of an industrial camera (1), a robot (2), a conveyor belt (3), and a tool template (4). Figure 3 It is understood that the tool template is a rectangular block with two symmetrical target points on its vertical central axis, namely the first target point and the second target point. The operator places the tool template on the conveyor belt near the upstream position of the area to be calibrated for gripping, and designates this position as the first target position. Understandably, driving the conveyor belt moves the tool template to a position near the downstream position of the area to be calibrated for gripping, and designates this position as the second target position. The first target position, the second target position, the upstream position, and the downstream position are as follows: Figure 4 As shown, when the tool template is at the first target position, the first target point and the second target point are a1 and a2, respectively; when the tool template is at the second target position, the first target point and the second target point are b1 and b2, respectively. It can be understood that... Figure 4 The arrows in the diagram indicate the direction of the conveyor belt's movement. In practical applications, the robot conveyor belt calibration also includes a light source mounted on the conveyor belt. When the tool template is at the first or second target position on the conveyor belt, the light source is turned on first. Then, the industrial camera captures an image of the tool template placed on the conveyor belt and uploads the image to the vision recognition software in the host computer. It should be noted that in this embodiment, with the pre-defined tool template, there is no need for operators to manually set target points, making the operation simpler and faster.

[0036] S120, The host computer identifies and converts the target points in the tool template image to obtain the first robot coordinates or the second robot coordinates.

[0037] In this embodiment, the host computer receives the tool template image, and the visual recognition software installed on it converts the target point coordinates in the tool template image into first robot coordinates or second robot coordinates. Specifically, when the tool template image is an image corresponding to the first target position, the host computer converts the target point coordinates in the tool template image into first robot coordinates; understandably, when the tool template image is an image corresponding to the second target position, the host computer converts the target point coordinates in the tool template image into second robot coordinates.

[0038] In some embodiments, for example in this embodiment, as shown in Figure 5 the step S120 can include steps S121-S122.

[0039] S121, the upper computer receives the tool template image, and performs image processing on the tool template image to obtain a target tool template image;

[0040] S122, the upper computer identifies a target point in the target tool template image to obtain a target point coordinate, and converts the target point coordinate into a first robot coordinate or a second robot coordinate through hand-eye calibration.

[0041] In this embodiment, the visual recognition software in the upper computer receives the tool template image, and first performs gray processing on the tool template image through a maximum value method to obtain a tool template gray image, wherein the maximum value method is Gray(i,j)=max{R(i,j),G(i,j),b(i,j)}, wherein R(i,j), G(i,j), and b(i,j) are the brightness values of the collected color image R, G, and B three components, respectively; then performs denoising processing on the tool template gray image through a neighborhood average method to obtain a target tool template image; after obtaining the tool template image, the upper computer identifies a target point circle in the target tool template image through a Hough circle detection method, and takes the center of the target point circle as a target point coordinate; the upper computer converts the target point coordinate into a first robot coordinate or a second robot coordinate through a hand-eye calibration conversion relationship. It should be noted that in this embodiment, the gray processing of the tool template image through the maximum value method can reduce the calculation amount of image processing; since the Hough circle detection method is relatively obvious to noise, it is necessary to first perform denoising processing on the tool template gray image to improve the accuracy of the Hough circle detection method in identifying the target point circle in the target tool template image.

[0042] Further, the neighborhood average method is a neighborhood smoothing method, which can eliminate or reduce noise. Specifically, first find the K-neighbor sample set N(p i ) of any pixel sample point p i in the tool template gray image, wherein M is a pixel point set. If there are k other samples with similar features in the K-neighbor of the sample point p i , it is considered that the sample point also has the similar features. Calculate the distance between the sample point and each point in its K-neighbor and take the average to obtain D(p i ), specifically, as shown in formula (1), judge D(p iwhether the set threshold range is exceeded, and if so, the sample point p is considered to be a noise point i is a noise point, the noise is filtered out, and the above operation is repeated until the tool template grayscale image is completely traversed, obtaining a denoising processed grayscale image, which is the target tool template image.

[0043]

[0044] Further, the upper computer converts the target point coordinates into first robot coordinates or second robot coordinates through a hand-eye calibration conversion relationship, wherein the hand-eye calibration relationship is a coordinate conversion relationship between a robot coordinate system and a camera coordinate system, i.e., a hand-eye relationship. The specific steps of determining the hand-eye relationship are as follows: (1) picking up a calibration board at the end of the robot, translating and rotating the calibration board in the XYZ direction, and collecting 18 pictures of the calibration board in different postures through the camera; (2) calling an internal parameter calibration operator of halcon vision software to output the calibrated camera internal parameters; (3) assuming that w is a robot base coordinate system, e is a robot tool end coordinate system, c is a camera coordinate system, and g is a calibration board pixel coordinate system, it can be understood that, is a transformation matrix of the camera coordinate system relative to the robot base coordinate system; respectively represent the i-th and j-th transformation matrices of the robot base coordinate system relative to the robot end tool center point. represents a transformation matrix of the calibration board pixel coordinate system relative to the robot end tool center point; (4) the hand-eye transformation matrix is shown in formula (2) and formula (3), and the left side of formula (2) and formula (3) is multiplied by to obtain formula (4), and the left side of formula (4) is multiplied by and the right side is multiplied by to obtain formula (5); (5) let AX = XB can be obtained from formula (5); (6) the relationship between the robot base coordinate system and the camera coordinate system is calculated by using the halcon operator CalibrateHandEye to calculate AX = XB; (7) the centers R1(x1', y1'), R2(x2', y2') of the two circular target points in the first target position are converted into robot coordinates T1(x1, y1), T2(x2, y2) through the hand-eye calibration relationship by using the relationship between the robot base coordinate system and the camera coordinate system. Specifically, after obtaining the relationship between the robot base coordinate system and the camera coordinate system, the conversion relationship between the robot tool end coordinate system and the camera coordinate system is calculated through the conversion relationship between the robot base coordinate system and the robot tool end coordinate system, and R1(x1', y1'), R2(x2', y2') are converted into robot coordinates T1(x1, y1), T2(x2, y2) according to the conversion relationship between the robot tool end coordinate system and the camera coordinate system. Understandably, the centers R3(x3', y3'), R4(x4', y4') of the two circular target points in the second target position are converted into robot coordinates T3(x3, y3), T4(x4, y4) through the hand-eye calibration relationship by using the relationship between the robot base coordinate system and the camera coordinate system.

[0045]

[0046]

[0047]

[0048]

[0049] S130, the robot moves on the conveying belt according to the first robot coordinate or the second robot coordinate sent by the upper computer, and obtains the first teaching coordinate or the second teaching coordinate after receiving the teaching instruction.

[0050] In this embodiment, the host computer sends the first robot coordinates or the second robot coordinates to the robot control center through Socket communication. The robot control center receives the first robot coordinates sent by the host computer and controls the robot to move on the conveyor belt. The operator determines whether the robot moves correctly according to the position of the robot after moving. If the robot moves correctly, the operator adjusts the robot to make the robot tool end contact the center of the target point in the tool template by descending the robot in the negative direction of the z-axis. At this time, the z-axis coordinates are z1 and z2. Understandably, if the robot control center receives the second robot coordinates sent by the host computer, when the robot moves correctly, the operator adjusts the robot to make the robot tool end contact the center of the target point in the tool template by descending the robot in the negative direction of the z-axis. At this time, the z-axis coordinates are z3 and z4. After moving, the robot control center obtains the first teaching coordinates corresponding to the first target position or the second teaching coordinates corresponding to the second target position, and saves the first teaching coordinates and the second teaching coordinates to the teacher, thereby completing the teaching of the first target position and the second target position.

[0051] In S140, the robot obtains the first encoder value and the second encoder value corresponding to the first target position and the second target position, and determines the pulse equivalent, the grabbing area and the inclination of the conveyor belt according to the first encoder value, the second encoder value, the first teaching coordinates and the second teaching coordinates, and calibrates the conveyor belt according to the pulse equivalent, the grabbing area and the inclination.

[0052] In this embodiment, the first teaching coordinates include first calibration coordinates and second calibration coordinates, the second teaching coordinates include third calibration coordinates and fourth calibration coordinates, and the first calibration coordinates, the second calibration coordinates, the third calibration coordinates and the fourth calibration coordinates each include x coordinates, y coordinates and z coordinates. After the robot control center acquires the first teaching coordinates and the second teaching coordinates, the robot control center further acquires first encoder values and second encoder values corresponding to the first target position and the second target position, and calibrates the conveyor according to the first encoder values, the second encoder values, the first calibration coordinates, the second calibration coordinates, the third calibration coordinates and the fourth calibration coordinates, wherein the calibration includes pulse equivalent calibration, grabbing area calibration and inclination calibration. It should be noted that in this embodiment, the x coordinates and the y coordinates in the first calibration coordinates, the second calibration coordinates, the third calibration coordinates and the fourth calibration coordinates are x coordinates and y coordinates in robot coordinates; in other embodiments, if the operator adjusts the robot on the x axis and the y axis, the x coordinates and the y coordinates in the first calibration coordinates, the second calibration coordinates, the third calibration coordinates and the fourth calibration coordinates are x coordinates and y coordinates in adjusted robot coordinates.

[0053] In some embodiments, for example in this embodiment, as shown in Figure 6 the step S140 can include steps S141-S144.

[0054] S141, determining a grabbing range of the conveyor according to the x coordinates and the y coordinates in the first calibration coordinates, the second calibration coordinates, the third calibration coordinates and the fourth calibration coordinates;

[0055] S142, calculating a pulse equivalent of the conveyor according to the first encoder values, the second encoder values, the first calibration coordinates and the third calibration coordinates;

[0056] S143, calculating an inclination of the conveyor according to the first calibration coordinates, the second calibration coordinates and the third calibration coordinates;

[0057] S144, calibrating the conveyor according to the grabbing range, the pulse equivalent and the inclination.

[0058] In this embodiment, it is assumed that the pulse equivalent of the conveyor is p r , the longitudinal inclination and the transverse inclination of the conveyor are q z and q h, the first encoder value and the second encoder value are r1 and r2 respectively, the first calibration coordinate, the second calibration coordinate, the third calibration coordinate and the fourth calibration coordinate are B1(x1, y1, z1), B2(x2, y2, z2), B3(x3, y3, z3), B4(x4, y4, z4) respectively, then the rectangle surrounded by (x1, y1), (x2, y2), (x3, y3), (x4, y4) is the grabbing range of the conveyor belt; a first coordinate difference x3-x1 is calculated by calculating the difference between the x coordinate of the third calibration coordinate and the x coordinate of the first calibration coordinate, an encoder difference value r2-r1 is calculated by calculating the difference between the second encoder value and the first encoder value, a second coordinate difference z2-z1 is calculated by calculating the difference between the z coordinate of the second calibration coordinate and the z coordinate of the first calibration coordinate, a third coordinate difference y2-y1 is calculated by calculating the difference between the y coordinate of the second calibration coordinate and the y coordinate of the first calibration coordinate, and a fourth coordinate difference z3-z1 is calculated by calculating the difference between the z coordinate of the third calibration coordinate and the z coordinate of the first calibration coordinate.p r z h as formulas (6), (7) and (8) respectively. It should be noted that in the embodiment, the pulse equivalent, the grabbing area and the inclination are calibrated and demarcated in one, thereby improving the calibration and demarcation efficiency and precision.

[0059]

[0060]

[0061]

[0062] For the convenience of understanding, Figure 7 A flowchart of a robot conveyor calibration and demarcation method provided by the embodiment of the present application is shown in FIG. 1. Figure 7 ​​As shown, the industrial camera acquires a tool template image of the tool template at the first target position on the conveyor belt and uploads to the host computer; the host computer identifies and converts the target points in the tool template image to obtain first robot coordinates; the robot moves on the conveyor belt according to the first robot coordinates, and after receiving the teaching instruction, acquires first teaching coordinates; the conveyor belt is controlled to move to drive the tool template to the second target position on the conveyor belt; the industrial camera acquires a tool template image of the tool template at the second target position and uploads to the host computer; the host computer identifies and converts the target points in the tool template image to obtain second robot coordinates; the robot moves on the conveyor belt according to the second robot coordinates, and after receiving the teaching instruction, acquires second teaching coordinates; the robot calculates the pulse equivalent, the grabbing area and the inclination according to the first encoder value, the second encoder value, the first teaching coordinates and the second teaching coordinates, and completes the calibration and calibration of the conveyor belt.

[0063] Figure 8 is a schematic block diagram of a robot conveyor calibration and calibration system 70 provided by an embodiment of the present application. As shown, Figure 8 corresponding to the above robot conveyor calibration and calibration method. The robot conveyor calibration and calibration system 70 includes units for executing the above robot conveyor calibration and calibration method. Specifically, please refer to Figure 8 , the robot conveyor calibration and calibration system 70 includes an uploading unit 101 configured in the industrial camera 10, an identification and conversion unit 201 configured in the host computer 20, and a moving acquisition unit 301 and a calibration and calibration unit 302 configured in the robot 30.

[0064] , the uploading unit 101 is configured to acquire a tool template image of the tool template by the industrial camera when the tool template is at the first target position or the second target position on the conveyor belt, and upload the tool template image to the host computer; the identification and conversion unit 201 is configured to identify and convert the target points in the tool template image by the host computer to obtain first robot coordinates or second robot coordinates; the moving acquisition unit 301 is configured to move the robot on the conveyor belt according to the first robot coordinates or the second robot coordinates sent by the host computer, and after receiving the teaching instruction, acquire first teaching coordinates or second teaching coordinates; the calibration and calibration unit 302 is configured to acquire first encoder values and second encoder values corresponding to the first target position and the second target position by the robot, and determine the pulse equivalent, the grabbing area and the inclination of the conveyor belt according to the first encoder values, the second encoder values, the first teaching coordinates and the second teaching coordinates, and calibrate and calibrate the conveyor belt according to the pulse equivalent, the grabbing area and the inclination.

[0065] In some embodiments, such as the present embodiment, the identification conversion unit 201 comprises a processing unit and an identification conversion subunit.

[0066] The processing unit is configured to receive the tool template image by the host computer, and perform image processing on the tool template image to obtain a target tool template image; and the identification conversion subunit is configured to identify a target point in the target tool template image by the host computer to obtain a target point coordinate, and convert the target point coordinate into a first robot coordinate or a second robot coordinate through hand-eye calibration.

[0067] In some embodiments, such as the present embodiment, the processing unit comprises a gray processing unit and a denoising processing unit.

[0068] The gray processing unit is configured to perform gray processing on the tool template image by a maximum value method to obtain a tool template gray image; and the denoising processing unit is configured to perform denoising processing on the tool template gray image by a neighborhood average method to obtain a target tool template image.

[0069] In some embodiments, such as the present embodiment, the identification conversion subunit comprises an identification unit and a conversion unit.

[0070] The identification unit is configured to identify a target point circle in the target tool template image by a Hough circle detection method by the host computer, and take the center of the target point circle as a target point coordinate; and the conversion unit is configured to convert the target point coordinate into a first robot coordinate or a second robot coordinate by the host computer through a hand-eye calibration conversion relationship.

[0071] In some embodiments, such as the present embodiment, the calibration and calibration unit 302 comprises a determination unit, a first calculation unit, a second calculation unit, and a calibration and calibration subunit.

[0072] The determination unit is configured to determine a grabbing range of the conveying belt according to x coordinates and y coordinates in the first calibration coordinate, the second calibration coordinate, the third calibration coordinate, and the fourth calibration coordinate; the first calculation unit is configured to calculate a pulse equivalent of the conveying belt according to the first encoder value, the second encoder value, the first calibration coordinate, and the third calibration coordinate; the second calculation unit is configured to calculate an inclination of the conveying belt according to the first calibration coordinate, the second calibration coordinate, and the third calibration coordinate; and the calibration and calibration subunit is configured to calibrate the conveying belt according to the grabbing range, the pulse equivalent, and the inclination.

[0073] In some embodiments, such as the present embodiment, the first calculation unit comprises a first calculation subunit, a second calculation subunit, and a third calculation subunit.

[0074] The first calculating sub-unit is configured to calculate a first coordinate difference by subtracting the x-coordinate of the first calibration coordinate from the x-coordinate of the third calibration coordinate; the second calculating sub-unit is configured to calculate an encoder difference value by subtracting the first encoder value from the second encoder value; and the third calculating sub-unit is configured to calculate the pulse equivalent of the conveyor belt by dividing the first coordinate difference by the encoder difference value.

[0075] In some embodiments, for example, the second calculating unit includes a fourth calculating sub-unit, a fifth calculating sub-unit, a sixth calculating sub-unit, a seventh calculating sub-unit, and an eighth calculating sub-unit.

[0076] The fourth calculating sub-unit is configured to calculate a second coordinate difference by subtracting the z-coordinate of the first calibration coordinate from the z-coordinate of the second calibration coordinate; the fifth calculating sub-unit is configured to calculate a third coordinate difference by subtracting the y-coordinate of the first calibration coordinate from the y-coordinate of the second calibration coordinate; the sixth calculating sub-unit is configured to calculate a longitudinal inclination of the conveyor belt by dividing the second coordinate difference by the third coordinate difference; the seventh calculating sub-unit is configured to calculate a fourth coordinate difference by subtracting the z-coordinate of the first calibration coordinate from the z-coordinate of the third calibration coordinate; the eighth calculating sub-unit is configured to calculate a transverse inclination of the conveyor belt by dividing the fourth coordinate difference by the first coordinate difference, and the transverse inclination and the longitudinal inclination are taken as the inclination.

[0077] The robot conveyor calibration system described above can be implemented in the form of a computer program, which can run on a computer device as shown in Figure 9 .

[0078] Please refer to Figure 9 , Figure 9 is a schematic block diagram of a computer device provided by an embodiment of the present application. The computer device 900 can be the host computer, the robot, and the industrial camera.

[0079] Please refer to Figure 9 , the computer device 900 includes a processor 902, a memory, and an interface 907 connected through a system bus 901, wherein the memory can include a non-volatile storage medium 903 and an internal memory 904.

[0080] The non-volatile storage medium 903 can store an operating system 9031 and a computer program 9032. When the computer program 9032 is executed, the processor 902 can execute a robot conveyor calibration method.

[0081] The processor 902 is configured to provide computing and control capabilities to support the operation of the entire computer device 900.

[0082] The internal memory 904 provides an environment for the operation of the computer program 9032 in the non-volatile storage medium 903.

[0083] The interface 905 is configured to communicate with other devices. Those skilled in the art can understand that the interface 905 can be implemented in various ways, such as a bus or a port, and the specific implementation is not limited herein. Figure 9 The structure shown in FIG. 9 is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computer device 900 to which the scheme of the present application is applied. Specifically, the computer device 900 can include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0084] The processor 902 in each of the upper computer, the perfusion machine PLC system and the line PLC system is configured to execute the computer program 9032 stored in the memory. When the computer program 9032 is executed, the processor 902 can execute a robot conveyor calibration method.

[0085] It should be understood that, in the embodiments of the present application, the processor 902 can be a central processing unit (CPU), and the processor 902 can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0086] Those of ordinary skill in the art can understand that all or part of the processes in the method of the above embodiments can be completed by a computer program instructing related hardware. The computer program can be stored in a storage medium, which is a computer readable storage medium. The computer program is executed by at least one processor in the computer system to implement the process steps of the above method embodiments.

[0087] Therefore, the present application also provides a storage medium. The storage medium can be a computer readable storage medium. The storage medium stores a computer program. When the computer program is executed by a processor, the processor executes any embodiment of the above robot conveyor calibration method.

[0088] The storage medium can be any computer-readable storage medium capable of storing program code, such as a USB flash drive, portable hard drive, read-only memory (ROM), magnetic disk, or optical disk.

[0089] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0090] In the several embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For example, the division of each unit is merely a logical functional division, and there may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.

[0091] The steps in the method of this invention can be adjusted, merged, or reduced in order according to actual needs. The units in the device of this invention can be merged, divided, or reduced according to actual needs. Furthermore, the functional units in the various embodiments of this invention 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.

[0092] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a terminal, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.

[0093] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0094] It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the spirit or scope of the application. Thus, it is intended that the present application cover modifications and variations of this application provided they come within the scope of the appended claims and their equivalents.

[0095] The above descriptions are only the specific embodiments of the application, but the protection scope of the application is not limited to this. Any skilled person in the art can easily think of various equivalent modifications or replacements within the technical range disclosed by the application, and these modifications or replacements should be covered in the protection scope of the application. Therefore, the protection scope of the application should be subject to the protection scope of the claims.

Claims

1. A method for calibrating and setting up a robot conveyor belt, characterized in that, include: When the tool template is at the first target position or the second target position on the conveyor belt, the industrial camera takes a picture of the tool template to obtain an image of the tool template, and uploads the image of the tool template to the host computer; The host computer identifies and converts the target points in the tool template image to obtain the first robot coordinates or the second robot coordinates. The robot moves on the conveyor belt according to the first robot coordinates or the second robot coordinates sent by the host computer, and obtains the first teaching coordinates or the second teaching coordinates after receiving the teaching instruction; The robot acquires a first encoder value and a second encoder value corresponding to the first target position and the second target position, and determines the pulse equivalent, gripping area and tilt of the conveyor belt based on the first encoder value, the second encoder value, the first teaching coordinate and the second teaching coordinate, and calibrates the conveyor belt based on the pulse equivalent, the gripping area and the tilt. The step of the host computer identifying and converting target points in the tool template image to obtain the first robot coordinates or the second robot coordinates includes: The host computer receives the tool template image and performs image processing on the tool template image to obtain the target tool template image; The host computer identifies the target points in the target tool template image to obtain the target point coordinates, and converts the target point coordinates into first robot coordinates or second robot coordinates through hand-eye calibration; The first teaching coordinates include a first calibration coordinate and a second calibration coordinate, the second teaching coordinates include a third calibration coordinate and a fourth calibration coordinate, and the step of determining the pulse equivalent, gripping area, and tilt of the conveyor belt based on the first encoder value, the second encoder value, the first teaching coordinate, and the second teaching coordinate includes: The gripping area of ​​the conveyor belt is determined based on the x and y coordinates in the first calibration coordinate, the second calibration coordinate, the third calibration coordinate, and the fourth calibration coordinate. The first coordinate difference is obtained by calculating the difference between the x-coordinate of the third calibration coordinate and the x-coordinate of the first calibration coordinate; The encoder difference is obtained by calculating the difference between the second encoder value and the first encoder value; The pulse equivalent of the conveyor belt is obtained by calculating the quotient of the first coordinate difference and the encoder difference. The inclination of the conveyor belt is calculated based on the first calibration coordinate, the second calibration coordinate, and the third calibration coordinate.

2. The robot conveyor belt calibration method according to claim 1, characterized in that, The step of performing image processing on the tool template image to obtain the target tool template image includes: The tool template image is obtained by performing grayscale processing on the tool template image using the maximum value method; The target tool template image is obtained by denoising the grayscale image of the tool template using the neighborhood averaging method.

3. The method according to claim 1, characterized in that, The steps of the host computer identifying target points in the target tool template image to obtain target point coordinates, and converting the target point coordinates into first robot coordinates or second robot coordinates through hand-eye calibration, include: The host computer identifies the target point circle in the target tool template image using the Hough circle detection method, and uses the center of the target point circle as the target point coordinate; The host computer converts the target point coordinates into first robot coordinates or second robot coordinates through hand-eye calibration conversion.

4. The method according to claim 1, characterized in that, The step of calculating the tilt of the conveyor belt based on the first calibration coordinate, the second calibration coordinate, and the third calibration coordinate includes: The second coordinate difference is obtained by calculating the difference between the z-coordinate of the second calibration coordinate and the z-coordinate of the first calibration coordinate; The third coordinate difference is obtained by calculating the difference between the y-coordinate of the second calibration coordinate and the y-coordinate of the first calibration coordinate; The longitudinal inclination of the conveyor belt is obtained by calculating the quotient of the second coordinate difference and the third coordinate difference; The fourth coordinate difference is obtained by calculating the difference between the z-coordinate of the third calibration coordinate and the z-coordinate of the first calibration coordinate; The lateral tilt of the conveyor belt is obtained by calculating the quotient of the fourth coordinate difference and the first coordinate difference, and the lateral tilt and the longitudinal tilt are used as the tilt.

5. A robot conveyor belt calibration system, characterized in that, include: The upload unit is configured in the industrial camera, the recognition and conversion unit is configured in the host computer, and the motion acquisition unit and calibration unit are configured in the robot, wherein: The uploading unit is used to capture an image of the tool template with an industrial camera when the tool template is at the first target position or the second target position on the conveyor belt, and then upload the tool template image to the host computer. The recognition and conversion unit is used by the host computer to recognize and convert the target points in the tool template image to obtain the first robot coordinates or the second robot coordinates. The motion acquisition unit is used for the robot to move on the conveyor belt according to the first robot coordinates or the second robot coordinates sent by the host computer, and to acquire the first teaching coordinates or the second teaching coordinates after receiving the teaching instruction; The calibration unit is used for the robot to acquire the first encoder value and the second encoder value corresponding to the first target position and the second target position, and to determine the pulse equivalent, gripping area and tilt of the conveyor belt according to the first encoder value, the second encoder value, the first teaching coordinate and the second teaching coordinate, and to calibrate the conveyor belt according to the pulse equivalent, the gripping area and the tilt. The identification and conversion unit includes: The processing unit is used to receive the tool template image from the host computer and perform image processing on the tool template image to obtain a target tool template image; The identification and conversion subunit is used by the host computer to identify the target points in the target tool template image to obtain the target point coordinates, and convert the target point coordinates into first robot coordinates or second robot coordinates through hand-eye calibration; The first teaching coordinate system includes a first calibration coordinate system and a second calibration coordinate system; the second teaching coordinate system includes a third calibration coordinate system and a fourth calibration coordinate system; and the calibration unit includes: The determining unit is used to determine the gripping area of ​​the conveyor belt based on the x-coordinate and y-coordinate in the first calibration coordinate, the second calibration coordinate, the third calibration coordinate, and the fourth calibration coordinate; The first calculation subunit is used to calculate the difference between the x-coordinate of the third calibration coordinate and the x-coordinate of the first calibration coordinate to obtain the first coordinate difference; The second calculation subunit is used to calculate the difference between the second encoder value and the first encoder value to obtain the encoder difference value; The third calculation subunit is used to calculate the pulse equivalent of the conveyor belt by calculating the quotient of the first coordinate difference and the encoder difference. The second calculation unit is used to calculate the inclination of the conveyor belt based on the first calibration coordinate, the second calibration coordinate, and the third calibration coordinate.

6. A robot conveyor belt calibration system, characterized in that, The system includes a host computer, a robot, an industrial camera, and a tool template. The host computer, the robot, and the industrial camera each include a memory and a processor. The tool template includes a first target point and a second target point. The memory stores a computer program. When the processors of the host computer, the robot, and the industrial camera execute their respective computer programs, they jointly implement the method as described in any one of claims 1-4.

7. A computer-readable storage medium, characterized in that, The storage medium stores a computer program that, when executed by a plurality of processors, can implement the method as described in any one of claims 1-4.

Citation Information

Patent Citations

  • Hand-eye calibration method, robot system and storage medium

    CN114905509A