Method for determining control position of robot and robot system

The method and system enhance robot control position accuracy by employing conversion functions and strategic reference positioning, addressing the inefficiencies of conventional large-scale measurement techniques.

JP7604884B2Active Publication Date: 2024-12-24SEIKO EPSON CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2020214713
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-12-24
Publication Date
2024-12-24
Estimated Expiration
2040-12-24

AI Technical Summary

Technical Problem

Conventional methods for correcting robot control positions require the measurement of numerous mechanical parameters and necessitate large-scale devices, which is cumbersome and resource-intensive.

Method used

A method and system for determining robot control positions using N real reference positions in real space, with M figures in the control coordinate system, involving conversion functions to accurately align target positions in the robot control coordinate system, utilizing positioning jigs and three-dimensional measuring devices to reduce errors.

Benefits of technology

Improves the accuracy of robot position control by reducing errors through the use of conversion functions and strategic placement of reference positions, enabling precise control point alignment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007604884000002
    Figure 0007604884000002
  • Figure 0007604884000003
    Figure 0007604884000003
  • Figure 0007604884000004
    Figure 0007604884000004
Patent Text Reader

Abstract

To provides a technology that can increase the accuracy of position control of a robot without measuring a large number of mechanical parameters.SOLUTION: A method of determining a control position of a robot includes: (a) acquiring N real reference positions in a real space and N control reference positions in a robot control coordinate system; (b) setting M figures having vertices at a plurality of real reference positions of the N real reference positions within the real space, and obtaining a transform function expressing a correspondence relationship between a real position and a control position within each figure; (c) receiving input of a target position of the control point in the real space; (d) selecting an object figure for calculating a control position for the target position from among the M figures; and (e) calculating a target control position for the target position using the transform function with respect to the object figure.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a method for determining a control position of a robot and a robot system. [Background technology]

[0002] Patent Document 1 discloses a method for correcting the control position of a robot to improve the robot's operation accuracy. In this method, mechanical parameters of the robot, such as the arm length and the origin of the joint rotation axis, are calculated based on the difference between the actual hand position of the robot and the hand position in the robot control coordinate system used when the control device that controls the robot operates the robot, and the control position of the robot is corrected based on the calculated mechanical parameters. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 8-290380 Summary of the Invention [Problem to be solved by the invention]

[0004] However, in the conventional technology, a large number of mechanism parameters must be measured, which necessitates the use of large-scale equipment. [Means for solving the problem]

[0005] According to a first embodiment of the present disclosure, there is provided a method for determining a control position of a robot, which includes the steps of: (a) acquiring N real reference positions in a real space, where N is an integer of 3 or more, and N control reference positions in a robot control coordinate system when a control point of the robot is located at each of the N real reference positions, (b) setting M figures in the real space, where M is an integer of 1 or more, each of which has a plurality of real reference positions among the N real reference positions as vertices, and determining a transformation function that represents a correspondence relationship between an actual position and a control position in each figure, (c) accepting an input of a target position of the control point in the real space, (d) selecting a target figure from among the M figures for calculating a control position for the target position, and (e) calculating a target control position, which is a control position in the robot control coordinate system for the target position, using the transformation function for the target figure.

[0006] According to a second embodiment of the present disclosure, there is provided a robot system for determining a control position of a robot. The robot system includes a robot and a control unit for controlling the robot. The control unit executes the following processes: (a) acquiring N real reference positions in a real space, where N is an integer of 3 or more, and N control reference positions in a robot control coordinate system when a control point of the robot is located at each of the N real reference positions; (b) setting M figures in the real space, where M is an integer of 1 or more, each of which has a vertex at a plurality of real reference positions among the N real reference positions, and determining a conversion function that represents a correspondence relationship between an actual position and a control position in each figure; (c) accepting an input of a target position of the control point in the real space; (d) selecting a target figure from among the M figures for calculating a control position for the target position; and (e) calculating a target control position, which is a control position in the robot control coordinate system for the target position, using the conversion function for the target figure. [Brief description of the drawings]

