Mechanical arm tool correction method and system and second-order correction method thereof

By using the correction plate and laser sensor in the robot arm tool calibration system, the displacement offset parameter of the tool center point is calculated, which solves the problem of position accuracy and offset of the robot arm tool center point and achieves high-precision tool calibration.

CN119328733APending Publication Date: 2025-01-21DELTA ELECTRONICS INC(CN)
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202310881730.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-18
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

The position accuracy of the center point of the robotic arm tool affects the accuracy of the automation process, and the center point of the tool is easily offset after long-term use, resulting in difficulty in calibration.

Method used

Using the method of visual identification based on correction plates and laser sensors, multiple laser sensors generate interruption signals to calculate the displacement offset parameters of the tool center point relative to the end of the robot arm.

Benefits of technology

It achieves high-precision correction of the center point of the robot arm tool, reduces manual intervention, and improves the accuracy of the automated process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119328733A_ABST
    Figure CN119328733A_ABST
Patent Text Reader

Abstract

The invention provides a mechanical arm tool correction method and system and a second-order correction method thereof. The mechanical arm tool correction method comprises the steps that based on a plurality of correction points on a correction plate, the position of the correction plate relative to a mechanical arm coordinate system and correction center coordinates of a plurality of laser sensors on the correction plate are recognized from an image of the correction plate through visual recognition processing; the mechanical arm is driven to enable the tail end of the mechanical arm to move along a rectangular path on the correction plate; when the processing tool shields the light beams generated by the plurality of laser sensors, generating a plurality of first shielding signals through the plurality of laser sensors; calculating a plurality of first linear equations based on a plurality of first interruption coordinates at the tail end of the mechanical arm when the plurality of first interruption sensing signals are generated respectively, and calculating a displacement offset parameter of the tool center point relative to the tail end of the mechanical arm according to the plurality of first linear equations and the first intersection point coordinates;
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a processing technology, and in particular to a robot arm tool calibration method and system, and a robot arm tool second-order calibration method. Background Art

[0002] At present, robotic arms have been widely used in automated production procedures. Specifically, production line personnel usually install various types of processing tools (such as fixtures, connection tools, welding tools, etc.) on the flange surface (flange) at the end of the robotic arm of the robotic arm, so that the robotic arm can realize the production line automation process through these processing tools. Since generally only the position of the flange surface of the robotic arm itself is known, but the actual position of the tool central point (TCP) on the processing tool is unknown, therefore, after installing or replacing the processing tool, it is often necessary to calibrate it first so that the processor of the robotic arm can obtain the position information of the tool central point. The position accuracy of the tool center point will affect the accuracy of the automation process. For example, if the position of the tool center point is incorrect, the product may be damaged during the operation of the robotic arm, and in severe cases, it may even cause the production line to stagnate. In addition, after using the processing tool for a long time, the tool center point often deviates. Therefore, how to effectively calibrate the processing tool is a very important topic in the relevant field. Summary of the invention

[0003] The present disclosure proposes a robot arm tool calibration method for measuring a processing tool installed at the end of a robot arm, comprising: based on multiple calibration points on a calibration plate, identifying the position of the calibration plate relative to the robot arm coordinate system and the calibration center coordinates of multiple laser sensors on the calibration plate from the image of the calibration plate through visual recognition processing; driving the robot arm to move the end of the robot arm along a rectangular path on the calibration plate; when the processing tool blocks the light beams generated by the multiple laser sensors, generating multiple first interruption signals through the multiple laser sensors, and recording multiple first interruption coordinates of the end of the robot arm when the multiple first interruption sensing signals are respectively generated; calculating multiple first straight line equations based on the multiple first straight line equations, and calculating first intersection coordinates according to the multiple first straight line equations; and calculating the displacement offset parameters of the tool center point of the processing tool relative to the end of the robot arm according to the correction center coordinates and the first intersection coordinates.

[0004] The present disclosure also proposes a robot tool calibration system, including a calibration plate, a camera and a robot. The calibration plate includes a plurality of calibration points and a plurality of laser sensors. The camera is used to capture an image of the calibration plate. The robot includes a processor and a memory, wherein a processing tool is mounted at the end of the robot, wherein the memory is used to store a plurality of instructions, wherein the processor processes the plurality of instructions to execute the following steps: based on the plurality of calibration points on the calibration plate, the position of the calibration plate relative to the robot coordinate system and the calibration center coordinates of the plurality of laser sensors on the calibration plate are identified from the image of the calibration plate through visual recognition processing; the robot is driven to move the end of the robot along a rectangular path on the calibration plate; when the processing tool blocks the light beams generated by the plurality of laser sensors, a plurality of first occlusion signals are generated by the plurality of laser sensors, and a plurality of first occlusion coordinates of the end of the robot when the plurality of first occlusion sensing signals are respectively generated are recorded; a plurality of first straight line equations are calculated based on the plurality of first occlusion coordinates, and a first intersection coordinate is calculated according to the plurality of first straight line equations; and a displacement offset parameter of the tool center point of the processing tool relative to the end of the robot is calculated according to the calibration center coordinates and the first intersection coordinates.

[0005] The present disclosure proposes a second-order calibration method for a robot arm tool, which is used to measure a processing tool installed at the end of the robot arm, including: performing displacement offset calculation on the processing tool on a calibration plate to obtain a first displacement offset parameter of a tool center point of the processing tool relative to the end of the robot arm; changing the relative position between the processing tool and the robot arm, and performing rotation offset calculation on the processing tool on the calibration plate to obtain a rotation offset parameter of a tool coordinate system of the processing tool relative to a robot arm coordinate system of the robot arm; driving the robot arm to rotate the end of the robot arm by at least three rotation angles; and performing displacement offset calculation on the processing tool on the calibration plate again to obtain a second displacement offset parameter of a tool center point of the processing tool relative to the end of the robot arm. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Figure 1A A schematic diagram of a robotic arm tool calibration system in some embodiments is shown.

[0007] Figure 1B A block diagram of a robotic arm tool calibration system in some embodiments is shown.

[0008] Figure 2 A flow chart illustrating a robotic arm tool calibration method in some embodiments.

[0009] Figure 3 A schematic diagram showing multiple calibration points on a calibration plate in some embodiments.

