Control method and robot system

JP7920721B2Active Publication Date: 2026-09-15SEIKO EPSON CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022129927
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-08-17
Publication Date
2026-09-15
Estimated Expiration
2042-08-17

Smart Images

  • Figure 0007920721000004
    Figure 0007920721000004
  • Figure 0007920721000005
    Figure 0007920721000005
  • Figure 0007920721000006
    Figure 0007920721000006
Patent Text Reader

Abstract

To provide a control method having high positional accuracy, and a robot system.SOLUTION: The control method includes: a real reference position obtaining step of obtaining real reference positions in three or more real spaces; a first control reference position obtaining step of keeping a robot in a first attitude and obtaining first control reference positions which are positions of control points in a robot control coordinate system at the time when the control points are positioned at the real reference positions; a second control reference position obtaining step of keeping the robot in a second attitude and obtaining second control reference positions which positions of control points in the robot control coordinate system at the time when the control points are positioned at the real reference positions; a target position obtaining step of obtaining target positions of the control points in the real spaces; and a control position determining step of determining control positions on the basis of the real reference positions, the first control reference positions and the second control reference positions.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present invention relates to a control method and a robot system. BACKGROUND ART

[0002] For example, the robot system described in Patent Document 1 is configured to improve the motion accuracy of a robot by setting a plurality of work origins in a robot work environment, acquiring measurement positions for each of the plurality of work origins based on images captured by a camera, and correcting position information of each work origin based on the measurement positions. PRIOR ART DOCUMENTS PATENT DOCUMENTS

[0003] Patent Document 1 Japanese Unexamined Patent Application Publication No. 2018-134695 SUMMARY OF THE INVENTION PROBLEM TO BE SOLVED BY THE INVENTION

[0004] However, the robot system disclosed in Patent Document 1 does not take into account changes in the posture of the robot during robot operation. Therefore, when the posture of the robot changes during robot operation, the effect of improving the motion accuracy of the robot may be reduced. MEANS FOR SOLVING THE PROBLEM

[0005] A control method according to the present invention is a control method for determining a control position for a target position of a robot, the control method comprising: an actual reference position acquisition step of acquiring actual reference positions in real space of three or more points; a first control reference position acquisition step of setting the robot in a first posture, and acquiring a first control reference position, which is a position of a control point of the robot in a robot control coordinate system when the control point of the robot is positioned at each of the actual reference positions; A second control reference position acquisition step involves rotating the robot around a predetermined axis relative to the first posture to obtain a second control reference position, which is the position of the control point in the robot control coordinate system when the control point is located at each of the actual reference positions. The method includes a control position determination step of determining the control position based on the actual reference position, the first control reference position, and the second control reference position.

[0006] The present invention relates to a robot system comprising a robot and a control device for controlling the driving of the robot, wherein the control device determines the control position of the robot relative to a target position. The control device is By obtaining three or more real-world reference points, The robot is given a first posture, and a first control reference position is obtained, which is the position of the control point in the robot control coordinate system when the control point of the robot is located at each of the actual reference positions. The robot is rotated around a predetermined axis relative to the first posture to obtain a second posture, and the second control reference position is obtained, which is the position of the control point in the robot control coordinate system when the control point is located at each of the actual reference positions. The control position is determined based on the actual reference position, the first control reference position, and the second control reference position. [Brief explanation of the drawing]

[0007] [Figure 1] This is a diagram illustrating the configuration of a robot system according to a preferred embodiment. [Figure 2] This diagram shows how to use the mounting frame. [Figure 3] This is a diagram showing a modified example of a stand. [Figure 4] This is a block diagram of the control device. [Figure 5] This figure shows the error in the robot's position control. [Figure 6] This figure shows the error in the robot's position control. [Figure 7] This is a flowchart showing the control method. [Figure 8] This figure shows an example of robot movement. [Figure 9] This diagram shows the shape used for determining the control position. [Figure 10] This diagram shows the shape used for determining the control position. [Figure 11] This diagram shows the shape used for determining the control position. [Modes for carrying out the invention]

[0008] The control method and robot system of the present invention will be described in detail below based on embodiments shown in the accompanying drawings.

[0009] Figure 1 is a diagram of the configuration of a robot system according to a preferred embodiment. Figure 2 is a diagram showing how to use the stand. Figure 3 is a diagram showing a modified example of the stand. Figure 4 is a block diagram of the control device. Figures 5 and 6 show the errors in robot position control, respectively. Figure 7 is a flowchart of the control method. Figure 8 shows an example of robot operation. Figures 9 to 11 show shapes for determining the control position, respectively.

