Control device, robot system, learning device, robot control method, and program

By generating a correction model for reducing geometric deformation, the robot is corrected for motion data, which solves the problems of low motion accuracy and difficult management of robots under complex trajectories in the prior art, and achieves high-precision and efficient motion management.

CN119173359APending Publication Date: 2024-12-20MITSUBISHI ELECTRIC CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202280096033.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-05-18
Filing Date
2022-09-22
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

The prior art is difficult to enable robots to operate with high precision under complex target trajectories, resulting in management difficulties, and frequent teaching point calculations lead to long time consumption.

Method used

The data acquisition unit and the first learning unit generate a correction model for reducing geometric deformation, correct the action data of the robot, and control it with the correction model to approach the ideal trajectory.

Benefits of technology

It realizes high-precision actions of the robot, simplifies management processes, reduces trajectory errors, and improves action efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119173359A_ABST
    Figure CN119173359A_ABST
Patent Text Reader

Abstract

A control device (1) is provided with a data acquisition unit (11), a robot control unit, and a first learning unit (14). The first learning unit (14) learns the robot (10) on the basis of data of a first trajectory, which is an actual trajectory of the robot (10), and data of a first ideal trajectory, which is an ideal trajectory in which the robot (10) should operate, when the robot control unit controls the robot (10) on the basis of the first learning data acquired by the data acquisition unit (11). A geometric deformation of the first trajectory with respect to the first ideal trajectory is determined, and a first correction model for correcting the motion data for reducing the determined geometric deformation is generated on the basis of the determined geometric deformation and the motion data of the first learning data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a control device, a robot system, a learning device, a robot control method, and a program. Background Art

[0002] A robot has a plurality of links and a plurality of joints connecting the links to each other in order to be able to perform various actions, and performs the desired actions by controlling the servo motors that drive the joints respectively. In such a robot, when there is a difference in the delay of the servo motors in response to the instructions, the action of the robot may deviate from the target action. For example, the trajectory of the front end link located at the front end of the plurality of links may deviate from the target trajectory. Therefore, a technology has been developed to make the actual trajectory of the robot close to the ideal trajectory.

[0003] For example, Patent Document 1 discloses a teaching device that measures the actual trajectory of a robot, calculates a teaching point that minimizes the error based on the distance between the actual trajectory and the target trajectory, i.e., the trajectory error, and teaches the robot the position. The teaching device described in Patent Document 1 controls the robot based on the teaching point, thereby reducing the trajectory error.

[0004] Prior art literature

[0005] Patent Literature

[0006] Patent Document 1: Japanese Patent Application Laid-Open No. 11-048176 Summary of the invention

[0007] Problem that the invention aims to solve

[0008] The teaching device described in Patent Document 1 repeatedly calculates teaching points and controls the robot based on the teaching points until the trajectory error becomes below the allowable value. When the target trajectory is complex, the number of teaching points increases, resulting in a longer time until the trajectory error converges to below the allowable value. As a result, it is difficult to make the actual trajectory of the robot approach the target trajectory through the teaching device. As a result, it is difficult to make the robot move with high precision.

[0009] Furthermore, it is difficult to operate the robot with high precision, and as a result, the management of the robot becomes difficult.

[0010] The present disclosure has been made to solve the above-mentioned problems, and an object of the present disclosure is to provide a control device, a robot system, a learning device, a robot control method, and a program that can cause a robot to operate with high precision and that can easily manage the robot.

[0011] Means used to solve problems

[0012] In order to achieve the above-mentioned object, the control device disclosed in the present invention comprises a data acquisition unit, a robot control unit and a first learning unit. The data acquisition unit acquires any data from among motion data and first learning data, the motion data representing the motion trajectory of the robot including at least the motion start point at which the robot starts motion and the motion end point at which the robot ends motion, the first learning data including data representing the first learning trajectory of the robot, the first learning trajectory of the robot including at least the first learning motion start point at which the robot starts motion and the first learning motion end point at which the robot ends motion. The robot control unit controls the robot based on the motion data acquired by the data acquisition unit and any data from among the first learning data. The first learning unit obtains the geometric deformation of the first trajectory relative to the first ideal trajectory based on the data of the first trajectory, which is the actual trajectory of the robot when the robot control unit controls the robot based on the first learning data acquired by the data acquisition unit, and the data of the first ideal trajectory, which is the ideal trajectory that the robot should move, and generates a first correction model for correcting the motion data for reducing the obtained geometric deformation based on the obtained geometric deformation and the motion data of the first learning data. When controlling the robot based on the motion data acquired by the data acquisition unit, the robot control unit calibrates the motion data using the first correction model to calculate the corrected motion data, and controls the robot using the calculated corrected motion data.

[0013] Effects of the Invention

[0014] According to the structure of the present disclosure, when the robot control unit controls the robot based on the motion data acquired by the data acquisition unit, the robot control unit uses the first correction model generated by the first learning unit to reduce the geometric deformation to correct the motion data, thereby calculating the corrected motion data, and controlling the robot according to the calculated corrected motion data. Therefore, the control device can make the robot move with high precision. In addition, as a result of being able to make the robot move with high precision, the robot can be easily managed. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 This is a perspective view of a robot controlled by the control device according to Embodiment 1 of the present disclosure.

[0016] Figure 2 This is a side view of the robot controlled by the control device according to Embodiment 1 of the present disclosure.

[0017] Figure 3 This is a hardware configuration diagram of the control device according to Embodiment 1 of the present disclosure.

[0018] Figure 4 This is a block diagram of the control device according to Embodiment 1 of the present disclosure.

[0019] Figure 5 This is a flowchart of a learning process performed by the control device according to Embodiment 1 of the present disclosure.

[0020] Figure 6 This is a flowchart of a first process included in the learning process performed by the control device according to Embodiment 1 of the present disclosure.

[0021] Figure 7 This is a diagram showing an example of first learning data used in a first process included in a learning process performed by the control device according to Embodiment 1 of the present disclosure.

[0022] Figure 8 This is a conceptual diagram showing a trajectory represented by first learning data used in a first process included in a learning process performed by the control device according to Embodiment 1 of the present disclosure.

[0023] Fig. 9 This is a flowchart of the second process included in the learning process performed by the control device according to the first embodiment of the present disclosure.

[0024] Fig.10 This is a diagram showing an example of second learning data used in the second process included in the learning process performed by the control device according to Embodiment 1 of the present disclosure.

[0025] Fig.11A This is a conceptual diagram showing the actual trajectory and the ideal trajectory of the robot acquired in the second process included in the learning process performed by the control device according to the first embodiment of the present disclosure.

[0026] Fig. 11B This is a conceptual diagram showing the relationship between the error of the correction trajectory obtained in the second process included in the learning process performed by the control device according to the first embodiment of the present disclosure and the error of the actual trajectory.

[0027] Fig. 11C This is a conceptual diagram showing the distribution of errors in the correction trajectory and the distribution of errors in the actual trajectory obtained in the second process included in the learning process performed by the control device according to the first embodiment of the present disclosure.

[0028] Fig.11D This is a conceptual diagram of a correction trajectory obtained in the second process included in the learning process performed by the control device according to the first embodiment of the present disclosure.

[0029] Fig.11E This is a conceptual diagram showing an actual trajectory when the robot is operated using the correction trajectory obtained in the second process included in the learning process performed by the control device according to the first embodiment of the present disclosure.

[0030] Fig.12This is a flowchart of operation processing performed by the control device according to Embodiment 1 of the present disclosure.

[0031] Fig.13 This is a conceptual diagram showing the distribution of errors in an actual trajectory used in the second process included in the learning process performed by the control device according to the second embodiment of the present disclosure. DETAILED DESCRIPTION

