WO2022176761A1 - Control device, robot system, learning device, control method, and program - Google Patents

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

Info

Publication number
WO2022176761A1
WO2022176761A1 PCT/JP2022/005292 JP2022005292W WO2022176761A1 WO 2022176761 A1 WO2022176761 A1 WO 2022176761A1 JP 2022005292 W JP2022005292 W JP 2022005292W WO 2022176761 A1 WO2022176761 A1 WO 2022176761A1
Authority
WO
WIPO (PCT)
Prior art keywords
trajectory
robot
driving condition
target
control device
Prior art date
Application number
PCT/JP2022/005292
Other languages
French (fr)
Japanese (ja)
Inventor
義浩 細川
弘記 雨森
沙織 松永
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN202280014133.7A priority Critical patent/CN116917086A/en
Priority to JP2023500790A priority patent/JP7462827B2/en
Publication of WO2022176761A1 publication Critical patent/WO2022176761A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements

Definitions

  • the present disclosure relates to control devices, robot systems, learning devices, control methods, and programs.
  • Industrial robots are equipped with multiple links and multiple joints that connect the multiple links to enable various movements.
  • the control device controls a plurality of servo motors that drive a plurality of joints of the robot, thereby enabling the robot to perform a desired motion. For example, if there is a difference in the delay of each servomotor, the actual trajectory of the tip link, which is the link located at the tip of the plurality of links, may deviate from the target trajectory.
  • Patent Document 1 An example of technology for minimizing the error between the actual trajectory of the robot and the target trajectory is disclosed in Patent Document 1.
  • the robot position teaching device disclosed in Patent Document 1 measures the actual trajectory of the robot, and based on the trajectory error, which is the distance between the actual trajectory and the target trajectory, predictive teaching is performed to minimize the error. Calculate points. Trajectory errors are reduced by controlling the robot based on potential teaching points.
  • the robot position teaching device disclosed in Patent Document 1 calculates probable teaching points indicating a plurality of positions in the motion path of the robot and controls the robot based on the probable teaching points until the trajectory error becomes equal to or less than the allowable value. repeat. As the target trajectory becomes more complex, the number of potential teaching points increases, the time it takes for the trajectory error to converge below the allowable value increases, and it becomes difficult to bring the robot's actual trajectory closer to the target trajectory. Become. As a result, robot control accuracy is degraded.
  • the present disclosure has been made in view of the circumstances described above, and aims to provide a control device, a robot system, a learning device, a control method, and a program with high robot control accuracy.
  • a control device for controlling a robot, comprising a driving condition storage unit, a reference trajectory determination unit, an actual trajectory acquisition unit, a learning unit, and a target trajectory determination unit. and a controller.
  • the drive condition storage unit stores drive conditions specifying at least the motion start point and the motion end point of the robot in association with each of the plurality of reference intermediate points.
  • the reference trajectory determination unit acquires one of a plurality of reference intermediate points from the drive condition storage unit, and determines a reference trajectory passing through the reference intermediate point based on the drive condition for each of the acquired reference intermediate points.
  • the actual trajectory acquisition unit acquires the actual trajectory of the robot.
  • the learning unit calculates a trajectory error indicating a deviation from the ideal trajectory based on the driving conditions of the actual trajectory acquired by the actual trajectory acquisition unit when the robot is controlled according to the reference trajectory. Then, the correspondence between the reference waypoint and the trajectory error is learned to generate a trajectory model indicating the target waypoint that minimizes the trajectory error according to the driving conditions.
  • the target trajectory determination unit determines a target trajectory passing through the target waypoint obtained from the trajectory model. The controller controls the robot according to the reference trajectory or the target trajectory.
  • the control device learns the correspondence between the reference waypoint and the trajectory error, generates a trajectory model indicating the target waypoint that minimizes the trajectory error according to the driving conditions, and generates a target waypoint passing through the target waypoint. Control the robot according to the trajectory. Therefore, the robot control accuracy of the control device according to the present disclosure is high.
  • FIG. 1 A perspective view of a robot according to Embodiment 1 Side view of the robot according to Embodiment 1
  • Block diagram of the robot system according to Embodiment 1 2 is a block diagram showing the hardware configuration of the control device according to Embodiment 1
  • FIG. 3 is a flowchart showing an example of learning processing performed by the control device according to Embodiment 1
  • FIG. 4 shows an example of a drive condition table held by a drive condition storage unit according to the first embodiment
  • a diagram showing an example of a reference midpoint in Embodiment 1 FIG. 4 shows an example of a reference trajectory and an actual trajectory according to the first embodiment;
  • FIG. 4 shows an example of a reference trajectory and an actual trajectory according to the first embodiment;
  • FIG. 4 shows an example of a reference trajectory and an actual trajectory according to the first embodiment;
  • FIG. 4 is a diagram showing an example of an error table held by a learned data storage unit according to Embodiment 1;
  • FIG. 4 is a diagram showing an example of a target waypoint table held by a learned data storage unit according to Embodiment 1;
  • FIG. Flowchart showing an example of operation processing performed by the control device according to Embodiment 1 FIG. 4 shows an example of a target trajectory and an actual trajectory according to the first embodiment;
  • Block diagram of a robot system according to Embodiment 2 10 is a flowchart showing an example of learning processing performed by the control device according to Embodiment 2;
  • FIG. 10 is a diagram showing an example of an error table held by a learned data storage unit according to Embodiment 2;
  • FIG. 11 is a diagram showing an example of a driving condition table held by a driving condition storage unit according to the third embodiment
  • FIG. 11 is a diagram showing an example of a driving condition table held by a driving condition storage unit according to the third embodiment
  • FIG. Block diagram of a robot system according to Embodiment 4 Flowchart showing an example of learning processing performed by the control device according to the fourth embodiment Block diagram of a robot system according to Embodiment 5 FIG.
  • FIG. 5 is a diagram showing a modified example of the target waypoint table held by the learned data storage unit according to the embodiment;
  • Block diagram of a modified example of the robot system according to the embodiment The perspective view of the 1st modification of the robot which concerns on embodiment
  • a robot system including a robot and a control device for controlling the robot will be described in the first embodiment by taking a robot including a plurality of links and a plurality of joints as an example.
  • the robot has multiple links, multiple joints that connect the multiple links, and multiple motors that are associated with the multiple joints and drive the corresponding joints.
  • the robot 10 is a vertically articulated robot.
  • the robot 10 includes a first arm 110, a second arm 120, a third arm 130, a fourth arm 140, a fifth arm 150, a flange 160, and a base 170 as a plurality of links.
  • the flange 160 corresponds to a tip link, which is a link positioned at the tip of the plurality of links.
  • the robot 10 further comprises a fixed part 180 fixed to a plane and supporting the base 170 .
  • fixing portion 180 is a plate-like member having a square main surface.
  • the X-axis and the Y-axis are set as axes included in a plane parallel to the main surface of the fixing portion 180 and perpendicular to each other, and the Z-axis is set as an axis perpendicular to each of the X-axis and the Y-axis. set.
  • the X-axis and the Y-axis each extend along the end surface of the fixed portion 180 . If the fixed part 180 is fixed on the horizontal plane, the Z axis extends in the vertical direction.
  • the trajectory of the tip link more specifically, the trajectory of the center of gravity of the tip surface 160a of the flange 160 is represented by an XYZ orthogonal coordinate system.
  • the origin of the XYZ orthogonal coordinate system is, for example, the position of the center of gravity of the tip surface 160a when the robot 10 is at the initial position.
  • the robot 10 is at the initial position means when the rotational positions of motors M1, M2, M3, M4, M5 and M6, which will be described later, are at the initial positions.
  • the first arm 110 is attached to the base 170 so as to be rotatable around the rotation axis AX1 parallel to the Z axis.
  • the second arm 120 is connected to the first arm 110 and is rotatable around the rotation axis AX2.
  • the third arm 130 is connected to the second arm 120 and is rotatable around the rotation axis AX3.
  • the fourth arm 140 is connected to the third arm 130 and is rotatable around the rotation axis AX4.
  • the fifth arm 150 is connected to the fourth arm 140 and is rotatable around the rotation axis AX5.
  • the flange 160 is connected to the fifth arm 150 and is rotatable around the rotation axis AX6.
  • a machining tool can be attached to the flange 160 .
  • the robot 10 has six joints corresponding to the rotation axes AX1, AX2, AX3, AX4, AX5 and AX6.
  • the robot 10 includes motors M1, M2, M3, M4, M5 and M6 corresponding to the rotation axes AX1, AX2, AX3, AX4, AX5 and AX6.
  • Motors M1, M2, M3, M4, M5 and M6 are servo motors.
  • the control device 1 controls the motors M1, M2, M3, M4, M5, and M6 according to the driving conditions, so that the motors M1, M2, M3, M4, M5, and M6 rotate, and the first arm 110 and the second arm 110 rotate.
  • Arm 120, third arm 130, fourth arm 140, fifth arm 150, and flange 160 rotate.
  • the trajectory of the flange 160 which is the tip link of the robot 10 becomes a trajectory according to the drive conditions.
  • the robot 10 further includes encoders E1, E2, E3, E4, E5 and E6 that detect the rotational positions of the motors M1, M2, M3, M4, M5 and M6.
  • the robot system 100 includes the robot 10 having the configuration described above and the control device 1 that controls the robot 10 .
  • the control device 1 controls the trajectory of the robot 10, specifically, the trajectory of the flange 160, to approach the ideal trajectory according to the drive conditions specifying at least the motion start point and the motion end point of the robot 10.
  • the motion starting point of the robot 10 means the motion starting point of the movable portion of the robot 10 , specifically, the motion starting point of the flange 160 of the robot 10 .
  • the motion end point of the robot 10 means the motion end point of the movable portion of the robot 10 , specifically, the motion end point of the flange 160 of the robot 10 .
  • the control device 1 controls the motors M1, M2, M3, M4, M5, Control M6.
  • the motors M1, M2, M3, M4, M5 and M6 operate with a delay from the command from the control device 1.
  • FIG. If there is a difference in the operation delays of the motors M1, M2, M3, M4, M5, and M6, the actual trajectory indicating the actual trajectory of the robot 10 deviates from the ideal trajectory based on the drive conditions.
  • the control device 1 obtains a trajectory error indicating the deviation of the actual trajectory from the ideal trajectory when the robot 10 is controlled based on the reference trajectory passing through the reference intermediate points. Learn the correspondence between waypoints and trajectory errors.
  • the reference midpoint indicates a predetermined position through which the leading link can pass from the motion start point to the motion end point.
  • the ideal trajectory is, for example, the shortest trajectory from the motion start point indicated by the drive condition to the motion end point indicated by the drive condition.
  • the control device 1 After learning the correspondence between the reference waypoint and the trajectory error as described above, the control device 1 generates a trajectory model indicating the target waypoint that minimizes the trajectory error for each drive condition, and calculates the target waypoint passing through the target waypoint.
  • the robot 10 is controlled according to the trajectory. By controlling the robot 10 according to the target trajectory, it is possible to improve the control accuracy of the robot 10 .
  • the control device 1 includes a driving condition storage unit 11 that stores driving conditions and a plurality of reference intermediate points in association with each other, a reference trajectory determining unit 12 that determines a reference trajectory passing through the reference intermediate points, and an actual robot 10 . , more specifically, an actual trajectory acquisition unit 13 that acquires the actual movement trajectory of the flange 160 that is the tip link.
  • the control device 1 further obtains a trajectory error that indicates the deviation of the actual trajectory from the ideal trajectory for each of the reference intermediate points, learns the correspondence between the reference intermediate points and the trajectory error, and determines a target intermediate point that minimizes the trajectory error.
  • a learning unit 14 that generates a trajectory model indicated according to driving conditions, and a learned data storage unit 15 that stores the learning result of the learning unit 14, specifically, the correspondence between the reference intermediate point and the trajectory error.
  • the control device 1 further includes a target trajectory determining unit 16 that determines a target trajectory passing through a target intermediate point according to the driving conditions based on the driving command including the trajectory model and the driving conditions; Specifically, it includes a control unit 17 that controls the motors M1, M2, M3, M4, M5, and M6.
  • the control device 1 includes a processor 31, a memory 32, and an interface 33 as a hardware configuration.
  • Processor 31 , memory 32 and interface 33 are connected to each other via bus 34 .
  • Each function of the control device 1 is realized by executing a program stored in the memory 32 by the processor 31 .
  • the interface 33 connects the control device 1 and an external device to enable communication with the external device.
  • the controller 1 is connected via an interface 33 to motors M1, M2, M3, M4, M5 and M6 and encoders E1, E2, E3, E4, E5 and E6.
  • the interface 33 has multiple types of interface modules as required.
  • control device 1 shown in FIG. 4 has one processor 31 and one memory 32
  • the control device 1 may have multiple processors 31 and multiple memories 32 .
  • each function of the control device 1 may be realized by cooperation of the plurality of processors 31 and the plurality of memories 32 .
  • the control device 1 having the above configuration repeats the control of the robot 10 according to the reference trajectory passing through the reference waypoint for different reference waypoints and different driving conditions, and sets the target waypoint that minimizes the trajectory error as the driving condition. , and operation processing for controlling the robot 10 according to the target trajectory passing through the target waypoint.
  • Minimizing the trajectory error means bringing the trajectory error closer to a minimum value, a value near the minimum value, or a minimum value or a value near the minimum value.
  • control device 1 starts the learning process of FIG. 5 when the control device 1 starts to operate for the first time after the robot 10 is installed or when a new driving condition is added.
  • a reference trajectory determination unit 12 acquires a driving condition and any one of a plurality of reference intermediate points corresponding to the driving condition from the driving condition storage unit 11 that stores the driving condition and a plurality of reference intermediate points in association with each other. (Step S11).
  • the reference trajectory determining unit 12 determines a reference trajectory passing through the reference intermediate point based on the driving conditions and the reference intermediate point acquired in step S11 (step S12).
  • the control unit 17 controls the motors M1, M2, M3, M4, M5, and M6 of the robot 10 according to the reference trajectory determined in step S12, and the actual trajectory acquisition unit 13 acquires the actual trajectory of the robot 10. (step S13).
  • control unit 17 determines the target positions of the motors M1, M2, M3, M4, M5 and M6 to move the flange 160 according to the reference trajectory, and activates the motors M1, M2, M3, M4, M5 and M6. Control to move to the target position.
  • the actual trajectory obtaining unit 13 obtains the actual trajectory of the robot 10 based on the rotational positions of the motors M1, M2, M3, M4, M5 and M6 obtained from the encoders E1, E2, E3, E4, E5 and E6. .
  • the learning unit 14 calculates a trajectory error indicating the deviation of the trajectory acquired in step S13 from the ideal trajectory based on the driving conditions acquired in step S11 (step S14). While the calculation of the trajectory error has not been completed for all the reference intermediate points of all the drive conditions stored in the drive condition storage unit 11 (step S15; No), the above-described steps S11 to S14 are repeated. .
  • step S15 When the calculation of the trajectory error is completed for all the reference intermediate points of all the driving conditions stored in the driving condition storage unit 11 (step S15; Yes), the learning unit 14 selects the target intermediate point that minimizes the trajectory error. A trajectory model indicating a target intermediate point corresponding to the drive condition is generated (step S16). When the process of step S16 is completed, the control device 1 terminates the learning process.
  • the drive condition storage unit 11 holds a drive condition table in which drive conditions are associated with a plurality of reference intermediate points.
  • the drive conditions specify at least the motion start point and motion end point of the flange 160, which is the tip link.
  • the drive conditions include the motion start point, motion end point, speed and attitude of the leading link.
  • the motion start point and motion end point indicate positions in the XYZ orthogonal coordinate system shown in FIGS.
  • the speed indicates the target speed during operation of the leading link.
  • the attitude indicates the orientation of the tip link, more specifically, the angle formed by the tip surface 160a of the flange 160 and the plane to which the robot 10 is fixed.
  • FIG. 6 shows an example of a plurality of reference intermediate points stored corresponding to one drive condition.
  • the drive condition included in the record on the first row of the drive condition table shown in FIG. 0, 0
  • the ideal trajectory extends from the motion start point SP1 (0,0,0) to the motion end point EP1 (100,0,0) and is indicated by a line segment located on the X axis.
  • Embodiment 1 a plurality of reference midpoints are defined for each driving condition.
  • the flange 160 is moved from the motion start point (0,0,0) to the motion end point (100,0,0) with the tip surface 160a of the flange 160 parallel to the plane to which the robot 10 is fixed. 0) at the target speed V1, a plurality of reference intermediate points are determined.
  • a plurality of reference intermediate points are three-dimensionally arranged in the space from the motion start point to the motion end point.
  • the motion is three-dimensionally arranged in the space S1 from the motion start point SP1 to the motion end point EP1 indicated by the dotted line in FIG.
  • a plurality of reference waypoints RP are defined. For example, if the distance from the motion start point SP1 to the motion end point EP1 is 100 millimeters, reference intermediate points RP that are three-dimensionally arranged at intervals of 5 millimeters in the space S1 are determined.
  • the size of the space S1 may be determined depending on the accuracy of the robot 10 and the possible size of the trajectory error.
  • the reference trajectory determination unit 12 acquires the associated driving conditions and reference intermediate points from the driving condition table shown in FIG. Then, the reference trajectory determination unit 12 determines a reference trajectory passing through the acquired reference intermediate point based on the drive conditions. More specifically, the reference trajectory determination unit 12 performs spline interpolation based on the motion start point, the reference intermediate point, and the motion end point indicated by the drive condition, and converts the motion start point indicated by the drive condition to the reference intermediate point. A reference trajectory is calculated that passes through the points and reaches the operation end point indicated by the drive condition. The reference trajectory indicates, for example, the position of the leading link in the XYZ orthogonal coordinate system for each control cycle. The control period is determined, for example, according to the arithmetic processing capability of the control device 1 .
  • the reference trajectory determining unit 12 acquires the driving condition and the reference intermediate point indicated by the record on the first row of the driving condition table shown in FIG.
  • the motion start point (0, 0, 0) and the motion end point (100, 0, 0) included in this drive condition are respectively shown as motion start point SP1 and motion end point EP1 in FIG. 50,0,0) is shown in FIG. 8 as the reference midpoint RP1.
  • the reference trajectory determination unit 12 determines the reference intermediate point RP1 (50, 0, 0) is determined.
  • the reference trajectory RT1 indicated by the dotted line extends from the motion start point SP1 (0,0,0) to the motion end point EP1 (100,0,0) and is indicated by a line segment positioned on the X axis.
  • the reference trajectory determination unit 12 sends the driving conditions and the determined reference trajectory to the learning unit 14 and the control unit 17 .
  • the control unit 17 shown in FIG. 3 generates control commands to the motors M1, M2, M3, M4, M5, and M6 according to the drive conditions and the reference trajectory acquired from the reference trajectory determination unit 12, and outputs the control commands to the motor M1. , M2, M3, M4, M5 and M6. Specifically, the control unit 17 generates control commands to the motors M1, M2, M3, M4, M5, and M6 in accordance with the reference positions, which are the positions of the leading links indicated by the reference trajectory. Transmission to M2, M3, M4, M5 and M6 is performed for each control period.
  • the motors M1, M2, M3, M4, M5 and M6 rotate according to the control commands, and the first arm 110, the second arm 120, the third arm 130, the fourth arm 140, the fifth arm 150, and the flange 160 rotate. rotates.
  • the flange 160 which is the tip link, moves.
  • the control unit 17 acquires the rotational positions of the motors M1, M2, M3, M4, M5 and M6 from the encoders E1, E2, E3, E4, E5 and E6, and controls the motors M1, M2, M3, M4, M5 and M6. Feedback control is preferred.
  • the actual trajectory acquisition unit 13 acquires the rotational positions of the motors M1, M2, M3, M4, M5 and M6 from the encoders E1, E2, E3, E4, E5 and E6, and the motors M1, M2, M3, M4, M5, Obtain the actual position of the leading link from the rotational position of M6.
  • the actual trajectory acquisition unit 13 performs the above-described processing for each control cycle to determine the actual trajectory indicating the actual position of the leading link in the XYZ orthogonal coordinate system for each control cycle.
  • the actual trajectory AT1 acquired by the actual trajectory acquisition unit 13 is indicated by a solid line in FIG.
  • the actual trajectory acquisition unit 13 sends the actual trajectory acquired as described above to the learning unit 14 .
  • the learning unit 14 When the learning unit 14 acquires the actual trajectory from the actual trajectory acquisition unit 13, the learning unit 14 generates a trajectory indicating the deviation of the actual trajectory acquired by the actual trajectory acquisition unit 13 from the ideal trajectory when the robot 10 is controlled according to the reference trajectory. Calculate the error. Specifically, the learning unit 14 determines an ideal trajectory, which is the shortest trajectory from the motion start point to the motion end point, based on the drive conditions, and determines the position of the leading link for each control cycle on the ideal trajectory. Then, the learning unit 14 determines the position of the robot 10 in each control cycle indicated by the ideal trajectory, more specifically, the position of the robot 10 in each control cycle indicated by the ideal position, which is the position of the tip link of the robot 10, and the actual trajectory. Specifically, the distance from the actual position, which is the position of the tip link, is calculated. The learning unit 14 uses the deviation of the actual position from the ideal position when this distance reaches the maximum value as the trajectory error.
  • the learning unit 14 acquires from the reference trajectory determining unit 12 the driving condition indicated by the record in the first row of the driving condition table shown in FIG. 0, 0) to the motion end point EP1 (100, 0, 0).
  • the ideal trajectory extends from the motion start point SP1 (0,0,0) to the motion end point EP1 (100,0,0) shown in FIG. 8, and is indicated by a line segment located on the X axis.
  • the learning unit 14 calculates the distance between the ideal position of the leading link on the ideal trajectory for each control cycle and the actual position of the leading link for each control cycle indicated by the actual trajectory AT1 acquired by the actual trajectory acquisition unit 13, and , the deviation of the actual position from the ideal position when the distance reaches the maximum value is used as the trajectory error.
  • the actual position deviates from the ideal position on the XY plane in the positive direction of the Y axis.
  • the control device 1 performs the above-described processing for all combinations of drive conditions and reference intermediate points stored in the drive condition table shown in FIG. For example, after completing the above-described processing for the driving condition and the reference intermediate point indicated by the record in the first row of the driving condition table shown in FIG. Acquire the drive condition and the reference midpoint indicated by the record of .
  • the drive condition indicated by the record on the second line is the same as the drive condition indicated by the record on the first line.
  • the reference midpoint (50, -5, 0) indicated by the second row record is indicated as the reference midpoint RP2 in FIG.
  • the reference trajectory determination unit 12 determines the reference intermediate point RP2 (50, ⁇ 5 , 0) is determined.
  • the reference trajectory RT2 is a smooth curve extending from the motion start point SP1 through the reference intermediate point RP2 to the motion end point EP1, and protrudes in the Y-axis negative direction on the XY plane. is shown by a curve that
  • the control unit 17 shown in FIG. 3 generates control commands to the motors M1, M2, M3, M4, M5, and M6 according to the drive conditions and the reference trajectory RT2 acquired from the reference trajectory determination unit 12, and outputs the control commands to the motors M1, M2, M3, M4, M5, and M6. Send to M1, M2, M3, M4, M5, M6.
  • the actual trajectory acquisition unit 13 acquires the rotational positions of the motors M1, M2, M3, M4, M5 and M6 from the encoders E1, E2, E3, E4, E5 and E6, and the motors M1, M2, M3, M4, M5, Obtain the actual position of the leading link from the rotational position of M6.
  • the motors M1, M2, M3, M4, M5, and M6 are controlled in accordance with the driving condition indicated by the record in the second row of the driving condition table shown in FIG.
  • the actual trajectory AT2 acquired by the actual trajectory acquisition unit 13 is indicated by a solid line in FIG.
  • the actual trajectory acquisition unit 13 sends the actual trajectory acquired as described above to the learning unit 14 .
  • the learning unit 14 calculates the distance between the ideal position of the leading link on the ideal trajectory for each control cycle and the actual position of the leading link for each control cycle indicated by the actual trajectory AT2 determined by the actual trajectory acquisition unit 13, and As indicated by an arrow ER2 in 9, the deviation of the actual position from the ideal position when the distance between the ideal position and the actual position reaches the maximum value is used as the trajectory error.
  • the learning unit 14 calculates the trajectory error for each reference intermediate point associated with each drive condition, and learns the correspondence between the reference intermediate point and the trajectory error.
  • the learning unit 14 then generates an error table shown in FIG. 10 and stores it in the learned data storage unit 15 .
  • a trajectory error is stored for each reference intermediate point for a plurality of reference intermediate points corresponding to one driving condition.
  • Trajectory errors are stored as components of a vector. Specifically, the trajectory error is represented by a component of a vector that starts from the ideal position and indicates the displacement of the actual position.
  • the learning unit 14 selects the target midpoint that minimizes the trajectory error from the trajectory errors corresponding to the reference midpoints for each driving condition. Then, a trajectory model indicating the target intermediate point is generated according to the driving conditions. Specifically, the learning unit 14 learns changes in trajectory error in response to changes in the reference intermediate point for each driving condition, obtains a target intermediate point that minimizes the trajectory error, and determines the target intermediate point according to the driving condition. Generate a trajectory model showing In Embodiment 1, the learning unit 14 generates a target waypoint table shown in FIG. 11 as a trajectory model and stores it in the learned data storage unit 15 .
  • the learning unit 14 performs regression analysis for each drive condition to calculate a target intermediate point that minimizes the trajectory error for each drive condition.
  • the XYZ coordinate components of the reference midpoint are used as independent variables, and the trajectory error is used as the objective function.
  • the value of the independent variable when the trajectory error is minimized corresponds to the target waypoint.
  • the control device 1 starts the operation process of FIG. 12 when a driving command including driving conditions for the robot 10 is input by an operation from an operation unit (not shown).
  • the target trajectory determination unit 16 acquires the drive command including the drive condition, it acquires the target intermediate point corresponding to the drive condition indicated by the drive command from the learned data storage unit 15 (step S21). Then, the target trajectory determination unit 16 determines a target trajectory passing through the target intermediate point acquired in step S21 based on the drive conditions (step S22). The controller 17 controls the motors M1, M2, M3, M4, M5 and M6 of the robot 10 according to the target trajectory determined in step S22 (step S23).
  • the target trajectory determination unit 16 Upon acquiring the drive command, acquires a target intermediate point corresponding to the drive condition indicated by the drive command from the target intermediate point table stored in the learned data storage unit 15 . Then, the target trajectory determining unit 16 determines a target trajectory representing a trajectory from the motion start point indicated by the drive condition, through the target intermediate point, to the motion end point indicated by the drive condition. More specifically, the target trajectory determination unit 16 performs spline interpolation based on the motion start point, target intermediate point, and motion end point indicated by the drive condition, and calculates the target intermediate point from the motion start point indicated by the drive condition. A target trajectory is determined through the points to reach the motion end point indicated by the drive condition. The target trajectory indicates the target position of the leading link for each control cycle.
  • the target trajectory determination unit 16 moves the flange 160 from the motion start point (0, 0, 0) to the motion end point (100 , 0, 0) at the target speed V1.
  • the target trajectory determination unit 16 acquires the target intermediate point (50, -2.5, 0) indicated by the record in the first row of the target intermediate point table shown in FIG. 11 corresponding to the acquired drive condition.
  • This target midpoint (50, -2.5, 0) is shown as target midpoint TP1 in FIG.
  • the target trajectory determination unit 16 moves from the motion start point SP1 (0,0,0) to the motion end point EP1 (100,0,0) through the target intermediate point TP1 (50,-2.5,0).
  • a target trajectory TT1 to be reached is determined.
  • the target trajectory TT1 is a smooth curve extending from the motion start point SP1 through the target intermediate point TP1 to the motion end point EP1. is indicated by the target trajectory determination unit 16 .
  • the control unit 17 shown in FIG. 3 generates control commands to the motors M1, M2, M3, M4, M5, and M6 according to the target trajectory acquired from the target trajectory determination unit 16, and outputs the control commands to the motors M1, M2, M6, and M6. Send to M3, M4, M5, M6.
  • the motors M1, M2, M3, M4, M5 and M6 rotate according to the control commands, and the first arm 110, the second arm 120, the third arm 130, the fourth arm 140, the fifth arm 150 and the flange 160 rotate. Rotate. This causes the tip link to move.
  • the actual trajectory AT1' of the leading end link approaches the ideal trajectory as shown in FIG.
  • the control device 1 learns the correspondence between the reference intermediate point and the trajectory error, obtains the target intermediate point that minimizes the trajectory error, and determines the target intermediate point according to the driving conditions.
  • a trajectory model shown is generated, and the robot 10 is controlled according to the target trajectory passing through the target waypoint. As a result, the actual trajectory approaches the ideal trajectory, and the accuracy of control of the robot 10 by the control device 1 increases.
  • a machining tool attached to a robot for example, a machining tool attached to a tip link
  • the robot receives force from the workpiece during machining.
  • the trajectory of the tip link may deviate from the ideal trajectory under the influence of the reaction force, which is the force that the robot receives from the workpiece.
  • a robot system 101 that includes a robot 30 and a control device 2 that controls the robot 30 according to the reaction force that the robot 30 receives during processing is mainly different from the robot system 100 according to the first embodiment. to explain.
  • a robot 30 shown in FIG. 14 includes a force sensor 190 in addition to the configuration of the robot 10 according to the first embodiment.
  • a processing tool 200 is attached to the flange 160 . By controlling the robot 30 to which the processing tool 200 is attached, it is possible to perform processing such as deburring of the workpiece, attachment of parts, and the like.
  • the force sensor 190 outputs a sensor signal corresponding to the reaction force, which is the force that the flange 160 receives during machining of the workpiece by the machining tool 200 .
  • the reaction force acquisition unit 19 detects the value of the sensor signal acquired from the force sensor 190 in each control cycle, calculates the reaction force received by the robot 30 from the detected value in each control cycle, and obtains the calculated reaction force. Send to learning unit 18 .
  • the learning unit 18 acquires the reaction force calculated by the reaction force acquiring unit 19, and calculates the reaction force corresponding to the trajectory error, that is, the ideal position of the leading end link in each control cycle and the ideal position of the leading end link in each control cycle indicated by the actual trajectory. Obtain the reaction force when the distance from the actual position is maximum.
  • the hardware configuration of the control device 2 is the same as that of the control device 1 shown in FIG.
  • the control device 2 is connected to the motors M1, M2, M3, M4, M5 and M6, the encoders E1, E2, E3, E4, E5 and E6 and the force sensor 190 via the interface 33.
  • the learning process performed by the control device 2 having the above configuration will be explained using FIG.
  • the control device 2 starts the learning process of FIG. 16 .
  • the processing from steps S11 to S12 is the same as the processing performed by the control device 1 shown in FIG.
  • the control unit 17 controls the motors M1, M2, M3, M4, M5, and M6 of the robot 10 according to the reference trajectory determined in step S12, and the actual trajectory acquisition unit 13 acquires the actual trajectory of the robot 10.
  • the reaction force acquiring unit 19 calculates the reaction force (step S17).
  • step S17 the motors M1, M2, M3, M4, M5, and M6 are controlled based on the reference trajectory, so that machining by the robot 30 is performed. While the motors M1, M2, M3, M4, M5, and M6 are being controlled based on the reference trajectory, the actual trajectory acquisition unit 13 acquires the actual trajectory of the tip link of the robot 30, and the reaction force acquisition unit 19 , the reaction force is calculated from the sensor signal output by the force sensor 190 .
  • the learning unit 18 calculates a trajectory error indicating the deviation of the actual trajectory acquired in step S17 from the ideal trajectory based on the driving conditions acquired in step S11, and calculates the distance between the trajectory error and the ideal position and the actual position.
  • the maximum reaction force is associated (step S18).
  • step S19 While the correspondence between the trajectory error and the reaction force is not completed for all the reference intermediate points of all the drive conditions stored in the drive condition storage unit 11 (step S19; No). , the above-described steps S11, S12, S17, and S18 are repeated.
  • the learning unit 18 calculates the trajectory error for each reference intermediate point associated with each driving condition, and learns the correspondence between the driving condition, the reference intermediate point, the trajectory error, and the reaction force.
  • the learning unit 18 then generates an error table shown in FIG. 17 and stores it in the learned data storage unit 15 .
  • a trajectory error and a reaction force are stored for each reference intermediate point with respect to a plurality of reference intermediate points corresponding to one drive condition.
  • the reaction force is represented by force Fx in the X-axis direction, force Fy in the Y-axis direction, and force Fz in the Z-axis direction.
  • the reaction force represented by (Fx, Fy, Fz) is stored in the error table.
  • the learning unit 18 obtains the target intermediate point that minimizes the trajectory error according to the driving condition.
  • a trajectory model indicating the target waypoint is generated (step S20). Specifically, the learning unit 18 uses a multiple regression model for each driving condition to calculate a target intermediate point that minimizes the trajectory error for each driving condition.
  • the XYZ coordinate components of the reference midpoint and the reaction force are used as independent variables, and the trajectory error is used as the objective function.
  • the reference midpoint at which the trajectory error is minimized corresponds to the target midpoint.
  • the learning unit 18 generates the target waypoint table shown in FIG. 11, as in the first embodiment.
  • the operation process performed by the control device 2 after the above-described learning process is completed is the same as in the first embodiment.
  • the control device 2 performs operation processing shown in FIG. 12 to control the robot 30 .
  • the control device 2 obtains the target intermediate point that minimizes the trajectory error from the trajectory error and the reaction force corresponding to each of the reference intermediate points for each driving condition.
  • a trajectory model indicating the corresponding target waypoint is generated, and the robot 30 is controlled according to the target trajectory passing through the target waypoint. Since the target intermediate point is determined according to the reaction force, which is the force that the robot 30 receives during machining, the controller 2 can control the robot 30 with high accuracy.
  • Embodiment 3 In Embodiments 1 and 2, all reference midpoints corresponding to each driving condition are stored in advance in the drive condition table, but the reference midpoint may be estimated.
  • a robot system 102 that includes a robot 10 and a control device 3 that estimates at least a part of reference intermediate points and performs learning processing will focus on differences from the robot system 100 according to the first embodiment. to explain.
  • the control device 3 included in the robot system 102 shown in FIG. 18 further includes a midpoint estimation unit 20 in addition to the configuration of the control device 1 according to the first embodiment.
  • the midpoint estimating unit 20 detects a plurality of reference midpoints corresponding to the driving conditions in the driving condition storage unit 11, or when a plurality of reference midpoints corresponding to the driving conditions are stored in the driving condition storage unit 11. If the number of reference waypoints is not sufficient, the reference waypoints are estimated.
  • the midpoint estimation unit 20 estimates a plurality of reference midpoints corresponding to other driving conditions from the target midpoint corresponding to the driving condition indicated by the trajectory model generated by the learning unit 14 .
  • the intermediate point estimating unit 20 selects the driving conditions stored in the learned data storage unit 15 and the target intermediate points corresponding to the driving conditions, and the driving condition storage unit 11 stores a plurality of corresponding reference intermediate points. Estimate multiple reference waypoints for non-zero driving conditions. Then, the midpoint estimation unit 20 associates the drive condition with the estimated plurality of reference midpoints and stores them in the drive condition storage unit 11 .
  • the hardware configuration of the control device 3 is the same as the hardware configuration of the control device 1 shown in FIG.
  • the learning process performed by the control device 3 having the above configuration will be explained using FIG.
  • the control device 3 starts the learning process of FIG.
  • the processing from steps S11 to S16 is the same as the processing performed by the control device 1 shown in FIG.
  • the trajectory error is calculated and the trajectory model indicating the target intermediate point is generated in the same manner as in the first embodiment based on the driving conditions and a plurality of reference intermediate points stored in the driving condition storage unit 11 in advance.
  • the midpoint estimation unit 20 determines whether or not it is necessary to estimate the reference midpoint corresponding to the drive conditions stored in the drive condition storage unit 11 (step S31). Specifically, the intermediate point estimation unit 20 determines that the number of reference intermediate points associated with the driving conditions stored in the driving condition storage unit 11 is the number necessary for the learning unit 14 to generate the trajectory model. It is determined whether or not the reference midpoint needs to be estimated based on whether or not the above conditions are met. As an example, the midpoint estimating unit 20 determines that the reference midpoint needs to be estimated when the driving conditions stored in the driving condition storage unit 11 are not associated with the reference midpoint. As another example, if the number of reference intermediate points corresponding to each driving condition stored in the driving condition storage unit 11 is less than 50, the intermediate point estimating unit 20 determines that estimation of the reference intermediate point is necessary. judge.
  • the flange 160 is moved from the operation start point (0, 0, 0) to the operation end point ( ⁇ 100, 0, 0) at the target speed V1 is not associated with a reference intermediate point.
  • the tip surface 160a of the flange 160 parallel to the plane to which the robot 10 is fixed, the flange 160 is moved from the motion start point (0,0,0) to the motion end point (0,100,0).
  • No reference midpoint is associated with the drive condition for driving at the target speed V1. Therefore, in the process of step S31 of FIG. 19, the midpoint estimating unit 20 determines that the reference midpoint needs to be estimated for these drive conditions (step S31; Yes).
  • the intermediate point estimation unit 20 estimates the reference intermediate point from the target intermediate point according to the driving conditions indicated by the trajectory model (step S32).
  • the midpoint estimating unit 20 selects a plurality of driving conditions that require estimation of a reference midpoint from the driving conditions stored in the learned data storage unit 15 and target midpoints corresponding to the driving conditions. Estimate the reference waypoint. For example, the target midpoint of each drive condition is obtained from the target midpoint table shown in FIG. Estimate the target waypoint for no drive condition. Then, the midpoint estimation unit 20 estimates a plurality of reference midpoints three-dimensionally arranged as shown in FIG. 7 in a space centered on the estimated target midpoint. The space centered on the estimated target midpoint is preferably narrower than the space in which the plurality of reference midpoints pre-stored in the driving condition storage unit 11 are positioned, for example, the space S1 in FIG. As a result, the time required to calculate the trajectory error can be shortened, and as a result, the target intermediate point can be obtained efficiently.
  • the midpoint estimating unit 20 estimates a plurality of reference midpoints for each driving condition that requires estimation of a reference midpoint as described above, and determines each driving condition and the estimated multiple is stored in the drive condition storage unit 11 in association with the reference midpoint of (step S33).
  • a record is added to the driving condition table stored in the driving condition storage unit 11 to associate the driving condition with the estimated reference intermediate point.
  • step S33 since a record that associates the driving condition with the estimated reference midpoint is added to the driving condition table stored in the driving condition storage unit 11, the driving condition and the estimated reference midpoint are: Learning processing is performed in the same manner as in the first embodiment. It is not necessary to repeat the learning process for driving conditions that have already been subjected to the learning process and for which no record associated with the estimated reference midpoint has been added.
  • step S33 a record that associates the driving condition with the estimated reference midpoint is added to the driving condition table stored in the driving condition storage unit 11, and the learning process described above is performed. 20 determines that estimation of the reference midpoint is unnecessary (step S31; No). If estimation of the reference midpoint is unnecessary (step S31; No), the control device 3 terminates the learning process. The operation process performed by the control device 3 after the above-described learning process is completed is the same as that of the first embodiment.
  • the control device 3 estimates a reference midpoint corresponding to another driving condition from the target midpoint corresponding to the driving condition indicated by the trajectory model.
  • a reference waypoint is estimated based on a trajectory model, a trajectory error is calculated based on the estimated reference waypoint, and a target waypoint is obtained.
  • the learning efficiency of the control device 3 is high.
  • Embodiment 4 In Embodiments 1 and 2, all reference midpoints corresponding to each driving condition are stored in advance in the drive condition table, but the reference midpoint may be estimated. Furthermore, driving conditions may also be estimated.
  • the robot system 103 including the robot 10 and the control device 4 that estimates at least part of the driving conditions and at least part of the reference intermediate points to perform learning processing is described as the robot according to the first embodiment. The points different from the system 100 will be mainly described.
  • the control device 4 included in the robot system 103 shown in FIG. 22 further includes a drive condition estimation unit 21 in addition to the configuration of the control device 1 according to Embodiment 1.
  • the driving condition estimation unit 21 estimates a reference intermediate point and stores it in the driving condition storage unit 11 when the number of reference intermediate points stored corresponding to the driving condition in the driving condition storage unit 11 is not sufficient. If there are not enough driving conditions, a driving condition and a plurality of reference intermediate points corresponding to the driving condition are estimated.
  • the driving condition estimating unit 21 uses the trajectory error calculated by the learning unit 14 according to the driving conditions stored in the driving condition storage unit 11 and the reference intermediate point to determine the distance stored in the driving condition storage unit 11. A new reference midpoint associated with the drive condition, a new drive condition not stored in the drive condition storage unit 11, and a plurality of reference midpoints associated with the new drive condition are estimated. Then, the driving condition estimation unit 21 associates the driving conditions stored in the driving condition storage unit 11 with the new reference midpoint estimated based on the driving conditions, and stores them in the driving condition storage unit 11 . The driving condition estimating unit 21 further stores the estimated driving condition and each of the plurality of estimated reference intermediate points in the driving condition storage unit 11 in association with each other.
  • the hardware configuration of the control device 4 is the same as the hardware configuration of the control device 1 shown in FIG.
  • the learning process performed by the control device 4 having the above configuration will be explained using FIG.
  • the control device 4 starts the learning process of FIG.
  • the processing from steps S11 to S15 is the same as the processing performed by the control device 1 shown in FIG.
  • the locus error calculation process is performed in the same manner as in the first embodiment, based on the driving conditions and the reference intermediate point stored in advance in the driving condition storage unit 11 .
  • the driving condition estimation unit 21 determines whether or not it is necessary to estimate the reference intermediate point corresponding to the driving conditions stored in the driving condition storage unit 11 (step S41). Specifically, the driving condition estimation unit 21 determines whether or not the number of reference intermediate points corresponding to the driving conditions stored in the driving condition storage unit 11 is equal to or greater than the number necessary for generating the trajectory model in the learning unit 14. It is determined whether or not the reference midpoint needs to be estimated. For example, if the number of reference midpoints corresponding to each driving condition stored in the driving condition storage unit 11 is less than 50, the driving condition estimation unit 21 determines that estimation of the reference midpoint is necessary.
  • the tip surface 160a of the flange 160 is parallel to the plane to which the robot 10 is fixed, and the flange 160 is moved from the operation start point (0, 0, 0) to the operation end point It is determined that the reference midpoint needs to be estimated for the driving condition of driving at the target speed V1 up to (100, 0, 0) (step S41; Yes).
  • the driving condition estimating unit 21 estimates the reference midpoint using a regression algorithm based on the error table stored in the learned data storage unit 15. (step S42). For example, the drive condition estimator 21 moves the flange 160 to the operation start point (0, 0, 0) with the tip surface 160a of the flange 160 parallel to the plane to which the robot 10 is fixed, using a Gaussian process regression algorithm. A reference intermediate point is estimated with respect to the drive conditions for driving from the point (100, 0, 0) to the end point (100, 0, 0) at the target speed V1.
  • the objective function of Gaussian process regression algorithm is trajectory error.
  • the driving condition estimation unit 21 stores the reference midpoint estimated in step S42 in the driving condition storage unit 11 in association with the driving condition (step S43). As a result, for example, records from the second line onward shown in FIG. 6 are generated.
  • the control device 4 repeats the above-described processing from step S11.
  • step S43 since a record that associates the driving condition with the estimated reference midpoint is added to the driving condition table stored in the driving condition storage unit 11, the driving condition and the estimated reference midpoint are: A locus error calculation process is performed in the same manner as in the first embodiment. It is not necessary to repeat the learning process for the driving conditions that have already been calculated.
  • the driving condition estimating unit 21 estimates the reference midpoint as It is determined that it is unnecessary (step S41; No). If estimation of the reference midpoint is unnecessary (step S41; No), the driving condition estimator 21 determines whether estimation of the driving condition is necessary (step S44).
  • the driving condition estimating unit 21 determines whether or not the driving condition stored in the driving condition storage unit 11 is sufficient for the type of control pattern of the robot 10. Judge no. For example, if the number of types of driving conditions stored in the driving condition storage section 11 is less than the predetermined number of types of control patterns for the robot 10, the driving condition estimating section 21 determines that the driving condition needs to be estimated. judge. The driving condition estimating unit 21 only needs to hold information about the types of control patterns of the robot 10 in a memory (not shown).
  • step S43 when the process of step S43 ends, the driving condition stored in the driving condition storage unit 11 is such that the flange 160 is parallel to the plane to which the robot 10 is fixed, and the tip surface 160a of the flange 160 is parallel to the plane to which the robot 10 is fixed. is driven at the target speed V1 from the operation start point (0,0,0) to the operation end point (100,0,0), the drive condition estimator 21 needs to estimate the drive condition. It is determined that there is (step S44; Yes).
  • the driving condition estimating unit 21 uses a regression algorithm based on the error table stored in the learned data storage unit 15 to estimate other driving conditions.
  • a plurality of reference intermediate points corresponding to the driving conditions are estimated (step S45).
  • Other driving conditions are driving conditions different from the driving conditions stored in the driving condition storage unit 11 .
  • the drive condition estimator 21 moves the flange 160 to the operation start point (0, 0, 0) with the tip surface 160a of the flange 160 parallel to the plane to which the robot 10 is fixed, using a Gaussian process regression algorithm.
  • the operation end point ( ⁇ 100, 0, 0) at the target speed V1 is estimated, and a plurality of reference intermediate points corresponding to the estimated driving conditions are estimated. Estimation of a plurality of reference midpoints corresponding to the estimated drive conditions is the same as the process of step S42.
  • the driving condition estimation unit 21 associates the driving conditions estimated in step S45 with the plurality of reference intermediate points and stores them in the driving condition storage unit 11 (step S46).
  • the end surface 160a of the flange 160 is parallel to the plane to which the robot 10 is fixed, and the flange 160 is moved from the operation start point (0, 0, 0) to the end of the operation.
  • a plurality of records are generated for the drive condition to drive at the target speed V1 to the point (-100,0,0).
  • step S46 since a record that associates the estimated driving condition with each of the plurality of estimated reference intermediate points is added to the driving condition table stored in the driving condition storage unit 11, the estimated driving For a plurality of reference intermediate points estimated as conditions, the locus error calculation process is performed in the same manner as in the first embodiment. It is not necessary to repeat the calculation process for the driving conditions that have already been calculated.
  • the driving condition estimation unit 21 It is determined that estimation of the reference intermediate point is unnecessary (step S41; No) and that estimation of the drive condition is unnecessary (step S44; No). If estimation of the reference intermediate point is unnecessary (step S41; No) and estimation of the drive condition is unnecessary (step S44; No), the learning unit 14 calculates the locus error as in the first embodiment. A trajectory model indicating a target intermediate point to be minimized for each drive condition is generated (step S16). When the process of step S16 is completed, the control device 4 terminates the learning process. Operational processing performed by the control device 4 after the above-described learning processing is completed is the same as that of the first embodiment.
  • the control device 4 estimates the reference midpoint corresponding to the driving condition stored in the driving condition storage unit 11, and based on the estimated reference midpoint, Calculate the trajectory error and determine the target waypoint. Further, the control device 4 estimates driving conditions not stored in the driving condition storage unit 11, estimates a plurality of reference midpoints corresponding to the estimated driving conditions, and calculates the estimated driving conditions and the plurality of reference midpoints. Calculate the trajectory error based on and obtain the target intermediate point. Therefore, even if a large number of driving conditions and a large number of reference intermediate points are not stored in advance in the driving condition storage unit 11, the trajectory error can be calculated for various driving conditions for controlling the robot 10, and the actual trajectory can be calculated. It is possible to approach the ideal trajectory.
  • the method of acquiring the trajectory of the robot 10 is not limited to the above example.
  • a robot system 104 that includes a robot 10 and a control device 5 that obtains the trajectory of the robot 10 by a method different from that of the first embodiment will be described, focusing on differences from the robot system 100 according to the first embodiment.
  • the control device 5 shown in FIG. 24 includes an actual trajectory acquisition unit 22 that acquires the trajectory of the robot 10 regardless of the rotational positions of the motors M1, M2, M3, M4, M5, and M6.
  • the actual trajectory acquisition unit 22 has a measuring device for measuring the trajectory of the robot 10, for example, a three-dimensional measuring device, and acquires the trajectory of the robot 10 according to the measurement values of the measuring device.
  • the three-dimensional measuring device acquires the position of the tip link of the robot 10 by irradiating the movement range of the tip link of the robot 10 with a laser beam and receiving the laser beam reflected by the tip link of the robot 10 .
  • the actual trajectory acquisition unit 22 performs the above-described processing for each control cycle to calculate the actual trajectory indicating the actual position of the leading link in the XYZ orthogonal coordinate system for each control cycle. .
  • the actual trajectory acquisition unit 22 then sends the actual trajectory to the learning unit 14 .
  • the hardware configuration of the control device 5 is the same as that of the control device 1 shown in FIG.
  • the learning process performed by the control device 5 having the above configuration is the same as that of the control device 1 except for the method of acquiring the trajectory of the leading link.
  • Operation processing performed by the control device 5 is the same as that of the control device 1 .
  • the controller 5 acquires the trajectory of the robot 10 regardless of the rotational positions of the motors M1, M2, M3, M4, M5, and M6.
  • the accuracy of the actual trajectory is improved because the error caused by the mechanical rigidity of the
  • control device 3-5 calculates the reaction force from the measurement value of the force sensor 190 in the same way as the control device 2, and determines the target intermediate point according to the trajectory error and the reaction force corresponding to the trajectory error. good too.
  • the drive conditions are not limited to the above examples.
  • the driving conditions may further include information about the workpiece.
  • the drive conditions may include the motion start point, motion end point, speed, and attitude of the leading link, and the weight of the workpiece.
  • the learning unit 14 may acquire information about the weight of the workpiece, which is the object to be processed, from an external device, for example, a weight sensor that measures the weight of the object to be processed.
  • the control device 1-5 acquires the measured values from the weight sensors, controls the robots 10 and 30 according to the driving conditions stored in the driving condition storage unit 11, and uses the driving conditions and the measured values of the weight sensors to A trajectory model is generated by repeating calculation of the corresponding trajectory error.
  • the learning unit 14 creates a target intermediate point table that associates driving conditions, including the motion start point, motion end point, speed, and attitude of the leading link and the weight of the workpiece, with the target intermediate points. to generate
  • the target trajectory determination unit 16 acquires from the learned data storage unit 15 the motion start point, motion end point, speed, attitude, and measurement values of the weight sensor indicated by the drive command. Get the target waypoint according to . Then, the target trajectory determination unit 16 determines a target trajectory passing through the target intermediate point based on the motion start point, motion end point, speed, and attitude of the leading link indicated by the drive command. Control accuracy of the robots 10 and 30 is improved by controlling the robots 10 and 30 based on the target trajectory corresponding to the weight of the object to be processed.
  • Information about the workpiece is not limited to the weight of the workpiece, and may include at least one of the weight, shape, and dimensions of the workpiece.
  • the drive conditions may include the motion start point, motion end point, time required from the motion start point to the motion end point, and attitude of the leading link.
  • the driving conditions instruct linear movement on a plane, but the driving conditions may instruct three-dimensional movement, curvilinear movement, and the like.
  • one record of the driving condition table stored in the driving condition storage unit 11 stores one reference midpoint. Intermediate points may be stored.
  • the reference trajectory determining unit 12 may determine a reference trajectory passing through a plurality of reference intermediate points stored in the same record.
  • the driving condition storage unit 11 and the learned data storage unit 15 may be provided outside the control device 1-5.
  • the driving condition storage unit 11 and the learned data storage unit 15 may be implemented as functions of storage devices on a network.
  • the reference trajectory RT2 determined by the reference trajectory determination unit 12 in the first embodiment is a smooth curve from the motion start point SP1 through the reference intermediate point RP2 to the motion end point EP1.
  • the reference trajectory RT2 is not limited to such a curve, and may be indicated by curves projecting in a plurality of directions.
  • the reference trajectory RT2 projects in the negative Y-axis direction from the motion start point SP1 to the motion end point EP1, and extends in the positive Y-axis direction on the XY plane near the motion start point SP1 and the motion end point EP1. It may be represented by a protruding curve.
  • the reference trajectory determination unit 12 linearly interpolates the motion start point and the reference intermediate point indicated by the driving condition, and linearly interpolates the reference intermediate point and the operation end point indicated by the driving condition, thereby determining the reference trajectory. You may Even when the reference trajectory is determined by linear interpolation, the control unit 17 controls the motors M1, M2, M3, M4, M5, and M6 to smoothly rotate, so that the tip links move smoothly and the actual trajectory is obtained. becomes a smooth curve.
  • the reference trajectory determining unit 12 determines the reference trajectory using a table (not shown) that associates the motion start point, the reference intermediate point, the motion end point, and the reference position of the leading end link for each control cycle. may be determined.
  • the ideal trajectory and the target trajectory can also be determined by a method similar to the method for determining the reference trajectory described above.
  • the ideal trajectory is a straight line.
  • the ideal trajectory may be a circular arc, a curved line, or a combination of straight lines, circular arcs, and curved lines.
  • the target trajectory TT1 determined by the target trajectory determination unit 16 in the first embodiment is a smooth curve from the motion start point SP1 through the target intermediate point TP1 to the motion end point EP1, and extends in the negative Y-axis direction on the XY plane.
  • the target trajectory TT1 is not limited to such a curve.
  • the target trajectory TT1 projects in the negative Y-axis direction from the motion start point SP1 to the motion end point EP1, and extends in the positive Y-axis direction on the XY plane near the motion start point SP1 and the motion end point EP1. It may be represented by a protruding curve.
  • the target trajectory determination unit 16 linearly interpolates between the motion start point and the target intermediate point indicated by the drive condition, and linearly interpolates the target midpoint and the motion end point indicated by the drive condition, thereby determining the target trajectory. You may Even when the target trajectory is determined by linear interpolation, the control unit 17 controls the motors M1, M2, M3, M4, M5, and M6 to smoothly rotate, so that the tip links move smoothly and the actual trajectory is obtained. becomes a smooth curve.
  • the method of determining the target waypoint is not limited to the above example.
  • the learners 14, 18 may determine the target waypoint using linear regression, curvilinear regression, polynomial regression, multidimensional function fitting, or the like.
  • the learning units 14 and 18 may determine the target intermediate point that minimizes the trajectory error by performing multidimensional function fitting with the XYZ coordinate components of the reference intermediate point as independent variables and the trajectory error as the objective function. good.
  • the method of generating the trajectory model is not limited to the above example.
  • the learning units 14 and 18 may perform supervised learning according to the neural network model to generate the trajectory model.
  • Supervised learning means that by giving a large set of input and result datasets to a learner, the learner learns the features in the large dataset and produces a model that infers the result from the input.
  • the learning units 14 and 18 generate a trajectory model, which is a neural network model, using the motion start point and motion end point indicated by the drive condition as input data and the target intermediate point as result data. Using the generated trajectory model, it is possible to obtain the target intermediate point that minimizes the trajectory error according to the drive conditions.
  • over-learning reduces estimation accuracy, so it is preferable to suppress over-learning when using any learning model.
  • Methods of suppressing over-learning include, for example, a method of normalizing learning data, a method of reducing the number of parameters in a learning model, and the like.
  • a method of normalizing learning data when performing multidimensional function fitting, it is preferable to limit the number of dimensions of the function, for example, to 5 or less.
  • a neural network model it is preferable to limit the number of hidden layers, for example, to 10 layers or less.
  • the output of a specific layer of the learning model may be randomly set to 0 during learning.
  • over-learning may be suppressed by combining the above methods.
  • the learning units 14 and 18 may perform learning processing in accordance with the control of the robots 10 and 30 that will be performed in the immediately following operational processing.
  • the operation of the learning unit 14 when it is predetermined in the operational process to move the robots 10 and 30 from the motion start point (0,0,0) to the motion end point (100,0,0) will be described. do.
  • the learning unit 14 based on the drive conditions including the motion start point (0,0,0) and the motion end point (100,0,0), and a plurality of reference midpoints associated with the drive conditions, A trajectory model can be generated by learning the trajectory error.
  • the learning efficiency is improved by performing the learning process based on the drive conditions corresponding to the control of the robots 10 and 30 performed in the operation process and the plurality of reference intermediate points associated with the drive conditions.
  • the robot 30 is moved from the operation start point (0,0,0) to the operation end point (100,0,0) with the tip surface 160a of the flange 160 positioned horizontally.
  • the operation of the learning unit 14 will be described by taking as an example the case of processing a workpiece with a weight of 4 kg.
  • the learning unit 14 includes a motion start point (0, 0, 0) and a motion end point (100, 0, 0), a posture of 0 degrees, and a weight of 4 kg.
  • a trajectory model may be generated by learning a trajectory error based on a plurality of reference intermediate points associated with conditions.
  • the learning units 14 and 18 calculate the trajectory error based on not only the driving condition that completely matches the driving condition in the operational process, but also the driving condition that partially matches the driving condition in the operational process. may be used to generate the trajectory model.
  • the robot 30 is moved from the operation start point (0, 0, 0) to the operation end point (100, 0, 0) with the tip surface 160a of the flange 160 positioned horizontally.
  • the operation of the learning unit 14 will be described by taking as an example the case of machining a workpiece with a weight of 4 kg.
  • the learning unit 14 calculates a trajectory error and generates a trajectory model based on a plurality of reference midpoints associated with the driving condition indicating that the posture is 0 degrees and the weight is 4 kg, and the driving condition. good too.
  • the learning unit 14 includes a plurality of driving conditions that include an operation start point (0, 0, 0) and an operation end point (100, 0, 0) and indicate a weight of 4 kg and a plurality of driving conditions that are associated with the driving condition.
  • a trajectory model may be generated by calculating a trajectory error based on the reference waypoints.
  • the learning units 14 and 18 may calculate the distance between the ideal position and the actual position of the leading link for each control cycle, and use the deviation of the actual position from the ideal position when the distance reaches the maximum value as the trajectory error. .
  • the learning units 14 and 18 may store the deviation of the actual position from the ideal position when the distance reaches the maximum value as the trajectory error in the error table. Then, the learning units 14 and 18 may determine the target waypoint based on the trajectory error.
  • the learning units 14 and 18 may store the actual position of the tip link corresponding to the trajectory error in the error table. For example, when the learning units 14 and 18 use, as the trajectory error, the deviation of the actual position from the ideal position when the distance between the ideal position and the actual position of the tip link in each control cycle becomes a maximum value, Thus, the actual position of the tip link when the distance reaches the maximum value may be stored in the error table. Then, the learning units 14 and 18 may determine the target intermediate point based on the trajectory error and the actual position of the leading link corresponding to the trajectory error.
  • the learning unit 18 may store the reaction force calculated from the sensor signal output by the force sensor 190 when the distance reaches the maximum value in the error table, as shown in FIG. Then, the learning unit 18 may determine the target intermediate point based on the trajectory error and the reaction force corresponding to the trajectory error. As another example, the learning unit 18 may store the maximum value of the reaction force and the average value of the reaction force in the error table.
  • the learning units 14 and 18 may perform the learning process again in parallel with the operation process performed after the learning process is completed. More specifically, the learning units 14 and 18 determine the deviation of the actual trajectory acquired by the actual trajectory acquisition unit 13 from the ideal trajectory according to the driving condition indicated by the drive command acquired by the target trajectory determination unit 16 during operation processing. A trajectory error indicating is calculated, and a target intermediate point is obtained. By performing the learning process in parallel with the operation process, the precision of the target intermediate point that minimizes the trajectory error is improved, and as a result, the control precision of the robots 10 and 30 is improved.
  • the learning units 14 and 18 may determine the target intermediate point using the absolute value, average value, and median of the deviation of the actual position of the tip link from the ideal position as the trajectory error.
  • the learning units 14 and 18 estimate the trajectory error when the robots 10 and 30 are controlled according to the target trajectory passing through the target waypoint, and estimate the target waypoint and the trajectory error.
  • a trajectory model may be generated that indicates the value.
  • the waypoint estimating unit 20 may estimate a plurality of reference waypoints arranged at intervals according to the estimated value of the trajectory error indicated by the trajectory model. For example, the intermediate point estimating section 20 may widen the intervals between the plurality of reference intermediate points to be estimated as the estimated value of the trajectory error becomes smaller.
  • the intermediate point estimating unit 20 is spaced from each other by a length that is twice the maximum value of the trajectory error when the robot 10 is controlled under other driving conditions indicated by the trajectory model generated by the learning unit 14.
  • a plurality of reference waypoints arranged in three dimensions may be estimated.
  • the driving condition estimation unit 21 may estimate the driving condition within a predetermined driving condition range. For example, in the driving condition estimating unit 21, the maximum value of the distance from the movement start point to the movement end point and the maximum speed are determined in advance according to the performance of the robots 10 and 30. to the motion end point is less than the specified maximum value and the speed is less than the specified maximum value.
  • FIG. 29 shows an example in which the functions of the control device 1 according to Embodiment 1 are implemented by a control device 6 that controls the robot 10 and a learning device 7 that generates a trajectory model.
  • a robot system 105 shown in FIG. 29 includes a robot 10 , a control device 6 that controls the robot 10 , and a learning device 7 that learns a trajectory model for controlling the robot 10 .
  • the learning device 7 includes a driving condition storage unit 11, a reference trajectory determination unit 12, an actual trajectory acquisition unit 13, a learning unit 14, and a learned data storage unit 15.
  • the function of each part of the learning device 7 is the same as the function of each corresponding part of the control device 1 .
  • the control device 6 includes a target trajectory determination section 16 and a control section 17 .
  • the function of each part of the control device 6 is the same as the function of each corresponding part of the control device 1 .
  • the target trajectory determination unit 16 included in the control device 6 may acquire the trajectory model from the learned data storage unit 15 included in the learning device 7 .
  • a control unit 17 provided in the control device 6 controls the robot 10 according to the reference trajectory acquired from the reference trajectory determination unit 12 provided in the learning device 7 or the target trajectory determined by the target trajectory determination unit 16 .
  • the learned data storage unit 15 may be an independent storage device accessible from the control device 6 and the learning device 7 .
  • the functions of the control device 2-5 can be realized by the control device 6 and the learning device 7.
  • the control device 6 may be provided with processing for generating a trajectory model.
  • the learning device 7 may calculate the trajectory error for each of the plurality of reference intermediate points for each driving condition, and store the trajectory error in the learned data storage unit 15 .
  • the control device 6 may acquire and hold the data previously learned by the learning device 7, specifically, the trajectory error stored in the learned data storage unit 15. FIG. Then, the control device 6 may generate a trajectory model indicating a target intermediate point that minimizes the trajectory error for each driving condition.
  • the trajectories of the robots 10 and 30 that are controlled by the control device 1-6 are not limited to the trajectories of the tip links, but are the trajectories of any part of the robots 10 and 30 or the processing tool 200 attached to the robot 30.
  • the method of acquiring the trajectory of the leading link by the actual trajectory acquisition unit 22 is not limited to the above example.
  • At least the first arm 110, the second arm 120, the third arm 130, the fourth arm 140, the fifth arm 150, and the flange 160 may Any mechanical deflection may occur and the actual trajectory may deviate from the ideal trajectory.
  • the actual trajectory acquisition unit 22 may have a plurality of cameras as measuring instruments in order to accurately acquire the actual trajectory even if mechanical deflection occurs due to an external factor.
  • the actual trajectory acquisition unit 22 may photograph the movement range of the tip link of the robot 10 with a plurality of cameras, and determine the position of the tip link of the robot 10 from the images photographed by the plurality of cameras.
  • the actual trajectory acquisition unit 22 has an acceleration sensor attached to the tip link of the robot 10 as a measuring device.
  • the actual trajectory acquisition unit 22 may determine the position of the tip link of the robot 10 based on the measurement value of the acceleration sensor.
  • the actual trajectory acquisition unit 22 may measure the position of the tip link of the robot 10 in each acquisition cycle independent of the control cycle.
  • the learning unit 14 interpolates the position of the leading link of the robot 10 for each acquisition cycle, determines the position of the leading link of the robot 10 for each control cycle, and compares it with the ideal position.
  • the learning unit 14 performs interpolation processing using linear interpolation, polynomial interpolation, or the like.
  • the control unit 17 may feedback-control the motors M1, M2, M3, M4, M5, and M6 according to the position of the tip link of the robot 10 acquired by the actual trajectory acquisition unit 22 described above.
  • control device 1-6 and the learning device 7 may start learning processing according to the operation of an operation unit (not shown).
  • learning unit 14 included in the control device 1 may generate a trajectory model when trajectory error learning is completed for all reference intermediate points associated with each driving condition. In other words, the learning unit 14 may calculate the trajectory error for all the associated reference intermediate points and generate the trajectory model repeatedly for each driving condition.
  • the robots 10 and 30 are actually operated to calculate the trajectory error, but the learning process may be performed by simulation.
  • a computer program for executing the above operations is stored in a computer-readable recording medium such as a flexible disk, CD-ROM (Compact Disc - Read Only Memory), DVD-ROM (Digital Versatile Disc - Read Only Memory).
  • the control device 1-6 and the learning device 7 that execute the above-described operations may be implemented by distributing the software and installing the computer program in a computer. Alternatively, the controller 1-6 and the learning device 7 that perform the above operations may be realized by a dedicated system.
  • the computer program may be superimposed on a carrier wave and provided via a communication network.
  • controller 1-6 may control robot 40, which is a horizontal articulated robot shown in FIG.
  • the robot 40 includes a first arm 410 , a second arm 420 , a third arm 430 and a base 440 .
  • the first arm 410 is attached to the base 440 so as to be rotatable around a rotation axis AX1 parallel to the Z axis.
  • the second arm 420 is connected to the first arm 410 and is rotatable around a rotation axis AX2 parallel to the Z axis.
  • the third arm 430 is connected to the second arm 420 and is rotatable around a rotation axis AX3 parallel to the Z axis.
  • the third arm 430 can extend and contract in the direction along the rotation axis AX3.
  • Base 440 is fixed to a plane and supports first arm 410 .
  • a processing tool 200 can be attached to the third arm 430 .
  • the control device 1 - 6 may control the position of the tip link, which is the tip of the third arm 430 , by controlling the motor (not shown) of the robot 40 .
  • control device 1-6 may control a robot 50 having multiple axes shown in FIG.
  • the robot 50 has a first arm 510 , a second arm 520 and a base 530 .
  • the first arm 510 is attached to the base 530 so as to be movable in the X-axis direction.
  • the second arm 520 is connected to the first arm 510 and is movable in the Y-axis direction.
  • Base 530 is fixed to a plane and supports first arm 510 .
  • a processing tool 200 is attached to the second arm 520 .
  • the second arm 520 is a print head that forms electrodes on a substrate on a stage 540 placed on a base 530 by means of a processing tool 200 having a liquid ejection part and ejection nozzles.
  • the tip of the processing tool 200 is movable on the stage 540 in the X-axis direction and the Y-axis direction.
  • the control device 1 - 6 may control the position of the tip link, which is the tip of the second arm 520 , by controlling the motor (not shown) of the robot 50 .
  • the positions of the tip links of the robots 10, 30, 40, 50 were defined in the XYZ orthogonal coordinate system, but may be defined in the cylindrical coordinate system.