[0010] The robot system 1 shown in Figure 1 comprises a robot 2, a control device 3 that controls the movement of the robot 2, and a frame 5. Figure 1 illustrates the three axes, the X, Y, and Z axes, which define the orthogonal coordinate system in three-dimensional space. The X and Y axes are horizontal axes, and the Z axis is a vertical axis. Hereafter, this three-dimensional space will also be referred to as "real space."

[0011] As shown in FIG. 1, the robot 2 is a 6-axis vertical articulated robot having six drive shafts. The robot 2 includes a base 21, a robot arm 22 rotatably connected to the base 21, and an end effector 23 attached to the distal end of the robot arm 22. The robot arm 22 is a robotic arm formed by rotatably connecting a plurality of arms 221, 222, 223, 224, 225, and 226, and includes six joints J1, J2, J3, J4, J5, and J6. Among these six joints J1 to J6, the joints J2, J3, and J5 are each bending joints, and the joints J1, J4, and J6 are each twisting joints.

[0012] A motor and an encoder are respectively installed in each of the joints J1, J2, J3, J4, J5, and J6. During operation of the robot system 1, the control device 3 executes servo control (feedback control) for each of the joints J1 to J6 to match the rotation angle of the joint indicated by the output of the encoder with the control position. This allows the robot 2 to be set to a desired posture.

[0013] The end effector 23 can be appropriately selected according to the work to be performed by the robot 2. A tool control point TCP of the robot 2 is set at the distal end portion of the end effector 23. Although the position of the control point TCP can be set arbitrarily, in order to determine the position of the control point TCP using a positioning jig 51 which will be described later, it is preferable to set the control point TCP at the distal end portion of the end effector 23 as in the present embodiment.

[0014] The configuration of the robot 2 has been described above, but the configuration of the robot 2 is not particularly limited. For example, it may be a SCARA robot (horizontal articulated robot), a dual-arm robot provided with two of the above-described robot arms 22, or the like. It may also be a self-propelled robot in which the base 21 is not fixed.

[0015] The gantry 5 is used when acquiring a first conversion function and a second conversion function for reducing positional deviation of the robot 2, and is not used during robot operation.

[0016] To briefly describe the positional displacement of the robot 2, in the robot system 1, the control device 3 controls the driving of the robot 2 based on a target position received from a host computer or the like (not shown). Specifically, the control device 3 calculates the position of the control point TCP based on design mechanical parameters including the length of each arm 221 to 226, the rotation axis origin of each joint J1 to J6, and the parallelism and orthogonality of each joint J1 to J6, and controls the driving of the robot 2 such that the control point TCP matches the target position.

[0017] However, due to component variations, assembly variations and other factors, actual mechanical parameters may deviate from designed mechanical parameters. When deviation occurs in actual mechanical parameters, the calculated position of the control point TCP deviates from the actual position of the control point TCP. Therefore, even if the control point TCP is matched with the target position in control, the control point TCP actually deviates from the target position. Hereinafter, this deviation is also referred to as "positional control error".

[0018] Therefore, as described above, the robot system 1 is configured to acquire a first conversion function and a second conversion function for reducing positional control error, and the gantry 5 is a tool used for acquiring the first conversion function and the second conversion function. As shown in Fig. 1, the gantry 5 includes four positioning jigs 51. Each positioning jig 51 is a jig used when positioning the control point TCP. The number of positioning jigs 51 is not particularly limited as long as it is three or more.

[0019] Further, an actual reference position RP is set at the tip end of the positioning jig 51. The three-dimensional position of the actual reference position RP in real space has been measured in advance. Then, as shown in Fig. 2, by bringing the control point TCP of the robot 2 into contact with the actual reference position RP, the control position in the robot control coordinate system at that time can be acquired as a control reference position corresponding to the actual reference position RP.

[0020] The positioning jig is not particularly limited, and for example, a positioning jig 53 as shown in Figure 3 may be used. The positioning jig 53 has a flat substrate 531 and an L-shaped wall portion 532 installed on the substrate 531. The wall portion 532 is bent at a right angle, and the actual reference position RP is set at the point where the bent portion of the wall portion 532 and the surface of the substrate 531 come into contact. On the other hand, a positioning aid 54 is connected to the tip of the robot arm 22. This positioning aid 54 has a rectangular parallelepiped shape, and a control point TCP is set at the vertex of its bottom surface.

