Calibration method for robot arm

The calibration method sets tray corners as origins and calculates X, Y, Z, W, P, R coordinates to enable accurate, cost-effective, and teaching-less operation of robot arms on inclined trays, addressing accuracy and cost issues in existing methods.

JP2025110229APending Publication Date: 2025-07-28MATSUMOTO KIKAI KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024004043
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-15
Publication Date
2025-07-28

AI Technical Summary

Technical Problem

Existing robot arm calibration methods face issues with poor accuracy, operational restrictions due to camera dependency, increased manufacturing costs, and time-consuming teaching processes, especially when gripping objects on trays with multiple marks on the same plane.

Method used

A calibration method that sets one corner of a tray as the origin, calculates the X, Y, Z, W, P, R coordinates of three corners, defines a plane as the X-Y plane, and sets the origin to (0, 0, 0, 0, 0) in tool coordinates, allowing direct contact-based calculation of X, Y, Z coordinates, eliminating the need for teaching and improving accuracy.

Benefits of technology

Enables accurate operation of the robot hand without teaching, reduces manufacturing costs, and enhances calibration precision by directly calculating X, Y, Z coordinates through contact, even when the tray surface is inclined.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025110229000001_ABST
    Figure 2025110229000001_ABST
Patent Text Reader

Abstract

To provide a calibration method for a robot arm that grips a target object on a tray, where the calibration method exhibits particularly high accuracy and requires no teaching.SOLUTION: This calibration method includes steps of: calculating X, Y, Z, W, P, and R coordinates of three corner portions A-C among four corner portions A-D of a tray 10 surface in a three-dimensional orthogonal coordinate system (X, Y, Z) with a horizontal plane as an X-Y plane; determining one of the three corner portions as an origin; defining a plane including the three corner portions and defining this plane as the X-Y plane and defining a user coordinate in which the coordinates of the origin are (X, Y, Z, W, P, R)=(0, 0, 0, 0, 0, 0); and setting the origin coordinates (X, Y, Z, W, P, R)=(0, 0, 0, 0, 0, 0) of the user coordinate to (0, 0, 0, 0, 0, 0) of a tool coordinate, where even if the tray surface is inclined with respect to the horizontal plane, a robot hand 101 can be operated based on the tool coordinate considering the inclination of the tray.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a calibration method for a robot arm that grips an object to be gripped arranged on a tray, and more particularly to a calibration method for a robot arm that is highly accurate and does not require teaching.

Background Art

[0002] In a picking operation of gripping an object to be gripped such as a workpiece or a claw arranged on a tray with a robot hand at the tip of a robot arm, coordinates such as world coordinates and tool coordinates (hereinafter referred to as "robot coordinates") that serve as the basis for robot control, and It is necessary to obtain the relationship with the coordinates indicating the position of each object to be gripped on the tray (hereinafter referred to as "user coordinates (coordinates of the workpiece)") by calibration. For example, Patent Document 1 includes a fixed camera, a hand camera attached to a robot hand, and a plurality of marks attached to a table on which workpieces are arranged. First measurement data obtained by photographing each mark with the fixed camera, and A method for calculating a calibration function of a command value given to a robot arm using second measurement data obtained by photographing each mark with a hand camera is disclosed.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, when taking pictures of marks with a camera attached to a robot hand as in the above prior art, since multiple marks exist on the same plane, there are problems such as poor accuracy as a calibration method for user coordinates represented in three dimensions, the problem that the operation of the robot hand is restricted by the camera, and the problem that the manufacturing cost increases by preparing a camera for calibration.

[0005] In addition, the robot arm can move the tool (such as a robot hand) at the tip along the axes (X-axis, Y-axis, Z-axis) of three-dimensional orthogonal coordinates and can also rotate around each of the X, Y, and Z axes. Therefore, the coordinates represent the position information and orientation information of the tool in the XYZWPR format. Since the position and orientation of the tool are represented by six variables of X, Y, Z, W, P, and R, the user cannot intuitively understand the position and orientation of the tool, and there is also a problem that teaching takes time.