Abstract

This control device (1) comprises a drive condition storage unit (11) that stores drive conditions and reference intermediate points in association with each other, a reference trajectory determination unit (12) that determines a reference trajectory passing through the intermediate points, and an actual trajectory acquisition unit (13) that acquires the trajectory of a robot (10). The control device (1) furthermore comprises: a learning unit (14) that derives a trajectory error indicating deviation of the actual trajectory from an ideal trajectory for each of the reference intermediate points, learns a correspondence between the reference intermediate points and the trajectory error, and generates a trajectory model indicating, in accordance with the drive conditions, target intermediate points for which the trajectory error is minimized; a target trajectory determination unit (16) that determines a target trajectory passing through the target intermediate points obtained from the trajectory model; and a control unit (17) that controls the robot in accordance with the reference trajectory or the target trajectory.

Description

制御装置、ロボットシステム、学習装置、制御方法、およびプログラムControl device, robot system, learning device, control method, and program
 本開示は、制御装置、ロボットシステム、学習装置、制御方法、およびプログラムに関する。 The present disclosure relates to control devices, robot systems, learning devices, control methods, and programs.
 産業用のロボットは、種々の動きを可能にするため、複数のリンクと、複数のリンクを接続する複数の関節と、を備える。制御装置が、ロボットが有する複数の関節を駆動する複数のサーボモータを制御することで、ロボットが目的の動作を行うことが可能となる。例えば、各サーボモータの遅れに差が生じると、複数のリンクの内、先端に位置するリンクである先端リンクの実際の軌跡は、目標とする軌跡からずれることがある。ロボットの実際の軌跡と目標とする軌跡との誤差を最小化するための技術の一例が特許文献1に開示されている。  Industrial robots are equipped with multiple links and multiple joints that connect the multiple links to enable various movements. The control device controls a plurality of servo motors that drive a plurality of joints of the robot, thereby enabling the robot to perform a desired motion. For example, if there is a difference in the delay of each servomotor, the actual trajectory of the tip link, which is the link located at the tip of the plurality of links, may deviate from the target trajectory. An example of technology for minimizing the error between the actual trajectory of the robot and the target trajectory is disclosed in Patent Document 1.
 特許文献1に開示されるロボット位置教示装置は、ロボットの実際の軌跡を測定し、実際の軌跡と目標とする軌跡との距離である軌跡誤差に基づいて、誤差を最小化するための見込み教示点を算出する。見込み教示点に基づいてロボットを制御することで、軌跡誤差が減少する。 The robot position teaching device disclosed in Patent Document 1 measures the actual trajectory of the robot, and based on the trajectory error, which is the distance between the actual trajectory and the target trajectory, predictive teaching is performed to minimize the error. Calculate points. Trajectory errors are reduced by controlling the robot based on potential teaching points.