[0021] By bringing the control point TCP into contact with the actual reference position RP of the positioning jig 53, the control position of the robot control coordinate system at that time can be obtained as the control reference position corresponding to the actual reference position RP. Furthermore, when the positioning jig 53 and the positioning aid 54 are in contact with each other on three surfaces, the orientation of the control point TCP of the robot 2 is uniquely determined, so the control orientation of the robot control coordinate system at that time can be obtained as the control reference orientation corresponding to the actual orientation at the actual reference position RP.

[0022] Alternatively, instead of using the positioning jigs 51 and 53 described above, the actual reference position and control reference position of the robot control coordinate system may be obtained using a 3D measuring instrument. In this case, first, the control point TCP of the robot 2 is positioned using the control reference position of the robot control coordinate system, and then the 3D position of the control point TCP in real space is measured with a 3D position measuring instrument to obtain the actual reference position RP.

[0023] The control device 3 controls the driving of the robot 2. As shown in Figure 4, the control device 3 is composed of, for example, a computer and includes a processor 31, a memory 32, an interface circuit 33, an input device 34 connected to the interface circuit 33, and a display unit 35.

[0024] The processor 31 functions as a control position determination unit 310 that determines the control position of the robot 2. The function of the control position determination unit 310 is realized by the processor 31 executing a computer program stored in memory 32. However, some or all of the functions of the control position determination unit 310 may be realized by hardware circuits.

[0025] Memory 32 stores the control position correction data CD and the operation program MP. The control position correction data CD also includes the geometric shapes G and the first and second transformation functions, which will be described later. The operation program MP consists of multiple operation commands that operate the robot 2.

[0026] Next, the error in the position control of robot 2 will be explained based on Figures 5 and 6. The left side of Figure 5 shows the control position in the robot control coordinate system, and the right side shows the error in position control in real space. The "robot control coordinate system" is a coordinate system that represents the position and orientation of robot 2 used in the motion commands for controlling robot 2.

[0027] In the example in Figure 5, we assume that control positions are set at 30 mm intervals in the X and Y directions in the robot control coordinate system, and the arrows drawn in real space represent the position control error. That is, the starting point of the arrow is the target position, and the tip of the arrow is the control point TCP that contains the error. However, for the sake of illustration, the amount of error is multiplied by 200 to represent the length of the arrow.

[0028] Furthermore, the left side of Figure 6 shows the position control error in real space when the orientation of control point TCP (rotation angle around the X axis [°], rotation angle around the Y axis [°], rotation angle around the Z axis [°]) is (0,0,0), and the right side shows the position control error in real space when the orientation of control point TCP is (0,0,180). Thus, it can be seen that the nature of the error differs depending on the orientation of control point TCP. Note that in the example in Figure 6, it is assumed that control positions are set at 50 mm intervals in the X and Y directions in the robot control coordinate system, and the arrows drawn in real space indicate the position control error. That is, the starting point of the arrow is the target position, and the tip of the arrow is the control point TCP containing the error. However, for the sake of illustration, the amount of error is multiplied by 50 and the length of the arrow is drawn accordingly.

[0029] To reduce such position control errors, the control device 3 controls the movement of the robot 2 as follows:

[0030] As shown in Figure 7, the control method for robot 2 includes the following steps: acquiring the actual reference position S1, acquiring the first control reference position S2, acquiring the first transformation function S3, acquiring the second control reference position S4, acquiring the second transformation function S5, acquiring the third control reference position S6, acquiring the third transformation function S7, acquiring the target position S8, determining the control position S9, and controlling the robot S10. Each of these steps will be explained in order below.

[0031] For the sake of explanation, in the following, as an example of a robot operation performed by robot 2, we will describe the operation of rotating the control point TCP around target positions Q1, Q2, and Q3, as shown in Figure 8. At target positions Q1, Q2, and Q3, the control point TCP is facing downwards in the vertical direction. The orientation of the control point TCP is (0,0,45) at target position Q1, (0,0,135) at target position Q2, and (0,0,90) at target position Q3. In other words, in this robot operation, the control point TCP is rotated around the Z axis by rotating joint J6, while rotating around target positions Q1, Q2, and Q3. However, the robot operation is not particularly limited.

[0032] [Actual reference position acquisition step S1] In the actual reference position acquisition step S1, the control position determination unit 310 acquires three or more actual reference positions RP in real space. As mentioned above, in this embodiment, the frame 5 has four positioning jigs 51, and the actual reference positions RP are set at the tips of these jigs. Therefore, in this embodiment, as shown in Figure 9, the control position determination unit 310 acquires four actual reference positions RP1, RP2, RP3, and RP4.