[0007] [Figure 1]FIG. 1 is an explanatory diagram of a configuration example of a robot system according to an embodiment. [Diagram 2] FIG. 2 is a functional block diagram of an information processing device. [Diagram 3] FIG. 11 is an explanatory diagram showing an example of an error in position control of a robot. [Figure 4] 5 is a flowchart showing a procedure of a control position correction process in the embodiment. [Diagram 5] FIG. 4 is an explanatory diagram showing an example of a positioning jig. [Figure 6] FIG. 11 is an explanatory diagram showing another example of the positioning jig. [Figure 7] FIG. 11 is an explanatory diagram showing an example of a graphic for correcting a control position. [Figure 8] FIG. 11 is an explanatory diagram showing another example of the graphic for correcting the control position. [Figure 9] 11A and 11B are explanatory diagrams showing a comparison of control position errors with and without correction. [Figure 10] 11 is an explanatory diagram showing a correction method when a target position is not included in a figure for correcting a control position. FIG. [Figure 11] 13 is an explanatory diagram showing another correction method in the case where the target position is not included in the graphic for correcting the control position. FIG. [Figure 12] FIG. 11 is an explanatory diagram showing another example of the graphic for correcting the control position. [Figure 13] FIG. 13 is an explanatory diagram showing still another example of a graphic for correcting a control position. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] FIG. 1 is an explanatory diagram showing an example of a robot system in an embodiment. This robot system includes a robot 100, a control device 200 that controls the robot 100, an information processing device 300, and a stand 400. The information processing device 300 is, for example, a personal computer. In FIG. 1, three axes X, Y, and Z that define an orthogonal coordinate system in a three-dimensional space are depicted. The X-axis and Y-axis are horizontal axes, and the Z-axis is a vertical axis. Hereinafter, this three-dimensional space is also referred to as a "real space."

[0009] The robot 100 includes a base 110 and an arm 120. The arm 120 is connected in sequence by six joints. An end effector 150 is attached to an arm end 122, which is the tip of the arm 120. A control point TCP of the robot 100 is set at the tip of the end effector 150. The position of the control point TCP can be set at any position. However, in order to determine the position of the control point TCP using a positioning jig 410 or a three-dimensional measuring device 420 described later, it is preferable to set the control point TCP at the tip of the end effector 150.

[0010] The arm 120 is connected in sequence by six joints J1 to J6. Of these joints J1 to J6, three joints J2, J3, and J5 are bending joints, and the other three joints J1, J4, and J6 are torsion joints. Although a six-axis robot is exemplified in this embodiment, a robot having any arm mechanism having one or more joints can be used. In addition, the robot 100 in this embodiment is a vertical multi-joint robot, but a horizontal multi-joint robot may also be used. In addition, the present disclosure is applicable to devices other than robots.

[0011] A plurality of positioning jigs 410 are installed on the stand 400. The positioning jigs 410 are jigs used when positioning the control point TCP of the hand of the robot. A three-dimensional measuring device 420 capable of measuring a three-dimensional position is installed on the support of the stand 400. The three-dimensional measuring device 420 can be used to measure the position of the control point TCP of the robot in three-dimensional space. Note that one of the three-dimensional measuring device 420 and the positioning jigs 410 may be omitted.

[0012] 2 is a block diagram showing the functions of the information processing device 300. The information processing device 300 has a processor 310, a memory 320, an interface circuit 330, and an input device 340 and a display unit 350 connected to the interface circuit 330. A three-dimensional measuring device 420 and a control device 200 are further connected to the interface circuit 330.

[0013] The processor 310 functions as a control position determination unit 312 that determines a control position of the robot. The function of the control position determination unit 312 is realized by the processor 310 executing a computer program stored in the memory 320. However, a part or all of the function of the control position determination unit 312 may be realized by a hardware circuit.

[0014] The memory 320 stores control position correction data CD and an operation program RP. The control position correction data CD includes graphics and conversion functions for control position correction, which will be described later. The operation program RP is composed of a plurality of operation commands for operating the robot 100.

[0015] FIG. 3 is an explanatory diagram showing an example of an error in the position control of the robot 100. The left side of FIG. 3 shows a control position in the robot control coordinate system, and the right side shows an error in the real space. The "robot control coordinate system" is a coordinate system expressing the position and posture of the robot 100 used in an operation command for controlling the robot 100. In the example of FIG. 3, a state in which the control positions are set at 30 mm intervals in the X and Y directions in the robot control coordinate system is assumed, and the arrows drawn in the real space show the error in the position control. That is, the starting point of the arrow is the target position, and the tip of the arrow is the hand position including the error. The "hand position" means the position of the control point TCP. However, for convenience of illustration, the length of the arrow is drawn with the amount of error multiplied by 200. In this embodiment, in order to reduce such errors, a process of correcting the control position of the robot control coordinate system is executed.

[0016] 4 is a flowchart showing the procedure of the control position correction process in the embodiment. In step S110, the control position determination unit 312 acquires an actual reference position and a control reference position corresponding to the actual reference position. The process of step S110 can be performed using the positioning jig 410 or the three-dimensional measuring device 420.

[0017] 5 is an explanatory diagram showing an example of a positioning jig 410. A real reference position P410 is set at the tip of this positioning jig 410, and the three-dimensional position of the real reference position P410 in real space is measured in advance. The positioning jig 410 is set by an operator. When the control point TCP of the robot 100 is moved to contact the real reference position P410 of the positioning jig 410, the control position of the robot control coordinate system at that time can be obtained as a control reference position corresponding to the real reference position P410.