特開平11-048176号公報JP-A-11-048176
 特許文献1に開示されるロボット位置教示装置は、軌跡誤差が許容値以下となるまで、ロボットの動作経路中における複数の位置を示す見込み教示点の算出と見込み教示点に基づいたロボットの制御とを繰り返す。目標とする軌跡が複雑になると、見込み教示点の数が増大し、軌跡誤差が許容値以下に収束するまでにかかる時間が長くなり、ロボットの実際の軌跡を目標とする軌跡に近づけることが難しくなる。この結果、ロボットの制御精度が低下する。 The robot position teaching device disclosed in Patent Document 1 calculates probable teaching points indicating a plurality of positions in the motion path of the robot and controls the robot based on the probable teaching points until the trajectory error becomes equal to or less than the allowable value. repeat. As the target trajectory becomes more complex, the number of potential teaching points increases, the time it takes for the trajectory error to converge below the allowable value increases, and it becomes difficult to bring the robot's actual trajectory closer to the target trajectory. Become. As a result, robot control accuracy is degraded.
 本開示は上述の事情に鑑みてなされたものであり、ロボットの制御精度が高い制御装置、ロボットシステム、学習装置、制御方法、およびプログラムを提供することを目的とする。 The present disclosure has been made in view of the circumstances described above, and aims to provide a control device, a robot system, a learning device, a control method, and a program with high robot control accuracy.
 上記目的を達成するため、本開示に係る制御装置は、ロボットを制御する制御装置であって、駆動条件記憶部と、基準軌跡決定部と、実軌跡取得部と、学習部と、目標軌跡決定部と、制御部と、を備える。駆動条件記憶部は、ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件と複数の基準中間点のそれぞれとを対応付けて記憶している。基準軌跡決定部は、駆動条件記憶部から複数の基準中間点のいずれかを取得し、取得した基準中間点ごとに、駆動条件に基づき、該基準中間点を通る基準軌跡を決定する。実軌跡取得部は、ロボットの実際の軌跡を取得する。学習部は、基準軌跡に応じてロボットが制御された場合に実軌跡取得部で取得された実軌跡の駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を取得された基準中間点のそれぞれについて求め、基準中間点と軌跡誤差との対応を学習して、軌跡誤差を最小化する目標中間点を駆動条件に応じて示す軌跡モデルを生成する。目標軌跡決定部は、軌跡モデルから得られる目標中間点を通る目標軌跡を決定する。制御部は、基準軌跡または目標軌跡に応じてロボットを制御する。 To achieve the above object, a control device according to the present disclosure is a control device for controlling a robot, comprising a driving condition storage unit, a reference trajectory determination unit, an actual trajectory acquisition unit, a learning unit, and a target trajectory determination unit. and a controller. The drive condition storage unit stores drive conditions specifying at least the motion start point and the motion end point of the robot in association with each of the plurality of reference intermediate points. The reference trajectory determination unit acquires one of a plurality of reference intermediate points from the drive condition storage unit, and determines a reference trajectory passing through the reference intermediate point based on the drive condition for each of the acquired reference intermediate points. The actual trajectory acquisition unit acquires the actual trajectory of the robot. The learning unit calculates a trajectory error indicating a deviation from the ideal trajectory based on the driving conditions of the actual trajectory acquired by the actual trajectory acquisition unit when the robot is controlled according to the reference trajectory. Then, the correspondence between the reference waypoint and the trajectory error is learned to generate a trajectory model indicating the target waypoint that minimizes the trajectory error according to the driving conditions. The target trajectory determination unit determines a target trajectory passing through the target waypoint obtained from the trajectory model. The controller controls the robot according to the reference trajectory or the target trajectory.
 本開示に係る制御装置は、基準中間点と軌跡誤差との対応を学習して、軌跡誤差を最小化する目標中間点を駆動条件に応じて示す軌跡モデルを生成し、目標中間点を通る目標軌跡に応じてロボットを制御する。このため、本開示に係る制御装置によるロボットの制御精度は高い。 The control device according to the present disclosure learns the correspondence between the reference waypoint and the trajectory error, generates a trajectory model indicating the target waypoint that minimizes the trajectory error according to the driving conditions, and generates a target waypoint passing through the target waypoint. Control the robot according to the trajectory. Therefore, the robot control accuracy of the control device according to the present disclosure is high.
実施の形態1に係るロボットの斜視図A perspective view of a robot according to Embodiment 1 実施の形態1に係るロボットの側面図Side view of the robot according to Embodiment 1 実施の形態1に係るロボットシステムのブロック図Block diagram of the robot system according to Embodiment 1 実施の形態1に係る制御装置のハードウェア構成を示すブロック図2 is a block diagram showing the hardware configuration of the control device according to Embodiment 1; FIG. 実施の形態1に係る制御装置が行う学習処理の一例を示すフローチャート3 is a flowchart showing an example of learning processing performed by the control device according to Embodiment 1; 実施の形態1に係る駆動条件記憶部が保持する駆動条件テーブルの例を示す図FIG. 4 shows an example of a drive condition table held by a drive condition storage unit according to the first embodiment; 実施の形態1における基準中間点の例を示す図A diagram showing an example of a reference midpoint in Embodiment 1 実施の形態1における基準軌跡および実軌跡の例を示す図FIG. 4 shows an example of a reference trajectory and an actual trajectory according to the first embodiment; 実施の形態1における基準軌跡および実軌跡の例を示す図FIG. 4 shows an example of a reference trajectory and an actual trajectory according to the first embodiment; 実施の形態1に係る学習済みデータ記憶部が保持する誤差テーブルの例を示す図FIG. 4 is a diagram showing an example of an error table held by a learned data storage unit according to Embodiment 1; 実施の形態1に係る学習済みデータ記憶部が保持する目標中間点テーブルの例を示す図FIG. 4 is a diagram showing an example of a target waypoint table held by a learned data storage unit according to Embodiment 1; FIG. 実施の形態1に係る制御装置が行う運用処理の一例を示すフローチャートFlowchart showing an example of operation processing performed by the control device according to Embodiment 1 実施の形態1における目標軌跡および実軌跡の例を示す図FIG. 4 shows an example of a target trajectory and an actual trajectory according to the first embodiment; 実施の形態2に係るロボットの斜視図Perspective view of a robot according to Embodiment 2 実施の形態2に係るロボットシステムのブロック図Block diagram of a robot system according to Embodiment 2 実施の形態2に係る制御装置が行う学習処理の一例を示すフローチャート10 is a flowchart showing an example of learning processing performed by the control device according to Embodiment 2; 実施の形態2に係る学習済みデータ記憶部が保持する誤差テーブルの例を示す図FIG. 10 is a diagram showing an example of an error table held by a learned data storage unit according to Embodiment 2; FIG. 実施の形態3に係るロボットシステムのブロック図Block diagram of a robot system according to Embodiment 3 実施の形態3に係る制御装置が行う学習処理の一例を示すフローチャートFlowchart showing an example of learning processing performed by the control device according to the third embodiment 実施の形態3に係る駆動条件記憶部が保持する駆動条件テーブルの例を示す図FIG. 11 is a diagram showing an example of a driving condition table held by a driving condition storage unit according to the third embodiment; FIG. 実施の形態3に係る駆動条件記憶部が保持する駆動条件テーブルの例を示す図FIG. 11 is a diagram showing an example of a driving condition table held by a driving condition storage unit according to the third embodiment; FIG. 実施の形態4に係るロボットシステムのブロック図Block diagram of a robot system according to Embodiment 4 実施の形態4に係る制御装置が行う学習処理の一例を示すフローチャートFlowchart showing an example of learning processing performed by the control device according to the fourth embodiment 実施の形態5に係るロボットシステムのブロック図Block diagram of a robot system according to Embodiment 5 実施の形態に係る学習済みデータ記憶部が保持する目標中間点テーブルの変形例を示す図FIG. 5 is a diagram showing a modified example of the target waypoint table held by the learned data storage unit according to the embodiment; 実施の形態に係る学習済みデータ記憶部が保持する誤差テーブルの第1変形例を示す図The figure which shows the 1st modification of the error table which the learned data memory|storage part which concerns on embodiment holds. 実施の形態に係る学習済みデータ記憶部が保持する誤差テーブルの第2変形例を示す図The figure which shows the 2nd modification of the error table which the learned data storage part which concerns on embodiment holds. 実施の形態に係る学習済みデータ記憶部が保持する誤差テーブルの第3変形例を示す図The figure which shows the 3rd modification of the error table which the learned data memory|storage part which concerns on embodiment holds. 実施の形態に係るロボットシステムの変形例のブロック図Block diagram of a modified example of the robot system according to the embodiment 実施の形態に係るロボットの第1変形例の斜視図The perspective view of the 1st modification of the robot which concerns on embodiment 実施の形態に係るロボットの第2変形例の斜視図The perspective view of the 2nd modification of the robot which concerns on embodiment
 以下、本開示の実施の形態に係る制御装置、ロボットシステム、学習装置、制御方法、およびプログラムについて図面を参照して詳細に説明する。なお図中、同一または同等の部分には同一の符号を付す。 Hereinafter, a control device, a robot system, a learning device, a control method, and a program according to embodiments of the present disclosure will be described in detail with reference to the drawings. In the drawings, the same reference numerals are given to the same or equivalent parts.
 (実施の形態1)
 複数のリンクと複数の関節とを備えるロボットを例にして、ロボットとロボットを制御する制御装置とを備えるロボットシステムについて実施の形態1で説明する。ロボットは、複数のリンクと、複数のリンクを互いに接続する複数の関節と、複数の関節に対応付けられて、対応する関節を駆動する複数のモータと、を有する。
(Embodiment 1)
A robot system including a robot and a control device for controlling the robot will be described in the first embodiment by taking a robot including a plurality of links and a plurality of joints as an example. The robot has multiple links, multiple joints that connect the multiple links, and multiple motors that are associated with the multiple joints and drive the corresponding joints.
 図1および図2に示すように、ロボット10は垂直多関節型のロボットである。詳細には、ロボット10は、複数のリンクとして、第1アーム110と、第2アーム120と、第3アーム130と、第4アーム140と、第5アーム150と、フランジ160と、ベース170と、を備える。フランジ160は、複数のリンクの内、先端に位置するリンクである先端リンクに相当する。ロボット10はさらに、平面に固定され、ベース170を支持する固定部180を備える。実施の形態1では、固定部180は、主面の形状が正方形である板状部材である。 As shown in FIGS. 1 and 2, the robot 10 is a vertically articulated robot. Specifically, the robot 10 includes a first arm 110, a second arm 120, a third arm 130, a fourth arm 140, a fifth arm 150, a flange 160, and a base 170 as a plurality of links. , provided. The flange 160 corresponds to a tip link, which is a link positioned at the tip of the plurality of links. The robot 10 further comprises a fixed part 180 fixed to a plane and supporting the base 170 . In Embodiment 1, fixing portion 180 is a plate-like member having a square main surface.
 図1および図2において、固定部180の主面に平行な面に含まれ、互いに直交する軸として、X軸およびY軸を設定し、X軸およびY軸のそれぞれに直交する軸としてZ軸を設定する。X軸およびY軸はそれぞれ、固定部180の端面に沿って延伸する。固定部180が水平面に固定されていれば、Z軸は鉛直方向に延伸する。実施の形態1において、先端リンクの軌跡、具体的には、フランジ160の先端面160aの重心の軌跡は、XYZ直交座標系で表される。XYZ直交座標系の原点は、例えば、ロボット10が初期位置にあるときの先端面160aの重心の位置である。ロボット10が初期位置にあるときとは、後述のモータM1,M2,M3,M4,M5,M6のそれぞれの回転位置が初期位置にあるときを示す。 1 and 2, the X-axis and the Y-axis are set as axes included in a plane parallel to the main surface of the fixing portion 180 and perpendicular to each other, and the Z-axis is set as an axis perpendicular to each of the X-axis and the Y-axis. set. The X-axis and the Y-axis each extend along the end surface of the fixed portion 180 . If the fixed part 180 is fixed on the horizontal plane, the Z axis extends in the vertical direction. In Embodiment 1, the trajectory of the tip link, more specifically, the trajectory of the center of gravity of the tip surface 160a of the flange 160 is represented by an XYZ orthogonal coordinate system. The origin of the XYZ orthogonal coordinate system is, for example, the position of the center of gravity of the tip surface 160a when the robot 10 is at the initial position. When the robot 10 is at the initial position means when the rotational positions of motors M1, M2, M3, M4, M5 and M6, which will be described later, are at the initial positions.
 第1アーム110は、Z軸に平行な回転軸AX1周りに回転可能な状態でベース170に取り付けられる。第2アーム120は、第1アーム110に連結され、回転軸AX2周りに回転可能である。第3アーム130は、第2アーム120に連結され、回転軸AX3周りに回転可能である。第4アーム140は、第3アーム130に連結され、回転軸AX4周りに回転可能である。第5アーム150は、第4アーム140に連結され、回転軸AX5周りに回転可能である。フランジ160は、第5アーム150に連結され、回転軸AX6周りに回転可能である。フランジ160には、加工工具が取り付け可能である。換言すれば、ロボット10は、回転軸AX1,AX2,AX3,AX4,AX5,AX6に対応する6つの関節を有する。 The first arm 110 is attached to the base 170 so as to be rotatable around the rotation axis AX1 parallel to the Z axis. The second arm 120 is connected to the first arm 110 and is rotatable around the rotation axis AX2. The third arm 130 is connected to the second arm 120 and is rotatable around the rotation axis AX3. The fourth arm 140 is connected to the third arm 130 and is rotatable around the rotation axis AX4. The fifth arm 150 is connected to the fourth arm 140 and is rotatable around the rotation axis AX5. The flange 160 is connected to the fifth arm 150 and is rotatable around the rotation axis AX6. A machining tool can be attached to the flange 160 . In other words, the robot 10 has six joints corresponding to the rotation axes AX1, AX2, AX3, AX4, AX5 and AX6.
 図3に示すように、ロボット10は、回転軸AX1,AX2,AX3,AX4,AX5,AX6に対応するモータM1,M2,M3,M4,M5,M6を備える。モータM1,M2,M3,M4,M5,M6は、サーボモータである。制御装置1が駆動条件に応じてモータM1,M2,M3,M4,M5,M6を制御することで、モータM1,M2,M3,M4,M5,M6が回転し、第1アーム110、第2アーム120、第3アーム130、第4アーム140、第5アーム150、およびフランジ160が回転する。この結果、ロボット10の先端リンクであるフランジ160の軌跡が駆動条件に応じた軌跡となる。ロボット10はさらに、モータM1,M2,M3,M4,M5,M6の回転位置を検出するエンコーダE1,E2,E3,E4,E5,E6を備える。 As shown in FIG. 3, the robot 10 includes motors M1, M2, M3, M4, M5 and M6 corresponding to the rotation axes AX1, AX2, AX3, AX4, AX5 and AX6. Motors M1, M2, M3, M4, M5 and M6 are servo motors. The control device 1 controls the motors M1, M2, M3, M4, M5, and M6 according to the driving conditions, so that the motors M1, M2, M3, M4, M5, and M6 rotate, and the first arm 110 and the second arm 110 rotate. Arm 120, third arm 130, fourth arm 140, fifth arm 150, and flange 160 rotate. As a result, the trajectory of the flange 160, which is the tip link of the robot 10, becomes a trajectory according to the drive conditions. The robot 10 further includes encoders E1, E2, E3, E4, E5 and E6 that detect the rotational positions of the motors M1, M2, M3, M4, M5 and M6.
 ロボットシステム100は、上記構成を有するロボット10と、ロボット10を制御する制御装置1と、を備える。制御装置1は、ロボット10の動作開始点および動作終了点を少なくとも指定する駆動条件に応じて、ロボット10の軌跡、具体的には、フランジ160の軌跡を理想軌跡に近づける制御を行う。ロボット10の動作開始点は、ロボット10の可動部分の動作開始点、具体的には、ロボット10が備えるフランジ160の動作開始点を意味する。ロボット10の動作終了点は、ロボット10の可動部分の動作終了点、具体的には、ロボット10が備えるフランジ160の動作終了点を意味する。 The robot system 100 includes the robot 10 having the configuration described above and the control device 1 that controls the robot 10 . The control device 1 controls the trajectory of the robot 10, specifically, the trajectory of the flange 160, to approach the ideal trajectory according to the drive conditions specifying at least the motion start point and the motion end point of the robot 10. FIG. The motion starting point of the robot 10 means the motion starting point of the movable portion of the robot 10 , specifically, the motion starting point of the flange 160 of the robot 10 . The motion end point of the robot 10 means the motion end point of the movable portion of the robot 10 , specifically, the motion end point of the flange 160 of the robot 10 .
 実施の形態1では、制御装置1は、ロボット10が備えるフランジ160の動作開始点および動作終了点を少なくとも指定する駆動条件に応じて、ロボット10が備えるモータM1,M2,M3,M4,M5,M6を制御する。モータM1,M2,M3,M4,M5,M6は制御装置1からの指令に対して遅れて動作する。モータM1,M2,M3,M4,M5,M6のそれぞれの動作の遅れに差が生じると、ロボット10の実際の軌跡を示す実軌跡は、駆動条件に基づく理想軌跡からずれる。 In the first embodiment, the control device 1 controls the motors M1, M2, M3, M4, M5, Control M6. The motors M1, M2, M3, M4, M5 and M6 operate with a delay from the command from the control device 1. FIG. If there is a difference in the operation delays of the motors M1, M2, M3, M4, M5, and M6, the actual trajectory indicating the actual trajectory of the robot 10 deviates from the ideal trajectory based on the drive conditions.
 制御装置1は、駆動条件に対応する基準中間点のそれぞれについて、基準中間点を通る基準軌跡に基づいてロボット10を制御した際の実軌跡の理想軌跡からのずれを示す軌跡誤差を求め、基準中間点と軌跡誤差との対応を学習する。基準中間点は、動作開始点から動作終了点に至るまでに先端リンクが通り得る予め定められた位置を示す。理想軌跡は、例えば、駆動条件が示す動作開始点から駆動条件が示す動作終了点までの最短の軌跡である。 For each of the reference intermediate points corresponding to the drive conditions, the control device 1 obtains a trajectory error indicating the deviation of the actual trajectory from the ideal trajectory when the robot 10 is controlled based on the reference trajectory passing through the reference intermediate points. Learn the correspondence between waypoints and trajectory errors. The reference midpoint indicates a predetermined position through which the leading link can pass from the motion start point to the motion end point. The ideal trajectory is, for example, the shortest trajectory from the motion start point indicated by the drive condition to the motion end point indicated by the drive condition.
 上述のように基準中間点と軌跡誤差との対応を学習した後、制御装置1は、軌跡誤差を最小化する目標中間点を駆動条件ごとに示す軌跡モデルを生成し、目標中間点を通る目標軌跡に応じてロボット10を制御する。目標軌跡に応じてロボット10を制御することで、ロボット10の制御精度を向上させることが可能となる。 After learning the correspondence between the reference waypoint and the trajectory error as described above, the control device 1 generates a trajectory model indicating the target waypoint that minimizes the trajectory error for each drive condition, and calculates the target waypoint passing through the target waypoint. The robot 10 is controlled according to the trajectory. By controlling the robot 10 according to the target trajectory, it is possible to improve the control accuracy of the robot 10 .
 制御装置1の各部について以下に説明する。
 制御装置1は、駆動条件と複数の基準中間点とを対応付けて記憶している駆動条件記憶部11と、基準中間点を通る基準軌跡を決定する基準軌跡決定部12と、ロボット10の実際の軌跡、具体的には、先端リンクであるフランジ160の実際の移動軌跡を取得する実軌跡取得部13と、を備える。制御装置1はさらに、実軌跡の理想軌跡からのずれを示す軌跡誤差を基準中間点のそれぞれについて求め、基準中間点と軌跡誤差の対応を学習して、軌跡誤差を最小化する目標中間点を駆動条件に応じて示す軌跡モデルを生成する学習部14と、学習部14の学習結果、具体的には、基準中間点と軌跡誤差の対応を記憶する学習済みデータ記憶部15と、を備える。制御装置1はさらに、軌跡モデルおよび駆動条件を含む駆動指令に基づき、駆動条件に応じた目標中間点を通る目標軌跡を決定する目標軌跡決定部16と、基準軌跡または目標軌跡に応じてロボット10、具体的には、モータM1,M2,M3,M4,M5,M6を制御する制御部17と、を備える。