[0010] Figure 4A schematic diagram showing a rectangular path on a correction plate in some embodiments.

[0011] Figure 5 A perspective view of a correction plate in some embodiments is shown.

[0012] Figure 6 A schematic diagram illustrating finding intersection points between multiple line equations in some embodiments.

[0013] Figure 7 Flowchart showing further steps of a robot arm tool calibration method in some embodiments.

[0014] Fig. 8A Schematic diagram showing the interruption of the light beam Ly in some embodiments

[0015] Figure 8B A schematic diagram illustrating vertical distance differences in some embodiments.

[0016] Fig.9A A flow chart showing further steps of the robot arm tool calibration method in other embodiments.

[0017] Fig. 9B Schematic diagrams of a robot arm tool calibration system 1 in some other embodiments are shown.

[0018] Fig. 9C Schematic diagrams showing rectangular paths on a correction plate in further embodiments.

[0019] Fig.9D A perspective view of a correction plate in other embodiments is shown.

[0020] Fig.10 A schematic diagram illustrating the generation of tool vectors in some embodiments.

[0021] Fig.11 A flow chart showing further steps of the robot arm tool calibration method in other embodiments.

[0022] Fig.12 A schematic diagram showing the correspondence between multiple coordinate systems in some embodiments.

[0023] The reference numerals are as follows:

[0024] 1: Robotic arm tool calibration system

[0025] 10: Processor

[0026] 11: Robotic Arm

[0027] 111: Flange surface

[0028] 12: Processing tools

[0029] 121: Tool center point

[0030] 13: Camera

[0031] 14: Calibration plate

[0032] 141a~141c: Laser sensor

[0033] {B}: Robotic arm coordinate system

[0034] {E}: Arm end coordinate system

[0035] {T}: Tool coordinate system

[0036] {U}: User coordinate system

[0037] X B , Y B , Z B : The three-axis coordinates of the robot arm coordinate system

[0038] S210~S250, S710~S730, S910~S950, S1110~S1140: Steps

[0039] PO, PX, PY: calibration points

[0040] B1~B6: Interception point

[0041] Lx, Ly, Lz: beam

[0042] O: Initial position

[0043] S: Starting point

[0044] RR: Rectangular Path

[0045] XY_O: Correction center point

[0046] D: Height difference

[0047] L1~L6:Linear equation

[0048] PL: Plane equation

[0049] CP, P1~P2: intersection point

[0050] Perpendicular Vector

[0051] dz: vertical distance difference

[0052] Tools Vector

[0053] Transformation Matrix DETAILED DESCRIPTION

[0054] In the prior art, it often takes a lot of time and manual work to calibrate the processing tool, and since such calibration often requires manual teaching of the robot arm (i.e., manual setting of the coordinate system), this will lead to poor accuracy. In view of this, the present disclosure proposes a robot arm tool calibration method, system, and robot arm tool second-order calibration method, which first sets the coordinate system of the calibration plate, and uses the sensor on the calibration plate to detect the movement of the processing tool on the calibration plate to detect the displacement offset and rotation offset of the processing tool coordinate system relative to the arm end coordinate system, thereby effectively calibrating the processing tool configured on the robot arm.

[0055] Please refer to Figure 1A as well as Figure 1B , Figure 1A A schematic diagram of a robot arm tool calibration system 1 in some embodiments is shown, and Figure 1B A block diagram of a robot arm tool calibration system 1 in some embodiments is shown. Figure 1A as well as Figure 1B As shown, the present invention discloses a robot tool calibration system 1 for calibrating the coordinate system used by the robot 11. Specifically, different components on a robot 11 may be positioned using different coordinate systems, and different robot arms 11 may also use different coordinate systems. The robot tool calibration system 1 disclosed in the present invention mainly performs alignment calibration on these different coordinate systems to eliminate positional deviations between different coordinate systems, so that users can rest assured to use the robot 11 to perform processing tasks with high precision requirements.

[0056] Furthermore, the robot arm tool calibration system 1 of the present disclosure is in the robot arm coordinate system (i.e., in Figure 1A {B} in the figure), the arm end coordinate system {E} and the tool coordinate system {T} are aligned and corrected, wherein the robot arm coordinate system {B} is the coordinate system used by the base of the robot arm 11 (that is, the absolute coordinates in this space), and the three-axis coordinates of the robot arm coordinate system {B} are respectively represented by X B , Y B , Z B In addition, the arm end coordinate system {E} is the coordinate system used by the center point of the flange surface 111 of the robot arm 11 (i.e., the center point of the end of the robot arm), and the tool coordinate system {T} is the coordinate system used by the processing tool 12 set on the robot arm 11. It is worth noting that the flange surface 111, the robot arm coordinate system {B}, the arm end coordinate system {E} and the tool coordinate system {T} are well-known technologies in the field of robots and will not be described in detail here.

[0057] In addition, the robotic arm tool correction system 1 disclosed in the present invention mainly calculates the transformation matrix (i.e., the homogeneous transformation matrix) between the arm end coordinate system {E} and the tool coordinate system {T}, and transforms between the coordinate systems through the transformation matrix to eliminate the position deviation between different coordinate systems.

[0058] like Figure 1A as well as Figure 1B As shown, the robot arm tool calibration system 1 of the present disclosure includes a robot arm 11, a processing tool 12, a camera 13 and a calibration plate 14. The processing tool 12 is disposed and connected to the robot arm 11, and the camera 13 and the calibration plate 14 are respectively connected to the robot arm 11.

[0059] In this embodiment, the base of the robot arm 11 can be fixedly set on the machine plane, and the processing tool 12 is set on the flange surface 111 of the robot arm 11. In some embodiments, the robot arm 11 can be any processing robot arm with connecting rods and joints. In some embodiments, the processing tool 12 can be a welding tool or a clamp, etc. In addition, based on the use of the processing tool 12, a tool central point (TCP) 121 can be set thereon. Specifically, the tool central point 121 is a specific point on the processing tool 12 that is mainly used to perform operations (for example, the welding point of a welding tool or the clamping point of a clamp, etc.), and can be set by the user of the robot arm 11. For ease of understanding, the following paragraphs will take a single tool central point 121 as an example for explanation, however, a processing tool 12 is not limited to a single tool central point 121.