[0032] Hereinafter, the control device, robot system, learning device, robot control method and program of the embodiment 1 of the present disclosure are described in detail with reference to the accompanying drawings. In addition, in the drawings, the same reference numerals are given to the same or equivalent parts. In addition, in the orthogonal coordinate system XYZ shown in the figure, the vertical direction when the axis of the base of the robot is oriented in the vertical direction and the plate surface of the fixing part is parallel to the horizontal direction is the Z axis, and the horizontal direction is the XY plane.

[0033] (Implementation Method 1)

[0034] In order to control the robot with higher precision, the control device of the first embodiment performs a learning process to correct the geometric deviation of the actual trajectory of the robot relative to the ideal trajectory before use. The following describes the structure of the control device by taking the case where the object of the control device is a vertical multi-joint robot as an example. First, refer to Figure 1 and Figure 2 , the structure of the vertical multi-articular robot which is the control object is explained.

[0035] Figure 1 This is a perspective view of the robot 10 controlled by the control device according to the first embodiment. Figure 2 is a side view of the robot 10 .

[0036] like Figure 1 and Figure 2 As shown, the robot 10 includes a base 110 , a first arm 120 , a second arm 130 , a third arm 140 , a fourth arm 150 , a fifth arm 160 , and a flange 170 , each of which functions as a link.

[0037] The base 110 is formed in a cylindrical shape, and the axis AX1 of the cylinder is oriented in the vertical direction, that is, the Z direction. In addition, a flat plate-shaped fixing portion 180 is provided at the -Z end of the base 110. In addition, the fixing portion 180 is fixed to the installation position having a horizontal plane, that is, a plane parallel to the XY plane. As a result, the base 110 is fixed to the installation position via the fixing portion 180. On the other hand, the +Z end of the base 110 is connected to the first arm 120.

[0038] The first arm 120 is mounted on the base 110 in a state where it can rotate around the above-mentioned axis AX1 extending in the Z direction. In addition, the second arm 130 is connected to the first arm 120 and can rotate around the axis AX2 extending in the horizontal direction. The third arm 140 is connected to the second arm 130 and can rotate around the axis AX3 extending in the horizontal direction. The fourth arm 150 is connected to the third arm 140 and can rotate around the axis AX4 extending in the horizontal direction. The fifth arm 160 is connected to the fourth arm 150 and can rotate around the axis AX5 extending in the horizontal direction. The flange 170 is connected to the fifth arm 160 and can rotate around the axis AX6 extending from the axis AX5 to the radial direction of the circle centered on the axis AX5. In addition, cutting tools, grinding tools and other processing tools can be installed on the flange 170.

[0039] The robot 10 has the above-mentioned structure and has six joints corresponding to the axes AX1-AX6. In addition, the robot 10 has motors M1-M6 at each joint in order to rotate the first arm 120-the fifth arm 160 and the flange 170 around the axes AX1-AX6. Figure 1 and Figure 2 The robot 10 rotates the motors M1-M6 by the desired rotation amount, thereby moving the flange 170 to the desired position. For example, when a tool is mounted on the flange 170, the robot 10 moves the tool to the desired position. Furthermore, the robot 10 changes the rotation amount of each of the motors M1-M6 with the passage of time, thereby moving the flange 170 along a desired trajectory from a specific action start point to a specific action end point.

[0040] However, the motors M1 to M6 operate with a delay relative to the command from the control device. If the delay in such operation is different in the motors M1 to M6, the trajectory of the flange 170, that is, the trajectory of the robot 10, may deviate from the ideal trajectory.

[0041] Therefore, the control device performs a learning process for correcting the geometric deviation of the actual trajectory of the robot 10 from the ideal trajectory before actually operating the robot 10. Then, the control device performs an operation process for actually operating the robot 10 based on the learning process.

[0042] Here, in this specification, the process of generating data for correcting the deviation of the actual trajectory from the ideal trajectory is referred to as learning processing. In addition, this learning processing is a type of so-called robot teaching, so it is referred to as teaching processing, and the learning data used for the learning processing is referred to as teaching data.

[0043] Next, refer to Figure 3-Figure 4 , the structure of the control device that performs such learning processing and application processing is explained.

[0044] Figure 3 This is a hardware configuration diagram of the control device 1 according to the first embodiment. Figure 4 is a block diagram of the control device 1. Figure 3 and Figure 4 In order to facilitate understanding, the overall structure of a robot system 100 including a robot 10 and a control device 1 is shown.

[0045] like Figure 3 As shown, the control device 1 includes a processor 31 , a memory 32 , and an interface 33 . The processor 31 , the memory 32 , and the interface 33 are connected via a bus 34 .

[0046] The interface 33 connects the processor 31 and the memory 32 to an external device so that communication with the external device is possible. Specifically, the interface 33 is connected to a wireless module (not shown). Figure 3 As shown, the processor 31 and the memory 32 can communicate with the operation terminal 20 via the Internet. In addition, the interface 33 is connected to the motors M1-M6 and the encoders E1-E6 equipped in the robot 10.

[0047] The motors M1 to M6 are respectively used to make the first arm 120, the second arm 130, the third arm 140, the fourth arm 150, the fifth arm 160 and the flange 170 rotate around Figure 1 and Figure 2 The axes AX1-AX6 shown are arranged to rotate. In order to control the rotational positions of the first arm 120, the second arm 130, the third arm 140, the fourth arm 150, the fifth arm 160 and the flange 170, servo motors are used for the motors M1-M6. The motors M1-M6 rotate to move the joints of the robot 10.

[0048] On the other hand, the encoders E1 to E6 detect the rotation amount of the shaft of each of the motors M1 to M6 , more specifically, the rotation position of the shaft. Thus, the encoders E1 to E6 detect the motion of the joints described above.

[0049] Return to Figure 3 The interface 33 is connected to the motors M1 - M6 and the encoders E1 - E6 , and can transmit and receive data between these devices and the processor 31 and the memory 32 .

[0050] The processor 31 and the memory 32 constitute a computer. The control device 1 performs various processes for controlling the motors M1 to M6 and the encoders E1 to E6 of the robot 10 by the processor 31 reading and executing various programs stored in the memory 32 .

[0051] For example, the control device 1 reads out and executes the learning program stored in the memory 32 to perform a learning process for correcting the deviation of the actual trajectory of the robot 10. In addition, the control device 1 reads out and executes the operation program stored in the memory 32 to perform the operation process of the robot 10 based on the learning process. In order to perform these learning processes and operation processes, the control device 1 has a configuration as follows: Figure 4 Specifically, the control device 1 includes a data acquisition unit 11, a trajectory determination unit 12, a control unit 13, a first learning unit 14, a second learning unit 15, and a trajectory acquisition unit 16. Next, their configurations will be described.

[0052] In addition, in order to perform the above-mentioned learning process, a learning instruction is input from the input device provided in the operation terminal 20 to the control device 1. Alternatively, in order to perform the above-mentioned operation process, an operation instruction is input from the input device. Hereinafter, the time when the learning process is performed by inputting the learning instruction is referred to as the learning process, and the time when the operation process is performed by inputting the operation instruction is referred to as the operation process.

[0053] The data acquisition unit 11 acquires the motion data from the first learning data storage unit 17 and the second learning data storage unit 18 during the learning process.

[0054] Specifically, the first learning data storage unit 17 stores first learning data including motion data of the robot 10 used in the learning process. In addition, the second learning data storage unit 18 stores second learning data including another motion data used in the learning process. During the learning process, the data acquisition unit 11 reads the first learning data or the second learning data from the first learning data storage unit 17 or the second learning data storage unit 18 to acquire the motion data included in the data.

[0055] Note that the operation data is included in the operation command input from the input device of the operation terminal 20. The data acquisition unit 11 acquires the operation data from the input operation command during the operation process.