Each part of the control device 1 will be described below.
The control device 1 includes a driving condition storage unit 11 that stores driving conditions and a plurality of reference intermediate points in association with each other, a reference trajectory determining unit 12 that determines a reference trajectory passing through the reference intermediate points, and an actual robot 10 . , more specifically, an actual trajectory acquisition unit 13 that acquires the actual movement trajectory of the flange 160 that is the tip link. The control device 1 further obtains a trajectory error that indicates the deviation of the actual trajectory from the ideal trajectory for each of the reference intermediate points, learns the correspondence between the reference intermediate points and the trajectory error, and determines a target intermediate point that minimizes the trajectory error. A learning unit 14 that generates a trajectory model indicated according to driving conditions, and a learned data storage unit 15 that stores the learning result of the learning unit 14, specifically, the correspondence between the reference intermediate point and the trajectory error. The control device 1 further includes a target trajectory determining unit 16 that determines a target trajectory passing through a target intermediate point according to the driving conditions based on the driving command including the trajectory model and the driving conditions; Specifically, it includes a control unit 17 that controls the motors M1, M2, M3, M4, M5, and M6.
 図4に示すように、制御装置1は、ハードウェア構成として、プロセッサ31と、メモリ32と、インターフェース33と、を備える。プロセッサ31、メモリ32およびインターフェース33は互いにバス34で接続されている。制御装置1の各機能は、プロセッサ31がメモリ32に記憶されたプログラムを実行することにより実現される。インターフェース33は制御装置1と外部装置を接続し、外部装置との通信を可能とする。詳細には、制御装置1は、インターフェース33を介して、モータM1,M2,M3,M4,M5,M6およびエンコーダE1,E2,E3,E4,E5,E6に接続される。インターフェース33は、必要に応じて複数の種類のインターフェースモジュールを有する。 As shown in FIG. 4, the control device 1 includes a processor 31, a memory 32, and an interface 33 as a hardware configuration. Processor 31 , memory 32 and interface 33 are connected to each other via bus 34 . Each function of the control device 1 is realized by executing a program stored in the memory 32 by the processor 31 . The interface 33 connects the control device 1 and an external device to enable communication with the external device. Specifically, the controller 1 is connected via an interface 33 to motors M1, M2, M3, M4, M5 and M6 and encoders E1, E2, E3, E4, E5 and E6. The interface 33 has multiple types of interface modules as required.
 図4に示す制御装置1は、プロセッサ31およびメモリ32をそれぞれ1つずつ有するが、制御装置1は、複数のプロセッサ31および複数のメモリ32を有してもよい。この場合、複数のプロセッサ31および複数のメモリ32が連携することで、制御装置1の各機能が実現されればよい。 Although the control device 1 shown in FIG. 4 has one processor 31 and one memory 32 , the control device 1 may have multiple processors 31 and multiple memories 32 . In this case, each function of the control device 1 may be realized by cooperation of the plurality of processors 31 and the plurality of memories 32 .
 上記構成を有する制御装置1は、基準中間点を通る基準軌跡に応じてロボット10を制御することを異なる基準中間点および異なる駆動条件について繰り返して、軌跡誤差を最小化する目標中間点を駆動条件ごとに示す軌跡モデルを生成する学習処理と目標中間点を通る目標軌跡に応じてロボット10を制御する運用処理とを行う。軌跡誤差の最小化とは、軌跡誤差を最小値または最小値の近傍値、あるいは、極小値または極小値の近傍値に近づけることを意味する。 The control device 1 having the above configuration repeats the control of the robot 10 according to the reference trajectory passing through the reference waypoint for different reference waypoints and different driving conditions, and sets the target waypoint that minimizes the trajectory error as the driving condition. , and operation processing for controlling the robot 10 according to the target trajectory passing through the target waypoint. Minimizing the trajectory error means bringing the trajectory error closer to a minimum value, a value near the minimum value, or a minimum value or a value near the minimum value.
 制御装置1が行う学習処理の動作の概要について、図5を用いて説明する。例えば、ロボット10の設置後に、制御装置1が初めて動作を開始する際または新たな駆動条件が追加された際に、制御装置1は図5の学習処理を開始する。 An overview of the operation of the learning process performed by the control device 1 will be described using FIG. For example, the control device 1 starts the learning process of FIG. 5 when the control device 1 starts to operate for the first time after the robot 10 is installed or when a new driving condition is added.
 基準軌跡決定部12は、駆動条件と複数の基準中間点とを対応付けて記憶している駆動条件記憶部11から、駆動条件と駆動条件に対応する複数の基準中間点のいずれかを取得する(ステップS11)。基準軌跡決定部12は、ステップS11で取得した駆動条件および基準中間点に基づき、基準中間点を通る基準軌跡を決定する(ステップS12)。制御部17は、ステップS12で決定された基準軌跡に応じてロボット10のモータM1,M2,M3,M4,M5,M6を制御し、実軌跡取得部13は、ロボット10の実際の軌跡を取得する(ステップS13)。 A reference trajectory determination unit 12 acquires a driving condition and any one of a plurality of reference intermediate points corresponding to the driving condition from the driving condition storage unit 11 that stores the driving condition and a plurality of reference intermediate points in association with each other. (Step S11). The reference trajectory determining unit 12 determines a reference trajectory passing through the reference intermediate point based on the driving conditions and the reference intermediate point acquired in step S11 (step S12). The control unit 17 controls the motors M1, M2, M3, M4, M5, and M6 of the robot 10 according to the reference trajectory determined in step S12, and the actual trajectory acquisition unit 13 acquires the actual trajectory of the robot 10. (step S13).
 詳細には、制御部17は、基準軌跡に従ってフランジ160を移動させるためモータM1,M2,M3,M4,M5,M6の目標位置を決定し、モータM1,M2,M3,M4,M5,M6を目標位置まで動かす制御を行う。実軌跡取得部13は、エンコーダE1,E2,E3,E4,E5,E6から取得したモータM1,M2,M3,M4,M5,M6の回転位置に基づいて、ロボット10の実際の軌跡を取得する。学習部14は、ステップS13で取得された軌跡のステップS11で取得された駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を算出する(ステップS14)。駆動条件記憶部11に記憶されている全ての駆動条件の全ての基準中間点について軌跡誤差の算出が完了していない間は(ステップS15;No)、上述のステップS11からS14の処理が繰り返される。 Specifically, the control unit 17 determines the target positions of the motors M1, M2, M3, M4, M5 and M6 to move the flange 160 according to the reference trajectory, and activates the motors M1, M2, M3, M4, M5 and M6. Control to move to the target position. The actual trajectory obtaining unit 13 obtains the actual trajectory of the robot 10 based on the rotational positions of the motors M1, M2, M3, M4, M5 and M6 obtained from the encoders E1, E2, E3, E4, E5 and E6. . The learning unit 14 calculates a trajectory error indicating the deviation of the trajectory acquired in step S13 from the ideal trajectory based on the driving conditions acquired in step S11 (step S14). While the calculation of the trajectory error has not been completed for all the reference intermediate points of all the drive conditions stored in the drive condition storage unit 11 (step S15; No), the above-described steps S11 to S14 are repeated. .
 駆動条件記憶部11に記憶されている全ての駆動条件の全ての基準中間点について軌跡誤差の算出が完了すると(ステップS15;Yes)、学習部14は、軌跡誤差を最小化する目標中間点を求め、駆動条件に応じた目標中間点を示す軌跡モデルを生成する(ステップS16)。ステップS16の処理が完了すると、制御装置1は学習処理を終了する。 When the calculation of the trajectory error is completed for all the reference intermediate points of all the driving conditions stored in the driving condition storage unit 11 (step S15; Yes), the learning unit 14 selects the target intermediate point that minimizes the trajectory error. A trajectory model indicating a target intermediate point corresponding to the drive condition is generated (step S16). When the process of step S16 is completed, the control device 1 terminates the learning process.
 制御装置1が行う学習処理の詳細について以下に説明する。
 駆動条件記憶部11は、図6に示すように、駆動条件と複数の基準中間点とを対応付けた駆動条件テーブルを保持している。駆動条件は、先端リンクであるフランジ160の動作開始点および動作終了点を少なくとも指定する。実施の形態1では、駆動条件は、先端リンクの動作開始点、動作終了点、速度および姿勢を含む。動作開始点および動作終了点は、図1および図2に示すXYZ直交座標系での位置を示す。速度は、先端リンクの動作時の目標速度を示す。姿勢は、先端リンクの向き、具体的には、フランジ160の先端面160aとロボット10が固定されている平面がなす角度を示す。
Details of the learning process performed by the control device 1 will be described below.
As shown in FIG. 6, the drive condition storage unit 11 holds a drive condition table in which drive conditions are associated with a plurality of reference intermediate points. The drive conditions specify at least the motion start point and motion end point of the flange 160, which is the tip link. In Embodiment 1, the drive conditions include the motion start point, motion end point, speed and attitude of the leading link. The motion start point and motion end point indicate positions in the XYZ orthogonal coordinate system shown in FIGS. The speed indicates the target speed during operation of the leading link. The attitude indicates the orientation of the tip link, more specifically, the angle formed by the tip surface 160a of the flange 160 and the plane to which the robot 10 is fixed.
 図6に、1つの駆動条件に対応して記憶されている複数の基準中間点の例を示す。例えば、図6に示す駆動条件テーブルの一行目のレコードが含む駆動条件は、フランジ160の先端面160aが、ロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(100,0,0)まで目標速度V1で移動させることを示す。この場合、理想軌跡は、動作開始点SP1(0,0,0)から動作終了点EP1(100,0,0)まで延び、X軸上に位置する線分で示される。 FIG. 6 shows an example of a plurality of reference intermediate points stored corresponding to one drive condition. For example, the drive condition included in the record on the first row of the drive condition table shown in FIG. , 0, 0) to the motion end point (100, 0, 0) at the target speed V1. In this case, the ideal trajectory extends from the motion start point SP1 (0,0,0) to the motion end point EP1 (100,0,0) and is indicated by a line segment located on the X axis.
 実施の形態1では、各駆動条件に対し、複数の基準中間点が定められている。図6の例では、フランジ160の先端面160aが、ロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(100,0,0)まで目標速度V1で移動させる駆動条件に対して、複数の基準中間点が定められている。 In Embodiment 1, a plurality of reference midpoints are defined for each driving condition. In the example of FIG. 6, the flange 160 is moved from the motion start point (0,0,0) to the motion end point (100,0,0) with the tip surface 160a of the flange 160 parallel to the plane to which the robot 10 is fixed. 0) at the target speed V1, a plurality of reference intermediate points are determined.
 複数の基準中間点は、動作開始点から動作終了点までの空間に三次元的に配置されている。例えば、動作開始点SP1から動作終了点EP1までの移動を指示する駆動条件に対して、図7に点線で示す動作開始点SP1から動作終了点EP1までの空間S1に三次元的に配置される複数の基準中間点RPが定められている。例えば、動作開始点SP1から動作終了点EP1までの距離が100ミリメートルであれば、空間S1において5ミリメートルの間隔で三次元的に配置される基準中間点RPが定められる。空間S1の大きさは、ロボット10の精度によって、軌跡誤差が取り得る大きさに応じて定められればよい。 A plurality of reference intermediate points are three-dimensionally arranged in the space from the motion start point to the motion end point. For example, with respect to a drive condition that instructs movement from the motion start point SP1 to the motion end point EP1, the motion is three-dimensionally arranged in the space S1 from the motion start point SP1 to the motion end point EP1 indicated by the dotted line in FIG. A plurality of reference waypoints RP are defined. For example, if the distance from the motion start point SP1 to the motion end point EP1 is 100 millimeters, reference intermediate points RP that are three-dimensionally arranged at intervals of 5 millimeters in the space S1 are determined. The size of the space S1 may be determined depending on the accuracy of the robot 10 and the possible size of the trajectory error.
 基準軌跡決定部12は、図6に示す駆動条件テーブルから対応付けられた駆動条件と基準中間点を取得する。そして、基準軌跡決定部12は、駆動条件に基づき、取得した基準中間点を通る基準軌跡を決定する。詳細には、基準軌跡決定部12は、駆動条件が示す動作開始点、基準中間点、および駆動条件が示す動作終了点に基づくスプライン補間を行って、駆動条件が示す動作開始点から、基準中間点を通って、駆動条件が示す動作終了点に至る基準軌跡を算出する。基準軌跡は、例えば、制御周期ごとのXYZ直交座標系における先端リンクの位置を示す。制御周期は、例えば、制御装置1の演算処理能力に応じて定められる。 The reference trajectory determination unit 12 acquires the associated driving conditions and reference intermediate points from the driving condition table shown in FIG. Then, the reference trajectory determination unit 12 determines a reference trajectory passing through the acquired reference intermediate point based on the drive conditions. More specifically, the reference trajectory determination unit 12 performs spline interpolation based on the motion start point, the reference intermediate point, and the motion end point indicated by the drive condition, and converts the motion start point indicated by the drive condition to the reference intermediate point. A reference trajectory is calculated that passes through the points and reaches the operation end point indicated by the drive condition. The reference trajectory indicates, for example, the position of the leading link in the XYZ orthogonal coordinate system for each control cycle. The control period is determined, for example, according to the arithmetic processing capability of the control device 1 .
 例えば、基準軌跡決定部12は、図6に示す駆動条件テーブルの一行目のレコードが示す駆動条件と基準中間点を取得する。この駆動条件に含まれる動作開始点(0,0,0)および動作終了点(100,0,0)をそれぞれ、図8に動作開始点SP1および動作終了点EP1として示し、この基準中間点(50,0,0)を図8に基準中間点RP1として示す。基準軌跡決定部12は、動作開始点SP1(0,0,0)から動作終了点EP1(100,0,0)までの動作を指示する駆動条件に基づき、基準中間点RP1(50,0,0)を通る基準軌跡RT1を決定する。この場合、点線で示す基準軌跡RT1は、動作開始点SP1(0,0,0)から動作終了点EP1(100,0,0)まで延び、X軸上に位置する線分で示される。上述のように基準軌跡を決定すると、基準軌跡決定部12は、駆動条件および決定した基準軌跡を、学習部14および制御部17に送る。 For example, the reference trajectory determining unit 12 acquires the driving condition and the reference intermediate point indicated by the record on the first row of the driving condition table shown in FIG. The motion start point (0, 0, 0) and the motion end point (100, 0, 0) included in this drive condition are respectively shown as motion start point SP1 and motion end point EP1 in FIG. 50,0,0) is shown in FIG. 8 as the reference midpoint RP1. The reference trajectory determination unit 12 determines the reference intermediate point RP1 (50, 0, 0) is determined. In this case, the reference trajectory RT1 indicated by the dotted line extends from the motion start point SP1 (0,0,0) to the motion end point EP1 (100,0,0) and is indicated by a line segment positioned on the X axis. After determining the reference trajectory as described above, the reference trajectory determination unit 12 sends the driving conditions and the determined reference trajectory to the learning unit 14 and the control unit 17 .
 図3に示す制御部17は、基準軌跡決定部12から取得した駆動条件および基準軌跡に応じてモータM1,M2,M3,M4,M5,M6への制御指令を生成し、制御指令をモータM1,M2,M3,M4,M5,M6に送信する。詳細には、制御部17は、基準軌跡が示す先端リンクの位置である基準位置に応じてモータM1,M2,M3,M4,M5,M6への制御指令を生成し、制御指令をモータM1,M2,M3,M4,M5,M6に送信することを制御周期ごとに行う。この結果、モータM1,M2,M3,M4,M5,M6が制御指令に従って回転し、第1アーム110、第2アーム120、第3アーム130、第4アーム140、第5アーム150、およびフランジ160が回転する。これにより、先端リンクであるフランジ160が移動する。 The control unit 17 shown in FIG. 3 generates control commands to the motors M1, M2, M3, M4, M5, and M6 according to the drive conditions and the reference trajectory acquired from the reference trajectory determination unit 12, and outputs the control commands to the motor M1. , M2, M3, M4, M5 and M6. Specifically, the control unit 17 generates control commands to the motors M1, M2, M3, M4, M5, and M6 in accordance with the reference positions, which are the positions of the leading links indicated by the reference trajectory. Transmission to M2, M3, M4, M5 and M6 is performed for each control period. As a result, the motors M1, M2, M3, M4, M5 and M6 rotate according to the control commands, and the first arm 110, the second arm 120, the third arm 130, the fourth arm 140, the fifth arm 150, and the flange 160 rotate. rotates. As a result, the flange 160, which is the tip link, moves.
 制御部17は、エンコーダE1,E2,E3,E4,E5,E6からモータM1,M2,M3,M4,M5,M6の回転位置を取得し、モータM1,M2,M3,M4,M5,M6をフィードバック制御することが好ましい。 The control unit 17 acquires the rotational positions of the motors M1, M2, M3, M4, M5 and M6 from the encoders E1, E2, E3, E4, E5 and E6, and controls the motors M1, M2, M3, M4, M5 and M6. Feedback control is preferred.
 実軌跡取得部13は、エンコーダE1,E2,E3,E4,E5,E6からモータM1,M2,M3,M4,M5,M6の回転位置を取得し、モータM1,M2,M3,M4,M5,M6の回転位置から先端リンクの実際の位置を取得する。実軌跡取得部13は、上述の処理を制御周期ごとに行って、制御周期ごとのXYZ直交座標系における先端リンクの実際の位置である実位置を示す実軌跡を決定する。 The actual trajectory acquisition unit 13 acquires the rotational positions of the motors M1, M2, M3, M4, M5 and M6 from the encoders E1, E2, E3, E4, E5 and E6, and the motors M1, M2, M3, M4, M5, Obtain the actual position of the leading link from the rotational position of M6. The actual trajectory acquisition unit 13 performs the above-described processing for each control cycle to determine the actual trajectory indicating the actual position of the leading link in the XYZ orthogonal coordinate system for each control cycle.
 一例として、図6に示す駆動条件テーブルの一行目のレコードが示す駆動条件と基準中間点に基づく基準軌跡RT1に応じてモータM1,M2,M3,M4,M5,M6が制御された際に、実軌跡取得部13が取得した実軌跡AT1を図8に実線で示す。実軌跡取得部13は、上述のように取得した実軌跡を学習部14に送る。 As an example, when the motors M1, M2, M3, M4, M5, and M6 are controlled in accordance with the drive condition indicated by the record in the first row of the drive condition table shown in FIG. 6 and the reference trajectory RT1 based on the reference intermediate point, The actual trajectory AT1 acquired by the actual trajectory acquisition unit 13 is indicated by a solid line in FIG. The actual trajectory acquisition unit 13 sends the actual trajectory acquired as described above to the learning unit 14 .
 学習部14は、実軌跡取得部13から実軌跡を取得すると、ロボット10が基準軌跡に応じて制御された際に実軌跡取得部13で取得された実軌跡の理想軌跡からのずれを示す軌跡誤差を算出する。詳細には、学習部14は、駆動条件に基づき、動作開始点から動作終了点までの最短の軌跡である理想軌跡を決定し、理想軌跡上の制御周期ごとの先端リンクの位置を決定する。そして、学習部14は、理想軌跡が示す制御周期ごとのロボット10の位置、具体的には、ロボット10の先端リンクの位置である理想位置と実軌跡が示す制御周期ごとのロボット10の位置、具体的には、先端リンクの位置である実位置との距離を算出する。学習部14は、この距離が最大値となるときの、実位置の理想位置からのずれを軌跡誤差として用いる。 When the learning unit 14 acquires the actual trajectory from the actual trajectory acquisition unit 13, the learning unit 14 generates a trajectory indicating the deviation of the actual trajectory acquired by the actual trajectory acquisition unit 13 from the ideal trajectory when the robot 10 is controlled according to the reference trajectory. Calculate the error. Specifically, the learning unit 14 determines an ideal trajectory, which is the shortest trajectory from the motion start point to the motion end point, based on the drive conditions, and determines the position of the leading link for each control cycle on the ideal trajectory. Then, the learning unit 14 determines the position of the robot 10 in each control cycle indicated by the ideal trajectory, more specifically, the position of the robot 10 in each control cycle indicated by the ideal position, which is the position of the tip link of the robot 10, and the actual trajectory. Specifically, the distance from the actual position, which is the position of the tip link, is calculated. The learning unit 14 uses the deviation of the actual position from the ideal position when this distance reaches the maximum value as the trajectory error.
 例えば、学習部14は、基準軌跡決定部12から、図6に示す駆動条件テーブルの一行目のレコードが示す駆動条件と駆動条件に対応する基準軌跡とを取得すると、動作開始点SP1(0,0,0)から動作終了点EP1(100,0,0)までの最短の軌跡である理想軌跡を決定する。この場合、理想軌跡は、図8に示す動作開始点SP1(0,0,0)から動作終了点EP1(100,0,0)まで延び、X軸上に位置する線分で示される。学習部14は、理想軌跡上の制御周期ごとの先端リンクの理想位置と実軌跡取得部13が取得した実軌跡AT1が示す制御周期ごとの先端リンクの実位置との距離を算出し、図8に矢印ER1で示すように、距離が最大値となるときの実位置の理想位置からのずれを軌跡誤差として用いる。図8の例では、実位置はXY平面上で理想位置からY軸正方向にずれている。 For example, when the learning unit 14 acquires from the reference trajectory determining unit 12 the driving condition indicated by the record in the first row of the driving condition table shown in FIG. 0, 0) to the motion end point EP1 (100, 0, 0). In this case, the ideal trajectory extends from the motion start point SP1 (0,0,0) to the motion end point EP1 (100,0,0) shown in FIG. 8, and is indicated by a line segment located on the X axis. The learning unit 14 calculates the distance between the ideal position of the leading link on the ideal trajectory for each control cycle and the actual position of the leading link for each control cycle indicated by the actual trajectory AT1 acquired by the actual trajectory acquisition unit 13, and , the deviation of the actual position from the ideal position when the distance reaches the maximum value is used as the trajectory error. In the example of FIG. 8, the actual position deviates from the ideal position on the XY plane in the positive direction of the Y axis.
 制御装置1は、上述の処理を図6に示す駆動条件テーブルに記憶されている駆動条件と基準中間点の全ての組み合わせについて行う。例えば、図6に示す駆動条件テーブルの一行目のレコードが示す駆動条件と基準中間点についての上述の処理が完了した後に、基準軌跡決定部12は、図6に示す駆動条件テーブルの二行目のレコードが示す駆動条件と基準中間点を取得する。二行目のレコードが示す駆動条件は、一行目のレコードが示す駆動条件と同じである。二行目のレコードが示す基準中間点(50,-5,0)を図9に基準中間点RP2として示す。基準軌跡決定部12は、動作開始点SP1(0,0,0)から動作終了点EP1(100,0,0)までの動作を指示する駆動条件に基づき、基準中間点RP2(50,-5,0)を通る基準軌跡RT2を決定する。例えば、図9に点線で示すように、基準軌跡RT2は、動作開始点SP1から基準中間点RP2を通って動作終了点EP1に至る滑らかな曲線であって、XY平面においてY軸負方向に突出する曲線で示される。 The control device 1 performs the above-described processing for all combinations of drive conditions and reference intermediate points stored in the drive condition table shown in FIG. For example, after completing the above-described processing for the driving condition and the reference intermediate point indicated by the record in the first row of the driving condition table shown in FIG. Acquire the drive condition and the reference midpoint indicated by the record of . The drive condition indicated by the record on the second line is the same as the drive condition indicated by the record on the first line. The reference midpoint (50, -5, 0) indicated by the second row record is indicated as the reference midpoint RP2 in FIG. The reference trajectory determination unit 12 determines the reference intermediate point RP2 (50, −5 , 0) is determined. For example, as indicated by the dotted line in FIG. 9, the reference trajectory RT2 is a smooth curve extending from the motion start point SP1 through the reference intermediate point RP2 to the motion end point EP1, and protrudes in the Y-axis negative direction on the XY plane. is shown by a curve that
 図3に示す制御部17は、基準軌跡決定部12から取得した駆動条件および基準軌跡RT2に応じてモータM1,M2,M3,M4,M5,M6への制御指令を生成し、制御指令をモータM1,M2,M3,M4,M5,M6に送信する。 The control unit 17 shown in FIG. 3 generates control commands to the motors M1, M2, M3, M4, M5, and M6 according to the drive conditions and the reference trajectory RT2 acquired from the reference trajectory determination unit 12, and outputs the control commands to the motors M1, M2, M3, M4, M5, and M6. Send to M1, M2, M3, M4, M5, M6.
 実軌跡取得部13は、エンコーダE1,E2,E3,E4,E5,E6からモータM1,M2,M3,M4,M5,M6の回転位置を取得し、モータM1,M2,M3,M4,M5,M6の回転位置から先端リンクの実際の位置を取得する。一例として、図6に示す駆動条件テーブルの二行目のレコードが示す駆動条件と基準中間点に基づく基準軌跡RT2に応じてモータM1,M2,M3,M4,M5,M6が制御された際に、実軌跡取得部13が取得した実軌跡AT2を図9に実線で示す。実軌跡取得部13は、上述のように取得した実軌跡を学習部14に送る。 The actual trajectory acquisition unit 13 acquires the rotational positions of the motors M1, M2, M3, M4, M5 and M6 from the encoders E1, E2, E3, E4, E5 and E6, and the motors M1, M2, M3, M4, M5, Obtain the actual position of the leading link from the rotational position of M6. As an example, when the motors M1, M2, M3, M4, M5, and M6 are controlled in accordance with the driving condition indicated by the record in the second row of the driving condition table shown in FIG. , the actual trajectory AT2 acquired by the actual trajectory acquisition unit 13 is indicated by a solid line in FIG. The actual trajectory acquisition unit 13 sends the actual trajectory acquired as described above to the learning unit 14 .
 学習部14は、理想軌跡上の制御周期ごとの先端リンクの理想位置と実軌跡取得部13が決定した実軌跡AT2が示す制御周期ごとの先端リンクの実際の位置との距離を算出し、図9に矢印ER2で示すように、理想位置と実位置の距離が最大値となるときの実位置の理想位置からのずれを軌跡誤差として用いる。 The learning unit 14 calculates the distance between the ideal position of the leading link on the ideal trajectory for each control cycle and the actual position of the leading link for each control cycle indicated by the actual trajectory AT2 determined by the actual trajectory acquisition unit 13, and As indicated by an arrow ER2 in 9, the deviation of the actual position from the ideal position when the distance between the ideal position and the actual position reaches the maximum value is used as the trajectory error.
 上述のように、学習部14は、各駆動条件に対応付けられた基準中間点のそれぞれについて軌跡誤差の算出を行って、基準中間点と軌跡誤差との対応を学習する。そして、学習部14は、図10に示す誤差テーブルを生成し、学習済みデータ記憶部15に記憶させる。図10の例では、1つの駆動条件に対応する複数の基準中間点について、基準中間点ごとに軌跡誤差が記憶される。軌跡誤差は、ベクトルの成分として記憶されている。具体的には、軌跡誤差は、理想位置を始点とし、実位置のずれを示すベクトルの成分で表されている。 As described above, the learning unit 14 calculates the trajectory error for each reference intermediate point associated with each drive condition, and learns the correspondence between the reference intermediate point and the trajectory error. The learning unit 14 then generates an error table shown in FIG. 10 and stores it in the learned data storage unit 15 . In the example of FIG. 10, a trajectory error is stored for each reference intermediate point for a plurality of reference intermediate points corresponding to one driving condition. Trajectory errors are stored as components of a vector. Specifically, the trajectory error is represented by a component of a vector that starts from the ideal position and indicates the displacement of the actual position.
 全ての駆動条件の全ての基準中間点について軌跡誤差の算出が完了すると、学習部14は、駆動条件ごとの基準中間点のそれぞれに対応する軌跡誤差から、軌跡誤差を最小化する目標中間点を求め、駆動条件に応じて目標中間点を示す軌跡モデルを生成する。詳細には、学習部14は、駆動条件ごとに、基準中間点の変化に応じた軌跡誤差の変化を学習し、軌跡誤差が最小となる目標中間点を求め、駆動条件に応じて目標中間点を示す軌跡モデルを生成する。実施の形態1では、学習部14は、軌跡モデルとして図11に示す目標中間点テーブルを生成し、学習済みデータ記憶部15に記憶させる。具体的には、学習部14は、駆動条件ごとに回帰分析を行って、軌跡誤差を最小化する目標中間点を駆動条件ごとに算出する。回帰分析において、独立変数として基準中間点のXYZ各座標成分が用いられ、目的関数として軌跡誤差が用いられる。軌跡誤差が最小となるときの独立変数の値が目標中間点に相当する。 When the calculation of the trajectory errors for all the reference midpoints of all driving conditions is completed, the learning unit 14 selects the target midpoint that minimizes the trajectory error from the trajectory errors corresponding to the reference midpoints for each driving condition. Then, a trajectory model indicating the target intermediate point is generated according to the driving conditions. Specifically, the learning unit 14 learns changes in trajectory error in response to changes in the reference intermediate point for each driving condition, obtains a target intermediate point that minimizes the trajectory error, and determines the target intermediate point according to the driving condition. Generate a trajectory model showing In Embodiment 1, the learning unit 14 generates a target waypoint table shown in FIG. 11 as a trajectory model and stores it in the learned data storage unit 15 . Specifically, the learning unit 14 performs regression analysis for each drive condition to calculate a target intermediate point that minimizes the trajectory error for each drive condition. In the regression analysis, the XYZ coordinate components of the reference midpoint are used as independent variables, and the trajectory error is used as the objective function. The value of the independent variable when the trajectory error is minimized corresponds to the target waypoint.
 上述の学習処理が終了した後に行われるロボット10の制御処理である運用処理の動作の概要について、図12を用いて説明する。例えば、制御装置1は、学習処理が終了した後に、図示しない操作部からの操作によってロボット10の駆動条件を含む駆動指令が入力されると、図12の運用処理を開始する。 An overview of the operation of the operation process, which is the control process of the robot 10 that is performed after the above-described learning process is completed, will be described with reference to FIG. For example, after the learning process is completed, the control device 1 starts the operation process of FIG. 12 when a driving command including driving conditions for the robot 10 is input by an operation from an operation unit (not shown).
 目標軌跡決定部16は、駆動条件を含む駆動指令を取得すると、学習済みデータ記憶部15から駆動指令が示す駆動条件に応じた目標中間点を取得する(ステップS21)。そして、目標軌跡決定部16は、駆動条件に基づき、ステップS21で取得した目標中間点を通る目標軌跡を決定する(ステップS22)。制御部17は、ステップS22で決定された目標軌跡に応じてロボット10のモータM1,M2,M3,M4,M5,M6を制御する(ステップS23)。 When the target trajectory determination unit 16 acquires the drive command including the drive condition, it acquires the target intermediate point corresponding to the drive condition indicated by the drive command from the learned data storage unit 15 (step S21). Then, the target trajectory determination unit 16 determines a target trajectory passing through the target intermediate point acquired in step S21 based on the drive conditions (step S22). The controller 17 controls the motors M1, M2, M3, M4, M5 and M6 of the robot 10 according to the target trajectory determined in step S22 (step S23).
 制御装置1が行う運用処理の詳細について以下に説明する。
 目標軌跡決定部16は、駆動指令を取得すると、学習済みデータ記憶部15に記憶されている目標中間点テーブルから駆動指令が示す駆動条件に応じた目標中間点を取得する。そして、目標軌跡決定部16は、駆動条件が示す動作開始点から、目標中間点を通って、駆動条件が示す動作終了点に至る軌跡を示す目標軌跡を決定する。詳細には、目標軌跡決定部16は、駆動条件が示す動作開始点、目標中間点、および駆動条件が示す動作終了点に基づくスプライン補間を行って、駆動条件が示す動作開始点から、目標中間点を通って、駆動条件が示す動作終了点に至る目標軌跡を決定する。目標軌跡は、制御周期ごとの先端リンクの目標位置を示す。