[0060] In this embodiment, the robot arm 11 includes a processor 10 and a memory 15. The memory 15 stores a plurality of instructions, and the processor 10 executes these instructions to directly control the processing tool 12, or indirectly control the processing tool 12 through the robot arm 11. In some embodiments, the memory 15 can store a conversion matrix of the corresponding relationship between the arm end coordinate system {E} and the robot arm coordinate system {B}. In some embodiments, the processor 10 can be implemented by a processing unit, a central processing unit or a computing unit. In some embodiments, the memory 15 can be implemented by a memory unit, a flash memory, a read-only memory, a hard disk or any equivalent storage component.

[0061] In this embodiment, the camera 13 captures an image of the calibration plate 14. In some embodiments, the camera 13 may be disposed next to the robot 11, and an image sensing area may be established within the range of movement of the robot 11. Further, the camera 13 mainly obtains images in a three-dimensional space and performs judgment and analysis based on the images. In other words, the overall field of view of the camera 13 may be a three-dimensional space. In addition, the camera 13 uses an image coordinate system, and the conversion matrix of the corresponding relationship between the image coordinate system and the robot arm coordinate system {B} has been pre-stored in the memory 15.

[0062] For example, the camera 13 creates a three-dimensional space from the captured image to identify the coordinates of a specific object in the image coordinate system. Thus, the processor 10 converts the coordinates into coordinates in the robot coordinate system {B} according to the conversion matrix between the image coordinate system and the robot coordinate system {B}.

[0063] It is worth noting that the robot coordinate system {B} can be determined after the robot 11 is manufactured. The image coordinate system is established by converting the robot coordinate system {B} as the basic coordinate system after the robot 11 and the camera 13 are set up. A conversion matrix that records the correspondence between the robot coordinate system {B} and the image coordinate system can be defined by the determined robot coordinate system {B} and the image coordinate system and stored in the memory 15 in advance. Therefore, in the calibration process of the processing tool 12, the processor 10 can use this conversion matrix to calculate the absolute position of any position in the image on the robot coordinate system {B}.

[0064] In some embodiments, the camera 13 can be implemented by various image capturers, such as a camera or a photosensitive device, etc., to capture an image of the calibration plate 14 within a preset field of view (FoV). Although the camera 13 is disposed beside the robot arm 11 as an example, in other embodiments, the camera 13 can also be disposed on the robot arm 11.

[0065] In this embodiment, the calibration plate 14 may include a plurality of laser sensors 141a-141b. In some embodiments, the calibration plate 14 may be any calibration plate 14 used to calibrate the robot arm 11. In some embodiments, the laser sensors 141a-141b may be any photointerrupter sensors, which may emit a beam of visible or invisible light, such as X-rays, lasers, infrared rays, ultraviolet rays, etc., which are not limited here.

[0066] In some embodiments, the laser sensors 141a-141b may be disposed at the edge of the correction plate 14 and disposed on the same plane (i.e., at the same height). The laser sensors 141a-141b may emit light beams Lx and Ly, respectively. The light beams Lx and Ly generated by the laser sensors 141a-141b may be perpendicular to each other and to the coordinate axis Z of the robot arm coordinate system {B}. B Vertical, where the beams Lx and Ly are located in the same plane, and the normal vector of this plane is perpendicular to the coordinate axis Z B The intersection of the light beams Lx and Ly is the calibration center point XY_O of the calibration plate 14. Although two laser sensors 141a-141b are used as an example, in actual applications, there may be more laser sensors 141a-141b. In addition, in other embodiments, the light beams Lx and Ly generated by the laser sensors 141a-141b may not be perpendicular to each other, and the intersection of the light beams Lx and Ly only needs to be at the calibration center point XY_O of the calibration plate 14.

[0067] In some embodiments, when the robot arm 11 drives the processing tool 12 to move so that the processing tool 12 interrupts the light beam generated by any of the laser sensors 141a~141b, any of the laser sensors 141a~141b can transmit an interruption signal to the processor 10, and the processor 10 can record the coordinates of the center point of the flange surface 111 on the robot arm coordinate system {B} at the moment the interruption signal is generated.

[0068] The following will further describe how to use the correction plate 14 to achieve six-axis correction of the processing tool 12. Figure 2 , Figure 2 A flow chart illustrating a robotic arm tool calibration method in some embodiments. Figure 1A The components in the robot arm tool calibration system 1 are used to perform steps S210 to S250 in the robot arm tool calibration method. Figure 2 As shown, first, in step S210, based on a plurality of calibration points on the calibration plate 14, the position of the calibration plate 14 relative to the robot arm coordinate system and a calibration center coordinate (in terms of Figure 1A For example, the calibration center coordinates are the positions of the intersections between the laser sensors 141a-141b).

[0069] In some embodiments, the visual recognition process includes using computer vision to recognize the user coordinate system of the image of the calibration plate 14 to generate a conversion matrix of the corresponding relationship between the user coordinate system and the robot arm coordinate system {B}, and storing the conversion matrix. Thus, the conversion between these coordinate systems can be performed using the above-stored conversion matrix. In some embodiments, based on the image coordinate system, multiple calibration points can be recognized according to the image of the calibration plate 14, and at least two vectors can be calculated based on the multiple points, and then the origin of the user coordinate system and the directions of the three axes can be calculated based on the at least two vectors.

[0070] The following is an actual example to illustrate the identification of the user coordinate system. Figure 3 , Figure 3 Schematic diagram showing multiple calibration points on the calibration plate 14 in some embodiments. Figure 3 As shown, there are calibration points PO, PX, and PY on the calibration plate 14. Therefore, based on the image coordinate system, the origin of the user coordinate system and the directions of the three axes can be calculated according to the vector from the calibration point PX to the calibration point PO and the vector from the calibration point PY to the calibration point PX in the image of the calibration plate 14.

[0071] Furthermore, in step S220, the robot arm 11 is driven to make the end of the robot arm (ie, the flange surface 111) move along the rectangular path RR on the calibration plate 14 (eg Figure 4 In some embodiments, the coordinates of the flange surface 111 in space and the rectangular path RR (as shown) are moved. Figure 4 ) can be pre-set by the user on the calibration plate 14. Furthermore, in step S230, when the processing tool 12 blocks the light beams Lx and Ly generated by the laser sensors 141a-141b, a plurality of first blocking signals are generated by the laser sensors 141a-141b, and a plurality of first blocking coordinates of the end of the robot arm when the plurality of first blocking sensing signals are respectively generated are recorded.