[0033] [First control reference position acquisition step S2] In the first control reference position acquisition step S2, the control position determination unit 310 first sets the control point TCP to a first attitude (0,0,n1). The rotation angle n1 around the Z axis can be set arbitrarily, but in this embodiment, n1=0. Therefore, when the control point TCP in the first attitude is rotated around the Z axis, it matches the attitude of the control point TCP at target positions Q1, Q2, and Q3.

[0034] Next, the control position determination unit 310 acquires the first control reference position CP1, which is the position of control point TCP in the robot control coordinate system when control point TCP is located at the actual reference position RP. Specifically, first, the control position determination unit 310 positions control point TCP at the actual reference position RP1 while maintaining the first posture. Next, the control position determination unit 310 acquires the first control reference position CP11, which is the position of control point TCP in the robot control coordinate system when control point TCP is located at the actual reference position RP1. The control position determination unit 310 performs the same operation for the other actual reference positions RP2, RP3, and RP4 to acquire the first control reference positions CP12, CP13, and CP14. As a result, the control position determination unit 310 acquires four first control reference positions CP11, CP12, CP13, and CP14.

[0035] [Step S3: Obtaining the first transformation function] In the first transformation function acquisition step S3, the control position determination unit 310 first sets up a triangular figure G in real space with the three actual reference positions RP as its vertices, as shown in Figure 9. As mentioned above, since four actual reference positions RP1 to RP4 are acquired in the actual reference position acquisition step S1, in this embodiment, the region enclosed by the four actual reference positions RP1 to RP4 is divided into two triangular figures G1 and G2. Any division method can be used, such as Delaunay triangulation.

[0036] Next, the control position determination unit 310 determines a first transformation function A1 that represents the correspondence between the actual position and the control position within each figure G1 and G2, as shown in Figure 10. The first transformation function A1 in figure G1 is determined based on the difference between the actual reference positions RP1, RP2, and RP3, which are the vertices of figure G1, and the corresponding first control reference positions CP11, CP12, and CP13. Similarly, the first transformation function A1 in figure G2 is determined based on the difference between the actual reference positions RP2, RP3, and RP4, which are the vertices of figure G2, and the corresponding first control reference positions CP12, CP13, and CP14. The first transformation function A1 can be expressed, for example, by the following formula.

[0037]

number

[0038] In equation (1), Pctrl is the control position in the first pose in the robot control coordinate system, and Preal is the actual position in real space. Xctrl is the X coordinate of the control position in the first pose in the robot control coordinate system, and Yctrl is the Y coordinate of the control position in the first pose in the robot control coordinate system. Xreal is the X coordinate of the actual position in real space, and Yreal is the Y coordinate of the actual position in real space. A1 is the first transformation function, which is a transformation formula representing the affine transformation. a11, a12, a21, a22, b1, and b2 are coefficients, which differ for each figure G1 and G2. By using this first transformation function A1, the actual position Preal can be easily converted to the control position Pctrl in the first pose.

[0039] Note that the shape of figure G does not have to be a triangle, and the first transformation function does not have to be an affine transformation. For example, figure G may be a quadrilateral, and the first transformation function may be a projection transformation. Alternatively, the figure may be divided into a state with multiple types of polygons mixed together, and the first transformation function may be different for each figure G. Figure G may also be a three-dimensional figure. The first transformation function may be constructed as a transformation formula, or in other forms such as a lookup table.

[0040] [Second control reference position acquisition step S4] In the second control reference position acquisition step S4, the control position determination unit 310 first sets the control point TCP to the second attitude (0,0,n2). The rotation angle n2 around the Z axis is n2≠n1 and can be set arbitrarily, but in this embodiment n2=180. Therefore, when the control point TCP of the second attitude is rotated around the Z axis, it coincides with the attitude of the control point TCP at target positions Q1, Q2, and Q3. In other words, the attitude of the control point TCP at target positions Q1, Q2, and Q3 is located between the first attitude and the second attitude.

[0041] Next, the control position determination unit 310 obtains the second control reference position CP2, which is the position of control point TCP in the robot control coordinate system when control point TCP is located at the actual reference position RP. Specifically, first, the control position determination unit 310 positions control point TCP at the actual reference position RP1 while maintaining the second posture. Next, the control position determination unit 310 obtains the second control reference position CP21, which is the position of control point TCP in the robot control coordinate system when control point TCP is located at the actual reference position RP1. The control position determination unit 310 performs the same operation for the other actual reference positions RP2, RP3, and RP4 to obtain the second control reference positions CP22, CP23, and CP24. As a result, the control position determination unit 310 obtains four second control reference positions CP21, CP22, CP23, and CP24.