Details of the operational processing performed by the control device 1 will be described below.
Upon acquiring the drive command, the target trajectory determination unit 16 acquires a target intermediate point corresponding to the drive condition indicated by the drive command from the target intermediate point table stored in the learned data storage unit 15 . Then, the target trajectory determining unit 16 determines a target trajectory representing a trajectory from the motion start point indicated by the drive condition, through the target intermediate point, to the motion end point indicated by the drive condition. More specifically, the target trajectory determination unit 16 performs spline interpolation based on the motion start point, target intermediate point, and motion end point indicated by the drive condition, and calculates the target intermediate point from the motion start point indicated by the drive condition. A target trajectory is determined through the points to reach the motion end point indicated by the drive condition. The target trajectory indicates the target position of the leading link for each control cycle.
 例えば、目標軌跡決定部16は、フランジ160の先端面160aが、ロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(100,0,0)まで目標速度V1で移動させる駆動条件を示す駆動指令を取得する。目標軌跡決定部16は、取得した駆動条件に対応する図11に示す目標中間点テーブルの一行目のレコードが示す目標中間点(50,-2.5,0)を取得する。この目標中間点(50,-2.5,0)を図13に目標中間点TP1として示す。そして、目標軌跡決定部16は、動作開始点SP1(0,0,0)から目標中間点TP1(50,-2.5,0)を通って動作終了点EP1(100,0,0)に至る目標軌跡TT1を決定する。図13に破線で示すように、目標軌跡TT1は、動作開始点SP1から目標中間点TP1を通って動作終了点EP1に至る滑らかな曲線であって、XY平面においてY軸負方向に突出する曲線で示される。上述のように目標軌跡を決定すると、目標軌跡決定部16は、駆動条件および決定した目標軌跡を、制御部17に送る。 For example, the target trajectory determination unit 16 moves the flange 160 from the motion start point (0, 0, 0) to the motion end point (100 , 0, 0) at the target speed V1. The target trajectory determination unit 16 acquires the target intermediate point (50, -2.5, 0) indicated by the record in the first row of the target intermediate point table shown in FIG. 11 corresponding to the acquired drive condition. This target midpoint (50, -2.5, 0) is shown as target midpoint TP1 in FIG. Then, the target trajectory determination unit 16 moves from the motion start point SP1 (0,0,0) to the motion end point EP1 (100,0,0) through the target intermediate point TP1 (50,-2.5,0). A target trajectory TT1 to be reached is determined. As indicated by the dashed line in FIG. 13, the target trajectory TT1 is a smooth curve extending from the motion start point SP1 through the target intermediate point TP1 to the motion end point EP1. is indicated by After determining the target trajectory as described above, the target trajectory determination unit 16 sends the driving conditions and the determined target trajectory to the control unit 17 .
 図3に示す制御部17は、目標軌跡決定部16から取得した目標軌跡に応じてモータM1,M2,M3,M4,M5,M6への制御指令を生成し、制御指令をモータM1,M2,M3,M4,M5,M6に送信する。この結果、モータM1,M2,M3,M4,M5,M6が制御指令に従って回転し、第1アーム110、第2アーム120、第3アーム130、第4アーム140、第5アーム150およびフランジ160が回転する。これにより、先端リンクが移動する。軌跡誤差を最小化する目標軌跡に応じてモータM1,M2,M3,M4,M5,M6を制御することで、図13に示すように、先端リンクの実軌跡AT1’が理想軌跡に近づく。 The control unit 17 shown in FIG. 3 generates control commands to the motors M1, M2, M3, M4, M5, and M6 according to the target trajectory acquired from the target trajectory determination unit 16, and outputs the control commands to the motors M1, M2, M6, and M6. Send to M3, M4, M5, M6. As a result, the motors M1, M2, M3, M4, M5 and M6 rotate according to the control commands, and the first arm 110, the second arm 120, the third arm 130, the fourth arm 140, the fifth arm 150 and the flange 160 rotate. Rotate. This causes the tip link to move. By controlling the motors M1, M2, M3, M4, M5, and M6 according to the target trajectory that minimizes the trajectory error, the actual trajectory AT1' of the leading end link approaches the ideal trajectory as shown in FIG.
 以上説明したとおり、実施の形態1に係る制御装置1は、基準中間点と軌跡誤差との対応を学習し、軌跡誤差を最小化する目標中間点を求め、駆動条件に応じた目標中間点を示す軌跡モデルを生成し、目標中間点を通る目標軌跡に応じてロボット10を制御する。この結果、実軌跡が理想軌跡に近づき、制御装置1によるロボット10の制御精度は高くなる。 As described above, the control device 1 according to Embodiment 1 learns the correspondence between the reference intermediate point and the trajectory error, obtains the target intermediate point that minimizes the trajectory error, and determines the target intermediate point according to the driving conditions. A trajectory model shown is generated, and the robot 10 is controlled according to the target trajectory passing through the target waypoint. As a result, the actual trajectory approaches the ideal trajectory, and the accuracy of control of the robot 10 by the control device 1 increases.
 (実施の形態2)
 ロボットに取り付けられた加工工具、例えば、先端リンクに取り付けられた加工工具によって加工対象物を加工する際に、ロボットは加工時に加工対象物から力を受ける。ロボットが加工対象物から受ける力である反力の影響を受けて、先端リンクの軌跡が理想軌跡からずれることがある。実施の形態2では、ロボット30と加工時にロボット30が受ける反力に応じてロボット30を制御する制御装置2とを備えるロボットシステム101について、実施の形態1に係るロボットシステム100と異なる点を中心に説明する。
(Embodiment 2)
When a machining tool attached to a robot, for example, a machining tool attached to a tip link, is used to machine a workpiece, the robot receives force from the workpiece during machining. The trajectory of the tip link may deviate from the ideal trajectory under the influence of the reaction force, which is the force that the robot receives from the workpiece. In the second embodiment, a robot system 101 that includes a robot 30 and a control device 2 that controls the robot 30 according to the reaction force that the robot 30 receives during processing is mainly different from the robot system 100 according to the first embodiment. to explain.
 図14に示すロボット30は、実施の形態1に係るロボット10の構成に加えて、力覚センサ190を備える。フランジ160には、加工工具200が取り付けられる。加工工具200が取り付けられたロボット30を制御することで、加工対象物であるワークのバリ取り、部品の取付等の加工が可能となる。 A robot 30 shown in FIG. 14 includes a force sensor 190 in addition to the configuration of the robot 10 according to the first embodiment. A processing tool 200 is attached to the flange 160 . By controlling the robot 30 to which the processing tool 200 is attached, it is possible to perform processing such as deburring of the workpiece, attachment of parts, and the like.
 力覚センサ190は、加工工具200によるワークの加工時にフランジ160が受ける力である反力に応じたセンサ信号を出力する。 The force sensor 190 outputs a sensor signal corresponding to the reaction force, which is the force that the flange 160 receives during machining of the workpiece by the machining tool 200 .
 図15に示すロボットシステム101が備える制御装置2は、ロボット30が備える力覚センサ190からセンサ信号を取得して、センサ信号からロボット30が受ける反力を算出する反力取得部19と、軌跡誤差および反力を学習する学習部18と、を備える。反力取得部19は、力覚センサ190から取得したセンサ信号の値を制御周期ごとに検出し、制御周期ごとに検出した値からロボット30が受ける反力を算出して、算出した反力を学習部18に送る。学習部18は、反力取得部19が算出した反力を取得し、軌跡誤差に対応する反力、すなわち、制御周期ごとの先端リンクの理想位置と実軌跡が示す制御周期ごとの先端リンクの実位置との距離が最大となるときの反力を求める。 The control device 2 included in the robot system 101 shown in FIG. and a learning unit 18 that learns the error and the reaction force. The reaction force acquisition unit 19 detects the value of the sensor signal acquired from the force sensor 190 in each control cycle, calculates the reaction force received by the robot 30 from the detected value in each control cycle, and obtains the calculated reaction force. Send to learning unit 18 . The learning unit 18 acquires the reaction force calculated by the reaction force acquiring unit 19, and calculates the reaction force corresponding to the trajectory error, that is, the ideal position of the leading end link in each control cycle and the ideal position of the leading end link in each control cycle indicated by the actual trajectory. Obtain the reaction force when the distance from the actual position is maximum.
 制御装置2のハードウェア構成は、図4に示す制御装置1と同様である。制御装置2は、インターフェース33を介して、モータM1,M2,M3,M4,M5,M6、エンコーダE1,E2,E3,E4,E5,E6および力覚センサ190に接続される。 The hardware configuration of the control device 2 is the same as that of the control device 1 shown in FIG. The control device 2 is connected to the motors M1, M2, M3, M4, M5 and M6, the encoders E1, E2, E3, E4, E5 and E6 and the force sensor 190 via the interface 33.
 上記構成を有する制御装置2が行う学習処理について図16を用いて説明する。例えば、ロボット30の設置後に最初にロボット30による加工を行う際に、制御装置2は、図16の学習処理を開始する。ステップS11からS12までの処理は、図5に示す制御装置1が行う処理と同様である。制御部17は、ステップS12で決定された基準軌跡に応じてロボット10のモータM1,M2,M3,M4,M5,M6を制御し、実軌跡取得部13は、ロボット10の実際の軌跡を取得し、反力取得部19は、反力を算出する(ステップS17)。詳細には、ステップS17において、基準軌跡に基づいてモータM1,M2,M3,M4,M5,M6が制御されることで、ロボット30による加工が行われる。基準軌跡に基づいてモータM1,M2,M3,M4,M5,M6が制御されている間、実軌跡取得部13は、ロボット30の先端リンクの実際の軌跡を取得し、反力取得部19は、力覚センサ190が出力するセンサ信号から反力を算出する。 The learning process performed by the control device 2 having the above configuration will be explained using FIG. For example, when the robot 30 performs processing for the first time after the robot 30 is installed, the control device 2 starts the learning process of FIG. 16 . The processing from steps S11 to S12 is the same as the processing performed by the control device 1 shown in FIG. The control unit 17 controls the motors M1, M2, M3, M4, M5, and M6 of the robot 10 according to the reference trajectory determined in step S12, and the actual trajectory acquisition unit 13 acquires the actual trajectory of the robot 10. Then, the reaction force acquiring unit 19 calculates the reaction force (step S17). Specifically, in step S17, the motors M1, M2, M3, M4, M5, and M6 are controlled based on the reference trajectory, so that machining by the robot 30 is performed. While the motors M1, M2, M3, M4, M5, and M6 are being controlled based on the reference trajectory, the actual trajectory acquisition unit 13 acquires the actual trajectory of the tip link of the robot 30, and the reaction force acquisition unit 19 , the reaction force is calculated from the sensor signal output by the force sensor 190 .
 学習部18は、ステップS17で取得された実軌跡のステップS11で取得された駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を算出して、軌跡誤差と理想位置と実位置との距離が最大となるときの反力とを対応付ける(ステップS18)。 The learning unit 18 calculates a trajectory error indicating the deviation of the actual trajectory acquired in step S17 from the ideal trajectory based on the driving conditions acquired in step S11, and calculates the distance between the trajectory error and the ideal position and the actual position. The maximum reaction force is associated (step S18).
 実施の形態1と同様に、駆動条件記憶部11に記憶されている全ての駆動条件の全ての基準中間点について軌跡誤差と反力の対応付けが完了していない間は(ステップS19;No)、上述のステップS11、ステップS12、ステップS17、およびステップS18の処理が繰り返される。換言すれば、学習部18は、各駆動条件に対応付けられた基準中間点のそれぞれについて軌跡誤差の算出を行って、駆動条件、基準中間点、軌跡誤差、および反力の対応を学習する。そして、学習部18は、図17に示す誤差テーブルを生成し、学習済みデータ記憶部15に記憶させる。図17の例では、1つの駆動条件に対応する複数の基準中間点について、基準中間点ごとに軌跡誤差および反力が記憶されている。反力は、X軸方向の力Fx、Y軸方向の力Fy、およびZ軸方向の力Fzで表される。図17の例では、誤差テーブルに(Fx,Fy,Fz)で表される反力が記憶されている。 As in the first embodiment, while the correspondence between the trajectory error and the reaction force is not completed for all the reference intermediate points of all the drive conditions stored in the drive condition storage unit 11 (step S19; No). , the above-described steps S11, S12, S17, and S18 are repeated. In other words, the learning unit 18 calculates the trajectory error for each reference intermediate point associated with each driving condition, and learns the correspondence between the driving condition, the reference intermediate point, the trajectory error, and the reaction force. The learning unit 18 then generates an error table shown in FIG. 17 and stores it in the learned data storage unit 15 . In the example of FIG. 17, a trajectory error and a reaction force are stored for each reference intermediate point with respect to a plurality of reference intermediate points corresponding to one drive condition. The reaction force is represented by force Fx in the X-axis direction, force Fy in the Y-axis direction, and force Fz in the Z-axis direction. In the example of FIG. 17, the reaction force represented by (Fx, Fy, Fz) is stored in the error table.
 全ての駆動条件の全ての基準中間点について軌跡誤差と反力の対応付けが完了すると(ステップS19;Yes)、学習部18は、軌跡誤差を最小化する目標中間点を求め駆動条件に応じて目標中間点を示す軌跡モデルを生成する(ステップS20)。詳細には、学習部18は、駆動条件ごとに重回帰モデルを用いて、軌跡誤差が最小となる目標中間点を駆動条件ごとに算出する。重回帰モデルにおいて、独立変数として基準中間点のXYZ各座標成分および反力が用いられ、目的関数として軌跡誤差が用いられる。軌跡誤差が最小となるときの基準中間点が目標中間点に相当する。学習部18は、実施の形態1と同様に、図11に示す目標中間点テーブルを生成する。ステップS20の処理が完了すると、制御装置2は学習処理を終了する。 When the correspondence between the trajectory error and the reaction force is completed for all the reference intermediate points of all the driving conditions (step S19; Yes), the learning unit 18 obtains the target intermediate point that minimizes the trajectory error according to the driving condition. A trajectory model indicating the target waypoint is generated (step S20). Specifically, the learning unit 18 uses a multiple regression model for each driving condition to calculate a target intermediate point that minimizes the trajectory error for each driving condition. In the multiple regression model, the XYZ coordinate components of the reference midpoint and the reaction force are used as independent variables, and the trajectory error is used as the objective function. The reference midpoint at which the trajectory error is minimized corresponds to the target midpoint. The learning unit 18 generates the target waypoint table shown in FIG. 11, as in the first embodiment. When the process of step S20 is completed, the control device 2 ends the learning process.
 上述の学習処理が終了した後に制御装置2が行う運用処理は、実施の形態1と同様である。制御装置2は、図12に示す運用処理を行って、ロボット30を制御する。 The operation process performed by the control device 2 after the above-described learning process is completed is the same as in the first embodiment. The control device 2 performs operation processing shown in FIG. 12 to control the robot 30 .
 以上説明したとおり、実施の形態2に係る制御装置2は、駆動条件ごとの基準中間点のそれぞれに対応する軌跡誤差および反力から、軌跡誤差を最小化する目標中間点を求め、駆動条件に応じた目標中間点を示す軌跡モデルを生成し、目標中間点を通る目標軌跡に応じてロボット30を制御する。加工時にロボット30が受ける力である反力に応じて目標中間点を決定するため、制御装置2によるロボット30の制御精度は高い。 As described above, the control device 2 according to the second embodiment obtains the target intermediate point that minimizes the trajectory error from the trajectory error and the reaction force corresponding to each of the reference intermediate points for each driving condition. A trajectory model indicating the corresponding target waypoint is generated, and the robot 30 is controlled according to the target trajectory passing through the target waypoint. Since the target intermediate point is determined according to the reaction force, which is the force that the robot 30 receives during machining, the controller 2 can control the robot 30 with high accuracy.
 (実施の形態3)
 実施の形態1,2では、駆動条件テーブルに予め各駆動条件に対応する全ての基準中間点が記憶されているが、基準中間点は推定されてもよい。実施の形態3では、ロボット10と、少なくとも一部の基準中間点を推定して学習処理を行う制御装置3とを備えるロボットシステム102について、実施の形態1に係るロボットシステム100と異なる点を中心に説明する。
(Embodiment 3)
In Embodiments 1 and 2, all reference midpoints corresponding to each driving condition are stored in advance in the drive condition table, but the reference midpoint may be estimated. In the third embodiment, a robot system 102 that includes a robot 10 and a control device 3 that estimates at least a part of reference intermediate points and performs learning processing will focus on differences from the robot system 100 according to the first embodiment. to explain.
 図18に示すロボットシステム102が備える制御装置3は、実施の形態1に係る制御装置1の構成に加えて、中間点推定部20をさらに備える。中間点推定部20は、駆動条件記憶部11に駆動条件に対応する複数の基準中間点が記憶されていない場合、または、駆動条件記憶部11に駆動条件に対応して記憶されている複数の基準中間点の個数が十分でない場合に、基準中間点を推定する。 The control device 3 included in the robot system 102 shown in FIG. 18 further includes a midpoint estimation unit 20 in addition to the configuration of the control device 1 according to the first embodiment. The midpoint estimating unit 20 detects a plurality of reference midpoints corresponding to the driving conditions in the driving condition storage unit 11, or when a plurality of reference midpoints corresponding to the driving conditions are stored in the driving condition storage unit 11. If the number of reference waypoints is not sufficient, the reference waypoints are estimated.
 詳細には、中間点推定部20は、学習部14で生成された軌跡モデルが示す駆動条件に応じた目標中間点から、他の駆動条件に対応する複数の基準中間点を推定する。例えば、中間点推定部20は、学習済みデータ記憶部15に記憶されている駆動条件と駆動条件に対応する目標中間点から、対応する複数の基準中間点が駆動条件記憶部11に記憶されていない駆動条件について、複数の基準中間点を推定する。そして、中間点推定部20は、駆動条件と推定された複数の基準中間点とを対応付けて駆動条件記憶部11に記憶させる。 Specifically, the midpoint estimation unit 20 estimates a plurality of reference midpoints corresponding to other driving conditions from the target midpoint corresponding to the driving condition indicated by the trajectory model generated by the learning unit 14 . For example, the intermediate point estimating unit 20 selects the driving conditions stored in the learned data storage unit 15 and the target intermediate points corresponding to the driving conditions, and the driving condition storage unit 11 stores a plurality of corresponding reference intermediate points. Estimate multiple reference waypoints for non-zero driving conditions. Then, the midpoint estimation unit 20 associates the drive condition with the estimated plurality of reference midpoints and stores them in the drive condition storage unit 11 .
 制御装置3のハードウェア構成は、図4に示す制御装置1のハードウェア構成と同様である。 The hardware configuration of the control device 3 is the same as the hardware configuration of the control device 1 shown in FIG.
 上記構成を有する制御装置3が行う学習処理について図19を用いて説明する。制御装置1と同様に、例えば、ロボット10の設置後に、制御装置3が初めて動作を開始する際に、制御装置3は図19の学習処理を開始する。ステップS11からS16までの処理は、図5に示す制御装置1が行う処理と同様である。換言すれば、予め駆動条件記憶部11に記憶されている駆動条件と複数の基準中間点に基づいて、実施の形態1と同様に軌跡誤差の算出および目標中間点を示す軌跡モデルの生成が行われる。 The learning process performed by the control device 3 having the above configuration will be explained using FIG. As with the control device 1, for example, when the control device 3 starts operating for the first time after the robot 10 is installed, the control device 3 starts the learning process of FIG. The processing from steps S11 to S16 is the same as the processing performed by the control device 1 shown in FIG. In other words, the trajectory error is calculated and the trajectory model indicating the target intermediate point is generated in the same manner as in the first embodiment based on the driving conditions and a plurality of reference intermediate points stored in the driving condition storage unit 11 in advance. will be
 ステップS16の処理が完了すると、制御装置3はステップS31以降の処理を行う。中間点推定部20は、駆動条件記憶部11に記憶されている駆動条件に対応する基準中間点の推定の要否を判定する(ステップS31)。詳細には、中間点推定部20は、駆動条件記憶部11に記憶されている駆動条件に対応付けられている複数の基準中間点の個数が、学習部14における軌跡モデルの生成に必要な個数以上であるか否かに基づいて、基準中間点の推定の要否を判定する。一例として、中間点推定部20は、駆動条件記憶部11に記憶されている駆動条件に基準中間点が対応付けられていない場合、基準中間点の推定が必要であると判定する。他の一例として、中間点推定部20は、駆動条件記憶部11に記憶されている各駆動条件に対応する基準中間点の個数が50未満であれば、基準中間点の推定が必要であると判定する。 When the processing of step S16 is completed, the control device 3 performs the processing from step S31 onward. The midpoint estimation unit 20 determines whether or not it is necessary to estimate the reference midpoint corresponding to the drive conditions stored in the drive condition storage unit 11 (step S31). Specifically, the intermediate point estimation unit 20 determines that the number of reference intermediate points associated with the driving conditions stored in the driving condition storage unit 11 is the number necessary for the learning unit 14 to generate the trajectory model. It is determined whether or not the reference midpoint needs to be estimated based on whether or not the above conditions are met. As an example, the midpoint estimating unit 20 determines that the reference midpoint needs to be estimated when the driving conditions stored in the driving condition storage unit 11 are not associated with the reference midpoint. As another example, if the number of reference intermediate points corresponding to each driving condition stored in the driving condition storage unit 11 is less than 50, the intermediate point estimating unit 20 determines that estimation of the reference intermediate point is necessary. judge.
 例えば、図20に示す駆動条件テーブルにおいて、フランジ160の先端面160aがロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(-100,0,0)まで目標速度V1で駆動する駆動条件には、基準中間点が対応付けられていない。同様に、フランジ160の先端面160aが、ロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(0,100,0)まで目標速度V1で駆動する駆動条件には、基準中間点が対応付けられていない。このため、中間点推定部20は、図19のステップS31の処理において、これらの駆動条件について、基準中間点の推定が必要であると判定する(ステップS31;Yes)。 For example, in the drive condition table shown in FIG. 20, the flange 160 is moved from the operation start point (0, 0, 0) to the operation end point ( −100, 0, 0) at the target speed V1 is not associated with a reference intermediate point. Similarly, with the tip surface 160a of the flange 160 parallel to the plane to which the robot 10 is fixed, the flange 160 is moved from the motion start point (0,0,0) to the motion end point (0,100,0). No reference midpoint is associated with the drive condition for driving at the target speed V1. Therefore, in the process of step S31 of FIG. 19, the midpoint estimating unit 20 determines that the reference midpoint needs to be estimated for these drive conditions (step S31; Yes).
 基準中間点の推定が必要である場合(ステップS31;Yes)、中間点推定部20は、軌跡モデルが示す駆動条件に応じた目標中間点から基準中間点を推定する(ステップS32)。 If it is necessary to estimate the reference intermediate point (step S31; Yes), the intermediate point estimation unit 20 estimates the reference intermediate point from the target intermediate point according to the driving conditions indicated by the trajectory model (step S32).
 詳細には、中間点推定部20は、学習済みデータ記憶部15に記憶されている駆動条件と駆動条件に対応する目標中間点から、基準中間点の推定を必要とする駆動条件について、複数の基準中間点を推定する。例えば、図11に示す目標中間点テーブルから、各駆動条件の目標中間点を取得し、基準中間点の推定を必要とする駆動条件ごとに回帰分析を行って、基準中間点が対応付けられていない駆動条件の目標中間点を推定する。そして、中間点推定部20は、推定された目標中間点を中心とする空間に図7に示すように三次元的に配置された複数の基準中間点を推定する。推定された目標中間点を中心とする空間は、駆動条件記憶部11に予め記憶されている複数の基準中間点が位置する空間、例えば、図7の空間S1より狭いことが好ましい。これにより、軌跡誤差の算出に要する時間が短くなり、結果として、効率よく目標中間点を求めることが可能となる。 Specifically, the midpoint estimating unit 20 selects a plurality of driving conditions that require estimation of a reference midpoint from the driving conditions stored in the learned data storage unit 15 and target midpoints corresponding to the driving conditions. Estimate the reference waypoint. For example, the target midpoint of each drive condition is obtained from the target midpoint table shown in FIG. Estimate the target waypoint for no drive condition. Then, the midpoint estimation unit 20 estimates a plurality of reference midpoints three-dimensionally arranged as shown in FIG. 7 in a space centered on the estimated target midpoint. The space centered on the estimated target midpoint is preferably narrower than the space in which the plurality of reference midpoints pre-stored in the driving condition storage unit 11 are positioned, for example, the space S1 in FIG. As a result, the time required to calculate the trajectory error can be shortened, and as a result, the target intermediate point can be obtained efficiently.
 中間点推定部20は、図19のステップS32の処理において、上述のように、基準中間点の推定を必要とする各駆動条件について複数の基準中間点を推定すると、各駆動条件と推定した複数の基準中間点とを対応付けて駆動条件記憶部11に記憶させる(ステップS33)。この結果、図21に示すように、駆動条件記憶部11に記憶されている駆動条件テーブルに、駆動条件と推定された基準中間点とを対応付けるレコードが追加される。 In the process of step S32 in FIG. 19, the midpoint estimating unit 20 estimates a plurality of reference midpoints for each driving condition that requires estimation of a reference midpoint as described above, and determines each driving condition and the estimated multiple is stored in the drive condition storage unit 11 in association with the reference midpoint of (step S33). As a result, as shown in FIG. 21, a record is added to the driving condition table stored in the driving condition storage unit 11 to associate the driving condition with the estimated reference intermediate point.
 図19のステップS33の処理が完了すると、制御装置3は、ステップS11の処理から上述の処理を繰り返す。ステップS33において、駆動条件記憶部11に記憶されている駆動条件テーブルに、駆動条件と推定された基準中間点とを対応付けるレコードが追加されているため、駆動条件と推定された基準中間点について、実施の形態1と同様に学習処理が行われる。すでに学習処理の対象となっていて、推定された基準中間点に対応付けられるレコードが追加されていない駆動条件については、学習処理を繰り返す必要はない。 When the process of step S33 in FIG. 19 is completed, the control device 3 repeats the above-described processes from the process of step S11. In step S33, since a record that associates the driving condition with the estimated reference midpoint is added to the driving condition table stored in the driving condition storage unit 11, the driving condition and the estimated reference midpoint are: Learning processing is performed in the same manner as in the first embodiment. It is not necessary to repeat the learning process for driving conditions that have already been subjected to the learning process and for which no record associated with the estimated reference midpoint has been added.
 ステップS33において、駆動条件記憶部11に記憶されている駆動条件テーブルに、駆動条件と推定された基準中間点とを対応付けるレコードが追加されて、上述の学習処理が行われると、中間点推定部20は、基準中間点の推定は不要であると判定する(ステップS31;No)。基準中間点の推定が不要である場合(ステップS31;No)、制御装置3は、学習処理を終了する。
 上述の学習処理が終了した後に制御装置3が行う運用処理は、実施の形態1と同様である。