[0072] The following is an actual example to illustrate the movement of the flange surface 111 along the rectangular path RR on the correction plate 14. Figure 4 as well as Figure 5 , Figure 4 A schematic diagram showing a rectangular path RR on the correction plate 14 in some embodiments, Figure 5 A perspective view of the correction plate 14 in some embodiments is shown. Figure 4 as well as Figure 5As shown, the initial position O of the correction plate 14 can be set first, and the coordinates of the initial position O on the robot coordinate system {B} can be stored. Then, the rectangular path RR and the starting point of the rectangular path RR can be set in the image captured by the camera 13, and the coordinates of the rectangular path RR and the starting point of the rectangular path RR in the image coordinate system can be converted to the robot coordinate system {B}, and the coordinates of the rectangular path RR in the horizontal plane direction on the robot coordinate system {B} and the coordinates of the starting point S of the rectangular path RR in the horizontal plane direction on the robot coordinate system {B} can be stored.

[0073] Thus, the robot arm 11 can be driven to move the flange surface 111 until the coordinates of the flange surface 111 are equal to the coordinates of the initial position O. At this time, the Z direction of the tool coordinate system {T} of the processing tool 12 is parallel to the Z direction of the user coordinate system of the correction plate 14. It is worth noting that although the initial position O is set here, in actual application, the initial position O can be any point on the correction plate 14. Then, the coordinates of the starting point S of the rectangular path RR in the horizontal plane direction and the coordinates of the rectangular path RR in the horizontal plane direction can be converted into the coordinates of the flange surface 111 in the horizontal plane direction to be moved on the robot arm coordinate system {B}. In this way, according to the converted coordinates, the robot arm 11 can be driven to drive the flange surface 111 to move along the coordinates of the rectangular path RR starting from the coordinates of the starting point S of the rectangular path RR.

[0074] Furthermore, in Figure 4 as well as Figure 5 In the figure, two laser sensors 141 a - 141 b are used as an example. The two laser sensors 141 a - 141 b can generate light beams Lx and Ly, wherein the intersection of the light beams Lx and Ly is the calibration center point XY_O of the calibration plate 14 .

[0075] Please also read Figure 1A In addition, when the flange surface 111 moves, the processing tool 12 will block the light beams Lx and Ly at the blocking points B1 to B4, so that the laser sensors 141a to 141b generate four blocking signals. Then, the coordinates of the flange surface 111 at the time point when the four blocking signals of the blocking points B1 to B4 are generated can be used as four first blocking coordinates (based on the robot arm coordinate system {B}).

[0076] See also Figure 1A and Figure 2 , and then, in step S240, a plurality of first straight line equations are calculated based on the plurality of first occlusion coordinates, and the first intersection coordinates are calculated according to the plurality of first straight line equations. In some embodiments, one of the plurality of first straight line equations can be calculated from two of the plurality of first occlusion coordinates (i.e., 2 points form 1 line). For example, Figure 4As shown, two first straight line equations can be calculated based on these four first interruption coordinates.

[0077] In some embodiments, the vertical coordinate axis Z on the robot arm reference system {B} can be calculated based on one of the plurality of first straight line equations and the vertical coordinate axis Z on the robot arm reference system {B}. B The plane equation is calculated, and the coordinates of the first intersection point on the robot arm reference system {B} are calculated according to the plane equation and the rest of the plurality of first straight line equations.

[0078] For example, see Figure 1A , Figure 6 and Fig.12 , Figure 6 FIG. 2 is a schematic diagram showing a method of finding the intersection point CP between a plurality of straight line equations L1 to L2 in some embodiments. Figure 6 As shown, it is assumed that the two first straight line equations L1-L2 on the robot coordinate system {B} are calculated, and the vertical coordinate axis on the user coordinate system {U} is converted into a vertical vector on the robot coordinate system {B} Next, we can use the equation of the line L2 and the perpendicular vector Calculate the plane equation PL, and calculate the intersection point CP between the plane equation PL and the line equation L1. Finally, record the first intersection point coordinates of the intersection point CP on the robot arm coordinate system {B}.

[0079] Furthermore, in step S250, the displacement offset parameter of the tool center point 121 of the processing tool 12 relative to the end of the robot arm is calculated based on the calibration center coordinates (i.e., the coordinates of the calibration center point XY_O of the calibration plate 14) and the first intersection coordinates (i.e., the displacement offset calculation is performed to complete the first displacement offset parameter in the rough calibration stage). In some embodiments, the three-axis offset between the converted calibration center coordinates and the converted first intersection coordinates (i.e., the three-axis offset between the coordinate axis XY_O and the coordinate axis XY_O) can be calculated. B , Y B , Z B The offset in the three-axis direction is then used as the displacement offset parameter. At this time, the three-axis offset is the offset vector between the flange surface 111 and the tool center point 121, and the offset vector can be used as the displacement offset parameter.

[0080] Please refer to Figure 1A and Figure 7 , Figure 7 A flow chart showing further steps of the robot arm tool calibration method in some embodiments. Figure 7 As shown, in some embodiments, after executing Figure 2 After step S250, the following steps may be further performed: Figure 7 Steps S710 to S730.

[0081] First, in step S710, the robot arm 11 is driven to move the end of the robot arm to the first intersection coordinate, and the robot arm 11 is driven to move the end of the robot arm along the vertical direction (ie, the coordinate axis Z). B Furthermore, in step S720, when the processing tool 12 does not block the light beam generated by one of the laser sensors 141a-141b, a restoration blockage signal is generated by one of the laser sensors 141a-141b, and the coordinates of the end of the robot arm when the restoration blockage signal is generated (based on the robot arm reference system {B}) are used as the new first intersection coordinates. Furthermore, in step S730, the displacement offset parameter is updated according to the new first intersection coordinates. In some embodiments, the coordinate axis Z in the displacement offset parameter can be adjusted according to the new first intersection coordinates. B At this time, the origin of the tool coordinate system {T} can be adjusted more accurately.