[0006] In view of the above problems, the present invention relates to a calibration method for a robot arm that grips an object to be gripped arranged on a tray, and particularly aims to provide a calibration method for a robot arm that is highly accurate and does not require teaching.

Means for Solving the Problems

[0007] The calibration method of the robot arm of the present invention is a calibration method of the robot arm when gripping an object to be gripped arranged on the surface of a tray in a rectangular shape in plan view with a robot hand at the tip of the robot arm. When defining three-dimensional orthogonal coordinates (X, Y, Z) with the horizontal plane as the X-Y plane, the steps of calculating the X, Y, Z, W, P, R coordinates of three of the four corner parts of the surface of the tray, the step of determining one of the three corner parts with the calculated X, Y, Z, W, P, R coordinates as the origin, defining a plane including the three corner parts with the calculated X, Y, Z, W, P, R coordinates, and defining user coordinates with this plane as the X-Y plane and the coordinates of the origin as (X, Y, Z, W, P, R) = (0, 0, 0, 0, 0, 0), and the step of setting the coordinates (X, Y, Z, W, P, R) = (0, 0, 0, 0, 0, 0) of the origin in the user coordinates to the position of (0, 0, 0, 0, 0, 0) in the tool coordinates, which is characterized by comprising these steps. Also, when defining three-dimensional orthogonal coordinates (X, Y, Z) with the horizontal plane as the X-Y plane, the robot hand is moved in the directions of X, Y, and Z from each direction to the direction of the corner part, and the position where the torque value of the drive motor of the robot arm increases due to a part of the robot hand coming into contact with the corner part is calculated as the X, Y, and Z coordinates of the corner part, which is characterized by this.

Effect of the Invention

[0008] In the present invention, one of the four corner parts of a tray in a rectangular shape in plan view is set as the origin, and the X, Y, Z, W, P, R coordinates of the corner part of the origin and the other two corner parts are calculated. Then, a plane including these three corner parts is defined, and work coordinates are defined with this plane as the X-Y plane and the coordinates of the origin as (X, Y, Z, W, P, R) = (0, 0, 0, 0, 0, 0). Then, the coordinates (X, Y, Z, W, P, R) = (0, 0, 0, 0, 0, 0) of the origin are set to the position of (0, 0, 0, 0, 0, 0) in the tool coordinates.

[0009] In this way, a workpiece coordinate system is defined with the origin being (X, Y, Z, W, P, R) = (0, 0, 0, 0, 0, 0) based on the X, Y, Z, W, P, R coordinates of the three corners. By setting the tool coordinate system according to this workpiece coordinate system, even when the surface of the tray is inclined with respect to the horizontal plane, the robot hand can be operated based on the tool coordinate system considering the inclination of the tray surface. That is, it becomes possible to treat all the posture coordinates W, P, R around the X, Y, and Z axes as zero, and the user can intuitively understand the position and posture of the tool. As a result, when the user inputs the position of the workpiece to be gripped on the tray to make the robot hand pick it up, it is only necessary to set the coordinates of X, Y, and Z. The teaching to the robot hand that was conventionally required becomes unnecessary, and a so-called teaching-less robot hand system can be constructed.

[0010] When calculating the X, Y, Z coordinates of the corner, a method of bringing a part of the robot hand into contact with the corner and obtaining the position where the torque value of the drive motor increases may be adopted. Since the existing mechanism provided in the robot hand system can be utilized, the cost can be suppressed. Also, compared with the method of photographing a mark with a camera attached to the robot hand as in the prior art, in the present invention, the X, Y, Z coordinates are calculated by the direct means of bringing a part of the robot hand into contact with the corner, so the calibration accuracy can be improved.

Brief Description of the Drawings

[0011]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Mode for Carrying Out the Invention

[0012] The calibration method of the robot arm of the present invention (hereinafter, may be simply referred to as "calibration method") will be described. As shown in FIGS. 1 and 2, the calibration method of the present invention is performed to accurately grip the object 20 (FIG. 2) arranged on the surfaces of the trays 10, 11, and 12 that are rectangular in plan view with the robot hand 101 at the tip of the robot arm 100.