In step S33, a record that associates the driving condition with the estimated reference midpoint is added to the driving condition table stored in the driving condition storage unit 11, and the learning process described above is performed. 20 determines that estimation of the reference midpoint is unnecessary (step S31; No). If estimation of the reference midpoint is unnecessary (step S31; No), the control device 3 terminates the learning process.
The operation process performed by the control device 3 after the above-described learning process is completed is the same as that of the first embodiment.
 以上説明したとおり、実施の形態3に係る制御装置3は、軌跡モデルが示す駆動条件に応じた目標中間点から、他の駆動条件に対応する基準中間点を推定する。軌跡モデルに基づいて基準中間点を推定し、推定した基準中間点に基づいて軌跡誤差を算出し、目標中間点を求めるため、予め定められた全ての基準中間点について軌跡誤差を算出する場合と比べて、制御装置3の学習効率は高い。推定する基準中間点の数を、予め駆動条件記憶部11に記憶されている基準中間点の数よりも減らすことで、より効率よく制御装置3の学習を行うことが可能となる。 As described above, the control device 3 according to Embodiment 3 estimates a reference midpoint corresponding to another driving condition from the target midpoint corresponding to the driving condition indicated by the trajectory model. A reference waypoint is estimated based on a trajectory model, a trajectory error is calculated based on the estimated reference waypoint, and a target waypoint is obtained. In comparison, the learning efficiency of the control device 3 is high. By reducing the number of reference intermediate points to be estimated to less than the number of reference intermediate points stored in advance in the drive condition storage unit 11, it is possible to learn the control device 3 more efficiently.
 (実施の形態4)
 実施の形態1,2では、駆動条件テーブルに予め各駆動条件に対応する全ての基準中間点が記憶されているが、基準中間点は推定されてもよい。さらに、駆動条件も推定されてもよい。実施の形態4では、ロボット10と、少なくとも一部の駆動条件および少なくとも一部の基準中間点を推定して学習処理を行う制御装置4とを備えるロボットシステム103について、実施の形態1に係るロボットシステム100と異なる点を中心に説明する。
(Embodiment 4)
In Embodiments 1 and 2, all reference midpoints corresponding to each driving condition are stored in advance in the drive condition table, but the reference midpoint may be estimated. Furthermore, driving conditions may also be estimated. In the fourth embodiment, the robot system 103 including the robot 10 and the control device 4 that estimates at least part of the driving conditions and at least part of the reference intermediate points to perform learning processing is described as the robot according to the first embodiment. The points different from the system 100 will be mainly described.
 図22に示すロボットシステム103が備える制御装置4は、実施の形態1に係る制御装置1の構成に加えて、駆動条件推定部21をさらに備える。駆動条件推定部21は、駆動条件記憶部11に駆動条件に対応して記憶されている複数の基準中間点の個数が十分でない場合に、基準中間点を推定し、駆動条件記憶部11に記憶されている駆動条件の個数が十分でない場合に、駆動条件と駆動条件に対応する複数の基準中間点を推定する。 The control device 4 included in the robot system 103 shown in FIG. 22 further includes a drive condition estimation unit 21 in addition to the configuration of the control device 1 according to Embodiment 1. The driving condition estimation unit 21 estimates a reference intermediate point and stores it in the driving condition storage unit 11 when the number of reference intermediate points stored corresponding to the driving condition in the driving condition storage unit 11 is not sufficient. If there are not enough driving conditions, a driving condition and a plurality of reference intermediate points corresponding to the driving condition are estimated.
 詳細には、駆動条件推定部21は、駆動条件記憶部11に記憶されている駆動条件および基準中間点に応じて学習部14が算出した軌跡誤差から、駆動条件記憶部11に記憶されている駆動条件に対応付けられる新たな基準中間点、ならびに、駆動条件記憶部11に記憶されていない新たな駆動条件および新たな駆動条件に対応付けられる複数の基準中間点を推定する。そして、駆動条件推定部21は、駆動条件記憶部11に記憶されている駆動条件と駆動条件に基づいて推定された新たな基準中間点を対応付けて駆動条件記憶部11に記憶させる。駆動条件推定部21はさらに、推定された駆動条件および推定された複数の基準中間点のそれぞれとを対応付けて駆動条件記憶部11に記憶させる。 More specifically, the driving condition estimating unit 21 uses the trajectory error calculated by the learning unit 14 according to the driving conditions stored in the driving condition storage unit 11 and the reference intermediate point to determine the distance stored in the driving condition storage unit 11. A new reference midpoint associated with the drive condition, a new drive condition not stored in the drive condition storage unit 11, and a plurality of reference midpoints associated with the new drive condition are estimated. Then, the driving condition estimation unit 21 associates the driving conditions stored in the driving condition storage unit 11 with the new reference midpoint estimated based on the driving conditions, and stores them in the driving condition storage unit 11 . The driving condition estimating unit 21 further stores the estimated driving condition and each of the plurality of estimated reference intermediate points in the driving condition storage unit 11 in association with each other.
 制御装置4のハードウェア構成は、図4に示す制御装置1のハードウェア構成と同様である。 The hardware configuration of the control device 4 is the same as the hardware configuration of the control device 1 shown in FIG.
 上記構成を有する制御装置4が行う学習処理について図23を用いて説明する。制御装置1と同様に、例えば、ロボット10の設置後に、制御装置4が初めて動作を開始する際に、制御装置4は図23の学習処理を開始する。ステップS11からS15までの処理は、図5に示す制御装置1が行う処理と同様である。換言すれば、予め駆動条件記憶部11に記憶されている駆動条件と基準中間点に基づいて、実施の形態1と同様に軌跡誤差の算出処理が行われる。 The learning process performed by the control device 4 having the above configuration will be explained using FIG. As with the control device 1, for example, when the control device 4 starts operating for the first time after the robot 10 is installed, the control device 4 starts the learning process of FIG. The processing from steps S11 to S15 is the same as the processing performed by the control device 1 shown in FIG. In other words, the locus error calculation process is performed in the same manner as in the first embodiment, based on the driving conditions and the reference intermediate point stored in advance in the driving condition storage unit 11 .
 ステップS15の処理が完了すると、制御装置4はステップS41以降の処理を行う。駆動条件推定部21は、駆動条件記憶部11に記憶されている駆動条件に対応する基準中間点の推定の要否を判定する(ステップS41)。詳細には、駆動条件推定部21は、駆動条件記憶部11に記憶されている駆動条件に対応する基準中間点の個数が、学習部14における軌跡モデルの生成に必要な個数以上であるか否かに基づいて、基準中間点の推定の要否を判定する。例えば、駆動条件推定部21は、駆動条件記憶部11に記憶されている各駆動条件に対応する基準中間点の個数が50未満であれば、基準中間点の推定が必要であると判定する。 When the processing of step S15 is completed, the control device 4 performs the processing from step S41 onward. The driving condition estimation unit 21 determines whether or not it is necessary to estimate the reference intermediate point corresponding to the driving conditions stored in the driving condition storage unit 11 (step S41). Specifically, the driving condition estimation unit 21 determines whether or not the number of reference intermediate points corresponding to the driving conditions stored in the driving condition storage unit 11 is equal to or greater than the number necessary for generating the trajectory model in the learning unit 14. It is determined whether or not the reference midpoint needs to be estimated. For example, if the number of reference midpoints corresponding to each driving condition stored in the driving condition storage unit 11 is less than 50, the driving condition estimation unit 21 determines that estimation of the reference midpoint is necessary.
 例えば、制御装置4が学習処理を開始する時点で、駆動条件記憶部11に記憶されている駆動条件テーブルに、図6に示す一行目のレコードのみが記憶されている場合、駆動条件推定部21は、図23のステップS41の処理において、フランジ160の先端面160aが、ロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(100,0,0)まで目標速度V1で駆動する駆動条件について、基準中間点の推定が必要であると判定する(ステップS41;Yes)。 For example, when the driving condition table stored in the driving condition storage unit 11 stores only the first row record shown in FIG. 23, the tip surface 160a of the flange 160 is parallel to the plane to which the robot 10 is fixed, and the flange 160 is moved from the operation start point (0, 0, 0) to the operation end point It is determined that the reference midpoint needs to be estimated for the driving condition of driving at the target speed V1 up to (100, 0, 0) (step S41; Yes).
 基準中間点の推定が必要である場合(ステップS41;Yes)、駆動条件推定部21は、学習済みデータ記憶部15に記憶されている誤差テーブルに基づいて、回帰アルゴリズムにより、基準中間点の推定を行う(ステップS42)。例えば、駆動条件推定部21は、ガウス過程回帰アルゴリズムにより、フランジ160の先端面160aが、ロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(100,0,0)まで目標速度V1で駆動する駆動条件について、基準中間点の推定を行う。ガウス過程回帰アルゴリズムの目的関数は軌跡誤差である。 If the reference midpoint needs to be estimated (step S41; Yes), the driving condition estimating unit 21 estimates the reference midpoint using a regression algorithm based on the error table stored in the learned data storage unit 15. (step S42). For example, the drive condition estimator 21 moves the flange 160 to the operation start point (0, 0, 0) with the tip surface 160a of the flange 160 parallel to the plane to which the robot 10 is fixed, using a Gaussian process regression algorithm. A reference intermediate point is estimated with respect to the drive conditions for driving from the point (100, 0, 0) to the end point (100, 0, 0) at the target speed V1. The objective function of Gaussian process regression algorithm is trajectory error.
 駆動条件推定部21は、ステップS42で推定した基準中間点を、駆動条件に対応付けて駆動条件記憶部11に記憶させる(ステップS43)。この結果、例えば、図6に示す二行目以降のレコードが生成される。ステップS43の処理が完了すると、制御装置4はステップS11から上述の処理を繰り返す。ステップS43において、駆動条件記憶部11に記憶されている駆動条件テーブルに、駆動条件と推定された基準中間点とを対応付けるレコードが追加されているため、駆動条件と推定された基準中間点について、実施の形態1と同様に軌跡誤差の算出処理が行われる。すでに算出処理の対象となった駆動条件については、学習処理を繰り返す必要はない。 The driving condition estimation unit 21 stores the reference midpoint estimated in step S42 in the driving condition storage unit 11 in association with the driving condition (step S43). As a result, for example, records from the second line onward shown in FIG. 6 are generated. When the processing of step S43 is completed, the control device 4 repeats the above-described processing from step S11. In step S43, since a record that associates the driving condition with the estimated reference midpoint is added to the driving condition table stored in the driving condition storage unit 11, the driving condition and the estimated reference midpoint are: A locus error calculation process is performed in the same manner as in the first embodiment. It is not necessary to repeat the learning process for the driving conditions that have already been calculated.
 上述の処理が繰り返された結果、各駆動条件に十分な個数の基準中間点が対応付けられて、駆動条件記憶部11に記憶されると、駆動条件推定部21は、基準中間点の推定は不要であると判定する(ステップS41;No)。基準中間点の推定が不要である場合(ステップS41;No)、駆動条件推定部21は、駆動条件の推定の要否を判定する(ステップS44)。 As a result of repeating the above-described process, when a sufficient number of reference midpoints are associated with each driving condition and stored in the driving condition storage unit 11, the driving condition estimating unit 21 estimates the reference midpoint as It is determined that it is unnecessary (step S41; No). If estimation of the reference midpoint is unnecessary (step S41; No), the driving condition estimator 21 determines whether estimation of the driving condition is necessary (step S44).
 詳細には、駆動条件推定部21は、駆動条件記憶部11に記憶されている駆動条件がロボット10の制御パターンの種類に対して十分であるか否かに基づいて、駆動条件の推定の要否を判定する。例えば、駆動条件推定部21は、駆動条件記憶部11に記憶されている駆動条件の種類が、予め定められているロボット10の制御パターンの種類より少なければ、駆動条件の推定が必要であると判定する。駆動条件推定部21は、図示しないメモリに、ロボット10の制御パターンの種類についての情報を保持していればよい。 Specifically, the driving condition estimating unit 21 determines whether or not the driving condition stored in the driving condition storage unit 11 is sufficient for the type of control pattern of the robot 10. Judge no. For example, if the number of types of driving conditions stored in the driving condition storage section 11 is less than the predetermined number of types of control patterns for the robot 10, the driving condition estimating section 21 determines that the driving condition needs to be estimated. judge. The driving condition estimating unit 21 only needs to hold information about the types of control patterns of the robot 10 in a memory (not shown).
 例えば、ステップS43の処理が終了した時点で、駆動条件記憶部11に記憶されている駆動条件が、フランジ160の先端面160aが、ロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(100,0,0)まで目標速度V1で駆動する駆動条件のみである場合、駆動条件推定部21は、駆動条件の推定が必要であると判定する(ステップS44;Yes)。 For example, when the process of step S43 ends, the driving condition stored in the driving condition storage unit 11 is such that the flange 160 is parallel to the plane to which the robot 10 is fixed, and the tip surface 160a of the flange 160 is parallel to the plane to which the robot 10 is fixed. is driven at the target speed V1 from the operation start point (0,0,0) to the operation end point (100,0,0), the drive condition estimator 21 needs to estimate the drive condition. It is determined that there is (step S44; Yes).
 駆動条件の推定が必要である場合(ステップS44;Yes)、駆動条件推定部21は、学習済みデータ記憶部15に記憶されている誤差テーブルに基づいて、回帰アルゴリズムにより、他の駆動条件と他の駆動条件に対応する複数の基準中間点の推定を行う(ステップS45)。他の駆動条件とは、駆動条件記憶部11に記憶されている駆動条件とは異なる駆動条件である。例えば、駆動条件推定部21は、ガウス過程回帰アルゴリズムにより、フランジ160の先端面160aが、ロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(-100,0,0)まで目標速度V1で駆動する駆動条件を推定し、推定した駆動条件に対応する複数の基準中間点の推定を行う。推定された駆動条件に対応する複数の基準中間点の推定は、ステップS42の処理と同様である。 If it is necessary to estimate the driving condition (step S44; Yes), the driving condition estimating unit 21 uses a regression algorithm based on the error table stored in the learned data storage unit 15 to estimate other driving conditions. A plurality of reference intermediate points corresponding to the driving conditions are estimated (step S45). Other driving conditions are driving conditions different from the driving conditions stored in the driving condition storage unit 11 . For example, the drive condition estimator 21 moves the flange 160 to the operation start point (0, 0, 0) with the tip surface 160a of the flange 160 parallel to the plane to which the robot 10 is fixed, using a Gaussian process regression algorithm. to the operation end point (−100, 0, 0) at the target speed V1 is estimated, and a plurality of reference intermediate points corresponding to the estimated driving conditions are estimated. Estimation of a plurality of reference midpoints corresponding to the estimated drive conditions is the same as the process of step S42.
 駆動条件推定部21は、ステップS45で推定した駆動条件および複数の基準中間点を対応付けて駆動条件記憶部11に記憶させる(ステップS46)。この結果、例えば、図21に示すように、フランジ160の先端面160aが、ロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(-100,0,0)まで目標速度V1で駆動する駆動条件についての複数のレコードが生成される。ステップS46の処理が完了すると、制御装置4はステップS11から上述の処理を繰り返す。ステップS46において、駆動条件記憶部11に記憶されている駆動条件テーブルに、推定された駆動条件と推定された複数の基準中間点のそれぞれとを対応付けるレコードが追加されているため、推定された駆動条件と推定された複数の基準中間点について、実施の形態1と同様に軌跡誤差の算出処理が行われる。すでに算出処理の対象となった駆動条件については、算出処理を繰り返す必要はない。 The driving condition estimation unit 21 associates the driving conditions estimated in step S45 with the plurality of reference intermediate points and stores them in the driving condition storage unit 11 (step S46). As a result, for example, as shown in FIG. 21, the end surface 160a of the flange 160 is parallel to the plane to which the robot 10 is fixed, and the flange 160 is moved from the operation start point (0, 0, 0) to the end of the operation. A plurality of records are generated for the drive condition to drive at the target speed V1 to the point (-100,0,0). When the processing of step S46 is completed, the control device 4 repeats the above-described processing from step S11. In step S46, since a record that associates the estimated driving condition with each of the plurality of estimated reference intermediate points is added to the driving condition table stored in the driving condition storage unit 11, the estimated driving For a plurality of reference intermediate points estimated as conditions, the locus error calculation process is performed in the same manner as in the first embodiment. It is not necessary to repeat the calculation process for the driving conditions that have already been calculated.
 上述の処理が繰り返された結果、十分な個数の駆動条件と、各駆動条件に対応する十分な個数の基準中間点が、駆動条件記憶部11に記憶されると、駆動条件推定部21は、基準中間点の推定は不要であり(ステップS41;No)、かつ、駆動条件の推定は不要であると判定する(ステップS44;No)。基準中間点の推定は不要であり(ステップS41;No)、かつ、駆動条件の推定は不要である場合(ステップS44;No)、学習部14は、実施の形態1と同様に、軌跡誤差を最小化する目標中間点を駆動条件ごとに示す軌跡モデルを生成する(ステップS16)。ステップS16の処理が完了すると、制御装置4は学習処理を終了する。
 上述の学習処理が終了した後に制御装置4が行う運用処理は、実施の形態1と同様である。
As a result of repeating the above process, when a sufficient number of driving conditions and a sufficient number of reference midpoints corresponding to each driving condition are stored in the driving condition storage unit 11, the driving condition estimation unit 21 It is determined that estimation of the reference intermediate point is unnecessary (step S41; No) and that estimation of the drive condition is unnecessary (step S44; No). If estimation of the reference intermediate point is unnecessary (step S41; No) and estimation of the drive condition is unnecessary (step S44; No), the learning unit 14 calculates the locus error as in the first embodiment. A trajectory model indicating a target intermediate point to be minimized for each drive condition is generated (step S16). When the process of step S16 is completed, the control device 4 terminates the learning process.
Operational processing performed by the control device 4 after the above-described learning processing is completed is the same as that of the first embodiment.
 以上説明した通り、実施の形態4に係る制御装置4は、駆動条件記憶部11に記憶されている駆動条件について、駆動条件に対応する基準中間点を推定し、推定した基準中間点に基づいて軌跡誤差を算出し、目標中間点を求める。さらに、制御装置4は、駆動条件記憶部11に記憶されていない駆動条件を推定し、推定した駆動条件に対応する複数の基準中間点を推定して、推定した駆動条件および複数の基準中間点に基づいて軌跡誤差を算出し、目標中間点を求める。このため、事前に駆動条件記憶部11に多数の駆動条件および多数の基準中間点を記憶していなくても、ロボット10を制御するための多様な駆動条件について軌跡誤差を算出し、実軌跡を理想軌跡に近づけることが可能となる。 As described above, the control device 4 according to the fourth embodiment estimates the reference midpoint corresponding to the driving condition stored in the driving condition storage unit 11, and based on the estimated reference midpoint, Calculate the trajectory error and determine the target waypoint. Further, the control device 4 estimates driving conditions not stored in the driving condition storage unit 11, estimates a plurality of reference midpoints corresponding to the estimated driving conditions, and calculates the estimated driving conditions and the plurality of reference midpoints. Calculate the trajectory error based on and obtain the target intermediate point. Therefore, even if a large number of driving conditions and a large number of reference intermediate points are not stored in advance in the driving condition storage unit 11, the trajectory error can be calculated for various driving conditions for controlling the robot 10, and the actual trajectory can be calculated. It is possible to approach the ideal trajectory.
 (実施の形態5)
 ロボット10の軌跡を取得する方法は、上述の例に限られない。ロボット10と、実施の形態1とは異なる方法でロボット10の軌跡を取得する制御装置5と、を備えるロボットシステム104について、実施の形態1に係るロボットシステム100と異なる点を中心に説明する。
(Embodiment 5)
The method of acquiring the trajectory of the robot 10 is not limited to the above example. A robot system 104 that includes a robot 10 and a control device 5 that obtains the trajectory of the robot 10 by a method different from that of the first embodiment will be described, focusing on differences from the robot system 100 according to the first embodiment.
 図24に示す制御装置5は、モータM1,M2,M3,M4,M5,M6の回転位置によらずロボット10の軌跡を取得する実軌跡取得部22を備える。実軌跡取得部22は、ロボット10の軌跡を測定する測定器、例えば、三次元測定器を有し、測定器の測定値に応じてロボット10の軌跡を取得する。三次元測定器は、ロボット10の先端リンクの移動範囲にレーザー光を照射し、ロボット10の先端リンクで反射されたレーザー光を受信することで、ロボット10の先端リンクの位置を取得する。 The control device 5 shown in FIG. 24 includes an actual trajectory acquisition unit 22 that acquires the trajectory of the robot 10 regardless of the rotational positions of the motors M1, M2, M3, M4, M5, and M6. The actual trajectory acquisition unit 22 has a measuring device for measuring the trajectory of the robot 10, for example, a three-dimensional measuring device, and acquires the trajectory of the robot 10 according to the measurement values of the measuring device. The three-dimensional measuring device acquires the position of the tip link of the robot 10 by irradiating the movement range of the tip link of the robot 10 with a laser beam and receiving the laser beam reflected by the tip link of the robot 10 .
 実施の形態5では、実軌跡取得部22は、上述の処理を制御周期ごとに行って、制御周期ごとのXYZ直交座標系における先端リンクの実際の位置である実位置を示す実軌跡を算出する。そして、実軌跡取得部22は、実軌跡を学習部14に送る。 In the fifth embodiment, the actual trajectory acquisition unit 22 performs the above-described processing for each control cycle to calculate the actual trajectory indicating the actual position of the leading link in the XYZ orthogonal coordinate system for each control cycle. . The actual trajectory acquisition unit 22 then sends the actual trajectory to the learning unit 14 .
 制御装置5のハードウェア構成は、図4に示す制御装置1と同様である。
 上記構成を有する制御装置5が行う学習処理は、先端リンクの軌跡の取得方法を除いて、制御装置1と同様である。制御装置5が行う運用処理は、制御装置1と同様である。
The hardware configuration of the control device 5 is the same as that of the control device 1 shown in FIG.
The learning process performed by the control device 5 having the above configuration is the same as that of the control device 1 except for the method of acquiring the trajectory of the leading link. Operation processing performed by the control device 5 is the same as that of the control device 1 .
 以上説明した通り、実施の形態5に係る制御装置5は、モータM1,M2,M3,M4,M5,M6の回転位置によらずロボット10の軌跡を取得するため、取得した実軌跡にロボット10の機械的剛性に起因する誤差が含まれず、実軌跡の精度が向上する。 As described above, the controller 5 according to the fifth embodiment acquires the trajectory of the robot 10 regardless of the rotational positions of the motors M1, M2, M3, M4, M5, and M6. The accuracy of the actual trajectory is improved because the error caused by the mechanical rigidity of the
 本開示は、上述の実施の形態に限られない。上述の実施の形態の内、複数の実施の形態を任意に組み合わせることが可能である。一例として、制御装置3-5は、制御装置2と同様に力覚センサ190の測定値から反力を算出し、軌跡誤差と軌跡誤差に対応する反力に応じて目標中間点を決定してもよい。 The present disclosure is not limited to the above embodiments. It is possible to arbitrarily combine multiple embodiments among the above-described embodiments. As an example, the control device 3-5 calculates the reaction force from the measurement value of the force sensor 190 in the same way as the control device 2, and determines the target intermediate point according to the trajectory error and the reaction force corresponding to the trajectory error. good too.
 駆動条件は、上述の例に限られない。一例として、駆動条件は、加工対象物についての情報をさらに含むものでもよい。具体的には、駆動条件は、先端リンクの動作開始点、動作終了点、速度、および姿勢、ならびに加工対象物の重量を含むものでもよい。学習部14は、外部装置、例えば加工対象物の重量を測定する重量センサから加工対象物であるワークの重量についての情報を取得すればよい。詳細には、制御装置1-5は、重量センサから測定値を取得し、駆動条件記憶部11に記憶されている駆動条件に従ってロボット10,30を制御し、駆動条件および重量センサの測定値に応じた軌跡誤差を算出することを繰り返し、軌跡モデルを生成する。この結果、学習部14は、図25に示すように、先端リンクの動作開始点、動作終了点、速度、および姿勢、ならびにワークの重量を含む駆動条件と目標中間点とを対応付ける目標中間点テーブルを生成する。 The drive conditions are not limited to the above examples. As an example, the driving conditions may further include information about the workpiece. Specifically, the drive conditions may include the motion start point, motion end point, speed, and attitude of the leading link, and the weight of the workpiece. The learning unit 14 may acquire information about the weight of the workpiece, which is the object to be processed, from an external device, for example, a weight sensor that measures the weight of the object to be processed. Specifically, the control device 1-5 acquires the measured values from the weight sensors, controls the robots 10 and 30 according to the driving conditions stored in the driving condition storage unit 11, and uses the driving conditions and the measured values of the weight sensors to A trajectory model is generated by repeating calculation of the corresponding trajectory error. As a result, as shown in FIG. 25, the learning unit 14 creates a target intermediate point table that associates driving conditions, including the motion start point, motion end point, speed, and attitude of the leading link and the weight of the workpiece, with the target intermediate points. to generate
 運用時において、目標軌跡決定部16は、駆動指令を取得すると、学習済みデータ記憶部15から、駆動指令が示す先端リンクの動作開始点、動作終了点、速度、および姿勢と重量センサの測定値に応じた目標中間点を取得する。そして、目標軌跡決定部16は、駆動指令が示す先端リンクの動作開始点、動作終了点、速度、および姿勢に基づき、目標中間点を通る目標軌跡を決定する。加工対象物の重量に応じた目標軌跡に基づいてロボット10,30が制御されることで、ロボット10,30の制御精度が向上する。 During operation, when the target trajectory determination unit 16 acquires a drive command, the target trajectory determination unit 16 acquires from the learned data storage unit 15 the motion start point, motion end point, speed, attitude, and measurement values of the weight sensor indicated by the drive command. Get the target waypoint according to . Then, the target trajectory determination unit 16 determines a target trajectory passing through the target intermediate point based on the motion start point, motion end point, speed, and attitude of the leading link indicated by the drive command. Control accuracy of the robots 10 and 30 is improved by controlling the robots 10 and 30 based on the target trajectory corresponding to the weight of the object to be processed.
 加工対象物についての情報は、ワークの重量に限られず、ワークの重量、形状、および寸法の少なくともいずれかを含めばよい。 Information about the workpiece is not limited to the weight of the workpiece, and may include at least one of the weight, shape, and dimensions of the workpiece.
 他の一例として、駆動条件は、先端リンクの動作開始点、動作終了点、動作開始点から動作終了点に至るまでに要する時間および姿勢を含むものでもよい。
 上述の実施の形態では、駆動条件は平面での直線的な移動を指示しているが、駆動条件は、三次元での移動、曲線的な移動等を指示してもよい。