[0056] Here, the motion data is data indicating the motion trajectory of the robot 10, and the motion trajectory of the robot 10 includes at least the motion start point where the robot 10 starts the motion and the motion end point where the robot 10 ends the motion. Specifically, the motion data is data including at least the coordinates of the motion start point and the motion end point of the flange 170 provided to the robot 10, and including the coordinates of the intermediate point between which the flange 170 should pass. The motion data is also called the driving condition data.

[0057] After acquiring the motion data, the data acquisition unit 11 transmits the acquired motion data to the trajectory determination unit 12 .

[0058] The trajectory determination unit 12 determines the trajectory of the robot 10 , that is, the trajectory of the flange 170 , based on the motion data received from the data acquisition unit 11 .

[0059] Specifically, during the learning process, the trajectory determination unit 12 determines the trajectory of the flange 170 based on the motion data received from the data acquisition unit 11 and included in the first learning data or the second learning data. Then, the trajectory determination unit 12 sends the determined trajectory data to the control unit 13.

[0060] During the operation process, the trajectory determination unit 12 uses the first correction model and the second correction model of the learned data storage unit 19 to determine the trajectory of the flange 170. Specifically, the learned data storage unit 19 stores the first correction model and the second correction model, which are generated by the first learning unit 14 and the second learning unit 15 and are described later. During the operation process, the trajectory determination unit 12 reads the first correction model and the second correction model from the learned data storage unit 19, and uses the read first correction model and the second correction model to correct the motion data received from the data acquisition unit 11, thereby determining the trajectory of the flange 170. Thus, the trajectory determination unit 12 corrects the deviation of the actual trajectory of the flange 170 from the ideal trajectory that occurs during the operation process. The trajectory determination unit 12 sends the data of the determined trajectory to the control unit 13.

[0061] The control unit 13 rotates the motors M1 to M6 of the robot 10 based on the trajectory data received from the trajectory determination unit 12. Thus, the control unit 13 causes the robot 10 to perform an action based on the action data of the first learning data or the second learning data during the learning process. In addition, the control unit 13 causes the robot 10 to perform an action based on the trajectory data after the offset is corrected during the operation process.

[0062] On the one hand, during the learning process, the first learning unit 14 sends a command to the control unit 13 to cause the robot 10 to perform an action based on the action data of the first learning data. On the other hand, during the learning process, the first learning unit 14 sends a command to the trajectory acquisition unit 16 to cause the trajectory acquisition unit 16 to acquire trajectory data generated by the action performed by the robot 10.

[0063] The trajectory acquisition unit 16 acquires the rotational positions of the motors M1-M6 detected by the encoders E1-E6 from the encoders E1-E6 of the robot 10 according to the command from the first learning unit 14. Then, the trajectory acquisition unit 16 acquires the rotational positions of the motors M1-M6 during the command from the first learning unit 14. The trajectory acquisition unit 16 uses the acquired rotational positions of the motors M1-M6 to obtain the position of the flange 170 of the robot 10, and further obtains the actual trajectory of the flange 170. The trajectory acquisition unit 16 sends the data of the obtained actual trajectory to the first learning unit 14.

[0064] The first learning unit 14 sets the trajectory data received from the trajectory determination unit 12 as ideal trajectory data. Then, during the learning process, the first learning unit 14 compares the ideal trajectory data with the actual trajectory data received from the trajectory acquisition unit 16 to obtain a geometric deformation of the actual trajectory with respect to the ideal trajectory.

[0065] The first learning unit 14 determines how the actual trajectory is geometrically deformed relative to the ideal trajectory, for example, whether a geometric transformation such as translation, rotation, enlargement, or reduction is performed, which will be described in detail later. Then, the first learning unit 14 stores the obtained geometric deformation data in the learned data storage unit 19 as a first correction model for correcting the actual trajectory.

[0066] On the other hand, after the learning of the first learning unit 14 is completed during the learning process, the second learning unit 15 sends a command to the control unit 13, thereby causing the robot 10 to perform the motion of the trajectory determined by the motion data included in the second learning data. Then, the second learning unit 15 sends a command to the trajectory acquisition unit 16 in the same manner as the first learning unit 14, so that the trajectory acquisition unit 16 acquires the data of the trajectory performed by the motion performed by the robot 10.

[0067] The second learning unit 15 obtains the data of the actual trajectory from the trajectory acquisition unit 16. In addition, the second learning unit 15 sets the data of the trajectory received from the trajectory determination unit 12 as the data of the ideal trajectory. Then, the second learning unit 15 compares the data of the ideal trajectory with the data of the actual trajectory, and obtains the positional offset of each part of the actual trajectory relative to each part of the ideal trajectory. The second learning unit 15 stores the obtained positional offset data as a second correction model for correcting the actual trajectory in the learned data storage unit 19, and the details of this will be described later.

[0068] As described above, the trajectory determination unit 12 uses the first correction model and the second correction model stored in the learned data storage unit 19 to correct the motion data input from the input device and determine the trajectory of the robot 10 during operation processing. Then, the control unit 13 rotates the motors M1-M6 respectively based on the trajectory derived from the corrected motion data. As a result, the control device 1 makes the actual trajectory of the robot 10 close to the ideal trajectory. As a result, the control device 1 corrects the deviation of the actual trajectory from the ideal trajectory.

[0069] Next, refer to Figure 5-Figure 10 , Figure 11A-11E , Fig.12 , the learning process and the operation process of the control device 1 will be described in further detail. First, the learning process of the control device 1 will be described.

[0070] Figure 5 This is a flowchart of the learning process performed by the control device 1. Figure 6 This is a flowchart of the first process included in the learning process. Figure 7 : is a figure which shows an example of the 1st learning data 27 used in the 1st process. Figure 8 It is a conceptual diagram showing a trajectory represented by the first learning data 27 . Fig. 9 This is a flowchart of the second process included in the learning process. Fig.10 : is a figure which shows an example of the second learning data 28 used in the second process.

[0071] First, the user inputs a learning instruction from the input device of the operation terminal 20. In the control device 1, after the learning instruction is input, the processor 31 reads out and executes the learning program stored in the memory 32. As a result, the flow of the learning process starts.

[0072] After starting the learning process, Figure 5 As shown, first, the first process is performed (step S1).

[0073] In the first process, if Figure 6 As shown, first, the data acquisition unit 11 acquires the first learning data 27 (step S11 ).

[0074] Specifically, the data acquisition unit 11 reads the first learning data 27 including the motion data of the robot 10 stored in the first learning data storage unit 17 .

[0075] In the first learning data 27, if Figure 7 As shown, the driving conditions for forming the trajectory represented by the action start point, action end point, and intermediate point, i.e., the action data, are associated with the geometric deformation conditions of the trajectory. Moreover, the geometric deformation conditions are represented by conditions such as translation, Z-axis rotation, and enlargement and reduction.

[0076] Here, the Z-axis rotation refers to a geometric transformation that rotates the trajectory around the Z-axis. In addition, the geometric deformation of the trajectory refers to deforming the trajectory by geometric transformation such as translation, rotation, enlargement and reduction.

[0077] In more detail, when Figure 7 and Figure 8 When the first learning data 27 is explained by taking the case shown as an example, No. 0 shows a trajectory from the action start point (0, 0, 0) through multiple intermediate points such as the intermediate point (50, 0, 0)... in the XYZ coordinate display and returns to the action end point (0, 0, 0) at the same position as the action start point. When the trajectory of No. 0 is called the basic trajectory, No. 1 shows the trajectory obtained by translating the basic trajectory by 5 in the Y direction. No. 2 shows the trajectory obtained by translating the basic trajectory by 1 in the X direction and 3 in the Y direction, and enlarging it by 105%. No. 3 shows the trajectory obtained by translating the basic trajectory by 2 in the X direction and 4 in the Y direction, rotating it by 5° around the Z axis, and enlarging it by 110%. In this way, in the first learning data 27, the data of the trajectory and the geometric deformation conditions of the trajectory are corresponded.

