WO2022176761A1 - Control device, robot system, learning device, control method, and program - Google Patents
Control device, robot system, learning device, control method, and program Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 78
- 238000006243 chemical reaction Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 20
- 238000003754 machining Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000005259 measurement Methods 0.000 claims description 5
- 230000033001 locomotion Effects 0.000 description 114
- 238000012545 processing Methods 0.000 description 51
- 238000013500 data storage Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000000611 regression analysis Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-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
Description
複数のリンクと複数の関節とを備えるロボットを例にして、ロボットとロボットを制御する制御装置とを備えるロボットシステムについて実施の形態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は、駆動条件と複数の基準中間点とを対応付けて記憶している駆動条件記憶部11と、基準中間点を通る基準軌跡を決定する基準軌跡決定部12と、ロボット10の実際の軌跡、具体的には、先端リンクであるフランジ160の実際の移動軌跡を取得する実軌跡取得部13と、を備える。制御装置1はさらに、実軌跡の理想軌跡からのずれを示す軌跡誤差を基準中間点のそれぞれについて求め、基準中間点と軌跡誤差の対応を学習して、軌跡誤差を最小化する目標中間点を駆動条件に応じて示す軌跡モデルを生成する学習部14と、学習部14の学習結果、具体的には、基準中間点と軌跡誤差の対応を記憶する学習済みデータ記憶部15と、を備える。制御装置1はさらに、軌跡モデルおよび駆動条件を含む駆動指令に基づき、駆動条件に応じた目標中間点を通る目標軌跡を決定する目標軌跡決定部16と、基準軌跡または目標軌跡に応じてロボット10、具体的には、モータM1,M2,M3,M4,M5,M6を制御する制御部17と、を備える。 Each part of the
The
駆動条件記憶部11は、図6に示すように、駆動条件と複数の基準中間点とを対応付けた駆動条件テーブルを保持している。駆動条件は、先端リンクであるフランジ160の動作開始点および動作終了点を少なくとも指定する。実施の形態1では、駆動条件は、先端リンクの動作開始点、動作終了点、速度および姿勢を含む。動作開始点および動作終了点は、図1および図2に示すXYZ直交座標系での位置を示す。速度は、先端リンクの動作時の目標速度を示す。姿勢は、先端リンクの向き、具体的には、フランジ160の先端面160aとロボット10が固定されている平面がなす角度を示す。 Details of the learning process performed by the
As shown in FIG. 6, the drive
目標軌跡決定部16は、駆動指令を取得すると、学習済みデータ記憶部15に記憶されている目標中間点テーブルから駆動指令が示す駆動条件に応じた目標中間点を取得する。そして、目標軌跡決定部16は、駆動条件が示す動作開始点から、目標中間点を通って、駆動条件が示す動作終了点に至る軌跡を示す目標軌跡を決定する。詳細には、目標軌跡決定部16は、駆動条件が示す動作開始点、目標中間点、および駆動条件が示す動作終了点に基づくスプライン補間を行って、駆動条件が示す動作開始点から、目標中間点を通って、駆動条件が示す動作終了点に至る目標軌跡を決定する。目標軌跡は、制御周期ごとの先端リンクの目標位置を示す。 Details of the operational processing performed by the
Upon acquiring the drive command, the target
ロボットに取り付けられた加工工具、例えば、先端リンクに取り付けられた加工工具によって加工対象物を加工する際に、ロボットは加工時に加工対象物から力を受ける。ロボットが加工対象物から受ける力である反力の影響を受けて、先端リンクの軌跡が理想軌跡からずれることがある。実施の形態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
実施の形態1,2では、駆動条件テーブルに予め各駆動条件に対応する全ての基準中間点が記憶されているが、基準中間点は推定されてもよい。実施の形態3では、ロボット10と、少なくとも一部の基準中間点を推定して学習処理を行う制御装置3とを備えるロボットシステム102について、実施の形態1に係るロボットシステム100と異なる点を中心に説明する。 (Embodiment 3)
In
上述の学習処理が終了した後に制御装置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
The operation process performed by the
実施の形態1,2では、駆動条件テーブルに予め各駆動条件に対応する全ての基準中間点が記憶されているが、基準中間点は推定されてもよい。さらに、駆動条件も推定されてもよい。実施の形態4では、ロボット10と、少なくとも一部の駆動条件および少なくとも一部の基準中間点を推定して学習処理を行う制御装置4とを備えるロボットシステム103について、実施の形態1に係るロボットシステム100と異なる点を中心に説明する。 (Embodiment 4)
In
上述の学習処理が終了した後に制御装置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
Operational processing performed by the
ロボット10の軌跡を取得する方法は、上述の例に限られない。ロボット10と、実施の形態1とは異なる方法でロボット10の軌跡を取得する制御装置5と、を備えるロボットシステム104について、実施の形態1に係るロボットシステム100と異なる点を中心に説明する。 (Embodiment 5)
The method of acquiring the trajectory of the
上記構成を有する制御装置5が行う学習処理は、先端リンクの軌跡の取得方法を除いて、制御装置1と同様である。制御装置5が行う運用処理は、制御装置1と同様である。 The hardware configuration of the
The learning process performed by the
上述の実施の形態では、駆動条件は平面での直線的な移動を指示しているが、駆動条件は、三次元での移動、曲線的な移動等を指示してもよい。 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.
Claims (20)
- ロボットを制御する制御装置であって、
前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件と複数の基準中間点とを対応付けて記憶している駆動条件記憶部と、
前記駆動条件記憶部から前記複数の基準中間点のいずれかを取得し、取得した前記基準中間点ごとに、前記駆動条件に基づき、該基準中間点を通る基準軌跡を決定する基準軌跡決定部と、
前記ロボットの実際の軌跡を取得する実軌跡取得部と、
前記基準軌跡に応じて前記ロボットが制御された場合に前記実軌跡取得部で取得された実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を取得された前記基準中間点のそれぞれについて求め、前記基準中間点と前記軌跡誤差との対応を学習して、前記軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部と、
前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部と、
前記基準軌跡または前記目標軌跡に応じて前記ロボットを制御する制御部と、
を備える制御装置。 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: - 前記軌跡モデルが示す前記駆動条件に応じた前記目標中間点から、他の前記駆動条件に対応する前記複数の基準中間点を推定して、前記他の駆動条件と推定された前記複数の基準中間点を対応付けて前記駆動条件記憶部に記憶させる中間点推定部をさらに備える、
請求項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 . - 前記学習部は、前記目標軌跡に応じて前記ロボットが制御される場合の前記軌跡誤差を推定して、前記駆動条件に応じた前記目標中間点および推定された前記軌跡誤差を示す前記軌跡モデルを生成し、
前記中間点推定部は、前記軌跡モデルが示す推定された前記軌跡誤差の大きさに応じた間隔で配置される前記複数の基準中間点を推定する、
請求項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. - 前記駆動条件に対して予め定められた前記基準中間点を通る前記基準軌跡に応じて前記ロボットが制御された場合の前記実軌跡の前記理想軌跡からのずれである前記軌跡誤差から、前記駆動条件に対応する他の前記基準中間点を推定し、前記駆動条件に推定した前記基準中間点を対応付けて前記駆動条件記憶部に記憶させる駆動条件推定部をさらに備える、
請求項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. - 前記駆動条件推定部は、前記駆動条件、前記駆動条件に対応する前記基準中間点、および前記軌跡誤差から、他の前記駆動条件および前記他の駆動条件に対応する複数の前記基準中間点を推定し、推定した前記他の駆動条件と推定した前記複数の基準中間点を対応付けて前記駆動条件記憶部に記憶させる、
請求項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. - 前記駆動条件推定部は、前記軌跡誤差に基づいて、回帰アルゴリズムにより、前記駆動条件に対応する前記他の基準中間点を推定する、
請求項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. - 前記駆動条件推定部は、前記駆動条件、前記駆動条件に対応する前記基準中間点、および前記軌跡誤差に基づいて、回帰アルゴリズムにより、前記他の駆動条件および前記他の駆動条件に対応する前記複数の基準中間点を推定する、
請求項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 . - 前記実軌跡取得部は、前記ロボットの軌跡を測定する測定器を有し、前記測定器の測定値に応じて前記ロボットの前記軌跡を取得する、
請求項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. - ロボットを制御する制御装置であって、
前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に対応付けられている複数の基準中間点のそれぞれに応じて決定され、前記基準中間点を通る基準軌跡に応じて制御された前記ロボットの実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差と前記基準中間点との対応を学習して、前記軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部と、
前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部と、
前記目標軌跡に応じて前記ロボットを制御する制御部と、
を備える制御装置。 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: - 前記学習部は、前記基準中間点の変化に応じた前記軌跡誤差の変化を学習し、前記軌跡誤差を最小化する前記目標中間点を前記駆動条件に応じて示す前記軌跡モデルを生成する、
請求項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. - 前記ロボットに取り付けられる加工工具によって加工対象物を加工する際に前記加工対象物から前記ロボットが受ける力である反力を取得する反力取得部をさらに備え、
前記学習部は、前記基準中間点、前記軌跡誤差、および前記軌跡誤差が生じる場合の前記反力の対応を学習して、前記軌跡モデルを生成する、
請求項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. - 前記軌跡誤差は、前記理想軌跡が示す前記ロボットの位置である理想位置と前記実軌跡が示す前記ロボットの位置である実位置との距離が極大値となるときの前記実位置の前記理想位置からのずれを示す、
請求項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. - 前記極大値は、前記理想位置と前記実位置との距離の最大値である、
請求項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. - 前記駆動条件は、前記ロボットに取り付けられる加工工具によって加工される加工対象物についての情報をさらに含む、
請求項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. - 前記加工対象物についての情報は、前記加工対象物の重量および寸法の少なくともいずれかを含む、
請求項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. - ロボットを制御する制御装置であって、
前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に応じて、前記ロボットの実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を最小化する目標中間点を示す軌跡モデルを取得し、前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部と、
前記目標軌跡に応じて前記ロボットを制御する制御部と、
を備える制御装置。 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: - ロボットと、
前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に応じて前記ロボットを制御する請求項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 - ロボットを制御するための軌跡モデルを学習する学習装置であって、
前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件と複数の基準中間点とを対応付けて記憶している駆動条件記憶部と、
前記駆動条件記憶部から前記複数の基準中間点のいずれかを取得し、取得した前記基準中間点ごとに、前記駆動条件に基づき、該基準中間点を通る基準軌跡を決定する基準軌跡決定部と、
前記ロボットの実際の軌跡を取得する実軌跡取得部と、
前記駆動条件ごとに、前記基準軌跡に応じて前記ロボットが制御された場合に前記実軌跡取得部で取得された前記実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を取得された前記基準中間点のそれぞれについて求め、前記基準中間点と前記軌跡誤差との対応を学習して、前記軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部と、
を備える学習装置。 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 - ロボットを制御する制御方法であって、
前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に基づき、前記駆動条件に対応付けられている複数の基準中間点のいずれかを通る基準軌跡を決定し、
前記基準軌跡に応じて前記ロボットが制御された場合の前記ロボットの実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を前記基準中間点のそれぞれについて求め、前記基準中間点と前記軌跡誤差との対応を学習して、前記軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成し、
前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定し、
前記基準軌跡または前記目標軌跡に応じて前記ロボットを制御する、
制御方法。 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. - ロボットを制御するコンピュータを、
前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件と複数の基準中間点とを対応付けて記憶している駆動条件記憶部、
前記駆動条件記憶部から前記複数の基準中間点のいずれかを取得し、取得した前記基準中間点ごとに、前記駆動条件に基づき、該基準中間点を通る基準軌跡を決定する基準軌跡決定部、
前記ロボットの実際の軌跡を取得する実軌跡取得部、
前記基準軌跡に応じて前記ロボットが制御された場合に前記実軌跡取得部で取得された実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す軌跡誤差を取得された前記基準中間点のそれぞれについて求め、前記基準中間点と前記軌跡誤差との対応を学習して、前記軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部、
前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部、および、
前記基準軌跡または前記目標軌跡に応じて前記ロボットを制御する制御部、
として機能させるためのプログラム。 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
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)
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 |
-
2022
- 2022-02-10 CN CN202280014133.7A patent/CN116917086A/en active Pending
- 2022-02-10 WO PCT/JP2022/005292 patent/WO2022176761A1/en active Application Filing
- 2022-02-10 JP JP2023500790A patent/JP7462827B2/en active Active
Patent Citations (3)
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 |