As another example, the drive conditions may include the motion start point, motion end point, time required from the motion start point to the motion end point, and attitude of the leading link.
In the above-described embodiments, the driving conditions instruct linear movement on a plane, but the driving conditions may instruct three-dimensional movement, curvilinear movement, and the like.
 上述の実施の形態では、駆動条件記憶部11に記憶されている駆動条件テーブルの1つのレコードには、1つの基準中間点が記憶されているが、駆動条件テーブルの1つのレコードに複数の基準中間点が記憶されてもよい。この場合、基準軌跡決定部12は、同じレコードに記憶されている複数の基準中間点を通る基準軌跡を決定すればよい。 In the above-described embodiment, one record of the driving condition table stored in the driving condition storage unit 11 stores one reference midpoint. Intermediate points may be stored. In this case, the reference trajectory determining unit 12 may determine a reference trajectory passing through a plurality of reference intermediate points stored in the same record.
 駆動条件記憶部11および学習済みデータ記憶部15は、制御装置1-5の外部に設けられてもよい。一例として、駆動条件記憶部11および学習済みデータ記憶部15は、ネットワーク上の記憶装置の機能として実現されてもよい。 The driving condition storage unit 11 and the learned data storage unit 15 may be provided outside the control device 1-5. As an example, the driving condition storage unit 11 and the learned data storage unit 15 may be implemented as functions of storage devices on a network.
 基準軌跡、理想軌跡、および目標軌跡の決定方法は、上述の例に限られない。詳細には、実施の形態1において基準軌跡決定部12が決定する基準軌跡RT2は、動作開始点SP1から基準中間点RP2を通って動作終了点EP1に至る滑らかな曲線であって、XY平面においてY軸負方向に突出する曲線で示されるが、基準軌跡RT2はこのような曲線に限られず、複数の方向に突出する曲線で示されてもよい。一例として、基準軌跡RT2は、動作開始点SP1から動作終了点EP1に至るまでにY軸負方向に突出し、かつ、動作開始点SP1および動作終了点EP1の付近でXY平面においてY軸正方向に突出する曲線で示されてもよい。 The methods for determining the reference trajectory, ideal trajectory, and target trajectory are not limited to the above examples. Specifically, the reference trajectory RT2 determined by the reference trajectory determination unit 12 in the first embodiment is a smooth curve from the motion start point SP1 through the reference intermediate point RP2 to the motion end point EP1. Although indicated by a curve projecting in the Y-axis negative direction, the reference trajectory RT2 is not limited to such a curve, and may be indicated by curves projecting in a plurality of directions. As an example, the reference trajectory RT2 projects in the negative Y-axis direction from the motion start point SP1 to the motion end point EP1, and extends in the positive Y-axis direction on the XY plane near the motion start point SP1 and the motion end point EP1. It may be represented by a protruding curve.
 他の一例として、基準軌跡決定部12は、駆動条件が示す動作開始点と基準中間点を線形補間し、基準中間点と駆動条件が示す動作終了点を線形補間することで、基準軌跡を決定してもよい。基準軌跡が線形補間により決定された際にも、制御部17がモータM1,M2,M3,M4,M5,M6を滑らかに回転させる制御を行うことで、先端リンクは滑らかに移動し、実軌跡は滑らかな曲線となる。 As another example, the reference trajectory determination unit 12 linearly interpolates the motion start point and the reference intermediate point indicated by the driving condition, and linearly interpolates the reference intermediate point and the operation end point indicated by the driving condition, thereby determining the reference trajectory. You may Even when the reference trajectory is determined by linear interpolation, the control unit 17 controls the motors M1, M2, M3, M4, M5, and M6 to smoothly rotate, so that the tip links move smoothly and the actual trajectory is obtained. becomes a smooth curve.
 他の一例として、基準軌跡決定部12は、動作開始点、基準中間点、および動作終了点と制御周期ごとの先端リンクの基準位置とが対応付けられている図示しないテーブルを用いて、基準軌跡を決定してもよい。 As another example, the reference trajectory determining unit 12 determines the reference trajectory using a table (not shown) that associates the motion start point, the reference intermediate point, the motion end point, and the reference position of the leading end link for each control cycle. may be determined.
 理想軌跡および目標軌跡についても、上述の基準軌跡の決定方法と同様の方法によって、決定することが可能である。 The ideal trajectory and the target trajectory can also be determined by a method similar to the method for determining the reference trajectory described above.
 実施の形態1では、ロボット10を直線的に動かすため、理想軌跡が直線であるが、理想軌跡はロボット10の動かし方に応じて定められればよく、直線に限られない。具体的には、理想軌跡は、円弧、曲線、または直線、円弧、および曲線の組合せでもよい。 In Embodiment 1, since the robot 10 is moved linearly, the ideal trajectory is a straight line. Specifically, the ideal trajectory may be a circular arc, a curved line, or a combination of straight lines, circular arcs, and curved lines.
 実施の形態1において目標軌跡決定部16が決定する目標軌跡TT1は、動作開始点SP1から目標中間点TP1を通って動作終了点EP1に至る滑らかな曲線であって、XY平面においてY軸負方向に突出する曲線で示されるが、目標軌跡TT1はこのような曲線に限られない。一例として、目標軌跡TT1は、動作開始点SP1から動作終了点EP1に至るまでにY軸負方向に突出し、かつ、動作開始点SP1および動作終了点EP1の付近でXY平面においてY軸正方向に突出する曲線で示されてもよい。 The target trajectory TT1 determined by the target trajectory determination unit 16 in the first embodiment is a smooth curve from the motion start point SP1 through the target intermediate point TP1 to the motion end point EP1, and extends in the negative Y-axis direction on the XY plane. , the target trajectory TT1 is not limited to such a curve. As an example, the target trajectory TT1 projects in the negative Y-axis direction from the motion start point SP1 to the motion end point EP1, and extends in the positive Y-axis direction on the XY plane near the motion start point SP1 and the motion end point EP1. It may be represented by a protruding curve.
 他の一例として、目標軌跡決定部16は、駆動条件が示す動作開始点と目標中間点を線形補間し、目標中間点と駆動条件が示す動作終了点を線形補間することで、目標軌跡を決定してもよい。目標軌跡が線形補間により決定された際にも、制御部17がモータM1,M2,M3,M4,M5,M6を滑らかに回転させる制御を行うことで、先端リンクは滑らかに移動し、実軌跡は滑らかな曲線となる。 As another example, the target trajectory determination unit 16 linearly interpolates between the motion start point and the target intermediate point indicated by the drive condition, and linearly interpolates the target midpoint and the motion end point indicated by the drive condition, thereby determining the target trajectory. You may Even when the target trajectory is determined by linear interpolation, the control unit 17 controls the motors M1, M2, M3, M4, M5, and M6 to smoothly rotate, so that the tip links move smoothly and the actual trajectory is obtained. becomes a smooth curve.
 目標中間点の決定方法は、上述の例に限られない。一例として、学習部14,18は、線形回帰、曲線回帰、多項式回帰、多次元関数フィッティング等を用いて、目標中間点を決定してもよい。例えば、学習部14,18は、基準中間点のXYZ各座標成分を独立変数し、軌跡誤差を目的関数として多次元関数フィッティングを行って、軌跡誤差を最小化する目標中間点を決定してもよい。 The method of determining the target waypoint is not limited to the above example. As an example, the learners 14, 18 may determine the target waypoint using linear regression, curvilinear regression, polynomial regression, multidimensional function fitting, or the like. For example, the learning units 14 and 18 may determine the target intermediate point that minimizes the trajectory error by performing multidimensional function fitting with the XYZ coordinate components of the reference intermediate point as independent variables and the trajectory error as the objective function. good.
 軌跡モデルの生成方法は、上述の例に限られない。一例として、学習部14,18は、ニューラルネットワークモデルに従って、教師あり学習を行って、軌跡モデルを生成してもよい。教師あり学習とは、入力と結果のデータセットを大量に学習装置に与えることで、学習装置が大量のデータセットにある特徴を学習し、入力から結果を推定するモデルを生成することを意味する。例えば、学習部14,18は、駆動条件が示す動作開始点と動作終了点を入力データとし、目標中間点を結果データとしてニューラルネットワークモデルである軌跡モデルを生成する。生成された軌跡モデルを利用して、駆動条件に応じた軌跡誤差が最小となる目標中間点を得ることが可能となる。 The method of generating the trajectory model is not limited to the above example. As an example, the learning units 14 and 18 may perform supervised learning according to the neural network model to generate the trajectory model. Supervised learning means that by giving a large set of input and result datasets to a learner, the learner learns the features in the large dataset and produces a model that infers the result from the input. . For example, the learning units 14 and 18 generate a trajectory model, which is a neural network model, using the motion start point and motion end point indicated by the drive condition as input data and the target intermediate point as result data. Using the generated trajectory model, it is possible to obtain the target intermediate point that minimizes the trajectory error according to the drive conditions.
 機械学習においては、過学習により推定精度が低下することが知られているため、いずれの学習モデルを使用する場合でも、過学習を抑制することが好ましい。過学習を抑制する方法としては、例えば、学習するデータを正規化する方法、学習モデル内のパラメータ数を少なくする方法等がある。一例として、多次元関数フィッティングを行う際には、関数の次元数を制限、例えば、5次以下に制限することが好ましい。他の一例として、ニューラルネットワークモデルにおいて、中間層の数を制限、例えば、10層以下に制限することが好ましい。また、ニューラルネットワークモデルにおいては、学習モデルの特定のレイヤーの出力を学習時にランダムに0としてもよい。さらに、上述の方式を組み合わせることで、過学習を抑制してもよい。 In machine learning, it is known that over-learning reduces estimation accuracy, so it is preferable to suppress over-learning when using any learning model. Methods of suppressing over-learning include, for example, a method of normalizing learning data, a method of reducing the number of parameters in a learning model, and the like. As an example, when performing multidimensional function fitting, it is preferable to limit the number of dimensions of the function, for example, to 5 or less. As another example, in a neural network model, it is preferable to limit the number of hidden layers, for example, to 10 layers or less. Moreover, in the neural network model, the output of a specific layer of the learning model may be randomly set to 0 during learning. Furthermore, over-learning may be suppressed by combining the above methods.
 学習部14,18は、直後の運用処理で行われるロボット10,30の制御に応じて学習処理を行ってもよい。一例として、運用処理で動作開始点(0,0,0)から動作終了点(100,0,0)までロボット10,30を動かすことが予め定められている場合の学習部14の動作について説明する。この場合、学習部14は、動作開始点(0,0,0)および動作終了点(100,0,0)を含む駆動条件と駆動条件に対応付けられた複数の基準中間点に基づいて、軌跡誤差を学習して軌跡モデルを生成すればよい。運用処理で行われるロボット10,30の制御に応じた駆動条件と駆動条件に対応付けられた複数の基準中間点に基づいて学習処理を行うことで、学習効率が向上する。 The learning units 14 and 18 may perform learning processing in accordance with the control of the robots 10 and 30 that will be performed in the immediately following operational processing. As an example, the operation of the learning unit 14 when it is predetermined in the operational process to move the robots 10 and 30 from the motion start point (0,0,0) to the motion end point (100,0,0) will be described. do. In this case, the learning unit 14, based on the drive conditions including the motion start point (0,0,0) and the motion end point (100,0,0), and a plurality of reference midpoints associated with the drive conditions, A trajectory model can be generated by learning the trajectory error. The learning efficiency is improved by performing the learning process based on the drive conditions corresponding to the control of the robots 10 and 30 performed in the operation process and the plurality of reference intermediate points associated with the drive conditions.
 他の一例として、運用処理で動作開始点(0,0,0)から動作終了点(100,0,0)までフランジ160の先端面160aが水平に位置した状態で、ロボット30を動かして、重量が4kgの加工対象物を加工する場合を例にして学習部14の動作について説明する。この場合、学習部14は、動作開始点(0,0,0)および動作終了点(100,0,0)を含み、姿勢が0度を示し、かつ、重量が4kgを示す駆動条件と駆動条件に対応付けられた複数の基準中間点に基づいて、軌跡誤差を学習して軌跡モデルを生成すればよい。 As another example, in the operational process, the robot 30 is moved from the operation start point (0,0,0) to the operation end point (100,0,0) with the tip surface 160a of the flange 160 positioned horizontally. The operation of the learning unit 14 will be described by taking as an example the case of processing a workpiece with a weight of 4 kg. In this case, the learning unit 14 includes a motion start point (0, 0, 0) and a motion end point (100, 0, 0), a posture of 0 degrees, and a weight of 4 kg. A trajectory model may be generated by learning a trajectory error based on a plurality of reference intermediate points associated with conditions.
 この場合、学習部14,18は、運用処理での駆動条件に完全に一致する駆動条件だけでなく、運用処理での駆動条件に一部が一致する駆動条件に基づいて、軌跡誤差を算出して軌跡モデルを生成してもよい。上述のように運用処理で動作開始点(0,0,0)から動作終了点(100,0,0)までフランジ160の先端面160aが水平に位置した状態で、ロボット30を動かして、重量が4kgの加工対象物を加工する場合を例にして学習部14の動作について説明する。学習部14は、姿勢が0度を示し、かつ、重量が4kgを示す駆動条件と駆動条件に対応付けられた複数の基準中間点に基づいて、軌跡誤差を算出して軌跡モデルを生成してもよい。あるいは、学習部14は、動作開始点(0,0,0)および動作終了点(100,0,0)を含み、かつ、重量が4kgを示す駆動条件と駆動条件に対応付けられた複数の基準中間点に基づいて、軌跡誤差を算出して軌跡モデルを生成してもよい。 In this case, the learning units 14 and 18 calculate the trajectory error based on not only the driving condition that completely matches the driving condition in the operational process, but also the driving condition that partially matches the driving condition in the operational process. may be used to generate the trajectory model. As described above, the robot 30 is moved from the operation start point (0, 0, 0) to the operation end point (100, 0, 0) with the tip surface 160a of the flange 160 positioned horizontally. The operation of the learning unit 14 will be described by taking as an example the case of machining a workpiece with a weight of 4 kg. The learning unit 14 calculates a trajectory error and generates a trajectory model based on a plurality of reference midpoints associated with the driving condition indicating that the posture is 0 degrees and the weight is 4 kg, and the driving condition. good too. Alternatively, the learning unit 14 includes a plurality of driving conditions that include an operation start point (0, 0, 0) and an operation end point (100, 0, 0) and indicate a weight of 4 kg and a plurality of driving conditions that are associated with the driving condition. A trajectory model may be generated by calculating a trajectory error based on the reference waypoints.
 学習部14,18は、制御周期ごとの先端リンクの理想位置と実位置との距離を算出し、距離が極大値となるときの実位置の理想位置からのずれを軌跡誤差として用いてもよい。この場合、学習部14,18は、図26に示すように、距離が極大値となるときの実位置の理想位置からのずれを軌跡誤差として誤差テーブルに記憶してもよい。そして、学習部14,18は、軌跡誤差に基づいて、目標中間点を決定すればよい。 The learning units 14 and 18 may calculate the distance between the ideal position and the actual position of the leading link for each control cycle, and use the deviation of the actual position from the ideal position when the distance reaches the maximum value as the trajectory error. . In this case, as shown in FIG. 26, the learning units 14 and 18 may store the deviation of the actual position from the ideal position when the distance reaches the maximum value as the trajectory error in the error table. Then, the learning units 14 and 18 may determine the target waypoint based on the trajectory error.
 学習部14,18は、軌跡誤差に対応する先端リンクの実位置を誤差テーブルに記憶してもよい。例えば、学習部14,18は、制御周期ごとの先端リンクの理想位置と実位置との距離が極大値となるときの実位置の理想位置からのずれを軌跡誤差として用いる場合、図27に示すように、距離が極大値となるときの先端リンクの実位置を誤差テーブルに記憶してもよい。そして、学習部14,18は、軌跡誤差および軌跡誤差に対応する先端リンクの実位置に基づいて、目標中間点を決定すればよい。 The learning units 14 and 18 may store the actual position of the tip link corresponding to the trajectory error in the error table. For example, when the learning units 14 and 18 use, as the trajectory error, the deviation of the actual position from the ideal position when the distance between the ideal position and the actual position of the tip link in each control cycle becomes a maximum value, Thus, the actual position of the tip link when the distance reaches the maximum value may be stored in the error table. Then, the learning units 14 and 18 may determine the target intermediate point based on the trajectory error and the actual position of the leading link corresponding to the trajectory error.
 学習部18は、一例として、図28に示すように、距離が極大値となるときに力覚センサ190が出力するセンサ信号から算出された反力を誤差テーブルに記憶してもよい。そして、学習部18は、軌跡誤差および軌跡誤差に対応する反力に基づいて、目標中間点を決定すればよい。学習部18は、他の一例として、反力の最大値、反力の平均値を誤差テーブルに記憶してもよい。 As an example, the learning unit 18 may store the reaction force calculated from the sensor signal output by the force sensor 190 when the distance reaches the maximum value in the error table, as shown in FIG. Then, the learning unit 18 may determine the target intermediate point based on the trajectory error and the reaction force corresponding to the trajectory error. As another example, the learning unit 18 may store the maximum value of the reaction force and the average value of the reaction force in the error table.
 学習部14,18は、学習処理が完了した後に行う運用処理に並行して学習処理を再度行ってもよい。詳細には、学習部14,18は、運用処理の際に、実軌跡取得部13が取得した実軌跡の目標軌跡決定部16が取得した駆動指令が示す駆動条件に応じた理想軌跡からのずれを示す軌跡誤差を算出し、目標中間点を求める。運用処理時と並行して学習処理を行うことで、軌跡誤差を最小化する目標中間点の精度が向上し、結果としてロボット10,30の制御精度が向上する。 The learning units 14 and 18 may perform the learning process again in parallel with the operation process performed after the learning process is completed. More specifically, the learning units 14 and 18 determine the deviation of the actual trajectory acquired by the actual trajectory acquisition unit 13 from the ideal trajectory according to the driving condition indicated by the drive command acquired by the target trajectory determination unit 16 during operation processing. A trajectory error indicating is calculated, and a target intermediate point is obtained. By performing the learning process in parallel with the operation process, the precision of the target intermediate point that minimizes the trajectory error is improved, and as a result, the control precision of the robots 10 and 30 is improved.
 学習部14,18は、軌跡誤差として、先端リンクの実位置の理想位置からのずれの絶対値、平均値、中央値を用いて、目標中間点を決定してもよい。 The learning units 14 and 18 may determine the target intermediate point using the absolute value, average value, and median of the deviation of the actual position of the tip link from the ideal position as the trajectory error.
 学習部14,18は、目標中間点を決定する際に、目標中間点を通る目標軌跡に応じてロボット10,30が制御された際の軌跡誤差を推定し、目標中間点および軌跡誤差の推定値を示す軌跡モデルを生成してもよい。この場合、中間点推定部20は、軌跡モデルが示す軌跡誤差の推定値に応じた間隔で配置される複数の基準中間点を推定してもよい。例えば、中間点推定部20は、軌跡誤差の推定値が小さくなるにつれて、推定する複数の基準中間点の間隔を広くしてもよい。一例として、中間点推定部20は、学習部14で生成された軌跡モデルが示す他の駆動条件でロボット10を制御した際の軌跡誤差の最大値の2倍の長さだけ互いに間隔を空けて三次元に配置される複数の基準中間点を推定してもよい。 When determining the target waypoint, the learning units 14 and 18 estimate the trajectory error when the robots 10 and 30 are controlled according to the target trajectory passing through the target waypoint, and estimate the target waypoint and the trajectory error. A trajectory model may be generated that indicates the value. In this case, the waypoint estimating unit 20 may estimate a plurality of reference waypoints arranged at intervals according to the estimated value of the trajectory error indicated by the trajectory model. For example, the intermediate point estimating section 20 may widen the intervals between the plurality of reference intermediate points to be estimated as the estimated value of the trajectory error becomes smaller. As an example, the intermediate point estimating unit 20 is spaced from each other by a length that is twice the maximum value of the trajectory error when the robot 10 is controlled under other driving conditions indicated by the trajectory model generated by the learning unit 14. A plurality of reference waypoints arranged in three dimensions may be estimated.
 駆動条件推定部21は、予め定められた駆動条件の範囲の中で、駆動条件を推定してもよい。例えば、駆動条件推定部21は、動作開始点から動作終了点までの距離、速度の最大値がロボット10,30の性能に応じて予め定められており、駆動条件推定部21は、動作開始点から動作終了点までの距離が定められた最大値未満であり、かつ、速度が定められた最大値未満である範囲で、駆動条件を推定すればよい。 The driving condition estimation unit 21 may estimate the driving condition within a predetermined driving condition range. For example, in the driving condition estimating unit 21, the maximum value of the distance from the movement start point to the movement end point and the maximum speed are determined in advance according to the performance of the robots 10 and 30. to the motion end point is less than the specified maximum value and the speed is less than the specified maximum value.
 制御装置1-5が行う学習処理を、他の装置の機能としてもよい。一例として、実施の形態1に係る制御装置1の機能を、ロボット10の制御を行う制御装置6と軌跡モデルを生成する学習装置7によって実現する例を図29に示す。図29に示すロボットシステム105は、ロボット10と、ロボット10を制御する制御装置6と、ロボット10を制御するための軌跡モデルを学習する学習装置7と、を備える。 The learning process performed by the control device 1-5 may be a function of another device. As an example, FIG. 29 shows an example in which the functions of the control device 1 according to Embodiment 1 are implemented by a control device 6 that controls the robot 10 and a learning device 7 that generates a trajectory model. A robot system 105 shown in FIG. 29 includes a robot 10 , a control device 6 that controls the robot 10 , and a learning device 7 that learns a trajectory model for controlling the robot 10 .
 学習装置7は、駆動条件記憶部11と、基準軌跡決定部12と、実軌跡取得部13と、学習部14と、学習済みデータ記憶部15と、を備える。学習装置7の各部の機能は制御装置1の対応する各部の機能と同様である。制御装置6は、目標軌跡決定部16と、制御部17と、を備える。制御装置6の各部の機能は制御装置1の対応する各部の機能と同様である。制御装置6が備える目標軌跡決定部16は、学習装置7が備える学習済みデータ記憶部15から軌跡モデルを取得すればよい。制御装置6が備える制御部17は、学習装置7が備える基準軌跡決定部12から取得した基準軌跡または目標軌跡決定部16で決定した目標軌跡に応じてロボット10を制御する。学習済みデータ記憶部15は、制御装置6および学習装置7からアクセス可能な独立した記憶装置としてもよい。同様に、制御装置2-5の機能を、制御装置6と学習装置7によって実現することができる。 The learning device 7 includes a driving condition storage unit 11, a reference trajectory determination unit 12, an actual trajectory acquisition unit 13, a learning unit 14, and a learned data storage unit 15. The function of each part of the learning device 7 is the same as the function of each corresponding part of the control device 1 . The control device 6 includes a target trajectory determination section 16 and a control section 17 . The function of each part of the control device 6 is the same as the function of each corresponding part of the control device 1 . The target trajectory determination unit 16 included in the control device 6 may acquire the trajectory model from the learned data storage unit 15 included in the learning device 7 . A control unit 17 provided in the control device 6 controls the robot 10 according to the reference trajectory acquired from the reference trajectory determination unit 12 provided in the learning device 7 or the target trajectory determined by the target trajectory determination unit 16 . The learned data storage unit 15 may be an independent storage device accessible from the control device 6 and the learning device 7 . Similarly, the functions of the control device 2-5 can be realized by the control device 6 and the learning device 7. FIG.
 他の一例として、図29に示すロボットシステム105において、学習装置7が備える学習部14の機能の内、軌跡モデルを生成する処理を制御装置6にもたせてもよい。この場合、学習装置7は、軌跡誤差を複数の基準中間点のそれぞれについて算出することを駆動条件ごとに行って、軌跡誤差を学習済みデータ記憶部15に記憶すればよい。制御装置6は、学習装置7が予め学習したデータ、具体的には、学習済みデータ記憶部15に記憶されている軌跡誤差を取得し、保持すればよい。そして、制御装置6は、軌跡誤差を最小化する目標中間点を駆動条件ごとに示す軌跡モデルを生成すればよい。 As another example, in the robot system 105 shown in FIG. 29, among the functions of the learning unit 14 provided in the learning device 7, the control device 6 may be provided with processing for generating a trajectory model. In this case, the learning device 7 may calculate the trajectory error for each of the plurality of reference intermediate points for each driving condition, and store the trajectory error in the learned data storage unit 15 . The control device 6 may acquire and hold the data previously learned by the learning device 7, specifically, the trajectory error stored in the learned data storage unit 15. FIG. Then, the control device 6 may generate a trajectory model indicating a target intermediate point that minimizes the trajectory error for each driving condition.
 制御装置1-6の制御対象であるロボット10,30の軌跡は、先端リンクの軌跡に限られず、ロボット10,30またはロボット30に取り付けられる加工工具200の内、任意の部位の軌跡である。 The trajectories of the robots 10 and 30 that are controlled by the control device 1-6 are not limited to the trajectories of the tip links, but are the trajectories of any part of the robots 10 and 30 or the processing tool 200 attached to the robot 30.
 実軌跡取得部22による先端リンクの軌跡の取得方法は、上述の例に限られない。外部要因、例えば、重力、遠心力、加工反力等の影響を受けて、第1アーム110、第2アーム120、第3アーム130、第4アーム140、第5アーム150、およびフランジ160の少なくともいずれかに機械的なたわみが生じて、実軌跡が理想軌跡からずれることがある。外部要因による機械的なたわみが生じても精度よく実軌跡を取得するために、例えば、実軌跡取得部22は、測定器として複数のカメラを有してもよい。実軌跡取得部22は、複数のカメラによって、ロボット10の先端リンクの移動範囲を撮影し、複数のカメラで撮影された画像からロボット10の先端リンクの位置を決定してもよい。 The method of acquiring the trajectory of the leading link by the actual trajectory acquisition unit 22 is not limited to the above example. At least the first arm 110, the second arm 120, the third arm 130, the fourth arm 140, the fifth arm 150, and the flange 160 may Any mechanical deflection may occur and the actual trajectory may deviate from the ideal trajectory. For example, the actual trajectory acquisition unit 22 may have a plurality of cameras as measuring instruments in order to accurately acquire the actual trajectory even if mechanical deflection occurs due to an external factor. The actual trajectory acquisition unit 22 may photograph the movement range of the tip link of the robot 10 with a plurality of cameras, and determine the position of the tip link of the robot 10 from the images photographed by the plurality of cameras.
 他の一例として、実軌跡取得部22は、測定器としてロボット10の先端リンクに取り付けられた加速度センサを有する。実軌跡取得部22は、加速度センサの測定値に基づいてロボット10の先端リンクの位置を決定してもよい。 As another example, the actual trajectory acquisition unit 22 has an acceleration sensor attached to the tip link of the robot 10 as a measuring device. The actual trajectory acquisition unit 22 may determine the position of the tip link of the robot 10 based on the measurement value of the acceleration sensor.
 実軌跡取得部22は、制御周期とは独立した取得周期ごとに、ロボット10の先端リンクの位置を測定してもよい。この場合、学習部14は、取得周期ごとロボット10の先端リンクの位置を補間して、制御周期ごとのロボット10の先端リンクの位置を決定し、理想位置と比較すればよい。詳細には、学習部14は、線形補間、多項式補間等を用いて補間処理を行う。 The actual trajectory acquisition unit 22 may measure the position of the tip link of the robot 10 in each acquisition cycle independent of the control cycle. In this case, the learning unit 14 interpolates the position of the leading link of the robot 10 for each acquisition cycle, determines the position of the leading link of the robot 10 for each control cycle, and compares it with the ideal position. Specifically, the learning unit 14 performs interpolation processing using linear interpolation, polynomial interpolation, or the like.
 制御部17は、上述の実軌跡取得部22で取得されたロボット10の先端リンクの位置に応じて、モータM1,M2,M3,M4,M5,M6をフィードバック制御してもよい。 The control unit 17 may feedback-control the motors M1, M2, M3, M4, M5, and M6 according to the position of the tip link of the robot 10 acquired by the actual trajectory acquisition unit 22 described above.
 その他、上述のハードウェア構成およびフローチャートは一例であり、任意に変更および修正が可能である。一例として、制御装置1-6および学習装置7は、図示しない操作部の操作に応じて、学習処理を開始してもよい。他の一例として、制御装置1が備える学習部14は、各駆動条件に対応付けられた全ての基準中間点について軌跡誤差の学習が完了すると、軌跡モデルを生成してもよい。換言すれば、学習部14は、対応付けられた全ての基準中間点について軌跡誤差を算出して、軌跡モデルを生成することを、駆動条件ごとに繰り返して行ってもよい。 In addition, the above hardware configuration and flowchart are examples, and can be changed and modified arbitrarily. As an example, the control device 1-6 and the learning device 7 may start learning processing according to the operation of an operation unit (not shown). As another example, the learning unit 14 included in the control device 1 may generate a trajectory model when trajectory error learning is completed for all reference intermediate points associated with each driving condition. In other words, the learning unit 14 may calculate the trajectory error for all the associated reference intermediate points and generate the trajectory model repeatedly for each driving condition.
 上述の実施の形態では、実際にロボット10,30を動作させて軌跡誤差を算出するが、学習処理をシミュレーションによって行ってもよい。 In the above embodiment, the robots 10 and 30 are actually operated to calculate the trajectory error, but the learning process may be performed by simulation.
 上述の動作を実行するためのコンピュータプログラムを、フレキシブルディスク、CD-ROM(Compact Disc - Read Only Memory)、DVD-ROM(Digital Versatile Disc - Read Only Memory)などのコンピュータが読み取り可能な記録媒体に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、上述の動作を実行する制御装置1-6および学習装置7を実現してもよい。あるいは、専用のシステムによって、上述の動作を実行する制御装置1-6および学習装置7を実現してもよい。上記コンピュータプログラムは、搬送波に重畳されて通信ネットワークを介して提供されてもよい。 A computer program for executing the above operations is stored in a computer-readable recording medium such as a flexible disk, CD-ROM (Compact Disc - Read Only Memory), DVD-ROM (Digital Versatile Disc - Read Only Memory). The control device 1-6 and the learning device 7 that execute the above-described operations may be implemented by distributing the software and installing the computer program in a computer. Alternatively, the controller 1-6 and the learning device 7 that perform the above operations may be realized by a dedicated system. The computer program may be superimposed on a carrier wave and provided via a communication network.
 ロボット10,30は、上述の例に限られず、任意である。一例として、制御装置1-6は、図30に示す水平多関節ロボットであるロボット40を制御してもよい。ロボット40は、第1アーム410と、第2アーム420と、第3アーム430と、ベース440と、を備える。第1アーム410は、Z軸に平行な回転軸AX1周りに回転可能な状態でベース440に取り付けられる。第2アーム420は、第1アーム410に連結され、Z軸に平行な回転軸AX2周りに回転可能である。第3アーム430は、第2アーム420に連結され、Z軸に平行な回転軸AX3周りに回転可能である。さらに第3アーム430は、回転軸AX3に沿う方向に伸縮可能である。ベース440は、平面に固定されて、第1アーム410を支持する。第3アーム430に加工工具200を取り付けることが可能である。制御装置1-6は、ロボット40が備える図示しないモータを制御することで、第3アーム430の先端である先端リンクの位置を制御すればよい。 The robots 10 and 30 are not limited to the above examples and are optional. As an example, controller 1-6 may control robot 40, which is a horizontal articulated robot shown in FIG. The robot 40 includes a first arm 410 , a second arm 420 , a third arm 430 and a base 440 . The first arm 410 is attached to the base 440 so as to be rotatable around a rotation axis AX1 parallel to the Z axis. The second arm 420 is connected to the first arm 410 and is rotatable around a rotation axis AX2 parallel to the Z axis. The third arm 430 is connected to the second arm 420 and is rotatable around a rotation axis AX3 parallel to the Z axis. Furthermore, the third arm 430 can extend and contract in the direction along the rotation axis AX3. Base 440 is fixed to a plane and supports first arm 410 . A processing tool 200 can be attached to the third arm 430 . The control device 1 - 6 may control the position of the tip link, which is the tip of the third arm 430 , by controlling the motor (not shown) of the robot 40 .
 他の一例として、制御装置1-6は、図31に示す複数の軸を有するロボットであるロボット50を制御してもよい。ロボット50は、第1アーム510と、第2アーム520と、ベース530と、を備える。第1アーム510は、X軸方向に移動可能な状態でベース530に取り付けられる。第2アーム520は、第1アーム510に連結され、Y軸方向に移動可能である。ベース530は、平面に固定されて、第1アーム510を支持する。第2アーム520には、加工工具200が取り付けられている。図31の例では、第2アーム520は印刷ヘッドであって、液体吐出部および吐出ノズルを有する加工工具200によって、ベース530上に設置されたステージ540上の基板に電極を形成する。詳細には、加工工具200の先端は、ステージ540上をX軸方向およびY軸方向に移動可能である。制御装置1-6は、ロボット50が備える図示しないモータを制御することで、第2アーム520の先端である先端リンクの位置を制御すればよい。 As another example, the control device 1-6 may control a robot 50 having multiple axes shown in FIG. The robot 50 has a first arm 510 , a second arm 520 and a base 530 . The first arm 510 is attached to the base 530 so as to be movable in the X-axis direction. The second arm 520 is connected to the first arm 510 and is movable in the Y-axis direction. Base 530 is fixed to a plane and supports first arm 510 . A processing tool 200 is attached to the second arm 520 . In the example of FIG. 31, the second arm 520 is a print head that forms electrodes on a substrate on a stage 540 placed on a base 530 by means of a processing tool 200 having a liquid ejection part and ejection nozzles. Specifically, the tip of the processing tool 200 is movable on the stage 540 in the X-axis direction and the Y-axis direction. The control device 1 - 6 may control the position of the tip link, which is the tip of the second arm 520 , by controlling the motor (not shown) of the robot 50 .
 上述の例では、ロボット10,30,40,50の先端リンクの位置は、XYZ直交座標系で定義されたが、円筒座標系で定義されてもよい。 In the above example, the positions of the tip links of the robots 10, 30, 40, 50 were defined in the XYZ orthogonal coordinate system, but may be defined in the cylindrical coordinate system.
 本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本開示の範囲を限定するものではない。すなわち、本開示の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、この開示の範囲内とみなされる。 Various embodiments and modifications of the present disclosure are possible without departing from the broad spirit and scope of the present disclosure. In addition, the embodiments described above are for explaining this disclosure, and do not limit the scope of this disclosure. That is, the scope of the present disclosure is indicated by the claims rather than the embodiments. Various modifications made within the scope of the claims and within the scope of equivalent disclosure are considered to be within the scope of this disclosure.
 本出願は、2021年2月18日に出願された、日本国特許出願特願2021-23847号に基づく。本明細書中に日本国特許出願特願2021-23847号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。 This application is based on Japanese Patent Application No. 2021-23847 filed on February 18, 2021. The entire specification, claims, and drawings of Japanese Patent Application No. 2021-23847 are incorporated herein by reference.
 1,2,3,4,5,6 制御装置、7 学習装置、10,30,40,50 ロボット、11 駆動条件記憶部、12 基準軌跡決定部、13,22 実軌跡取得部、14,18 学習部、15 学習済みデータ記憶部、16 目標軌跡決定部、17 制御部、19 反力取得部、20 中間点推定部、21 駆動条件推定部、31 プロセッサ、32 メモリ、33 インターフェース、34 バス、100,101,102,103,104,105 ロボットシステム、110,410,510 第1アーム、120,420,520 第2アーム、130,430 第3アーム、140 第4アーム、150 第5アーム、160 フランジ、160a 先端面、170,440,530 ベース、180 固定部、190 力覚センサ、200 加工工具、540 ステージ、AT1,AT1’,AT2 実軌跡、AX1,AX2,AX3,AX4,AX5,AX6 回転軸、E1,E2,E3,E4,E5,E6 エンコーダ、EP1 動作終了点、ER1,ER2 軌跡誤差、M1,M2,M3,M4,M5,M6 モータ、RP,RP1,RP2 基準中間点、RT1,RT2 基準軌跡、S1 空間、SP1 動作開始点、TP1 目標中間点、TT1 目標軌跡。 1, 2, 3, 4, 5, 6 control device, 7 learning device, 10, 30, 40, 50 robot, 11 drive condition storage unit, 12 reference trajectory determination unit, 13, 22 actual trajectory acquisition unit, 14, 18 learning unit, 15 learned data storage unit, 16 target trajectory determination unit, 17 control unit, 19 reaction force acquisition unit, 20 intermediate point estimation unit, 21 drive condition estimation unit, 31 processor, 32 memory, 33 interface, 34 bus, 100, 101, 102, 103, 104, 105 Robot system, 110, 410, 510 1st arm, 120, 420, 520 2nd arm, 130, 430 3rd arm, 140 4th arm, 150 5th arm, 160 Flange, 160a Tip surface, 170, 440, 530 Base, 180 Fixed part, 190 Force sensor, 200 Processing tool, 540 Stage, AT1, AT1', AT2 Actual trajectory, AX1, AX2, AX3, AX4, AX5, AX6 Rotation Axis, E1, E2, E3, E4, E5, E6 Encoder, EP1 Operation end point, ER1, ER2 Trajectory error, M1, M2, M3, M4, M5, M6 Motor, RP, RP1, RP2 Reference intermediate point, RT1, RT2  Reference trajectory, S1  Space, SP1  Operation start point, TP1  Target intermediate point, TT1  Target trajectory.