[0018] 6 is an explanatory diagram showing another example of the positioning jig. This positioning jig 430 has a flat substrate 431 and an L-shaped wall 432 installed on the substrate 431. The wall 432 is bent at a right angle, and an actual reference position P430 is set at the point where the bent part of the wall 432 and the surface of the substrate 431 come into contact. A positioning aid 440 is connected to the tip of the arm 120 of the robot 100. This positioning aid 440 has a rectangular parallelepiped shape, and a control point TCP is set at the apex of its bottom surface. When the control point TCP of the robot 100 is moved to contact the actual reference position P430 of the positioning jig 430, the control position of the robot control coordinate system at that time can be obtained as a control reference position corresponding to the actual reference position P410. In addition, when the positioning jig 430 and the positioning assistant tool 440 are in contact with each other on three surfaces, the posture of the control point TCP of the robot 100 is also uniquely determined, so it is possible to obtain the control posture of the robot control coordinate system at that time as the control reference posture corresponding to the actual posture at the actual reference position P410. Note that as the positioning jig, jigs of various shapes other than those shown in Fig. 5 and Fig. 6 can be used.

[0019] The real reference position and the control reference position of the robot control coordinate system may be obtained using the three-dimensional measuring device 420 without using the positioning jig as described above. In this case, the control point TCP of the robot 100 is first positioned using the control reference position of the robot control coordinate system, and in that state, the three-dimensional position of the control point TCP in the real space is measured by the three-dimensional position measuring device 420 to set it as the real reference position. In this way, in step S110, the real reference position and the control reference position corresponding to the real reference position can be obtained using the positioning jig or the three-dimensional measuring device 420. Note that, when the positioning jig is used, the real reference position is set by the operator. On the other hand, when the three-dimensional measuring device 420 is used, the control reference position is set by the operator. In this way, since one of the real reference position and the control reference position is selected by the operator, the operator can arbitrarily select an area in which the accuracy of the position control is improved.

[0020] In step S120, it is determined whether or not all the processes in step S110 have been completed. In this embodiment, step S110 is repeatedly executed until N real reference positions in the real space and N control reference positions in the robot control coordinate system are acquired, where N is an integer equal to or greater than 3.

[0021] When all the processes in step S110 are completed, the process proceeds to step S130, where the control position determination unit 312 sets a figure in the real space with multiple real reference positions as vertices. This figure is also referred to as a "figure for control position correction" below. The number M of figures can be set to any number equal to or greater than 1.

[0022] 7 is an explanatory diagram showing an example of a graphic for correcting a control position. In this example, four real reference positions RP1 to RP4 in the real space and four control reference positions CP1 to CP4 in the robot control coordinate system are acquired by the process of step S110. In the real space, an area surrounded by the four real reference positions RP1 to RP4 is divided into two graphics GC11 and GC12. These graphics GC11 and GC12 are triangles. As a division method, any division method such as Delaunay triangulation can be used, or the operator may divide the graphics.

[0023] In step S140, the control position determination unit 312 obtains a conversion function that expresses the correspondence between the reference position and the control position in each of the graphics GC11 and GC12. This conversion function can be expressed, for example, by the following equation.

number

[0024] In step S150, the robot 100 is controlled using the control position converted using the conversion function, and it is determined whether or not the error in the position control is equal to or less than a predetermined threshold. The error in the position control can be confirmed, for example, by measuring the actual position of the control point TCP when the robot 100 is controlled using the control position converted using the conversion function with the three-dimensional measuring device 420. If the error in the position control is not equal to or less than the predetermined threshold, the process proceeds to step S160, where one or more actual reference positions and one or more control reference positions are added in the same manner as in step S110 described above. Thereafter, the process returns to step S130, and the processes of steps S130 to S150 are repeated. If the error in the position control is equal to or less than the predetermined threshold, the process proceeds to step S210 described later.

[0025] FIG. 8 is an explanatory diagram showing an example of a figure for correcting a control position when an actual reference position and a control reference position are added. In this example, a fifth actual reference position RP5 is added to the center of the four control reference positions CP1 to CP4 in FIG. 7 described above, and a fifth control reference position CP5 is added to the center of the four control reference positions CP1 to CP4. In the real space, an area including the five actual reference positions RP1 to RP5 is divided into four figures GC21 to GC24. In the example of FIG. 8, each figure is smaller than that in FIG. 7, so it is possible to further reduce the error in position control. Note that it is preferable that the actual reference position added to reduce the error in position control is set inside the area surrounded by the previous multiple actual reference positions. The same applies to the control reference positions.

[0026] FIG. 9 is an explanatory diagram showing a comparison of the error in the control position with and without correction. This shows the error in the control position when the control position is not corrected using a conversion function, when the control position is corrected using the diagram shown in FIG. 7, and when the control position is corrected using the diagram shown in FIG. 8. As can be seen from this example, the error in the control position can be significantly reduced by performing correction using a conversion function. Furthermore, the error can be further reduced by reducing the size of the diagram to which the conversion function is applied.