[0078] The data acquisition unit 11 reads the first learning data 27. Then, the data acquisition unit 11 calculates the coordinate data of each trajectory based on the geometric deformation conditions corresponding to the basic trajectory of the read first learning data 27. Thus, the data acquisition unit 11 obtains the motion data of the robot 10 that realizes each trajectory.

[0079] Next, if Figure 6 As shown, the trajectory determination unit 12 determines the first learning trajectory (step S12). Specifically, the trajectory determination unit 12 obtains the coordinate data of each trajectory based on the geometric deformation condition corresponding to the trajectory of the first learning data 27 obtained by the data acquisition unit 11. Then, the trajectory determination unit 12 selects one trajectory from the obtained multiple trajectories and sets the trajectory as the first learning trajectory. Thus, the trajectory determination unit 12 determines the first learning trajectory for causing the robot 10 to move.

[0080] Next, the first learning trajectory of the robot 10 is executed and the actual trajectory of the robot 10 is obtained (step S13). Specifically, the control unit 13 causes the robot 10 to move according to the first learning trajectory determined by the trajectory determination unit 12. Then, the trajectory acquisition unit 16 obtains data on the actual trajectory of the robot 10. Specifically, the trajectory acquisition unit 16 has a timing unit and uses the timing unit to perform timing. During the operation of the robot 10, the rotation positions of the axes of the motors M1-M6 detected by the encoders E1-E6 are obtained from the encoders E1-E6 of the robot 10 at each fixed time. The trajectory acquisition unit 16 uses the rotation positions of the axes of the motors M1-M6 obtained to obtain the position of the flange 170 of the robot 10 at each time. Furthermore, the trajectory acquisition unit 16 obtains the actual trajectory of the flange 170 based on the obtained position of the flange 170. In this way, the trajectory acquisition unit 16 obtains the actual trajectory of the robot 10.

[0081] After the trajectory acquisition unit 16 acquires the actual trajectory of the robot 10, the first learning unit 14 uses the data of the trajectory to calculate the geometric deformation data (step S14). Specifically, the first learning unit 14 sets the first learning trajectory determined by the trajectory determination unit 12 as the ideal trajectory, compares the data of the ideal trajectory with the data of the actual trajectory acquired by the trajectory acquisition unit 16, and finds out how the actual trajectory is geometrically deformed relative to the ideal trajectory. For example, the first learning unit 14 finds out to what extent the actual trajectory is translated, rotated, enlarged or reduced, etc. relative to the ideal trajectory.

[0082] Next, the first learning unit 14 determines whether the calculation of the geometric deformation data has been performed for all the motion data (step S15). Specifically, as described above, in step S11, the data acquisition unit 11 obtains all the motion data included in the first learning data 27. The first learning unit 14 obtains all the motion data from the data acquisition unit 11 and determines whether the calculation of the geometric deformation data in step S14 has been performed for all the motion data.

[0083] When the first learning unit 14 determines that the geometric deformation data has not been calculated for all the motion data (No in step S15), the process returns to step S12. Then, the trajectory determination unit 12 selects a new trajectory from the remaining trajectories among the plurality of trajectories obtained in step S12, and sets the trajectory as the first learning trajectory. Thus, the trajectory determination unit 12 determines a new first learning trajectory. Then, steps S12-S15 are repeated. Thus, the geometric deformation data is calculated for all the plurality of trajectories obtained in step S12.

[0084] On the other hand, when the first learning unit 14 determines that the calculation of the geometric deformation data has been performed for all the motion data (Yes in step S15), it generates the first correction model (step S16). Specifically, the first learning unit 14 stores the following table as the first correction model for correcting the actual trajectory in the learned data storage unit 19, the table being obtained by corresponding each of the obtained geometric deformation data with each trajectory of the first learning data 27. Thus, the first learning unit 14 generates the first correction model.

[0085] Here, the first learning unit 14 may generate the first correction model according to the data of geometric deformation of each trajectory, or may generate one first correction model for the data of geometric deformation of all trajectories.

[0086] When the first learning unit 14 generates the first correction model, the flow of the first process ends.

[0087] Return to Figure 5 , following the first processing of step S1, the second processing is performed (step S2).

[0088] In the second process, if Fig. 9 As shown, first, the data acquisition unit 11 acquires the second learning data 28 (step S21 ).

[0089] Specifically, the data acquisition unit 11 reads the second learning data 28 stored in the second learning data storage unit 18. In the second learning data 28, if Fig.10 As shown, the driving conditions of the trajectory corresponding to the basic trajectory of the first learning data 27 are shown. Specifically, the second learning data 28 shows the coordinates of the action start point, the action end point, and the intermediate point of the trajectory corresponding to the trajectory No. 0 of the first learning data 27. The data acquisition unit 11 reads out such second learning data 28.

[0090] Next, the trajectory determination unit 12 determines the second learning trajectory (step S22). As described later, in the second process, the errors of each part of the actual trajectory of the robot 10 are calculated, and the correction trajectory is calculated based on the errors (step S24). In determining the second learning trajectory, when the correction trajectory of step S24 has not been calculated for the trajectory of the second learning data 28 read out in step S21, the trajectory determination unit 12 sets the trajectory of the read second learning data 28 as the second learning trajectory. In addition, when the correction trajectory of step S24 has been calculated for the trajectory of the second learning data 28 read out in step S21, the trajectory determination unit 12 sets the correction trajectory as the second learning trajectory. The trajectory determination unit 12 determines the second learning trajectory in this way.

[0091] After the second learning trajectory is determined, the second learning trajectory is executed by the robot 10 and the actual trajectory of the robot 10 is obtained (step S23). This process is different from step S13 of the first process only in that the executed trajectory is the second learning trajectory, so the description is omitted.

[0092] After the step of acquiring the actual trajectory of the robot 10 in step S23 is completed, the second learning unit 15 calculates the error of each part of the actual trajectory of the robot 10 and calculates the correction trajectory based on the error (step S24).

[0093] Here, refer to Figure 11A-11E , the error calculation in step S24 and the calculation of the correction trajectory based on the error are described in detail.

[0094] Fig.11A 4 is a conceptual diagram showing an actual trajectory 41 and an ideal trajectory 42 of the robot 10 acquired in the second process included in the learning process. Fig. 11B 4 is a conceptual diagram showing the relationship between the error 44 of the correction trajectory 43 obtained in the second process and the error 45 of the actual trajectory 41 . Fig. 11C This is a conceptual diagram showing the distribution of the error 44 of the correction trajectory 43 and the distribution of the error 45 of the actual trajectory 41 obtained in the second process. Fig.11D This is a conceptual diagram of the correction trajectory 43. Fig.11E 4 is a conceptual diagram showing an actual trajectory 46 when the robot 10 is operated using the correction trajectory 43 .

[0095] like Fig.11A As shown, usually, each part of the actual trajectory 41 obtained in step S23 is often positionally offset relative to each part of the ideal trajectory 42. In order to correct the positional offset, the second learning unit 15 calculates the error of each part of the correction trajectory 43 based on the error of each part of the actual trajectory 41, and calculates the correction trajectory 43 based on the calculated error and the position of each part of the ideal trajectory 42.

[0096] Specifically, the second learning unit 15 obtains Fig. 11B The error 44 of each part shown is, in other words, the correction trajectory 43 in which the error 44 of each point becomes -κE. Here, E is the error 45 of the point corresponding to the correction trajectory 43 of the actual trajectory 41. κ is a coefficient having a value greater than 0 and less than 1, and is set to prevent the correction trajectory 43 from diverging during calculation.

[0097] Through such calculation, the second learning unit 15 obtains Fig. 11C The distribution of the error 44 is shown Fig.11D The correction trajectory 43 is shown.