[0013] The robot arm 100 is provided with a robot hand 101 at its tip, and its driving is controlled by a computer C as shown in FIG. 3. The robot arm refers to an industrial robot that can reproduce the movement of a human arm by combining a plurality of links and joints, and is also called a vertical articulated robot. Although a robot arm with 6-axis operation that combines two links and three joints is common, it is not limited to this.

[0014] The computer C includes a drive control unit 200, a storage unit 201, etc. The computer C is comprehensively controlled by the drive control unit 200 reading out various programs and various information stored in the storage unit 201 and appropriately executing them. The robot arm 100 and the robot hand 101 are equipped with drive motors 202, 203 (servo motors), and the drive control unit 200 operates the robot arm 100 and the robot hand 101 by controlling the drive of the drive motors 202, 203 based on a program. The drive control unit 200 may be composed of a single control unit or a plurality of control units. For example, a Programmable Logic Controller (PLC) may be used as the drive control unit 200.

[0015] As shown in FIG. 2, a plurality of trays 10, 11, 12 are stored in the cabinet 300, and an object to be gripped 20 such as a workpiece is placed on the surface of each tray 10, 11, 12. The cabinet 300 may be covered with a cover. With the upper tray 10 pulled out from the cabinet 300, the robot hand 101 grips each object to be gripped 20 and moves it to a predetermined position. Alternatively, the robot hand 101 grips a workpiece in a state where processing is completed and attached to the chuck of the processing apparatus and arranges it on the trays 10, 11, 12. After the movement of the object to be gripped 20 on the upper tray 10 is completed, the same operation is performed on the middle and lower trays 11, 12.

[0016] When a three-dimensional orthogonal coordinate system (X, Y, Z) with the horizontal plane as the X - Y plane is defined as shown in FIG. 4, the surfaces of the trays 10, 11, 12 not only have different heights (Z coordinates), but also are inclined (rotated with respect to the X - axis, Y - axis, Z - axis) with respect to the horizontal plane (X - Y plane) on the order of 0.1 mm. Furthermore, each side of the trays 10, 11, 12 is non - parallel with respect to the X - axis and Y - axis. Note that, for ease of understanding, the inclination angle of the trays 10, 11, 12 with respect to the horizontal plane and the non - parallelism of each side of the trays 10, 11, 12 with respect to the X - axis and Y - axis are drawn larger than the actual values. In order to accurately grip the object 20 on the trays 10, 11, and 12 with the robot hand 101, it is necessary to obtain, through calibration, the relationship between the tool coordinate system that serves as a reference when controlling the drive of the robot hand 101 and the user coordinate system that indicates the position of the object 20 on the trays 10, 11, and 12. In the present invention, this is performed according to the following procedure.

[0017] First, as shown in FIGS. 5 and 10, X, Y, Z, W, P, and R of three of the four corners A to D of the rectangular tray 10 located in the upper stage in a plan view are calculated (step S101). In this description, X, Y, Z, W, P, and R of the front right corner A, the back right corner B, and the back left corner C are calculated. The method for calculating the X, Y, and Z coordinates is as follows. First, as shown in FIG. 6(a), the drive control unit 200 drives the robot arm 100 to bring the robot hand 101 closer to the corner A in the X direction. The drive of the robot arm 100 is automatically performed by the drive control unit 200 based on a program.

[0018] As described above, the robot arm 100 is connected to the drive motors 202 and 203. As shown in FIGS. 6(b) and (c), when a part of the robot hand 101 contacts the side AB extending in the Y direction among the two sides forming the corner A, the torque values of the drive motors 202 and 203 of the robot arm 100 increase due to the resistance, and the current value of the servo amplifier (not shown) also increases. The drive control unit 200 detects the increase in this current value (torque value), and based on the signal from the encoder (not shown) obtained at that timing, obtains the rotation angle of the drive motors 202 and 203, and calculates the X coordinate of the corner A where a part of the robot hand 101 has contacted. Here, it is assumed that the X coordinate of the origin A is 1.8. Note that the contact location between the robot hand 101 and the side is preferably as close to the corner as possible. Since the shape of the robot hand 101 is recorded in the storage unit 201 in advance as CAD data, if the contact location is known, the X coordinate of the corner A can be calculated by considering the difference from the contact location.