[0027] The above-mentioned steps S110 to S160 correspond to a preparation step, and the next step S210 and subsequent steps correspond to a correction step for correcting the actual control position. The processing from step S210 onwards may be executed by an information processing device other than the information processing device 300 or the control device 200.

[0028] In step S210, the control position determination unit 312 receives an input of a target position of the control point TCP. The target position of the control point TCP is a 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 determined by an operator using the input device 340. Note that, when an operator creates an operation program RP and the target position of the control point TCP is described in an operation command therein, the control position determination unit 312 may perform the process of step S210 by acquiring the target position included in the operation command of the operation program RP.

[0029] In step S220, the control position determination unit 312 selects a target graphic for calculating a control position for the target position from among the graphics for control position correction created in step S130. In normal cases, a graphic containing the target position is selected as the target graphic. A "graphic containing the target position" means a graphic in which the target position exists within an area surrounded by the outer edge of that graphic. A case in which the target position is not included in any of the graphics for control position correction will be described later. In step S230, the control position determination unit 312 calculates a target control position for the target position using a conversion function corresponding to the target graphic. For example, in the above-mentioned formula (1), P real By inputting the coordinates of the target position into P ctrl can be calculated as the target control position.

[0030] In step S240, the control position determination unit 312 writes an operation command using the target control position obtained in step S230. If an operation program RP including an operation command has been created in advance, the process of step S240 can be executed by replacing the target position included in the operation command with the target control position.

[0031] In step S250, the control position determination unit 312 judges whether the processing of steps S210 to S240 has been completed for the target positions of all control points required for the operation program RP. If not completed, the processing of steps S210 to S240 is executed again, and if completed, the process proceeds to the next step S260. In step S260, the robot 100 is controlled using the operation program including the created operation command. The control in this step S260 may be executed by the processor 310 of the information processing device 300, or may be executed by the control device 200.

[0032] As described above, in the above embodiment, a conversion function within a figure set in real space is used to convert a target position in real space into a target control position in the robot control coordinate system, thereby improving the accuracy of position control of the robot 100.

[0033] The shape of the control position correction figure does not have to be a triangle, and the transformation function does not have to be an affine transformation. For example, the control position correction figure may be a rectangle, and the transformation function may be a projective transformation. When dividing an area including a plurality of actual reference positions into a plurality of figures, the area may be divided into a state in which a plurality of types of polygons are mixed, and a different transformation function may be used for each figure. The control position correction figure may be a three-dimensional figure. The transformation function may be configured as a transformation formula, or may be configured in another format such as a lookup table.

[0034] FIG. 10 is an explanatory diagram showing a correction method when the target position is not included in the graphic for control position correction. In this example, the target position RPt is not included in either of the two graphics GC31 and GC32. More specifically, the target position RPt is located between the two graphics GC31 and GC32. In this way, when M is an integer equal to or greater than 2, M graphics for control position correction are set, and when the target position RPt is not included in any of the M graphics, it is preferable that the two graphics GC31 and GC32 closest to the target position RPt are selected as the target graphics. In this case, in each of the two target graphics GC31 and GC32, the corresponding target positions RP31 and RP32 corresponding to the target position RPt are determined, and the corresponding target control positions, which are the control positions for the corresponding target positions RP31 and RP32, are calculated using a conversion function. Then, the target control position for the target position RPt can be calculated by performing an interpolation calculation using the corresponding target control positions calculated in the two target graphics GC31 and GC32. By performing such processing, even if the target position is not included in any of the M figures, the target position in the real space can be correctly converted into the target control position in the robot control coordinate system by using the interpolation calculation. In the example of FIG. 10, the corresponding target position RP31 is the point in the target figure GC31 that is the shortest distance from the target position RPt. The corresponding target position RP32 is the same. However, the corresponding target positions RP31 and RP32 may be determined by other methods. Note that, although it is preferable to select two target figures because the processing is simple, three or more figures may be selected. Such conversion of the target position using the interpolation calculation can also be applied when the figure for correcting the control position is a three-dimensional figure. Various interpolation formulas such as linear interpolation can be used for the interpolation calculation.

[0035] FIG. 11 is an explanatory diagram showing another correction method when the target position is not included in the graphic for correcting the control position. This example is the same as the case of FIG. 10 in that the target position RPt is not included in any of the graphics for correcting the control position, but is different from FIG. 10 in that the target position RPt exists outside the graphic GC41 that is closest to the target position RPt. In this disclosure, the phrase "exists outside the graphic" means that the target position RPt is not sandwiched between any two of the M graphics, where M is an integer equal to or greater than 2. In such a case, it is preferable to set a virtual real reference position VRP. In this real reference position VRP, it is assumed that the real position and the control position coincide with each other. In addition, when the graphic GC41 is a planar graphic, it is preferable that the real reference position VRP is set on the plane PL41 on which the graphic GC41 exists. The control position determination unit 312 sets a virtual graphic VGC including the target position RPt using this virtual real reference position VRP and two real reference positions RP41, RP42 selected from the three real reference positions RP1 to RP43 that constitute the vertices of the graphic GC41. In addition, the control position determination unit 312 generates a conversion function that represents the correspondence relationship between the actual position and the control position in the virtual graphic VGC. If the target control position for the target position RPt is calculated using the conversion function in the virtual graphic VGC, the control error can be prevented from becoming excessively large compared to the case where the target control position for the target position RPt is calculated using an extrapolation calculation. In particular, since the virtual real reference position VRP assumes that the actual position and the control position are the same, there is an advantage that the control error does not become excessively large even when the target position RPt is located at a position away from the graphic GC41.