[0098] When the calculation of the correction trajectory 43 is completed, Fig. 9 As shown, the second learning unit 15 determines whether the error 45 of the actual trajectory 41 is less than the allowable value (step S25). Specifically, the second learning unit 15 determines whether the maximum error 45 among the errors 45 of each point of the actual trajectory 41 is less than the allowable value. Thus, the second learning unit 15 determines whether the trajectory data of the second learning data 28 can be maintained without using the correction trajectory 43 for correction.

[0099] When it is determined that the error 45 of the actual trajectory 41 exceeds the allowable value (No in step S25), the second learning unit 15 counts the number of errors in which the error 45 exceeds the allowable value (step S26), and determines whether the counted number of errors is less than the set value (step S27). Then, when it is determined that the number of errors exceeds the set value (No in step S27), the second learning unit 15 processes it as an error state of computational divergence, and ends the second process. In this case, the second learning unit 15 displays the error on a display device (not shown) provided in the operation terminal 20.

[0100] On the other hand, when the second learning unit 15 determines that the number of errors is less than the set value (yes in step S27), it is considered that the operation has not diverged and returns to step S22. In step S22, the trajectory determination unit 12 sets the data of the correction trajectory 43 obtained in step S24 as the second learning data 28. Then, the second learning unit 15 repeats steps S23-S27 to correct the trajectory of the second learning data 28 read out in step S21. Thus, the second learning unit 15, for example, Fig.11E As shown, the actual trajectory 46 when the robot 10 is operated using the correction trajectory 43 is approximated to the ideal trajectory 42. Then, the second learning unit 15 obtains the correction trajectory 43 such that the error 45 becomes equal to or smaller than the allowable value.

[0101] Return to Fig. 9 In step S25 shown, when the second learning unit 15 determines that the error 45 of the actual trajectory 41 is less than the allowable value (yes in step S25), it generates a second correction model (step S28). In detail, in the learning process, the number of calculations of the correction trajectory 43 is the same as the number of executions of step S24, but the second learning unit 15 obtains data for correcting the ideal trajectory 42 of the second learning data 28 obtained in step S21 based on these calculated correction trajectories 43, and sets the obtained correction data as the second correction model. Thus, the second learning unit 15 generates a second correction model based on the positional offset of each point of the actual trajectory 41 relative to the ideal trajectory 42 and the ideal trajectory 42. Then, the second learning unit 15 stores the generated second correction model in the learned data storage unit 19.

[0102] After the generation of the second correction model is completed, the second learning unit 15 ends the second process.

[0103] Next, refer to Fig.12 , the operation process using the first correction model and the second correction model is explained.

[0104] Fig.12 This is a flowchart of the operation process performed by the control device 1.

[0105] First, the user inputs an operation command from the input device provided in the operation terminal 20. In the control device 1, when the operation command is input, the processor 31 reads and executes the operation program stored in the memory 32, and as a result, the flow of the operation process starts.

[0106] In this application process, first, Fig.12 As shown, the data acquisition unit 11 acquires the motion data of the robot 10 (step S31). For example, the motion data to be operated by the robot 10 is input from the input device provided in the operation terminal 20, and the data acquisition unit 11 acquires the motion data.

[0107] Regarding the motion data at this time, it is desirable that the ideal trajectory 42 when assuming that the robot 10 ideally moves using the motion data is close to the basic trajectory included in the first learning data 27 learned in advance by the control device 1. This is because, if it is such motion data, the accuracy of the trajectory of the robot 10 can be improved through the learning results of the first learning unit 14 and the second learning unit 15.

[0108] Alternatively, the motion data may be pre-stored in a storage device not shown, and the data acquisition unit 11 may read the motion data to acquire the motion data. In this case, the storage device not shown may be the first learning data storage unit 17, the second learning data storage unit 18, or the learned data storage unit 19.

[0109] Alternatively, the robot system 100 may include a camera and an image analysis device that analyzes image data captured by the camera, the camera captures an image of a workpiece processed by a tool mounted on the flange 170 of the robot 10, and the image analysis device obtains the position of the workpiece based on the image captured by the camera, generates motion data, and thereby acquires the motion data. In this case, the image analysis device may extract a feature portion of the workpiece, and acquire the motion data based on the position of the extracted feature portion in the image and the position of the camera relative to the workpiece.

[0110] Next, after acquiring the motion data in step S31 , the trajectory determination unit 12 calculates which trajectory of the motion data is similar to among the trajectories included in the first learning data 27 used in the learning process (step S32 ).

[0111] by Figure 7 When explaining the example shown in Figure 7 As shown in FIG. 1 , the trajectories No. 0 to No. 3 are stored in the first learning data 27. Figure 7 The trajectories shown are A0, A1, A2, A3, and the ideal trajectory 42 is B. The data of the geometric deformation of the first correction model represents the mappings f0, f1, f2, f0 for geometric transformation. These mappings f0, f1, f2, f0 can be expressed as,

[0112] f0: A0→B, f1: A1→B, f2: A2→B, f3: A3→B.

[0113] On the other hand, when the trajectory of the motion data is C, in order to set the trajectory C to B of the ideal trajectory 42, it is sufficient to find a mapping g that becomes g:C→B. Therefore, if it is determined that the trajectory C of the motion data is most similar to which of the trajectories A0, A1, A2, and A3 of the first learning data 27, it can be known that the mappings f0, f1, f2, and f0 corresponding to the trajectory are similar to the mapping g.

[0114] So, in Fig.12 In step S32 shown, the trajectory determination unit 12 determines which trajectory of the motion data acquired in step S31 is similar to the trajectory included in the first learning data 27. In the above example, it determines which trajectory of the motion data is similar to the trajectory A0, A1, A2, and A3. For example, the trajectory determination unit 12 determines which trajectory of the motion data is similar to the trajectory included in the first learning data 27 by fitting.

[0115] After obtaining the approximate trajectory, the trajectory determination unit 12 reads the first correction model from the learned data storage unit 19. Then, the trajectory determination unit 12 obtains geometric deformation data corresponding to the approximate trajectory in the read first correction model (step S33).

[0116] The ideal trajectory 42 is a trajectory for moving the tool along the processing shape of the processing object, such as the processing shape of the product, component, etc., when the flange 170 of the robot 10 is equipped with a processing tool. The learned data storage unit 19 stores data of geometric deformation of the trajectory predicted to be caused by the tolerance of the processing object obtained by experiments. After obtaining the geometric deformation data, the trajectory determination unit 12 determines whether the obtained geometric deformation data can allow the geometric deformation caused by the tolerance of the processing object of the robot 10 (step S34). That is, when the trajectory determination unit 12 assumes data for correcting the geometric deformation caused by the tolerance of the processing object of the robot 10, it determines whether the obtained geometric deformation data is a correction larger than the data.

[0117] When the trajectory determination unit 12 determines that the obtained geometric deformation data cannot allow for the geometric deformation caused by the tolerance of the object to be processed by the robot 10 (No in step S34), the obtained geometric deformation data cannot correct even the geometric deformation caused by the tolerance of the object to be processed by the robot 10, that is, even the geometric deformation corresponding to the deviation from the design value of the object to be processed cannot be corrected, and therefore, it is considered that there is insufficient correction data and the operation processing is terminated. Then, the trajectory determination unit 12 displays an error on the display device provided in the operation terminal 20.

[0118] On the other hand, when the trajectory determination unit 12 determines that the obtained geometric deformation data can allow for the geometric deformation caused by the tolerance of the object to be processed by the robot 10 (Yes in step S34), it performs correction of the motion data based on the first correction model (step S35). Specifically, the trajectory determination unit 12 corrects the motion data acquired in step S31 using the geometric deformation data obtained by the first correction model.

[0119] Next, the trajectory determination unit 12 performs correction of the motion data based on the second correction model (step S36 ). That is, the trajectory determination unit 12 corrects the motion data acquired in step S31 using the second correction model.

[0120] After the calibration of the motion data based on the second calibration model is completed, the control unit 13 drives the robot 10 using the calibrated motion data (step S37). Specifically, the control unit 13 rotates the motors M1-M6 respectively based on the trajectory derived from the calibrated motion data. As a result, in the control device 1, the actual trajectory 41 of the robot 10 approaches the ideal trajectory 42, and the deviation of the actual trajectory 41 from the ideal trajectory 42 is corrected. As a result, the robot 10 moves with high precision.

[0121] When the operation of the robot 10 is completed, the control unit 13 ends the operation process.

[0122] In addition, the trajectory determination unit 12 and the control unit 13 described in the first embodiment are examples of the robot control unit mentioned in the present disclosure. The motors M1-M6 are examples of the prime movers mentioned in the present disclosure. The learning program and the application program are examples of the programs mentioned in the present disclosure. The part of the trajectory acquisition unit 16 that calculates the trajectory of the robot 10 based on the rotational positions of the motors M1-M6 detected by the encoders E1-E6 is an example of the first trajectory calculation unit mentioned in the present disclosure.

[0123] In addition, use Figure 7 The basic trajectory described is an example of the action trajectory mentioned in this disclosure. Figure 7 The action start point, action end point and each trajectory of the first learning data 27 described are examples of the first learning action start point, the first learning action end point and the first learning trajectory mentioned in the present disclosure. The trajectory obtained by geometrically deforming the basic trajectory of the first learning data 27 is an example of the deformed trajectory mentioned in the present disclosure.

[0124] As described above, in the control device 1 of the first embodiment, the trajectory determination unit 12 calculates the correction motion data using the first correction model for reducing the geometric deformation generated by the first learning unit 14. In addition, in the control device 1, the control unit 13 controls the robot using the calculated correction motion data. Therefore, the geometric deformation of the trajectory of the robot 10 becomes small. As a result, the control device 1 can make the robot 10 move with high precision.

[0125] Furthermore, in the control device 1, the trajectory determination unit 12 corrects the motion data using the first correction model for reducing the positional deviation of each part of the trajectory generated by the second learning unit 15. Therefore, the deformation of each part of the trajectory of the robot 10 becomes smaller. As a result, the control device 1 can make the robot 10 move with high precision.

[0126] In addition, although the robot 10 is not described as being provided with a processor and an interface, the robot 10 may also be provided with a processor and an interface. Furthermore, a communication module may be connected to the interface so that the robot 10 communicates with the control device 1 via a network such as the Internet.

[0127] In the first learning data 27 of the first embodiment described above, the motion data for forming the trajectory and the geometric deformation condition of the trajectory are associated with each other, but it is desirable that the geometric deformation condition is a condition larger than the geometric deformation of the trajectory predicted to be caused by the tolerance of the object to be processed by the robot 10. This is because, with such a geometric deformation condition, the deviation of the trajectory caused by the tolerance of the object to be processed can be corrected.

[0128] (Implementation Method 2)

[0129] In the first embodiment, the second learning unit 15 obtains the correction trajectory 43 in which the error 44 of each part when multiplied by the constant -κ in step S24 becomes the size of the error 45 of each part of the actual trajectory 41 of the robot 10, thereby generating the second correction model. However, the second learning unit 15 is not limited to this. The second learning unit 15 obtains the positional offset of each part of the actual trajectory 41 relative to each part of the ideal trajectory 42 based on the data of the actual trajectory 41 of the robot 10, i.e., the second trajectory, and the data of the ideal trajectory 42, i.e., the second ideal trajectory, when the control unit 13 controls the robot 10 based on the second learning data 28 acquired by the data acquisition unit 11, and generates the second correction model for reducing the obtained positional offset based on the obtained positional offset and the second learning data 28. Therefore, as long as this condition is satisfied, the method of obtaining the positional offset, in other words, the method of generating the second correction model is arbitrary.

[0130] In the second embodiment, the second learning unit 15 uses an optimization algorithm to obtain the correction trajectory 43, thereby generating a second correction model. Fig.13 Next, a second process included in the learning process performed by the control device 1 according to the second embodiment will be described. In the second embodiment, the description will be centered on the configuration different from the first embodiment.

[0131] The control device 1 of the second embodiment performs the first process and the second process of the learning process described in the first embodiment. In the second process, the second learning unit 15 of the control device 1 calculates the error 45 of each part of the actual trajectory 41 of the robot 10, that is, the error 45 of each point in step S24, and calculates the correction trajectory 43 based on the error 45 using the optimization algorithm. Furthermore, the second learning unit 15 generates a second correction model based on the correction trajectory 43.

[0132] Fig.13 4 is a conceptual diagram showing the distribution of the error 45 of the actual trajectory 41 used in the second process.

[0133] Specifically, each point P1, P2, P3, ..., P of the actual trajectory 41 acquired by the trajectory acquisition unit 16 in step S23 M The error 45 of each point relative to the ideal trajectory 41 is as follows: Fig.13 As shown, the second learning unit 15 performs the following operations on the points P1, P2, P3, ..., P in the order of the error 45 from large to small. N Make your selection.

[0134] Here, N is a predetermined natural number smaller than the number of samples M of the actual trajectory 41. Fig.13, an example where N=3 is shown.

[0135] Next, the second learning unit 15 determines an evaluation function. For example, the second learning unit 15 determines an evaluation function at each point P1, P2, P3, ..., P on the actual trajectory 41. N The error 45 is G1, G2, G3...G N When the evaluation function is f, the evaluation function f is determined by the following equation (1).

[0136] f=G1+G2+G3+···+G N ···Equation (1)

[0137] Next, the second learning unit 15 uses an optimization algorithm to search for points P1, P2, P3, ..., P where the evaluation function f becomes small. N In the optimization algorithm, for example, a Bayesian optimization algorithm or a particle swarm optimization algorithm can be used. Then, when a Bayesian optimization algorithm is used as the optimization algorithm, it is desirable that the above-mentioned N is greater than 1 and less than 10. Alternatively, when a particle swarm optimization algorithm is used as the optimization algorithm, it is desirable that N is greater than 10.

[0138] The second learning unit 15 searches for points P1, P2, P3, ..., P where the evaluation function f becomes small. N Then, according to these points P1, P2, P3...P N The correction trajectory 43 is obtained. Then, the second correction model is generated based on the obtained correction trajectory 43 by the specific method of step S28 described in the first embodiment.

[0139] Alternatively, the evaluation function may be a function representing the volume of a solid obtained by making each point P1, P2, P3, ..., P N The error graph obtained with an error value of 45 is obtained by rotating it around a line where the error is 0.

[0140] As described above, in the control device 1 of the second embodiment, the second learning unit 15 generates the second correction model by using the optimization algorithm to obtain the correction trajectory 43. As a result, the second correction model can be generated with fewer trials than in the first embodiment.

[0141] In addition, when calculating the error 45 of each part of the actual trajectory 41 to obtain the correction trajectory 43, the characteristic part of the distribution of the error 45 of each part may be detected, and the correction trajectory 43 may be obtained using the characteristic part. For example, the peak part when the distribution of the error 45 of each part of the actual trajectory 41 is graphed may be detected, and the correction trajectory 43 with a smaller peak part may be obtained by a Bayesian optimization method of machine learning. This is because according to such a method, the calculation time can be further shortened.

[0142] The control device 1 , the robot system 100 , the learning device, the control method of the robot 10 , and the program according to the first embodiment of the present disclosure are described above, but the control device 1 , the robot system 100 , the learning device, the control method of the robot 10 , and the program are not limited thereto.

[0143] For example, in Embodiments 1 and 2, the second learning unit 15 uniformly calculates the positional deviations between each portion of the actual trajectory 41 and each portion of the ideal trajectory 42 for the entire trajectory. However, the control device, robot system, learning device, robot control method, and program are not limited thereto.

[0144] In the first and second embodiments, the control device 1 includes the first learning unit 14 and the second learning unit 15, but the control device 1 is not limited thereto. The control device 1 may also include the first learning unit 14 but not the second learning unit 15. In this case, when the control unit 13 controls the robot 10 based on the motion data acquired by the data acquisition unit 11, it uses the first correction model to correct the motion data, thereby calculating the corrected motion data, and controls the robot 10 based on the calculated corrected motion data. This is because even in such a method, the geometric deformation of the trajectory of the robot 10 can be reduced, and the robot 10 can be moved with high precision.

[0145] In the first and second embodiments, the trajectory of the robot 10 is measured by the encoders E1-E6. However, the device for measuring the trajectory of the robot 10 is not limited thereto. In the robot system 100, a measuring device for measuring the trajectory of the robot 10 may be provided, and the first learning unit 14 obtains the trajectory of the robot 10 from the measuring device. Therefore, if this condition is met, the specific measuring device is not limited to the encoders E1-E6. The measuring device may also have a photographing device for photographing the robot 10, and a trajectory calculation unit for calculating the trajectory of the robot 10 based on the image photographed by the photographing device and the position information of the photographing device.

[0146] In addition, in Embodiment 1, it is described that the robot system 100 may also be provided with a photographing device for acquiring motion data, and the photographing device may also be referred to as a first photographing device. The photographing device as a measuring device for measuring the trajectory of the above-mentioned robot 10 may also be referred to as a second photographing device. In addition, the above-mentioned trajectory calculation unit calculates the trajectory of the robot 10 based on the image captured by the above-mentioned photographing device and the position information of the photographing device. However, when the part of the trajectory acquisition unit 16 that calculates the trajectory of the robot 10 based on the rotational position of the motors M1-M6 detected by the encoders E1-E6 is referred to as the first trajectory calculation unit, the trajectory calculation unit may also be referred to as the second trajectory calculation unit.

[0147] In the first and second embodiments, the first learning data 27 is data of one basic trajectory and a plurality of trajectories obtained by geometrically deforming the basic trajectory. However, the first learning data 27 is not limited thereto, and the number of basic trajectories and the number of trajectories obtained by geometrically deforming the basic trajectory are arbitrary. For example, there may be a plurality of basic trajectories. In addition, the number of trajectories obtained by geometrically deforming the basic trajectory may be more or less than the number exemplified in the embodiment.

[0148] In the first and second embodiments, the robot 10 is a vertical articulated robot. However, the present disclosure can be applied to all robots. The robot 10 may be, for example, a horizontal articulated robot. In addition, the robot 10 may be an orthogonal robot combined with a single-axis linear motion unit.

[0149] In the first and second embodiments, the trajectory of the robot 10 , more specifically, the trajectory of the flange 170 , is defined by the XYZ orthogonal coordinate system, but may be defined by a cylindrical coordinate system.

[0150] In the above embodiment, the application program and the learning program are stored in the memory 32, but the application program and the learning program may be stored in a non-temporary recording medium readable by a computer, such as a floppy disk, a CD-ROM (Compact Disc Read-Only Memory), a DVD (Digital Versatile Disc), or an MO (Magneto-Optical Disc) and distributed. In this case, the control device 1 that executes the application process and the learning process may be configured by installing the application program and the learning program stored in the recording medium in a computer.

[0151] In addition, the application program or learning program may be stored in a disk device of a server device on a communication network represented by the Internet, and the application program or learning program may be downloaded by being superimposed on a carrier wave, for example. In addition, the application process and learning process described above may be realized by transferring the application program or learning program via a communication network and executing the startup. In addition, the application process or learning process described above may be realized by executing all or part of the application program or learning program on a server device, and the computer may transmit and receive information related to these processes via a communication network and execute the program.

[0152] In addition, when each OS (Operating System) shares the operation process or learning process, or when the operation process or learning process is realized by the cooperation of the OS and the application, only the part other than the OS may be stored in the medium and released, and only the part other than the OS may be downloaded. In addition, the means for realizing the functions of the control device 1 is not limited to software, and part or all of it may be realized by dedicated hardware including circuits.

[0153] The present disclosure can be implemented in various embodiments and variations without departing from the broad spirit and scope of the present disclosure. In addition, the above-mentioned embodiments are used to illustrate the present disclosure and do not limit the scope of the present disclosure. That is, the scope of the present disclosure is not shown by the embodiments, but by the claims. Moreover, various variations implemented within the scope of the claims and the disclosed meanings equivalent thereto are considered to be within the scope of the present disclosure.

[0154] This application is based on Japanese Patent Application No. 2022-81457 filed on May 18, 2022. The entire specification, claims, and drawings of Japanese Patent Application No. 2022-81457 are incorporated herein by reference.

[0155] Description of Reference Numerals

[0156] 1 control device, 10 robot, 11 data acquisition unit, 12 trajectory determination unit, 13 control unit, 14 first learning unit, 15 second learning unit, 16 trajectory acquisition unit, 17 first learning data storage unit, 18 second learning data storage unit, 19 learning completed data storage unit, 20 operation terminal, 27 first learning data, 28 second learning data, 31 processor, 32 memory, 33 interface, 34 bus, 41 actual trajectory, 42 ideal trajectory, 43 correction trajectory, 44, 45 error, 46 actual trajectory, 100 robot system, 110 base, 120 first arm, 130 second arm, 140 third arm, 150 fourth arm, 160 fifth arm, 170 flange, 180 fixing part, AX1-AX6 axes, E1-E6 encoders, M1-M6 motors, P1, P2, P3 points.

Claims

1. A control device, wherein: The control device comprises: a data acquisition unit that acquires any of motion data and first learning data, the motion data representing a motion trajectory of the robot including at least a motion start point at which the robot starts motion and a motion end point at which the robot ends motion, the first learning data having data representing a first learning trajectory of the robot, the first learning trajectory of the robot including at least a first learning motion start point at which the robot starts motion and a first learning motion end point at which the robot ends motion; a robot control unit configured to control the robot based on any of the motion data and the first learning data acquired by the data acquisition unit; as well as a first learning unit that obtains a geometric deformation of the first trajectory relative to the first ideal trajectory based on data of the first trajectory that is an actual trajectory of the robot and data of the first ideal trajectory that the robot should move when the robot control unit controls the robot based on the first learning data acquired by the data acquisition unit, and generates a first correction model for correcting the motion data for reducing the obtained geometric deformation based on the obtained geometric deformation and the motion data of the first learning data, When controlling the robot based on the motion data acquired by the data acquisition unit, the robot control unit calibrates the motion data using the first correction model to calculate corrected motion data, and controls the robot using the calculated corrected motion data.

2. The control device according to claim 1, wherein: The first learning data includes, in addition to the data representing the first learning trajectory of the robot, at least one data representing at least one deformed trajectory obtained by geometrically deforming the first learning trajectory. The first learning unit generates a first correction model for each of the first learning trajectory and the at least one deformation trajectory. When the robot control unit controls the robot based on the motion data acquired by the data acquisition unit, the robot control unit determines whether the motion trajectory represented by the motion data is similar to the first learning trajectory and any trajectory among the at least one deformation trajectory, and uses the first correction model corresponding to the trajectory determined to be similar to correct the motion data, thereby calculating the corrected motion data.

3. The control device according to claim 1 or 2, wherein: The geometric deformation obtained by the first learning unit is a deformation obtained by rotating, enlarging, reducing or translating the first ideal trajectory, or a deformation obtained by a combination of rotating, enlarging, reducing or translating the first ideal trajectory.

4. The control device according to any one of claims 1 to 3, wherein: The control device further includes a second learning unit that generates a second correction model for correcting the motion data. The data acquisition unit acquires at least one of the motion data, the first learning data, and the second learning data indicating the motion trajectory. The robot control unit controls the robot based on at least one of the motion data, the first learning data, and the second learning data acquired by the data acquisition unit. The second learning unit calculates the positional offset of each part of the second trajectory relative to each part of the second ideal trajectory based on data of the second trajectory, which is the actual trajectory of the robot, and data of the second ideal trajectory, which is the ideal trajectory that the robot should move, when the robot control unit controls the robot based on the second learning data acquired by the data acquisition unit, and generates the second correction model for reducing the calculated positional offset based on the calculated positional offset and the second learning data. When the robot control unit controls the robot based on the motion data acquired by the data acquisition unit, after correcting the motion data using the first correction model, the corrected motion data is further corrected using the second correction model, thereby calculating the corrected motion data, and controlling the robot using the calculated corrected motion data.

5. The control device according to claim 4, wherein: The second learning unit generates the second correction model using an optimization algorithm.

6. A robot system, wherein: The robot system comprises: Robots; and A control device as claimed in any one of claims 1 to 5.

7. The robot system according to claim 6, wherein: The robot system also has: a first camera; and an image analyzing device for analyzing the image captured by the first imaging device, The robot has a tool, The first photographing device photographs the workpiece processed by the tool, The image analyzing device extracts a feature portion of the workpiece from the image captured by the first imaging device, and calculates the motion data based on the position information of the first imaging device and the position of the extracted feature portion in the image. The data acquisition unit acquires the motion data from the image analysis device.

8. The robot system according to claim 6 or 7, wherein: The robot system further includes a measuring device for measuring the first trajectory of the robot. The first learning unit acquires the first trajectory from the measuring device.

9. The robot system according to claim 8, wherein: The robot comprises a plurality of links and a prime mover for rotating the links respectively. The measuring device has: encoders that detect the rotational position of each of the prime movers; and A first trajectory calculation unit calculates the first trajectory of the robot based on the rotation position detected by the encoder.

10. The robot system according to claim 8, wherein: The measuring device has: a second photographing device for photographing the robot; and A second trajectory calculation unit calculates the first trajectory of the robot based on the image captured by the second imaging device and the position information of the second imaging device.

11. The robot system according to any one of claims 6 to 10, wherein: The robot system further comprises a storage device storing the motion data. The data acquisition unit acquires the motion data from the storage device.

12. The robot system according to claim 11, wherein: The storage device further stores the first learning data. The data acquisition unit acquires the first learning data from the storage device.

13. The robot system according to any one of claims 6 to 12, wherein: The robot system further comprises an operation terminal having an input device for inputting the motion data. The data acquisition unit acquires the motion data from the operation terminal.

14. A learning device that generates a first correction model for correcting motion data of a control device, the control device comprising: a data acquisition unit that acquires the motion data, the motion data indicating a motion trajectory of the robot including at least a motion start point at which the robot starts motion and a motion end point at which the robot ends motion; and a robot control unit that controls the robot based on the motion data acquired by the data acquisition unit, in, The learning device includes a first learning unit, which calculates a geometric deformation of the first trajectory relative to the first ideal trajectory based on data of the first trajectory, an actual trajectory of the robot, and data of the first ideal trajectory, an ideal trajectory on which the robot should move, when the data acquisition unit acquires the first learning data and the robot control unit controls the robot based on the first learning data acquired by the data acquisition unit, and generates a first correction model for correcting the motion data to reduce the calculated geometric deformation based on the calculated geometric deformation and the motion data of the first learning data, wherein the first learning data has data representing a first learning trajectory of the robot, and the first learning trajectory of the robot includes at least a first learning motion start point at which the robot starts the motion and a first learning motion end point at which the robot ends the motion.

15. The learning device according to claim 14, wherein: The first learning data includes, in addition to the data representing the first learning trajectory of the robot, at least one data representing at least one deformed trajectory obtained by geometrically deforming the first learning trajectory. The first learning unit generates a first correction model for each of the first learning trajectory and the at least one deformation trajectory.

16. The learning device according to claim 14 or 15, wherein: In the step of generating the first calibration model, the geometric deformation is a deformation obtained by rotating, enlarging, reducing or translating the first ideal trajectory, or a deformation obtained by a combination of rotating, enlarging, reducing or translating the first ideal trajectory.

17. The learning device according to any one of claims 14 to 16, wherein: The learning device further includes a second learning unit for generating a second correction model for correcting the motion data. The second learning unit calculates the positional offset of each part of the second trajectory relative to each part of the second ideal trajectory based on data of the actual trajectory of the robot, i.e., the second trajectory, and data of an ideal trajectory on which the robot should move, i.e., the second ideal trajectory, when the data acquisition unit acquires the second learning data representing the action trajectory and the robot control unit controls the robot based on the second learning data acquired by the data acquisition unit, and generates the second correction model for reducing the calculated positional offset based on the calculated positional offset and the second learning data.

18. The learning device according to claim 17, wherein: The second learning unit generates the second correction model using an optimization algorithm.

19. A method for controlling a robot, comprising the following steps: The robot is controlled based on the first learning data, and the actual trajectory of the robot at this time, that is, the first trajectory, is measured, wherein the first learning data has data representing the first learning trajectory of the robot, and the first learning trajectory of the robot at least includes a first learning action start point at which the robot starts the action and a first learning action end point at which the robot ends the action; Calculating a geometric deformation of the first trajectory relative to the first ideal trajectory based on the data of the first trajectory and the data of the first ideal trajectory which is an ideal trajectory on which the robot should move, and generating a first correction model for reducing the calculated geometric deformation based on the calculated geometric deformation and the first learning data; Correcting motion data including at least a motion start point at which the robot starts motion and a motion end point at which the robot ends motion using the first correction model, thereby calculating corrected motion data; and The robot is controlled using the correction motion data calculated in the step of calculating the correction motion data.

20. The robot control method according to claim 19, wherein: In the step of generating the first calibration model, the geometric deformation is a deformation obtained by rotating, enlarging, reducing or translating the first ideal trajectory, or a deformation obtained by a combination of rotating, enlarging, reducing or translating the first ideal trajectory.

21. The robot control method according to claim 19 or 20, wherein: The robot control method comprises the following steps: controlling the robot based on second learning data representing the motion trajectory, and measuring a second trajectory which is the actual trajectory of the robot at that time; and Calculating the positional offset of each part of the second trajectory relative to each part of the second ideal trajectory based on the data of the second trajectory and the data of the second ideal trajectory which is the ideal trajectory on which the robot should move, and generating a second correction model for reducing the calculated positional offset based on the calculated positional offset and the second learning data, In the step of calculating the correction action data, after using the first correction model to correct the action data including at least the action start point where the robot starts the action and the action end point where the robot ends the action, the corrected action data is further corrected using the second correction model to calculate the correction action data.

22. A program, wherein: The program is used to make the computer controlling the robot perform the following steps: The robot is controlled based on first learning data, and an actual trajectory of the robot at this time, i.e., a first trajectory, is measured, wherein the first learning data has data representing the first learning trajectory of the robot, and the first learning trajectory of the robot at least includes a first learning action start point at which the robot starts an action and a first learning action end point at which the robot ends an action; Calculating a geometric deformation of the first trajectory relative to the first ideal trajectory based on the data of the first trajectory and the data of the first ideal trajectory which is an ideal trajectory on which the robot should move, and generating a first correction model for reducing the calculated geometric deformation based on the calculated geometric deformation and the first learning data; Using the first correction model, the motion data including at least a motion start point at which the robot starts the motion and a motion end point at which the robot ends the motion are corrected, thereby calculating the corrected motion data; as well as The robot is controlled using the correction motion data calculated in the step of calculating the correction motion data.

Citation Information

Patent Citations

  • Robot position teach device

    JP1999048176A

  • Biological classification device and method for alzheimer's disease using brain image

    JP2022081457A

  • Workpiece coordinate system correcting method

    CN108356828A

  • CBCT system geometric correction method and device, computer equipment and storage medium

    CN110766629A

  • Robotic device

    JP1995266296A