[0042] Note that the second control reference positions CP21, CP22, CP23, and CP24 may be the same as the first control reference positions CP11, CP12, CP13, and CP14, or they may be different due to differences in the orientation of the control points TCP.

[0043] [Second transformation function acquisition step S5] In the second transformation function acquisition step S5, the control position determination unit 310 first sets up a triangular figure G in real space with the three actual reference positions RP as its vertices, as shown in Figure 9. As mentioned above, since four actual reference positions RP1 to RP4 are acquired in the actual reference position acquisition step S1, in this embodiment, the region enclosed by the four actual reference positions RP1 to RP4 is divided into two triangular figures G1 and G2. Any division method can be used, such as Delaunay triangulation.

[0044] Next, the control position determination unit 310 determines a second transformation function A2 that represents the correspondence between the actual position and the control position within each figure G1 and G2, as shown in Figure 11. The second transformation function A2 in figure G1 is determined based on the difference between the actual reference positions RP1, RP2, and RP3, which are the vertices of figure G1, and the corresponding second control reference positions CP21, CP22, and CP23. Similarly, the second transformation function A2 in figure G2 is determined based on the difference between the actual reference positions RP2, RP3, and RP4, which are the vertices of figure G2, and the corresponding second control reference positions CP22, CP23, and CP24. The second transformation function A2 can be expressed, for example, by the following formula.

[0045]

number

[0046] In equation (5), Pctrl is the control position in the second pose in the robot control coordinate system, and Preal is the actual position in real space. Xctrl is the X coordinate of the control position in the second pose in the robot control coordinate system, and Yctrl is the Y coordinate of the control position in the second pose in the robot control coordinate system. Xreal is the X coordinate of the actual position in real space, and Yreal is the Y coordinate of the actual position in real space. A2 is the second transformation function, which is a transformation formula representing the affine transformation. a11, a12, a21, a22, b1, and b2 are coefficients, which differ for each figure G1 and G2. By using this second transformation function A2, the actual position Preal can be easily converted to the control position Pctrl in the second pose.

[0047] Note that the shape of figure G does not have to be a triangle, and the second transformation function does not have to be an affine transformation. For example, figure G may be a quadrilateral, and the second transformation function may be a projection transformation. Alternatively, the figure may be divided into a state with multiple types of polygons mixed together, and the second transformation function may be changed for each figure G. Figure G may also be a three-dimensional figure. The second transformation function may be constructed as a transformation formula, or in other forms such as a lookup table.

[0048] [Third control reference position acquisition step S6] In the third control reference position acquisition step S6, the control position determination unit 310 first sets the control point TCP to the third posture (0,0,n3). The rotation angle n3 around the Z axis can be set arbitrarily, with n3≠n1 and n3≠n2, but in this embodiment, n3=90.

[0049] Next, the control position determination unit 310 acquires the third control reference position CP3, which is the position of control point TCP in the robot control coordinate system when control point TCP is located at the actual reference position RP. The method for acquiring the third control reference position CP3 is the same as that for the first and second control reference positions CP1 and CP2 described above. Therefore, the explanation is omitted.

[0050] [Third transformation function acquisition step S7] In the third transformation function acquisition step S7, the control position determination unit 310 determines the third transformation function A3, which represents the correspondence between the actual position and the control position within the figure G. The method for determining the third transformation function A3 is the same as that for the first and second transformation functions A1 and A2 described above. Therefore, the explanation is omitted.

[0051] The steps from the actual reference position acquisition step S1 to the third transformation function acquisition step S7 described above constitute a preparatory process for reducing errors in position control during robot operation. The first transformation function A1, the second transformation function A2, and the third transformation function A3 obtained in this preparatory process are stored in the control position correction data CD, respectively. In addition, the first posture, second posture, and third posture obtained in this preparatory process are stored in the control position correction data CD as measured postures, respectively. In practice, not only the first, second, and third postures, but also a number of postures that differ from each other are stored in the control position correction data CD as measured postures. This increases the options for measured postures, making it possible to determine the control position relative to the target position more reliably and accurately.

[0052] Furthermore, as long as the first, second, and third transformation functions A1, A2, and A3 can be obtained, the order from the actual reference position acquisition step S1 to the third transformation function acquisition step S7 is not particularly limited. For example, the steps may be performed in the order of actual reference position acquisition step S1, first control reference position acquisition step S2, second control reference position acquisition step S4, third control reference position acquisition step S6, first transformation function acquisition step S3, second transformation function acquisition step S5, and third transformation function acquisition step S7.