[0082] The following is an actual example to illustrate the calculation of the new first intersection coordinates. Figure 1A , Fig. 8A as well as Figure 8B , Fig. 8A A schematic diagram showing an interrupted light beam Ly in some embodiments, Figure 8B Schematic diagram showing the vertical distance difference dz in some embodiments. Fig. 8A and Figure 8B As shown, first, the flange surface has been moved to the first intersection coordinate on the robot arm system {B}, and the processing tool 12 has blocked the light beam Ly. However, the height of the tool center point 121 may be different from the correction center coordinate of the correction plate 14. Based on this, it can be moved up a vertical distance difference dz (that is, the distance for a moment when the light beam Ly is not blocked) in the vertical direction of the robot arm system {B}. Thus, the coordinate of the flange surface 111 on the robot arm system {B} at this time can be used as the new first intersection coordinate. In this way, the vertical offset in the displacement offset parameter can be moved up. At this time, the height of the tool center point 121 may be similar to the height of the correction center coordinate of the correction plate 14 in the direction of the vertical coordinate axis in the correction plate coordinate system, and the position of the tool center point 121 when the flange surface 111 is moved to the new first intersection coordinate on the robot arm system {B} is close to the correction center coordinate of the correction plate 14.

[0083] Please refer to Figure 1A and Fig.9A , Fig.9A A flowchart showing further steps of the robot arm tool calibration method in other embodiments. Fig.9A As shown, after executing step S730 (as shown Figure 7 After that, you can further execute Fig.9A Steps S910 to S950.

[0084] First, in step S910, the vertical height of the end of the robot arm (ie, the coordinate axis Z on the robot arm coordinate system {B}) is adjusted according to the new first intersection coordinates. B The robot arm 11 is driven to move the end of the robot arm along the rectangular path RR on the correction plate 14. In some embodiments, the robot arm 11 can be driven to move the coordinate axis Z on the flange surface 111 robot arm coordinate system {B} B The height of the direction increases the vertical distance difference dz (such as Figure 8B shown).

[0085] Please refer to 9A to 9D , Fig. 9B A schematic diagram showing a robot arm tool calibration system 1 in some other embodiments, Fig. 9C Schematic diagram showing a rectangular path RR on the correction plate 14 in other embodiments, Fig.9D 1 shows a perspective view of the correction plate 14 in some other embodiments. FIG. 9B to FIG. 9D As shown, a third laser sensor 141c may be further disposed on the correction plate 14. There is a height difference D between the laser sensor 141c and the laser sensor 141b. The light beam Lz generated by the laser sensor 141c is aligned with the coordinate axis Z on the robot arm coordinate system {B}. B vertical.

[0086] Furthermore, the same as above can be used Figure 4 The flange surface 111 is moved along the rectangular path RR on the correction plate 14 in the same manner. The difference here is that the flange surface 111 is now on the coordinate axis Z of the robot arm coordinate system {B}. B Therefore, the remaining identical parts will not be described in detail.

[0087] Furthermore, in step S920, when the processing tool 12 blocks the light beams Lx, Ly, Lz generated by the laser sensors 141a-141c, a plurality of second blocking signals are generated by the laser sensors 141a-141c, and a plurality of second blocking coordinates of the end of the robot arm when the plurality of second blocking sensing signals are generated are recorded. FIG. 9B to FIG. 9D As shown, six interruption signals of six interruption points B1 to B6 are generated in the beams Lx, Ly, and Lz, and the six coordinates of the end of the robot arm when the six interruption signals are generated are recorded as the second interruption coordinates. Since the vertical heights of the flange surface 111 on the robot arm coordinate system {B} are different at this time, the coordinates generated by the interruption points B1 to B4 are different from the above Figure 4 The first occlusion coordinates generated in .

[0088] Furthermore, in step S930, the robot arm 11 is driven to move the end of the robot arm to a position corresponding to the displacement offset parameter (i.e., the position of the origin of the current tool coordinate system {T} on the robot arm coordinate system {B}), and the robot arm 11 is driven to move the end of the robot arm in a vertical direction (i.e., Z B The robot arm 11 is then driven to move the end of the robot arm along the rectangular path RR on the correction plate 14. In some embodiments, the first rotation angle may be 90 degrees.

[0089] Furthermore, in step S940, when the processing tool 12 blocks the light beams Lx, Ly, Lz generated by the laser sensors 141a-141c, a plurality of third blocking signals are generated by the laser sensors 141a-141c, and a plurality of third blocking coordinates of the end of the robot arm when the plurality of third blocking sensing signals are generated are recorded. FIG. 9B to FIG. 9D As shown, the same method as above can be used to move along the rectangular path RR on the correction plate 14 again to block the light beams Lx, Ly, and Lz. The only difference here is that the posture of the robot arm 11 is different at this time, and only two blocking signals of two blocking points B5-B6 in the light beam Lz are obtained to generate two new blocking coordinates (i.e., the third blocking coordinates). Therefore, the rest of the same parts will not be repeated.

[0090] Furthermore, in step S950, a tool vector is calculated based on multiple second occlusion coordinates and multiple third occlusion coordinates, and the rotation offset parameters of the tool coordinate system {T} of the processing tool 12 relative to the robot arm coordinate system {B} are calculated according to the tool vector (i.e., a rotation offset calculation is performed to complete the fine calibration stage).

[0091] In some embodiments, a plurality of second line equations may be calculated based on a plurality of second occlusion coordinates and a plurality of third occlusion coordinates, then a second intersection point coordinate and a third intersection point coordinate are calculated according to the plurality of second line equations, and a tool vector is calculated according to the second intersection point coordinate and the third intersection point coordinate.

[0092] The following is an actual example to illustrate the second straight line equation. FIG. 9B to FIG. 9D As shown in FIG. 1 , the four second blocking coordinates generated by the light beams Lx and Ly can be at the same height of the robot coordinate system {B}, and the two second blocking coordinates and the two third blocking coordinates generated by the light beam Lz are also at the same first height of the robot coordinate system {B}. Therefore, the X coordinates on the robot coordinate system {B} can be calculated based on the four second blocking coordinates generated by the light beams Lx and Ly. B , Y BThe two second straight line equations of the directions are obtained, and the coordinates of the second intersection point between the two second straight line equations of the first height are calculated by the same method as that for calculating the coordinates of the first intersection point.

[0093] Next, the Y coordinates on the robot arm coordinate system {B} can be calculated based on the two second interruption coordinates generated by the light beam Lz. B In addition, the Y coordinates of the robot arm coordinate system {B} can be calculated based on the two third interception coordinates generated by the light beam Lz. B The equation of a straight line at the second height in the direction and the equation of the straight line is rotated 90 degrees on the robot coordinate system {B} to generate the X B Thus, the coordinates of the third intersection point between the two second straight line equations at the second height can be calculated by the same method as that for calculating the coordinates of the first intersection point.

[0094] The following is an actual example to illustrate the generation of tool vectors. Fig.10 , Fig.10 Tool vectors shown in some embodiments Schematic diagram of the generation of Fig.10 As shown, the intersection point P1 can be calculated between the straight line equations L3 and L4 at the first height, and an intersection point P2 can be calculated between the straight line equations L5 and L6 at the second height. Then, the intersection points P1 to P2 can be converted to the second intersection point coordinates and the third intersection point coordinates on the robot arm coordinate system {B}, respectively. Thus, the tool vector between the second intersection point coordinates and the third intersection point coordinates can be calculated. Tools Vector can be used as the Z direction of the tool center point 121. Then, this processing vector The X of the machine coordinate system {B} B The coordinate axes are used to make an outer product to generate the Y direction of the tool center point 121, and the Y direction of the tool center point 121 and the processing vector are used to make an outer product to generate the X direction of the tool center point 121. Next, the three-axis rotation offset (i.e., the offset of the three-axis rotation Rx, Ry, Rz) between the three-axis directions of the tool center point 121 (the above-mentioned X, Y, and Z directions) and the three axes of the robot coordinate system {B} can be calculated, and the three-axis rotation offset can be used as the rotation offset parameter. At this point, the coordinate axis X of the robot coordinate system {B} can be obtained. B , Y B , Z B And the rotation offset parameters determine the three axes of the tool coordinate system {T} (that is, determine the directions of the three axes of the tool coordinate system {T} in the robot arm coordinate system {B}).

[0095] Please refer to Figure 1A , Fig. 9C and Fig.11 , Fig.11 A flowchart showing further steps of the robot arm tool calibration method in other embodiments. Fig.11 As shown, after executing step S950 (as shown in Fig.9A After that, you can further execute Fig.11 Steps S1110 to S1140.

[0096] First, in step S1110, the robot arm 11 is driven to move the end of the robot arm to a position corresponding to the displacement offset parameter, and the robot arm 11 is driven to rotate the end of the robot arm by multiple second rotation angles based on the three-axis directions corresponding to the rotation offset parameters, and then the robot arm 11 is driven to move the end of the robot arm along the rectangular path RR. In some embodiments, the flange surface 111 can be moved to the above-mentioned first intersection coordinates. Then, the origin of the tool coordinate system {T} can be calculated based on the position of the flange surface 111 and the displacement offset parameters, and the directions of the three axes of the tool coordinate system {T} can be calculated based on the robot arm coordinate system {B} and the rotation offset parameters, and then the flange surface 111 is rotated by three second rotation angles based on the directions of the three axes of the tool coordinate system {T} (that is, each axis is rotated by one second rotation angle). In other embodiments, it can also be rotated by more than three second rotation angles. In some embodiments, the second rotation angle can be pre-set by the user (for example, 90 degrees). In addition, if Figure 4 As shown, the same method as above can be used to move along the rectangular path RR on the correction plate 14 again. The only difference here is that the flange surface 111 has been further rotated at this time. Therefore, the remaining same parts will not be described in detail.

[0097] Furthermore, in step S1120, when the processing tool 12 blocks the light beams Lx, Ly, Lz generated by the laser sensors 141a-141c, a plurality of fourth blocking signals are generated by the laser sensors 141a-141c, and a plurality of fourth blocking coordinates of the end of the robot arm when the plurality of fourth blocking signals are generated are recorded. FIG. 9B to FIG. 9D As shown, six interruption signals of six interruption points B1 to B6 are also generated in the light beams Lx, Ly, and Lz. Since the flange surface 111 has been rotated at this time, multiple new interruption coordinates (i.e., fourth interruption coordinates) can be detected. Further, the four interruption coordinates of the four interruption signals of the interruption points B1 to B4 can be taken as the four fourth interruption coordinates, and the two third straight line equations can be calculated in the same way as above.

[0098] Furthermore, in step S1130, a plurality of third straight line equations are calculated based on the plurality of fourth blocking coordinates, and the fourth intersection coordinates are calculated according to the plurality of third straight line equations. Figure 6 As shown, the coordinates of the intersection point between the two third straight line equations can be calculated in the same way, and the coordinates are used as the coordinates of the fourth intersection point.

[0099] Furthermore, in step S1140, according to the correction center coordinates and the fourth intersection coordinates, a new displacement offset parameter of the tool center point 121 of the processing tool 12 relative to the end of the robot arm is calculated (i.e., the displacement offset calculation is performed again, which can be regarded as the second displacement offset parameter in the fine calibration stage), and the displacement offset parameter is updated according to the new displacement offset parameter. The method of calculating the new displacement offset parameter here is the same as the method of generating the displacement offset parameter described above, so it is not repeated here. In some embodiments, the three-axis average value between the new displacement offset parameter and the displacement offset parameter (i.e., the new displacement offset parameter and the average value of each axis offset in the displacement offset parameter are calculated), and the three-axis average value is used as the displacement offset parameter (i.e., the above-mentioned updating step). In some embodiments, the above-mentioned steps S1110 to S1140 can be continuously executed until the preset number of recursions is reached. In this way, a more accurate displacement offset parameter can be calculated. It is worth noting that when the number of the second rotation angles is greater than 3, the applicable range and accuracy of the processing tool 12 can be greatly improved (i.e., the accuracy of the displacement offset parameter will be greatly improved).

[0100] Through the above steps, the offset parameters of the origin of the tool coordinate system {T} relative to the origin of the arm end coordinate system {E}, and the rotation offset parameters of the three axes of the tool coordinate system {T} relative to the three axes of the robot arm coordinate system can be calculated, and the origin of the tool coordinate system {T} in the robot arm coordinate system and the directions of the three axes (absolute position and absolute direction) can be identified using the offset parameters and the rotation offset parameters. Therefore, the transformation matrix of the corresponding relationship between the tool coordinate system {T} and the arm end coordinate system {E} can be calculated based on the origin of the tool coordinate system {T} and the directions of the three axes.

[0101] The following further explains the corresponding relationship between the various coordinate systems. Fig.12 , Fig.12 A schematic diagram showing the correspondence between multiple coordinate systems in some embodiments. Fig.12As shown, the robot arm 11 uses the robot arm coordinate system {B}, the flange surface 111 uses the arm end coordinate system {E}, the tool center point 121 of the processing tool 12 uses the tool coordinate system {T}, and the calibration plate 14 uses the user coordinate system {U}. First, the conversion matrix between the robot arm coordinate system {B} and the arm end coordinate system {E} can be pre-stored Then, the above Figure 2 Step S210 identifies the transformation matrix And using the transformation matrix Create a user coordinate system {U} from the robot coordinate system {B}.

[0102] Next, the remaining steps above are to calculate the shift offset parameters and rotation shift offset parameters between the end-of-arm coordinate system {E} and the tool coordinate system {T}, and the transformation matrix between the end-of-arm coordinate system {E} and the tool coordinate system {T} can be calculated from the shift offset parameters and rotation shift offset parameters. In the present disclosure, the transformation matrix is ​​calculated using the shift offset parameter and the rotation shift offset parameter. The tool center point 121 of the processing tool 12 is corrected. Therefore, when the processing on the production line is actually performed, the transformation matrix can be used. The origin and three-axis directions of the tool coordinate system {T} are immediately known, thereby more accurately controlling the processing of the robot arm 11.

[0103] In summary, through the robot arm tool calibration method and system disclosed in the present invention, the laser sensor on the calibration plate can be used to effectively obtain the absolute position and absolute direction of the tool center point on the currently configured processing tool in the robot arm coordinate system, so that the robot arm can control the processing tool more accurately to eliminate the tolerance during tool production, the deviation during assembly, or the error caused by the wear of the tool. In addition, there is no need to establish a sample of the processing tool, and eliminate possible deviation values, thereby further improving the calibration accuracy. On the other hand, the robot arm second-order calibration method disclosed in the present invention is divided into two stages: rough calibration and fine calibration. In detail, in the rough calibration stage, the processing tool can be used to calculate the displacement offset of the relative position on the calibration plate. In the fine calibration stage, several different postures of the processing tool can be changed to perform multi-posture positioning on the calibration plate. Thereby, the technical problem that the calibration accuracy of the robot arm is not high enough in the past is solved.

[0104] Although specific embodiments of the present disclosure have been disclosed with respect to the above-mentioned embodiments, these embodiments are not intended to limit the present disclosure. Various substitutions and improvements can be performed in the present disclosure by a person of ordinary skill in the relevant art without departing from the principles and spirit of the present disclosure. Therefore, the scope of protection of the present disclosure is determined by the appended claims.

Claims

1. A robot arm tool calibration method for measuring a processing tool installed at the end of a robot arm, comprising: Based on a plurality of calibration points on a calibration plate, identifying the position of the calibration plate relative to a robot arm coordinate system and a calibration center coordinate of a plurality of laser sensors on the calibration plate from an image of the calibration plate through visual recognition processing; Driving a mechanical arm so that a distal end of the mechanical arm moves along a rectangular path on the correction plate; When the processing tool blocks the light beams generated by the plurality of laser sensors, a plurality of first blocking signals are generated by the plurality of laser sensors, and a plurality of first blocking coordinates of the end of the robot arm when the plurality of first blocking sensing signals are respectively generated are recorded; Calculating a plurality of first straight line equations based on a plurality of the first blocking coordinates, and calculating a first intersection coordinate according to the plurality of the first straight line equations; as well as According to the correction center coordinate and the first intersection coordinate, a displacement offset parameter of a tool center point of the processing tool relative to the end of the robot arm is calculated.

2. The robot arm tool calibration method as claimed in claim 1, wherein the light beams generated by two of the plurality of laser sensors pass through the calibration center coordinate, further comprising: Driving the robotic arm to move the end of the robotic arm to the first intersection coordinate, and driving the robotic arm to move the end of the robotic arm along a vertical direction; When the processing tool does not block the light beam generated by one of the plurality of laser sensors, a restoration blockage signal is generated by one of the plurality of laser sensors, and a new first intersection coordinate of the end of the robot arm when the restoration blockage signal is generated is recorded; and The displacement offset parameter is updated according to the new first intersection point coordinates.

3. The robot arm tool calibration method according to claim 2, further comprising: Adjusting a vertical height of the end of the robotic arm according to the new first intersection coordinate, and driving the robotic arm to move the end of the robotic arm along the rectangular path on the correction plate; When the processing tool blocks the light beams generated by the plurality of laser sensors, a plurality of second blocking signals are generated by the plurality of laser sensors, and a plurality of second blocking coordinates of the end of the robot arm when the plurality of second blocking sensing signals are generated are recorded; The robot arm is driven to move the end of the robot arm to a position corresponding to the displacement offset parameter, and the robot arm is driven to rotate the end of the robot arm by a first rotation angle based on the vertical direction, and then the robot arm is driven to move the end of the robot arm along the rectangular path on the correction plate; When the processing tool blocks the light beams generated by the plurality of laser sensors, a plurality of third blocking signals are generated by the plurality of laser sensors, and a plurality of third blocking coordinates of the end of the robot arm when the plurality of third blocking sensing signals are generated are recorded; and A tool vector is calculated based on the second blocking coordinates and the third blocking coordinates, and a rotation offset parameter of a tool coordinate system of a processing tool relative to the robot arm coordinate system is calculated according to the tool vector.

4. The robot arm tool calibration method according to claim 3, further comprising: Calculating a plurality of second straight line equations based on a plurality of the second occlusion coordinates and a plurality of the third occlusion coordinates; and A second intersection coordinate and a third intersection coordinate are calculated according to the second straight line equations, and the tool vector between the second intersection coordinate and the third intersection coordinate is calculated.

5. The robot arm tool calibration method according to claim 3, further comprising: The robot arm is driven to move the end of the robot arm to a position corresponding to the displacement offset parameter, and the robot arm is driven to rotate the end of the robot arm by a plurality of second rotation angles based on the three-axis directions corresponding to the rotation offset parameter, and then the robot arm is driven to move the end of the robot arm along the rectangular path; When the processing tool blocks the light beams generated by the plurality of laser sensors, a plurality of fourth blocking signals are generated by the plurality of laser sensors, and a plurality of fourth blocking coordinates of the end of the robot arm when the plurality of fourth blocking signals are generated are recorded; Calculating a plurality of third straight line equations based on the plurality of fourth blocking coordinates, and calculating a fourth intersection coordinate according to the plurality of third straight line equations; and According to the correction center coordinates and the fourth intersection coordinates, new displacement offset parameters of the tool center point of the processing tool relative to the end of the robot arm are calculated, and the displacement offset parameters are updated according to the new displacement offset parameters.

6. A robot arm tool calibration system, comprising: A calibration plate including a plurality of calibration points and a plurality of laser sensors; a camera for capturing an image of the calibration plate; A robot arm includes a processor and a memory, wherein a processing tool is installed at the end of the robot arm, wherein the memory is used to store a plurality of instructions, wherein the processor processes the plurality of the instructions to execute the following steps: Based on a plurality of calibration points on the calibration plate, a position of the calibration plate relative to a robot arm coordinate system and a calibration center coordinate of a plurality of laser sensors on the calibration plate are identified from an image of the calibration plate through visual recognition processing; Driving the mechanical arm so that a distal end of the mechanical arm moves along a rectangular path on the correction plate; When the processing tool blocks the light beams generated by the plurality of laser sensors, a plurality of first blocking signals are generated by the plurality of laser sensors, and a plurality of first blocking coordinates of the end of the robot arm when the plurality of first blocking sensing signals are respectively generated are recorded; Calculating a plurality of first straight line equations based on a plurality of the first blocking coordinates, and calculating a first intersection coordinate according to the plurality of the first straight line equations; as well as According to the correction center coordinates and the first intersection coordinates, a displacement offset parameter of a processing center point of the processing tool relative to the end of the robot arm is calculated.

7. The robot arm tool calibration system as claimed in claim 6, wherein the light beams generated by two of the plurality of laser sensors pass through the calibration center coordinate, wherein the processor further performs the following steps: Driving the robotic arm to move the end of the robotic arm to the first intersection coordinate, and driving the robotic arm to move the end of the robotic arm along a vertical direction; When the processing tool does not block the light beam generated by one of the plurality of laser sensors, a restoration blockage signal is generated by one of the plurality of laser sensors, and a new first intersection coordinate of the end of the robot arm when the restoration blockage signal is generated is recorded; and The displacement offset parameter is updated according to the new first intersection point coordinates.

8. The robot arm tool calibration system as claimed in claim 7, wherein the processor further performs the following steps: Adjusting a vertical height of the end of the robotic arm according to the new first intersection coordinate, and driving the robotic arm to move the end of the robotic arm along the rectangular path on the correction plate; When the processing tool blocks the light beams generated by the plurality of laser sensors, a plurality of second blocking signals are generated by the plurality of laser sensors, and a plurality of second blocking coordinates of the end of the robot arm when the plurality of second blocking sensing signals are generated are recorded; The robot arm is driven to move the end of the robot arm to a position corresponding to the displacement offset parameter, and the robot arm is driven to rotate the end of the robot arm by a first rotation angle based on the vertical direction, and then the robot arm is driven to move the end of the robot arm along the rectangular path on the correction plate; When the processing tool blocks the light beams generated by the plurality of laser sensors, a plurality of third blocking signals are generated by the plurality of laser sensors, and a plurality of third blocking coordinates of the end of the robot arm when the plurality of third blocking sensing signals are generated are recorded; and A tool vector is calculated based on the second blocking coordinates and the third blocking coordinates, and a rotation offset parameter of a tool coordinate system of a processing tool relative to the robot arm coordinate system is calculated according to the tool vector.

9. The robot arm tool calibration system as claimed in claim 8, wherein the processor further performs the following steps: Calculating a plurality of second straight line equations based on a plurality of the second occlusion coordinates and a plurality of the third occlusion coordinates; and A second intersection coordinate and a third intersection coordinate are calculated according to the second straight line equations, and the tool vector between the second intersection coordinate and the third intersection coordinate is calculated.

10. The robot arm tool calibration system as claimed in claim 8, wherein the processor further performs the following steps: The robot arm is driven to move the end of the robot arm to a position corresponding to the displacement offset parameter, and the robot arm is driven to rotate the end of the robot arm by a plurality of second rotation angles based on the three-axis directions corresponding to the rotation offset parameter, and then the robot arm is driven to move the end of the robot arm along the rectangular path; When the processing tool blocks the light beams generated by the plurality of laser sensors, a plurality of fourth blocking signals are generated by the plurality of laser sensors, and a plurality of fourth blocking coordinates of the end of the robot arm when the plurality of fourth blocking signals are generated are recorded; Calculating a plurality of third straight line equations based on the plurality of fourth blocking coordinates, and calculating a fourth intersection coordinate according to the plurality of third straight line equations; and According to the correction center coordinates and the fourth intersection coordinates, new displacement offset parameters of the tool center point of the processing tool relative to the end of the robot arm are calculated, and the displacement offset parameters are updated according to the new displacement offset parameters.

11. A second-order calibration method for a robot arm tool, for measuring a processing tool installed at the end of a robot arm, comprising: Performing displacement calculation on the processing tool on a calibration plate to obtain a first displacement offset parameter of a tool center point of the processing tool relative to the end of the robot arm; Changing the relative position between the processing tool and the robot arm, and performing rotational offset calculation on the processing tool on the correction plate to obtain a rotational offset parameter of a tool coordinate system of the processing tool relative to a robot arm coordinate system of the robot arm; driving the robot arm to rotate the end of the robot arm by at least three rotation angles; and The displacement offset calculation is performed again on the correction plate for the processing tool to obtain a second displacement offset parameter of the tool center point of the processing tool relative to the end of the robot arm.

Citation Information

Cited By

  • Mechanical arm tool calibration method, system and device and medium

    CN121756363A

  • A robotic arm tool calibration method, system, apparatus, and medium

    CN121756363B