[0036] It is preferable that the virtual real reference position VRP is set sufficiently far away from the figure GC41. For example, it is preferable that the virtual real reference position VRP is set outside the operating range of the control point TCP of the robot 100. In addition, various methods can be adopted as a method for determining a specific position of the virtual real reference position VRP. For example, the center of gravity of a triangle formed by the target position RPt and the two real reference positions RP41, RP42 may be obtained, and a position on a straight line connecting the center of gravity and the target position RPt, which is a predetermined distance from the target position RPt, may be set as the virtual real reference position VRP.

[0037] Setting of a figure using a virtual real reference position VRP and generation of a conversion function can also be applied when the figure for control position correction is a three-dimensional figure. When the figure for control position correction is a three-dimensional figure having n vertices (where n is an integer equal to or greater than 4), a virtual figure VGC can be set using the real reference positions of the (n-1) vertices of the figure closest to the target position RPt and the virtual real reference position VRP.

[0038] If the target position RPt is not included in any of the figures for position control correction, a figure closest to the target position RPt may be selected as the target figure. In this case, a conversion function for that figure can be used to find a target control position corresponding to the target position RPt. In this way, even if the target position RPt is not included in any of the figures for position control correction, the figure closest to the target position is used to convert the target position RPt in the real space into a target control position in the robot control coordinate system, so that it is possible to prevent the error from becoming excessively large.

[0039] FIG. 12 is an explanatory diagram showing another example of the figure for correcting the control position. In this example, a solid figure GC51 is set in the real space as the figure for correcting the control position. When using such a solid figure, it is preferable to arrange M solid figures in the real space without gaps, where M is an integer equal to or greater than 2. In this way, the target position can be correctly converted into the target control position in the robot control coordinate system by using a conversion function in the solid figure including the target position. The conversion function in this case may be created as, for example, a lookup table.

[0040] In addition, when M solid figures are arranged in the real space without gaps, if the target position RPt is set near the outer edge of the operating area of ​​the robot 100, the target position RPt may be located outside the M solid figures and may not be included in any of the M figures. In this case, it is preferable to select the figure GC51 closest to the target position RPt as the target figure, determine the corresponding target position RP31 corresponding to the target position RPt in the selected target figure GC51, and calculate the corresponding target control position for the corresponding target position RP51 using a conversion function. In this case, the target control position for the target position RPt may be calculated by performing an extrapolation operation using the calculated corresponding target control position. In this way, even if the target position is not included in any of the M figures, the target position can be converted to the target control position of the robot control coordinate system with high accuracy. In the example of FIG. 12, the corresponding target position RP51 is the point in the target figure GC51 that is the shortest distance from the target position RPt. However, the corresponding target position RP51 may be determined by other methods. It is preferable to select one target graphic because the process is simple, but two or more graphics may be selected.

[0041] FIG. 13 is an explanatory diagram showing yet another example of a figure for correcting a control position. In this example, a solid figure GC61 is set as a figure for correcting a control position in a three-dimensional space defined by the X-axis, Y-axis, and U-axis of a SCARA robot. The U-axis is an axis representing the rotation angle of the first joint. In this way, a figure for correcting a control position may be set in a real space having axes representing not only a position but also a posture depending on a rotation angle. This point is similar to other types of robots such as a vertical articulated robot.

[0042] In general, an articulated robot can control not only the position of the control point TCP but also its posture. Therefore, a figure for position and posture control correction may be set in a multidimensional space that takes into account all the positions and postures of the control point TCP, and the control position may be corrected using a conversion function applied to each figure. For example, in the case of the six-axis robot shown in Figure 1, a figure for position and posture control correction can be set in a six-dimensional space that takes into account all the positions and postures.

[0043] When both the position and the posture are converted by the conversion function, in steps S110 to S120 in FIG. 4, N actual reference postures, which are postures of the robot 100 at the N actual reference positions, and N target control postures, which are control postures at the N target control positions, are also acquired. In step S140, the conversion function is generated so as to express the relationship between the actual posture and the control posture in each of the M figures. Furthermore, in step S210, input of the target posture is accepted together with the target position. In step S230, the target control posture for the target posture is calculated using the conversion function, and in step S240, the operation command is written using the target control posture together with the target control position. In this way, not only the target position but also the target posture is converted using the conversion function, so that the accuracy of both the position control and posture control of the robot 100 can be improved.