[0053] [Target position acquisition step S8] In the target position acquisition step S8, the control position determination unit 310 accepts input for the target position of the control point TCP. The target position of the control point TCP is the three-dimensional position of a point in real space to which the control point TCP is to be moved. The target position of the control point TCP can be input, for example, by an operator using the input device 34. If the operator has created an operation program MP and the target position of the control point TCP is described in the operation command therein, the control position determination unit 310 may perform this step by acquiring the target position included in the operation command of the operation program MP. The following describes the case where target positions Q1, Q2, and Q3 are received as the target position.

[0054] [Control position determination step S9] In the control position determination step S9, the control position determination unit 310 determines the control positions relative to the target positions Q1, Q2, and Q3 based on the actual reference position RP, the first control reference position CP1, and the second control reference position CP2. Specifically, the control position determination unit 310 determines the control positions relative to the target positions Q1, Q2, and Q3 using the first conversion function A1 obtained in the first conversion function acquisition step S3 based on the actual reference position RP and the first control reference position CP1, and the second conversion function A2 obtained in the second conversion function acquisition step S5 based on the actual reference position RP and the second control reference position CP2.

[0055] The following describes the process of determining the control position relative to the target position Q1. First, the control position determination unit 310 acquires the orientation of the control point TCP at the target position Q1. As mentioned above, the orientation of the control point TCP at the target position Q1 is (0,0,45). Next, the control position determination unit 310 arbitrarily selects two orientations from the measured orientations that, when rotated around a predetermined axis, match the orientation of the control point TCP at the target position Q1. In this embodiment, the measured orientations include a first orientation, a second orientation, and a third orientation that, when rotated around the Z axis, match the orientation of the control point TCP at the target position Q1, so any two are selected from these. The following describes the case where the first orientation and the second orientation are selected.

[0056] Next, the control position determination unit 310 selects a target figure containing the target position Q1 from the figure G shown in Figure 8. In this embodiment, since the target position Q1 is located within figure G1, figure G1 is selected as the target figure.

[0057] Next, the control position determination unit 310 calculates the control position relative to the target position Q1 in the first orientation (hereinafter referred to as the first control position) using the first transformation function A1 corresponding to the figure G1. For example, in equation (1) described above, Pctrl can be calculated as the first control position by inputting the coordinate values ​​of the target position Q1 into Preal. Next, the control position determination unit 310 calculates the control position relative to the target position Q1 in the second orientation (hereinafter referred to as the second control position) using the second transformation function A2 corresponding to the target figure G1. For example, in equation (5) described above, Pctrl can be calculated as the second control position by inputting the coordinate values ​​of the target position Q1 into Preal.

[0058] Next, the control position determination unit 310 determines the control position p relative to the target position Q1 based on the first control position and the second control position. Specifically, when the first control position is pa, the amount of rotation of the control point TCP around the Z axis in the first attitude is θa, the second control position is pb, the amount of rotation of the control point TCP around the Z axis in the second attitude is θb, and the amount of rotation of the control point TCP around the Z axis in the attitude of the target position Q1 is θ, the control position p corresponding to the target position Q1 can be determined from the following equation (9). This makes it possible to determine the control position p easily and accurately.

[0059]

number

[0060] Based on the above, the control position p relative to the target position Q1 is determined. The control position determination unit 310 determines the control positions p relative to target positions Q2 and Q3 using the same procedure.

[0061] In this embodiment, since the orientation of the control point TCP at target positions Q1, Q2, and Q3 is located between the first and second orientations, the error in position control at target position Q1 can be effectively reduced from the first and second orientations. Furthermore, in this embodiment, the control position p is determined based on the first and second orientations, which differ in orientation by 180° around the Z axis. By selecting two measurement orientations with a large angular difference in this way, a wider range of orientations can be accommodated.

[0062] Next, the control position determination unit 310 creates an operation command using the control position p for each target position Q1, Q2, and Q3. If an operation program MP including the operation command has been created in advance, the process can be executed by replacing the target positions Q1, Q2, and Q3 included in the operation command with the control position p.

[0063] [Robot control step S10] In robot control step S10, the control position determination unit 310 controls the drive of the robot 2 using the motion program MP which includes the created motion commands. This improves the accuracy of the robot 2's position control. With this control method, the control position p at target positions Q1, Q2, and Q3 is determined based on the first and second postures around the same axis, so the difference in errors for each posture is reflected in the control position p. Therefore, the error in position control can be reduced, resulting in a robot system 1 with excellent position accuracy. Furthermore, since the control position corresponding to the target position is determined from two measured postures, the control position p for that target position can be determined even if the target position is not known in advance.