[0019] Similarly, as shown in Fig. 7(a), the robot arm 100 is driven with respect to the corner A, and the robot hand 101 is brought closer from the Y direction. Then, as shown in Figs. 7(b) and (c), the Y coordinate of the corner A is calculated by bringing a part of the robot hand 101 into contact with the side AD extending in the X direction among the two sides forming the corner A. Here, it is assumed that the Y coordinate of the corner A is 2.3. Furthermore, as shown in Fig. 8(a), the robot hand 101 is brought closer to the corner A from the Z direction, and the Z coordinate of the corner A is calculated by bringing a part of the robot hand 101 into contact with the surface of the tray 10 near the origin A as shown in Figs. 8(b) and (c). Here, it is assumed that the Z coordinate of the corner A is 3.1. Thus, the calculation of the X, Y, and Z coordinates of the corner A is completed. Here, it is assumed that the corner A(X, Y, Z) = (1.8, 2.3, 3.1). The same operation is also performed for the corners B and C to calculate the X, Y, and Z coordinates of the corners B and C. Here, it is assumed that the corner B(2.0, 5.1, 2.8) and the corner C(6.3, 4.8, 2.9).

[0020] The calculation of the W, P, and R coordinates is performed based on the X, Y, and Z coordinates of the corners A, B, and C. For example, as shown in Fig. 9, when the corner A(X, Y, Z) = (1.8, 2.3, 3.1) and the corner B(2.0, 5.1, 2.8), the length of the base of the right triangle is 2.8 and the height is 0.3, so θ = tan -1 (0.3 / 2.8) From the formula, the inclination angle θ of the plane with respect to A - B can be obtained. A-B Similarly, the angle θ B-C , the angle θ C-A By obtaining, W, P, and R can be calculated. Next, one of the three corners A to C for which the X, Y, Z, W, P, and R coordinates have been calculated is determined as the origin (step S102). In this description, the corner A is set as the origin. Note that it is also possible to first determine one of the three corners as the origin and then calculate the X, Y, Z, W, P, and R coordinates of the three corners.

[0021] Next, the drive control unit 200 defines a plane including three corner portions A to C for which the X, Y, Z, W, P, and R coordinates have been calculated, sets this plane as the X - Y plane, and defines a work coordinate system with the coordinates of the origin A being (X, Y, Z, W, P, R) = (0, 0, 0, 0, 0, 0) (step S103). That is, in the three - dimensional orthogonal coordinates (X, Y, Z) with the horizontal plane as the X - Y plane, the origin A is represented as (1.8, 2.3, 3.1), corner B as (2.0, 5.1, 2.8), and corner C as (6.3, 4.8, 2.9). In step 3, a plane including these three points A, B, and C is defined, this plane is set as the X - Y plane, and a work coordinate system with the coordinates of the origin A being (X, Y, Z, W, P, R) = (0, 0, 0, 0, 0, 0) is defined. In this case, the Z - axis extends in a direction perpendicular to the tray 10 passing through the origin A. Then, the drive control unit 200 sets the coordinates of the origin (X, Y, Z, W, P, R) = (0, 0, 0, 0, 0, 0) in the user coordinate system to the position of (0, 0, 0, 0, 0, 0) in the tool coordinate system (step S104).

[0022] According to the calibration method represented by the above steps S101 to S104, even when the surface of the tray 10 is inclined with respect to the horizontal plane, the robot hand 101 can be operated based on the tool coordinates considering the inclination of the surface of the tray 10. That is, it becomes possible to treat all the posture coordinates W, P, R around the X, Y, and Z axes in the tool coordinates as zero, and the user can intuitively understand the position and posture of the tool (robot hand 101) by looking at the coordinates. When the user wants the robot hand 101 to pick up the workpiece 20 on the tray 10, the user only needs to input the coordinates of X, Y, and Z when setting the position of the workpiece 20 to be gripped. For example, when the robot hand 101 is to grip a workpiece with a height of 90 mm placed at the position of (X, Y) = (50, 100) on the tray 10, even though the tray 10 is inclined with respect to the horizontal plane, the operator only needs to intuitively input (50, 100, 90, 0, 0, 0,) to the operation panel, so teaching the robot hand 101 becomes unnecessary. Similarly, when moving the workpiece gripped by the robot hand 101 to the position of (X, Y) = (50, 100) on the tray 10, the operator only needs to intuitively input (50, 100, 90, 0, 0, 0,) to the operation panel, and teaching the robot hand 101 becomes unnecessary. In addition, for example, when it is necessary to rotate the robot hand 101 by 90° to make it perpendicular to the tray 10, such as when the robot hand 101 grips a workpiece, it will be set to (0, 0, 0, 0, 90, 0,) etc. in the tool coordinates, but this setting work can be automated by a program. Therefore, the operator does not need to input the W, P, R coordinates to rotate the robot hand 101.

[0023] Also, perform the above calibration method for each of the middle and lower trays 11 and 12. As described above, each of the trays 10, 11, and 12 is used in a state pulled out from the cabinet 300, and after use, it is stored in the cabinet 300. The inclination angle of the trays 10, 11, and 12 with respect to the horizontal plane in the state pulled out from the cabinet 300 is always constant without change. That is, for example, the inclination angle of the middle tray 11 with respect to the horizontal plane when it is first pulled out is the same as the inclination angle with respect to the horizontal plane after it has been pulled out 10 times. Therefore, it is only necessary to perform the above calibration for each of the trays 10, 11, and 12 at the beginning of starting the use of the robot arm 100. However, when the cabinet 300 is moved to a different location, the inclination angles of the trays 10, 11, and 12 in the pulled-out state often change, so it is necessary to perform calibration again.

Industrial Applicability

[0024] The present invention relates to a calibration method for a robot arm that grips an object to be gripped arranged on a tray, and in particular, to a calibration method for a robot arm that is highly accurate and does not require teaching, and has industrial applicability.

Explanation of Signs

[0025] C Computer 10 Upper tray 11 Middle tray 12 Lower tray 20 Object to be gripped 100 Robot arm 101 Robot hand 200 Drive control unit 201 Storage unit 202 Drive motor 203 Drive motor 300 Cabinet

Claims

1. In a method for calibrating a robot arm when gripping an object to be gripped arranged on the surface of a rectangular tray in a plan view with a robot hand at the tip of the robot arm, when a three-dimensional orthogonal coordinate system (X, Y, Z) with the horizontal plane as the X-Y plane is defined, calculating the X, Y, Z, W, P, R coordinates of three of the four corner portions of the surface of the tray; determining one of the three corner portions with the calculated X, Y, Z, W, P, R coordinates as the origin; defining a plane including the three corner portions with the calculated X, Y, Z, W, P, R coordinates, and defining user coordinates with this plane as the X-Y plane and the coordinates of the origin as (X, Y, Z, W, P, R) = (0, 0, 0, 0, 0, 0); A method for calibrating a robot arm, comprising setting the coordinates (X, Y, Z, W, P, R) = (0, 0, 0, 0, 0, 0) of the origin in the user coordinates to the position of (0, 0, 0, 0, 0, 0) in the tool coordinates.

2. When a three-dimensional orthogonal coordinate system (X, Y, Z) with the horizontal plane as the X-Y plane is defined, the robot hand is moved in the directions of the X, Y, and Z axes toward the corner portion, and the position where the torque value of the drive motor of the robot arm increases due to a part of the robot hand coming into contact with the corner portion is calculated as the X, Y, and Z coordinates of the corner portion. The method for calibrating a robot arm according to Claim 1, characterized in that.

Citation Information

Patent Citations

  • Robot device and control method of robot device

    JP2016052695A