[0044] Further embodiments: The present disclosure is not limited to the above-mentioned embodiment, and can be realized in various forms without departing from the spirit of the present disclosure. For example, the present disclosure can be realized in the following aspects. The technical features in the above-mentioned embodiments corresponding to the technical features in each aspect described below can be appropriately replaced or combined in order to solve some or all of the problems of the present disclosure, or to achieve some or all of the effects of the present disclosure. Furthermore, if the technical feature is not described as essential in this specification, it can be appropriately deleted.

[0045] (1) According to a first aspect of the present disclosure, there is provided a method for determining a control position of a robot, the method including: (a) acquiring N real reference positions in a real space, where N is an integer of 3 or more, and N control reference positions in a robot control coordinate system when a control point of the robot is located at each of the N real reference positions, (b) setting M figures in the real space, where M is an integer of 1 or more, each of which has a plurality of real reference positions among the N real reference positions as vertices, and determining a transformation function that represents a correspondence relationship between an actual position and a control position in each figure, (c) accepting an input of a target position of the control point in the real space, (d) selecting a target figure from among the M figures for calculating a control position for the target position, and (e) calculating a target control position, which is a control position in the robot control coordinate system for the target position, using the transformation function for the target figure. According to this method, a transformation function within a figure set in real space is used to transform a target position in the real space into a target control position in the robot control coordinate system, thereby improving the accuracy of robot position control.

[0046] (2) In the above method, M may be an integer of 2 or more, and step (d) may include a step of selecting, when the target position is not included in any of the M figures, two or more figures closest to the target position as the target figures, and step (e) may include a step of (e1) calculating, in each of the two or more target figures, a corresponding target control position which is a control position for a corresponding target position corresponding to the target position, and (e2) calculating the target control position for the target position by performing an interpolation calculation using the corresponding target control positions calculated in the two or more target figures. According to this method, even if the target position is not included in any of the M figures, the target position in the real space can be converted with high accuracy into a target control position in the robot control coordinate system by using an interpolation calculation.

[0047] (3) In the above method, the step (d) may include a step of selecting, when the target position is not included in any of the M figures, a figure that is closest to the target position among the M figures as the target figure. According to this method, even if the target position is not included in any of the M figures, the figure closest to the target position is used to convert the target position in real space into the target control position in the robot control coordinate system, thereby preventing the error from becoming excessively large.

[0048] (4) In the above method, the step (d) may include, when the target position is not included in any of the M figures, (d1) a step of setting a virtual real reference position where the actual position and the control position coincide, (d2) a step of setting a virtual figure including the target position using the virtual real reference position and a plurality of actual reference positions selected from the N real reference positions, and selecting the virtual figure as the target figure, and (d3) a step of calculating a conversion function that represents the correspondence between the actual position and the control position in the virtual figure. According to this method, even if the target position is not included in any of the M figures, the target position in real space is converted into a target control position in the robot control coordinate system by using a virtual figure set using a virtual real reference position, thereby preventing the error from becoming excessively large.

[0049] (5) In the above method, M may be an integer of 2 or more, and the M figures may be M three-dimensional figures arranged in the real space with no gaps between them. According to this method, the target position can be converted with high accuracy into the target control position in the robot control coordinate system by using a conversion function in a figure including the target position.

[0050] (6) In the above method, the step (d) may include a step of selecting one or more figures closest to the target position as the target figures when the target position is not included in any of the M figures, and the step (e) may include a step of (e1) calculating, in each of the one or more target figures, a corresponding target control position which is a control position for a corresponding target position corresponding to the target position, and (e2) calculating the target control position for the target position by performing an extrapolation operation using the corresponding target control position calculated in the one or more target figures. According to this method, even if the target position is not included in any of the M figures, the target position can be converted with high accuracy into a target control position in the robot control coordinate system by using extrapolation.

[0051] (7) The above method may further include the steps of: (i) determining a position control error when the robot is controlled using the target control position; (ii) if the position control error exceeds a predetermined threshold, acquiring N+1 or more actual reference positions and N+1 or more control reference positions by adding one or more new actual reference positions and one or more new control reference positions; and (iii) increasing M by re-executing step (b) using the N+1 or more actual reference positions and the N+1 or more control reference positions. According to this method, when the position control error exceeds the threshold value, the actual reference position and the control reference position are added, so that the position control error can be reduced to below the threshold value.

[0052] (8) In the above method, one of the actual reference position and the control reference position may be selected by an operator. According to this method, one of the actual reference position and the control reference position is selected by the operator, so that the operator can arbitrarily select an area in which the accuracy of position control is improved.