[0064] The robot system 1 has been described above. The control method applied to such a robot system 1 is a control method for determining the control position p of the robot 2 with respect to the target position, as described above, and includes: a real reference position acquisition step S1 for acquiring real reference positions RP in three or more real space points; a first control reference position acquisition step S2 for acquiring a first control reference position CP1, which is the position of the control point TCP in the robot control coordinate system when the control point TCP of the robot 2 is located at each real reference position RP, with the control point TCP of the robot 2 being the first posture; a second control reference position acquisition step S4 for acquiring a second posture in which the control point TCP of the robot 2 is rotated around the Z axis, which is a predetermined axis, relative to the first posture, with the control point TCP of the robot 2 being located at each real reference position RP, with the position of the control point TCP in the robot control coordinate system being; and a control position determination step S9 for determining the control position p based on the real reference position RP, the first control reference position CP1, and the second control reference position CP2.

[0065] With this control method, the control position p at the target position is determined based on a first and second posture around a predetermined axis, so that the difference in error for each posture is reflected in the control position p. Therefore, the error in position control can be reduced, resulting in a robot system 1 with excellent positional accuracy. Furthermore, since the control position corresponding to the target position is determined from two measured postures, the control position p for that target position can be determined even if the target position is not known in advance.

[0066] Furthermore, as mentioned earlier, the second posture is the first posture rotated 180° around the Z-axis. This allows for corrections to be made to accommodate a wider range of postures.

[0067] Furthermore, as mentioned above, the attitude at the target position lies between the first and second attitudes. This effectively reduces errors in position control at the target position. As a result, the control position p can be calculated with greater accuracy.

[0068] Furthermore, as mentioned above, the control method further includes a third control reference position acquisition step S6, in which the robot 2 is rotated from a first posture to a third posture around the Z axis, and the third control reference position CP3 is obtained, which is the position of the control point TCP in the robot control coordinate system when the control point TCP is located at each actual reference position RP. This increases the number of options and allows the control position p to be determined easily and accurately.

[0069] Furthermore, as described above, the control method further includes a first transformation function acquisition step S3, which is performed after the first control reference position acquisition step S2, and involves setting up at least one figure G with three or more actual reference positions RP as vertices in real space, and obtaining a first transformation function A1 that represents the correspondence between the actual position and the control position within each figure G in the first orientation; and a second transformation function acquisition step S5, which is performed after the second control reference position acquisition step S4, and involves setting up at least one figure G with three or more actual reference positions RP as vertices in real space, and obtaining a second transformation function A2 that represents the correspondence between the actual position and the control position within each figure G in the second orientation. In addition, the control position determination step S9 involves selecting a target figure from among the figures G for calculating the control position p, and determining the control position p based on the first transformation function A1 and the second transformation function A2 corresponding to the target figure. This makes it possible to determine the control position p easily and accurately.

[0070] Furthermore, as mentioned above, the control position p is determined from equation (9) above. This allows for easy and accurate determination of the control position p.

[0071] Furthermore, as mentioned above, the robot system 1 comprises a robot 2 and a control device 3 that controls the driving of the robot 2, wherein the control device 3 determines the control position p of the robot 2 relative to the target position. The control device 3 acquires three or more real reference positions RP in real space, sets the control point TCP of the robot 2 as the first posture, acquires a first control reference position CP1 which is the position of the control point TCP in the robot control coordinate system when the control point TCP of the robot 2 is located at each real reference position RP, sets the control point TCP of the robot 2 as the second posture by rotating it around the Z axis, which is a predetermined axis, relative to the first posture, acquires a second control reference position CP2 which is the position of the control point TCP in the robot control coordinate system when the control point TCP is located at each real reference position RP, and determines the control position p based on the real reference position RP, the first control reference position CP1, and the second control reference position CP2.

[0072] With this configuration, the control position p at the target position is determined based on a first and second posture around a predetermined axis, so that the difference in error for each posture is reflected in the control position p. Therefore, the error in position control can be reduced, resulting in a robot system 1 with excellent positional accuracy. Furthermore, since the control position corresponding to the target position is determined from two measured postures, the control position p for that target position can be determined even if the target position is not known in advance.

