CN119328733A - Robot arm tool calibration method, system and second-order calibration method thereof - Google Patents
Robot arm tool calibration method, system and second-order calibration method thereof Download PDFInfo
- Publication number
- CN119328733A CN119328733A CN202310881730.6A CN202310881730A CN119328733A CN 119328733 A CN119328733 A CN 119328733A CN 202310881730 A CN202310881730 A CN 202310881730A CN 119328733 A CN119328733 A CN 119328733A
- Authority
- CN
- China
- Prior art keywords
- robot arm
- tool
- coordinates
- blocking
- generated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Manipulator (AREA)
Abstract
The invention provides a mechanical arm tool correction method, a mechanical arm tool correction system and a second-order correction method thereof. The mechanical arm tool correction method comprises the steps of identifying the position of a correction plate relative to a mechanical arm coordinate system from an image of the correction plate through visual identification processing based on a plurality of correction points on the correction plate, driving a mechanical arm to enable the tail end of the mechanical arm to move along a rectangular path on the correction plate, generating a plurality of first blocking signals through the plurality of laser sensors when a processing tool blocks light beams generated by the plurality of laser sensors, calculating a plurality of first straight line equations based on the plurality of first blocking coordinates of the tail end of the mechanical arm when the plurality of first blocking sensing signals are respectively generated, and calculating displacement offset parameters of the center point of the tool relative to the tail end of the mechanical arm according to the plurality of first straight line equations and the first intersection point coordinates.
Description
Technical Field
The disclosure relates to a machining technology, and in particular relates to a method and a system for correcting a mechanical arm tool and a second-order correction method for the mechanical arm tool.
Background
At present, the mechanical arm is widely applied to an automatic production process. Specifically, a production line personnel typically mounts various types of processing tools (e.g., clamps, connection tools, welding tools, etc.) on a flange surface (flange) at the end of the robot arm, whereby the robot arm can implement a production line automation process with these processing tools. Since the location of the flange face of the robot arm itself is generally known, but the actual location of the tool center point (tool central point, TCP) on the tool is not known, correction must often be performed after the tool is installed or replaced to allow the processor of the robot arm to obtain the location information of the tool center point. The accuracy of the position of the tool center point may affect the accuracy of the automated process, for example, if the position of the tool center point is wrong, product damage may be caused during the operation of the mechanical arm, and serious production line stagnation may even be caused. In addition, after prolonged use of the machining tool, deviations from the tool center point are often also caused. Therefore, how to effectively calibrate a processing tool is a very important issue in the related art.
Disclosure of Invention
The disclosure provides a mechanical arm tool correction method for measuring a machining tool mounted at the tail end of a mechanical arm, which comprises the steps of identifying the position of a correction plate relative to a mechanical arm coordinate system from an image of the correction plate through visual identification processing based on a plurality of correction points on the correction plate, correcting center coordinates of a plurality of laser sensors on the correction plate, driving the mechanical arm to enable the tail end of the mechanical arm to move along a rectangular path on the correction plate, generating a plurality of first blocking signals through the plurality of laser sensors when the machining tool blocks light beams generated by the plurality of laser sensors, recording a plurality of first blocking coordinates of the tail end of the mechanical arm when the plurality of first blocking sensing signals are respectively generated, calculating a plurality of first straight line equations based on the plurality of first blocking coordinates, calculating first intersection point coordinates according to the plurality of first straight line equations, and calculating a displacement offset parameter of the tool center point of the machining tool relative to the tail end of the mechanical arm according to the correction center coordinates and the first intersection point coordinates.
The disclosure also provides a robot tool calibration system, which comprises a calibration plate, a camera and a robot. The correction plate comprises a plurality of correction points and a plurality of laser sensors. The camera is used for shooting the image of the correction plate. The mechanical arm comprises a processor and a memory, wherein the processing tool is arranged at the tail end of the mechanical arm, the memory is used for storing a plurality of instructions, the processor is used for processing the plurality of instructions to execute the following steps of identifying the position of the correction plate relative to a mechanical arm coordinate system and the correction center coordinates of a plurality of laser sensors on the correction plate through visual identification processing based on a plurality of correction points on the correction plate, driving the mechanical arm to move the tail end of the mechanical arm along a rectangular path on the correction plate, generating a plurality of first blocking signals through the plurality of laser sensors when the processing tool blocks light beams generated by the plurality of laser sensors, recording a plurality of first blocking coordinates of the tail end of the mechanical arm when the plurality of first blocking sensing signals are respectively generated, calculating a plurality of first straight line equations based on the plurality of first blocking coordinates, calculating a first intersection point coordinate according to the plurality of first straight line equations, and calculating a displacement offset parameter of the tool center point of the processing tool relative to the tail end of the mechanical arm according to the correction center coordinates and the first intersection point coordinate.
The second-order correction method of the mechanical arm tool is used for measuring the machining tool mounted at the tail end of the mechanical arm and comprises the steps of carrying out displacement offset calculation on the machining tool on a correction plate to obtain a first displacement offset parameter of a tool center point of the machining tool relative to the tail end of the mechanical arm, changing the relative position between the machining tool and the mechanical arm, carrying out rotation offset calculation on the machining tool on the correction plate to obtain a rotation offset parameter of a tool coordinate system of the machining tool relative to a mechanical arm coordinate system of the mechanical arm, driving the mechanical arm to enable the tail end of the mechanical arm to rotate by at least three rotation angles, and carrying out displacement offset calculation on the machining tool on the correction plate again to obtain a second displacement offset parameter of the tool center point of the machining tool relative to the tail end of the mechanical arm.
Drawings
FIG. 1A illustrates a schematic diagram of a robotic tool correction system in some embodiments.
FIG. 1B illustrates a block diagram of a robotic tool correction system in some embodiments.
FIG. 2 illustrates a flow chart of a robot tool calibration method in some embodiments.
Fig. 3 shows a schematic diagram of a plurality of correction points on a correction plate in some embodiments.
Fig. 4 shows a schematic of a rectangular path on a correction plate in some embodiments.
Fig. 5 shows a perspective view of a correction plate in some embodiments.
FIG. 6 illustrates a schematic diagram of finding an intersection between multiple straight line equations in some embodiments.
FIG. 7 shows a flow chart of further steps of a robot tool calibration method in some embodiments.
FIG. 8A illustrates a schematic diagram of an interrupting light beam Ly in some embodiments
FIG. 8B illustrates a schematic of a vertical distance difference in some embodiments.
Fig. 9A shows a flow chart of further steps of a robot tool calibration method in other embodiments.
Fig. 9B shows a schematic diagram of the robot tool correction system 1 in other embodiments.
Fig. 9C shows a schematic of a rectangular path on a correction plate in other embodiments.
Fig. 9D shows a perspective view of a correction plate in other embodiments.
FIG. 10 illustrates a schematic diagram of the generation of tool vectors in some embodiments.
FIG. 11 shows a flow chart of further steps of a robot tool calibration method in other embodiments.
Fig. 12 shows a schematic diagram of correspondence between multiple coordinate systems in some embodiments.
The reference numerals are as follows:
1 mechanical arm tool correction system
10 Processor
11 Mechanical arm
111 Flange face
12 Machining tool
121 Tool center point
13 Video camera
14 Correction plate
141 A-141 c laser sensor
{ B }. Mechanical arm coordinate System
{ E }. Arm end coordinate System
{ T }, tool coordinate System
{ U }. User coordinate System
X B、YB、ZB triaxial coordinates of the robot arm coordinate System
S210-S250, S710-S730, S910-S950, S1110-S1140
PO, PX, PY correction points
B1 to B6, breaking point
Lx, ly, lz light beams
O: initial position
S, starting point
RR rectangular Path
XY_O correction center point
D height difference
L1-L6 straight line equation
PL: plane equation
CP, P1-P2 intersection point
Vertical vector
Dz vertical distance difference
Tool vector
Conversion matrix
Detailed Description
In the prior art, it often takes a lot of time and labor to perform correction of the processing tool, and since such correction often requires manual teaching of the robot arm (i.e., manual setting of the coordinate system), this causes a problem of poor accuracy. In view of this, the disclosure provides a method and a system for calibrating a robot tool, and a second-order calibration method for a robot tool, which first sets a coordinate system of a calibration plate, and detects a movement of a processing tool on the calibration plate by using a sensor on the teaching plate to detect a displacement offset and a rotation offset of the coordinate system of the processing tool relative to an end coordinate system of the arm, so as to effectively calibrate the processing tool disposed on the robot.
Referring to fig. 1A and 1B, fig. 1A is a schematic diagram of a robot tool correction system 1 in some embodiments, and fig. 1B is a block diagram of the robot tool correction system 1 in some embodiments. As shown in fig. 1A and 1B, the present invention discloses a robot tool calibration system 1 for calibrating a coordinate system used by a robot 11. In particular, different components on one robot arm 11 may be positioned using different coordinate systems, respectively, and different robot arms 11 may also use different coordinate systems, respectively. The robot tool calibration system 1 of the present disclosure mainly performs alignment calibration on the different coordinate systems to eliminate the positional deviation between the different coordinate systems, so that a user can perform a machining task with high precision requirements through the robot 11 with confidence.
Further, the robot tool calibration system 1 of the present disclosure performs alignment calibration between a robot coordinate system (i.e., represented by { B } in fig. 1A), an arm end coordinate system { E } and a tool coordinate system { T }, wherein the three-axis coordinates of the robot coordinate system { B } are represented by X B、YB、ZB, respectively, and the coordinate system used by the base of the robot 11 (i.e., the absolute coordinates in the space). Further, the arm end coordinate system { E } is a coordinate system used by a center point of a flange face (range) 111 of the robot arm 11 (i.e., a center point of the robot arm end), and the tool coordinate system { T } is a coordinate system used by the processing tool 12 provided on the robot arm 11. It should be noted that the flange 111, the robot arm coordinate system { B }, the arm end coordinate system { E }, and the tool coordinate system { T } are well known in the robot field, and will not be described herein.
In addition, the robot tool correction system 1 of the present disclosure mainly calculates a transformation matrix (i.e., homogeneous transformation matrix (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 positional deviation between the different coordinate systems.
As shown in fig. 1A and 1B, the robot tool correction system 1 of the present disclosure includes a robot 11, a processing tool 12, a camera 13, and a correction 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.
In this embodiment, the base of the robot 11 may be fixedly disposed on the machine plane, and the processing tool 12 is disposed on the flange 111 of the robot 11. In some embodiments, the robotic arm 11 may be any robotic arm having a machining process of links and joints (joints). In some embodiments, the machining tool 12 may be a welding tool or a jig, or the like. In addition, a tool center point (tool central point, TCP) 121 may be set on the tool 12 based on the manner in which the tool is used. Specifically, the tool center point 121 is a specific point on the machining tool 12 (e.g., a welding point of a welding tool or a clamping point of a jig, etc.) that is mainly used to perform a work, and may be set by a user of the robot arm 11. For ease of understanding, the following paragraphs will be described with reference to a single tool center point 121, however, one processing tool 12 is not limited to a single tool center point 121.
In the present embodiment, the robot arm 11 includes a processor 10 and a memory 15. The memory 15 stores instructions that the processor 10 executes to directly control the processing tool 12 or indirectly control the processing tool 12 through the robot 11. In some embodiments, the memory 15 may store a transformation matrix of the correspondence between the arm end coordinate system { E } and the robot arm coordinate system { B }. In some embodiments, the processor 10 may be implemented by a processing unit, a central processing unit, a computing unit, or the like. In some embodiments, the memory 15 may be implemented by a memory unit, a flash memory, a read-only memory, a hard disk, or any equivalent storage component, etc.
In the present embodiment, the camera 13 captures an image of the correction plate 14. In some embodiments, the camera 13 may be disposed beside the robot 11, and an image sensing area is established within the movement range of the robot 11. Further, the camera 13 mainly acquires an image in a three-dimensional space, and performs judgment analysis based on the image. In other words, the field of view of the entire camera 13 may be a three-dimensional space. Further, the camera 13 uses an image coordinate system, and a conversion matrix of the correspondence relationship between the image coordinate system and the robot arm coordinate system { B } has been stored in advance in the memory 15.
For example, the camera 13 creates a three-dimensional space from the photographed image to recognize coordinates of a specific object on the image coordinate system. Thus, the processor 10 converts this coordinate into a coordinate on the robot arm coordinate system { B } according to the conversion matrix between the image coordinate system and the robot arm coordinate system { B }.
It should be noted that the robot coordinate system { B } is determined after the robot 11 is manufactured. The image coordinate system is established by converting the manipulator coordinate system { B } as the basic coordinate system after the manipulator 11 and the camera 13 are both set. A conversion matrix recording the correspondence between the robot arm coordinate system { B } and the image coordinate system may be defined by the determined robot arm coordinate system { B } and image coordinate system to be stored in the memory 15 in advance. Thus, in the calibration procedure of the processing tool 12, the processor 10 can calculate the absolute position of any position in the image on the robot arm coordinate system { B } from the transformation matrix.
In some embodiments, the camera 13 may be implemented by various image extractors, such as a camera or a photosensitive device, for extracting the image of the correction plate 14 within a predetermined field of view (FoV). Although the camera 13 is illustrated as being disposed beside the robot arm 11, in other embodiments, the camera 13 may be disposed on the robot arm 11.
In this embodiment, the calibration plate 14 may include a plurality of laser sensors 141 a-141 b. In some embodiments, the calibration plate 14 may be any calibration plate 14 used to calibrate the robot 11. In some embodiments, the laser sensors 141 a-141 b may be any light-blocking laser sensor (photointerrupter sensor) that can emit a beam of visible light or invisible light, such as X-ray, laser, infrared, ultraviolet, etc., but are not limited thereto.
In some embodiments, the laser sensors 141 a-141B may be disposed at the edge of the calibration plate 14 and on the same plane (i.e., the same height), the laser sensors 141 a-141B may emit light beams Lx, ly, respectively, the light beams Lx, ly generated by the laser sensors 141 a-141B may be perpendicular to each other and perpendicular to the coordinate axis Z B of the robot arm coordinate system { B }, wherein the light beams Lx, ly are located on the same plane, the normal vector of the plane is parallel to the coordinate axis Z B, and the intersection point between the light beams Lx, ly is the calibration center point xy_o of the calibration plate 14. Although 2 laser sensors 141 a-141 b are exemplified here, more laser sensors 141 a-141 b may be provided in practical applications. In other embodiments, the beams Lx and Ly generated by the laser sensors 141 a-141 b may be different from each other, and the intersection point between the beams Lx and Ly only needs to be at the position of the correction center xy_o of the correction plate 14.
In some embodiments, when the robot 11 drives the tool 12 to move so that the tool 12 interrupts the beam generated by any one of the laser sensors 141 a-141B, any one of the laser sensors 141 a-141B may transmit an interrupt signal to the processor 10, and the processor 10 may record the coordinates of the center point of the flange face 111 at the moment of generating the interrupt signal on the robot coordinate system { B }.
The six axis calibration of the machining tool 12 achieved with the calibration plate 14 will be further described below. Referring also to fig. 2, fig. 2 illustrates a flow chart of a robot tool calibration method in some embodiments. The components of the robot tool calibration system 1 of fig. 1A are used to execute steps S210 to S250 in the robot tool calibration method. As shown in fig. 2, 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 coordinate system and a calibration center coordinate of the laser sensors 141A-141 b on the calibration plate 14 (for example, the position of the intersection between the laser sensors 141A-141 b is taken as an example in fig. 1A) are identified by a visual identification process from the image of the calibration plate 14.
In some embodiments, the visual recognition process includes recognizing the image of the calibration plate 14 using computer vision (computer vision) to generate a transformation matrix of the correspondence between the user coordinate system and the robot coordinate system { B }, and storing the transformation matrix. Thereby, the above stored transformation matrix can be used for transforming between these coordinate systems. In some embodiments, a plurality of correction points can be identified according to the image of the correction plate 14 based on the image coordinate system, and at least two vectors can be calculated based on the plurality of points, so as to calculate the origin of the user coordinate system and the directions of the three axes according to the at least two vectors.
The identification of the user coordinate system will be described below as a practical example. Referring also to fig. 3, fig. 3 shows a schematic diagram of a plurality of correction points on the correction plate 14 in some embodiments. As shown in fig. 3, the correction plate 14 has correction points PO, PX, PY thereon. Therefore, the origin of the user coordinate system and the directions of the three axes can be calculated based on the image coordinate system from the vector from the correction point PX to the correction point PO and the vector from the correction point PY to the correction point PX in the image of the correction plate 14.
In step S220, the robot 11 is driven to move the end of the robot (i.e. the flange 111) along the rectangular path RR (as shown in fig. 4) on the calibration plate 14. In some embodiments, the coordinates of the flange face 111 in space and the rectangular path RR (shown in fig. 4) may be preset by the user on the calibration plate 14. In step S230, when the processing tool 12 blocks the light beams Lx and Ly generated by the laser sensors 141a to 141b, a plurality of first blocking signals are generated by the laser sensors 141a to 141b, and a plurality of first blocking coordinates of the robot arm end when the plurality of first blocking sensing signals are generated are recorded.
The movement of the flange surface 111 along the rectangular path RR on the correction plate 14 will be described below as a practical example. Referring collectively to fig. 4 and 5, fig. 4 shows a schematic view of a rectangular path RR on the correction plate 14 in some embodiments, and fig. 5 shows a perspective view of the correction plate 14 in some embodiments. As shown in fig. 4 and 5, the initial position O of the calibration plate 14 may be set first, and the coordinates of the initial position O on the robot arm coordinate system { B } may be stored. Next, the rectangular path RR and the start point of the rectangular path RR may be set in the image captured by the camera 13, and the coordinates of the rectangular path RR and the start point of the rectangular path RR in the image coordinate system may be converted to the robot arm coordinate system { B }, and the coordinates of the rectangular path RR in the horizontal plane direction on the robot arm coordinate system { B } and the coordinates of the start point S of the rectangular path RR in the horizontal plane direction on the robot arm coordinate system { B } may be stored.
Thus, the robot arm 11 may 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 should be noted that, although the initial position O is set here, in practical application, the initial position O may be any point on the correction plate 14. Next, the coordinates of the start 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 may be converted into coordinates of the flange surface 111 in the horizontal plane direction to be moved on the robot arm coordinate system { B }. In this way, the driving robot 11 drives the flange 111 to move along the coordinates of the rectangular path RR from the coordinates of the start point S of the rectangular path RR according to the converted coordinates.
Further, in fig. 4 and 5, 2 laser sensors 141a to 141b are taken as an example. The 2 laser sensors 141 a-141 b can generate light beams Lx, ly, wherein the intersection point between the light beams Lx, ly is the correction center point xy_o of the correction plate 14.
Referring to fig. 1A, when the flange 111 moves, the processing tool 12 blocks the light beams Lx and Ly at the blocking points B1 to B4 to generate 4 blocking signals from the laser sensors 141A to 141B. Then, the coordinates of the flange surface 111 at the time points of generating the 4 blocking signals of the blocking points B1 to B4 may be taken as the 4 first blocking coordinates (based on the robot arm coordinate system { B }).
Referring to fig. 1A and fig. 2, in step S240, a plurality of first straight-line equations are calculated based on the first occlusion coordinates, and a first intersection coordinate is calculated according to the first straight-line equations. In some embodiments, one of the plurality of first straight-line equations may be calculated from two of the plurality of first occlusion coordinates (i.e., 2 points form a 1-line). For example, as shown in fig. 4, 2 first linear equations may be calculated according to the 4 first occlusion coordinates.
In some embodiments, a plane equation may be calculated based on one of the first linear equations and the vertical coordinate axis Z B on the robot frame { B }, and a first intersection coordinate on the robot frame { B } may be calculated based on the plane equation and the remaining one of the first linear equations.
For example, referring to fig. 1A, 6 and 12, fig. 6 shows a schematic diagram for finding the intersection point CP between the straight-line equations L1-L2 in some embodiments. As shown in FIG. 6, the pseudo design calculates 2 first linear equations L1-L2 on the robot coordinate system { B }, and converts the vertical coordinate axes on the user coordinate system { U } into vertical vectors on the robot coordinate system { B }Then, from the straight line equation L2 and the vertical vectorThe plane equation PL is calculated, and the intersection point CP between the plane equation PL and the straight line equation L1 is calculated. Finally, the first intersection point coordinates of the intersection point CP on the robot arm coordinate system { B } are recorded.
In step S250, a displacement offset parameter of the tool center point 121 of the processing tool 12 relative to the end of the robot arm (i.e., a first displacement offset parameter for performing a displacement offset calculation to complete the rough calibration stage) is calculated according to 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. In some embodiments, the triaxial offset (i.e., the offset in the direction of coordinate axis X B、YB、ZB) between the transformed corrected center coordinate and the transformed first intersection coordinate may be calculated, and then used as a displacement offset parameter. At this time, the triaxial offset is an offset vector between the flange face 111 and the tool center point 121, and the offset vector can be used as a displacement offset parameter.
Referring to fig. 1A and 7, fig. 7 is a flowchart illustrating further steps of a robot tool calibration method in some embodiments. As shown in FIG. 7, in some embodiments, after step S250 of FIG. 2 is performed, steps S710-S730 of FIG. 7 may be further performed.
First, in step S710, the manipulator arm 11 is driven to move the manipulator arm end to the first intersection point coordinate, and the manipulator arm 11 is driven to move the manipulator arm end along the vertical direction (i.e., the direction of the coordinate axis Z B). In step S720, when the processing tool 12 does not block the beam generated by one of the laser sensors 141 a-141B, a restoration-blocking signal is generated by one of the laser sensors 141 a-141B, and the coordinates of the robot end (based on the robot standard { B }) when the restoration-blocking signal is generated are used as the new first intersection coordinates. In step S730, the displacement offset parameter is updated according to the new first intersection point coordinate. In some embodiments, the offset of the direction of coordinate axis Z B in the displacement offset parameter may be adjusted according to the new first intersection coordinate. At this time, the origin of the tool coordinate system { T } can be adjusted more precisely.
The calculation of the new first intersection point coordinates will be described below as an actual example. Referring to fig. 1A, 8A and 8B, fig. 8A illustrates a schematic view of the blocking light beam Ly in some embodiments, and fig. 8B illustrates a schematic view of the vertical distance difference dz in some embodiments. As shown in fig. 8A and 8B, first, the flange surface is moved to the first intersection point coordinate on the robot arm standard { B } at this time, and the processing tool 12 blocks the light beam Ly. However, the height of the tool center point 121 may be different from the correction center coordinates of the correction plate 14. Based on this, a vertical distance difference dz (i.e., the distance at which the beam Ly is not interrupted) can be shifted in the vertical direction of the robot arm system { B }. Thus, the coordinates of the flange surface 111 on the robot arm coordinate system { B } at this time can be used as the new first intersection coordinates. In this way, the vertical offset in the displacement offset parameter can be shifted up. At this time, the height of the tool center point 121 may be almost the same as 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 face 111 is moved to the new first intersection point coordinate on the robot arm coordinate system { B } is close to the correction center coordinate of the correction plate 14.
Referring to fig. 1A and 9A, fig. 9A is a flowchart illustrating further steps of a robot tool calibration method in other embodiments. As shown in FIG. 9A, after step S730 (shown in FIG. 7) is performed, steps S910-S950 of FIG. 9A may be further performed.
First, in step S910, the vertical height of the robot arm end (i.e. the height of the coordinate axis Z B on the robot arm coordinate system { B }) is adjusted according to the new first intersection point coordinate, and the robot arm 11 is driven to move the robot arm end along the rectangular path RR on the calibration plate 14. In some embodiments, the robot 11 may be driven to increase the vertical distance difference dz (as shown in FIG. 8B) by the height of the flange 111 in the direction of coordinate axis Z B on the robot coordinate system { B }.
Referring to fig. 9A-9D, fig. 9B shows a schematic diagram of a robot tool calibration system 1 in other embodiments, fig. 9C shows a schematic diagram of a rectangular path RR on a calibration plate 14 in other embodiments, and fig. 9D shows a perspective view of the calibration plate 14 in other embodiments. As shown in fig. 9B to 9D, the 3 rd laser sensor 141c may be further disposed on the calibration plate 14, and a height difference D is formed between the laser sensor 141c and the laser sensor 141B, and the light beam Lz generated by the laser sensor 141c is perpendicular to the coordinate axis Z B on the robot arm coordinate system { B }.
Furthermore, the movement along the rectangular path RR on the correction plate 14 can be performed in the same way as described above with reference to fig. 4. The difference here is only that the height of the flange surface 111 in the direction of the coordinate axis Z B on the robot arm coordinate system { B } is different. Therefore, the remaining same portions are not described in detail.
In step S920, when the processing tool 12 blocks the light beams Lx, ly, lz generated by the laser sensors 141a to 141c, a plurality of second blocking signals are generated by the laser sensors 141a to 141c, and a plurality of second blocking coordinates of the robot arm end when the plurality of second blocking sensing signals are generated are recorded. As shown in fig. 9B to 9D, 6 interrupt signals of 6 interrupt points B1 to B6 are generated in the light beams Lx, ly, lz, and 6 coordinates of the robot arm end when the 6 interrupt signals are generated are recorded as second interrupt coordinates. Since the flange surface 111 has different heights in the vertical direction on the robot arm coordinate system { B }, the coordinates of the blocking points B1 to B4 are different from the first blocking coordinates in fig. 4.
In step S930, the manipulator 11 is driven to move the manipulator end to a position corresponding to the displacement offset parameter (i.e. the position of the origin on the current tool coordinate system { T } on the manipulator coordinate system { B }), and the manipulator 11 is driven to rotate the manipulator end by a first rotation angle with respect to the vertical direction (i.e. the direction of the Z B coordinate axis), so as to drive the manipulator 11 to move the manipulator end along the rectangular path RR on the calibration plate 14. In some embodiments, the first angle of rotation may be 90 degrees.
In step S940, when the processing tool 12 blocks the light beams Lx, ly, lz generated by the laser sensors 141a to 141c, a plurality of third blocking signals are generated by the laser sensors 141a to 141c, and a plurality of third blocking coordinates of the robot arm end when the plurality of third blocking sensing signals are generated are recorded. As shown in fig. 9B to 9D, the rectangular path RR on the correction plate 14 can be moved again along in the same manner as described above to block the light beams Lx, ly, lz. The difference here is that the posture (posture) of the robot 11 is different at this time, and only 2 blocking signals for generating 2 blocking points B5 to B6 at the light beam Lz are obtained to generate 2 new blocking coordinates (i.e., the third blocking coordinates). Therefore, the remaining same portions are not described in detail.
In step S950, a tool vector is calculated based on the second and third occlusion coordinates, and a rotational offset parameter of the tool coordinate system { T } of the processing tool 12 relative to the robot coordinate system { B } is calculated according to the tool vector (i.e., a rotational offset calculation is performed to complete the fine calibration phase).
In some embodiments, a plurality of second straight-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 a plurality of second straight line equations, and a tool vector is calculated according to the second intersection point coordinate and the third intersection point coordinate.
The second straight line equation is described below as a practical example. As shown in fig. 9B to 9D, the 4 second blocking coordinates generated by the light beams Lx, ly may be at the same height of the robot arm coordinate system { B }, and the 2 second blocking coordinates and the 2 third blocking coordinates generated by the light beam Lz may also be at the same first height of the robot arm coordinate system { B }. Thus, 2 second straight-line equations in the X B、YB direction on the robot arm coordinate system { B } can be calculated from the 4 second interrupt coordinates generated by the light beams Lx, ly, and the second intersection point coordinates between these 2 second straight-line equations of the first height can be calculated by the same method as the calculation of the first intersection point coordinates described above.
Then, 1 second straight line equation of the second height (greater than the first height) in the Y B direction on the robot arm coordinate system { B } can be calculated based on the 2 second interrupt coordinates generated by the light beam Lz. In addition, 1 straight line equation of the second height in the Y B direction on the robot arm coordinate system { B } can be calculated based on the 2 third interrupt coordinates generated by the light beam Lz, and rotated by 90 degrees on the robot arm coordinate system { B } to generate 1 second straight line equation of the second height in the X B direction on the robot arm coordinate system { B }. In this way, the third intersection point coordinate between the 2 second straight line equations of the second height can be calculated by the same method as that for calculating the first intersection point coordinate.
The generation of the tool vector is described below as a practical example. Referring also to FIG. 10, FIG. 10 illustrates tool vectors in some embodimentsIs described. As shown in fig. 10, an intersection point P1 can be calculated between the straight-line equations L3 and L4 of the first height, and an intersection point P2 can be calculated between the straight-line equations L5 and L6 of the second height. Then, the intersection points P1-P2 can be respectively converted to a second intersection point coordinate and a third intersection point coordinate on the mechanical arm coordinate system { B }. Thereby, a tool vector between the second intersection point coordinate and the third intersection point coordinate can be calculatedTool vectorMay be used as the Z direction of the tool center point 121. Then, the processing vector can be used for processingThe Y direction of the tool center point 121 is generated by taking an outer product of the X B coordinate axis of the machine coordinate system { B }, and the Y direction of the tool center point 121 is generated by taking an outer product of the machining vector. Then, a triaxial rotation offset (i.e., an offset of triaxial rotation amounts Rx, ry, rz) between the triaxial direction of the tool center point 121 (X, Y, Z directions described above) and the triaxial of the robot arm coordinate system { B } may be calculated, and the triaxial rotation offset may be used as a rotation offset parameter. At this time, the three axes of the tool coordinate system { T } have been determined from the coordinate axis X B、YB、ZB of the robot arm coordinate system { B } and the rotation offset parameter (i.e., the directions of the three axes of the tool coordinate system { T } in the robot arm coordinate system { B } are determined).
Referring to fig. 1A, 9C and 11, fig. 11 is a flowchart illustrating further steps of a robot tool calibration method in other embodiments. As shown in FIG. 11, after step S950 (shown in FIG. 9A) is performed, steps S1110-S1140 of FIG. 11 may be further performed.
First, in step S1110, the manipulator 11 is driven to move the manipulator end to a position corresponding to the displacement parameter, and the manipulator 11 is driven to rotate the manipulator end by a plurality of second rotation angles based on the three axis directions corresponding to the rotation parameter, so that the manipulator 11 is driven to move the manipulator end along the rectangular path RR. In some embodiments, the flange face 111 may be moved to the first intersection point coordinates described above. Then, the origin of the tool coordinate system { T } is calculated according to the position and displacement offset parameters of the flange surface 111, and the directions of the three axes of the tool coordinate system { T } are calculated according to the robot arm coordinate system { B } and the rotation offset parameters, so that the flange surface 111 is rotated by 3 second rotation angles (i.e., each axis is rotated by one second rotation angle) based on the directions of the three axes of the tool coordinate system { T }. In other embodiments, the second rotation angle may be rotated by 3 or more. In some embodiments, the second rotation angle may be preset by the user (e.g., 90 degrees). Further, as shown in fig. 4, it is possible to move again along the rectangular path RR on the correction plate 14 in the same manner as described above. The only difference here is that the flange face 111 has now been rotated further. Therefore, the remaining same portions are not described in detail.
In step S1120, when the processing tool 12 blocks the light beams Lx, ly, lz generated by the laser sensors 141a to 141c, a plurality of fourth blocking signals are generated by the laser sensors 141a to 141c, and a plurality of fourth blocking coordinates of the robot arm end when the fourth blocking signals are generated are recorded. As shown in fig. 9B to 9D, 6 blocking signals of 6 blocking points B1 to B6 are generated in the light beams Lx, ly, lz. Since the flange surface 111 has been rotated at this time, a plurality of new cutoff coordinates (i.e., fourth cutoff coordinates) can be detected. Further, 4 blocking coordinates of the 4 blocking signals of the blocking points B1 to B4 are taken as 4 fourth blocking coordinates, and 2 third linear equations are calculated in the same manner as described above.
In step S1130, a plurality of third line equations are calculated based on the fourth interrupt coordinates, and a fourth intersection coordinate is calculated based on the third line equations. As shown in fig. 6, the coordinates of the intersection point between 2 third straight-line equations can be calculated in the same manner, and this coordinates can be taken as fourth intersection point coordinates.
In step S1140, a new displacement offset parameter (i.e., a second displacement offset parameter, which can be regarded as a fine calibration stage, is calculated) of the tool center point 121 of the processing tool 12 relative to the end of the robot arm according to the calibration center coordinate and the fourth intersection coordinate, and the displacement offset parameter is updated according to the new displacement offset parameter. The manner of calculating the new displacement offset parameter is the same as the manner of generating the displacement offset parameter, and therefore, the description thereof will not be repeated. In some embodiments, a tri-axial average between the new displacement offset parameter and the displacement offset parameter may be calculated (i.e., an average of the new displacement offset parameter and each of the axis offsets in the displacement offset parameter is calculated), and the tri-axial average is used as the displacement offset parameter (i.e., the step of updating described above). In some embodiments, the steps S1110 to S1140 are continuously performed until a predetermined number of iterations is reached. Thus, a more accurate displacement offset parameter can be calculated. It should be noted that when the number of second rotation angles is greater than 3, the application range and the accuracy of the processing tool 12 (i.e., the accuracy of the displacement offset parameter is greatly improved) can be greatly improved.
Through the steps, the offset parameter of the origin of the tool coordinate system { T } relative to the origin of the arm end coordinate system { E } and the rotational offset parameter 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 } on the robot arm coordinate system and the directions (absolute position and absolute direction) of the three axes can be identified by using the offset parameter and the rotational offset parameter. Thus, a transformation matrix of the correspondence relationship between the tool coordinate system { T } and the arm end coordinate system { E } can be calculated from the origin of the tool coordinate system { T } and the directions of the three axes.
The correspondence between the coordinate systems is further described below. Referring collectively to fig. 12, fig. 12 shows a schematic diagram of correspondence between multiple coordinate systems in some embodiments. As shown in fig. 12, the robot arm 11 uses a robot arm coordinate system { B }, the flange face 111 uses a robot arm end coordinate system { E }, the tool center point 121 of the processing tool 12 uses a tool coordinate system { T }, and the correction plate 14 uses a user coordinate system { U }. First, a conversion matrix between the robot arm coordinate system { B } and the arm end coordinate system { E } can be stored in advanceThen, the conversion matrix can be identified in step S210 of fig. 2And utilize the conversion matrixA user coordinate system { U } is established from the robot coordinate system { B }.
Next, the rest steps are to calculate the offset parameter and the rotation offset parameter between the arm end coordinate system { E } and the tool coordinate system { T }, and calculate the transformation matrix between the arm end coordinate system { E } and the tool coordinate system { T }, from the offset parameter and the rotation offset parameterIn the present disclosure, the shift offset parameter and the rotation shift offset parameter are used to calculate the conversion matrixTo correct for the tool center point 121 of the machining tool 12. Thus, when the processing on the production line is actually performed, the conversion matrix can be utilizedThe origin of the tool coordinate system { T } and the three axis directions are immediately known, and the machining of the robot arm 11 is more accurately controlled.
In summary, by the method and system for calibrating a tool of a robot arm according to the present disclosure, the absolute position and the absolute direction of the tool center point on the currently configured tool on the robot arm coordinate system can be obtained by using the laser sensor on the calibration plate, so that the robot arm can control the tool more accurately, thereby eliminating the tolerance during the tool manufacturing, the deviation during the assembly, or the error generated after the tool is worn. In addition, a sample of the processing tool is not required to be established, and possible deviation values are eliminated, so that the correction precision is further improved. On the other hand, the second-order correction method of the robot arm disclosed by the invention is divided into two stages of coarse correction and fine correction. In detail, in the rough calibration stage, the displacement offset of the relative position can be calculated on the calibration plate using the machining tool. In the fine calibration stage, several different poses of the tool can be changed to perform multi-pose positioning on the calibration plate. Therefore, the technical problem that the correction accuracy of the past robot arm is not high enough is solved.
While particular embodiments of the present disclosure have been disclosed in connection with the embodiments described above, such embodiments are not intended to limit the disclosure. Various substitutions and modifications may be made by those of ordinary skill in the relevant art in the present disclosure without departing from the principles and spirit of the present disclosure. Accordingly, the scope of protection of the present disclosure is defined by the appended claims.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310881730.6A CN119328733A (en) | 2023-07-18 | 2023-07-18 | Robot arm tool calibration method, system and second-order calibration method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310881730.6A CN119328733A (en) | 2023-07-18 | 2023-07-18 | Robot arm tool calibration method, system and second-order calibration method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN119328733A true CN119328733A (en) | 2025-01-21 |
Family
ID=94262790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310881730.6A Pending CN119328733A (en) | 2023-07-18 | 2023-07-18 | Robot arm tool calibration method, system and second-order calibration method thereof |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN119328733A (en) |
-
2023
- 2023-07-18 CN CN202310881730.6A patent/CN119328733A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12162167B2 (en) | Method of teaching robot and robot system | |
CN108453701B (en) | Method for controlling robot, method for teaching robot, and robot system | |
JP6280525B2 (en) | System and method for runtime determination of camera miscalibration | |
JP6429473B2 (en) | Robot system, robot system calibration method, program, and computer-readable recording medium | |
EP3221095B1 (en) | Robot and robot system | |
JP2020116734A (en) | System and method for automatic hand-eye calibration of vision system for robot motion | |
CN112894823B (en) | Robot high-precision assembling method based on visual servo | |
US20110029131A1 (en) | Apparatus and method for measuring tool center point position of robot | |
CN106217372A (en) | Robot, robot controller and robot system | |
US11565422B2 (en) | Controller of robot apparatus for adjusting position of member supported by robot | |
JP2008012604A (en) | Measuring apparatus and method of its calibration | |
US20200262080A1 (en) | Comprehensive model-based method for gantry robot calibration via a dual camera vision system | |
JP6565175B2 (en) | Robot and robot system | |
JP2020116717A (en) | Robot control system | |
KR20190099122A (en) | Method for restoring positional information of robot | |
JP5471131B2 (en) | Electronic component mounting apparatus and camera position correction method in electronic component mounting apparatus | |
CN114945450A (en) | Robot System | |
CN113625659B (en) | Control method and device of hole making mechanism, electronic equipment and hole making mechanism | |
CN119328733A (en) | Robot arm tool calibration method, system and second-order calibration method thereof | |
TWI860784B (en) | Method and system for calibrating a tool on a robotic arm and two-class method for calibrating a tool on a robotic arm | |
TW202504736A (en) | Method and system for calibrating a tool on a robotic arm and two-class method for calibrating a tool on a robotic arm | |
JP6507792B2 (en) | Robot and robot system | |
CN111716340B (en) | Correction device and method for coordinate system of 3D camera and robotic arm | |
JP3562096B2 (en) | Position detection method | |
CN114571199A (en) | Screw locking machine and screw positioning method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |