Control device, robot system, learning device, robot control method, program, and first correction model

By introducing data acquisition, robot control and learning units into teaching equipment, a correction model is generated to reduce trajectory geometric deformation, the problem of long convergence time of trajectory error in complex trajectory operations in the prior art is solved, and high-precision operation and convenient management of robots are realized.

JP7651070B2Active Publication Date: 2025-03-25MITSUBISHI ELECTRIC CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024521536
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-05-18
Filing Date
2022-09-22
Publication Date
2025-03-25
Estimated Expiration
2042-09-22

AI Technical Summary

Technical Problem

When existing teaching equipment deals with complex target trajectories, it requires multiple calculations of teaching points and controlling the robot, resulting in a long convergence time of trajectory errors, making it difficult to operate the robot with high accuracy.

Method used

A control device is designed, including a data acquisition unit, a robot control unit and a first learning unit. By collecting motion data, geometric deformation of the trajectory is calculated and a correction model is generated to correct motion data to reduce geometric deformation.

Benefits of technology

It realizes high-precision operation of robots in complex trajectory operations, reduces the convergence time of trajectory errors, and improves the high-precision and management convenience of robot operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007651070000001
    Figure 0007651070000001
  • Figure 0007651070000002
    Figure 0007651070000002
  • Figure 0007651070000003
    Figure 0007651070000003
Patent Text Reader

Abstract

A control device (1) comprises a data acquisition unit (11), a robot control unit, and a first learning unit (14). The first learning unit (14) obtains, from first trajectory data and first ideal trajectory data, the geometric deformation of a first trajectory relative to a first ideal trajectory; the first trajectory data being the actual trajectory of a robot (10) when the robot control unit controls the robot (10) on the basis of first learning data acquired by the data acquisition unit (11), and the first ideal trajectory data being the ideal trajectory on which the robot (10) should move. In addition, the first learning unit generates a first correction model for correcting movement data for decreasing the obtained geometric deformation on the basis of the obtained geometric deformation and the movement 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, and a method for controlling a robot. 、 program and the first correction model Regarding. [Background technology]

[0002] Some robots have multiple links and multiple joints connecting the links to enable various movements, and perform desired movements by controlling servo motors that drive each joint. In such robots, if there is a difference in delay between the servo motors in response to commands, the movement of the robot will deviate from the target movement. For example, the trajectory of the tip link at the tip of the multiple links may deviate from the target trajectory. Therefore, technology has been developed to make the actual trajectory of the robot closer to the ideal trajectory.

[0003] For example, Patent Document 1 discloses a teaching device that measures the actual trajectory of the robot, calculates teaching points that minimize the error based on a trajectory error, which is the distance between the actual trajectory and a target trajectory, and teaches a position to the robot. The teaching device described in Patent Document 1 reduces the trajectory error by controlling the robot based on the teaching points. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Publication No. 11-048176 Summary of the Invention [Problem to be solved by the invention]

[0005] The teaching device described in Patent Document 1 repeats calculation of teaching points and control of the robot based on the teaching points until the trajectory error falls below an allowable value. When the target trajectory becomes complicated, the number of teaching points increases, and as a result, it takes longer for the trajectory error to converge below the allowable value. This makes it difficult for the teaching device to bring the actual trajectory of the robot close to the target trajectory. As a result, it becomes difficult to operate the robot with high precision.

[0006] Furthermore, it becomes difficult to operate the robot with high precision, which makes it difficult to manage the robot.

[0007] The present disclosure has been made to solve the above problems, and provides a control device, a robot system, a learning device, and a robot control method that can operate a robot with high precision and easily manage the robot. 、 program and the first correction model The purpose is to provide. [Means for solving the problem]

[0008] In order to achieve the above object, the control device according to the present disclosure includes a data acquisition unit, a robot control unit, and a first learning unit. The data acquisition unit acquires either of the following data: motion data representing a motion trajectory of the robot including at least a motion start point where the robot starts motion and a motion end point where the robot ends motion; and first learning data having data representing a first learning trajectory of the robot including at least a first learning motion start point where the robot starts motion and a first learning motion end point where the robot ends motion. The robot control unit controls the robot based on either of the motion data and the first learning data acquired by the data acquisition unit. The first learning unit obtains a geometric transformation of the first trajectory with respect to the first ideal trajectory from data of the first trajectory, which is the actual trajectory of the robot, and data of the first ideal trajectory, which is the ideal trajectory along which 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 to reduce the obtained geometric transformation based on the obtained geometric transformation and the motion data of the first learning data. Then, when the robot control unit controls the robot based on the operation data acquired by the data acquisition unit, it calculates corrected operation data by correcting the operation data using the first correction model, and controls the robot based on the calculated corrected operation data. Effect of the Invention

[0009] According to the configuration of the present disclosure, when the robot control unit controls the robot based on the operation data acquired by the data acquisition unit, the robot control unit calculates corrected operation data by correcting the operation data using the first correction model for reducing geometric deformation generated by the first learning unit, and controls the robot based on the calculated corrected operation data. Therefore, the control device can operate the robot with high accuracy. Furthermore, as a result of being able to operate the robot with high accuracy, the robot can be easily managed. [Brief description of the drawings]

[0010] [Figure 1]FIG. 1 is a perspective view of a robot controlled by a control device according to a first embodiment of the present disclosure. [Diagram 2] FIG. 1 is a side view of a robot controlled by a control device according to a first embodiment of the present disclosure. [Diagram 3] 1 is a hardware configuration diagram of a control device according to a first embodiment of the present disclosure. [Figure 4] Block diagram of a control device according to a first embodiment of the present disclosure. [Diagram 5] 1 is a flowchart of a learning process performed by a control device according to a first embodiment of the present disclosure. [Figure 6] 1 is a flowchart of a first process included in a learning process performed by a control device according to a first embodiment of the present disclosure; [Figure 7] FIG. 1 is a diagram illustrating an example of first learning data used in a first process included in a learning process performed by a control device according to a first embodiment of the present disclosure; [Figure 8] FIG. 1 is a conceptual diagram showing a trajectory represented by first learning data used in a first process of a learning process performed by a control device according to a first embodiment of the present disclosure; [Figure 9] 1 is a flowchart of a second process included in the learning process performed by the control device according to the first embodiment of the present disclosure. [Figure 10] FIG. 13 is a diagram illustrating an example of second learning data used in a second process included in the learning process performed by the control device according to the first embodiment of the present disclosure. [Figure 11A] FIG. 1 is a conceptual diagram showing an actual trajectory and an ideal trajectory of a robot acquired in a second process of a learning process performed by a control device according to a first embodiment of the present disclosure; [Figure 11B] FIG. 13 is a conceptual diagram showing a relationship between an error of a corrected trajectory obtained in a second process included in the learning process performed by the control device according to the first embodiment of the present disclosure and an error of an actual trajectory; [Figure 11C] FIG. 11 is a conceptual diagram showing the distribution of errors of a corrected trajectory obtained in a second process included in the learning process performed by the control device according to the first embodiment of the present disclosure and the distribution of errors of an actual trajectory; [Figure 11D] FIG. 1 is a conceptual diagram of a correction trajectory obtained in a second process included in the learning process performed by the control device according to the first embodiment of the present disclosure; [Figure 11E]FIG. 1 is a conceptual diagram illustrating an actual trajectory when a robot is operated using a corrected trajectory obtained in a second process included in the learning process performed by the control device according to the first embodiment of the present disclosure; [Figure 12] 1 is a flowchart of an operation process performed by a control device according to the first embodiment of the present disclosure. [Figure 13] FIG. 11 is a conceptual diagram showing a distribution of errors of an actual trajectory used in a second process included in a learning process performed by a control device according to a second embodiment of the present disclosure; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] The following describes a control device, a robot system, a learning device, and a robot control method according to a first embodiment of the present disclosure. 、 program and the first correction model The following will be described in detail with reference to the drawings. In the drawings, the same or equivalent parts are given the same reference numerals. In the Cartesian coordinate system XYZ shown in the drawings, when the axis of the base of the robot is oriented vertically and the plate surface of the fixed part is parallel to the horizontal direction, the vertical direction is the Z axis and the horizontal direction is the XY plane.

[0012] (Embodiment 1) In order to control the robot with higher accuracy, the control device according to the first embodiment performs a learning process to correct a geometric deviation of the actual trajectory of the robot from an ideal trajectory before operation. The configuration of the control device will be described below, taking as an example a case where the target of the control device is a vertical articulated robot. First, the configuration of the vertical articulated robot to be controlled will be described with reference to Figs. 1 and 2.

[0013] Fig. 1 is a perspective view of a robot 10 controlled by a control device according to embodiment 1. Fig. 2 is a side view of the robot 10.

[0014] As shown in FIGS. 1 and 2, 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.

[0015] The base 110 is formed in a cylindrical shape, and the axis AX1 of the cylinder faces the vertical direction, i.e., the Z direction. A flat fixing part 180 is provided at the -Z end of the base 110. The fixing part 180 is fixed to an installation location having a horizontal plane, i.e., a surface parallel to the XY plane. As a result, the base 110 is fixed to the installation location via the fixing part 180. Meanwhile, the +Z end of the base 110 is connected to the first arm 120.

[0016] The first arm 120 is attached to the base 110 in a state in which it can rotate around the axis AX1 extending in the Z direction. 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 in the radial direction of a circle centered on the axis AX5. Furthermore, a machining tool such as a cutting tool or a grinding tool can be attached to the flange 170.

[0017] The robot 10 has the above-mentioned configuration and has six joints corresponding to the axes AX1-AX6. Although not shown in FIG. 1 and FIG. 2, the robot 10 has motors M1-M6 at each joint to rotate the first arm 120-fifth arm 160 and the flange 170 around the axes AX1-AX6. The robot 10 moves the flange 170 to a desired position by rotating each of the motors M1-M6 by a desired rotation amount. For example, when a tool is attached to the flange 170, the robot 10 moves the tool to a desired position. The robot 10 changes the rotation amount of each of the motors M1-M6 over time to move the flange 170 along a desired trajectory from a specific operation start point to a specific operation end point.

[0018] However, the motors M1-M6 operate with a delay relative to the command from the control device. If the delay in operation differs between the motors M1-M6, the trajectory of the flange 170, i.e., the trajectory of the robot 10, may deviate from the ideal trajectory.

[0019] Therefore, before actually operating the robot 10, the control device performs a learning process to correct the geometric deviation of the actual trajectory of the robot 10 from the ideal trajectory. Then, the control device then performs an operation process to actually operate the robot 10 based on the learning process.

[0020] In this specification, the process of generating data for correcting the deviation of the actual trajectory from the ideal trajectory is called learning process. Note that this learning process is called teaching process because it is a type of so-called robot teaching, and the learning data used in the learning process is called teaching data.

[0021] Next, the configuration of a control device that performs such learning processing and operation processing will be described with reference to Figs.

[0022] Fig. 3 is a hardware configuration diagram of the control device 1 according to embodiment 1. Fig. 4 is a block diagram of the control device 1. For ease of understanding, Figs. 3 and 4 show the overall configuration of a robot system 100 including a robot 10 and the control device 1.

[0023] 3, 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 by a bus .

[0024] The interface 33 connects the processor 31 and the memory 32 to an external device, enabling communication with the external device. In detail, the interface 33 is connected to a wireless module (not shown). As a result, the processor 31 and the memory 32 can communicate with the operation terminal 20 via the Internet, as shown in Fig. 3. The interface 33 is also connected to the motors M1-M6 and the encoders E1-E6 provided in the robot 10.

[0025] The motors M1-M6 are provided to rotate the first arm 120, the second arm 130, the third arm 140, the fourth arm 150, the fifth arm 160, and the flange 170, respectively, around the axes AX1-AX6 shown in Figures 1 and 2. A servo motor is used as each of the motors M1-M6 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. Each of the motors M1-M6 moves the joints of the robot 10 described above by rotating.

[0026] On the other hand, the encoders E1-E6 detect the amount of rotation of the shaft of each of the motors M1-M6, more specifically, the rotational position of the shaft, thereby detecting the movement of the joints described above.

[0027] Returning to FIG. 3, the interface 33 is connected to the motors M1-M6 and the encoders E1-E6, allowing these devices to transmit and receive data to and from the processor 31 and the memory 32.

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

[0029] For example, the control device 1 reads out and executes a learning program stored in the memory 32, thereby performing a learning process for correcting deviations in the actual trajectory of the robot 10 described above. The control device 1 also reads out and executes an operation program stored in the memory 32, thereby performing an operation process for the robot 10 based on the learning process. In order to perform the learning process and the operation process, the control device 1 includes functional blocks configured as software shown in FIG. 4. In detail, 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, these configurations will be described.

[0030] In order to perform the above-mentioned learning process, a learning command is input to the control device 1 from an input device provided in the operation terminal 20. Alternatively, in order to perform the above-mentioned operational process, an operational command is input from the input device. Hereinafter, the time when a learning command is input and the learning process is performed will be referred to as the learning process time, and the time when an operational command is input and the operational process is performed will be referred to as the operational process time.

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

[0032] In detail, the first learning data storage unit 17 stores first learning data including operation data of the robot 10 used during the learning process. The second learning data storage unit 18 stores second learning data including another operation data used during the learning process. During the learning process, the data acquisition unit 11 reads out 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, and acquires the operation data included in these data.

[0033] Moreover, operation data is included in the operation command input from the input device of the above-mentioned operation terminal 20. The data acquisition unit 11 acquires the operation data from the input operation command during operation processing.

[0034] Here, the motion data refers to data that represents a motion trajectory of the robot 10, including at least a motion start point where the robot 10 starts motion and a motion end point where the robot 10 ends motion. In detail, the motion data refers to data that includes at least the coordinates of the motion start point and the motion end point of the flange 170 provided on the robot 10, and also includes the coordinates of an intermediate point through which the flange 170 should pass between them. The motion data is also called a drive condition.

[0035] When the data acquisition unit 11 acquires the motion data, it transmits the acquired motion data to the trajectory determination unit 12 .

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

[0037] In detail, during the learning process, the trajectory determination unit 12 determines the trajectory of the flange 170 based on the operation data included in the first learning data or the second learning data received from the data acquisition unit 11. Then, the trajectory determination unit 12 transmits data of the determined trajectory to the control unit 13.

[0038] During operation processing, the trajectory determination unit 12 determines the trajectory of the flange 170 using the first correction model and the second correction model in the learned data storage unit 19. In detail, the learned data storage unit 19 stores the first correction model and the second correction model, which are described later and are generated by the first learning unit 14 and the second learning unit 15. During operation processing, the trajectory determination unit 12 reads out the first correction model and the second correction model from the learned data storage unit 19, corrects the operation data received from the data acquisition unit 11 using the read out first correction model and the second correction model, and determines the trajectory of the flange 170. In this way, the trajectory determination unit 12 corrects the deviation of the actual trajectory of the flange 170 from the ideal trajectory that occurs during operation processing. The trajectory determination unit 12 transmits data of the determined trajectory to the control unit 13.

[0039] The control unit 13 rotates each of the motors M1-M6 included in the robot 10 based on the trajectory data received from the trajectory determination unit 12. As a result, the control unit 13 causes the robot 10 to perform an operation based on the operation data of the first learning data or the second learning data during the learning process. Furthermore, the control unit 13 causes the robot 10 to perform an operation based on the trajectory data with the deviation corrected during the operation process.

[0040] Meanwhile, during the learning process, the first learning unit 14 causes the robot 10 to perform an action based on the action data of the first learning data by sending a command to the control unit 13. Meanwhile, during the learning process, the first learning unit 14 causes the trajectory acquisition unit 16 to acquire data on a trajectory generated by an action performed by the robot 10 by sending a command to the trajectory acquisition unit 16.

[0041] The trajectory acquisition unit 16 acquires the rotational positions of the motors M1-M6 detected by the encoders E1-E6 of the robot 10 in response to a command from the first learning unit 14. Then, the trajectory acquisition unit 16 acquires the rotational positions of the motors M1-M6 while receiving a command from the first learning unit 14. The trajectory acquisition unit 16 uses the acquired rotational positions of the motors M1-M6 to determine the position of the flange 170 of the robot 10, and further determines the actual trajectory of the flange 170. The trajectory acquisition unit 16 transmits data of the acquired actual trajectory to the first learning unit 14.

[0042] The first learning unit 14 regards the trajectory data received from the trajectory determination unit 12 as data of an ideal trajectory. 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, and obtains a geometric deformation of the actual trajectory with respect to the ideal trajectory.

[0043] Although the details will be described later, the first learning unit 14 determines how the actual trajectory is geometrically deformed with respect to the ideal trajectory, for example, whether the actual trajectory is deformed by geometric transformation such as translation, rotation, enlargement, reduction, etc. Then, the first learning unit 14 stores the determined data of the geometric transformation in the learned data storage unit 19 as a first correction model for correcting the actual trajectory.

[0044] In response to this, after the first learning unit 14 finishes learning during the learning process, the second learning unit 15 causes the robot 10 to execute the movement of the trajectory determined from the movement data included in the second learning data by sending a command to the control unit 13. Then, similarly to the first learning unit 14, the second learning unit 15 causes the trajectory acquisition unit 16 to acquire data on the trajectory made by the movement executed by the robot 10 by sending a command to the trajectory acquisition unit 16.

[0045] The second learning unit 15 obtains data of the actual trajectory from the trajectory acquisition unit 16. Furthermore, the second learning unit 15 sets the trajectory data received from the trajectory determination unit 12 as 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 deviation of each part of the actual trajectory with respect to each part of the ideal trajectory. Although the details will be described later, the second learning unit 15 stores the obtained positional deviation data in the learned data storage unit 19 as a second correction model for correcting the actual trajectory.

[0046] As described above, during operation processing, the trajectory determination unit 12 corrects the operation data input from the input device using the first and second correction models stored in the learned data storage unit 19 to determine the trajectory of the robot 10. Then, the control unit 13 rotates each of the motors M1-M6 based on the trajectory derived from the corrected operation data. In this way, the control device 1 brings the actual trajectory of the robot 10 closer to the ideal trajectory. As a result, the control device 1 corrects the deviation of the actual trajectory from the ideal trajectory.

[0047] Next, the learning process and operation process of the control device 1 will be described in further detail with reference to Figures 5 to 10, 11A to 11E, and 12. First, the learning process of the control device 1 will be described.

[0048] Fig. 5 is a flowchart of the learning process performed by the control device 1. Fig. 6 is a flowchart of a first process included in the learning process. Fig. 7 is a diagram showing an example of first learning data 27 used in the first process. Fig. 8 is a conceptual diagram showing a trajectory represented by the first learning data 27. Fig. 9 is a flowchart of a second process included in the learning process. Fig. 10 is a diagram showing an example of second learning data 28 used in the second process.

[0049] First, a user inputs a learning command from the input device of the operation terminal 20. When the learning command is input, the processor 31 of the control device 1 reads and executes a learning program stored in the memory 32. As a result, the flow of the learning process is started.

[0050] When the learning process flow is started, first, a first process is performed (step S1) as shown in FIG.

[0051] In the first process, as shown in FIG. 6, first, the data acquisition unit 11 acquires the first learning data 27 (step S11).

[0052] In detail, the data acquiring unit 11 reads out the first learning data 27 stored in the first learning data storage unit 17, the first learning data 27 including the operation data of the robot 10.

[0053] In the first learning data 27, as shown in Fig. 7, the driving conditions for forming a trajectory represented by a motion start point, a motion end point, and an intermediate point, i.e., motion data, are associated with the geometric transformation conditions of the trajectory. The geometric transformation conditions are represented by conditions such as translation, Z-axis rotation, and enlargement / reduction.

[0054] Here, Z-axis rotation refers to a geometric transformation that rotates the trajectory around the Z-axis. Also, the geometric transformation of the trajectory refers to transforming the trajectory by performing a geometric transformation such as translation, rotation, or enlargement / reduction.

[0055] More specifically, the first learning data 27 will be described with reference to the cases shown in FIG. 7 and FIG. 8. No. 0 indicates a trajectory that, in XYZ coordinate display, starts from the motion start point (0,0,0), passes through a plurality of intermediate points such as intermediate point (50,0,0), and returns to the motion end point (0,0,0) at the same position as the motion start point. If the trajectory of No. 0 is called a basic trajectory, No. 1 indicates a trajectory obtained by translating the basic trajectory by 5 in the Y direction. No. 2 indicates a 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 indicates a trajectory obtained by translating the basic trajectory by 2 in the X direction and 4 in the Y direction, rotating it around the Z axis by 5°, and enlarging it by 110%. In this way, in the first learning data 27, the data of the trajectory is associated with the geometric deformation conditions of the trajectory.

[0056] The data acquiring unit 11 reads out such first learning data 27. Then, the data acquiring unit 11 calculates the coordinate data of each trajectory from the geometric transformation conditions associated with the basic trajectory of the read out first learning data 27. In this way, the data acquiring unit 11 obtains the operation data of the robot 10 that realizes each trajectory.

[0057] 6, the trajectory determination unit 12 determines a first learning trajectory (step S12). In detail, the trajectory determination unit 12 obtains coordinate data of each trajectory from the geometric transformation conditions associated with the trajectories 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 trajectories, and sets the selected trajectory as the first learning trajectory. In this way, the trajectory determination unit 12 determines the first learning trajectory for causing the robot 10 to operate.

[0058] Next, the robot 10 executes the first learning trajectory and acquires the actual trajectory of the robot 10 (step S13). In detail, the control unit 13 operates the robot 10 on the first learning trajectory determined by the trajectory determination unit 12. Then, the trajectory acquisition unit 16 acquires data of the actual trajectory of the robot 10. Specifically, the trajectory acquisition unit 16 includes a clock unit, and the clock unit measures time to acquire the rotational positions of the shafts of the motors M1-M6 detected by the encoders E1-E6 from the encoders E1-E6 included in the robot 10 at regular intervals during the operation of the robot 10. The trajectory acquisition unit 16 uses the acquired rotational positions of the shafts of the motors M1-M6 to determine the positions of the flange 170 of the robot 10 at each time. Furthermore, the trajectory acquisition unit 16 determines the actual trajectory of the flange 170 from the determined position of the flange 170. In this way, the trajectory acquisition unit 16 acquires the actual trajectory of the robot 10.

[0059] When the trajectory acquisition unit 16 acquires the actual trajectory of the robot 10, the first learning unit 14 calculates geometric deformation data using the data of the trajectory (step S14). In detail, the first learning unit 14 sets the first learning trajectory determined by the trajectory determination unit 12 as an ideal trajectory, compares the data of the ideal trajectory with the data of the actual trajectory acquired by the trajectory acquisition unit 16, and determines how the actual trajectory is geometrically deformed with respect to the ideal trajectory. For example, the first learning unit 14 determines how much the actual trajectory translates, rotates, or expands or shrinks with respect to the ideal trajectory.

[0060] Next, the first learning unit 14 determines whether or not the geometric transformation data has been calculated for all of the motion data (step S15). In detail, as described above, in step S11, the data acquiring unit 11 acquires all of the motion data included in the first learning data 27. The first learning unit 14 acquires all of the motion data from the data acquiring unit 11, and determines whether or not the geometric transformation data has been calculated for all of the motion data in step S14.

[0061] If the first learning unit 14 determines that the geometric transformation data has not been calculated for all of 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 of the multiple trajectories obtained in step S12, and sets the selected trajectory as the first learning trajectory. In this way, the trajectory determination unit 12 determines the new first learning trajectory. Then, steps S12-S15 are repeated. In this way, the geometric transformation data is calculated for all of the multiple trajectories obtained in step S12.

[0062] On the other hand, when the first learning unit 14 determines that the geometric transformation data has been calculated for all the motion data (Yes in step S15), it generates a first correction model (step S16). In detail, the first learning unit 14 stores a table in which the data of each of the obtained geometric transformations is associated with each of the trajectories of the first learning data 27 in the learned data storage unit 19 as a first correction model for correcting the actual trajectory. In this way, the first learning unit 14 generates the first correction model.

[0063] Here, the first learning unit 14 may generate a first correction model for each piece of data on the geometric deformation of each trajectory, or may generate one first correction model for the data on the geometric deformation of all trajectories.

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

[0065] Returning to FIG. 5, following the first process in step S1, a second process is carried out (step S2).

[0066] In the second process, as shown in FIG. 9, first, the data acquisition unit 11 acquires the second learning data 28 (step S21).

[0067] In detail, the data acquiring unit 11 reads out the second learning data 28 stored in the second learning data storage unit 18. In the second learning data 28, as shown in FIG. 10, the driving conditions of a trajectory corresponding to the basic trajectory of the first learning data 27 are indicated. Specifically, in the second learning data 28, the coordinates of the motion start point, motion end point, and intermediate point therebetween of the trajectory corresponding to the trajectory No. 0 of the first learning data 27 are indicated. The data acquiring unit 11 reads out such second learning data 28.

[0068] Next, the trajectory determination unit 12 determines a second learning trajectory (step S22). As described later, in the second process, an error of each part of the actual trajectory of the robot 10 is calculated, and a corrected trajectory is calculated from the error (step S24). In determining the second learning trajectory, if the corrected trajectory in step S24 has not yet been calculated for the trajectory of the second learning data 28 read out in step S21, the trajectory determination unit 12 determines the trajectory of the read out second learning data 28 as the second learning trajectory. In addition, if the corrected trajectory in step S24 has already been calculated for the trajectory of the second learning data 28 read out in step S21, the trajectory determination unit 12 determines the corrected trajectory as the second learning trajectory. The trajectory determination unit 12 determines the second learning trajectory in this manner.

[0069] After the second learning trajectory is determined, the robot 10 executes the second learning trajectory and acquires the actual trajectory of the robot 10 (step S23). This process differs from step S13 of the first process only in that the trajectory executed is the second learning trajectory, and therefore a description thereof will be omitted.

[0070] When 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 portion of the actual trajectory of the robot 10 and calculates a corrected trajectory from the error (step S24).

[0071] Here, the calculation of the error in step S24 and the calculation of the corrected trajectory from the error will be described in detail with reference to FIGS. 11A to 11E.

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

[0073] 11A, the positions of the parts of the actual trajectory 41 acquired in step S23 are generally often shifted from the parts of the ideal trajectory 42. In order to correct the positional deviation, the second learning unit 15 determines the error of each part of the corrected trajectory 43 from the error of each part of the actual trajectory 41, and calculates the corrected trajectory 43 from the determined errors and the positions of each part of the ideal trajectory 42.

[0074] 11B, in other words, the error 44 of each point is -κE. Here, E is the error 45 of the actual trajectory 41 at the point corresponding to the corrected trajectory 43. κ is a coefficient that is greater than 0 and less than 1, and is provided to prevent the corrected trajectory 43 from diverging during calculation.

[0075] Through such calculations, second learning unit 15 obtains corrected trajectory 43 shown in FIG. 11D, which has the distribution of error 44 shown in FIG. 11C.

[0076] 9, the second learning unit 15 determines whether the error 45 of the actual trajectory 41 is equal to or less than the allowable value (step S25). In detail, the second learning unit 15 determines whether the largest error 45 among the errors 45 of the points of the actual trajectory 41 is equal to or less than the allowable value. As a result, the second learning unit 15 determines whether the trajectory data of the second learning data 28 can be used as is without correction using the corrected trajectory 43.

[0077] If 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 further 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 equal to or less than a set value (step S27). If the second learning unit 15 determines that the number of errors exceeds the set value (No in step S27), it treats this as an error state in which the calculation diverges, and ends the second processing. In this case, the second learning unit 15 displays an error on a display device (not shown) provided in the operation terminal 20.

[0078] On the other hand, when the second learning unit 15 determines that the number of errors is equal to or less than the set value (Yes in step S27), it treats the calculation as not having diverged yet, and returns to step S22. In step S22, the trajectory determination unit 12 sets the data of the corrected 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. In this way, the second learning unit 15 approximates the actual trajectory 46 obtained when the robot 10 is operated using the corrected trajectory 43 to the ideal trajectory 42, for example, as shown in FIG. 11E. Then, the second learning unit 15 obtains the corrected trajectory 43 in which the error 45 is equal to or less than the allowable value.

[0079] Returning to step S25 shown in FIG. 9, when it is determined that the error 45 of the actual trajectory 41 is equal to or smaller than the allowable value (Yes in step S25), the second learning unit 15 generates a second correction model (step S28). In detail, in the learning process, the corrected trajectory 43 is calculated the number of times step S24 is executed, and the second learning unit 15 obtains data for correcting the ideal trajectory 42 of the second learning data 28 acquired in step S21 from the calculated corrected trajectories 43, and sets the obtained correction data as the second correction model. In this way, the second learning unit 15 generates a second correction model based on the positional deviation of the actual trajectory 41 with respect to each point of 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.

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

[0081] Next, with reference to FIG. 12, an operation process using the first correction model and the second correction model will be described.

[0082] FIG. 12 is a flowchart of the operation process performed by the control device 1.

[0083] First, a user inputs an operation command from an input device included in the operation terminal 20. In the control device 1, when the operation command is input, the processor 31 reads and executes an operation program stored in the memory 32, and as a result, the operation processing flow is started.

[0084] 12, first, the data acquisition unit 11 acquires operation data of the robot 10 (step S31). The operation data is acquired, for example, by inputting operation data for operating the robot 10 from an input device provided in the operation terminal 20, and the data acquisition unit 11 acquiring the operation data.

[0085] In this case, it is desirable that the ideal trajectory 42, which is obtained when it is assumed that the robot 10 ideally moves with the motion data, is close to the basic trajectory included in the first learning data 27 previously learned by the control device 1. This is because, with such motion data, the accuracy of the trajectory of the robot 10 can be improved based on the learning results of the first learning unit 14 and the second learning unit 15.

[0086] The operation data may be acquired by storing the operation data in advance in a storage device (not shown) and reading out the operation data by the data acquisition unit 11. 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.

[0087] Alternatively, the operation data may be acquired by the robot system 100 including an imaging device and an image analysis device that analyzes image data captured by the imaging device, the imaging device capturing an image of a workpiece being machined by a tool attached to the flange 170 of the robot 10, and the image analysis device determining the position of the workpiece from the image captured by the imaging device to generate operation data. In this case, the image analysis device may extract a characteristic part of the workpiece and generate operation data from the position of the extracted characteristic part in the image and the position of the imaging device relative to the workpiece.

[0088] Next, when the motion data is acquired 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).

[0089] To explain using the example shown in Fig. 7, trajectories No. 0 to No. 3 are stored in the first learning data 27 as shown in Fig. 7. If these trajectories shown in Fig. 7 are A0, A1, A2, and A3, the ideal trajectory 42 is B, and the data of the geometric transformation of the first correction model represents mappings f0, f1, f2, and f0 that perform geometric transformation, then those mappings f0, f1, f2, and f0 are expressed as follows: f0: A0→B, f1: A1→B, f2: A2→B, f3: A3→B On the other hand, when the trajectory of the motion data is C, in order to make the trajectory C B of the ideal trajectory 42, g:C→B Therefore, if it is determined which of the trajectories A0, A1, A2, and A3 of the first learning data 27 the trajectory C of the motion data is most similar to, it is found that the mappings f0, f1, f2, and f0 corresponding to that trajectory are most similar to the mapping g.

[0090] 12, the trajectory determination unit 12 determines which of the trajectories included in the first learning data 27 the trajectory of the motion data acquired in step S31 approximates, in the above example, which of the trajectories A0, A1, A2, and A3 the trajectory of the motion data approximates. For example, the trajectory determination unit 12 determines which of the trajectories included in the first learning data 27 the trajectory of the motion data approximates, by fitting.

[0091] After determining the approximate trajectory, the trajectory determination unit 12 subsequently reads out a first correction model from the learned data storage unit 19. Then, the trajectory determination unit 12 determines geometric transformation data associated with the approximate trajectory in the read out first correction model (step S33).

[0092] The above-mentioned ideal trajectory 42 is a trajectory for moving a machining tool along the machining shape of a workpiece, such as a product, part, etc., when the tool is attached to the flange 170 of the robot 10. The learned data storage unit 19 stores data of geometric deformation of the trajectory predicted to occur due to the tolerance of the workpiece, which data is obtained by experiment. After obtaining the geometric deformation data, the trajectory determination unit 12 judges whether the obtained geometric deformation data can tolerate the geometric deformation due to the tolerance of the workpiece of the robot 10 (step S34). In other words, when data for correcting the geometric deformation due to the tolerance of the workpiece of the robot 10 is assumed, the trajectory determination unit 12 judges whether the obtained geometric deformation data is a larger correction than the assumed data.

[0093] If the trajectory determination unit 12 determines that the obtained geometric transformation data does not allow the geometric transformation caused by the tolerance of the workpiece of the robot 10 (No in step S34), the obtained geometric transformation data cannot even correct the geometric transformation caused by the tolerance of the workpiece of the robot 10, that is, cannot even correct the geometric transformation corresponding to the variation from the design value of the workpiece, and therefore treats the data as not having sufficient correction data and terminates the operation process. Then, the trajectory determination unit 12 displays an error on the display device of the operation terminal 20.

[0094] On the other hand, when the trajectory determination unit 12 determines that the geometric deformation data obtained is acceptable for the geometric deformation caused by the tolerance of the workpiece of the robot 10 (Yes in step S34), it corrects the operation data using the first correction model (step S35). In detail, the trajectory determination unit 12 corrects the operation data acquired in step S31 using the geometric deformation data obtained from the first correction model.

[0095] Next, the trajectory determination unit 12 corrects the motion data using 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.

[0096] When the correction of the motion data using the second correction model is completed, the control unit 13 drives the robot 10 using the corrected motion data (step S37). In detail, the control unit 13 rotates each of the motors M1-M6 based on the trajectory derived from the corrected 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 operates with high accuracy.

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

[0098] The trajectory determination unit 12 and the control unit 13 described in the first embodiment are an example of a robot control unit as defined in the present disclosure. The motors M1-M6 are an example of a prime mover as defined in the present disclosure. The learning program and the operation program are an example of a program as defined in the present disclosure. The part of the trajectory acquisition unit 16 that calculates the trajectory of the robot 10 from the rotational positions of the motors M1-M6 detected by the encoders E1-E6 is an example of a first trajectory calculation unit as defined in the present disclosure.

[0099] Moreover, the basic trajectory described using Fig. 7 is an example of a motion trajectory as defined in the present disclosure. Moreover, the motion start point, motion end point and each trajectory of the first learning data 27 described using Fig. 7 are an example of a first learning motion start point, a first learning motion end point and a first learning trajectory as defined in the present disclosure. A trajectory obtained by geometrically transforming the basic trajectory in the first learning data 27 is an example of a transformed trajectory as defined in the present disclosure.

[0100] As described above, in the control device 1 according to the first embodiment, the trajectory determination unit 12 calculates corrected operation data using the first correction model for reducing geometric deformation generated by the first learning unit 14. Also, in the control device 1, the robot is controlled using the corrected operation data calculated by the control unit 13. This reduces the geometric deformation of the trajectory of the robot 10. As a result, the control device 1 can operate the robot 10 with high accuracy.

[0101] In addition, in the control device 1, the trajectory determination unit 12 corrects the operation data using the first correction model for reducing the positional deviation of each part of the trajectory generated by the second learning unit 15. This reduces the deformation of each part of the trajectory of the robot 10. As a result, the control device 1 can operate the robot 10 with high accuracy.

[0102] Although the robot 10 is not described as being provided with a processor and an interface, the robot 10 may be provided with a processor and an interface. A communication module may be connected to the interface, and the robot 10 may communicate with the control device 1 via a network, for example, the Internet.

[0103] In the first learning data 27 in the first embodiment, the motion data for forming a trajectory is associated with the geometric transformation condition of the trajectory, and it is preferable that the geometric transformation condition is greater than the geometric transformation of the trajectory predicted to occur due to the tolerance of the workpiece of the robot 10. This is because such a geometric transformation condition makes it possible to correct the deviation of the trajectory due to the tolerance of the workpiece.

[0104] (Embodiment 2) In the first embodiment, the second learning unit 15 obtains a corrected trajectory 43 in which E, which is an error 44 of each part when multiplied by a constant -κ in step S24, is the magnitude of the error 45 of each part of the actual trajectory 41 of the robot 10. However, the second learning unit 15 is not limited to this. The second learning unit 15 obtains the positional deviation of each part of the actual trajectory 41 from each part of the ideal trajectory 42 from data of the second trajectory, which is the actual trajectory 41 of the robot 10, and data of the second ideal trajectory, which is the ideal trajectory 42 along which the robot 10 should move, 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 a second correction model for reducing the obtained positional deviation based on the obtained positional deviation and the second learning data 28. For this reason, as long as this condition is satisfied, the method of obtaining the positional deviation, in other words, the method of generating the second correction model, is arbitrary.

[0105] In the second embodiment, the second learning unit 15 generates a second correction model by determining a correction trajectory 43 using an optimization algorithm. Hereinafter, the second process included in the learning process performed by the control device 1 according to the second embodiment will be described with reference to Fig. 13. In the second embodiment, the configuration different from the first embodiment will be mainly described.

[0106] The control device 1 according to 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 included in the control device 1 calculates the error 45 of each portion of the actual trajectory 41 of the robot 10, i.e., the error 45 of each point, in step S24, and calculates a corrected trajectory 43 from the error 45 using an optimization algorithm. Furthermore, the second learning unit 15 generates a second correction model from the corrected trajectory 43.

[0107] FIG. 13 is a conceptual diagram showing the distribution of an error 45 of an actual trajectory 41 used in the second process.

[0108] In detail, the second learning unit 15 learns each point P of the actual trajectory 41 acquired by the trajectory acquisition unit 16 in step S23. 1 , P 2 , P 3 P M As shown in FIG. 13, the error 45 for each point of the ideal trajectory 41 is sorted in descending order of the error 45 from point P 1 , P 2 , P 3 P N Select .

[0109] Here, N is a predetermined natural number smaller than the number of samples M of the actual trajectory 41. Note that FIG. 13 shows an example where N=3.

[0110] Next, the second learning unit 15 determines an evaluation function. For example, the second learning unit 15 determines the evaluation function for each point P 1 , P 2 , P 3 P N The error of 45 is G 1 , G2 , G 3 G N When the evaluation function is f, the evaluation function f is defined by the following formula (1). f=G 1 +G 2 +G 3 +···+G N Formula (1)

[0111] Next, the second learning unit 15 uses an optimization algorithm to find a point P at which the evaluation function f becomes small. 1 , P 2 , P 3 P N The optimization algorithm may be, for example, Bayesian optimization or particle swarm optimization. When the Bayesian optimization algorithm is used as the optimization algorithm, it is desirable that N described above is 1 or more and 10 or less. Alternatively, when the particle swarm optimization algorithm is used as the optimization algorithm, N is desirable to be 10 or more.

[0112] The second learning unit 15 learns a point P at which the evaluation function f becomes small. 1 , P 2 , P 3 P N When you search for points P 1 , P 2 , P 3 P N A corrected trajectory 43 is obtained from the calculated corrected trajectory 43. Then, a second correction model is generated from the calculated corrected trajectory 43 by the specific method of step S28 described in the first embodiment.

[0113] The evaluation function is calculated for each point P 1 , P 2 , P 3 P N It may also be a function that represents the volume of a solid object obtained by rotating a graph of the error obtained from the value of the error 45 around the line where the error is 0.

[0114] As described above, in the control device 1 according to the second embodiment, the second learning unit 15 uses an optimization algorithm to obtain the correction trajectory 43 and generate the second correction model. As a result, it is possible to generate the second correction model with fewer trials compared to the case where the second correction model is generated in the first embodiment.

[0115] When calculating the error 45 of each part of the actual trajectory 41 to obtain the corrected trajectory 43, a characteristic part of the distribution of the error 45 of each part may be detected, and the characteristic part may be used to obtain the corrected trajectory 43. For example, a peak part may be detected when the distribution of the error 45 of each part of the actual trajectory 41 is graphed, and a corrected trajectory 43 with a smaller peak part may be obtained by a Bayesian optimization method of machine learning. This is because such a method can further shorten the calculation time.

[0116] The above is a description of the control device 1, the robot system 100, the learning device, and the control method for the robot 10 according to the first embodiment of the present disclosure. 、 program and the first correction model The control device 1, the robot system 100, the learning device, and the control method for the robot 10 have been described. 、 program and the first correction model is not limited to this.

[0117] For example, in the first and second embodiments, the second learning unit 15 calculates the positional deviation between each portion of the actual trajectory 41 and each portion of the ideal trajectory 42 uniformly for the entire trajectory. However, the control device, the robot system, the learning device, and the robot control method and program are not limited to this.

[0118] 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 to this. The control device 1 may include the first learning unit 14 but may not include the second learning unit 15. In this case, when the control unit 13 controls the robot 10 based on the operation data acquired by the data acquisition unit 11, the control unit 13 may calculate corrected operation data by correcting the operation data using the first correction model, and control the robot 10 based on the calculated corrected operation data. This is because even in such a configuration, the geometric deformation of the trajectory of the robot 10 can be reduced, and the robot 10 can be operated with high accuracy.

[0119] In the first and second embodiments, the trajectory of the robot 10 is measured by the encoders E1-E6. However, the measuring device of the trajectory of the robot 10 is not limited to this. The robot system 100 is provided with a measuring device that measures the trajectory of the robot 10, and the first learning unit 14 acquires the trajectory of the robot 10 from the measuring device. Therefore, as long as this condition is satisfied, the specific measuring device is not limited to the encoders E1-E6. The measuring device may have an imaging device that captures an image of the robot 10, and a trajectory calculation unit that calculates the trajectory of the robot 10 from the image captured by the imaging device and position information of the imaging device.

[0120] In the first embodiment, it has been described that the robot system 100 may be provided with an imaging device for acquiring operation data, and the imaging device may be called a first imaging device. The imaging device as a measuring device for measuring the trajectory of the robot 10 may be called a second imaging device. The trajectory calculation unit calculates the trajectory of the robot 10 from the image captured by the imaging device and the position information of the imaging device, and the trajectory calculation unit may be called a second trajectory calculation unit when the part of the trajectory acquisition unit 16 that calculates the trajectory of the robot 10 from the rotational positions of the motors M1-M6 detected by the encoders E1-E6 is called a first trajectory calculation unit.

[0121] In the first and second embodiments, the first training data 27 is data of one basic trajectory and a plurality of trajectories obtained by geometrically transforming the basic trajectory. However, the first training data 27 is not limited to this, and the number of basic trajectories and the number of trajectories obtained by geometrically transforming the basic trajectory are arbitrary. For example, there may be a plurality of basic trajectories. Furthermore, the number of trajectories obtained by geometrically transforming the basic trajectory may be more or less than the number exemplified in the embodiments.

[0122] In the first and second embodiments, the robot 10 is a vertical articulated robot. However, the present disclosure is applicable to robots in general. The robot 10 may be, for example, a horizontal articulated robot. The robot 10 may also be an orthogonal robot combined with a single-axis linear motion unit.

[0123] In the first and second embodiments, the trajectory of the robot 10, specifically, the trajectory of the flange 170, is defined in an XYZ Cartesian coordinate system, but may be defined in a cylindrical coordinate system.

[0124] In the above embodiment, the operation program and the learning program are stored in the memory 32, but the operation program and the learning program may be stored and distributed in a non-transitory computer-readable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read-Only Memory), a DVD (Digital Versatile Disc), or an MO (Magneto-Optical Disc). In this case, the operation program and the learning program stored in the recording medium may be installed in a computer to configure the control device 1 that executes the operation process and the learning process.

[0125] The operation program or learning program may also be stored in a disk device of a server device on a communication network such as the Internet, and the operation program or learning program may be downloaded, for example, superimposed on a carrier wave. The above-mentioned operation processing and learning processing may also be achieved by starting and executing the operation program or learning program while being transferred via a communication network. Furthermore, the above-mentioned operation processing or learning processing may also be achieved by executing all or a part of the operation program or learning program on a server device, and executing the program while a computer transmits and receives information related to the processing via the communication network.

[0126] In addition, when the operational processing or learning processing is shared and realized by each OS (Operating System), or when it is realized by the cooperation of the OS and an application, only the parts other than the OS may be stored on a medium and distributed, or may be downloaded. Furthermore, the means for realizing the functions of the control device 1 is not limited to software, and a part or the whole of it may be realized by dedicated hardware including a circuit.

[0127] Various embodiments and modifications of the present disclosure are possible without departing from the broad spirit and scope of the present disclosure. The above-described embodiments are for explaining the present disclosure and do not limit the scope of the present disclosure. In other words, the scope of the present disclosure is indicated by the claims, not the embodiments. Various modifications made within the scope of the claims and within the scope of the disclosure equivalent thereto are considered to be within the scope of the present disclosure. (Appendix 1) a data acquisition unit that acquires either motion data representing a motion trajectory of the robot, the data including at least a motion start point where the robot starts a motion and a motion end point where the robot ends a motion, or first learning data having data representing a first learning trajectory of the robot, the data including at least a first learning motion start point where the robot starts a motion and a first learning motion end point where the robot ends a motion; a robot control unit that controls the robot based on either the operation data or the first learning data acquired by the data acquisition unit; and a first learning unit that calculates a geometric transformation of the first trajectory with respect to a first ideal trajectory, based on data of a first trajectory which is an actual trajectory of the robot and data of a first ideal trajectory which is an ideal trajectory along which 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 that corrects the operation data to reduce the calculated geometric transformation, based on the calculated geometric transformation and the operation data of the first learning data; Equipped with the robot control unit, when controlling the robot based on the operation data acquired by the data acquisition unit, calculates corrected operation data by correcting the operation data using the first correction model, and controls the robot based on the calculated corrected operation data. Control device. (Appendix 2) the first training data includes, in addition to the data representing a first training trajectory of the robot, at least one data representing at least one transformed trajectory obtained by geometrically transforming the first training trajectory; the first learning unit generates a first correction model for each of the first learning trajectory and the at least one deformed trajectory; when controlling the robot based on the operation data acquired by the data acquisition unit, the robot control unit determines which of the first learning trajectory and the at least one transformed trajectory the operation trajectory represented by the operation data is approximated to, and calculates corrected operation data by correcting the operation data using the first correction model corresponding to the trajectory determined to be approximate. 2. The control device according to claim 1. (Appendix 3) The geometric transformation obtained by the first learning unit is a transformation obtained when the first ideal trajectory is rotated, enlarged, reduced, or translated, or a transformation obtained by a combination of the rotation, enlargement, reduction, or translation of the first ideal trajectory. 3. The control device according to claim 1 or 2. (Appendix 4) A second learning unit that generates a second correction model that corrects the motion data, the data acquisition unit acquires at least one of the motion data, the first learning data, and second learning data representing the motion trajectory; the robot control unit controls the robot based on at least one of the operation data, the first learning data, and the second learning data acquired by the data acquisition unit; the second learning unit determines a positional deviation of each portion of the second trajectory from each portion of the second ideal trajectory, based on data of a second trajectory that is an actual trajectory of the robot and data of a second ideal trajectory that is an ideal trajectory along which 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 determined positional deviation, based on the determined positional deviation and the second learning data; when controlling the robot based on the operation data acquired by the data acquisition unit, the robot control unit corrects the operation data using the first correction model, and then further corrects the corrected operation data using the second correction model to calculate corrected operation data, and controls the robot based on the calculated corrected operation data. 4. The control device according to claim 1, (Appendix 5) The second learning unit generates the second correction model using an optimization algorithm. 5. The control device according to claim 4. (Appendix 6) Robots and A control device according to any one of claims 1 to 5; Equipped with Robot system. (Appendix 7) A first imaging device; an image analysis device that analyzes the image captured by the first imaging device; Further equipped with The robot has a tool, The first imaging device images a workpiece to be machined by the tool, The image analysis device extracts a characteristic portion of the workpiece from the image captured by the first imaging device, and calculates the operation data from position information of the first imaging device and a position in the image of the extracted characteristic portion, The data acquisition unit acquires the motion data from the image analysis device. 7. The robot system of claim 6. (Appendix 8) a measuring device for measuring the first trajectory of the robot; The first learning unit acquires the first trajectory from the measuring device. 8. The robot system of claim 6 or 7. (Appendix 9) The robot includes a plurality of links and a prime mover that rotates each of the links. The measuring device includes an encoder that detects a rotational position of each of the prime movers, and a first trajectory calculation unit that calculates the first trajectory of the robot based on the rotational positions detected by the encoder. 9. The robot system of claim 8. (Appendix 10) the measuring instrument includes a second imaging device that images the robot, and a second trajectory calculation unit that calculates the first trajectory of the robot from an image captured by the second imaging device and position information of the second imaging device. 9. The robot system of claim 8. (Appendix 11) A storage device in which the operational data is stored, The data acquisition unit acquires the operation data from the storage device. 11. The robot system of claim 6. (Appendix 12) The storage device further stores the first learning data, The data acquisition unit acquires the first learning data from the storage device. 12. The robot system of claim 11. (Appendix 13) an operation terminal having an input device into which the operation data is input; The data acquisition unit acquires the motion data from the operation terminal. 13. The robot system of any one of claims 6 to 12. (Appendix 14) a data acquisition unit that acquires motion data representing a motion trajectory of the robot, the trajectory including at least a motion start point where the robot starts a motion and a motion end point where the robot ends the motion; a robot control unit that controls the robot based on the operation data acquired by the data acquisition unit; A learning device for generating a first correction model for correcting the operation data of a control device comprising: a first learning unit configured to: acquire first learning data having data representing a first learning trajectory of the robot including at least a first learning action start point where the robot starts to move and a first learning action end point where the robot ends its movement, the first learning unit calculates a geometric transformation of the first trajectory with respect to a first ideal trajectory from data of a first trajectory which is an actual trajectory of the robot and data of a first ideal trajectory which is an ideal trajectory along which 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 generate a first correction model for correcting the movement data to reduce the calculated geometric transformation based on the calculated geometric transformation and the movement data of the first learning data. Learning device. (Appendix 15) the first training data includes, in addition to the data representing a first training trajectory of the robot, at least one data representing at least one transformed trajectory obtained by geometrically transforming the first training trajectory; the first learning unit generates a first correction model for each of the first learning trajectory and the at least one deformed trajectory; 15. The learning device of claim 14. (Appendix 16) In the step of generating the first correction model, the geometric transformation is a transformation obtained by rotating, enlarging, reducing, or translating the first ideal trajectory, or a transformation obtained by a combination of rotating, enlarging, reducing, or translating the first ideal trajectory. 16. A learning device according to claim 14 or 15. (Appendix 17) Further comprising a second learning unit for generating a second correction model for correcting the motion data; the second learning unit obtains second learning data representing the operation trajectory from the data of a second trajectory, which is an actual trajectory of the robot, and data of a second ideal trajectory, which is an ideal trajectory along which the robot should move, when the data acquisition unit obtains second learning data representing the operation trajectory and the robot control unit controls the robot based on the second learning data acquired by the data acquisition unit, and obtains a positional deviation of each portion of the second trajectory with respect to each portion of the second ideal trajectory, based on the obtained positional deviation and the second learning data, and generates the second correction model for reducing the obtained positional deviation. 17. A learning device according to any one of claims 14 to 16. (Appendix 18) The second learning unit generates the second correction model using an optimization algorithm. 18. The learning device of claim 17. (Appendix 19) a step of controlling the robot based on first learning data having data representing a first learning trajectory of the robot including at least a first learning motion start point where the robot starts to move and a first learning motion end point where the robot ends its movement, and measuring a first trajectory which is an actual trajectory of the robot at that time; a step of calculating a geometric transformation of the first trajectory with respect to the first ideal trajectory, based on data of the first trajectory and data of a first ideal trajectory which is an ideal trajectory along which the robot should move, and generating a first correction model for reducing the calculated geometric transformation based on the calculated geometric transformation and the first learning data; calculating corrected motion data by correcting motion data including at least a motion start point at which the robot starts a motion and a motion end point at which the robot ends a motion using the first correction model; controlling the robot using the corrected motion data calculated in the step of calculating the corrected motion data; A method for controlling a robot comprising: (Appendix 20) In the step of generating the first correction model, the geometric transformation is a transformation obtained by rotating, enlarging, reducing, or translating the first ideal trajectory, or a transformation obtained by a combination of rotating, enlarging, reducing, or translating the first ideal trajectory. 20. A method for controlling a robot according to claim 19. (Appendix 21) controlling the robot based on second learning data representing a motion trajectory and measuring a second trajectory which is an actual trajectory of the robot at that time; determining a positional deviation of each portion of the second trajectory from each portion of the second ideal trajectory based on data of the second trajectory and data of a second ideal trajectory that is an ideal trajectory along which the robot should move, and generating a second correction model for reducing the determined positional deviation based on the determined positional deviation and the second learning data; Equipped with In the step of calculating the corrected motion data, the first correction model is used to correct motion data including at least a motion start point at which the robot starts a motion and a motion end point at which the robot ends a motion, and then the corrected motion data is further corrected using the second correction model to calculate the corrected motion data. 21. A method for controlling a robot according to claim 19 or 20. (Appendix 22) The computer that controls the robot a step of controlling the robot based on first learning data having data representing a first learning trajectory of the robot including at least a first learning motion start point where the robot starts to move and a first learning motion end point where the robot ends its movement, and measuring a first trajectory which is an actual trajectory of the robot at that time; a step of calculating a geometric transformation of the first trajectory with respect to the first ideal trajectory, based on data of the first trajectory and data of a first ideal trajectory which is an ideal trajectory along which the robot should move, and generating a first correction model for reducing the calculated geometric transformation based on the calculated geometric transformation and the first learning data; calculating corrected motion data by correcting motion data including at least a motion start point at which the robot starts a motion and a motion end point at which the robot ends a motion using the first correction model; controlling the robot using the corrected motion data calculated in the step of calculating the corrected motion data; A program for executing the above. (Appendix 23) A first correction model for causing a computer to realize a function of correcting motion data representing a motion trajectory of a robot including at least a motion start point where a robot starts a motion and a motion end point where the robot ends the motion, The function of correcting the motion data is a function of determining a geometric transformation of a first trajectory with respect to a first ideal trajectory, based on data of the first trajectory, which is an actual trajectory of the robot, and data of a first ideal trajectory, which is an ideal trajectory along which the robot should move, when a robot control unit controls the robot based on first learning data having data representing a first learning trajectory of the robot including at least a first learning motion start point where the robot starts to move and a first learning motion end point where the robot ends its movement; A function of reducing the geometric transformation based on the geometric transformation and the motion data of the first learning data; The first correction model has the following structure:

[0128] 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. [Explanation of symbols]

[0129] 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 Learned 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 Corrected 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 unit, AX1-AX6 Axis line, E1-E6 Encoder, M1-M6 Motor, P 1 ,P 2 ,P 3 point.

Claims

1. a data acquisition unit that acquires either motion data representing a motion trajectory of the robot, the data including at least a motion start point where the robot starts a motion and a motion end point where the robot ends a motion, or first learning data having data representing a first learning trajectory of the robot, the data including at least a first learning motion start point where the robot starts a motion and a first learning motion end point where the robot ends a motion; a robot control unit that controls the robot based on either the operation data or the first learning data acquired by the data acquisition unit; and a first learning unit that calculates a geometric transformation of the first trajectory with respect to a first ideal trajectory, based on data of a first trajectory which is an actual trajectory of the robot and data of a first ideal trajectory which is an ideal trajectory along which 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 that corrects the operation data to reduce the calculated geometric transformation, based on the calculated geometric transformation and the operation data of the first learning data; Equipped with the robot control unit, when controlling the robot based on the operation data acquired by the data acquisition unit, calculates corrected operation data by correcting the operation data using the first correction model, and controls the robot based on the calculated corrected operation data. Control device.

2. the first learning data includes, in addition to the data representing a first learning trajectory of the robot, at least one data representing at least one transformed trajectory obtained by geometrically transforming 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 deformed trajectory; when controlling the robot based on the operation data acquired by the data acquisition unit, the robot control unit determines which of the first learning trajectory and the at least one transformed trajectory the operation trajectory represented by the operation data approximates, and calculates corrected operation data by correcting the operation data using the first correction model corresponding to the trajectory determined to approximate. The control device according to claim 1 .

3. The geometric transformation obtained by the first learning unit is a transformation obtained when the first ideal trajectory is rotated, enlarged, reduced, or translated, or a transformation obtained by a combination of the rotation, enlargement, reduction, or translation of the first ideal trajectory. The control device according to claim 1 or 2.

4. A second learning unit that generates a second correction model that corrects the motion data, the data acquisition unit acquires at least one of the motion data, the first learning data, and second learning data representing the motion trajectory; the robot control unit controls the robot based on at least one of the operation data, the first learning data, and the second learning data acquired by the data acquisition unit; the second learning unit determines a positional deviation of each portion of the second trajectory with respect to each portion of the second ideal trajectory, based on data of a second trajectory that is an actual trajectory of the robot and data of a second ideal trajectory that is an ideal trajectory along which 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 determined positional deviation, based on the determined positional deviation and the second learning data; the robot control unit, when controlling the robot based on the operation data acquired by the data acquisition unit, corrects the operation data using the first correction model, and then further corrects the corrected operation data using the second correction model to calculate corrected operation data, and controls the robot based on the calculated corrected operation data. The control device according to claim 1 or 2.

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

6. Robots and The control device according to claim 1 ; Equipped with Robot system.

7. A first imaging device; an image analysis device that analyzes an image captured by the first imaging device; Further equipped with The robot has a tool, The first imaging device images a workpiece to be machined by the tool, The image analysis device extracts a characteristic portion of the workpiece from the image captured by the first imaging device, and calculates the operation data from position information of the first imaging device and a position in the image of the extracted characteristic portion, The data acquisition unit acquires the motion data from the image analysis device. The robot system according to claim 6.

8. a measuring device for measuring the first trajectory of the robot; The first learning unit acquires the first trajectory from the measuring device. The robot system according to claim 6 or 7.

9. The robot includes a plurality of links and a prime mover that rotates each of the links. the measuring device includes an encoder that detects a rotational position of each of the prime movers, and a first trajectory calculation unit that calculates the first trajectory of the robot based on the rotational positions detected by the encoder. The robot system according to claim 8.

10. the measuring instrument includes a second imaging device that images the robot, and a second trajectory calculation unit that calculates the first trajectory of the robot from an image captured by the second imaging device and position information of the second imaging device. The robot system according to claim 8.

11. A storage device in which the operational data is stored, The data acquisition unit acquires the operation data from the storage device. The robot system according to claim 6 or 7.

12. The storage device further stores the first learning data, The data acquisition unit acquires the first learning data from the storage device. The robotic system of claim 11.

13. an operation terminal having an input device into which the operation data is input; The data acquisition unit acquires the motion data from the operation terminal. The robot system according to claim 6 or 7.

14. a data acquisition unit that acquires motion data representing a motion trajectory of the robot, the trajectory including at least a motion start point where the robot starts a motion and a motion end point where the robot ends the motion; a robot control unit that controls the robot based on the operation data acquired by the data acquisition unit; A learning device for generating a first correction model for correcting the operation data of a control device comprising: the data acquisition unit acquires first learning data having data representing a first learning trajectory of the robot including at least a first learning action start point where the robot starts to move and a first learning action end point where the robot ends its movement, a first learning unit calculates a geometric transformation of the first trajectory with respect to a first ideal trajectory from data of a first trajectory which is an actual trajectory of the robot and data of a first ideal trajectory which is an ideal trajectory along which 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 which corrects the movement data to reduce the calculated geometric transformation based on the calculated geometric transformation and the movement data of the first learning data; Learning device.

15. the first learning data includes, in addition to the data representing a first learning trajectory of the robot, at least one data representing at least one transformed trajectory obtained by geometrically transforming 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 deformed trajectory; The learning device according to claim 14.

16. In the step of generating the first correction model, the geometric transformation is a transformation obtained by rotating, enlarging, reducing, or translating the first ideal trajectory, or a transformation obtained by a combination of rotating, enlarging, reducing, or translating the first ideal trajectory. A learning device according to claim 14 or 15.

17. A second learning unit is further provided for generating a second correction model for correcting the motion data, the second learning unit obtains second learning data representing the operation trajectory by the data acquisition unit, and, based on data of a second trajectory which is an actual trajectory of the robot and data of a second ideal trajectory which is an ideal trajectory along which the robot should move, obtains a positional deviation of each portion of the second trajectory with respect to each portion of the second ideal trajectory 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 obtained positional deviation based on the obtained positional deviation and the second learning data. A learning device according to claim 14 or 15.

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

19. a step of controlling the robot based on first learning data having data representing a first learning trajectory of the robot including at least a first learning motion start point where the robot starts a motion and a first learning motion end point where the robot ends the motion, and measuring a first trajectory which is an actual trajectory of the robot at that time; determining a geometric transformation of the first trajectory with respect to the first ideal trajectory, based on data of the first trajectory and data of a first ideal trajectory which is an ideal trajectory along which the robot should move, and generating a first correction model for reducing the determined geometric transformation based on the determined geometric transformation and the first learning data; calculating corrected motion data by correcting motion data including at least a motion start point at which the robot starts a motion and a motion end point at which the robot ends a motion using the first correction model; controlling the robot using the corrected motion data calculated in the step of calculating the corrected motion data; A method for controlling a robot comprising:

20. In the step of generating the first correction model, the geometric transformation is a transformation obtained by rotating, enlarging, reducing, or translating the first ideal trajectory, or a transformation obtained by a combination of rotating, enlarging, reducing, or translating the first ideal trajectory. The method for controlling a robot according to claim 19.

21. controlling the robot based on second learning data representing a motion trajectory and measuring a second trajectory which is an actual trajectory of the robot at that time; determining a positional deviation of each portion of the second trajectory with respect to each portion of the second ideal trajectory based on data of the second trajectory and data of a second ideal trajectory which is an ideal trajectory along which the robot should move, and generating a second correction model for reducing the determined positional deviation based on the determined positional deviation and the second learning data; Equipped with In the step of calculating the corrected motion data, the first correction model is used to correct motion data including at least a motion start point at which the robot starts a motion and a motion end point at which the robot ends a motion, and then the corrected motion data is further corrected using the second correction model to calculate the corrected motion data. A method for controlling a robot according to claim 19 or 20.

22. The computer that controls the robot a step of controlling the robot based on first learning data having data representing a first learning trajectory of the robot including at least a first learning motion start point where the robot starts a motion and a first learning motion end point where the robot ends a motion, and measuring a first trajectory which is an actual trajectory of the robot at that time; determining a geometric transformation of the first trajectory with respect to the first ideal trajectory, based on data of the first trajectory and data of a first ideal trajectory which is an ideal trajectory along which the robot should move, and generating a first correction model for reducing the determined geometric transformation based on the determined geometric transformation and the first learning data; calculating corrected motion data by correcting motion data including at least a motion start point at which the robot starts a motion and a motion end point at which the robot ends a motion using the first correction model; controlling the robot using the corrected motion data calculated in the step of calculating the corrected motion data; A program for executing the above.

23. A first correction model for enabling a computer to realize a function of correcting motion data representing a motion trajectory of a robot including at least a motion start point where a robot starts a motion and a motion end point where the robot ends the motion, comprising: The function of correcting the motion data is a function of determining a geometric transformation of a first trajectory with respect to a first ideal trajectory, based on data of the first trajectory, which is an actual trajectory of the robot, and data of a first ideal trajectory, which is an ideal trajectory along which the robot should move, when a robot control unit controls the robot based on first learning data having data representing a first learning trajectory of the robot including at least a first learning motion start point where the robot starts to move and a first learning motion end point where the robot ends its movement; a function of reducing the geometric deformation based on the geometric deformation and the motion data of the first learning data; The first correction model has the following structure:

Citation Information

Patent Citations

  • Robot position teach device

    JP1999048176A

  • Operational equipment, operation method, and program thereof

    JP2019159767A

  • Control device and machine learning device

    JP2019166626A

  • Robot device

    JP2020078859A

  • Machine learning method and mobile robot

    JP2020194432A