[0073] The control method and robot system of the present invention have been described above based on the illustrated embodiments, but the present invention is not limited thereto. The configuration of each part can be replaced with any configuration having a similar function. In addition, any other configuration may be added to the present invention. [Explanation of symbols]

[0074] 1...Robot system, 2...Robot, 21...Base, 22...Robot arm, 221...Arm, 222...Arm, 223...Arm, 224...Arm, 225...Arm, 226...Arm, 23...End effector, 3...Control device, 31...Processor, 310...Control position determination unit, 32...Memory, 33...Interface circuit, 34...Input device, 35...Display unit, 5...Stand, 51...Positioning jig, 53...Positioning jig, 531...Substrate, 532...Wall section, 54...Positioning aid, CD...Control position correction data, CP1...First control reference position, CP11...First control reference position, CP12...First control reference position, CP13...First control reference position, CP14...First control reference position, CP2...Second control reference position, CP21...Second control reference position, CP22...Second control reference position, CP23 ...Second control reference position, CP24...Second control reference position, CP3...Third control reference position, G...Shape, G1...Shape, G2...Shape, J1...Joint, J2...Joint, J3...Joint, J4...Joint, J5...Joint, J6...Joint, MP...Motion program, Q1...Target position, Q2...Target position, Q3...Target position, RP...Actual reference position, RP1...Actual reference position, RP2...Actual reference position, RP3...Actual reference position, RP4...Actual reference position, S1...Actual reference position acquisition step, S2...First control reference position acquisition step, S3...First conversion function acquisition step, S4...Second control reference position acquisition step, S5...Second conversion function acquisition step, S6...Third control reference position acquisition step, S7...Third conversion function acquisition step, S8...Target position acquisition step, S9...Control position determination step, S10...Robot control step, TCP...Control point

Claims

1. A control method for determining the control position of a robot relative to its target position, A real reference position acquisition step that acquires real reference positions in real space at three or more points, A first control reference position acquisition step, in which the robot is in a first posture and a first control reference position is obtained, which is the position of the control point in the robot control coordinate system when the robot's control point is located at each of the actual reference positions, A second control reference position acquisition step involves rotating the robot around a predetermined axis relative to the first posture to obtain a second control reference position, which is the position of the control point in the robot control coordinate system when the control point is located at each of the actual reference positions. The step includes determining the control position based on the actual reference position, the first control reference position, and the second control reference position, Let the control position in the first posture be pa, and the amount of rotation around the axis be θa. Let pb be the control position in the second posture, and θb be the amount of rotation around the axis. When the amount of rotation around the axis at the orientation of the target position is denoted as θ, A control method characterized in that the control position p corresponding to the target position is determined from the following equation (1). p={(θa-θ) / (θa-θb)}pb+{(θ-θb) / (θa-θb)}pa...(1)

2. The control method according to claim 1, wherein the second posture is the posture obtained by rotating the first posture by 180° around the axis.

3. The control method according to claim 1, wherein the attitude at the target position is located between the first attitude and the second attitude.

4. The control method according to claim 1, further comprising the step of acquiring a third control reference position, in which the robot is rotated from the first posture around the axis to a third posture, and the control point is located at each of the actual reference positions, and the position of the control point in the robot control coordinate system is acquired.

5. A robot system comprising a robot and a control device that controls the driving of the robot, wherein the control device determines the control position of the robot relative to a target position, The control device is By obtaining three or more real reference points in real space, The robot is given a first posture, and a first control reference position is obtained, which is the position of the control point in the robot control coordinate system when the control point of the robot is located at each of the actual reference positions. The robot is rotated around a predetermined axis relative to the first posture to obtain a second posture, and the second control reference position is obtained, which is the position of the control point in the robot control coordinate system when the control point is located at each of the actual reference positions. The control position is determined based on the actual reference position, the first control reference position, and the second control reference position. Let the control position in the first posture be pa, and the amount of rotation around the axis be θa. Let pb be the control position in the second posture, and θb be the amount of rotation around the axis. When the amount of rotation around the axis at the orientation of the target position is denoted as θ, A robot system characterized in that the control position p corresponding to the target position is determined from the following equation (1). p={(θa-θ) / (θa-θb)}pb+{(θ-θb) / (θa-θb)}pa...(1)

Citation Information

Patent Citations

  • Robot system, robot control device, and robot control method

    JP2018134695A

  • Method of determining control position of robot, and robot system

    JP2022100627A

  • Method Of Calibrating A Tool Of An Industrial Robot, Control System And Industrial Robot

    US20220105640A1

  • Control device, control method, and program

    WO2020141579A1