[0053] (9) In the above method, the step (a) may include a step of determining N actual reference postures which are postures of the robot at the N actual reference positions, and N target control postures which are control postures at the N target control positions; in the step (b), the transformation function is generated so as to represent the relationship between the actual posture and the control posture in each of the M figures; the step (c) may include a step of accepting a target posture together with the target position; and the step (e) may include a step of calculating, using the transformation function, a target control posture which is a control posture in the robot control coordinate system for the target posture. According to this method, since not only the target position but also the target attitude is transformed using a transformation function, it is possible to improve the accuracy of both the position control and the attitude control of the robot.

[0054] (10) According to a second embodiment of the present disclosure, there is provided a robot system for determining a control position of a robot. The robot system includes a robot and a control unit for controlling the robot. The control unit executes the following processes: (a) acquiring N real reference positions in a real space, where N is an integer of 3 or more, and N control reference positions in a robot control coordinate system when a control point of the robot is located at each of the N real reference positions; (b) setting M figures in the real space, where M is an integer of 1 or more, each of which has a plurality of real reference positions among the N real reference positions as vertices, and determining a conversion function that represents a correspondence relationship between an actual position and a control position in each figure; (c) accepting an input of a target position of the control point in the real space; (d) selecting a target figure from among the M figures for calculating a control position for the target position; and (e) calculating a target control position, which is a control position in the robot control coordinate system for the target position, using the conversion function for the target figure. According to this robot system, a transformation function within a figure set in real space is used to transform a target position in the real space into a target control position in the robot control coordinate system, thereby improving the accuracy of robot position control.

[0055] The present disclosure may be realized in various forms other than those described above, such as a robot system including a robot and a robot control device, a computer program for implementing the functions of the robot control device, a non-transitory storage medium on which the computer program is recorded, etc. [Explanation of symbols]

[0056] 100...robot, 110...base, 120...arm, 122...arm end, 150...end effector, 200...control device, 300...information processing device, 310...processor, 312...control position determination unit, 320...memory, 330...interface circuit, 350...display unit, 400...base, 410...positioning jig, 420...three-dimensional measuring device, 430...positioning jig, 431...substrate, 432...wall portion, 440...positioning auxiliary device

Claims

1. 1. A method for determining a control position of a robot, comprising: (a) N real reference positions in a real space, where N is an integer equal to or greater than 4, and When the control point of the robot is located at each of the N and acquiring a control reference position of the (b) defining a plurality of real reference positions among the N real reference positions, where M is an integer of 2 or more; M figures each having a vertex are set in the real space, and the real positions in each figure are determining a conversion function that represents a correspondence relationship between the control position and the (c) receiving an input of a target position of the control point in the real space; (d) a target figure for calculating a control position for the target position from among the M figures; Selecting a shape; (e) using the transformation function for the target figure to calculate the robot position relative to the target position. A step of calculating a target control position which is a control position in a control coordinate system; Including, one of the actual reference position and the control reference position is arbitrarily selected by an operator; The step (b) is a step of dividing a region surrounded by the N actual reference positions into a region surrounded by the N actual reference positions. a step of dividing the actual reference position into a plurality of triangles surrounded by three of the actual reference positions, Each of said M shapes includes at least one of said triangles.

2. A method for determining a control position of a robot, comprising: (a) N real reference positions in a real space, where N is an integer equal to or greater than 4, and When the control point of the robot is located at each of the N and acquiring a control reference position of the (b) defining a plurality of real reference positions among the N real reference positions, where M is an integer of 2 or more; M figures each having a vertex are set in the real space, and the real positions in each figure are determining a conversion function that represents a correspondence relationship between the control position and the (c) receiving an input of a target position of the control point in the real space; (d) a target figure for calculating a control position for the target position from among the M figures; Selecting a shape; (e) using the transformation function for the target figure to calculate the robot position relative to the target position. A step of calculating a target control position which is a control position in a control coordinate system; Including, The step (d) is a step of: selecting two or more geometric figures that are closest to the target position as the target geometric figures; The step (e) (e1) in each of the two or more target figures, a corresponding target corresponding to the target position; calculating a corresponding target control position which is a control position for the position; (e2) Interpolation using the corresponding target control positions calculated in the two or more target figures. calculating the target control position for the target position by performing a calculation; Including, The corresponding target position is a point in the target figure that is the shortest distance from the target position. method.

3. 2. The method of claim 1 , The step (d) If the target position is not included in any of the M figures, selecting a graphic that is closest to the target position as the target graphic; A method comprising:

