WO2022176762A1 - 制御装置、ロボットシステム、学習装置、制御方法、およびプログラム - Google Patents

制御装置、ロボットシステム、学習装置、制御方法、およびプログラム Download PDF

Info

Publication number
WO2022176762A1
WO2022176762A1 PCT/JP2022/005293 JP2022005293W WO2022176762A1 WO 2022176762 A1 WO2022176762 A1 WO 2022176762A1 JP 2022005293 W JP2022005293 W JP 2022005293W WO 2022176762 A1 WO2022176762 A1 WO 2022176762A1
Authority
WO
WIPO (PCT)
Prior art keywords
trajectory
robot
target
intermediate point
control device
Prior art date
Application number
PCT/JP2022/005293
Other languages
English (en)
French (fr)
Inventor
義浩 細川
弘記 雨森
沙織 松永
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN202280014157.2A priority Critical patent/CN116887954A/zh
Priority to JP2023500791A priority patent/JP7433509B2/ja
Publication of WO2022176762A1 publication Critical patent/WO2022176762A1/ja

Links

Images

Classifications

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

Definitions

  • the present disclosure relates to control devices, robot systems, learning devices, control methods, and programs.
  • Industrial robots are equipped with multiple links and multiple joints that connect the multiple links to enable various movements.
  • the control device controls a plurality of servo motors that drive a plurality of joints of the robot, thereby enabling the robot to perform a desired motion. For example, if there is a difference in the delay of each servomotor, the actual trajectory of the tip link, which is the link located at the tip of the plurality of links, may deviate from the target trajectory.
  • Patent Document 1 An example of technology for minimizing the error between the actual trajectory of the robot and the target trajectory is disclosed in Patent Document 1.
  • the robot position teaching device disclosed in Patent Document 1 measures the actual trajectory of the robot, and based on the trajectory error, which is the distance between the actual trajectory and the target trajectory, predictive teaching is performed to minimize the error. Calculate points. Trajectory errors are reduced by controlling the robot based on potential teaching points.
  • the tip link receives force when the machining tool is attached to the tip link and the workpiece is processed. trajectory deviates from the target trajectory. As a result, the control accuracy of the robot during processing is lowered.
  • 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 during processing.
  • a control device for controlling a robot to which a machining tool for machining an object to be machined can be attached, comprising a drive condition storage unit and a reference trajectory determination unit. , an actual trajectory acquisition unit, a learning unit, a target trajectory determination unit, and a control unit.
  • the driving condition storage unit stores a driving condition specifying at least an operation start point and an operation end point of the robot in association with a reference intermediate point indicating a position through which the robot passes from the operation start point to the operation end point.
  • the reference trajectory determination unit acquires the reference intermediate point from the drive condition storage unit, and determines a reference trajectory passing through the acquired reference intermediate point based on the drive condition.
  • the actual trajectory acquisition unit acquires the actual trajectory of the robot.
  • the learning unit controls the robot according to the reference trajectory to process the workpiece, and the actual trajectory obtained by the actual trajectory acquisition unit is a processing time that indicates the deviation from the ideal trajectory based on the driving conditions.
  • the trajectory error is obtained for the obtained reference intermediate point, the correspondence between the reference intermediate point and the trajectory error during machining is learned, and a trajectory model that indicates the target intermediate point that minimizes the trajectory error during machining according to the driving conditions is generated. do.
  • 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.
  • a control device learns the correspondence between a reference intermediate point and a trajectory error during machining, generates a trajectory model indicating a target intermediate point that minimizes the trajectory error during machining according to a driving condition, and generates a target intermediate point.
  • the robot is controlled according to the target trajectory passing through the points. Therefore, the robot control accuracy during machining by 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
  • 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 an error table held by a learned data storage unit according to Embodiment 3;
  • 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; The figure which shows the 1st modification of the error table which the learned data memory
  • 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 includes a fixed portion 180 that is fixed to a flat surface to support the base 170, and a force sensor that measures the reaction force received by the flange 160 when the workpiece 300 is processed by the processing tool 200 attached to the flange 160. and a sensor 190 .
  • 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.
  • the robot 10 has six joints corresponding to the rotation axes AX1, AX2, AX3, AX4, AX5 and AX6.
  • the control device 1 controls the robot 10 to which the machining tool 200 for machining the object 300 is attached, so that the object 300 can be machined by the machining tool 200 .
  • the control device 1 controls the robot 10 to move the flange 160 in the positive direction of the X-axis with the tip surface of the flange 160 parallel to the plane to which the robot 10 is fixed.
  • the machining tool 200 attached to the flange 160 comes into contact with the side surface of the workpiece 300 intersecting the X-axis direction and moves in the positive X-axis direction, thereby removing the burr 310 from the workpiece 300. can be removed.
  • the burr 310 is a protrusion that is formed when the object 300 is molded, and is a portion that protrudes from the target outer shape of the object 300 .
  • 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 .
  • control device 1 controls the motors M1, M2, M3, M4, M5, Control M6.
  • the control device 1 performs deburring for removing the burr 310 of the workpiece 300 shown in FIG. can be processed.
  • the actual trajectory of the tip link deviates from the ideal trajectory based on the drive conditions.
  • the ideal trajectory is the shortest trajectory from the motion start point indicated by the drive condition to the motion end point indicated by the drive condition.
  • Deviations from the ideal trajectory include deviations caused by mechanical factors and deviations caused by external factors.
  • Misalignment caused by mechanical factors is, for example, misalignment caused by differences in delays in operation of the motors M1, M2, M3, M4, M5, and M6 when the workpiece 300 is not processed.
  • Misalignment caused by external factors is affected by, for example, gravity, centrifugal force, machining reaction force, etc. and at least one of the flange 160 is caused by mechanical deflection.
  • the control device 1 assigns a reference intermediate point for minimizing a non-machining trajectory error, which indicates deviation of the non-machining actual trajectory from the ideal trajectory, to the drive condition.
  • the actual trajectory during non-machining indicates the trajectory of the tip link of the robot 10 controlled according to the drive conditions when the workpiece 300 is not processed.
  • the reference intermediate point indicates the position through which the leading end link passes from the movement start point indicated by the drive condition to the movement end point.
  • the control device 1 obtains a trajectory error during machining that indicates the deviation of the actual trajectory during machining from the ideal trajectory. Learn to map errors.
  • the machining reaction force is the force that the flange 160 receives when the workpiece 300 is machined.
  • the actual trajectory during machining indicates the trajectory of the tip link when machining the workpiece 300 by controlling the robot 10 according to the reference trajectory passing through the reference intermediate point.
  • the control device 1 After learning the correspondence between the reference intermediate point and the trajectory error during machining as described above, the control device 1 generates a trajectory model indicating the target intermediate point that minimizes the trajectory error during machining according to the drive conditions, and generates the target intermediate point.
  • the robot 10 is controlled according to the target trajectory passing through the points. By controlling the robot 10 according to the target trajectory, it is possible to improve the control accuracy of the robot 10 during machining.
  • the control device 1 includes a driving condition storage unit 11 that stores driving conditions and reference intermediate points in association with each other, a reference trajectory determination unit 12 that determines a reference trajectory passing through the reference intermediate points, and an actual trajectory of the robot 10. Specifically, it includes an actual trajectory acquisition unit 13 that acquires the actual movement trajectory of the flange 160, which is the tip link. The control device 1 further controls the robot 10 in accordance with the reference trajectory to obtain the actual trajectory obtained by the actual trajectory obtaining unit 13 when machining the workpiece 300 from the ideal trajectory of the actual trajectory during machining. A trajectory error during machining, which indicates the deviation of , is obtained for each of the reference intermediate points.
  • the control device 1 includes a learning unit 14 that learns the correspondence between the reference intermediate point and the trajectory error during machining, and generates a trajectory model indicating a target intermediate point that minimizes the trajectory error during machining according to the drive conditions.
  • the control device 1 further determines a target trajectory passing through a target intermediate point according to the driving condition based on the learned data storage unit 15 that stores the learning result of the learning unit 14 and the driving command including the trajectory model and the driving condition. and a target trajectory determination unit 16 .
  • the control device 1 controls the robot 10, more specifically, the motors M1, M2, M3, M4, M5, and M6 according to the reference trajectory or the target trajectory, and the force sensor 190 included in the robot 10.
  • a reaction force acquisition unit 18 that acquires a sensor signal and calculates a reaction force, which is a force that the robot 10 receives during processing, from the sensor signal.
  • 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 control device 1 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 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 controls the robot 10 according to the reference trajectory passing through the reference intermediate point for each driving condition, and determines the target intermediate point that minimizes the trajectory error during machining according to the driving condition.
  • a learning process for generating a trajectory model shown in FIG. 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.
  • the control device 1 starts the learning process of FIG. 5 when the control device 1 starts to operate for the first time after the robot 10 is installed or when a new driving condition is added.
  • the learning process in FIG. 5 is performed while the machining tool 200 is attached to the flange 160 and the workpiece 300 is being machined. In other words, the workpiece 300 is machined so that the control device 1 can obtain the trajectory error during machining for each driving condition.
  • the reference trajectory determining unit 12 acquires the driving condition and the reference intermediate point from the driving condition storage unit 11 that stores the driving condition and the reference intermediate point in association (step S11). Then, 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. and calculate the reaction force (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 reaction force acquisition unit 18 calculates the reaction force based on the sensor signal acquired from the force sensor 190 .
  • the learning unit 14 calculates a trajectory error during machining that indicates the deviation of the trajectory acquired in step S13 from the ideal trajectory based on the driving conditions acquired in step S11, and combines the trajectory error during machining with the trajectory error calculated in step S14. and the reaction force (step S14). While the correspondence between the machining trajectory error and the reaction force is not completed for 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 correspondence between the trajectory error during machining and the reaction force is completed for all the driving conditions stored in the driving condition storage unit 11 (step S15; Yes), the learning unit 14 determines the target intermediate position that minimizes the trajectory error during machining. Points are obtained, and a trajectory model indicating the target intermediate point is generated according to the drive conditions (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 and reference intermediate points are associated with each other.
  • 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.
  • 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.
  • a reference midpoint is defined for each drive condition.
  • the reference midpoint minimizes the deviation due to the differential delays in the operation of motors M1, M2, M3, M4, M5, and M6 when workpiece 300 is not machined. For this reason, it indicates the position through which the leading end link passes from the operation start point indicated by the drive condition to the operation end point.
  • the robot 10 is controlled according to the trajectory passing through the initial intermediate points without machining the workpiece 300 for each of a plurality of initial intermediate points located between the operation start point and the operation end point. is calculated, and the initial midpoint that minimizes the deviation is used as the reference midpoint.
  • 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 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. , -2.5,0) are shown in FIG. 7 as the reference midpoint RP1.
  • the reference trajectory determining unit 12 determines the reference intermediate point RP1 (50, -2 .5,0) is determined.
  • the reference trajectory determination unit 12 After calculating the reference trajectory as described above, the reference trajectory determination unit 12 sends the driving conditions and the determined reference trajectory to the learning unit 14 and the control unit 17 .
  • 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 indicating 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 force sensor 190 measures the reaction force that is the force applied to the flange 160, and the measured value is Outputs a corresponding sensor signal.
  • the reaction force acquisition unit 18 detects the sensor signal acquired from the force sensor 190 provided in the robot 10 in each control cycle, and calculates the reaction force, which is the force that the robot 10 receives during processing, from the value detected in each control cycle. and sends the calculated reaction force to the control unit 17 .
  • 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 during machining 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 motors M1, M2, M3, M4, M5, and M6 are controlled according to the reference locus RT1, and the leading end link follows the actual locus AT0 indicated by the dashed line in FIG. , passes through a trajectory close to the ideal trajectory.
  • the actual trajectory AT1 during machining deviates from the ideal trajectory due to the reaction force received during machining of the workpiece 300 .
  • the learning unit 14 After acquiring the actual trajectory from the actual trajectory acquisition unit 13, the learning unit 14 acquires the actual trajectory acquired by the actual trajectory acquisition unit 13 when the workpiece 300 is processed by controlling the robot 10 according to the reference trajectory.
  • a trajectory error during machining which indicates a deviation from an ideal trajectory of an actual trajectory during machining, which indicates a trajectory obtained by machining, is calculated.
  • the learning unit 14 determines an ideal trajectory indicating 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 for each control cycle indicated by the ideal trajectory.
  • the position more 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 the distance reaches the maximum value as the trajectory error during machining.
  • an ideal trajectory which is the shortest trajectory to the point EP1 (100, 0, 0)
  • the ideal trajectory is a line segment extending from the motion start point SP1 (0,0,0) to the motion end point EP1 (100,0,0) shown in FIG. 7 and located on the X axis.
  • the learning unit 14 calculates the distance between the ideal position of the leading end link in each control cycle indicated by the ideal trajectory and the actual position of the leading end link in each control cycle indicated by the actual machining trajectory AT1. As indicated by an arrow ER1 in FIG.
  • 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 during machining.
  • the actual position deviates from the ideal position on the XY plane in the positive direction of the Y axis.
  • the learning unit 14 further associates the reaction force with the trajectory error during machining. Specifically, the learning unit 14 associates the machining trajectory error and the reaction force when the distance between the ideal position and the actual position is the maximum value.
  • the learning unit 14 performs the above-described processing for all drive conditions stored in the drive condition table shown in FIG.
  • the learning unit 14 calculates the trajectory error during machining for each driving condition, and learns the correspondence between the driving condition, the reference intermediate point, the trajectory error during machining, and the reaction force.
  • the learning unit 14 then generates an error table shown in FIG. 8 and stores it in the learned data storage unit 15 .
  • the trajectory error during machining is stored as a vector component.
  • the trajectory error during machining is represented by a component of a vector that starts from the ideal position and indicates the deviation of the actual position.
  • the reaction force represented by (Fx, Fy, Fz) is stored in the error table.
  • the learning unit 14 determines the target intermediate point that minimizes the trajectory error during machining from the correspondence between the reference intermediate point, the trajectory error during machining, and the reaction force. is obtained, and a trajectory model indicating the target intermediate point is generated according to the driving conditions. Specifically, the learning unit 14 obtains the target intermediate point that minimizes the trajectory error during machining from the ideal trajectory, the reference trajectory passing through the reference target point, the trajectory error during machining, and the reaction force for each drive condition. For example, the learning unit 14 adjusts the position of the reference midpoint according to the reaction force, and sets the adjusted reference midpoint as the target midpoint. In the example of the record in the first row of the error table shown in FIG.
  • the learning unit 14 adjusts the reference midpoint in the negative Y-axis direction to minimize the influence of the reaction force applied in the positive Y-axis direction, and sets the adjusted reference midpoint as the target midpoint.
  • the learning unit 14 generates a target waypoint table shown in FIG. 9 as a trajectory model and stores it in the learned data storage unit 15.
  • the control device 1 starts the operation process of FIG. 10 when a driving command including driving conditions for the robot 10 is input by an operation from an operation unit (not shown).
  • the operation process of FIG. 10 is performed while the machining tool 200 is attached to the flange 160 and the workpiece 300 is being machined.
  • 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 determination unit 16 calculates a target trajectory indicating 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, -3.5, 0) indicated by the first row record of the target intermediate point table shown in FIG. 9 corresponding to the acquired drive condition.
  • This target midpoint (50, -3.5, 0) is shown in FIG. 11 as target midpoint TP1.
  • 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,-3.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, and projects in the negative Y-axis direction on the XY plane. 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.
  • 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.
  • the flange 160 which is the tip link, moves.
  • the processing of the processing object 300 by the processing tool 200 is performed.
  • the actual trajectory AT1' of the tip link during machining is idealized as shown in FIG. approach the trajectory.
  • the control device 1 learns the correspondence between the reference intermediate point and the trajectory error during machining, and further, based on the reaction force, determines the target intermediate point that minimizes the trajectory error during machining.
  • a trajectory model is generated according to the driving conditions.
  • the control device 1 controls the robot 10 according to the target trajectory passing through the target intermediate point, so that the workpiece 300 is processed. Since the target trajectory is adjusted according to the reaction force, the actual trajectory during machining approaches the ideal trajectory, and the accuracy of control of the robot 10 by the control device 1 during machining increases.
  • the control method of the robot 10 is not limited to the example of the first embodiment, and any method can be used as long as it considers the reaction force during machining.
  • Control device 2 that controls motors M1, M2, M3, M4, M5, and M6 in accordance with information about workpiece 300 that causes variation in reaction force in order to increase the control accuracy of robot 10 during machining.
  • the second embodiment will be described, centering on the differences from the control device 1 according to the first embodiment.
  • Information about the object 300 includes the weight, shape, material, and the like of the object 300 .
  • a robot system 101 according to Embodiment 2 shown in FIG. 12 includes a control device 2 and a robot 10 .
  • the control device 2 learns the processing object identification unit 19 that acquires information about the processing object 300, and the information about the processing object 300 that the processing object identification unit 19 acquires, and determines the target intermediate point as the drive condition and
  • a learning unit 20 that generates a trajectory model indicated in accordance with information about the workpiece 300, and a target trajectory that determines a target trajectory passing through a target intermediate point based on the driving command including driving conditions and information about the workpiece 300. and a determination unit 21 .
  • the robot 10 does not include the force sensor 190 unlike the first embodiment.
  • the workpiece 300 is, for example, a urethane foam heat insulating material.
  • a burr 310 is generated when the workpiece 300 is molded. If the workpiece 300 is made of urethane foam heat insulating material, the shape of the burr 310 such as thickness and length will vary.
  • the thickness of the burr 310 is the thickness of the burr 310 in the extending direction of the rod-shaped processing tool 200 shown in the example of FIG. 2, that is, in the Z-axis direction.
  • the length of the burr 310 is the length of the burr 310 in the moving direction of the machining tool 200 shown in the example of FIG. 2, that is, in the X-axis direction.
  • the control device 2 controls the robot 10 according to the driving conditions and the target trajectory passing through the target intermediate point according to the shape of the burr 310 .
  • the shape of the burr 310 fluctuates, it is possible to improve the control accuracy of the robot 10 during processing.
  • the processing object specifying unit 19 shown in FIG. 12 includes an imaging device 191 that generates image data of the processing object 300, and a shape determination unit 192 that determines the shape of the processing object 300 from the image data generated by the imaging device 191. , has
  • the processing object specifying unit 19 acquires the shape of the burr 310 of the processing object 300 and sends the acquired shape of the burr 310 to the learning unit 20 .
  • the shape of burr 310 includes at least one of the minimum value, maximum value, and average value of the thickness of burr 310 in the extending direction of processing tool 200, that is, in the Z-axis direction. In the following description, it is assumed that the workpiece identification unit 19 obtains the maximum value of the thickness of the burr 310 in the Z-axis direction.
  • the learning unit 20 When the learning unit 20 acquires the shape of the burr 310 from the processing object specifying unit 19, it associates it with the trajectory error during processing.
  • the learning unit 20 associates the trajectory error during machining with the maximum value of the thickness of the burr 310 in the Z-axis direction, and obtains a target intermediate point that minimizes the trajectory error during machining according to the driving conditions and the thickness of the burr 310. .
  • the target trajectory determination unit 21 acquires the drive command including the drive conditions, it acquires the shape of the burr 310 from the workpiece identification unit 19 . Then, the target trajectory determination unit 21 acquires the target intermediate point corresponding to the drive condition indicated by the drive command and the shape of the burr 310 from the learned data storage unit 15 . After obtaining the target waypoint, the target trajectory determination unit 21 calculates a target trajectory passing through the target waypoint based on the drive conditions.
  • the hardware configuration of the control device 2 is the same as the hardware configuration of the control device 1 shown in FIG.
  • the controller 2 is connected via an interface 33 to motors M1, M2, M3, M4, M5, M6 and encoders E1, E2, E3, E4, E5, E6.
  • 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. 13 is performed while the machining tool 200 is attached to the flange 160 and the workpiece 300 is being machined.
  • the workpiece 300 is machined so that the control device 2 can obtain the trajectory error during machining for each driving condition.
  • the processing target identifying unit 19 acquires information about the processing target 300 (step S31).
  • the processing object specifying unit 19 acquires the shape of the burr 310 of the processing object 300 .
  • the imaging device 191 has a plurality of cameras provided around the processing object 300 and generates image data of the processing object 300 by photographing the processing object 300 with the plurality of cameras.
  • the shape determining section 192 determines the shape of the burr 310 of the workpiece 300 from the image data.
  • the burr 310 can be regarded as a portion where the position of the outer surface changes abruptly.
  • the shape of the burr 310 of the workpiece 300 calculated by the shape determining section 192 is sent to the learning section 20 .
  • the processing from subsequent 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 controls the encoders E1, E2, E3, and E4. , E5 and E6, the trajectory of the robot 10 controlled according to the reference trajectory is acquired (step S32).
  • the learning unit 20 calculates a trajectory error during machining that indicates the deviation of the trajectory acquired in step S32 from the ideal trajectory based on the driving conditions acquired in step S11, and combines the trajectory error during machining with the machining acquired in step S31. Information about the object 300 is associated (step S33).
  • the learning unit 20 creates an error table shown in FIG. 14 and stores it in the learned data storage unit 15 . In the example of FIG. 14, the maximum thickness of the burr 310 is stored.
  • the predetermined number of times is the number of times that data for generating the trajectory model can be acquired. Since the shape of the burr 310 of the workpiece 300 fluctuates, by repeating the above-described processing for each driving condition, data of the trajectory error during machining that fluctuates according to the fluctuation of the burr 310 as shown in FIG. 14 is obtained. can do. For example, as a result of the above-described processing, an error table showing the path error during machining for each thickness of the burr 310 for each driving condition is obtained as shown in FIG.
  • step S34 When each driving condition stored in the driving condition storage unit 11 has been associated with a predetermined number of times (step S34; Yes), the learning unit 20 obtains a target intermediate point that minimizes the trajectory error during machining, and determines the driving condition And a trajectory model indicating the target intermediate point is generated according to the information about the workpiece 300 (step S35).
  • the learning unit 20 generates a trajectory model indicating the target midpoint during machining according to the thickness of the burr 310 and stores it in the learned data storage unit 15 .
  • the learning unit 20 performs supervised learning to generate a trajectory model according to multidimensional function fitting or a neural network 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 unit 20 uses the driving conditions, the reference intermediate point, and the thickness of the burr 310 as input data, performs learning using the machining trajectory error as result data, and generates a trajectory model. Using the generated trajectory model, it is possible to obtain a target intermediate point that minimizes the trajectory error during machining.
  • 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.
  • step S35 the control device 2 ends the learning process. Operation of the operation process performed after the above-described learning process is completed will be described with reference to FIG. 15 .
  • the control device 2 starts the operation process of FIG. 15 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 information about the processing object 300, for example, the thickness of the burr 310 of the processing object 300 from the processing object specifying unit 19 (step S24). .
  • the target trajectory determination unit 16 acquires the target intermediate point corresponding to the drive condition indicated by the drive command acquired in step S24 and the thickness of the burr 310 acquired in step S24 from the learned data storage unit 15 (step S25). If there is no burr 310 with the same thickness, an interpolation process may be performed based on data with similar thickness values of the burr 310 to obtain the target intermediate point.
  • steps S22 and S23 is the same as the processing performed by the control device 1 according to the first embodiment shown in FIG.
  • the control device 2 learns the correspondence between the reference intermediate point, the trajectory error during machining, and the information about the workpiece 300, and the target intermediate point that minimizes the trajectory error during machining. is obtained, and a trajectory model indicating the target waypoint is generated according to the driving conditions and information about the workpiece 300 .
  • the control device 2 controls the robot 10 according to the target trajectory passing through the target intermediate point, so that the workpiece 300 is processed. Since the target trajectory is adjusted according to information about the workpiece 300, for example, the thickness of the burr 310 of the workpiece 300, the actual trajectory during machining approaches the ideal trajectory, and the control device 2 controls the robot during machining. 10 has a higher control accuracy.
  • a robot system 102 according to Embodiment 3 shown in FIG. 16 includes a control device 3 and a robot 10 .
  • the control device 3 includes, in addition to the configuration of the control device 1 according to Embodiment 1, a processing target identification unit 19 that acquires information about the processing target 300 .
  • the control device 3 learns the correspondence between the trajectory error during machining, the reaction force, and the information about the workpiece 300 acquired by the workpiece identification unit 19, and obtains a target intermediate point that minimizes the trajectory error during machining.
  • a learning unit 22 for generating a trajectory model indicating a target waypoint in accordance with the driving conditions and information about the workpiece 300 .
  • the control section 17 acquires the reaction force from the reaction force acquisition section 18 .
  • the hardware configuration of the control device 3 is the same as the hardware configuration of the control device 1 shown in FIG.
  • the control device 3 is connected to motors M1, M2, M3, M4, M5 and M6, encoders E1, E2, E3, E4, E5 and E6, and force sensor 190 via interface 33 .
  • step S31 is the same as the processing performed by the control device 2 shown in FIG.
  • processing from steps S11 to S13 is the same as the processing performed by the control device 1 shown in FIG.
  • step S13 when the reaction force increases, the control unit 17 adjusts the position indicated by the reference trajectory to a position farther from the workpiece 300, and moves the motors M1, M2, M3, M4 according to the adjusted reference trajectory. , M5 and M6. This prevents the trajectory of the tip link from deviating significantly from the ideal trajectory due to a large reaction force.
  • the learning unit 22 calculates the machining trajectory error indicating the difference between the ideal trajectory based on the driving conditions acquired in step S11 and the actual trajectory measured in step S14, and calculates the machining trajectory.
  • the error, the reaction force calculated in step S14, and the information about the workpiece 300 acquired in step S31 are associated (step S36).
  • the learning unit 22 determines the distance between the ideal position of the tip link in each control cycle on the ideal trajectory and the actual position of the tip link in each control cycle indicated by the actual trajectory during machining when the distance is the maximum value. Associate the time trajectory error with the reaction force.
  • the learning unit 22 creates an error table shown in FIG. 18 and stores it in the learned data storage unit 15 .
  • the reaction force represented by (Fx, Fy, Fz) is stored in the error table.
  • the maximum value of the thickness of burr 310 is stored.
  • the above-described processing is repeated while the predetermined number of associations for each driving condition stored in the driving condition storage unit 11 is not completed (step S34; No).
  • the predetermined number of times is the number of times that data for generating the trajectory model can be acquired.
  • step S34 When each driving condition stored in the driving condition storage unit 11 is associated with the driving conditions stored in the driving condition storage unit 11 a predetermined number of times (step S34; A trajectory model is generated according to the information about the object 300 (step S37).
  • the learning unit 22 generates a trajectory model indicating the target midpoint during machining according to the thickness of the burr 310 and stores it in the learned data storage unit 15 .
  • the learning unit 22 performs supervised learning according to a neural network model to generate a trajectory model.
  • the learning unit 22 uses the driving conditions, the reference intermediate point, the reaction force, and the thickness of the burr 310 as input data, and performs learning using the machining trajectory error as result data to generate a trajectory model.
  • the generated trajectory model it is possible to determine a target waypoint that minimizes the trajectory error during machining.
  • the trajectory model preferably has less than 10 hidden layers.
  • step S37 When the process of step S37 is completed, the control device 3 ends the learning process.
  • the operation process performed after the above-described learning process is completed is the same as the process performed by the control device 2 shown in FIG. 15 .
  • the control device 3 learns the correspondence between the reference intermediate point, the trajectory error during machining, the reaction force, and the information about the workpiece 300, and aims to minimize the trajectory error during machining.
  • An intermediate point is obtained to generate a trajectory model that indicates a target intermediate point that minimizes the trajectory error during machining according to the drive conditions and information about the workpiece 300 .
  • the control device 3 controls the robot 10 according to the target trajectory passing through the target intermediate point, so that the workpiece 300 is processed.
  • the target trajectory is adjusted according to information about the workpiece 300, for example, the thickness of the burr 310 of the workpiece 300. Therefore, the actual trajectory during machining approaches the ideal trajectory, and the robot is controlled by the control device 3 during machining. 10 has a higher control accuracy.
  • the information about the object to be processed 300 is not limited to the above example, and may be any information as long as it is information about the object to be processed 300 that causes fluctuations in the reaction force.
  • the workpiece identification unit 19 may be the minimum, maximum, or average length of the burr 310 in the moving direction of the machining tool 200, which is the X-axis direction in the above example.
  • the method of acquiring the trajectory of the robot 10 is not limited to the above example.
  • a robot system 103 that includes a robot 10 and a control device 4 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 4 shown in FIG. 19 includes an actual trajectory acquisition section 23 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 23 has a measuring device for measuring the trajectory of the robot 10, such as a three-dimensional measuring device, and acquires the trajectory of the robot 10 according to the measured 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 23 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 23 then sends the actual trajectory to the learning unit 14 .
  • the hardware configuration of the control device 4 is the same as that of the control device 1 shown in FIG.
  • the learning process performed by the control device 4 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 4 is the same as that of the control device 1 .
  • the controller 4 according to the fourth embodiment acquires the trajectory of the robot 10 regardless of the rotational positions of the motors M1, M2, M3, M4, M5, and M6.
  • the accuracy of the actual trajectory is improved because the error caused by the mechanical rigidity of the
  • Driving conditions are not limited to the above examples.
  • the drive conditions may further include information about the workpiece 300 .
  • the drive conditions may include the motion start point, motion end point, velocity, and attitude of the tip link, and the weight of the workpiece 300 .
  • the learning unit 14 may acquire a measured value from an external device, for example, a weight sensor that measures the weight of the object 300 to be processed.
  • the control device 1-4 acquires a measurement value from the weight sensor, controls the robot 10 according to the driving conditions stored in the driving condition storage unit 11, and corresponds to the driving condition and the measurement value of the weight sensor.
  • the learning unit 14 associates the drive conditions including the motion start point, motion end point, speed, and posture of the leading link and the weight of the workpiece 300 with the target intermediate point. Generate a waypoint table.
  • 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. By controlling the robot 10 based on the target trajectory corresponding to the weight of the workpiece 300, the control accuracy of the robot 10 is improved.
  • 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 determination 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-4.
  • 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 RT1 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 RP1 to the motion end point EP1.
  • the reference locus RT1 is not limited to such a curve, and may be indicated by curves projecting in a plurality of directions.
  • the reference trajectory RT1 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 also 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 to calculate the reference trajectory. You may Even if the reference trajectory is calculated by linear interpolation, the control unit 17 controls the motors M1, M2, M3, M4, M5, and M6 to rotate smoothly, so that the tip links move smoothly and the actual trajectory is 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 if the target trajectory is determined by linear interpolation, the control unit 17 controls the motors M1, M2, M3, M4, M5, and M6 to rotate smoothly, so that the tip links move smoothly and the actual trajectory is smooth. curve.
  • the method of determining the target waypoint is not limited to the above example.
  • the learning unit 14 may determine the target waypoint using linear regression, curvilinear regression, polynomial regression, multidimensional function fitting, or the like.
  • the learning unit 14 may determine the target midpoint by performing multi-dimensional function fitting with the XYZ coordinate components of the reference midpoint as independent variables and the trajectory error during machining as the objective function.
  • the learning unit 14 calculates the distance between the ideal position, which is the position of the leading link in each control cycle indicated by the ideal trajectory, and the actual position, which is the position of the leading link in each control cycle indicated by the actual trajectory.
  • the deviation of the actual position from the ideal position may be used as the trajectory error.
  • the learning unit 14 may store a plurality of trajectory errors during machining in an error table, as shown in FIG. Then, the learning unit 14 may calculate the target intermediate point based on the maximum value stored as the trajectory error during machining. The same applies to the learning units 20 and 22 as well.
  • the learning unit 14 may store the actual position of the tip link corresponding to the trajectory error in the error table. For example, when using the maximum value of the distance between the ideal position of the leading end link in each control cycle and the actual position of the leading end link in each control cycle indicated by the actual trajectory as the trajectory error during machining, the learning unit 14 , the actual position, which is the actual position of the leading link when the distance reaches the maximum value, may be stored in the error table. Then, the learning unit 14 may calculate the target intermediate point based on the maximum value stored as the trajectory error during machining and the actual position of the tip link corresponding to the maximum value. The same applies to the learning units 20 and 22 as well.
  • the learning unit 14 may store the reaction force when the distance reaches the maximum value in the error table, as shown in FIG. Then, the learning unit 14 may calculate the target intermediate point based on the maximum value stored as the trajectory error during machining and the reaction force corresponding to the maximum value.
  • the learning units 14, 20, and 22 may perform the learning process again in parallel with the operation process performed after the learning process is completed. Specifically, the learning units 14, 20, and 22 determine the ideal trajectory according to the drive condition indicated by the drive command acquired by the target trajectory determination unit 16 and the actual trajectory acquired by the actual trajectory acquisition unit 13 during operation processing. A trajectory error indicating the difference between is calculated to obtain a trajectory error during machining. By performing the learning process in parallel with the operation process, the accuracy of the target intermediate point that minimizes the trajectory error is improved, and as a result, the control accuracy of the robot 10 is improved.
  • the learning units 14, 20, and 22 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 processing target identification unit 19 is optional as long as it acquires information about the processing target 300 .
  • the imaging device 191 may be a three-dimensional camera or a two-dimensional camera.
  • the processing object identification unit 19 may have a laser scanner attached to the robot 10 and measuring the shape of the processing object 300 .
  • the method of determining the shape of the burr 310 by the processing object specifying unit 19 is not limited to the above example.
  • the shape determination unit 192 included in the processing object identification unit 19 compares the image data generated by the photographing device 191 with the design data, and determines that the portion where the image data and the design data do not match is the burr 310.
  • FIG. 24 shows an example in which the functions of the control device 1 according to Embodiment 1 are realized by a control device 5 that controls the robot 10 and a learning device 6 that generates a trajectory model.
  • a robot system 104 shown in FIG. 24 includes a robot 10 , a control device 5 that controls the robot 10 , and a learning device 6 that generates a trajectory model for controlling the robot 10 .
  • the learning device 6 includes a driving condition storage unit 11, a reference trajectory determination unit 12, an actual trajectory acquisition unit 13, a learning unit 14, a learned data storage unit 15, and a reaction force acquisition unit 18.
  • the function of each part of the learning device 6 is the same as the function of each corresponding part of the control device 1 .
  • the control device 5 includes a target trajectory determination section 16 and a control section 17 .
  • the function of each part of the control device 5 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 5 may acquire the trajectory model from the learned data storage unit 15 included in the learning device 6 .
  • the control unit 17 included in the control device 5 controls the robot 10 according to the reference trajectory acquired from the reference trajectory determination unit 12 included in the learning device 6 or the target trajectory calculated by the target trajectory determination unit 16 .
  • the learned data storage unit 15 may be an independent storage device accessible from the control device 5 and the learning device 6 .
  • the functions of controllers 2 and 3 can be implemented by controller 5 and learning device 6 .
  • the control device 5 may be provided with processing for generating a trajectory model.
  • the learning device 6 may calculate the trajectory error during machining for each reference intermediate point according to the drive condition, and store the trajectory error during machining in the learned data storage unit 15 .
  • the control device 5 may acquire and store the data previously learned by the learning device 6, specifically, the trajectory error during machining stored in the learned data storage unit 15. FIG. Then, the control device 5 may generate a trajectory model indicating a target intermediate point that minimizes the trajectory error during machining for each drive condition.
  • the trajectory of the robot 10 to be controlled by the control device 1-5 is not limited to the trajectory of the tip link, but is the trajectory of any part of the robot 10 or the processing tool 200 attached to the robot 10.
  • the method of acquiring the trajectory of the leading link by the actual trajectory acquisition unit 23 is not limited to the above example.
  • the actual trajectory acquisition unit 23 has a plurality of cameras as measuring instruments.
  • the actual trajectory acquisition unit 23 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 23 has an acceleration sensor attached to the tip link of the robot 10 as a measuring device.
  • the actual trajectory acquisition unit 23 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 23 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 23 described above.
  • control device 1-4 and the learning device 6 may start learning processing according to the operation of an operation unit (not shown).
  • the robot 10 is actually operated to obtain 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-5 and the learning device 6 that perform the above-described operations may be realized by distributing the software and installing the computer program in a computer. Alternatively, the control device 1-5 and the learning device 6 that perform the above operations may be implemented by a dedicated system.
  • the computer program may be superimposed on a carrier wave and provided via a communication network.
  • the robot 10 is not limited to the above examples, and is arbitrary.
  • the controller 1-5 may control a 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 - 5 may control the position of the tip link, which is the tip of the third arm 430 , by controlling the motor (not shown) provided in the robot 40 .
  • control device 1-5 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, and forms electrodes on a substrate on a stage 540 placed on a base 530 by means of the 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-5 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, 40, 50 were defined in the XYZ orthogonal coordinate system, but may be defined in the cylindrical coordinate system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

制御装置(1)は、駆動条件と基準中間点を対応付けて記憶している駆動条件記憶部(11)と、基準中間点を通る基準軌跡を決定する基準軌跡決定部(12)と、ロボット(10)の軌跡を測定する実軌跡取得部(13)と、を備える。制御装置(1)はさらに、実軌跡の理想軌跡からのずれを示す加工時軌跡誤差を基準中間点について求め、基準中間点と加工時軌跡誤差との対応を学習して、加工時軌跡誤差を最小化する目標中間点を求め、駆動条件に応じて目標中間点を示す軌跡モデルを生成する学習部(14)と、軌跡モデルから得られる目標中間点を通る目標軌跡を決定する目標軌跡決定部(16)と、基準軌跡または目標軌跡に応じてロボット(10)を制御する制御部(17)と、を備える。

Description

制御装置、ロボットシステム、学習装置、制御方法、およびプログラム
 本開示は、制御装置、ロボットシステム、学習装置、制御方法、およびプログラムに関する。
 産業用のロボットは、種々の動きを可能にするため、複数のリンクと、複数のリンクを接続する複数の関節と、を備える。制御装置が、ロボットが有する複数の関節を駆動する複数のサーボモータを制御することで、ロボットが目的の動作を行うことが可能となる。例えば、各サーボモータの遅れに差が生じると、複数のリンクの内、先端に位置するリンクである先端リンクの実際の軌跡は、目標とする軌跡からずれることがある。ロボットの実際の軌跡と目標とする軌跡との誤差を最小化するための技術の一例が特許文献1に開示されている。
 特許文献1に開示されるロボット位置教示装置は、ロボットの実際の軌跡を測定し、実際の軌跡と目標とする軌跡との距離である軌跡誤差に基づいて、誤差を最小化するための見込み教示点を算出する。見込み教示点に基づいてロボットを制御することで、軌跡誤差が減少する。
特開平11-048176号公報
 上述のようにロボットの先端の実際の軌跡を目標とする軌跡に近づける制御を行っても、先端リンクに加工工具を取り付けて加工対象物を加工する際に先端リンクが力を受けるため、先端リンクの軌跡が目標とする軌跡からずれる。この結果、加工時のロボットの制御精度が低下する。
 本開示は上述の事情に鑑みてなされたものであり、加工時のロボットの制御精度が高い制御装置、ロボットシステム、学習装置、制御方法、およびプログラムを提供することを目的とする。
 上記目的を達成するため、本開示に係る制御装置は、加工対象物の加工を行うための加工工具が取り付け可能なロボットを制御する制御装置であって、駆動条件記憶部と、基準軌跡決定部と、実軌跡取得部と、学習部と、目標軌跡決定部と、制御部と、を備える。駆動条件記憶部は、ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に、動作開始点から動作終了点に至るまでにロボットが通る位置を示す基準中間点を対応付けて記憶している。基準軌跡決定部は、駆動条件記憶部から基準中間点を取得し、取得した基準中間点について、駆動条件に基づき、該基準中間点を通る基準軌跡を決定する。実軌跡取得部は、ロボットの実際の軌跡を取得する。学習部は、基準軌跡に応じてロボットを制御することで加工対象物の加工を行う場合に実軌跡取得部で取得された加工時実軌跡の駆動条件に基づく理想軌跡からのずれを示す加工時軌跡誤差を取得された基準中間点について求め、基準中間点と加工時軌跡誤差との対応を学習して、加工時軌跡誤差を最小化する目標中間点を駆動条件に応じて示す軌跡モデルを生成する。目標軌跡決定部は、軌跡モデルから得られる目標中間点を通る目標軌跡を決定する。制御部は、基準軌跡または目標軌跡に応じてロボットを制御する。
 本開示に係る制御装置は、基準中間点と加工時軌跡誤差との対応を学習して、加工時軌跡誤差を最小化する目標中間点を駆動条件に応じて示す軌跡モデルを生成し、目標中間点を通る目標軌跡に応じてロボットを制御する。このため、本開示に係る制御装置による加工時のロボットの制御精度は高い。
実施の形態1に係るロボットの斜視図 実施の形態1に係るロボットの側面図 実施の形態1に係るロボットシステムのブロック図 実施の形態1に係る制御装置のハードウェア構成を示すブロック図 実施の形態1に係る制御装置が行う学習処理の一例を示すフローチャート 実施の形態1に係る駆動条件記憶部が保持する駆動条件テーブルの例を示す図 実施の形態1における基準軌跡および実軌跡の例を示す図 実施の形態1に係る学習済みデータ記憶部が保持する誤差テーブルの例を示す図 実施の形態1に係る学習済みデータ記憶部が保持する目標中間点テーブルの例を示す図 実施の形態1に係る制御装置が行う運用処理の一例を示すフローチャート 実施の形態1における目標軌跡および実軌跡の例を示す図 実施の形態2に係るロボットシステムのブロック図 実施の形態2に係る制御装置が行う学習処理の一例を示すフローチャート 実施の形態2に係る学習済みデータ記憶部が保持する誤差テーブルの例を示す図 実施の形態2に係る制御装置が行う運用処理の一例を示すフローチャート 実施の形態3に係るロボットシステムのブロック図 実施の形態3に係る制御装置が行う学習処理の一例を示すフローチャート 実施の形態3に係る学習済みデータ記憶部が保持する誤差テーブルの例を示す図 実施の形態4に係るロボットシステムのブロック図 実施の形態に係る学習済みデータ記憶部が保持する目標中間点テーブルの変形例を示す図 実施の形態に係る学習済みデータ記憶部が保持する誤差テーブルの第1変形例を示す図 実施の形態に係る学習済みデータ記憶部が保持する誤差テーブルの第2変形例を示す図 実施の形態に係る学習済みデータ記憶部が保持する誤差テーブルの第3変形例を示す図 実施の形態に係るロボットシステムの変形例のブロック図 実施の形態に係るロボットの第1変形例の斜視図 実施の形態に係るロボットの第2変形例の斜視図
 以下、本開示の実施の形態に係る制御装置、ロボットシステム、学習装置、制御方法、およびプログラムについて図面を参照して詳細に説明する。なお図中、同一または同等の部分には同一の符号を付す。
 (実施の形態1)
 複数のリンクと複数の関節とを備えるロボットを例にして、ロボットとロボットを制御する制御装置とを備えるロボットシステムについて実施の形態1で説明する。ロボットは、複数のリンクと、複数のリンクを互いに接続する複数の関節と、複数の関節に対応付けられて、対応する関節を駆動する複数のモータと、を有する。
 図1および図2に示すように、ロボット10は垂直多関節型のロボットである。詳細には、ロボット10は、複数のリンクとして、第1アーム110と、第2アーム120と、第3アーム130と、第4アーム140と、第5アーム150と、フランジ160と、ベース170と、を備える。フランジ160は、複数のリンクの内、先端に位置するリンクである先端リンクに相当する。
 ロボット10はさらに、平面に固定されてベース170を支持する固定部180と、フランジ160に取り付けられる加工工具200による加工対象物300の加工時にフランジ160が受ける力である反力を測定する力覚センサ190と、を備える。実施の形態1では、固定部180は、主面の形状が正方形である板状部材である。
 図1および図2において、固定部180の主面に平行な面に含まれ、互いに直交する軸として、X軸およびY軸を設定し、X軸およびY軸のそれぞれに直交する軸としてZ軸を設定する。X軸およびY軸はそれぞれ、固定部180の端面に沿って延伸する。固定部180が水平面に固定されていれば、Z軸は鉛直方向に延伸する。実施の形態1において、先端リンクの軌跡、具体的には、フランジ160の先端面160aの重心の軌跡は、XYZ直交座標系で表される。XYZ直交座標系の原点は、例えば、ロボット10が初期位置にあるときの先端面160aの重心の位置である。ロボット10が初期位置にあるときとは、後述のモータM1,M2,M3,M4,M5,M6のそれぞれの回転位置が初期位置にあるときを示す。
 第1アーム110は、Z軸に平行な回転軸AX1周りに回転可能な状態でベース170に取り付けられる。第2アーム120は、第1アーム110に連結され、回転軸AX2周りに回転可能である。第3アーム130は、第2アーム120に連結され、回転軸AX3周りに回転可能である。第4アーム140は、第3アーム130に連結され、回転軸AX4周りに回転可能である。第5アーム150は、第4アーム140に連結され、回転軸AX5周りに回転可能である。フランジ160は、第5アーム150に連結され、回転軸AX6周りに回転可能である。換言すれば、ロボット10は、回転軸AX1,AX2,AX3,AX4,AX5,AX6に対応する6つの関節を有する。
 制御装置1が、加工対象物300の加工を行うための加工工具200が取り付けられたロボット10を制御することで、加工工具200による加工対象物300の加工が可能となる。例えば、図2に示すように、制御装置1はロボット10を制御して、フランジ160の先端面が、ロボット10が固定されている平面に平行な状態で、フランジ160をX軸正方向に移動させる。この結果、フランジ160に取り付けられている加工工具200が加工対象物300のX軸方向と交差する側面に当接して、さらにX軸正方向に移動することで、バリ310を加工対象物300から取り除くことができる。バリ310は、加工対象物300の成形時にできる突起であり、加工対象物300の目標の外形から突出している部分である。
 図3に示すように、ロボット10は、回転軸AX1,AX2,AX3,AX4,AX5,AX6に対応するモータM1,M2,M3,M4,M5,M6を備える。モータM1,M2,M3,M4,M5,M6は、サーボモータである。制御装置1が駆動条件に応じてモータM1,M2,M3,M4,M5,M6を制御することで、モータM1,M2,M3,M4,M5,M6が回転し、第1アーム110、第2アーム120、第3アーム130、第4アーム140、第5アーム150、およびフランジ160が回転する。この結果、ロボット10の先端リンクであるフランジ160の軌跡が駆動条件に応じた軌跡となる。ロボット10はさらに、モータM1,M2,M3,M4,M5,M6の回転位置を検出するエンコーダE1,E2,E3,E4,E5,E6を備える。
 ロボットシステム100は、上記構成を有するロボット10と、ロボット10を制御する制御装置1と、を備える。制御装置1は、ロボット10の動作開始点および動作終了点を少なくとも指定する駆動条件に応じて、ロボット10の軌跡、具体的には、フランジ160の軌跡を理想軌跡に近づける制御を行う。ロボット10の動作開始点は、ロボット10の可動部分の動作開始点、具体的には、ロボット10が備えるフランジ160の動作開始点を意味する。ロボット10の動作終了点は、ロボット10の可動部分の動作終了点、具体的には、ロボット10が備えるフランジ160の動作終了点を意味する。
 実施の形態1では、制御装置1は、ロボット10が備えるフランジ160の動作開始点および動作終了点を少なくとも指定する駆動条件に応じて、ロボット10が備えるモータM1,M2,M3,M4,M5,M6を制御する。制御装置1が上述のように加工工具200が取り付けられたロボット10を制御することで、図2に示す加工対象物300のバリ310を除去するバリ取り、加工対象物300への部品の取付等の加工が可能となる。
 駆動条件に応じてロボット10を制御して加工対象物300の加工を行う際に、先端リンクの実際の軌跡は、駆動条件に基づく理想軌跡からずれる。実施の形態1では、理想軌跡は、駆動条件が示す動作開始点から駆動条件が示す動作終了点までの最短の軌跡である。
 理想軌跡からのずれは、機械的要因に起因するずれと、外部要因に起因するずれと、を含む。機械的要因に起因するずれは、例えば、加工対象物300の加工が行われない場合にモータM1,M2,M3,M4,M5,M6のそれぞれの動作の遅れの差に起因するずれである。外部要因に起因するずれは、例えば、重力、遠心力、加工反力等の影響を受けて、第1アーム110、第2アーム120、第3アーム130、第4アーム140、第5アーム150、およびフランジ160の少なくともいずれかに機械的なたわみが生じることに起因するずれである。
 機械的要因に起因するずれを最小化するため、制御装置1は、非加工時実軌跡の理想軌跡からのずれを示す非加工時軌跡誤差を最小化するための基準中間点を駆動条件に対応付けて記憶している。非加工時実軌跡は、加工対象物300の加工が行われない場合に駆動条件に応じて制御されたロボット10の先端リンクの軌跡を示す。基準中間点は、駆動条件が示す動作開始点から動作終了点に至るまでに先端リンクが通る位置を示す。
 外部要因の一例である加工反力に起因するずれを最小化するため、制御装置1は、加工時実軌跡の理想軌跡からのずれを示す加工時軌跡誤差を求め、基準中間点と加工時軌跡誤差との対応付けを学習する。加工反力は、加工対象物300の加工時にフランジ160が受ける力である。加工時実軌跡は、基準中間点を通る基準軌跡に応じてロボット10を制御することで加工対象物300の加工を行う場合の先端リンクの軌跡を示す。上述のように基準中間点と加工時軌跡誤差の対応を学習した後、制御装置1は、加工時軌跡誤差を最小化する目標中間点を駆動条件に応じて示す軌跡モデルを生成し、目標中間点を通る目標軌跡に応じてロボット10を制御する。目標軌跡に応じてロボット10を制御することで、加工時のロボット10の制御精度を向上させることが可能となる。
 制御装置1の各部について以下に説明する。
 制御装置1は、駆動条件と基準中間点とを対応付けて記憶している駆動条件記憶部11と、基準中間点を通る基準軌跡を決定する基準軌跡決定部12と、ロボット10の実際の軌跡、具体的には、先端リンクであるフランジ160の実際の移動軌跡を取得する実軌跡取得部13と、を備える。制御装置1はさらに、基準軌跡に応じてロボット10を制御することで加工対象物300の加工を行う場合に実軌跡取得部13で取得された実際の軌跡を示す加工時実軌跡の理想軌跡からのずれを示す加工時軌跡誤差を基準中間点のそれぞれについて求める。制御装置1は、基準中間点と加工時軌跡誤差との対応を学習し、加工時軌跡誤差を最小化する目標中間点を駆動条件に応じて示す軌跡モデルを生成する学習部14を備える。
 制御装置1はさらに、学習部14の学習結果を記憶する学習済みデータ記憶部15と、軌跡モデルおよび駆動条件を含む駆動指令に基づき、駆動条件に応じた目標中間点を通る目標軌跡を決定する目標軌跡決定部16と、を備える。制御装置1は、基準軌跡または目標軌跡に応じてロボット10、具体的には、モータM1,M2,M3,M4,M5,M6を制御する制御部17と、ロボット10が備える力覚センサ190からセンサ信号を取得して、センサ信号から加工時にロボット10が受ける力である反力を算出する反力取得部18と、を備える。
 図4に示すように、制御装置1は、ハードウェア構成として、プロセッサ31と、メモリ32と、インターフェース33と、を備える。プロセッサ31、メモリ32およびインターフェース33は互いにバス34で接続されている。制御装置1の各機能は、プロセッサ31がメモリ32に記憶されたプログラムを実行することにより実現される。インターフェース33は制御装置1と外部装置を接続し、外部装置との通信を可能とする。詳細には、制御装置1は、インターフェース33を介して、モータM1,M2,M3,M4,M5,M6、エンコーダE1,E2,E3,E4,E5,E6、および力覚センサ190に接続される。インターフェース33は、必要に応じて複数の種類のインターフェースモジュールを有する。
 図4に示す制御装置1は、プロセッサ31およびメモリ32をそれぞれ1つずつ有するが、制御装置1は、複数のプロセッサ31および複数のメモリ32を有してもよい。この場合、複数のプロセッサ31および複数のメモリ32が連携することで、制御装置1の各機能が実現されればよい。
 上記構成を有する制御装置1は、基準中間点を通る基準軌跡に応じてロボット10を制御することを駆動条件ごとに行って、加工時軌跡誤差を最小化する目標中間点を駆動条件に応じて示す軌跡モデルを生成する学習処理と目標中間点を通る目標軌跡に応じてロボット10を制御する運用処理とを行う。軌跡誤差の最小化とは、軌跡誤差を最小値または最小値の近傍値、あるいは、極小値または極小値の近傍値に近づけることを意味する。
 制御装置1が行う学習処理の動作の概要について、図5を用いて説明する。例えば、ロボット10の設置後に、制御装置1が初めて動作を開始する際または新たな駆動条件が追加された際に、制御装置1は図5の学習処理を開始する。図5の学習処理は、加工工具200がフランジ160に取り付けられ、加工対象物300に加工をしながら行われる。換言すれば、制御装置1が駆動条件ごとの加工時軌跡誤差を得るために、加工対象物300の加工が行われる。
 基準軌跡決定部12は、駆動条件と基準中間点とを対応付けて記憶している駆動条件記憶部11から、駆動条件と基準中間点を取得する(ステップS11)。そして、基準軌跡決定部12は、ステップS11で取得した駆動条件および基準中間点に基づき、基準中間点を通る基準軌跡を決定する(ステップS12)。制御部17は、ステップS12で決定された基準軌跡に応じてロボット10のモータM1,M2,M3,M4,M5,M6を制御し、実軌跡取得部13は、ロボット10の実際の軌跡を取得し、反力を算出する(ステップS13)。
 詳細には、制御部17は、基準軌跡に従ってフランジ160を移動させるためモータM1,M2,M3,M4,M5,M6の目標位置を決定し、モータM1,M2,M3,M4,M5,M6を目標位置まで動かす制御を行う。実軌跡取得部13は、エンコーダE1,E2,E3,E4,E5,E6から取得したモータM1,M2,M3,M4,M5,M6の回転位置に基づいて、ロボット10の実際の軌跡を取得する。反力取得部18は、力覚センサ190から取得したセンサ信号に基づいて反力を算出する。学習部14は、ステップS13で取得された軌跡のステップS11で取得された駆動条件に基づく理想軌跡からのずれを示す加工時軌跡誤差を算出して、加工時軌跡誤差とステップS14で算出された反力とを対応付ける(ステップS14)。駆動条件記憶部11に記憶されている全ての駆動条件について加工時軌跡誤差と反力の対応付けが完了していない間は(ステップS15;No)、上述のステップS11からS14の処理が繰り返される。
 駆動条件記憶部11に記憶されている全ての駆動条件について加工時軌跡誤差と反力の対応付けが完了すると(ステップS15;Yes)、学習部14は、加工時軌跡誤差を最小化する目標中間点を求め、駆動条件に応じて目標中間点を示す軌跡モデルを生成する(ステップS16)。ステップS16の処理が完了すると、制御装置1は学習処理を終了する。
 制御装置1が行う学習処理の詳細について以下に説明する。
 駆動条件記憶部11は、図6に示すように、駆動条件と基準中間点とを対応付けた駆動条件テーブルを保持している。駆動条件は、先端リンクであるフランジ160の動作開始点および動作終了点を少なくとも指定する。実施の形態1では、駆動条件は、先端リンクの動作開始点、動作終了点、速度および姿勢を含む。動作開始点および動作終了点は、図1および図2に示すXYZ直交座標系での位置を示す。速度は、先端リンクの動作時の目標速度を示す。姿勢は、先端リンクの向き、具体的には、フランジ160の先端面160aとロボット10が固定されている平面がなす角度を示す。
 例えば、図6に示す駆動条件テーブルの一行目のレコードが含む駆動条件は、フランジ160の先端面が、ロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(100,0,0)まで目標速度V1で移動させることを示す。この場合、理想軌跡は、動作開始点SP1(0,0,0)から動作終了点EP1(100,0,0)まで延び、X軸上に位置する線分で示される。
 実施の形態1では、各駆動条件に対し、基準中間点が定められている。上述したように、基準中間点は、加工対象物300の加工が行われない場合にモータM1,M2,M3,M4,M5,M6のそれぞれの動作の遅れの差に起因するずれを最小化するために、駆動条件が示す動作開始点から動作終了点に至るまでに先端リンクが通る位置を示す。例えば、動作開始点から動作終了点までの間に位置する複数の初期中間点のそれぞれについて、加工対象物300の加工は行わずに、初期中間点を通る軌跡に応じてロボット10を制御した際の実際の先端リンクの軌跡の理想軌跡からのずれを算出し、ずれを最小化する初期中間点を基準中間点として用いればよい。
 基準軌跡決定部12は、図6に示す駆動条件テーブルから対応付けられた駆動条件と基準中間点を取得する。そして、基準軌跡決定部12は、駆動条件に基づき、取得した基準中間点を通る基準軌跡を決定する。詳細には、基準軌跡決定部12は、駆動条件が示す動作開始点、基準中間点、および駆動条件が示す動作終了点に基づくスプライン補間を行って、駆動条件が示す動作開始点から、基準中間点を通って、駆動条件が示す動作終了点に至る基準軌跡を算出する。基準軌跡は、例えば、制御周期ごとのXYZ直交座標系における先端リンクの位置を示す。制御周期は、例えば、制御装置1の演算処理能力に応じて定められる。
 例えば、基準軌跡決定部12は、図6に示す駆動条件テーブルの一行目のレコードが示す駆動条件と基準中間点を取得する。この駆動条件に含まれる動作開始点(0,0,0)および動作終了点(100,0,0)をそれぞれ、図7に動作開始点SP1および動作終了点EP1として示し、基準中間点(50,-2.5,0)を図7に基準中間点RP1として示す。基準軌跡決定部12は、動作開始点SP1(0,0,0)から動作終了点EP1(100,0,0)までの動作を指示する駆動条件に基づき、基準中間点RP1(50,-2.5,0)を通る基準軌跡RT1を決定する。図7において点線で示す基準軌跡RT1は、動作開始点SP1から基準中間点RP1を通って動作終了点EP1に至る滑らかな曲線であって、XY平面においてY軸負方向に突出する曲線で示される。上述のように基準軌跡を算出すると、基準軌跡決定部12は、駆動条件および決定した基準軌跡を、学習部14および制御部17に送る。
 図3に示す制御部17は、基準軌跡決定部12から取得した駆動条件および基準軌跡に応じてモータM1,M2,M3,M4,M5,M6への制御指令を生成し、制御指令をモータM1,M2,M3,M4,M5,M6に送信する。詳細には、制御部17は、基準軌跡が示す先端リンクの位置を示す基準位置に応じてモータM1,M2,M3,M4,M5,M6への制御指令を生成し、制御指令をモータM1,M2,M3,M4,M5,M6に送信することを制御周期ごとに行う。この結果、モータM1,M2,M3,M4,M5,M6が制御指令に従って回転し、第1アーム110、第2アーム120、第3アーム130、第4アーム140、第5アーム150、およびフランジ160が回転する。これにより、先端リンクであるフランジ160が移動する。
 制御部17は、エンコーダE1,E2,E3,E4,E5,E6からモータM1,M2,M3,M4,M5,M6の回転位置を取得し、モータM1,M2,M3,M4,M5,M6をフィードバック制御することが好ましい。
 上述のように制御部17によって、モータM1,M2,M3,M4,M5,M6が駆動されている間、力覚センサ190は、フランジ160が受ける力である反力を測定し、測定値に応じたセンサ信号を出力する。
 反力取得部18は、ロボット10が備える力覚センサ190から取得したセンサ信号を制御周期ごとに検出し、制御周期ごとに検出した値から、加工時にロボット10が受ける力である反力を算出し、算出した反力を制御部17に送る。
 実軌跡取得部13は、エンコーダE1,E2,E3,E4,E5,E6からモータM1,M2,M3,M4,M5,M6の回転位置を取得し、モータM1,M2,M3,M4,M5,M6の回転位置から先端リンクの実際の位置を取得する。実軌跡取得部13は、上述の処理を制御周期ごとに行って、制御周期ごとのXYZ直交座標系における先端リンクの実際の位置である実位置を示す実軌跡を決定する。
 一例として、図6に示す駆動条件テーブルの一行目のレコードが示す駆動条件と基準中間点RP1に基づく基準軌跡RT1に応じてモータM1,M2,M3,M4,M5,M6が制御された際に、実軌跡取得部13が取得した加工時実軌跡AT1を図7に実線で示す。実軌跡取得部13は、上述のように取得した実軌跡を学習部14に送る。加工対象物300の加工を行わない場合、基準軌跡RT1に応じてモータM1,M2,M3,M4,M5,M6が制御されると、先端リンクは図7に破線で示す実軌跡AT0のように、理想軌跡に近い軌跡を通る。しかしながら、加工対象物300の加工時に受ける反力によって、加工時実軌跡AT1は、理想軌跡からずれる。
 学習部14は、実軌跡取得部13から実軌跡を取得すると、ロボット10が基準軌跡に応じて制御されることで加工対象物300の加工が行われた際に実軌跡取得部13で取得された軌跡を示す加工時実軌跡の理想軌跡からのずれを示す加工時軌跡誤差を算出する。詳細には、学習部14は、駆動条件に基づき、動作開始点から動作終了点までの最短の軌跡を示す理想軌跡を決定し、理想軌跡上の制御周期ごとの先端リンクの位置を決定する。そして、学習部14は、理想軌跡が示す制御周期ごとのロボット10の位置、具体的には、ロボット10の先端リンクの位置である理想位置と加工時実軌跡が示す制御周期ごとのロボット10の位置、具体的には、先端リンクの位置である実位置との距離を算出する。学習部14は、距離が最大値となるときの、実位置の理想位置からのずれを加工時軌跡誤差として用いる。
 例えば、学習部14は、基準軌跡決定部12から図6に示す駆動条件テーブルの一行目のレコードが示す駆動条件と基準軌跡を取得すると、動作開始点SP1(0,0,0)から動作終了点EP1(100,0,0)までの最短の軌跡である理想軌跡を算出する。この場合、理想軌跡は、図7に示す動作開始点SP1(0,0,0)から動作終了点EP1(100,0,0)まで延び、X軸上に位置する線分である。そして、学習部14は、理想軌跡が示す制御周期ごとの先端リンクの理想位置と加工時実軌跡AT1が示す制御周期ごとの先端リンクの実際の位置との距離を算出する。学習部14は、図7に矢印ER1で示すように、この距離が最大値となるときの、実位置の理想位置からのずれを加工時軌跡誤差として用いる。図7の例では、実位置はXY平面上で理想位置からY軸正方向にずれている。
 学習部14はさらに、加工時軌跡誤差に反力を対応付ける。詳細には、学習部14は、理想位置と実位置との距離が最大値となるときの加工時軌跡誤差と反力とを対応付ける。
 学習部14は、上述の処理を図6に示す駆動条件テーブルに記憶されている全ての駆動条件について行う。学習部14は、各駆動条件について加工時軌跡誤差の算出を行って、駆動条件、基準中間点、加工時軌跡誤差、および反力の対応を学習する。そして、学習部14は、図8に示す誤差テーブルを生成し、学習済みデータ記憶部15に記憶させる。図8の例では、加工時軌跡誤差は、ベクトルの成分として記憶されている。具体的には、加工時軌跡誤差は、理想位置を始点とし、実位置のずれを示すベクトルの成分で表されている。図8の例では、誤差テーブルに(Fx,Fy,Fz)で表される反力が記憶されている。
 全ての駆動条件について加工時軌跡誤差と反力の対応付けが完了すると、学習部14は、基準中間点、加工時軌跡誤差、および反力の対応から加工時軌跡誤差を最小化する目標中間点を求め、駆動条件に応じて目標中間点を示す軌跡モデルを生成する。詳細には、学習部14は、駆動条件ごとに、理想軌跡、基準目標点を通る基準軌跡、加工時軌跡誤差、および反力から、加工時軌跡誤差が最小となる目標中間点を求める。例えば、学習部14は、反力に応じて、基準中間点の位置を調節し、調節した基準中間点を目標中間点とする。図8に示す誤差テーブルの一行目のレコードの例では、反力のY軸成分の大きさは、X軸成分およびZ軸成分の大きさより大きい。そこで、学習部14は、Y軸正方向に加わる反力の影響を最小化するために、基準中間点をY軸負方向に調節し、調節した基準中間点を目標中間点とする。実施の形態1では、学習部14は、軌跡モデルとして図9に示す目標中間点テーブルを生成し、学習済みデータ記憶部15に記憶させる。
 上述の学習処理が終了した後に行われるロボット10の制御処理である運用処理の動作の概要について、図10を用いて説明する。例えば、制御装置1は、学習処理が終了した後に、図示しない操作部からの操作によってロボット10の駆動条件を含む駆動指令が入力されると、図10の運用処理を開始する。図10の運用処理は、加工工具200がフランジ160に取り付けられ、加工対象物300に加工をしながら行われる。
 目標軌跡決定部16は、駆動条件を含む駆動指令を取得すると、学習済みデータ記憶部15から駆動指令が示す駆動条件に応じた目標中間点を取得する(ステップS21)。そして、目標軌跡決定部16は、駆動条件に基づき、ステップS21で取得した目標中間点を通る目標軌跡を決定する(ステップS22)。制御部17は、ステップS22で決定された目標軌跡に応じてロボット10のモータM1,M2,M3,M4,M5,M6を制御する(ステップS23)。
 制御装置1が行う運用処理の詳細について以下に説明する。
 目標軌跡決定部16は、駆動指令を取得すると、学習済みデータ記憶部15に記憶されている目標中間点テーブルから駆動指令が示す駆動条件に応じた目標中間点を取得する。そして、目標軌跡決定部16は、駆動条件が示す動作開始点から、目標中間点を通って、駆動条件が示す動作終了点に至る軌跡を示す目標軌跡を算出する。詳細には、目標軌跡決定部16は、駆動条件が示す動作開始点、目標中間点、および駆動条件が示す動作終了点に基づくスプライン補間を行って、駆動条件が示す動作開始点から、目標中間点を通って、駆動条件が示す動作終了点に至る目標軌跡を決定する。目標軌跡は、制御周期ごとの先端リンクの目標位置を示す。
 例えば、目標軌跡決定部16は、フランジ160の先端面160aが、ロボット10が固定されている平面に平行な状態で、フランジ160を動作開始点(0,0,0)から動作終了点(100,0,0)まで目標速度V1で移動させる駆動条件を示す駆動指令を取得する。目標軌跡決定部16は、取得した駆動条件に対応する図9に示す目標中間点テーブルの一行目のレコードが示す目標中間点(50,-3.5,0)を取得する。この目標中間点(50,-3.5,0)を図11に目標中間点TP1として示す。そして、目標軌跡決定部16は、動作開始点SP1(0,0,0)から目標中間点TP1(50,-3.5,0)を通って動作終了点EP1(100,0,0)に至る目標軌跡TT1を決定する。図11に点線で示すように、目標軌跡TT1は、動作開始点SP1から目標中間点TP1を通って動作終了点EP1に至る滑らかな曲線であって、XY平面においてY軸負方向に突出する曲線で示される。上述のように目標軌跡を決定すると、目標軌跡決定部16は、駆動条件および算出した目標軌跡を、制御部17に送る。
 図3に示す制御部17は、目標軌跡決定部16から取得した目標軌跡に応じてモータM1,M2,M3,M4,M5,M6への制御指令を生成し、制御指令をモータM1,M2,M3,M4,M5,M6に送信する。この結果、モータM1,M2,M3,M4,M5,M6が制御指令に従って回転し、第1アーム110、第2アーム120、第3アーム130、第4アーム140、第5アーム150およびフランジ160が回転する。これにより、先端リンクであるフランジ160が移動する。加工工具200が取り付けられたフランジ160が移動することで、加工工具200による加工対象物300の加工が行われる。加工時軌跡誤差を最小化する目標軌跡に応じてモータM1,M2,M3,M4,M5,M6を制御することで、図11に示すように、加工時の先端リンクの実軌跡AT1’が理想軌跡に近づく。
 以上説明したとおり、実施の形態1に係る制御装置1は、基準中間点と加工時軌跡誤差との対応を学習し、さらに反力に基づいて、加工時軌跡誤差を最小化する目標中間点を駆動条件に応じて示す軌跡モデルを生成する。制御装置1が目標中間点を通る目標軌跡に応じてロボット10を制御することで、加工対象物300の加工が行われる。目標軌跡は、反力に応じて調節されるため、加工時の実軌跡が理想軌跡に近づき、加工時の制御装置1によるロボット10の制御精度は高くなる。
 (実施の形態2)
 ロボット10の制御方法は、実施の形態1の例に限られず、加工時の反力を考慮する方法であれば任意である。加工時のロボット10の制御精度を高めるために、反力の変動の原因となる加工対象物300についての情報に応じてモータM1,M2,M3,M4,M5,M6を制御する制御装置2について、実施の形態1に係る制御装置1と異なる点を中心に実施の形態2で説明する。加工対象物300についての情報は、加工対象物300の重量、形状、材質等を含む。
 図12に示す実施の形態2に係るロボットシステム101は、制御装置2と、ロボット10と、を備える。制御装置2は、加工対象物300についての情報を取得する加工対象物特定部19と、加工対象物特定部19が取得した加工対象物300についての情報を学習し、目標中間点を駆動条件および加工対象物300についての情報に応じて示す軌跡モデルを生成する学習部20と、駆動条件を含む駆動指令および加工対象物300についての情報に基づき、目標中間点を通る目標軌跡を決定する目標軌跡決定部21と、を備える。ロボット10は、実施の形態1と異なり、力覚センサ190を備えない。
 制御装置2がロボット10の制御を行うことで、実施の形態1と同様に、加工工具200によって加工対象物300のバリ310を取り除くバリ取りが行われる。加工対象物300は、例えば、ウレタン発泡断熱材である。加工対象物300の成形時に、バリ310が生じる。ウレタン発泡断熱材で加工対象物300が形成されていると、バリ310の厚み、長さ等の形状が変動する。バリ310の厚みは、図2の例に示す棒状の加工工具200の延伸方向、すなわち、Z軸方向のバリ310の厚みである。バリ310の長さは、図2の例に示す加工工具200の移動方向、すなわち、X軸方向のバリ310の長さである。バリ310の形状が変動することで、加工時にフランジ160が受ける力である反力が変動し、加工時軌跡誤差が変動する。そこで、制御装置2は、駆動条件およびバリ310の形状に応じた目標中間点を通る目標軌跡に応じてロボット10を制御する。この結果、バリ310の形状が変動しても、加工時のロボット10の制御精度を向上させることができる。
 図12に示す加工対象物特定部19は、加工対象物300の画像データを生成する撮影装置191と、撮影装置191が生成した画像データから加工対象物300の形状を決定する形状決定部192と、を有する。
 実施の形態2では、加工対象物特定部19は、加工対象物300のバリ310の形状を取得し、取得したバリ310の形状を学習部20に送る。バリ310の形状は、加工工具200の延伸方向、すなわち、Z軸方向のバリ310の厚みの最小値、最大値、および平均値の少なくともいずれかを含む。以下の説明では、加工対象物特定部19は、Z軸方向のバリ310の厚みの最大値を取得するものとする。
 学習部20は、加工対象物特定部19からバリ310の形状を取得すると、加工時軌跡誤差と対応付ける。そして、学習部20は、加工時軌跡誤差およびZ軸方向のバリ310の厚みの最大値を対応付け、駆動条件およびバリ310の厚みに応じて加工時軌跡誤差を最小化する目標中間点を求める。
 目標軌跡決定部21は、駆動条件を含む駆動指令を取得すると、加工対象物特定部19からバリ310の形状を取得する。そして、目標軌跡決定部21は、学習済みデータ記憶部15から駆動指令が示す駆動条件およびバリ310の形状に応じた目標中間点を取得する。目標中間点を取得すると、駆動条件に基づき、目標軌跡決定部21は目標中間点を通る目標軌跡を算出する。
 制御装置2のハードウェア構成は、図4に示す制御装置1のハードウェア構成と同様である。制御装置2は、インターフェース33を介して、モータM1,M2,M3,M4,M5,M6およびエンコーダE1,E2,E3,E4,E5,E6に接続される。
 上記構成を有する制御装置2が行う学習処理について図13を用いて説明する。制御装置1と同様に、例えば、ロボット10の設置後に、制御装置2が初めて動作を開始する際に、制御装置2は図13の学習処理を開始する。図13の学習処理は、加工工具200がフランジ160に取り付けられ、加工対象物300に加工をしながら行われる。換言すれば、制御装置2が駆動条件ごとの加工時軌跡誤差を得るために、加工対象物300の加工が行われる。
 加工対象物特定部19は、加工対象物300についての情報を取得する(ステップS31)。例えば、加工対象物特定部19は、加工対象物300のバリ310の形状を取得する。詳細には、撮影装置191は、加工対象物300の周囲に設けられる複数のカメラを有し、複数のカメラで加工対象物300を撮影することで、加工対象物300の画像データを生成する。形状決定部192は、画像データから加工対象物300のバリ310の形状を決定する。例えば、外面の位置が急激に変化している部分をバリ310とみなすことができる。形状決定部192で算出された加工対象物300のバリ310の形状は、学習部20に送られる。後続のステップS11からS12までの処理は、図5に示す制御装置1が行う処理と同様である。
 制御部17は、ステップS12で決定された基準軌跡に応じてロボット10のモータM1,M2,M3,M4,M5,M6を制御し、実軌跡取得部13は、エンコーダE1,E2,E3,E4,E5,E6から取得したモータM1,M2,M3,M4,M5,M6の回転位置に基づいて、基準軌跡に応じて制御されたロボット10の軌跡を取得する(ステップS32)。学習部20は、ステップS32で取得された軌跡のステップS11で取得された駆動条件に基づく理想軌跡からのずれを示す加工時軌跡誤差を算出し、加工時軌跡誤差とステップS31で取得された加工対象物300についての情報を対応付ける(ステップS33)。学習部20は、図14に示す誤差テーブルを生成し、学習済みデータ記憶部15に記憶させる。図14の例では、バリ310の厚みの最大値が、記憶されている。
 駆動条件記憶部11に記憶されている各駆動条件について所定回数の対応付けが完了していない間は(ステップS34;No)、上述の処理が繰り返される。所定回数とは、軌跡モデルを生成するためのデータを取得することが可能となる回数である。加工対象物300のバリ310の形状は、変動するため、各駆動条件について上述の処理を繰り返すことで、図14に示すようにバリ310の変動に応じて変動する加工時軌跡誤差のデータを取得することができる。例えば、上述の処理を行った結果、図14に示すように、各駆動条件について、バリ310の厚みごとの加工時軌跡誤差を示す誤差テーブルが得られる。
 駆動条件記憶部11に記憶されている各駆動条件について所定回数の対応付けが完了すると(ステップS34;Yes)、学習部20は、加工時軌跡誤差を最小化する目標中間点を求め、駆動条件および加工対象物300についての情報に応じて目標中間点を示す軌跡モデルを生成する(ステップS35)。
 詳細には、学習部20は、バリ310の厚みに応じて加工時目標中間点を示す軌跡モデルを生成し、学習済みデータ記憶部15に記憶させる。例えば、学習部20は、多次元関数フィッティングまたはニューラルネットワークモデルに従って、教師あり学習を行って、軌跡モデルを生成する。教師あり学習とは、入力と結果のデータセットを大量に学習装置に与えることで、学習装置が大量のデータセットにある特徴を学習し、入力から結果を推定するモデルを生成することを意味する。例えば、学習部20は、駆動条件、基準中間点、およびバリ310の厚みを入力データとし、加工時軌跡誤差を結果データとして学習を行い、軌跡モデルを生成する。生成された軌跡モデルを利用して、加工時軌跡誤差を最小化する目標中間点を得ることが可能となる。
 機械学習においては、過学習により推定精度が低下することが知られているため、いずれの学習モデルを使用する場合でも、過学習を抑制することが好ましい。過学習を抑制する方法としては、例えば、学習するデータを正規化する方法、学習モデル内のパラメータ数を少なくする方法等がある。一例として、多次元関数フィッティングを行う際には、関数の次元数を制限、例えば、5次以下に制限することが好ましい。他の一例として、ニューラルネットワークモデルにおいて、中間層の数を制限、例えば、10層以下に制限することが好ましい。また、ニューラルネットワークモデルにおいては、学習モデルの特定のレイヤーの出力を学習時にランダムに0としてもよい。さらに、上述の方式を組み合わせることで、過学習を抑制してもよい。
 ステップS35の処理が完了すると、制御装置2は学習処理を終了する。上述の学習処理が終了した後に行われる運用処理の動作について、図15を用いて説明する。例えば、制御装置2は、学習処理が終了した後に、図示しない操作部からの操作によってロボット10の駆動条件を含む駆動指令が入力されると、図15の運用処理を開始する。
 目標軌跡決定部16は、駆動条件を含む駆動指令を取得すると、加工対象物特定部19から加工対象物300についての情報、例えば、加工対象物300のバリ310の厚みを取得する(ステップS24)。目標軌跡決定部16は、学習済みデータ記憶部15から、ステップS24で取得した駆動指令が示す駆動条件およびステップS24で取得したバリ310の厚みに応じた目標中間点を取得する(ステップS25)。バリ310の厚みが一致するものがなければ、バリ310の厚みの値が近いデータに基づいて補間処理を行って、目標中間点を取得すればよい。
 ステップS22,S23の処理は、図10に示す実施の形態1に係る制御装置1が行う処理と同様である。
 以上説明したとおり、実施の形態2に係る制御装置2は、基準中間点、加工時軌跡誤差および加工対象物300についての情報の対応を学習して、加工時軌跡誤差を最小化する目標中間点を求め、駆動条件および加工対象物300についての情報に応じて目標中間点を示す軌跡モデルを生成する。制御装置2が目標中間点を通る目標軌跡に応じてロボット10を制御することで、加工対象物300の加工が行われる。目標軌跡は、加工対象物300についての情報、例えば、加工対象物300のバリ310の厚みに応じて調節されるため、加工時の実軌跡が理想軌跡に近づき、加工時の制御装置2によるロボット10の制御精度は高くなる。
 (実施の形態3)
 加工時の反力を考慮したロボット10の制御は、上述の実施の形態に限られず、上述の実施の形態を組み合わせた方法でロボット10を制御してもよい。加工時の反力および加工対象物300についての情報に応じてロボット10を制御する制御装置3について、実施の形態1,2と異なる点を中心に、実施の形態3で説明する。
 図16に示す実施の形態3に係るロボットシステム102は、制御装置3と、ロボット10と、を備える。制御装置3は、実施の形態1に係る制御装置1の構成に加えて、加工対象物300についての情報を取得する加工対象物特定部19を備える。制御装置3は、加工時軌跡誤差、反力、および加工対象物特定部19が取得した加工対象物300についての情報の対応を学習して、加工時軌跡誤差を最小化する目標中間点を求め、駆動条件および加工対象物300についての情報に応じて目標中間点を示す軌跡モデルを生成する学習部22を備える。制御装置3では、制御部17は、反力取得部18から反力を取得する。
 制御装置3のハードウェア構成は、図4に示す制御装置1のハードウェア構成と同様である。制御装置3は、インターフェース33を介して、モータM1,M2,M3,M4,M5,M6、エンコーダE1,E2,E3,E4,E5,E6、および力覚センサ190に接続される。
 上記構成を有する制御装置3が行う学習処理について図17を用いて説明する。制御装置1と同様に、例えば、ロボット10の設置後に、制御装置3が初めて動作を開始する際に、制御装置3は図17の学習処理を開始する。ステップS31の処理は、図13に示す制御装置2が行う処理と同様である。ステップS11からS13の処理は、図5に示す制御装置1が行う処理と同様である。
 ただし、ステップS13において、制御部17は、反力が増大すると、基準軌跡が示す位置を加工対象物300から遠い位置に調節して、調節した基準軌跡に応じてモータM1,M2,M3,M4,M5,M6を制御する。これにより、大きな反力によって先端リンクの軌跡が理想軌跡から大きくずれることが抑制される。
 学習部22は、実施の形態1と同様に、ステップS11で取得された駆動条件に基づく理想軌跡とステップS14で測定された実軌跡との差分を示す加工時軌跡誤差を算出し、加工時軌跡誤差とステップS14で算出された反力とステップS31で取得された加工対象物300についての情報を対応付ける(ステップS36)。詳細には、学習部22は、理想軌跡上の制御周期ごとの先端リンクの理想位置と加工時実軌跡が示す制御周期ごとの先端リンクの実際の位置との距離が最大値となるときの加工時軌跡誤差と反力とを対応付ける。学習部22は、図18に示す誤差テーブルを生成し、学習済みデータ記憶部15に記憶させる。図18の例では、誤差テーブルに(Fx,Fy,Fz)で表される反力が記憶されている。図18の例では、バリ310の厚みの最大値が、記憶されている。
 図17に示すように、駆動条件記憶部11に記憶されている各駆動条件について所定回数の対応付けが完了していない間は(ステップS34;No)、上述の処理が繰り返される。所定回数とは、軌跡モデルを生成するためのデータを取得することが可能となる回数である。
 駆動条件記憶部11に記憶されている各駆動条件について所定回数の対応付けが完了すると(ステップS34;Yes)、学習部20は、加工時軌跡誤差を最小化する目標中間点を駆動条件および加工対象物300についての情報に応じて示す軌跡モデルを生成する(ステップS37)。
 詳細には、学習部22は、バリ310の厚みに応じて加工時目標中間点を示す軌跡モデルを生成し、学習済みデータ記憶部15に記憶させる。例えば、学習部22は、ニューラルネットワークモデルに従って、教師あり学習を行って、軌跡モデルを生成する。詳細には、学習部22は、駆動条件、基準中間点、反力およびバリ310の厚みを入力データとし、加工時軌跡誤差を結果データとして学習を行い、軌跡モデルを生成する。生成された軌跡モデルを利用して、加工時軌跡誤差を最小化する目標中間点を決定することが可能となる。過学習を抑制するため、軌跡モデルは、10個未満の中間層を有することが好ましい。
 ステップS37の処理が完了すると、制御装置3は学習処理を終了する。上述の学習処理が終了した後に行われる運用処理は、図15に示す制御装置2が行う処理と同様である。
 以上説明したとおり、実施の形態3に係る制御装置3は、基準中間点、加工時軌跡誤差、反力および加工対象物300についての情報の対応を学習し、加工時軌跡誤差を最小化する目標中間点を求めて、加工時軌跡誤差を最小化する目標中間点を駆動条件および加工対象物300についての情報に応じて示す軌跡モデルを生成する。制御装置3が目標中間点を通る目標軌跡に応じてロボット10を制御することで、加工対象物300の加工が行われる。目標軌跡は、加工対象物300についての情報、例えば、加工対象物300のバリ310の厚みに応じて調節されるため、加工時の実軌跡が理想軌跡に近づき、加工時の制御装置3によるロボット10の制御精度は高くなる。
 加工対象物300についての情報は、上述の例に限られず、反力の変動の要因となる加工対象物300についての情報であれば任意である。一例として、加工対象物特定部19は、加工工具200の移動方向、上述の例ではX軸方向のバリ310の長さの最小値、最大値、または平均値でもよい。
 (実施の形態4)
 ロボット10の軌跡を取得する方法は、上述の例に限られない。ロボット10と、実施の形態1とは異なる方法でロボット10の軌跡を取得する制御装置4と、を備えるロボットシステム103について、実施の形態1に係るロボットシステム100と異なる点を中心に説明する。
 図19に示す制御装置4は、モータM1,M2,M3,M4,M5,M6の回転位置によらずロボット10の軌跡を取得する実軌跡取得部23を備える。実軌跡取得部23は、ロボット10の軌跡を測定する測定器、例えば、三次元測定器を有し、測定器の測定値に応じてロボット10の軌跡を取得する。三次元測定器は、ロボット10の先端リンクの移動範囲にレーザー光を照射し、ロボット10の先端リンクで反射されたレーザー光を受信することで、ロボット10の先端リンクの位置を取得する。
 実施の形態4では、実軌跡取得部23は、上述の処理を制御周期ごとに行って、制御周期ごとのXYZ直交座標系における先端リンクの実際の位置である実位置を示す実軌跡を算出する。そして、実軌跡取得部23は、実軌跡を学習部14に送る。
 制御装置4のハードウェア構成は、図4に示す制御装置1と同様である。
 上記構成を有する制御装置4が行う学習処理は、先端リンクの軌跡の取得方法を除いて、制御装置1と同様である。制御装置4が行う運用処理は、制御装置1と同様である。
 以上説明した通り、実施の形態4に係る制御装置4は、モータM1,M2,M3,M4,M5,M6の回転位置によらずロボット10の軌跡を取得するため、取得した実軌跡にロボット10の機械的剛性に起因する誤差が含まれず、実軌跡の精度が向上する。
 本開示は、上述の実施の形態に限られない。
 駆動条件は、上述の例に限られない。一例として、駆動条件は、加工対象物300についての情報をさらに含むものでもよい。具体的には、駆動条件は、先端リンクの動作開始点、動作終了点、速度、および姿勢、ならびに加工対象物300の重量を含むものでもよい。学習部14は、外部装置、例えば加工対象物300の重量を測定する重量センサから測定値を取得すればよい。詳細には、制御装置1-4は、重量センサから測定値を取得し、駆動条件記憶部11に記憶されている駆動条件に従ってロボット10を制御し、駆動条件および重量センサの測定値に対応する加工時軌跡誤差を算出して、基準中間点と重量センサの測定値と加工時軌跡誤差の対応を学習して、加工時軌跡誤差を最小化する目標中間点を求め、駆動条件および加工対象物300の重量に応じて目標中間点を示す軌跡モデルを生成する。この結果、学習部14は、図20に示すように、先端リンクの動作開始点、動作終了点、速度、および姿勢、ならびに加工対象物300の重量を含む駆動条件と目標中間点とを対応付ける目標中間点テーブルを生成する。
 運用時において、目標軌跡決定部16は、駆動指令を取得すると、学習済みデータ記憶部15から、駆動指令が示す先端リンクの動作開始点、動作終了点、速度、および姿勢と重量センサの測定値に応じた目標中間点を取得する。そして、目標軌跡決定部16は、駆動指令が示す先端リンクの動作開始点、動作終了点、速度、および姿勢に基づき、目標中間点を通る目標軌跡を決定する。加工対象物300の重量に応じた目標軌跡に基づいてロボット10が制御されることで、ロボット10の制御精度が向上する。
 他の一例として、駆動条件は、先端リンクの動作開始点、動作終了点、動作開始点から動作終了点に至るまでに要する時間および姿勢を含むものでもよい。
 上述の実施の形態では、駆動条件は平面での直線的な移動を指示しているが、駆動条件は、三次元での移動、曲線的な移動等を指示してもよい。
 上述の実施の形態では、駆動条件記憶部11に記憶されている駆動条件テーブルの1つのレコードには、1つの基準中間点が記憶されているが、駆動条件テーブルの1つのレコードに複数の基準中間点が記憶されてもよい。この場合、基準軌跡決定部12は、同じレコードに記憶されている複数の基準中間点を通る基準軌跡を決定すればよい。
 駆動条件記憶部11および学習済みデータ記憶部15は、制御装置1-4の外部に設けられてもよい。一例として、駆動条件記憶部11および学習済みデータ記憶部15は、ネットワーク上の記憶装置の機能として実現されてもよい。
 基準軌跡、理想軌跡、および目標軌跡の決定方法は、上述の例に限られない。詳細には、実施の形態1において基準軌跡決定部12が決定する基準軌跡RT1は、動作開始点SP1から基準中間点RP1を通って動作終了点EP1に至る滑らかな曲線であって、XY平面においてY軸負方向に突出する曲線で示されるが、基準軌跡RT1はこのような曲線に限られず、複数の方向に突出する曲線で示されてもよい。一例として、基準軌跡RT1は、動作開始点SP1から動作終了点EP1に至るまでにY軸負方向に突出し、かつ、動作開始点SP1および動作終了点EP1の付近でXY平面においてY軸正方向に突出する曲線でも示されてもよい。
 他の一例として、基準軌跡決定部12は、駆動条件が示す動作開始点と基準中間点を線形補間し、基準中間点と駆動条件が示す動作終了点を線形補間することで、基準軌跡を算出してもよい。基準軌跡が線形補間により算出されても、制御部17がモータM1,M2,M3,M4,M5,M6を滑らかに回転させる制御を行うことで、先端リンクは滑らかに移動し、実軌跡は滑らかな曲線となる。
 他の一例として、基準軌跡決定部12は、動作開始点、基準中間点、および動作終了点と制御周期ごとの先端リンクの基準位置とが対応付けられている図示しないテーブルを用いて、基準軌跡を決定してもよい。
 理想軌跡および目標軌跡についても、上述の基準軌跡の決定方法と同様の方法によって、決定することが可能である。
 実施の形態1では、ロボット10を直線的に動かすため、理想軌跡が直線であるが、理想軌跡はロボット10の動かし方に応じて定められればよく、直線に限られない。具体的には、理想軌跡は、円弧、曲線、または直線、円弧、および曲線の組合せでもよい。
 実施の形態1において目標軌跡決定部16が決定する目標軌跡TT1は、動作開始点SP1から目標中間点TP1を通って動作終了点EP1に至る滑らかな曲線であって、XY平面においてY軸負方向に突出する曲線で示されるが、目標軌跡TT1はこのような曲線に限られない。一例として、目標軌跡TT1は、動作開始点SP1から動作終了点EP1に至るまでにY軸負方向に突出し、かつ、動作開始点SP1および動作終了点EP1の付近でXY平面においてY軸正方向に突出する曲線で示されてもよい。
 他の一例として、目標軌跡決定部16は、駆動条件が示す動作開始点と目標中間点を線形補間し、目標中間点と駆動条件が示す動作終了点を線形補間することで、目標軌跡を決定してもよい。目標軌跡が線形補間により決定されても、制御部17がモータM1,M2,M3,M4,M5,M6を滑らかに回転させる制御を行うことで、先端リンクは滑らかに移動し、実軌跡は滑らかな曲線となる。
 目標中間点の決定方法は、上述の例に限られない。一例として、学習部14は、線形回帰、曲線回帰、多項式回帰、多次元関数フィッティング等を用いて、目標中間点を決定してもよい。例えば、学習部14は、基準中間点のXYZ各座標成分を独立変数し、加工時軌跡誤差を目的関数として多次元関数フィッティングを行って、目標中間点を決定してもよい。
 学習部14は、理想軌跡が示す制御周期ごとの先端リンクの位置である理想位置と実軌跡が示す制御周期ごとの先端リンクの位置である実位置との距離を算出し、距離が極大値となるときの実位置の理想位置からのずれを軌跡誤差として用いてもよい。この場合、学習部14は、図21に示すように、複数の加工時軌跡誤差を誤差テーブルに記憶してもよい。そして、学習部14は、加工時軌跡誤差として記憶されている極大値に基づいて、目標中間点を算出すればよい。学習部20,22についても同様である。
 学習部14は、軌跡誤差に対応する先端リンクの実際の位置を誤差テーブルに記憶してもよい。例えば、学習部14は、制御周期ごとの先端リンクの理想位置と実軌跡が示す制御周期ごとの先端リンクの実際の位置との距離の極大値を加工時軌跡誤差として用いる際には、図22に示すように、距離が極大値となるときの先端リンクの実際の位置である実位置を誤差テーブルに記憶してもよい。そして、学習部14は、加工時軌跡誤差として記憶されている極大値および極大値に対応する先端リンクの実際の位置に基づいて、目標中間点を算出すればよい。学習部20,22についても同様である。
 学習部14は、図23に示すように、距離が極大値となるときの反力を誤差テーブルに記憶してもよい。そして、学習部14は、加工時軌跡誤差として記憶されている極大値および極大値に対応する反力に基づいて、目標中間点を算出すればよい。
 学習部14,20,22は、学習処理が完了した後に行う運用処理に並行して学習処理を再度行ってもよい。詳細には、学習部14,20,22は、運用処理の際に、目標軌跡決定部16が取得した駆動指令が示す駆動条件に応じた理想軌跡と実軌跡取得部13が取得した実軌跡との差分を示す軌跡誤差を算出し、加工時軌跡誤差を得る。運用処理時と並行して学習処理を行うことで、軌跡誤差を最小化する目標中間点の精度が向上し、結果としてロボット10の制御精度が向上する。
 学習部14,20,22は、軌跡誤差として、先端リンクの実位置の理想位置からのずれの絶対値、平均値、中央値を用いて、目標中間点を決定してもよい。
 加工対象物特定部19は、加工対象物300についての情報を取得するものであれば、任意である。一例として、撮影装置191は、三次元カメラでもよいし、二次元カメラでもよい。他の一例として、加工対象物特定部19は、ロボット10に取り付けられて、加工対象物300の形状を測定するレーザースキャナを有してもよい。
 加工対象物特定部19によるバリ310の形状の決定方法は上述の例に限られない。一例として、加工対象物特定部19が有する形状決定部192は、撮影装置191が生成した画像データと設計データとを比較して、画像データと設計データとが一致しない部分をバリ310と判定してもよい。
 制御装置1-4が行う学習処理を、他の装置の機能としてもよい。一例として、実施の形態1に係る制御装置1の機能を、ロボット10の制御を行う制御装置5と軌跡モデルを生成する学習装置6によって実現する例を図24に示す。図24に示すロボットシステム104は、ロボット10と、ロボット10を制御する制御装置5と、ロボット10を制御するための軌跡モデルを生成する学習装置6と、を備える。
 学習装置6は、駆動条件記憶部11と、基準軌跡決定部12と、実軌跡取得部13と、学習部14と、学習済みデータ記憶部15と、反力取得部18と、を備える。学習装置6の各部の機能は制御装置1の対応する各部の機能と同様である。制御装置5は、目標軌跡決定部16と、制御部17と、を備える。制御装置5の各部の機能は制御装置1の対応する各部の機能と同様である。制御装置5が備える目標軌跡決定部16は、学習装置6が備える学習済みデータ記憶部15から軌跡モデルを取得すればよい。制御装置5が備える制御部17は、学習装置6が備える基準軌跡決定部12から取得した基準軌跡または目標軌跡決定部16で算出した目標軌跡に応じてロボット10を制御する。学習済みデータ記憶部15は、制御装置5および学習装置6からアクセス可能な独立した記憶装置としてもよい。同様に、制御装置2,3の機能を、制御装置5と学習装置6によって実現することができる。
 他の一例として、図24に示すロボットシステム104において、学習装置6が備える学習部14の機能の内、軌跡モデルを生成する処理を制御装置5にもたせてもよい。この場合、学習装置6は、駆動条件に応じた基準中間点ごとに加工時軌跡誤差を算出して、加工時軌跡誤差を学習済みデータ記憶部15に記憶すればよい。制御装置5は、学習装置6が予め学習したデータ、具体的には、学習済みデータ記憶部15に記憶されている加工時軌跡誤差を取得し、保持すればよい。そして、制御装置5は、加工時軌跡誤差を最小化する目標中間点を駆動条件ごとに示す軌跡モデルを生成すればよい。
 制御装置1-5の制御対象であるロボット10の軌跡は、先端リンクの軌跡に限られず、ロボット10またはロボット10に取り付けられる加工工具200の内、任意の部位の軌跡である。
 実軌跡取得部23による先端リンクの軌跡の取得方法は、上述の例に限られない。一例として、実軌跡取得部23は、測定器として複数のカメラを有する。実軌跡取得部23は、複数のカメラによって、ロボット10の先端リンクの移動範囲を撮影し、複数のカメラで撮影された画像からロボット10の先端リンクの位置を決定してもよい。
 他の一例として、実軌跡取得部23は、測定器としてロボット10の先端リンクに取り付けられた加速度センサを有する。実軌跡取得部23は、加速度センサの測定値に基づいてロボット10の先端リンクの位置を決定してもよい。
 実軌跡取得部23は、制御周期とは独立した取得周期ごとに、ロボット10の先端リンクの位置を測定してもよい。この場合、学習部14は、取得周期ごとロボット10の先端リンクの位置を補間して、制御周期ごとのロボット10の先端リンクの位置を決定し、理想位置と比較すればよい。詳細には、学習部14は、線形補間、多項式補間等を用いて補間処理を行う。
 制御部17は、上述の実軌跡取得部23で取得されたロボット10の先端リンクの位置に応じて、モータM1,M2,M3,M4,M5,M6をフィードバック制御してもよい。
 その他、上述のハードウェア構成およびフローチャートは一例であり、任意に変更および修正が可能である。一例として、制御装置1-4および学習装置6は、図示しない操作部の操作に応じて、学習処理を開始してもよい。
 上述の実施の形態では、実際にロボット10を動作させて軌跡誤差を求めるが、学習処理をシミュレーションによって行ってもよい。
 上述の動作を実行するためのコンピュータプログラムを、フレキシブルディスク、CD-ROM(Compact Disc - Read Only Memory)、DVD-ROM(Digital Versatile Disc - Read Only Memory)などのコンピュータが読み取り可能な記録媒体に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、上述の動作を実行する制御装置1-5および学習装置6を実現してもよい。あるいは、専用のシステムによって、上述の動作を実行する制御装置1-5および学習装置6を実現してもよい。上記コンピュータプログラムは、搬送波に重畳されて通信ネットワークを介して提供されてもよい。
 ロボット10は、上述の例に限られず、任意である。一例として、制御装置1-5は、図25に示す水平多関節ロボットであるロボット40を制御してもよい。ロボット40は、第1アーム410と、第2アーム420と、第3アーム430と、ベース440と、を備える。第1アーム410は、Z軸に平行な回転軸AX1周りに回転可能な状態でベース440に取り付けられる。第2アーム420は、第1アーム410に連結され、Z軸に平行な回転軸AX2周りに回転可能である。第3アーム430は、第2アーム420に連結され、Z軸に平行な回転軸AX3周りに回転可能である。さらに第3アーム430は、回転軸AX3に沿う方向に伸縮可能である。ベース440は、平面に固定されて、第1アーム410を支持する。第3アーム430に加工工具200を取り付けることが可能である。制御装置1-5は、ロボット40が備える図示しないモータを制御することで、第3アーム430の先端である先端リンクの位置を制御すればよい。
 他の一例として、制御装置1-5は、図26に示す複数の軸を有するロボットであるロボット50を制御してもよい。ロボット50は、第1アーム510と、第2アーム520と、ベース530と、を備える。第1アーム510は、X軸方向に移動可能な状態でベース530に取り付けられる。第2アーム520は、第1アーム510に連結され、Y軸方向に移動可能である。ベース530は、平面に固定されて、第1アーム510を支持する。第2アーム520には、加工工具200が取り付けられている。図26の例では、第2アーム520は印刷ヘッドであって、液体吐出部および吐出ノズルを有する加工工具200によって、ベース530上に設置されたステージ540上の基板に電極を形成する。詳細には、加工工具200の先端は、ステージ540上をX軸方向およびY軸方向に移動可能である。制御装置1-5は、ロボット50が備える図示しないモータを制御することで、第2アーム520の先端である先端リンクの位置を制御すればよい。
 上述の例では、ロボット10,40,50の先端リンクの位置は、XYZ直交座標系で定義されたが、円筒座標系で定義されてもよい。
 本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本開示の範囲を限定するものではない。すなわち、本開示の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、この開示の範囲内とみなされる。
 本出願は、2021年2月18日に出願された、日本国特許出願特願2021-23848号に基づく。本明細書中に日本国特許出願特願2021-23848号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
 1,2,3,4,5 制御装置、6 学習装置、10,40,50 ロボット、11 駆動条件記憶部、12 基準軌跡決定部、13,23 実軌跡取得部、14,20,22 学習部、15 学習済みデータ記憶部、16,21 目標軌跡決定部、17 制御部、18 反力取得部、19 加工対象物特定部、31 プロセッサ、32 メモリ、33 インターフェース、34 バス、100,101,102,103,104 ロボットシステム、110,410,510 第1アーム、120,420,520 第2アーム、130,430 第3アーム、140 第4アーム、150 第5アーム、160 フランジ、160a 先端面、170,440,530 ベース、180 固定部、190 力覚センサ、191 撮影装置、192 形状決定部、200 加工工具、300 加工対象物、310 バリ、540 ステージ、AT0,AT1,AT1’ 実軌跡、AX1,AX2,AX3,AX4,AX5,AX6 回転軸、E1,E2,E3,E4,E5,E6 エンコーダ、EP1 動作終了点、ER1,ER2 軌跡誤差、M1,M2,M3,M4,M5,M6 モータ、RP1 基準中間点、RT1 基準軌跡、SP1 動作開始点、TP1 目標中間点、TT1 目標軌跡。

Claims (19)

  1.  加工対象物の加工を行うための加工工具が取り付け可能なロボットを制御する制御装置であって、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に、前記動作開始点から前記動作終了点に至るまでに前記ロボットが通る位置を示す基準中間点を対応付けて記憶している駆動条件記憶部と、
     前記駆動条件記憶部から前記基準中間点を取得し、取得した前記基準中間点について、前記駆動条件に基づき、該基準中間点を通る基準軌跡を決定する基準軌跡決定部と、
     前記ロボットの実際の軌跡を取得する実軌跡取得部と、
     前記基準軌跡に応じて前記ロボットを制御することで前記加工対象物の加工を行う場合に前記実軌跡取得部で取得された加工時実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す加工時軌跡誤差を取得された前記基準中間点について求め、前記基準中間点と前記加工時軌跡誤差との対応を学習して、前記加工時軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部と、
     前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部と、
     前記基準軌跡または前記目標軌跡に応じて前記ロボットを制御する制御部と、
     を備える制御装置。
  2.  前記実軌跡取得部は、前記ロボットの軌跡を測定する測定器を有し、前記測定器の測定値に応じて前記ロボットの前記軌跡を取得する、
     請求項1に記載の制御装置。
  3.  加工対象物の加工を行うための加工工具が取り付け可能なロボットを制御する制御装置であって、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に対応づけられていて、前記動作開始点から前記動作終了点に至るまでに前記ロボットが通る位置を示す基準中間点を用いて、前記加工対象物の加工が行われる場合の前記基準中間点を通る基準軌跡に応じて制御された前記ロボットの実際の軌跡を示す加工時実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す加工時軌跡誤差を求め、前記基準中間点と前記加工時軌跡誤差との対応を学習して、前記加工時軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部と、
     前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部と、
     前記目標軌跡に応じて前記ロボットを制御する制御部と、
     を備える制御装置。
  4.  前記加工工具による加工の際に前記加工対象物から前記ロボットが受ける力である反力を取得する反力取得部をさらに備え、
     前記学習部は、前記基準中間点、前記加工時軌跡誤差、および前記加工時軌跡誤差が生じる場合の前記反力の対応を学習して、前記軌跡モデルを生成する、
     請求項1から3のいずれか1項に記載の制御装置。
  5.  前記制御部は、前記基準軌跡または前記目標軌跡、および前記反力取得部が取得した前記反力に応じて前記ロボットを制御する、
     請求項4に記載の制御装置。
  6.  前記制御部は、前記反力の増大に従って、前記基準軌跡または前記目標軌跡が示す前記ロボットの位置を前記加工対象物から遠い位置に調節して、調節した前記ロボットの位置に応じて前記ロボットを制御する、
     請求項5に記載の制御装置。
  7.  前記加工対象物についての情報を取得する加工対象物特定部をさらに備え、
     前記学習部は、前記基準中間点、前記加工時軌跡誤差、および前記加工対象物についての情報の対応を学習して、前記駆動条件および前記加工対象物についての情報に応じて前記目標中間点を示す前記軌跡モデルを生成する、
     請求項1から6のいずれか1項に記載の制御装置。
  8.  前記加工対象物特定部は、
     前記加工対象物の画像データを生成する撮影装置と、
     前記撮影装置が生成した前記画像データから前記加工対象物の形状を決定する形状決定部と、を有し、
     前記加工対象物についての情報として、前記加工対象物の形状を取得する、
     請求項7に記載の制御装置。
  9.  前記加工対象物特定部は、前記ロボットに取り付けられて、前記加工対象物の形状を測定するレーザースキャナを有し、
     前記加工対象物についての情報として、前記加工対象物の形状を取得する、
     請求項7に記載の制御装置。
  10.  前記加工工具による加工は、前記加工対象物のバリ取りであって、
     前記加工対象物特定部は、前記加工対象物に含まれるバリの形状を取得する、
     請求項7から9のいずれか1項に記載の制御装置。
  11.  棒状の形状を有する前記加工工具が前記ロボットに取り付けられ、
     前記バリの形状は、前記加工工具の延伸方向における前記バリの厚みの最小値、最大値、および平均値の少なくともいずれかを含む、
     請求項10に記載の制御装置。
  12.  前記バリの形状は、前記加工工具の移動方向における前記バリの長さの最小値、最大値、および平均値の少なくともいずれかを含む、
     請求項10に記載の制御装置。
  13.  前記加工時軌跡誤差は、前記理想軌跡が示す前記ロボットの位置である理想位置と前記実軌跡が示す前記ロボットの位置である実位置との距離が極大値となるときの前記実位置の前記理想位置からのずれを示す、
     請求項1から12のいずれか1項に記載の制御装置。
  14.  前記極大値は、前記理想位置と前記実位置との距離の最大値である、
     請求項13に記載の制御装置。
  15.  加工対象物の加工を行うための加工工具が取り付け可能なロボットを制御する制御装置であって、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に応じて、前記ロボットを制御することで前記加工対象物の加工を行う場合の前記ロボットの実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す加工時軌跡誤差を最小化する目標中間点を示す軌跡モデルを取得し、前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部と、
     前記目標軌跡に応じて前記ロボットを制御する制御部と、
     を備える制御装置。
  16.  加工対象物の加工を行うための加工工具が取り付け可能なロボットと、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に応じて前記ロボットを制御する請求項1から15のいずれか1項に記載の制御装置と、
     を備えるロボットシステム。
  17.  加工対象物の加工を行うための加工工具が取り付け可能なロボットを制御するための軌跡モデルを学習する学習装置であって、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に、前記動作開始点から前記動作終了点に至るまでに前記ロボットが通る位置を示す基準中間点を対応付けて記憶している駆動条件記憶部と、
     前記駆動条件記憶部から前記基準中間点を取得し、取得した前記基準中間点について、前記駆動条件に基づき、該基準中間点を通る基準軌跡を決定する基準軌跡決定部と、
     前記ロボットの実際の軌跡を取得する実軌跡取得部と、
     前記基準軌跡に応じて前記ロボットを制御することで前記加工対象物の加工を行う場合に前記実軌跡取得部で取得された加工時実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す加工時軌跡誤差を取得された前記基準中間点について求め、前記基準中間点と前記加工時軌跡誤差との対応を学習して、前記加工時軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部と、
     を備える学習装置。
  18.  加工対象物の加工を行うための加工工具が取り付け可能なロボットを制御する制御方法であって、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に基づき、前記駆動条件に対応付けられていて、前記動作開始点から前記動作終了点に至るまでに前記ロボットが通る位置を示す基準中間点を通る基準軌跡を決定し、
     前記基準軌跡に応じて前記ロボットを制御することで前記加工対象物の加工を行う場合の前記ロボットの加工時実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す加工時軌跡誤差を前記基準中間点のそれぞれについて求め、前記基準中間点と前記加工時軌跡誤差との対応を学習して、前記加工時軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成し、
     前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定し、
     前記基準軌跡または前記目標軌跡に応じて前記ロボットを制御する、
     制御方法。
  19.  加工対象物の加工を行うための加工工具が取り付け可能なロボットを制御するコンピュータを、
     前記ロボットの動作開始点および動作終了点を少なくとも指定する駆動条件に、前記動作開始点から前記動作終了点に至るまでに前記ロボットが通る位置を示す基準中間点を対応付けて記憶している駆動条件記憶部、
     前記駆動条件記憶部から前記基準中間点を取得し、取得した前記基準中間点について、前記駆動条件に基づき、該基準中間点を通る基準軌跡を決定する基準軌跡決定部、
     前記ロボットの実際の軌跡を取得する実軌跡取得部、
     前記基準軌跡に応じて前記ロボットを制御することで前記加工対象物の加工を行う場合に前記実軌跡取得部で取得された加工時実軌跡の前記駆動条件に基づく理想軌跡からのずれを示す加工時軌跡誤差を取得された前記基準中間点について求め、前記基準中間点と前記加工時軌跡誤差との対応を学習して、前記加工時軌跡誤差を最小化する目標中間点を前記駆動条件に応じて示す軌跡モデルを生成する学習部、
     前記軌跡モデルから得られる前記目標中間点を通る目標軌跡を決定する目標軌跡決定部、および
     前記基準軌跡または前記目標軌跡に応じて前記ロボットを制御する制御部、
     として機能させるためのプログラム。
PCT/JP2022/005293 2021-02-18 2022-02-10 制御装置、ロボットシステム、学習装置、制御方法、およびプログラム WO2022176762A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202280014157.2A CN116887954A (zh) 2021-02-18 2022-02-10 控制装置、机器人系统、学习装置、控制方法以及程序
JP2023500791A JP7433509B2 (ja) 2021-02-18 2022-02-10 制御装置、ロボットシステム、学習装置、軌跡モデル、制御方法、およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-023848 2021-02-18
JP2021023848 2021-02-18

Publications (1)

Publication Number Publication Date
WO2022176762A1 true WO2022176762A1 (ja) 2022-08-25

Family

ID=82931639

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/005293 WO2022176762A1 (ja) 2021-02-18 2022-02-10 制御装置、ロボットシステム、学習装置、制御方法、およびプログラム

Country Status (3)

Country Link
JP (1) JP7433509B2 (ja)
CN (1) CN116887954A (ja)
WO (1) WO2022176762A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01106107A (ja) * 1987-10-19 1989-04-24 Hitachi Ltd 手先視覚を持つロボットの制御方法とその装置
JPH05337785A (ja) * 1992-06-05 1993-12-21 Hitachi Constr Mach Co Ltd 研削ロボットの研削経路修正装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5337785B2 (ja) 2010-12-03 2013-11-06 株式会社日立製作所 セルラシステムおよびハンドオフ品質改善方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01106107A (ja) * 1987-10-19 1989-04-24 Hitachi Ltd 手先視覚を持つロボットの制御方法とその装置
JPH05337785A (ja) * 1992-06-05 1993-12-21 Hitachi Constr Mach Co Ltd 研削ロボットの研削経路修正装置

Also Published As

Publication number Publication date
CN116887954A (zh) 2023-10-13
JP7433509B2 (ja) 2024-02-19
JPWO2022176762A1 (ja) 2022-08-25

Similar Documents

Publication Publication Date Title
Baeten et al. Hybrid vision/force control at corners in planar robotic-contour following
JP5754454B2 (ja) ロボットピッキングシステム及び被加工物の製造方法
JP2015155126A (ja) ロボットシステムのツール座標系補正方法、およびロボットシステム
JPH11502776A (ja) 多軸工業ロボットの較正の装置と方法
US10864628B2 (en) Robot system, robot controller, and method for producing to-be-worked material
CN114952838B (zh) 一种基于末端测量反馈的机械臂关节轨迹规划方法
CN110154043B (zh) 基于加工结果进行学习控制的机器人系统及其控制方法
US11141855B2 (en) Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article
JP6652310B2 (ja) ロボットシステム、ロボットアームの制御方法、プログラム、記録媒体、及び物品の製造方法
JP2020171989A (ja) ロボット教示システム
JP7307263B2 (ja) バリ取り装置、及び制御システム
WO2022176762A1 (ja) 制御装置、ロボットシステム、学習装置、制御方法、およびプログラム
Baeten et al. Combining force control and visual servoing for planar contour following
JP6908642B2 (ja) レーザ加工装置
WO2022176761A1 (ja) 制御装置、ロボットシステム、学習装置、制御方法、およびプログラム
Cong Combination of two visual servoing techniques in contour following task
JP2023130891A (ja) ロボットシステム、プランニングシステム、ロボット制御方法、およびプランニングプログラム
JP2019093504A (ja) 物品の製造方法及びロボットシステム
JP2000311010A (ja) 軌跡制御装置、プログラム作成装置およびプログラム変換装置
Lange et al. Predictive visual tracking of lines by industrial robots
Mewes et al. The correction of the nozzle-bed-distance in robotic fused deposition modeling
Mewes et al. Online-correction of robot-guided fused deposition modeling
Maťuga Control and positioning of robotic arm on CNC cutting machines and their applications in industry
US20230364782A1 (en) Techniques for controlling movement of a machine
Rizki Evaluation and development of a method for compensating the positioning error of computer numeric control equipment

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: 22756082

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023500791

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 202280014157.2

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: 22756082

Country of ref document: EP

Kind code of ref document: A1