Claims (20)

  1.  ロボットを制御する制御装置であって、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件と複数の基準中間点とを対応付けて記憶している駆動条件記憶部と、
     前記駆動条件記憶部から前記複数の基準中間点のいずれかを取得し、取得した前記基準中間点ごとに、前記駆動条件に基づき、該基準中間点を通る基準軌跡を決定する基準軌跡決定部と、
     前記ロボットの実際の軌跡を取得する実軌跡取得部と、
     前記基準軌跡に応じて前記ロボットが制御された場合に前記実軌跡取得部で取得された実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を取得された前記基準中間点のそれぞれについて求め、前記基準中間点と前記軌跡誤差との対応を学習して、前記軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部と、
     前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部と、
     前記基準軌跡または前記目標軌跡に応じて前記ロボットを制御する制御部と、
     を備える制御装置。
    A control device for controlling a robot,
    a driving condition storage unit that associates and stores a plurality of reference intermediate points with driving conditions specifying at least an operation start point and an operation end point of the robot;
    a reference trajectory determination unit that acquires one of the plurality of reference intermediate points from the driving condition storage unit, and determines a reference trajectory passing through the reference intermediate point based on the driving condition for each of the acquired reference intermediate points; ,
    an actual trajectory acquisition unit that acquires the actual trajectory of the robot;
    Each of the reference intermediate points for which a trajectory error indicating a deviation of the actual trajectory obtained by the actual trajectory obtaining unit from the ideal trajectory based on the driving condition when the robot is controlled according to the reference trajectory is obtained. and learning the correspondence between the reference midpoint and the trajectory error to generate a trajectory model indicating a target midpoint that minimizes the trajectory error according to the driving condition;
    a target trajectory determination unit that determines a target trajectory passing through the target waypoint obtained from the trajectory model;
    a control unit that controls the robot according to the reference trajectory or the target trajectory;
    A control device comprising:
  2.  前記軌跡モデルが示す前記駆動条件に応じた前記目標中間点から、他の前記駆動条件に対応する前記複数の基準中間点を推定して、前記他の駆動条件と推定された前記複数の基準中間点を対応付けて前記駆動条件記憶部に記憶させる中間点推定部をさらに備える、
     請求項1に記載の制御装置。
    estimating the plurality of reference intermediate points corresponding to the other driving conditions from the target intermediate points corresponding to the driving conditions indicated by the trajectory model, and determining the plurality of reference intermediate points estimated as the other driving conditions; further comprising an intermediate point estimating unit that associates points and stores them in the driving condition storage unit;
    A control device according to claim 1 .
  3.  前記学習部は、前記目標軌跡に応じて前記ロボットが制御される場合の前記軌跡誤差を推定して、前記駆動条件に応じた前記目標中間点および推定された前記軌跡誤差を示す前記軌跡モデルを生成し、
     前記中間点推定部は、前記軌跡モデルが示す推定された前記軌跡誤差の大きさに応じた間隔で配置される前記複数の基準中間点を推定する、
     請求項2に記載の制御装置。
    The learning unit estimates the trajectory error when the robot is controlled according to the target trajectory, and generates the trajectory model indicating the target waypoint and the estimated trajectory error according to the driving condition. generate and
    The waypoint estimating unit estimates the plurality of reference waypoints arranged at intervals according to the size of the estimated trajectory error indicated by the trajectory model.
    3. A control device according to claim 2.
  4.  前記駆動条件に対して予め定められた前記基準中間点を通る前記基準軌跡に応じて前記ロボットが制御された場合の前記実軌跡の前記理想軌跡からのずれである前記軌跡誤差から、前記駆動条件に対応する他の前記基準中間点を推定し、前記駆動条件に推定した前記基準中間点を対応付けて前記駆動条件記憶部に記憶させる駆動条件推定部をさらに備える、
     請求項1から3のいずれか1項に記載の制御装置。
    Based on the trajectory error, which is the deviation of the actual trajectory from the ideal trajectory when the robot is controlled according to the reference trajectory passing through the reference intermediate point predetermined for the driving condition, the driving condition further comprising a driving condition estimating unit that estimates another reference midpoint corresponding to the driving condition, associates the estimated reference midpoint with the driving condition, and stores the estimated reference midpoint in the driving condition storage unit;
    A control device according to any one of claims 1 to 3.
  5.  前記駆動条件推定部は、前記駆動条件、前記駆動条件に対応する前記基準中間点、および前記軌跡誤差から、他の前記駆動条件および前記他の駆動条件に対応する複数の前記基準中間点を推定し、推定した前記他の駆動条件と推定した前記複数の基準中間点を対応付けて前記駆動条件記憶部に記憶させる、
     請求項4に記載の制御装置。
    The driving condition estimator estimates the other driving condition and a plurality of reference middle points corresponding to the other driving condition from the driving condition, the reference middle point corresponding to the driving condition, and the trajectory error. and storing the estimated other driving condition and the plurality of estimated reference intermediate points in association with each other in the driving condition storage unit;
    5. A control device according to claim 4.
  6.  前記駆動条件推定部は、前記軌跡誤差に基づいて、回帰アルゴリズムにより、前記駆動条件に対応する前記他の基準中間点を推定する、
     請求項4または5に記載の制御装置。
    The driving condition estimator estimates the other reference midpoint corresponding to the driving condition by a regression algorithm based on the trajectory error.
    6. A control device according to claim 4 or 5.
  7.  前記駆動条件推定部は、前記駆動条件、前記駆動条件に対応する前記基準中間点、および前記軌跡誤差に基づいて、回帰アルゴリズムにより、前記他の駆動条件および前記他の駆動条件に対応する前記複数の基準中間点を推定する、
     請求項5に記載の制御装置。
    The driving condition estimator calculates the other driving condition and the plurality of driving conditions corresponding to the other driving condition by a regression algorithm based on the driving condition, the reference midpoint corresponding to the driving condition, and the trajectory error. Estimate the reference midpoint of
    A control device according to claim 5 .
  8.  前記実軌跡取得部は、前記ロボットの軌跡を測定する測定器を有し、前記測定器の測定値に応じて前記ロボットの前記軌跡を取得する、
     請求項1から7のいずれか1項に記載の制御装置。
    The actual trajectory acquisition unit has a measuring device that measures the trajectory of the robot, and acquires the trajectory of the robot according to the measurement value of the measuring device.
    A control device according to any one of claims 1 to 7.
  9.  ロボットを制御する制御装置であって、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に対応付けられている複数の基準中間点のそれぞれに応じて決定され、前記基準中間点を通る基準軌跡に応じて制御された前記ロボットの実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差と前記基準中間点との対応を学習して、前記軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部と、
     前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部と、
     前記目標軌跡に応じて前記ロボットを制御する制御部と、
     を備える制御装置。
    A control device for controlling a robot,
    The robot is determined according to each of a plurality of reference intermediate points associated with drive conditions that specify at least an operation start point and an operation end point of the robot, and is controlled according to a reference trajectory passing through the reference intermediate points. A correspondence between a trajectory error indicating deviation of the actual trajectory of the robot from an ideal trajectory based on the driving condition and the reference intermediate point is learned, and a target intermediate point that minimizes the trajectory error is indicated according to the driving condition. a learning unit that generates a trajectory model;
    a target trajectory determination unit that determines a target trajectory passing through the target waypoint obtained from the trajectory model;
    a control unit that controls the robot according to the target trajectory;
    A control device comprising:
  10.  前記学習部は、前記基準中間点の変化に応じた前記軌跡誤差の変化を学習し、前記軌跡誤差を最小化する前記目標中間点を前記駆動条件に応じて示す前記軌跡モデルを生成する、
     請求項1から9のいずれか1項に記載の制御装置。
    The learning unit learns changes in the trajectory error according to changes in the reference waypoint, and generates the trajectory model indicating the target waypoint that minimizes the trajectory error according to the driving condition.
    A control device according to any one of claims 1 to 9.
  11.  前記ロボットに取り付けられる加工工具によって加工対象物を加工する際に前記加工対象物から前記ロボットが受ける力である反力を取得する反力取得部をさらに備え、
     前記学習部は、前記基準中間点、前記軌跡誤差、および前記軌跡誤差が生じる場合の前記反力の対応を学習して、前記軌跡モデルを生成する、
     請求項1から10のいずれか1項に記載の制御装置。
    further comprising a reaction force acquisition unit that acquires a reaction force that the robot receives from the object when the object is processed by a machining tool attached to the robot,
    The learning unit learns the reference intermediate point, the trajectory error, and the correspondence of the reaction force when the trajectory error occurs, and generates the trajectory model.
    A control device according to any one of claims 1 to 10.
  12.  前記軌跡誤差は、前記理想軌跡が示す前記ロボットの位置である理想位置と前記実軌跡が示す前記ロボットの位置である実位置との距離が極大値となるときの前記実位置の前記理想位置からのずれを示す、
     請求項1から11のいずれか1項に記載の制御装置。
    The trajectory error is calculated from the ideal position of the actual position when the distance between the ideal position, which is the position of the robot indicated by the ideal trajectory, and the actual position, which is the position of the robot indicated by the actual trajectory, reaches a maximum value. showing the deviation of
    A control device according to any one of claims 1 to 11.
  13.  前記極大値は、前記理想位置と前記実位置との距離の最大値である、
     請求項12に記載の制御装置。
    The maximum value is the maximum value of the distance between the ideal position and the actual position,
    13. A control device according to claim 12.
  14.  前記駆動条件は、前記ロボットに取り付けられる加工工具によって加工される加工対象物についての情報をさらに含む、
     請求項1から13のいずれか1項に記載の制御装置。
    The driving conditions further include information about a workpiece to be machined by a machining tool attached to the robot.
    14. A control device according to any one of claims 1 to 13.
  15.  前記加工対象物についての情報は、前記加工対象物の重量および寸法の少なくともいずれかを含む、
     請求項14に記載の制御装置。
    The information about the workpiece includes at least one of the weight and dimensions of the workpiece,
    15. Control device according to claim 14.
  16.  ロボットを制御する制御装置であって、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に応じて、前記ロボットの実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を最小化する目標中間点を示す軌跡モデルを取得し、前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部と、
     前記目標軌跡に応じて前記ロボットを制御する制御部と、
     を備える制御装置。
    A control device for controlling a robot,
    A trajectory indicating a target intermediate point for minimizing a trajectory error indicating a deviation of the actual trajectory of the robot from an ideal trajectory based on the driving condition, according to the driving condition designating at least an operation start point and an operation end point of the robot. a target trajectory determination unit that acquires a model and determines a target trajectory passing through the target waypoint obtained from the trajectory model;
    a control unit that controls the robot according to the target trajectory;
    A control device comprising:
  17.  ロボットと、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に応じて前記ロボットを制御する請求項1から16のいずれか1項に記載の制御装置と、
     を備えるロボットシステム。
    robot and
    17. The control device according to any one of claims 1 to 16, which controls the robot in accordance with a driving condition specifying at least an operation start point and an operation end point of the robot;
    A robot system with
  18.  ロボットを制御するための軌跡モデルを学習する学習装置であって、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件と複数の基準中間点とを対応付けて記憶している駆動条件記憶部と、
     前記駆動条件記憶部から前記複数の基準中間点のいずれかを取得し、取得した前記基準中間点ごとに、前記駆動条件に基づき、該基準中間点を通る基準軌跡を決定する基準軌跡決定部と、
     前記ロボットの実際の軌跡を取得する実軌跡取得部と、
     前記駆動条件ごとに、前記基準軌跡に応じて前記ロボットが制御された場合に前記実軌跡取得部で取得された前記実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を取得された前記基準中間点のそれぞれについて求め、前記基準中間点と前記軌跡誤差との対応を学習して、前記軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部と、
     を備える学習装置。
    A learning device for learning a trajectory model for controlling a robot,
    a driving condition storage unit that associates and stores a plurality of reference intermediate points with driving conditions specifying at least an operation start point and an operation end point of the robot;
    a reference trajectory determination unit that acquires one of the plurality of reference intermediate points from the driving condition storage unit, and determines a reference trajectory passing through the reference intermediate point based on the driving condition for each of the acquired reference intermediate points; ,
    an actual trajectory acquisition unit that acquires the actual trajectory of the robot;
    For each driving condition, a trajectory error indicating a deviation of the actual trajectory obtained by the actual trajectory obtaining unit from an ideal trajectory based on the driving condition when the robot is controlled according to the reference trajectory is obtained. learning the correspondence between the reference intermediate points and the trajectory error, and generating a trajectory model indicating a target intermediate point that minimizes the trajectory error in accordance with the driving conditions. Department and
    A learning device with
  19.  ロボットを制御する制御方法であって、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に基づき、前記駆動条件に対応付けられている複数の基準中間点のいずれかを通る基準軌跡を決定し、
     前記基準軌跡に応じて前記ロボットが制御された場合の前記ロボットの実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を前記基準中間点のそれぞれについて求め、前記基準中間点と前記軌跡誤差との対応を学習して、前記軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成し、
     前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定し、
     前記基準軌跡または前記目標軌跡に応じて前記ロボットを制御する、
     制御方法。
    A control method for controlling a robot,
    determining a reference trajectory passing through any one of a plurality of reference intermediate points associated with the driving condition based on the driving condition specifying at least an operation start point and an operation end point of the robot;
    A trajectory error indicating a deviation of the actual trajectory of the robot from the ideal trajectory based on the driving conditions when the robot is controlled according to the reference trajectory is obtained for each of the reference midpoints, and learning a correspondence with the trajectory error to generate a trajectory model indicating a target intermediate point that minimizes the trajectory error according to the driving condition;
    determining a target trajectory through the target waypoint obtained from the trajectory model;
    controlling the robot according to the reference trajectory or the target trajectory;
    control method.
  20.  ロボットを制御するコンピュータを、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件と複数の基準中間点とを対応付けて記憶している駆動条件記憶部、
     前記駆動条件記憶部から前記複数の基準中間点のいずれかを取得し、取得した前記基準中間点ごとに、前記駆動条件に基づき、該基準中間点を通る基準軌跡を決定する基準軌跡決定部、
     前記ロボットの実際の軌跡を取得する実軌跡取得部、
     前記基準軌跡に応じて前記ロボットが制御された場合に前記実軌跡取得部で取得された実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を取得された前記基準中間点のそれぞれについて求め、前記基準中間点と前記軌跡誤差との対応を学習して、前記軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部、
     前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部、および、
     前記基準軌跡または前記目標軌跡に応じて前記ロボットを制御する制御部、
     として機能させるためのプログラム。
    The computer that controls the robot,
    a driving condition storage unit that associates and stores a plurality of reference intermediate points with a driving condition that designates at least an operation start point and an operation end point of the robot;
    a reference trajectory determination unit that acquires one of the plurality of reference intermediate points from the driving condition storage unit and determines a reference trajectory passing through the reference intermediate point based on the driving condition for each of the acquired reference intermediate points;
    an actual trajectory acquisition unit that acquires the actual trajectory of the robot;
    Each of the reference intermediate points for which a trajectory error indicating a deviation of the actual trajectory obtained by the actual trajectory obtaining unit from the ideal trajectory based on the driving condition when the robot is controlled according to the reference trajectory is obtained. and learns the correspondence between the reference midpoint and the trajectory error to generate a trajectory model indicating a target midpoint that minimizes the trajectory error according to the driving condition;
    a target trajectory determination unit that determines a target trajectory passing through the target waypoint obtained from the trajectory model; and
    a control unit that controls the robot according to the reference trajectory or the target trajectory;
    A program to function as
PCT/JP2022/005292 2021-02-18 2022-02-10 Control device, robot system, learning device, control method, and program WO2022176761A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202280014133.7A CN116917086A (en) 2021-02-18 2022-02-10 Control device, robot system, learning device, control method, and program
JP2023500790A JP7462827B2 (en) 2021-02-18 2022-02-10 CONTROL DEVICE, ROBOT SYSTEM, LEARNING DEVICE, TRAJECTORY MODEL, CONTROL METHOD, AND PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-023847 2021-02-18
JP2021023847 2021-02-18

Publications (1)

Publication Number Publication Date
WO2022176761A1 true WO2022176761A1 (en) 2022-08-25

Family

ID=82931641

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/005292 WO2022176761A1 (en) 2021-02-18 2022-02-10 Control device, robot system, learning device, control method, and program

Country Status (3)

Country Link
JP (1) JP7462827B2 (en)
CN (1) CN116917086A (en)
WO (1) WO2022176761A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1148176A (en) * 1997-08-08 1999-02-23 Yaskawa Electric Corp Robot position teach device
JP2012135835A (en) * 2010-12-27 2012-07-19 Denso Wave Inc Robot control device, and robot posture interpolation method
JP2020028950A (en) * 2018-08-23 2020-02-27 株式会社日立製作所 Autonomous learning robot device and method for generating operations of autonomous learning robot device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1148176A (en) * 1997-08-08 1999-02-23 Yaskawa Electric Corp Robot position teach device
JP2012135835A (en) * 2010-12-27 2012-07-19 Denso Wave Inc Robot control device, and robot posture interpolation method
JP2020028950A (en) * 2018-08-23 2020-02-27 株式会社日立製作所 Autonomous learning robot device and method for generating operations of autonomous learning robot device

Also Published As

Publication number Publication date
JP7462827B2 (en) 2024-04-05
CN116917086A (en) 2023-10-20
JPWO2022176761A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
US10618164B2 (en) Robot system having learning control function and learning control method
Baeten et al. Hybrid vision/force control at corners in planar robotic-contour following
JP5754454B2 (en) Robot picking system and workpiece manufacturing method
JP5311294B2 (en) Robot contact position detector
JPH11502776A (en) Apparatus and method for calibration of multi-axis industrial robot
JP2001050741A (en) Calibration method and apparatus for robot
JP2017209762A (en) Robot device, robot control method, program, recording medium and production method of article
JP2008207262A (en) Manipulator system
Bonilla et al. A vision-based, impedance control strategy for industrial robot manipulators
CN111002304B (en) Device for acquiring position and location of end effector of manipulator
CN110154043B (en) Robot system for learning control based on machining result and control method thereof
JPH07266272A (en) Follow-up method and device for manipulator
JP6652310B2 (en) Robot system, robot arm control method, program, recording medium, and article manufacturing method
US11141855B2 (en) Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article
WO2022176761A1 (en) Control device, robot system, learning device, control method, and program
WO2022176762A1 (en) Control device, robot system, learning device, control method, and program
Mewes et al. The correction of the nozzle-bed-distance in robotic fused deposition modeling
Baeten et al. Combined vision/force control at corners in planar robotic contour following
JP6814441B2 (en) Learning control device and learning control method for drive machines
Mewes et al. Online-correction of robot-guided fused deposition modeling
CN114952838B (en) Mechanical arm joint track planning method based on terminal measurement feedback
JP4808920B2 (en) Automatic machine control device
US20230286143A1 (en) Robot control in working space
Luo et al. Research on trajectory planning and motion control of 7-DoF sawyer manipulator
JP2010167507A (en) Robot system and method of controlling the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22756081

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023500790

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 202280014133.7

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22756081

Country of ref document: EP

Kind code of ref document: A1