4. A method for determining a control position of a robot, comprising: (a) N real reference positions in a real space, where N is an integer equal to or greater than 4, and When the control point of the robot is located at each of the N and acquiring a control reference position of the (b) defining a plurality of real reference positions among the N real reference positions, where M is an integer of 2 or more; M figures each having a vertex are set in the real space, and the real positions in each figure are determining a conversion function that represents a correspondence relationship between the control position and the (c) receiving an input of a target position of the control point in the real space; (d) a target figure for calculating a control position for the target position from among the M figures; Selecting a shape; (e) using the transformation function for the target figure to calculate the robot position relative to the target position. A step of calculating a target control position which is a control position in a control coordinate system; Including, When the target position is not included in any of the M figures, the step (d) (d1) A process of setting a virtual actual reference position on the assumption that the actual position and the control position coincide with each other. With (d2) determining whether the virtual real reference position and a plurality of real reference positions selected from the N real reference positions are the same; A virtual figure including the target position is set using the target position, and the virtual figure is set as the target figure. and selecting (d3) A conversion function is obtained that expresses the correspondence between the actual position and the control position in the virtual figure. The process and Including, The virtual real reference position is the target position and two positions before the N real reference positions. The center of gravity of the triangle formed by the actual reference position is calculated, and the center of gravity is calculated on the straight line connecting the center of gravity and the target position. wherein the target position is set at a predetermined distance from the target position.

5. 2. The method of claim 1 , The M figures are located on the outer side of the N real reference positions in the real space. A method according to claim 1, wherein M solid figures are arranged without gaps inside the real reference position.

6. A method for determining a control position of a robot, comprising: (a) N real reference positions in a real space, where N is an integer equal to or greater than 4, and When the control point of the robot is located at each of the N and acquiring a control reference position of the (b) defining a plurality of real reference positions among the N real reference positions, where M is an integer of 2 or more; M figures each having a vertex are set in the real space, and the real positions in each figure are determining a conversion function that represents a correspondence relationship between the control position and the (c) receiving an input of a target position of the control point in the real space; (d) a target figure for calculating a control position for the target position from among the M figures; Selecting a shape; (e) using the transformation function for the target figure to calculate the robot position relative to the target position. A step of calculating a target control position which is a control position in a control coordinate system; Including, The M figures are located on the outer side of the N real reference positions in the real space. M solid figures are arranged without gaps inside the actual reference position, The step (d) is a step of: selecting one or more target figures that are closest to the target position; The step (e) (e1) a corresponding target corresponding to the target position in each of the one or more target figures; calculating a corresponding target control position which is a control position for the position; (e2) extrapolating using the corresponding target control positions calculated in the one or more object figures; calculating the target control position for the target position by performing a calculation; Including, The corresponding target position is a point in the target figure that is the shortest distance from the target position. method.

7. The method according to any one of claims 1 to 6, further comprising: (i) determining a position control error when the robot is controlled using the target control position; With (ii) if the position control error exceeds a predetermined threshold, generating one or more new By adding the actual reference position and one or more new control reference positions, N+1 or more actual obtaining a reference position and N+1 or more control reference positions; (iii) using the N+1 or more actual reference positions and the N+1 or more control reference positions increasing M by performing step (b) again; A method comprising:

8. 10. The method according to claim 2, 4 or 6, wherein one of the actual reference position and the control reference position is selected by an operator. 。

9. The method according to any one of claims 1 to 8, The step (a) is a step of calculating N actual reference positions, which are postures of the robot at the N actual reference positions. A reference attitude and N target control attitudes which are control attitudes at the N target control positions are obtained. The method includes the step of: In the step (b), the transformation function is a function of the actual orientation of each of the M figures. It is generated to represent the relationship with the control posture, The step (c) includes accepting a target attitude together with the target position; The step (e) uses the transformation function to calculate the robot control coordinate system for the target posture. calculating a target control attitude, the control attitude being in a reference frame.

10. A robot system for determining a control position of a robot, comprising: Robots and A control unit for controlling the robot; Equipped with The control unit is (a) N real reference positions in a real space, where N is an integer equal to or greater than 4, and When the control point of the robot is located at each of the N A process of acquiring a control reference position of the (b) defining a plurality of real reference positions among the N real reference positions, where M is an integer of 2 or more; M figures each having a vertex are set in the real space, and the real positions in each figure are A process of calculating a conversion function that represents a correspondence relationship between the control position and the (c) receiving an input of a target position of the control point in the real space; (d) a target figure for calculating a control position for the target position from among the M figures; The process of selecting a shape; (e) using the transformation function for the target figure to calculate the robot position relative to the target position. A process of calculating a target control position which is a control position in a control coordinate system; Run one of the actual reference position and the control reference position is arbitrarily selected by an operator; The step (b) is a step of dividing a region surrounded by the N actual reference positions into a region surrounded by the N actual reference positions. a step of dividing the actual reference position into a plurality of triangles surrounded by three of the actual reference positions, Each of the M figures includes at least one of the triangles.

Citation Information

Patent Citations

  • Method for correcting mechanism error of industrial robot

    JP1996290380A

  • Robot, robot control device and robot system

    JP2016221645A

  • Robot control device for calibration, measuring system, and calibration method

    JP2019055469A

  • Work robot and work position correction method

    WO2018092236A1