WO2020246059A1 - パラメータ算出装置、ロボット制御システム、およびロボットシステム - Google Patents

パラメータ算出装置、ロボット制御システム、およびロボットシステム Download PDF

Info

Publication number
WO2020246059A1
WO2020246059A1 PCT/JP2019/047280 JP2019047280W WO2020246059A1 WO 2020246059 A1 WO2020246059 A1 WO 2020246059A1 JP 2019047280 W JP2019047280 W JP 2019047280W WO 2020246059 A1 WO2020246059 A1 WO 2020246059A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
calculation device
robot
parameter calculation
parameters
Prior art date
Application number
PCT/JP2019/047280
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 DE112019007404.0T priority Critical patent/DE112019007404T5/de
Priority to CN201980097072.3A priority patent/CN113950393B/zh
Priority to JP2020527981A priority patent/JP6833115B1/ja
Publication of WO2020246059A1 publication Critical patent/WO2020246059A1/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/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control

Definitions

  • the present invention relates to a parameter calculation device, a robot control system, and a robot system that calculate parameters for controlling the operation of a robot.
  • control device that controls the robot monitors the load torque applied to the joint shaft of the robot and adjusts the speed or acceleration parameters for generating the operation command to be output to the actuator.
  • the life estimation simulation device described in Patent Document 1 reduces the speed command value when the load value of the speed reducer obtained by simulating the robot operation is larger than the load reference value for satisfying the target life. There is.
  • the present invention has been made in view of the above, and is a parameter calculation device capable of realizing overall optimization in which both the constraint condition for a series of operations and the cycle time for a series of operations satisfy specific conditions.
  • the purpose is to get.
  • the parameter calculation device of the present invention has a parameter storage unit that stores parameters for controlling the operation of the robot for each control section separated by a speed of 0, and a plurality of controls. It is provided with a state variable acquisition unit that acquires a state variable indicating the state of the robot in a series of operations composed of sections based on parameters. Further, the parameter calculation device of the present invention includes an evaluation unit that calculates an evaluation value for evaluating a series of operations and a cycle time for the series of operations based on a state variable, and an evaluation unit that satisfies the first condition and the cycle time is the first. It is provided with a machine learning unit in which parameters satisfying the second condition are calculated by learning using a multipurpose optimization method and the calculated parameters are stored in the parameter storage unit.
  • the parameter calculation device has the effect that both the constraint condition for the series of operations and the cycle time for the series of operations can realize the overall optimization that satisfies each specific condition.
  • the figure for demonstrating the information to be displayed on the interface screen by the parameter calculation apparatus of FIG. A block diagram showing a fifth alternative configuration example of the parameter calculation device according to the first embodiment.
  • the figure which shows the control section before the parameter calculation apparatus which concerns on Embodiment 6 adjusts the layout of a work environment.
  • the figure which shows the control section after the parameter calculation apparatus which concerns on Embodiment 6 adjusted the
  • FIG. 1 is a block diagram showing a configuration of a parameter calculation device according to the first embodiment.
  • the parameter calculation device 100 which is a robot operation parameter calculation device, is a device that calculates parameters (operation parameters) used when operating the robot.
  • the operation parameters include parameters that determine the robot speed such as the robot's maximum speed, acceleration, and standby time, and parameters that determine the robot's movement path.
  • the case where the motion parameter is a parameter that determines the speed of the robot will be described
  • the motion parameter is a parameter that determines the movement path of the robot will be described.
  • the parameter calculation device 100 includes a parameter storage unit 110, a state variable acquisition unit 120, an evaluation unit 130, a machine learning unit 140, and an end condition determination unit 150.
  • the robot may be any robot.
  • the user uses a remote control device called a teaching pendant to move the arm portion of the robot to teach a specific position (teaching point) through which the arm portion should pass in the manufacturing process of the product.
  • the user can teach the teaching point to the arm portion of the robot by directly operating the arm portion of the robot or the like.
  • a manipulator for directly operating the arm part is attached to the robot, and the operator directly grasps the manipulator and moves the arm part to move the arm part in the manufacturing process of the product. Teach a specific position (teaching point) to pass.
  • the robot sequentially moves the arm portion to each teaching point in the product manufacturing process.
  • the parameter storage unit 110 stores the parameters used when generating the operation command to the robot for each teaching section.
  • the parameter storage unit 110 stores the combination of parameters learned and calculated by the machine learning unit 140 for each teaching section.
  • the teaching section is a movement section from the teaching point that is the start point of one movement of the robot to the teaching point that is the end point.
  • the robot executes a series of operations by moving a plurality of teaching sections.
  • the start point of the operation and the end point of the operation may be set based on a control program (robot language) for controlling the movement of the robot.
  • the parameter storage unit 110 stores the parameters used when generating the operation command to the robot for each control section.
  • the control section is a movement section from the start point to the end point of one operation of the robot.
  • the state variable acquisition unit 120 reads out the parameters for each teaching section stored in the parameter storage unit 110.
  • the state variable acquisition unit 120 calculates the state variables of each part (for example, each joint) of the robot when a series of operations composed of a plurality of teaching sections is tried based on the parameters set for each teaching section. By doing so, the state variables in the series of operations are acquired.
  • the state variable is information indicating the state of the robot, and changes according to the movement of the robot. Examples of state variables are displacement, velocity, acceleration, current consumption, and power consumption of each joint in a series of movements.
  • the evaluation unit 130 calculates an evaluation value for evaluating a series of operations and a cycle time of the series of operations using the state variables acquired by the state variable acquisition unit 120.
  • the evaluation value is the predicted life of the parts included in the robot when the series of operations is repeated, the effective current (current consumption) of the parts consumed in the series of operations, or the power consumption of the parts consumed in the series of operations (current consumption). Power consumption).
  • the evaluation unit 130 calculates the time required for the trial of a series of operations as the cycle time using the state variables acquired by the state variable acquisition unit 120. Further, the evaluation unit 130 calculates at least one of the predicted life for the series of operations, the current consumption in the series of operations, and the power consumption consumed in the series of operations as the evaluation value.
  • the evaluation unit 130 evaluates the evaluation value by determining whether or not the evaluation value satisfies the constraint condition.
  • the constraint condition is a condition set based on at least one of the design life, the upper limit of the current consumption in the series of operations, and the upper limit of the power consumption in the series of operations of the parts included in the robot.
  • the design life is a life that can be arbitrarily set by the user, and is different from the rated life described later.
  • the evaluation value is the predicted life for a series of operations
  • the evaluation unit 130 uses the constraint condition set based on the design life.
  • the evaluation value is the current consumption in the series of operations
  • the evaluation unit 130 uses the constraint condition set based on the upper limit of the current consumption in the series of operations.
  • the evaluation unit 130 uses the constraint condition set based on the upper limit of the power consumption in the series of operations.
  • the evaluation unit 130 uses the design life, the upper limit of the current consumption, or the upper limit of the power consumption as the constraint conditions, and evaluates whether or not the evaluation value satisfies the constraint conditions. Further, the evaluation unit 130 may evaluate whether or not the constraint condition is satisfied by using a specific ratio of the design life (for example, 90%), a specific ratio of the upper limit of the current consumption, or a specific ratio of the upper limit of the power consumption. That is, the constraint condition may be a specific ratio of the design life, a specific ratio of the current consumption upper limit, or a specific ratio of the power consumption upper limit. The evaluation unit 130 sends the determination result of whether or not the constraint condition is satisfied, the cycle time, the constraint condition, and the parameter used for the evaluation to the machine learning unit 140.
  • a specific ratio of the design life for example, 90%
  • the constraint condition may be a specific ratio of the design life, a specific ratio of the current consumption upper limit, or a specific ratio of the power consumption upper limit.
  • the machine learning unit 140 stores the determination result of whether or not the constraint condition is satisfied, the cycle time, and the constraint condition.
  • the machine learning unit 140 searches for a combination of parameters that minimizes the cycle time calculated by the evaluation unit 130 within the range in which the constraint conditions for the entire series of operations are satisfied.
  • the evaluation value satisfying the constraint condition corresponds to the evaluation value satisfying the first condition
  • the shorter cycle time corresponds to the cycle time satisfying the second condition. To do.
  • the machine learning unit 140 updates the value of the parameter stored in the parameter storage unit 110 to the value of the searched parameter (combination of parameters that minimizes the cycle time).
  • the end condition determination unit 150 determines whether or not the end condition is satisfied based on the end condition of the parameter adjustment (parameter calculation).
  • the end condition of the parameter adjustment is, for example, that the number of searches for the combination of parameters in the machine learning unit 140 reaches the specified maximum number of searches.
  • the end condition of parameter adjustment is that the amount of reduction of the cycle time for the purpose of minimization from the minimum value of the cycle time obtained by the previous machine learning is sufficiently small, such as less than 10-6 seconds. It may be a value.
  • the parameter when the end condition is satisfied is called the optimum parameter, and the cycle time when the end condition is satisfied is called the minimum cycle time. That is, while the evaluation value is being improved, the parameter when the end condition is satisfied is called the optimum parameter. In addition, while the evaluation value is being improved, the cycle time when the end condition is satisfied is called the minimum cycle time.
  • the end condition determination unit 150 When the end condition is satisfied, the end condition determination unit 150 outputs to the external device the combination of parameters that minimizes the cycle time obtained at that time as the optimum combination of parameters.
  • An example of an external device is a controller that controls a robot.
  • the end condition determination unit 150 notifies the state variable acquisition unit 120 that the end condition is not satisfied. In this case, the parameter calculation device 100 newly calculates the parameter that minimizes the cycle time.
  • FIG. 2 is a flowchart showing a parameter calculation processing procedure by the parameter calculation device according to the first embodiment.
  • the user inputs information on the teaching point (position of the teaching point) into the parameter calculation device 100 in order to determine the number of parameters to be adjusted.
  • the parameter calculation device 100 receives the information of the teaching point (step S101). As a result, the parameter calculation device 100 receives the information on the teaching points and stores it in the parameter storage unit 110.
  • the parameter storage unit 110 stores the initial value of the combination of parameters optimized by the series of operations (step S102).
  • the initial value of the combination of parameters stored in the parameter storage unit 110 may be input to the parameter calculation device 100 by the user, or may be received by the parameter calculation device 100 from another device. Either the process of step S101 or the process of step S102 may be executed first.
  • the state variable acquisition unit 120 reads out the combination of parameters stored in the parameter storage unit 110 and acquires the state variable of the series of operations (step S103). That is, the state variable acquisition unit 120 acquires the state variables of each joint of the robot when a series of operations are tried, based on the parameters stored in the parameter storage unit 110.
  • the state variables are the displacement, velocity, and acceleration of each joint.
  • the evaluation unit 130 calculates the cycle time and the evaluation value (step S104). Specifically, the evaluation unit 130 calculates at least one of the predicted life, the current consumption, and the power consumption as an evaluation value, and also calculates the cycle time. In the present embodiment, since the state variables are the displacement, velocity, and acceleration of each joint, the evaluation unit 130 calculates the predicted life as an evaluation value.
  • the evaluation unit 130 evaluates the evaluation value by determining whether or not the evaluation value satisfies the constraint condition. Next, the evaluation unit 130 determines whether or not the evaluation value satisfies the constraint condition (step S105). Further, the evaluation unit 130 sends the determination result of whether or not the constraint condition is satisfied, the cycle time, the constraint condition, and the parameter used for the evaluation to the machine learning unit 140.
  • the machine learning unit 140 sets the combination of the parameters satisfying the constraint condition with the shortest cycle time as a candidate for the optimum parameter combination. ..
  • the candidate of the optimum parameter set by the machine learning unit 140 at the time of setting is referred to as the optimum candidate parameter.
  • the optimum candidate parameter is an improvement of the parameter so that the cycle time is shortened.
  • the cycle time when the optimum candidate parameter is used is the minimum candidate cycle time.
  • the machine learning unit 140 updates the value of the parameter stored in the parameter storage unit 110 to the set combination of the optimum candidate parameters (step S106).
  • the machine learning unit 140 calculates by learning parameters that the evaluation value, which is the first evaluation item, and the cycle time, which is the second evaluation item, can each satisfy specific conditions.
  • the specific condition that the evaluation value satisfies is that the constraint condition is satisfied
  • the specific condition that the cycle time satisfies is that the cycle time is improved (shortened).
  • the machine learning unit 140 When the constraint condition is not satisfied (step S105, No), the machine learning unit 140 generates a new parameter combination according to the optimization algorithm (multipurpose optimization method). Examples of the optimization algorithm include a particle swarm optimization method and a Bayesian optimization method, which will be described later.
  • the machine learning unit 140 sets the generated new combination of parameters in the parameter storage unit 110 (step S107).
  • the end condition determination unit 150 determines whether or not the end condition is satisfied. Determine (step S108). When the end condition is satisfied (step S108, Yes), the parameter calculation device 100 ends the search process for the optimum parameter. If the end condition is not satisfied (step S108, No), the machine learning unit 140 executes the process of step S107. That is, the machine learning unit 140 sets a new parameter combination generated according to the optimization algorithm in the parameter storage unit 110.
  • step S107 the parameter calculation device 100 returns to the process of step S103, and repeats the processes of steps S103 to S108 until the end condition is satisfied.
  • FIG. 3 is a block diagram showing a first alternative configuration example of the parameter calculation device according to the first embodiment.
  • FIG. 3 shows the configuration of the parameter calculation device 100A when the acquisition of state variables is realized by using the simulator.
  • components that achieve the same functions as the parameter calculation device 100 shown in FIG. 1 are designated by the same reference numerals, and redundant description will be omitted.
  • the parameter calculation device 100A which is the first alternative configuration example of the parameter calculation device 100, includes a state variable acquisition unit 120A instead of the state variable acquisition unit 120.
  • the parameter calculation device 100A realizes acquisition of state variables by using a robot controller and a simulator simulating a robot dynamic model. That is, the state variable acquisition unit 120A acquires the state variable by trying a series of operations using the robot controller and the simulator simulating the dynamic model of the robot.
  • the state variable acquisition unit 120A includes a command generation unit 121 and an operation trial unit 122.
  • the command generation unit 121 is connected to the parameter storage unit 110 and the end condition determination unit 150.
  • the operation trial unit 122 is connected to the command generation unit 121 and the evaluation unit 130.
  • the command generation unit 121 reads the parameters stored in the parameter storage unit 110 and generates the operation command value of the robot.
  • the motion trial unit 122 performs a simulation based on the motion command value to the robot by using a simulator simulating the dynamic model of the robot, and acquires the state variables of each joint of the robot in a series of motions from the simulation result.
  • the motion trial unit 122 may directly input the motion command value generated by the command generation unit 121 into the dynamic model of the robot, or the motion trial unit 122 may be generated by the command generation unit 121.
  • the operation command value may be input after performing a specific process.
  • the operation trial unit 122 is, for example, a filter that molds the operation command value into the operation command value generated by the command generation unit 121, a filter that imitates the feedforward control system, and a filter that imitates the feedback control system. Enter a value through at least one.
  • the motion trial unit 122 does not necessarily have to include the dynamics model of the robot.
  • the operation command value generated by the command generation unit 121 represents the speed of each joint of the robot or the current consumed when driving each joint
  • the operation trial unit 122 is during the trial of a series of operations.
  • the operation command value generated in may be acquired as it is as a state variable of the speed or current consumption of the robot.
  • the operation trial unit 122 may acquire a value obtained by executing a specific process on the operation command value generated by the command generation unit 121 while trying a series of operations as a state variable of the robot.
  • the operation trial unit 122 is, for example, a filter that molds the operation command value into the operation command value generated by the command generation unit 121, a filter that imitates the feedforward control system, and a filter that imitates the feedback control system.
  • the value passed through at least one is acquired as the state variable of the robot.
  • FIG. 4 is a diagram for explaining a series of operations of the robot according to the first embodiment.
  • the robot 300 operates according to an operation command value output from the robot controller 200.
  • the user who designs the operation of the robot 300 sets the teaching points P1, P2, and P3 by grasping the robot 300 and moving the tip portion 310 of the robot 300.
  • the tip 310 of the robot 300 in FIG. 4 has a gripping mechanism for gripping a product that is an object to be transported.
  • the series of operations in the present embodiment is a series of speed patterns composed of a plurality of movement sections (control sections) from the start point to the end point with the speed 0 as a delimiter. That is, one control section in the present embodiment is not a section obtained by dividing one speed pattern from speed 0 to speed increase and return to speed 0, but from speed 0 to speed increase and return to speed 0. Refers to one section.
  • the operation performed by the robot 300 is composed of the movement from the teaching point P1 to the teaching point P2, the movement from the teaching point P2 to the teaching point P3, and the movement from the teaching point P3 to the teaching point P1, this implementation is performed. In the form of, these three operations are collectively called a series of operations.
  • the command generation unit 121 sets the moving section from the teaching point P1 to the teaching point P2 in the teaching section P1-P2, and sets the moving section from the teaching point P2 to the teaching point P3 as the teaching section P2-P3. Is set to, and the moving section from the teaching point P3 to the teaching point P1 is set to the teaching section P3-P1.
  • the command generation unit 121 also operates for the teaching section P2-P3 for each control cycle from the teaching point P2 to the teaching point P3 based on the parameters set for the teaching section P2-P3. Generate a command. Further, the command generation unit 121 also gives an operation command for the teaching section P3-P1 for each control cycle from the teaching point P3 to the teaching point P1 based on the parameters set for the teaching section P3-P1. To generate.
  • ⁇ Parameters to be adjusted> When the number of parameters adjusted in one teaching section is m (m is a natural number) and the number of teaching sections included in the series of operations is n (n is a natural number), the machine learning unit 140 is optimal.
  • the dimension of the combination of parameters to be converted is m ⁇ n.
  • the parameters adjusted to determine the operation command value generated for each control cycle in each teaching section are the maximum speed of the tip portion 310, the acceleration of the tip portion 310, and the following of the tip portion 310. At least one of the waiting times until operation. In the following description, the waiting time until the next operation of the tip portion 310 is referred to as a Dly time.
  • FIG. 5 is a diagram showing an example of a speed pattern generated by the parameter calculation device according to the first embodiment.
  • FIG. 5 shows the velocity pattern PT1 in one teaching section of the robot, which the parameter calculation device 100A generates based on the parameters of the maximum speed and the acceleration.
  • the horizontal axis of the graph shown in FIG. 5 is time, and the vertical axis is the speed of the tip portion 310.
  • the command generation unit 121 generates an operation command value for each joint to realize the speed pattern PT1 shown in FIG.
  • the velocity pattern PT1 is composed of an acceleration section from time t0 to time t1, a constant velocity section from time t1 to time t2, and a deceleration section from time t2 to time t3.
  • the time Tt from the time t3 to the time t4 is the Dly time.
  • the time t0 to the time t4 is one teaching section, and is indicated by the section TA. Therefore, the speed v is 0 from the time t3 to the time t4, and the command generation unit 121 can set the control section with the speed 0 as a delimiter.
  • the slope of the speed pattern PT1 in the acceleration section is the acceleration in the acceleration section
  • the slope of the speed pattern PT1 in the deceleration section is the deceleration in the deceleration section.
  • the command generation unit 121 adjusts the adjustable parameters for each teaching section to reduce the maximum speed and acceleration, or increase the Dry time to load in exchange for an increase in cycle time. May be reduced.
  • the parameter calculation device 100A can satisfy the constraint condition of the predicted life in the entire series of operations.
  • FIG. 6 is a diagram showing an example of a speed pattern when the maximum speed and acceleration are reduced with respect to the speed pattern shown in FIG.
  • FIG. 6 shows a velocity pattern PT2 generated by the parameter calculation device 100A reducing the maximum velocity and acceleration with respect to the velocity pattern PT1.
  • the horizontal axis of the graph shown in FIG. 6 is time, and the vertical axis is the speed of the tip portion 310. That is, it means that the speed pattern PT1 and the speed pattern PT2 have different speed patterns with respect to the control section separated by the speed 0.
  • the velocity pattern PT2 is composed of an acceleration section from time t0 to time t1a, a constant velocity section from time t1a to time t2a, and a deceleration section from time t2a to time t3a.
  • the slope of the speed pattern PT2 in the acceleration section is the acceleration in the acceleration section
  • the slope of the speed pattern PT2 in the deceleration section is the deceleration in the deceleration section.
  • the command generation unit 121 lowers the speed v1 in the constant velocity section to the speed v2, lowers the acceleration in the acceleration section, and lowers the deceleration in the deceleration section. Assuming that the movement path from the start point to the end point of the teaching section is fixed, the movement amount of each axis of the robot is invariant. Therefore, the command generation unit 121 sets the speed pattern so that the area of the trapezoid drawn by the speed pattern PT2 from time t0 to time t3a is the same as the area of the trapezoid drawn by the speed pattern PT1 from time t0 to time t3. Produces PT2.
  • the machine learning unit 140 sets the increment (t3a-t3)> 0 of the cycle time that occurs when the maximum speed and acceleration are reduced as the speed pattern PT2, and sets the maximum speed (speed v2), acceleration, and deceleration.
  • Dly time can be calculated from each parameter.
  • the machine learning unit 140 may calculate the increase in cycle time using acceleration instead of deceleration, or instead of acceleration. The deceleration may be used to calculate the increment of the cycle time.
  • the command generation unit 121 may set the speed patterns PT1 and PT2 using parameters other than the parameters for adjusting the maximum speed and acceleration values.
  • the command generation unit 121 may set the velocity patterns PT1 and PT2 using a parameter for adjusting the relaxation rate with respect to the upper limit value of the maximum speed and a parameter for adjusting the relaxation rate with respect to the upper limit value of the acceleration.
  • the command generation unit 121 adjusts the maximum speed relaxation rate d of the joint having the maximum speed v_max in the range of 0 to 1, and the speed so that the adjusted maximum speed becomes (v_max) ⁇ (1-d).
  • Patterns PT1 and PT2 may be set.
  • v_max an upper limit value of the maximum speed designed in advance for each joint may be applied as v_max.
  • the pre-designed upper limit of the maximum speed for each joint is a value determined by the actuator capacity of the motor that operates the joint.
  • v_max the maximum speed that can be output for each teaching section may be applied as v_max.
  • the evaluation unit 130 in the present embodiment integrates and evaluates the evaluation values calculated from the state variables acquired by the state variable acquisition unit 120A in the entire series of operations. Further, the teaching section included in the series of operations in which the parameters are adjusted so that the cycle time is minimized under the constraint condition can be specified by the user using the robot language.
  • the user may have the parameter calculation device 100A optimize the parameters by designating a part of the operation constituting the work given to the robot. In this case, the user specifies the start point and the end point of the section for which the parameter optimization is performed for the program created in the robot language.
  • FIG. 7 is a diagram for explaining the difference between the speed pattern generated by the parameter calculation device according to the first embodiment and the speed pattern of the comparative example.
  • FIG. 7 when satisfying the design life is a constraint condition, when the evaluation is performed in a series of operations, a solution having a smaller cycle time can be obtained as compared with the case where the evaluation is performed in the operations for each teaching section.
  • a solution having a smaller cycle time can be obtained as compared with the case where the evaluation is performed in the operations for each teaching section.
  • the horizontal axis of the graph shown in FIG. 7 is time, and the vertical axis is the speed of the tip portion 310.
  • the upper graph shown in FIG. 7 is the speed pattern of the comparative example, and the lower graph shown in FIG. 7 is the speed pattern generated by the parameter calculation device 100A.
  • the teaching section (control section) is set with the speed 0 as a delimiter.
  • a speed pattern is generated so as to satisfy the design life in each teaching section. For example, when the design life is 10,000 hours, the speed pattern is generated so that each predicted life of the teaching sections P1-P2, P2-P3, and P3-P1 is longer than 10,000 hours.
  • FIG. 7 shows a case where the speed pattern of the comparative example is generated so that each predicted life of the teaching sections P1-P2, P2-P3, and P3-P1 is 11000 hours.
  • the evaluation unit 130 evaluates in a series of operations, even if the predicted life when only a part of the operations (movement of a part of the teaching section) is repeated is less than the design life, the entire series of operations is performed. Any combination of parameters that can satisfy the design life when repeated can be recognized as a candidate for the optimum solution. This is because even if the predicted life in a specific teaching section is less than the design life, if the predicted life in other sections is equal to or longer than the design life, the predicted life of the entire series of operations may satisfy the design life. is there.
  • the evaluation unit 130 balances a portion that contributes to shortening the cycle time in high-speed operation (teaching section) and a portion that contributes to improving life in low-speed operation (teaching section) within a range that satisfies the design life. A solution with a small cycle time can be obtained.
  • FIG. 7 shows a case where the evaluation unit 130 generates a speed pattern so that the predicted lifetimes of the teaching sections P1-P2, P2-P3, and P3-P1 are 11000 hours, 15000 hours, and 7000 hours, respectively. There is.
  • the predicted life of the series of operations is 11000 hours, which is the same as the predicted life of the speed pattern of the comparative example, but since the predicted life of the series of operations is evaluated, the cycle time is made smaller than that of the comparison target. be able to.
  • FIG. 8 is a block diagram showing a second alternative configuration example of the parameter calculation device according to the first embodiment.
  • FIG. 8 shows the configuration of the parameter calculation device 100B when the constraint condition based on the design life is set.
  • the parameter calculation device 100B when the constraint condition based on the design life is set for the parameter calculation device 100A shown in FIG. 3 will be described.
  • the components that achieve the same functions as the parameter calculation device 100A shown in FIG. 3 are designated by the same reference numerals, and redundant description will be omitted.
  • the parameter calculation device 100B which is a second alternative configuration example of the parameter calculation device 100, includes an evaluation unit 130B instead of the evaluation unit 130.
  • the evaluation unit 130B includes a dynamics calculation unit 131, a damage degree calculation unit 132, and a constraint determination unit 133a.
  • the dynamics calculation unit 131 is connected to the operation trial unit 122 and the damage degree calculation unit 132
  • the damage degree calculation unit 132 is connected to the constraint determination unit 133a
  • the constraint determination unit 133a is connected to the machine learning unit 140. There is.
  • the dynamics calculation unit 131 calculates the load torque applied to the joint using the displacement, velocity, and acceleration values of each joint acquired by the state variable acquisition unit 120A.
  • the damage degree calculation unit 132 calculates the damage degree of the joint provided by the robot based on the load torque and the amount of movement of each joint, thereby calculating the predicted life of the robot when a series of movements are repeated.
  • the amount of motion of each joint is the number of revolutions or the linear motion distance converted from the velocity based on the structure of the joint.
  • the degree of damage to the parts (components) provided by the robot is the degree of damage to the parts provided by the robot.
  • the degree of damage to the parts provided by the robot increases as the load torque and the amount of movement of each joint increase. The detailed definition of the degree of damage will be described later.
  • the constraint determination unit 133a uses a determination formula based on the predicted life calculated by the damage degree calculation unit 132 and the design life, and the combination of parameters read from the parameter storage unit 110 is a constraint condition in a series of operations. Judge whether or not the condition is satisfied.
  • the determination formula is the formula (12) described later.
  • Each joint of the robot is composed of a plurality of parts, and the joint in which the parts rotate is called the rotation axis, and the joint in which the parts rotate is called the linear motion axis.
  • the dynamics calculation unit 131 included in the evaluation unit 130B has the magnitude T_i [k] of the load torque applied to each joint and the input rotation speed n_i of the parts provided by the robot for each control cycle ⁇ t (unit: seconds) of the robot. Calculate [k].
  • the dynamics calculation unit 131 transfers the displacement, velocity, and acceleration of each joint acquired from the motion trial unit 122 on the output side of the power transmission mechanism of each joint via a speed reducer, a ball screw, or the like. , Velocity, and acceleration.
  • the dynamics calculation unit 131 calculates the magnitude T_i [k] of the load torque applied to each joint and the input rotation speed n_i [k] of the parts included in the robot by using the converted values.
  • the subscript "i" of T_i and n_i indicates that the value is related to the i-th (i is a natural number) axis of the robot. Further, [k] indicates that the value is calculated in the kth (k is a natural number) th control cycle ⁇ t, counting from the time when the counter is reset in the damage degree calculation cycle described later.
  • the degree of damage to the robot is defined as follows in order to use the predicted life when repeating a series of operations as the evaluation value.
  • the degree of damage is an index showing how much fatigue is accumulated in the current operating state when the life of the parts provided by the robot due to repeated movements is regarded as fatigue failure.
  • the damage degree calculation unit 132 determines the damage degree of the component q as (cumulative drive time or rotation speed of the component q up to now) / (rating of the component q obtained under the current operating conditions). Calculate using the formula (rotation speed equivalent to life or rated life).
  • the rotation speed equivalent to the rated life is the rotation speed corresponding to the rated life.
  • the formula for calculating the degree of damage is set for each type of part in the damage degree calculation unit 132.
  • the degree of damage By defining the degree of damage for the parameter calculation device 100B, it is possible to evaluate the predicted life of a plurality of parts whose rated life is expressed differently for each manufacturer based on the same standard.
  • the damage degree calculation unit 132 calculates the damage degree for each teaching section, and the sum of the damage degrees of all the teaching sections is taken as the damage degree of the series of operations. Further, the damage degree calculation unit 132 may calculate the damage degree of the series of operations by setting the time point at which the entire series of operations is completed as the damage degree calculation cycle which is the damage degree calculation cycle.
  • the predicted life is when the damage degree calculated in the damage degree calculation cycle is accumulated by repeating the same operation and the cumulative value reaches 1.
  • the damage degree calculation unit 132 sets Lc (unit: time) which is the predicted life. It can be calculated using the following formula (1).
  • the damage degree calculation unit 132 uses the following equation (2) to calculate the damage degree Rlc used for calculating the predicted life of the entire robot. It can be calculated using.
  • the damage degree calculation unit 132 uses the damage degree of the shaft or part having the largest damage degree among all i and q to evaluate the damage degree of the entire robot.
  • the damage degree calculation unit 132 has r (r is a multiplier that differs depending on the type of part q) to the kth ⁇ t, a cumulative torque value Tacc_i [k], a cumulative input rotation speed Nacc_i [k], and a cumulative drive time.
  • tb_i [k] (unit: seconds) can be calculated using the following equations (3) to (5), respectively.
  • the r-th power torque cumulative value Tacc_i [k] is the cumulative value of the torque used to drive the component q whose torque multiplier is r
  • the input rotation speed cumulative value Nacc_i [k] is the input rotation speed n_i [k] of the component q. k] is the cumulative value
  • the drive time cumulative value tb_i [k] is the cumulative value of the drive time of the component q.
  • the damage degree calculation unit 132 converts the r-th power torque cumulative value Tacc_i [k], the input rotation speed cumulative value Nacc_i [k], and the drive time cumulative value tb_i [k] represented by the formulas (3) to (5).
  • the average load torque Tav_i [k] and the average input rotation speed Nav_i [k] can be calculated using the following equations (6) and (7), respectively.
  • the average load torque Tav_i [k] is the average value of the load torque
  • the average input rotation speed Nav_i [k] is the average value of the input rotation speed n_i [k].
  • Tav_i [k] (Tacc_i [k] / Nacc_i [k]) (1 / r) ... (6)
  • the damage degree calculation unit 132 sets the rated torque Tr_i, the rated rotation speed Nr_i, and the rated life L10_i (unit: time) of the speed reducer as constants, and the rated life Lh_i under the current operating conditions. [K] (unit: time) can be calculated using the following formula (8). Further, the damage degree calculation unit 132 can calculate the damage degree Rl_i [k] _ (reducer) by using the following equation (9).
  • Lh_i [k] L10_i ⁇ (Tr_i / Tav_i [k]) r ⁇ (Nr_i / Nav_i [k])) ... (8)
  • the damage degree calculation unit 132 uses the conversion coefficient u_i from the average load torque Tav_i [k] to the average load applied to the position of the bearing, the basic dynamic load of the bearing C_i, and the operating machine. Using the load coefficient fw_i for considering the magnitude of vibration and the multiplier r that differs depending on the type of rolling element in the bearing, the rated life equivalent rotation speed Lr_i under the current operating conditions is calculated by the following equation (10). It can be calculated using. Further, the damage degree calculation unit 132 can calculate the damage degree Rl_i [k] _ (bearing) by using the following formula (11).
  • the basic dynamic rated load C_i is a constant load at which a rated life of a specific rotation speed can be obtained.
  • the parameter calculation device 100B may use the following equation (13) as a constraint condition.
  • equation (13) a value (a ⁇ Ls) obtained by multiplying Ls of the specified design life by a specific constant a is used.
  • the evaluation unit 130B imposes a large penalty on the evaluation value, thereby limiting the machine learning unit 140. It is possible to prevent the combination of unsatisfied parameters from being adopted.
  • the evaluation unit 130B when the predicted life is less than the design life, the evaluation unit 130B outputs an evaluation value having a magnitude of about 100 times the cycle time intended to be minimized, thereby limiting the condition. It is possible to prevent the combination of parameters that do not satisfy the above conditions from being output as the optimum solution at the end of learning.
  • the machine learning unit 140 uses the evaluation value calculated by the evaluation unit 130B to search for a combination of parameters that minimizes the cycle time within a range that satisfies the constraint condition based on the design life.
  • the dimension of the combination of parameters searched by the machine learning unit 140 is m ⁇ n. Is.
  • the machine learning unit 140 can apply a known multi-objective optimization method capable of handling continuous values or discrete values.
  • the machine learning unit 140 can apply a particle swarm optimization method (PSO: Particle Swarm Optimization), a Bayesian optimization method, and the like.
  • the machine learning unit 140 uses an Actor-Critic method capable of selecting a continuous value or a discrete value as an action taken by a learning subject and calculating an evaluation value for the selected action. It can also be applied.
  • the machine learning unit 140 performs optimization processing in the end condition determination unit 150 until the learning end condition is satisfied, and updates the combination of parameters stored in the parameter storage unit 110.
  • N is a natural number of 2 or more
  • the position p and velocity v of each particle are as follows in each parameter search process. It is updated using equations (14) and (15).
  • w represents the inertial constant
  • c1 and c2 represent the proportion of particles toward the position with the higher evaluation value in the group
  • r1 and r2 represent random numbers in the range of 0 to 1.
  • pj represents the best position the particle has ever found
  • pg represents the best position ever found for the entire group.
  • the combination of parameters to be adjusted corresponds to the position p of the particles.
  • the parameter calculation device 100B outputs the combination of parameters for which the minimum cycle time is obtained when the specified number of searches T has elapsed as the optimum solution.
  • the parameter calculation device 100B acquires and evaluates the state variables of the series of operations for each of the N particles.
  • the evaluation unit 130B determines whether or not the constraint condition is satisfied for each particle, and formulas (14) and the formula (14) so that the other particles approach the particle having the best evaluation value of the cycle time among the particles satisfying the constraint condition.
  • the positions of N particles are newly determined by 15).
  • the machine learning unit 140 can limit the search range by using the damage degree calculated by the damage degree calculation unit 132 for each teaching section for the combination of the parameters to be adjusted.
  • the machine learning unit 140 does not randomly set the initial value of each particle, but the degree of damage when a series of operations are tried at the maximum speed and the maximum acceleration in all teaching sections. Therefore, the value can be set so that the speed and acceleration are reduced as the degree of damage is larger in the teaching section. This makes it easier for the parameter calculation device 100B to find a combination of parameters that is highly effective in improving the predicted life with respect to the increment of the cycle time, and the cycle time can be reduced with a small number of searches.
  • the machine learning unit 140 may adjust only the operation of the upper teaching section having a large degree of damage in the series of operations.
  • the machine learning unit 140 may determine the target motion from the ratio of the motion damage degree and the motion time for each teaching section. For example, a teaching section having a large degree of damage is a teaching section having a large load. Therefore, it is considered that the teaching section having a large degree of damage has a higher effect of improving the life of a series of operations by reducing the speed or acceleration than the teaching section having a small degree of damage in the same operation time.
  • the machine learning unit 140 may adjust only the higher-order operation having a large ratio of the degree of damage to the operation time.
  • the machine learning unit 140 may determine the teaching section to be adjusted from the ratio of the evaluation value (displacement, speed, acceleration, etc.) and the operating time for each teaching section.
  • the machine learning unit 140 may select a teaching section to be adjusted by an initial value from the ratio of the damage degree of each operation and the operation time of each operation.
  • the machine learning unit 140 may set the operation of all the teaching sections included in the series of operations as the adjustment target, or only the operation of the teaching section selected by the machine learning unit 140 based on the evaluation value of the evaluation unit 130B. May be the adjustment target. Further, the machine learning unit 140 may adjust only the operation of the teaching section designated by the user.
  • FIG. 9 is a block diagram showing a third alternative configuration example of the parameter calculation device according to the first embodiment.
  • FIG. 9 shows the configuration of the parameter calculation device 100C when only the operation of the teaching section specified by the user is to be adjusted.
  • components that achieve the same functions as the parameter calculation device 100 shown in FIG. 1 are designated by the same reference numerals, and redundant description will be omitted.
  • the parameter calculation device 100C which is a third alternative configuration example of the parameter calculation device 100, includes an adjustment section storage unit 160 in addition to the components of the parameter calculation device 100.
  • the adjustment section storage unit 160 stores the teaching section of the adjustment target input by the user using the programming tool.
  • the adjustment section storage unit 160 stores a value corresponding to the teaching section to be adjusted.
  • the machine learning unit 140 reads the value stored in the adjustment section storage unit 160 and adjusts only the parameters of the teaching section corresponding to the read value.
  • the parameter calculation device 100C adjusts only in the designated teaching section when, for example, does not want to reduce the maximum speed and acceleration in a specific teaching section, and obtains a combination of parameters that satisfy the constraint condition of a series of operations. Can be done. Further, the parameter calculation device 100C can reduce the search time by reducing the number of parameters to be adjusted.
  • the parameter calculation device 100C satisfies the constraint condition of the design life in the series operation of the robot as compared with the case where the parameter combination is comprehensively tried based on all the parameters set for each teaching section. , It is possible to generate a combination of parameters that can suppress an increase in cycle time with a small number of trials.
  • the parameter calculation device 100C may include a tool for visualizing information related to the parameter adjustment while the parameter adjustment is being performed by the machine learning unit 140.
  • the information related to the parameter adjustment is at least one of the parameter value newly stored in the parameter storage unit 110, the cycle time calculated by the evaluation unit 130, and the evaluation value of the predicted life calculated by the evaluation unit 130. is there.
  • FIG. 10 is a block diagram showing a fourth alternative configuration example of the parameter calculation device according to the first embodiment.
  • FIG. 10 shows the configuration of the parameter calculation device 100D in the case of visualizing the information related to the parameter adjustment while the parameter adjustment is being performed.
  • components that achieve the same functions as the parameter calculation device 100 shown in FIG. 1 are designated by the same reference numerals, and redundant description will be omitted.
  • FIG. 11 is a diagram for explaining information displayed on the interface screen by the parameter calculation device of FIG.
  • the parameter calculation device 100D which is a fourth alternative configuration example of the parameter calculation device 100, includes a learning progress visualization unit 170 in addition to the components of the parameter calculation device 100.
  • the learning progress visualization unit 170 is connected to the evaluation unit 130 and the machine learning unit 140.
  • the learning progress visualization unit 170 acquires the cycle time and the predicted life from the evaluation unit 130, and acquires the parameter values from the machine learning unit 140.
  • the learning progress visualization unit 170 causes the interface screen 500 to display information acquired from the evaluation unit 130 and the machine learning unit 140, that is, information related to the learning progress state of the parameters.
  • the interface screen 500 is a display screen of information (visualization result) output by the learning progress visualization unit 170.
  • the learning progress visualization unit 170 outputs, for example, the following information (A) to (D) to the interface screen 500 as the learning progress state.
  • D Change in cycle time with optimized parameters
  • the interface screen 500 displays the evaluation value of a series of movements of each joint, the combination of the best parameters (optimal parameters), the cycle time, and the like. As a result, the user can observe the progress of learning and grasp the parameters that greatly contribute to the evaluation value of the series of operations and the number of searches of the machine learning unit 140 until the solution converges.
  • FIG. 12 is a block diagram showing a fifth alternative configuration example of the parameter calculation device according to the first embodiment.
  • FIG. 12 shows the configuration of the parameter calculation device 100E when a program for operating the robot is generated based on the adjusted parameters.
  • the components that achieve the same functions as the parameter calculation device 100 shown in FIG. 1 are designated by the same reference numerals, and redundant description will be omitted.
  • the parameter calculation device 100E which is a fifth alternative configuration example of the parameter calculation device 100, includes a program generation unit 180 in addition to the components of the parameter calculation device 100.
  • the program generation unit 180 is connected to the end condition determination unit 150.
  • the program generation unit 180 acquires the optimum combination of parameters from the end condition determination unit 150 when the end condition determination unit 150 determines that the end condition of the parameter adjustment is satisfied.
  • the optimum combination of parameters that the program generation unit 180 acquires from the end condition determination unit 150 is the combination of parameters stored in the parameter storage unit 110.
  • the program generation unit 180 generates a program for causing the robot to perform a series of operations with an operation command value based on the acquired parameters.
  • the program generated by the program generation unit 180 is described in a programming language used by the user to operate the robot.
  • the program generation unit 180 outputs the generated program to an external device (such as a controller that controls the robot). As a result, the user can obtain an optimum program for a series of robot operations.
  • the life of the machine element is evaluated by calculating the torque and operating speed acting on the machine element from the joint displacement, speed, and acceleration of the robot, and the series of movements is performed using the ratio of the target life to the evaluated life.
  • the overall optimization can be realized with the predicted life calculated from the damage degree and the like as a constraint condition.
  • the machine learning unit 140 searches for a combination of parameters that minimizes the cycle time in the series of operations within the range in which the life constraint condition when the series of operations is repeated is satisfied. Therefore, the parameter calculation devices 100, 100A to 100E can suppress an increase in the cycle time while satisfying the life constraint condition for the entire series of operations of the robot. This makes it easier for robots to handle variant and variable production. In addition, the robot can speed up the operation according to the target work, so that the productivity can be improved. Further, as a delimiter, if the control section in which one movement operation is completed and the speed 0 is delimited can be optimized for a series of accumulated operations, the whole operation will be optimized. Therefore, it is possible to realize the overall optimization in which both the constraint condition for the series of operations and the cycle time for the series of operations satisfy specific conditions.
  • the state variable acquisition unit 120A acquires the current value consumed by driving each joint as a state variable
  • the evaluation unit acquires the current consumption or power consumption consumed by driving a series of joint movements. Is calculated as an evaluation value.
  • the learning unit learns the parameters for which the cycle time is improved while the evaluation value of the current consumption or the power consumption in the series of operations satisfies the constraint condition, and searches for the optimum parameter for which the cycle time is minimized.
  • FIG. 13 is a block diagram showing a first configuration example of the parameter calculation device according to the second embodiment.
  • components that achieve the same functions as the parameter calculation device 100B of the first embodiment shown in FIG. 8 are designated by the same reference numerals, and redundant description will be omitted.
  • the parameter calculation device 100F calculates the current consumption of each component in a series of robot operations.
  • An example of a robot component is a joint with an actuator.
  • the parameter calculation device 100F calculates the current consumption of the actuator in the series of operations of the robot as the current consumption of the parts included in the robot, and generates parameters so as to satisfy the constraint condition set based on the upper limit of the current consumption.
  • the parameter calculation device 100F may calculate the current consumption of the parts other than the actuator provided by the robot and generate the parameters so as to satisfy the constraint condition set based on the upper limit of the current consumption.
  • the parameter calculation device 100F includes an evaluation unit 130F instead of the evaluation unit 130B as compared with the parameter calculation device 100B.
  • the evaluation unit 130F includes a current consumption calculation unit 134 and a constraint determination unit 135a.
  • the current consumption calculation unit 134 is connected to the operation trial unit 122 and the constraint determination unit 135a, and the constraint determination unit 135a is connected to the machine learning unit 140.
  • the current consumption calculation unit 134 calculates the current consumption in a series of operations by using the current consumption value of the actuator of each joint acquired by the state variable acquisition unit 120A.
  • the current consumption calculation unit 134 calculates the current consumption for each teaching section, and sets the sum of the current consumption in each teaching section as the current consumption for a series of operations. Further, the current consumption calculation unit 134 may calculate the current consumption of the series of operations by setting the time point at which the entire series of operations is completed as the current consumption calculation cycle, which is the calculation cycle of the current consumption.
  • the current consumption calculation unit 134 calculates the value I_i [k] obtained by converting the current value acquired for each robot control cycle ⁇ t (unit: seconds) by the state variable acquisition unit 120A into an effective value.
  • the cumulative current consumption value Iacc_i [k] is the cumulative value of the current consumption when the actuator is driven.
  • the constraint determination unit 135a uses a determination formula based on the current consumption in the series of operations calculated by the current consumption calculation unit 134 and the upper limit of the current consumption, and the combination of the parameters read from the parameter storage unit 110 operates in a series. Judge whether or not the constraint condition in is satisfied. Assuming that the cumulative current consumption value Iacc_i [k] of the i-axis in the entire series of operations is Ic_i and the upper limit of the current consumption of the i-axis is Is_i, the cumulative current consumption value Iacc_i [k] of the i-axis is the i-axis.
  • the constraint condition that the upper limit of the current consumption of is not exceeded can be expressed by the following equation (17).
  • the current consumption upper limit Is_i the value of the current consumption upper limit required for using the robot in the actual production process may be set. Further, the current consumption upper limit value set by the user via the interface when designing a series of robot operations may be applied as Is_i.
  • FIG. 14 is a block diagram showing a second configuration example of the parameter calculation device according to the second embodiment.
  • the components that achieve the same functions as the parameter calculation device 100F shown in FIG. 13 are designated by the same reference numerals, and redundant description will be omitted.
  • the parameter calculation device 100G calculates the power consumption of the actuators of each joint in a series of robot operations, and generates parameters so as to satisfy the constraint condition set based on the power consumption upper limit.
  • the parameter calculation device 100G may calculate the power consumption of the parts other than the actuator provided by the robot and generate the parameters so as to satisfy the constraint condition set based on the upper limit of the power consumption.
  • the parameter calculation device 100F includes an evaluation unit 130G instead of the evaluation unit 130F as compared with the parameter calculation device 100G.
  • the evaluation unit 130G includes a power consumption calculation unit 136 and a constraint determination unit 137a.
  • the power consumption calculation unit 136 is connected to the operation trial unit 122 and the constraint determination unit 137a, and the constraint determination unit 137a is connected to the machine learning unit 140.
  • the power consumption calculation unit 136 calculates the power consumption in a series of operations by using the power consumption value of the actuator of each joint acquired by the state variable acquisition unit 120A.
  • the power consumption calculation unit 136 calculates the cumulative current consumption value Iacc_i [k] by the same processing as the current consumption calculation unit 134. Further, the power consumption calculation unit 136 calculates the cumulative power consumption value Wacc_i [k] by using the cumulative current consumption value Iacc_i [k] calculated by using the equation (16) and the rated voltage V_i. That is, the power consumption calculation unit 136 calculates the cumulative power consumption value Wacc_i [k] using the formula (18) shown below.
  • the cumulative power consumption value Wacc_i [k] is the cumulative value of the power consumption when the actuator is driven.
  • the constraint determination unit 137a is a series of combinations of parameters read from the parameter storage unit 110 by using a determination formula based on the power consumption in the series of operations calculated by the power consumption calculation unit 136 and the power consumption upper limit. Judge whether or not the constraint condition in operation is satisfied. Assuming that the cumulative power consumption value Wacc_i [k] of the i-axis in the entire series of operations is Wc_i and the upper limit of the power consumption of the i-axis is Ws_i, the cumulative power consumption value Wacc_i [k] of the i-axis is the i-axis.
  • the constraint condition that the upper limit of the power consumption of the above is not exceeded can be expressed by the following equation (19).
  • the power consumption upper limit Ws_i the value of the power consumption upper limit required for using the robot in the actual production process may be set. Further, the upper limit of power consumption set by the user via the interface when designing a series of robot operations may be applied as Ws_i.
  • the machine learning unit 140 in the present embodiment searches for a combination of parameters that minimizes the cycle time within a range that satisfies the current constraint condition represented by the equation (17) or the power constraint condition represented by the equation (19). .. That is, instead of searching for the combination of parameters that minimizes the cycle time within the range that satisfies the life constraint of the equation (12), the operation of the machine learning unit 140 is the current constraint condition of the equation (17) or the operation of the equation (19). Search for a combination of parameters that minimizes the cycle time within the range that satisfies the power constraint condition.
  • the machine learning unit 140 executes the same processing as in the first embodiment except for this search processing.
  • the machine learning unit 140 calculates the cumulative current consumption value Iacc_i [k] calculated for each teaching section by the current consumption calculation unit 134 or the power consumption calculation unit 136 for each teaching section for the combination of parameters to be adjusted.
  • the teaching section for adjusting the parameter may be selected based on the accumulated power consumption value. In this case, the machine learning unit 140 selects the teaching section having a large cumulative current consumption value Iacc_i [k] or the cumulative power consumption value as the parameter adjustment target. As a result, the machine learning unit 140 can limit the parameter search range.
  • the machine learning unit 140 may adjust only the operation of the upper teaching section having the large current consumption or power consumption in the series of operations.
  • the machine learning unit 140 may determine the target operation from the ratio of the current consumption or power consumption of the operation to the operation time for each teaching section.
  • the machine learning unit 140 may select a teaching section to be adjusted by an initial value from the ratio of the current consumption or power consumption of each operation to the operation time of each operation.
  • the machine learning unit 140 searches for a combination of parameters that minimizes the cycle time in the series of operations within the range in which the current consumption in the series of operations or the constraint condition of the power consumption is satisfied. Therefore, the parameter calculation device 100F can suppress an increase in the cycle time while satisfying the constraint condition of the current consumption for the entire series of operations of the robot. Further, the parameter calculation device 100G can suppress an increase in the cycle time while satisfying the constraint condition of power consumption for the entire series of operations of the robot.
  • the parameter calculation device 100F targets a specific teaching section as a parameter adjustment target. Therefore, compared to the case where the parameter combination is comprehensively tried based on all the parameters set for each teaching section, the cycle time can be increased while satisfying the constraint condition of the upper limit of the current consumption in the series operation of the robot. A combination of parameters that can be suppressed can be generated with a small number of trials.
  • the parameter calculation device 100G satisfies the constraint condition of the upper limit of power consumption in the series operation of the robot as compared with the case where the parameter combination is comprehensively tried based on all the parameters set for each teaching section.
  • a combination of parameters that can suppress an increase in cycle time can be generated with a small number of trials.
  • the evaluation unit calculates two or more of the predicted life, the current consumption, and the power consumption in the series of operations as evaluation values.
  • the learning unit learns the parameters for improving the cycle time while the evaluation values satisfy the constraint conditions for two or more of the predicted life, the current consumption, and the power consumption in the series of operations, and the cycle time is minimized. Search for the optimum parameters.
  • FIG. 15 is a block diagram showing a configuration example of the parameter calculation device according to the third embodiment.
  • the components that achieve the same functions as the parameter calculation devices 100B, 100F, and 100G are designated by the same reference numerals, and redundant description will be omitted.
  • the parameter calculation device 100H generates parameters so as to satisfy two or more of a constraint condition based on the design life, a constraint condition based on the upper limit of current consumption, and a constraint condition based on the upper limit of power consumption in a series of robot operations. To do.
  • the parameter calculation device 100H includes an evaluation unit 130H instead of the evaluation unit 130B as compared with the parameter calculation device 100B.
  • the evaluation unit 130H sets two or more of the constraint condition based on the design life, the constraint condition based on the current consumption upper limit, and the constraint condition based on the power consumption upper limit.
  • the evaluation unit 130H includes a constraint selection unit 138, a dynamics calculation unit 131, a damage degree calculation unit 132, a current consumption calculation unit 134, a power consumption calculation unit 136, and a constraint determination unit 139.
  • the constraint selection unit 138 is connected to the parameter storage unit 110, the state variable acquisition unit 120A, the dynamics calculation unit 131, the current consumption calculation unit 134, and the power consumption calculation unit 136.
  • the dynamics calculation unit 131 is connected to the damage degree calculation unit 132.
  • the constraint determination unit 139 is connected to the damage degree calculation unit 132, the current consumption calculation unit 134, the power consumption calculation unit 136, and the machine learning unit 140.
  • the state variable acquisition unit 120A acquires the state variables (displacement, velocity, and acceleration of each joint) related to the predicted life. Further, when the user selects the upper limit of current consumption or the constraint condition based on the upper limit of power consumption, the state variable acquisition unit 120A acquires the current consumption or the state variable related to the power consumption (current consumption value of the actuator of each joint). To do.
  • the constraint selection unit 138 selects the type of constraint condition to be set according to the instruction from the user among the constraint conditions based on the design life, the upper limit of current consumption, and the upper limit of power consumption.
  • the constraint selection unit 138 sends a state variable to the dynamics calculation unit 131.
  • the dynamics calculation unit 131 calculates the load torque applied to the joint
  • the damage degree calculation unit 132 calculates the predicted life when a series of operations are repeated.
  • the damage degree calculation unit 132 sends the predicted life to the constraint determination unit 139.
  • the constraint selection unit 138 sends a state variable to the current consumption calculation unit 134.
  • the current consumption calculation unit 134 calculates the cumulative current consumption value Ic_i in the series of operations using the state variables.
  • the current consumption calculation unit 134 sends the cumulative current consumption value Ic_i to the constraint determination unit 139.
  • the constraint selection unit 138 sends a state variable to the power consumption calculation unit 136.
  • the power consumption calculation unit 136 calculates the cumulative power consumption value Wc_i in the series of operations using the state variables.
  • the power consumption calculation unit 136 sends the cumulative power consumption value Wc_i to the constraint determination unit 139.
  • the constraint determination unit 139 determines whether or not the constraint condition is satisfied by using the equation (12). When the constraint condition based on the upper limit of the current consumption is selected by the user, the constraint determination unit 139 determines whether or not the constraint condition is satisfied by using the equation (17). When the constraint condition based on the upper limit of power consumption is selected by the user, the constraint determination unit 139 determines whether or not the constraint condition is satisfied by using the equation (19).
  • the constraint determination unit 139 determines that the constraint conditions for a series of operations are satisfied when the evaluation value satisfies all the constraint conditions selected by the user.
  • the machine learning unit 140 learns the parameters by the same processing as in the first and second embodiments.
  • the machine learning unit 140 searches for a combination of parameters that minimizes the cycle time in a series of operations within a range in which a plurality of the life, the current consumption, and the power consumption satisfy the constraint conditions. Therefore, the parameter calculation device 100H can suppress an increase in the cycle time while satisfying the constraint conditions for a plurality of the life, the current consumption, and the power consumption for the entire series of operations of the robot.
  • the parameter calculation device generates a combination of parameters capable of improving the evaluation value of the degree of damage, the current consumption, or the power consumption in the series of operations while satisfying the constraint condition of the cycle time. That is, the evaluation unit calculates the degree of damage, the current consumption, or the power consumption in the series of operations as the evaluation value.
  • the learning unit learns the parameters that improve the degree of damage, current consumption, or power consumption in a series of operations while the cycle time satisfies the constraints, and the degree of damage, current consumption, or power consumption in the series of operations is optimal. Search for the parameter that becomes.
  • Improvement of the evaluation value of the degree of damage is to reduce the degree of damage
  • improvement of the evaluation value of the current consumption is to reduce the current consumption
  • improvement of the evaluation value of the power consumption is to reduce the power consumption.
  • the specific condition satisfied by the cycle time is to satisfy the constraint condition (within the specific time)
  • the specific condition satisfied by the evaluation value is to improve the evaluation value. That is, the improvement of the evaluation value corresponds to the evaluation value satisfying the first condition, and the cycle time satisfying the constraint condition corresponds to the cycle time satisfying the second condition.
  • any of the parameter calculation devices 100B, 100F, and 100G is used.
  • the parameter calculation devices 100B, 100F, and 100G obtain a combination of parameters that minimizes the degree of damage, current consumption, or power consumption in a series of operations while satisfying the constraint conditions based on the cycle time.
  • the constraint determination unit 133a, 135a, 137a determines whether or not the constraint condition set based on the cycle time is satisfied, and the machine learning unit 140 minimizes the degree of damage, current consumption, or power consumption. Find the combination of parameters. Minimizing damage is synonymous with maximizing expected life.
  • the operation processing of the parameter calculation device according to the fourth embodiment will be described.
  • the parameter calculation device 100B When the degree of damage (predicted life) is reduced, the parameter calculation device 100B is used.
  • the parameter calculation device 100F is used.
  • the parameter calculation device 100G is used.
  • the same operation processing as the operation processing of the parameter calculation devices 100B, 100F, 100G in the first to third embodiments will be described. Omit. Further, in the fourth embodiment, the constraint determination units 133a, 135a, and 137a perform the same processing, and therefore, the processing of the constraint determination unit 133a will be described here. Further, in the fourth embodiment, the evaluation units 130B, 130F, and 130G perform the same processing, and therefore, the processing of the evaluation unit 130B will be described here.
  • the constraint determination unit 133a is set with a limit cycle time reference value ts that cannot slow down the series of operations any more.
  • the cycle time reference value ts is a constraint condition of the cycle time, and is the longest cycle time allowed when executing a series of operations. If the cycle time tc calculated by the evaluation unit 130B satisfies the following equation (20), the constraint determination unit 133a determines that the constraint condition of the cycle time in the series of operations is satisfied.
  • the cycle time reference value ts is set to, for example, 90% of the cycle time when the speed and acceleration are reduced at the same rate until the design life is satisfied in each teaching section. Further, the cycle time reference value ts may be set to a value of the cycle time required when designing the operation of the robot in the actual production process.
  • the machine learning unit 140 searches for a combination of parameters that minimizes the damage degree, current consumption, or power consumption of a series of operations calculated by the evaluation unit 130B within the range in which the constraint condition of the equation (20) is satisfied. In other words, the machine learning unit 140 searches for a combination of parameters for which the evaluation value calculated by the evaluation unit 130B is improved within the range in which the constraint condition of the equation (20) is satisfied. The machine learning unit 140 updates the combination of parameters stored in the parameter storage unit 110 with the combination of the searched parameters.
  • the machine learning unit 140 searches for a combination of parameters that minimizes the damage degree of the series of operations within the range in which the constraint condition of the equation (20) is satisfied.
  • the machine learning unit 140 searches for a combination of parameters that minimizes the current consumption of a series of operations within the range in which the constraint condition of the equation (20) is satisfied.
  • the machine learning unit 140 searches for a combination of parameters that minimizes the power consumption of the series of operations within the range in which the constraint condition of the equation (20) is satisfied.
  • the parameter calculation device 100H of the third embodiment can improve at least one of the evaluation values of the degree of damage, the current consumption, and the power consumption in the series of operations while satisfying the constraint condition of the cycle time. You may generate a combination of parameters.
  • the constraint selection unit 138 selects at least one object to be optimized from the degree of damage, the current consumption, and the power consumption.
  • the machine learning unit 140 improves at least one of the life, the current consumption, and the power consumption in the series operation within the range in which the constraint condition of the cycle time when the series operation is repeated is satisfied. Search for a combination of parameters so that. Therefore, the machine learning unit 140 can extend the predicted life, suppress the current consumption, or suppress the power consumption for the series of operations while satisfying the cycle time allowed for the series of operations of the robot. Operation commands can be generated. That is, the machine learning unit 140 can suppress an increase in the cycle time in a series of operations when the predicted life, the current consumption, or the power consumption is taken into consideration.
  • Embodiment 5 Next, a fifth embodiment of the present invention will be described with reference to FIG.
  • the state variable is acquired from the actual robot.
  • FIG. 16 is a block diagram showing a configuration example of a robot system including the parameter calculation device according to the fifth embodiment.
  • components that achieve the same function as the parameter calculation device 100 are designated by the same reference numerals, and duplicate description will be omitted.
  • the robot system 700 includes a robot control system 600 and a robot 300.
  • the robot control system 600 is a system that controls the robot 300, and includes a parameter calculation device 100I and a robot controller 200.
  • the parameter calculation device 100I executes communication with the sensor 400 connected to the actual robot 300, and acquires a state variable from the robot 300.
  • the parameter calculation device 100I includes a parameter storage unit 110, a state variable acquisition unit 120B, an evaluation unit 130, a machine learning unit 140, and an end condition determination unit 150. That is, the parameter calculation device 100I includes a state variable acquisition unit 120B instead of the state variable acquisition unit 120 as compared with the parameter calculation device 100.
  • the state variable acquisition unit 120B includes a parameter transmission unit 123 and a state variable reception unit 124.
  • the parameter transmission unit 123 is connected to the parameter storage unit 110, the end condition determination unit 150, and the robot controller 200, and the state variable reception unit 124 is connected to the sensor 400 and the evaluation unit 130.
  • the parameter transmission unit 123 transmits the parameters stored in the parameter storage unit 110 to the robot controller 200.
  • the state variable receiving unit 124 receives the state variable when the robot 300 is operated from the sensor 400.
  • the robot controller 200 is a device that controls the robot 300 using the parameters calculated by the parameter calculation device 100I.
  • the robot controller 200 includes a command generation unit 201.
  • the command generation unit 201 receives the parameters from the parameter transmission unit 123, and generates an operation command value for the robot 300 based on the parameters.
  • the command generation unit 201 transmits the generated operation command value to the robot 300.
  • the robot 300 executes a series of operations based on the operation command value generated by the command generation unit 201.
  • the sensor 400 acquires the state variables of each joint of the robot 300 in the series of operations and transmits them to the state variable receiving unit 124.
  • the sensor 400 may be arranged inside the robot 300 or may be arranged outside the robot 300. Further, the sensor 400 may be arranged inside the robot system 700, or may be arranged outside the robot system 700.
  • the command generation unit 201 when the parameter transmission unit 123 transmits the parameters stored in the parameter storage unit 110 to the command generation unit 201, the command generation unit 201 generates an operation command value for the robot 300 based on the parameters. To do.
  • the robot 300 executes a series of operations based on the operation command value, and the sensor 400 acquires the state variables of each joint of the robot 300 in the series of operations and transmits them to the state variable receiving unit 124.
  • the state variable receiving unit 124 receives the state variable when the robot 300 is operated based on the operation command value generated by the command generating unit 201 from the sensor 400. In this way, the parameter calculation device 100I acquires the state variable from the operation result of the actual robot 300. The state variable receiving unit 124 transmits the received state variable to the evaluation unit 130.
  • the evaluation unit 130, the machine learning unit 140, and the end condition determination unit 150 execute the same processing as the processing described in the first embodiment.
  • the parameter calculation device 100I generates a parameter that can suppress an increase in the cycle time while satisfying the constraint condition of the design life for the entire series of operations of the robot 300.
  • the parameter calculation device 100I may be arranged inside the robot controller 200.
  • the robot controller 200 includes a teaching point input unit that receives the teaching points and inputs them to the parameter calculation device 100I, and a parameter output unit that outputs the parameters generated by the parameter calculation device 100I.
  • the state variable acquisition unit 120B may be applied to the parameter calculation devices 100A to 100H.
  • the parameter calculation device 100I can obtain the optimum combination of parameters under the constraint condition of the series of operations by using the state variables acquired from the actual robot 300.
  • FIG. 17 is a diagram showing a hardware configuration example of the parameter calculation device according to the first to fifth embodiments. Since the parameter calculation devices 100, 100A to 100I have the same hardware configuration, the hardware configuration of the parameter calculation device 100 will be described here.
  • the parameter calculation device 100 can be realized by the control circuit shown in FIG. 17, that is, the processor 301 and the memory 302.
  • the processor 301 is a CPU (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, DSP (Digital Signal Processor)) or system LSI (Large Scale Integration).
  • the memory 302 are RAM (Random Access Memory) and ROM (Read Only Memory).
  • the parameter calculation device 100 is realized by the processor 301 reading and executing a program stored in the memory 302 for executing the operation of the parameter calculation device 100. It can also be said that this program causes the computer to execute the procedure or method of the parameter calculation device 100.
  • the memory 302 is also used as a temporary memory when the processor 301 executes various processes.
  • parameter calculation device 100 may be realized by dedicated hardware, and some may be realized by software or firmware.
  • Embodiment 6 an embodiment in the case of adjusting the parameters for determining the layout of the working environment of the robot 300 that executes a series of operations will be described.
  • the parameter for determining the layout of the working environment of the robot 300 is a parameter for determining the movement path (control section) of the robot 300. That is, in the present embodiment, the case where the operation parameter is a parameter that determines the movement path of the robot will be described.
  • any of the parameter calculation devices 100, 100A to 100I described in the first to fifth embodiments may be used. That is, the parameters for determining the layout of the working environment of the robot 300 can be adjusted by any of the parameter calculation devices 100, 100A to 100I.
  • the parameter calculation device 100 uses the parameter storage unit 110, the state variable acquisition unit 120, the evaluation unit 130, the machine learning unit 140, and the end condition determination unit 150 to use the parameter calculation device 100, By executing any of the functions 100A to 100I, the parameters for determining the layout of the working environment are adjusted.
  • FIG. 18 is a diagram showing a control section before the parameter calculation device according to the sixth embodiment adjusts the layout of the work environment.
  • FIG. 19 is a diagram showing a control section after the parameter calculation device according to the sixth embodiment adjusts the layout of the work environment.
  • the robot 300 installed at the robot base origin O1 first moves from the teaching point P1 at the initial position of the hand to the teaching point P2 on the parts feeder 800.
  • the robot 300 installed at the robot base origin O1 first moves from the teaching point P1 at the initial position of the hand to the teaching point P2 on the parts feeder 800.
  • the schematic diagram of the layout A1 in FIG. 19 shows a series of operations when the robot base origin O1 and the teaching points P1, P2 and P3 are changed to the robot base origin O1'and the teaching points P1', P2' and P3', respectively. It shows that the posture of the robot 300 and the amount of movement of each joint in the constituent teaching sections (control sections) P1'-P2', P2'-P3', and P3'-P1' change.
  • the posture of the robot 300 and the amount of movement of each joint change for each control section constituting the series of operations.
  • the evaluation unit 130 included in the parameter calculation device 100 the evaluation value of the series of operations calculated by the method according to any one of the first to fifth embodiments changes.
  • the machine learning unit 140 calculates a parameter for determining the layout of the work environment by using the method according to any one of the first to fifth embodiments.
  • parameters for determining the layout of the work environment are the three-dimensional coordinates (x, y, z) of the robot base origin O1 and the teaching points P1, P2, P3.
  • the parameter storage unit 110 stores these three-dimensional coordinates as parameters to be adjusted.
  • the machine learning unit 140 uses, for example, the cycle time calculated by the evaluation unit 130 and the evaluation value of a series of operations by PSO using the three-dimensional coordinates (x, y, z) of each teaching point as the position vector of the particle. Calculate the combination of dimensional coordinates.
  • the user may move the positions of equipment such as the parts feeder 800 and the assembly stage 801 in order to carry out the work by the robot 300 with the layout of the optimum parameters output by the parameter calculation device 100.
  • the user may move the point where the robot 300 picks an object on equipment such as a conveyor belt whose position is fixed.
  • the machine learning unit 140 can adjust the parameter search range by the method described in any one of the first to fifth embodiments. For example, in the layout A0 in FIG. 18, the machine learning unit 140 fixes the arrangement positions of the parts feeder 800 and the assembly stage 801 and does not adjust the coordinates of the teaching points P2 and P3, but does not adjust the robot base origin O1 and the teaching. Only the coordinates of the point P1 can be adjusted.
  • the parameter calculation device 100 calculates the parameters for each control section of the series of operations described in any one of the first to fifth embodiments together with the parameters for determining the layout of the work environment. May be good.
  • the parameter calculation device 100 may calculate the three-dimensional coordinates of each teaching point included in the series of operations as parameters, and may also calculate the velocity and acceleration in the control section up to the next teaching point as parameters.
  • the parameter calculation device 100 may not calculate the parameters for each control section of the series of operations described in any one of the first to fifth embodiments, but may calculate only the parameters for determining the layout of the work environment. ..
  • the parameters that control the operation of the robot 300 always include the parameters that determine the layout of the work environment in which the robot 300 executes a series of operations.
  • the parameters that control the operation of the robot 300 described in any one of the first to fifth embodiments are not the parameters stored in the parameter storage unit 110 and the parameters learned by the machine learning unit 140. You may.
  • the sixth embodiment it is possible to determine the layout of the work environment that suppresses the increase in the cycle time while satisfying the constraint condition of the series of operations.
  • the configuration shown in the above-described embodiment shows an example of the content of the present invention, can be combined with another known technique, and is one of the configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
  • 100, 100A-100I parameter calculation device 110 parameter storage unit, 120, 120A, 120B state variable acquisition unit, 121,201 command generation unit, 122 operation trial unit, 123 parameter transmission unit, 124 state variable reception unit, 130, 130B , 130F, 130G, 130H Evaluation unit, 131 Dynamics calculation unit, 132 Damage degree calculation unit, 133a, 135a, 137a, 139 Constraint judgment unit, 134 Current consumption calculation unit, 136 Power consumption calculation unit, 138 Constraint selection unit, 140 Machine learning unit, 150 end condition judgment unit, 160 adjustment section storage unit, 170 learning progress visualization unit, 180 program generation unit, 200 robot controller, 300 robot, 301 processor, 302 memory, 310 tip, 400 sensor, 500 interface screen , 600 robot control system, 700 robot system, 800 parts feeder, 801 assembly stage, O1, O1'robot base origin, P1, P1', P2, P2', P3, P3'teaching points.

Landscapes

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

Abstract

パラメータ算出装置(100)が、ロボットの動作を制御するパラメータを速度0を区切りにした制御区間毎に記憶するパラメータ記憶部(110)と、複数の制御区間で構成された一連動作におけるロボットの状態を示す状態変数をパラメータに基づいて取得する状態変数取得部(120)と、状態変数に基づいて、一連動作を評価する評価値および一連動作のサイクルタイムを算出する評価部(130)と、評価値が第1の条件を満たし且つサイクルタイムが第2の条件を満たすパラメータを多目的最適化手法を用いた学習で算出し、算出したパラメータをパラメータ記憶部(110)に記憶させる機械学習部(140)と、を備える。

Description

パラメータ算出装置、ロボット制御システム、およびロボットシステム
 本発明は、ロボットの動作を制御するためのパラメータを算出するパラメータ算出装置、ロボット制御システム、およびロボットシステムに関する。
 近年、産業用のロボットには、生産性を向上させるために、対象作業に応じた動作の高速化が求められている。一方で、ロボットの関節軸のアクチュエータが、出力可能な最大速度で繰り返し動作を行うと、負荷の大きさによっては、ロボットが備える部品が過大に消耗し設計寿命を満たさなくなる場合がある。このため、ロボットを制御する制御装置は、ロボットの関節軸に加わる負荷トルクなどを監視し、アクチュエータに出力する動作指令を生成するための速度または加速度のパラメータを調整することが望まれる。
 特許文献1に記載の寿命推定シミュレーション装置は、ロボット動作のシミュレーションによって得られた減速機の負荷の値が、目標寿命を満たすための負荷基準値より大きい場合には、速度指令値を低減させている。
特開2013-144349号公報
 しかしながら、上記特許文献1の技術では、特定タイミングの速度指令値を低減させることで寿命を延ばしており、減速機の一連動作の全体に対しては、寿命などの制約条件を考慮していない。このため、上記特許文献1の技術では、一連動作の全体に対し、寿命などの制約条件とサイクルタイムとの両方を考慮して動作指令を調整することはできない。すなわち、上記特許文献1の技術では、一連動作に対する制約条件と、一連動作に対するサイクルタイムとの両方が、それぞれ特定の条件を満たすことはできない。
 本発明は、上記に鑑みてなされたものであって、一連動作に対する制約条件と、一連動作に対するサイクルタイムとの両方が、それぞれ特定条件を満たす全体最適化を実現することができるパラメータ算出装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明のパラメータ算出装置は、ロボットの動作を制御するパラメータを速度0を区切りにした制御区間毎に記憶するパラメータ記憶部と、複数の制御区間で構成された一連動作におけるロボットの状態を示す状態変数をパラメータに基づいて取得する状態変数取得部と、を備える。また、本発明のパラメータ算出装置は、状態変数に基づいて、一連動作を評価する評価値および一連動作のサイクルタイムを算出する評価部と、評価値が第1の条件を満たし且つサイクルタイムが第2の条件を満たすパラメータを多目的最適化手法を用いた学習で算出し、算出したパラメータをパラメータ記憶部に記憶させる機械学習部と、を備える。
 本発明にかかるパラメータ算出装置は、一連動作に対する制約条件と、一連動作に対するサイクルタイムとの両方が、それぞれ特定条件を満たす全体最適化を実現することができるという効果を奏する。
実施の形態1にかかるパラメータ算出装置の構成を示すブロック図 実施の形態1にかかるパラメータ算出装置によるパラメータの算出処理手順を示すフローチャート 実施の形態1にかかるパラメータ算出装置の第1の別構成例を示すブロック図 実施の形態1にかかるロボットの一連動作を説明するための図 実施の形態1にかかるパラメータ算出装置が生成する速度パターンの例を示す図 図5に示した速度パターンに対して、最高速度および加速度が低減された場合の速度パターンの例を示す図 実施の形態1にかかるパラメータ算出装置が生成する速度パターンと、比較例の速度パターンとの差異を説明するための図 実施の形態1にかかるパラメータ算出装置の第2の別構成例を示すブロック図 実施の形態1にかかるパラメータ算出装置の第3の別構成例を示すブロック図 実施の形態1にかかるパラメータ算出装置の第4の別構成例を示すブロック図 図10のパラメータ算出装置がインタフェース画面に表示させる情報を説明するための図 実施の形態1にかかるパラメータ算出装置の第5の別構成例を示すブロック図 実施の形態2にかかるパラメータ算出装置の第1の構成例を示すブロック図 実施の形態2にかかるパラメータ算出装置の第2の構成例を示すブロック図 実施の形態3にかかるパラメータ算出装置の構成例を示すブロック図 実施の形態5にかかるパラメータ算出装置を備えたロボットシステムの構成例を示すブロック図 実施の形態1から5にかかるパラメータ算出装置のハードウェア構成例を示す図 実施の形態6にかかるパラメータ算出装置が作業環境のレイアウトを調整する前の制御区間を示す図 実施の形態6にかかるパラメータ算出装置が作業環境のレイアウトを調整した後の制御区間を示す図
 以下に、本発明の実施の形態にかかるパラメータ算出装置、ロボット制御システム、およびロボットシステムを図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態1.
<装置構成>
 図1は、実施の形態1にかかるパラメータ算出装置の構成を示すブロック図である。ロボット動作パラメータ算出装置であるパラメータ算出装置100は、ロボットを動作させる際に用いられるパラメータ(動作パラメータ)を算出する装置である。動作パラメータには、ロボットの最高速度、加速度、待機時間などのロボットの速さを決めるパラメータと、ロボットの移動経路を決めるパラメータとがある。実施の形態1から5では、動作パラメータがロボットの速さを決めるパラメータである場合について説明し、実施の形態6では、動作パラメータがロボットの移動経路を決めるパラメータである場合について説明する。パラメータ算出装置100は、パラメータ記憶部110と、状態変数取得部120と、評価部130と、機械学習部140と、終了条件判定部150とを備えている。
 本実施の形態では、ロボットがアームロボットである場合について説明するが、ロボットは何れのロボットであってもよい。ユーザは、ティーチングペンダントと呼ばれるリモートコントロール装置を用いて、ロボットのアーム部を移動させることによって、製品の製造工程においてアーム部が通過すべき特定の位置(教示点)を教示する。あるいは、ユーザは、ロボットのアーム部などを直接操作することでロボットのアーム部へ教示点を教示することが可能となっている。ロボットには、アーム部を直接操作するための操作器がアーム部に取り付けられており、操作者が操作器を直接手で掴んでアーム部を移動させることによって、製品の製造工程においてアーム部が通過すべき特定の位置(教示点)を教示する。これにより、ロボットは、製品の製造工程において、各教示点へアーム部を順番に移動させる。
 パラメータ記憶部110は、ロボットへの動作指令を生成する際に用いられるパラメータを教示区間ごとに記憶する。パラメータ記憶部110は、機械学習部140が学習して算出したパラメータの組み合わせを教示区間ごとに記憶する。教示区間は、ロボットの1つの動作の始点となる教示点から終点となる教示点までの移動区間である。ロボットは、複数の教示区間を移動することによって、一連動作を実行する。なお、動作の始点および動作の終点は、ロボットの移動を制御するための制御プログラム(ロボット言語)に基づいて設定されてもよい。この場合、パラメータ記憶部110は、ロボットへの動作指令を生成する際に用いられるパラメータを制御区間ごとに記憶する。制御区間は、ロボットの1つの動作の始点から終点までの移動区間である。
 状態変数取得部120は、パラメータ記憶部110に格納されている、教示区間ごとのパラメータを読み出す。状態変数取得部120は、教示区間ごとに設定されたパラメータに基づいて、複数の教示区間で構成される一連動作を試行した場合のロボットの各部品(例えば、各関節)の状態変数を算出することで、一連動作における状態変数を取得する。状態変数は、ロボットの状態を示す情報であり、ロボットの動作に応じて変化する。状態変数の例は、一連動作における、各関節の変位、速度、加速度、消費電流、消費電力である。
 評価部130は、状態変数取得部120が取得した状態変数を用いて、一連動作を評価するための評価値、および一連動作のサイクルタイムを算出する。本実施の形態では、評価値が、一連動作を繰り返す場合のロボットが備える部品の予測寿命、一連動作で消費される部品の実効電流(消費電流)、または一連動作で消費される部品の電力(消費電力)である。
 評価部130は、状態変数取得部120が取得した状態変数を用いて、一連動作の試行に要した時間をサイクルタイムとして算出する。さらに、評価部130は、一連動作に対する予測寿命、一連動作で消費される消費電流、および一連動作で消費される消費電力の少なくとも1つを評価値として算出する。
 評価部130は、評価値が制約条件を充足するか否かの判定を行うことで、評価値を評価する。制約条件は、ロボットが備える部品の、設計寿命、一連動作での消費電流上限、一連動作での消費電力上限のうち少なくとも1つに基づいて設定される条件である。設計寿命は、ユーザによって任意に設定可能な寿命であり、後述する定格寿命とは異なる。評価部130は、評価値が一連動作に対する予測寿命である場合には、設計寿命に基づいて設定された制約条件を用いる。評価部130は、評価値が一連動作における消費電流である場合には、一連動作での消費電流上限に基づいて設定された制約条件を用いる。評価部130は、評価値が一連動作での消費電力である場合には、一連動作での消費電力上限に基づいて設定された制約条件を用いる。
 例えば、評価部130は、制約条件として、設計寿命、消費電流上限、または消費電力上限をそのまま用いて、評価値が制約条件を満たすか否かを評価する。また、評価部130は、設計寿命の特定割合(例えば90%)、消費電流上限の特定割合、または消費電力上限の特定割合を用いて制約条件を満たすか否かを評価してもよい。すなわち、制約条件は、設計寿命の特定割合、消費電流上限の特定割合、または消費電力上限の特定割合であってもよい。評価部130は、制約条件を満たすか否かの判定結果と、サイクルタイムと、制約条件と、評価に用いたパラメータとを機械学習部140に送る。
 機械学習部140は、制約条件を満たすか否かの判定結果と、サイクルタイムと、制約条件とを記憶しておく。機械学習部140は、一連動作全体での制約条件が充足される範囲で、評価部130で算出されたサイクルタイムが最小となるパラメータの組合せを探索する。本実施の形態では、評価値が制約条件を満たすことが、評価値が第1の条件を満たすことに対応し、サイクルタイムが短くなることが、サイクルタイムが第2の条件を満たすことに対応する。機械学習部140は、パラメータ記憶部110に格納されているパラメータの値を、探索したパラメータの値(サイクルタイムが最小となるパラメータの組合せ)に更新する。
 終了条件判定部150は、パラメータ調整(パラメータ算出)の終了条件に基づいて、終了条件が満たされているか否かを判定する。パラメータ調整の終了条件は、例えば機械学習部140におけるパラメータの組合せの探索回数が規定された最大探索回数に達することである。また、パラメータ調整の終了条件は、最小化を目的とするサイクルタイムの、前回の機械学習までに得られているサイクルタイムの最小値からの低減量が、10-6秒未満などの十分に小さい値になることであってもよい。本実施の形態では、終了条件を満たした場合のパラメータを最適なパラメータといい、終了条件を満たした場合のサイクルタイムを最小のサイクルタイムという。すなわち、評価値が改善されていく中で、終了条件を満たした場合のパラメータを最適なパラメータという。また、評価値が改善されていく中で、終了条件を満たした場合の、サイクルタイムを最小のサイクルタイムという。
 終了条件が満たされている場合、終了条件判定部150は、その時点で得られている、サイクルタイムが最小となるパラメータの組合せを、最適なパラメータの組合せとして、外部装置に出力する。外部装置の例は、ロボットを制御するコントローラである。
 終了条件が満たされていない場合、終了条件判定部150は、状態変数取得部120に終了条件が満たされていないことを通知する。この場合、パラメータ算出装置100は、サイクルタイムが最小となるパラメータを、新たに算出する。
<機械学習部の繰り返し処理>
 図2は、実施の形態1にかかるパラメータ算出装置によるパラメータの算出処理手順を示すフローチャートである。ユーザは、調整するパラメータの数を決めるため、教示点の情報(教示点の位置)をパラメータ算出装置100に入力する。パラメータ算出装置100は、教示点の情報を受け付ける(ステップS101)。これにより、パラメータ算出装置100は、教示点の情報を受け付けて、パラメータ記憶部110に格納する。
 また、パラメータ記憶部110は、一連動作で最適化されるパラメータの組合せの初期値を記憶しておく(ステップS102)。パラメータ記憶部110が記憶しておくパラメータの組合せの初期値は、ユーザによってパラメータ算出装置100に入力されてもよいし、パラメータ算出装置100が他の装置から受信してもよい。なお、ステップS101の処理と、ステップS102の処理とは、何れが先に実行されてもよい。
 次に、状態変数取得部120は、パラメータ記憶部110に格納されているパラメータの組合せを読み出して、一連動作の状態変数を取得する(ステップS103)。すなわち、状態変数取得部120は、パラメータ記憶部110に格納されているパラメータに基づいて、一連動作を試行した場合のロボットの各関節の状態変数を取得する。本実施の形態では、状態変数が、各関節の変位、速度、および加速度である場合について説明する。
 次に、評価部130は、サイクルタイムおよび評価値を算出する(ステップS104)。具体的には、評価部130は、予測寿命、消費電流、および消費電力の少なくとも1つを評価値として算出するとともに、サイクルタイムを算出する。本実施の形態では、状態変数が、各関節の変位、速度、および加速度であるので、評価部130は、予測寿命を評価値として算出する。
 評価部130は、評価値が制約条件を充足するか否かの判定を行うことで、評価値を評価する。次に、評価部130は、評価値が制約条件を満たすか否かを判定する(ステップS105)。また、評価部130は、制約条件を満たすか否かの判定結果と、サイクルタイムと、制約条件と、評価に用いたパラメータとを機械学習部140に送る。
 制約条件を満たす場合(ステップS105、Yes)、機械学習部140は、これまでに制約条件を満たしたパラメータの組合せのうちサイクルタイムが最も短くなる組合せを、最適なパラメータの組合せの候補に設定する。以下、機械学習部140が設定した、設定時点で最適なパラメータの候補を、最適候補のパラメータという。最適候補のパラメータは、サイクルタイムが短くなるようパラメータを改善したものである。最適候補のパラメータを用いた場合のサイクルタイムが、最小候補のサイクルタイムである。機械学習部140は、パラメータ記憶部110に格納されているパラメータの値を、設定した最適候補のパラメータの組合せに更新する(ステップS106)。
 このように、機械学習部140は、第1の評価項目である評価値および第2の評価項目であるサイクルタイムが、それぞれ特定条件を満たすことができるパラメータを学習で算出する。実施の形態1では、評価値が満たす特定条件は、制約条件を満たすことであり、サイクルタイムが、満たす特定条件は、サイクルタイムが改善(短く)されることである。
 制約条件を満たさない場合(ステップS105、No)、機械学習部140は、最適化アルゴリズム(多目的最適化手法)に従って、新たなパラメータの組合せを生成する。最適化アルゴリズムの例は、後述する粒子群最適化法、ベイズ最適化法などである。機械学習部140は、生成した新たなパラメータの組合せをパラメータ記憶部110に設定する(ステップS107)。
 また、機械学習部140が、パラメータ記憶部110に格納されているパラメータの値を、設定した最適候補のパラメータの組合せに更新した場合、終了条件判定部150は、終了条件を満たすか否かを判定する(ステップS108)。終了条件が満たされている場合(ステップS108、Yes)、パラメータ算出装置100は、最適なパラメータの探索処理を終了する。終了条件が満たされていない場合(ステップS108、No)、機械学習部140は、ステップS107の処理を実行する。すなわち、機械学習部140は、最適化アルゴリズムに従って生成した新たなパラメータの組合せをパラメータ記憶部110に設定する。
 パラメータ算出装置100は、ステップS107の処理の後、ステップS103の処理に戻り、終了条件を満たすまで、ステップS103からS108の処理を繰り返す。
<シミュレータを用いる場合の装置構成>
 図3は、実施の形態1にかかるパラメータ算出装置の第1の別構成例を示すブロック図である。図3では、シミュレータを用いて状態変数の取得を実現する場合のパラメータ算出装置100Aの構成を示している。図3の各構成要素のうち図1に示すパラメータ算出装置100と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 パラメータ算出装置100の第1の別構成例であるパラメータ算出装置100Aは、状態変数取得部120の代わりに、状態変数取得部120Aを備えている。パラメータ算出装置100Aは、ロボットコントローラおよびロボットの動力学モデルを模擬したシミュレータを用いて状態変数の取得を実現する。すなわち、状態変数取得部120Aは、ロボットコントローラおよびロボットの動力学モデルを模擬したシミュレータを用いて一連動作を試行することで状態変数を取得する。
 状態変数取得部120Aは、指令生成部121と、動作試行部122とを備えている。指令生成部121は、パラメータ記憶部110および終了条件判定部150に接続されている。動作試行部122は、指令生成部121および評価部130に接続されている。
 指令生成部121は、パラメータ記憶部110に格納されているパラメータを読み出してロボットの動作指令値を生成する。
 動作試行部122は、ロボットの動力学モデルを模擬したシミュレータを用いて、ロボットへの動作指令値に基づくシミュレーションを行い、シミュレーション結果から、一連動作におけるロボットの各関節の状態変数を取得する。
 動作試行部122は、動作指令値に基づいたシミュレーションにおいて、ロボットの動力学モデルに、指令生成部121で生成された動作指令値をそのまま入力してもよいし、指令生成部121で生成された動作指令値に特定の処理を実行してから入力してもよい。この場合、動作試行部122は、例えば、指令生成部121で生成された動作指令値に、動作指令値を成型するフィルタ、フィードフォワード制御系を模擬したフィルタ、およびフィードバック制御系を模擬したフィルタの少なくとも1つを通した値を入力する。
 なお、図3では、動力学モデルから出力された値を各関節の状態変数として取得する例を説明したが、動作試行部122は、必ずしもロボットの動力学モデルを備える必要はない。例えば、指令生成部121で生成された動作指令値が、ロボットの各関節の速度、または各関節を駆動する際に消費される電流を表す場合、動作試行部122は、一連動作を試行する間に生成される動作指令値を、そのままロボットの速度または消費電流の状態変数として取得してもよい。
 また、動作試行部122は、一連動作を試行する間に指令生成部121で生成された動作指令値に特定の処理を実行した値をロボットの状態変数として取得してもよい。この場合、動作試行部122は、例えば、指令生成部121で生成される動作指令値に、動作指令値を成型するフィルタ、フィードフォワード制御系を模擬したフィルタ、およびフィードバック制御系を模擬したフィルタの少なくとも1つを通した値を、ロボットの状態変数として取得する。
<一連動作の定義>
 図4は、実施の形態1にかかるロボットの一連動作を説明するための図である。ロボット300は、ロボットコントローラ200から出力される動作指令値に従って動作する。ロボット300の動作を設計するユーザは、ロボット300を掴んでロボット300の先端部310を移動させることで、教示点P1,P2,P3を設定する。図4におけるロボット300の先端部310は、搬送対象物である製品を把持する把持機構を有している。
 本実施の形態における一連動作とは、速度0を区切りとして始点から終点までの複数の移動区間(制御区間)で構成される、速度パターンの連なりのことである。すなわち、本実施の形態における1つの制御区間は、速度0から速度が上昇し速度0に戻るまでの1つの速度パターンを分割した区間ではなく、速度0から速度が上昇し速度0に戻るまでの1つの区間を指す。ロボット300が行う動作が、教示点P1から教示点P2への移動と、教示点P2から教示点P3への移動と、教示点P3から教示点P1への移動とで構成される場合、本実施の形態では、これらの3つの動作を合わせて一連動作と呼ぶ。指令生成部121は、この一連動作のうち、教示点P1から教示点P2への移動区間を教示区間P1-P2に設定し、教示点P2から教示点P3への移動区間を教示区間P2-P3に設定し、教示点P3から教示点P1への移動区間を教示区間P3-P1に設定する。
 指令生成部121は、教示区間P1-P2に対し、教示区間P1-P2用に設定されたパラメータに基づいて、先端部310が始点である教示点P1から終点である教示点P2に至るまでの制御周期ごとの動作指令を生成する。
 同様に、指令生成部121は、教示区間P2-P3に対しても、教示区間P2-P3用に設定されたパラメータに基づいて、教示点P2から教示点P3に至るまでの制御周期ごとの動作指令を生成する。また、指令生成部121は、教示区間P3-P1に対しても、教示区間P3-P1用に設定されたパラメータに基づいて、教示点P3から教示点P1に至るまでの制御周期ごとの動作指令を生成する。
<調整対象のパラメータ>
 1つの教示区間で調整されるパラメータの数がm(mは自然数)個であり、一連動作に含まれる教示区間の数がn(nは自然数)個である場合、機械学習部140が、最適化の対象とするパラメータの組合せの次元はm×nとなる。
 本実施の形態において、それぞれの教示区間で制御周期ごとに生成される動作指令値を定めるために調整されるパラメータは、先端部310の最高速度、先端部310の加速度、先端部310の次の動作までの待機時間のうちの少なくとも1つとする。以下の説明では、先端部310の次の動作までの待機時間をDly時間という。
 図5は、実施の形態1にかかるパラメータ算出装置が生成する速度パターンの例を示す図である。図5では、パラメータ算出装置100Aが、最高速度および加速度のパラメータに基づいて生成する、ロボットの1つの教示区間における速度パターンPT1を示している。図5に示すグラフの横軸は時間であり、縦軸は先端部310の速度である。
 指令生成部121は、図5に示す速度パターンPT1を実現するための各関節の動作指令値を生成する。速度パターンPT1は、時刻t0から時刻t1までの加速区間、時刻t1から時刻t2までの等速区間、時刻t2から時刻t3までの減速区間とで構成されている。時刻t3から時刻t4までの時間TtがDly時間である。図5では、時刻t0から時刻t4までが1つの教示区間であり、区間TAで示している。よって、時刻t3から時刻t4までは、速度vが0となっており、指令生成部121は、この速度0を区切りとして制御区間を設定することができる。
 加速区間における速度パターンPT1の傾きが、加速区間における加速度であり、減速区間における速度パターンPT1の傾きが、減速区間における減速度である。指令生成部121は、最高速度のパラメータに基づいて、等速区間における速度v1を決定し、加速度パラメータによって加速区間における加速度=v1/(t1-t0)および減速区間における減速度=-v1/(t3-t2)を決定する。
 ロボットは、各関節のアクチュエータが出力可能な最大の速度および加速度で動作すると、ロボットに加わる負荷が過剰に大きくなる場合がある。この場合には、指令生成部121が、教示区間ごとに調整可能なパラメータを調整することによって、最高速度および加速度を低減させるか、Dly時間を増大させることによって、サイクルタイムの増大と引き換えに負荷を低減してもよい。これにより、パラメータ算出装置100Aは、一連動作の全体における予測寿命の制約条件を満たすことができる。
 図6は、図5に示した速度パターンに対して、最高速度および加速度が低減された場合の速度パターンの例を示す図である。図6では、パラメータ算出装置100Aが速度パターンPT1に対して最高速度および加速度を低減することによって生成する速度パターンPT2を示している。図6に示すグラフの横軸は時間であり、縦軸は先端部310の速度である。すなわち、速度パターンPT1と速度パターンPT2とでは、速度0を区切りにした制御区間に対して、異なる速度パターンになることを意味している。
 速度パターンPT2は、時刻t0から時刻t1aまでの加速区間、時刻t1aから時刻t2aまでの等速区間、時刻t2aから時刻t3aまでの減速区間とで構成されている。加速区間における速度パターンPT2の傾きが、加速区間における加速度であり、減速区間における速度パターンPT2の傾きが、減速区間における減速度である。
 指令生成部121は、等速区間における速度v1を速度v2に下げ、加速区間における加速度を下げ、減速区間における減速度を下げる。教示区間の始点から終点までの移動経路を固定とすると、ロボットの各軸の移動量は不変である。このため、指令生成部121は、速度パターンPT2が時刻t0から時刻t3aまでに描く台形の面積と、速度パターンPT1が時刻t0から時刻t3までに描く台形の面積とが同じとなるよう、速度パターンPT2を生成する。
 したがって、機械学習部140は、最高速度および加速度を低減した場合に生じるサイクルタイムの増分(t3a-t3)>0を、速度パターンPT2として設定された、最高速度(速度v2)、加速度、減速度、Dly時間の各パラメータから算出することができる。なお、加速度の絶対値および減速度の絶対値が同じ大きさである場合、機械学習部140は、減速度の代わりに加速度を用いてサイクルタイムの増分を算出してもよいし、加速度の代わりに減速度を用いてサイクルタイムの増分を算出してもよい。
 なお、指令生成部121は、最高速度および加速度の値を調整するパラメータ以外のパラメータを用いて速度パターンPT1,PT2を設定してもよい。例えば、指令生成部121は、最高速度の上限値に対する緩和率を調整するパラメータ、および加速度の上限値に対する緩和率を調整するパラメータを用いて速度パターンPT1,PT2を設定してもよい。
 例えば、指令生成部121は、最高速度がv_maxの関節の最高速度緩和率dを0~1の範囲で調整し、調整後の最高速度が(v_max)×(1-d)となるように速度パターンPT1,PT2を設定してもよい。このとき、v_maxとしては、関節ごとに事前に設計された最高速度の上限値が、v_maxとして適用されてもよい。関節ごとに事前に設計された最高速度の上限値は、関節を動作させるモータのアクチュエータの能力によって決まる値である。また、v_maxとしては、教示区間ごとに出すことのできる最高速度が、v_maxとして適用されてもよい。
 本実施の形態における評価部130は、状態変数取得部120Aで取得された状態変数から算出される評価値を、一連動作の全体で統合して評価する。また、制約条件下でサイクルタイムが最小となるようにパラメータが調整される一連動作に含まれる教示区間は、ユーザがロボット言語を用いて指定することができる。ユーザは、ロボットに与えられる作業を構成する動作のうちの一部の区間を指定して、パラメータ算出装置100Aにパラメータの最適化を行わせてもよい。この場合、ユーザは、ロボット言語で作成されたプログラムに対し、パラメータの最適化を行わせる区間の開始点と終了点とを指定する。
 図7は、実施の形態1にかかるパラメータ算出装置が生成する速度パターンと、比較例の速度パターンとの差異を説明するための図である。図7では、設計寿命を満たすことを制約条件とする場合に、一連動作で評価を行う場合には、教示区間毎の動作で評価を行う場合と比較して、サイクルタイムの小さい解を得られることを説明する。
 図7に示すグラフの横軸は時間であり、縦軸は先端部310の速度である。図7に示す上段のグラフが、比較例の速度パターンであり、図7に示す下段のグラフが、パラメータ算出装置100Aが生成する速度パターンである。ここでも、速度0を区切りとして教示区間(制御区間)が設定されている。
 教示区間毎の動作で評価を行う場合、各教示区間において、設計寿命を満たすよう速度パターンが生成される。例えば、設計寿命が10000時間である場合、教示区間P1-P2,P2-P3,P3-P1の各予測寿命が10000時間よりも長い時間となるよう速度パターンが生成される。図7では、教示区間P1-P2,P2-P3,P3-P1の各予測寿命が11000時間となるよう、比較例の速度パターンが生成されている場合を示している。
 評価部130が、一連動作で評価を行う場合には、一部の動作(一部の教示区間の移動)のみを繰り返した場合の予測寿命が設計寿命未満であったとしても、一連動作全体を繰り返した場合に設計寿命を満たすことができるパラメータの組合せならば最適解の候補として認めることができる。これは、特定の教示区間において予測寿命が設計寿命未満であったとしても、他の区間における予測寿命が設計寿命以上であれば、一連動作全体の予測寿命が設計寿命を満たす場合があるからである。このため、評価部130は、高速動作でサイクルタイム短縮に寄与する部分(教示区間)と、低速動作で寿命向上に寄与する部分(教示区間)とのバランスを取って、設計寿命を満たす範囲でサイクルタイムの小さい解を得ることができる。
 図7では、教示区間P1-P2,P2-P3,P3-P1の各予測寿命が、それぞれ11000時間、15000時間、7000時間となるよう、評価部130が、速度パターンを生成した場合を示している。この場合の、一連動作の予測寿命は、11000時間であり、比較例の速度パターンの予測寿命と同じであるが、一連動作で予測寿命を評価しているので比較対象よりもサイクルタイムを小さくすることができる。
<予測寿命を制約条件として用いる場合の装置構成>
 図8は、実施の形態1にかかるパラメータ算出装置の第2の別構成例を示すブロック図である。図8では、設計寿命に基づく制約条件を設定する場合のパラメータ算出装置100Bの構成を示している。ここでは、図3に示したパラメータ算出装置100Aに対して、設計寿命に基づく制約条件を設定する場合のパラメータ算出装置100Bについて説明する。図8の各構成要素のうち図3に示すパラメータ算出装置100Aと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 パラメータ算出装置100の第2の別構成例であるパラメータ算出装置100Bは、評価部130の代わりに、評価部130Bを備えている。評価部130Bは、動力学計算部131と、損傷度計算部132と、制約判定部133aとを備えている。動力学計算部131は、動作試行部122および損傷度計算部132に接続され、損傷度計算部132は、制約判定部133aに接続され、制約判定部133aは、機械学習部140に接続されている。
 動力学計算部131は、状態変数取得部120Aで取得された各関節の変位、速度、および加速度の値を用いて、関節に加えられる負荷トルクを算出する。損傷度計算部132は、負荷トルク、および各関節の動作量に基づいて、ロボットが備える関節の損傷度を算出することで、一連動作を繰り返す場合のロボットの予測寿命を算出する。各関節の動作量は、関節の構造に基づいて速度から換算される、回転数または直動距離である。ロボットが備える部品(構成部)の損傷度は、ロボットが備える部品に与えられる損傷の度合いである。ロボットが備える部品の損傷度は、負荷トルクおよび各関節の動作量が大きいほど大きくなる。損傷度の詳細な定義については後述する。
 制約判定部133aは、損傷度計算部132で算出された予測寿命と、設計寿命と、に基づく判定式を用いて、パラメータ記憶部110から読み出されたパラメータの組合せが一連動作での制約条件を満たすか否かを判定する。判定式は、後述する式(12)などである。
<動力学計算>
 ロボットの各関節は、複数の部品で構成されており、部品が回転する関節は回転軸、直動する関節は直動軸と呼ばれる。評価部130Bに含まれる動力学計算部131は、ロボットの制御周期Δt(単位:秒)ごとに、各関節に加わる負荷トルクの大きさT_i[k]、およびロボットが備える部品の入力回転数n_i[k]を演算する。具体的には、動力学計算部131は、動作試行部122から取得した各関節の変位、速度、および加速度を、減速機、ボールねじなどを介した各関節の動力伝達機構の出力側の変位、速度、および加速度に換算する。そして、動力学計算部131は、換算した値を用いて、各関節に加わる負荷トルクの大きさT_i[k]、およびロボットが備える部品の入力回転数n_i[k]を演算する。T_iおよびn_iの添え字「i」は、ロボットの第i(iは自然数)軸に関連する値であることを表している。また、[k]は、後述する損傷度算出周期でカウンタがリセットされた時点から数えて、第k(kは自然数)番目の制御周期Δtで演算された値であることを表している。
<損傷度の定義と算出方法>
 本実施の形態では、一連動作を繰り返す場合の予測寿命を評価値に用いるために、ロボットの損傷度を次のように定義する。損傷度は、繰り返し動作によってロボットが備える部品が疲労破壊に至ることを寿命とみなす場合に、現在の稼働状態においてどの程度疲労が蓄積しているかを表す指標とする。本実施の形態では、損傷度計算部132が、部品qの損傷度を、(現在までの部品qの駆動時間累積値または回転数累積値)/(現在の動作条件で求められる部品qの定格寿命または定格寿命相当回転数)の式を用いて算出する。定格寿命相当回転数は、定格寿命に相当する回転数である。
 定格寿命または定格寿命相当回転数の算出式は、部品の種類によって異なるので、損傷度計算部132に対しては、損傷度の算出式を部品の種類ごとに設定しておく。パラメータ算出装置100Bに対し、損傷度を定義しておくことで、メーカーごとに定格寿命の表し方が異なる複数の部品の予測寿命を同一の基準で評価することができる。
 本実施の形態では、損傷度計算部132は、教示区間ごとに損傷度を算出し、全教示区間の損傷度の和を一連動作の損傷度とする。また、損傷度計算部132は、一連動作全体が終了した時点を損傷度の算出周期である損傷度算出周期として一連動作の損傷度を算出してもよい。
 例えば、損傷度算出周期で算出された損傷度が同じ動作の繰り返しによって累積されていき、累積値が1に達する時点が予測寿命であるとする。一連動作を1試行分終えた時点でのロボットの損傷度をRlc、サイクルタイムをtc(単位:秒)とする場合、損傷度計算部132は、予測寿命であるLc(単位:時間)を、以下の式(1)を用いて算出することができる。
 Lc=(tc/3600)/Rlc・・・(1)
 第i軸の部品qの一連動作1回分の損傷度をRlc_i_qとすると、損傷度計算部132は、ロボット全体の予測寿命の算出に用いられる損傷度であるRlcを、以下の式(2)を用いて算出することができる。
 Rlc=max_i,q(Rlc_i_q)・・・(2)
 すなわち、損傷度計算部132は、全てのi、qのうち、最も損傷度の大きい軸、部品の損傷度をロボット全体の損傷度の評価に用いる。
 損傷度計算部132は、第i軸の部品qの損傷度Rl_i[k]_qを、規定された損傷度算出周期t1[k]=k×Δtごとに算出される平均負荷トルクTav_i[k]、および平均入力回転数Nav_i[k]に基づいて算出する。
 損傷度計算部132は、第k番目のΔtまでのr(rは部品qの種類によって異なる乗数)乗トルク累積値Tacc_i[k]、入力回転数累積値Nacc_i[k]、および駆動時間累積値tb_i[k](単位:秒)を、それぞれ以下の式(3)から式(5)を用いて算出することができる。r乗トルク累積値Tacc_i[k]は、トルク乗数がrである部品qの駆動に用いられるトルクの累積値であり、入力回転数累積値Nacc_i[k]は、部品qの入力回転数n_i[k]の累積値であり、駆動時間累積値tb_i[k]は、部品qの駆動時間の累積値である。
 Tacc_i[k]=Tacc_i[k-1]+T_i[k]r×n_i[k]×Δt、Tacc_i[0]=0・・・(3)
 Nacc_i[k]=Nacc_i[k-1]+n_i[k]×Δt、Nacc_i[0]=0・・・(4)
 tb_i[k]=tb_i[k-1]+Δt、tb_i[0]=0・・・(5)
 損傷度計算部132は、式(3)から式(5)で示した、r乗トルク累積値Tacc_i[k]、入力回転数累積値Nacc_i[k]、および駆動時間累積値tb_i[k]を用いて、平均負荷トルクTav_i[k]、および平均入力回転数Nav_i[k]を、それぞれ以下の式(6)および式(7)を用いて算出することができる。平均負荷トルクTav_i[k]は、負荷トルクの平均値であり、平均入力回転数Nav_i[k]は、入力回転数n_i[k]の平均値である。
 Tav_i[k]=(Tacc_i[k]/Nacc_i[k])(1/r)・・・(6)
 Nav_i[k]=Nacc_i[k]/tb_i[k]・・・(7)
 部品qが減速機の場合には、損傷度計算部132は、減速機の定格トルクTr_i、定格回転数Nr_i、および定格寿命L10_i(単位:時間)を定数として、現在の動作条件における定格寿命Lh_i[k](単位:時間)を、以下の式(8)を用いて算出することができる。また、損傷度計算部132は、損傷度Rl_i[k]_(減速機)を以下の式(9)を用いて算出することができる。
 Lh_i[k]=L10_i×(Tr_i/Tav_i[k])r×(Nr_i/Nav_i[k]))・・・(8)
 Rl_i[k]_(減速機)=(tb_i[k]/3600)/Lh_i[k]・・・(9)
 評価対象部品がベアリングの場合には、損傷度計算部132は、平均負荷トルクTav_i[k]からベアリングの位置に加わる平均荷重への換算係数u_i、ベアリングの基本動定格荷重C_i、動作中の機械の振動の大きさを考慮するための荷重係数fw_i、およびベアリング内の転動体の種類によって異なる乗数rを用いて、現在の動作条件における定格寿命相当回転数Lr_iを、以下の式(10)を用いて算出することができる。また、損傷度計算部132は、損傷度Rl_i[k]_(ベアリング)を、以下の式(11)を用いて算出することができる。基本動定格荷重C_iは、特定回転数の定格寿命が得られる一定の荷重である。
 Lr_i[k]=(C_i/(fw_i×Tav_i[k]×u_i))r×106・・・(10)
 Rl_i[k]_(ベアリング)=Nacc_i[k]/Lr_i [k]・・・(11)
<寿命制約の充足方法>
 一連動作を繰り返した場合、予測寿命であるLcが、設計寿命であるLsを下回らないという制約条件は、以下の式(12)で表すことができる。
 Lc≧Ls・・(12)
 パラメータ算出装置100Bは、制約条件として以下の式(13)を用いてもよい。式(13)では、規定された設計寿命のLsに対して特定の定数aを掛けた値(a×Ls)が用いられている。
 Lc≧a×Ls・・・(13)
 評価部130Bは、設定されたパラメータの組合せに対して算出した予測寿命が設計寿命に基づく制約条件を満たさなかった場合には、評価値に大きなペナルティを与えることで、機械学習部140において制約を満たさないパラメータの組合せが採用されないようにすることができる。
 評価部130Bは、例えば、予測寿命が設計寿命未満であった場合には、最小化することを目的とするサイクルタイムに対して100倍程度の大きさの評価値を出力することにより、制約条件を満たさないパラメータの組合せが学習終了時に最適解として出力されないようにすることができる。
<機械学習部の動作>
 機械学習部140は、評価部130Bで算出された評価値を用いて、設計寿命に基づく制約条件を満たす範囲でサイクルタイムが最小となるパラメータの組合せを探索する。前述したように、1つの教示区間で調整するパラメータの数がm個、一連動作に含まれる教示区間の数がn個の場合、機械学習部140が探索するパラメータの組合せの次元はm×nである。機械学習部140は、探索方法としては、連続値または離散値を扱うことのできる公知の多目的最適化手法を適用することができる。機械学習部140は、粒子群最適化法(PSO:Particle Swarm Optimization)、ベイズ最適化法などを適用することができる。
 また、機械学習部140は、公知の強化学習方法として、学習主体がとる行動としての連続値または離散値の選択と、選択された行動に対する評価値の算出とが可能な、Actor-Critic法を適用することもできる。機械学習部140は、終了条件判定部150において学習終了条件を満たすまで最適化処理を行い、パラメータ記憶部110に格納されるパラメータの組合せを更新する。
<最適化の実施例>
 最適化の実施例として、連続値の組合せを扱うPSOを用いる方法を説明する。一般に、粒子群最適化法では、多次元空間においてN(Nは2以上の自然数)個の粒子群が定義され、毎回のパラメータ探索処理で、各粒子の位置pおよび速度vが、それぞれ以下の式(14)および式(15)を用いて更新される。
 p←p+v・・・(14)
 v←w×v+c1×r1×(pj-p)+c2×r2×(pg-p)・・・(15)
 ここで、wは慣性定数を表し、c1およびc2は群の中で評価値の高い位置に向かう粒子の割合を表し、r1およびr2は0から1の範囲の値をとる乱数を表す。また、pjはその粒子がこれまでに発見した最良の位置を表し、pgは群全体でこれまでに発見された最良の位置を表す。
 本実施の形態では、調整対象のパラメータの組合せが粒子の位置pに相当する。パラメータ算出装置100Bは、規定された探索回数Tが経過した時点で最小のサイクルタイムが得られたパラメータの組合せを最適解として出力する。
 機械学習部140にPSOを適用する場合、パラメータ算出装置100Bは、一連動作の状態変数の取得と評価を、N個の粒子のそれぞれに対して行う。評価部130Bは、粒子ごとに制約条件を満たすか否か判定し、制約条件を満たす粒子の中で最もサイクルタイムの評価値が良い粒子に他の粒子が近づくように式(14)および式(15)によって新たにN個の粒子の位置を定める。
<パラメータ探索範囲の調整方法の工夫>
 [教示区間ごとの評価値を用いて、探索初期値を調整]
 機械学習部140は、調整対象のパラメータの組合せに対して、損傷度計算部132が教示区間ごとに算出する損傷度を用いて、探索範囲を限定することができる。機械学習部140は、PSOを用いる場合には、各粒子の初期値をランダムに設定するのではなく、全教示区間で最大の速度および最大の加速度で一連動作を試行した場合の損傷度の大小に応じて、損傷度が大きい教示区間ほど速度および加速度が低減されるような値に設定することができる。これによって、パラメータ算出装置100Bは、サイクルタイムの増分に対して予測寿命向上の効果が高いパラメータの組合せを発見しやすくなり、少ない探索回数でサイクルタイムを低減することができる。
 [教示区間ごとの評価値を用いて、調整する教示区間を選択]
 機械学習部140は、調整するパラメータの個数を削減することで探索時間を削減するために、一連動作のうち損傷度の大きい上位の教示区間の動作だけを調整対象としてもよい。機械学習部140は、教示区間毎の、動作の損傷度と動作時間との比率から、対象とする動作を決定してもよい。例えば、損傷度が大きい教示区間は、負荷の大きい教示区間である。このため、損傷度が大きい教示区間は、同じ動作時間で損傷度が小さい教示区間よりも、速度または加速度を低減することによる一連動作の寿命向上の効果が高いと考えられる。したがって、機械学習部140は、動作時間に対する損傷度の比率が大きい上位の動作だけ調整対象としてもよい。なお、機械学習部140は、教示区間毎の、評価値(変位、速度、加速度など)と動作時間との比率から、調整する教示区間を決定してもよい。
 また、機械学習部140は、全教示区間を調整対象とする場合においても、一連動作のうち損傷度の大きい上位の教示区間のパラメータだけ調整した場合のパラメータを、パラメータの組合せの初期値としてもよい。また、機械学習部140は、各動作の損傷度と、各動作の動作時間との比率から初期値で調整する教示区間を選択してもよい。
 このように、機械学習部140は、一連動作に含まれるすべての教示区間の動作を調整対象としてもよいし、評価部130Bの評価値に基づいて機械学習部140が選択する教示区間の動作だけを調整対象としてもよい。また、機械学習部140は、ユーザが指定した教示区間の動作だけを調整対象としてもよい。
 図9は、実施の形態1にかかるパラメータ算出装置の第3の別構成例を示すブロック図である。図9では、ユーザが指定した教示区間の動作だけを調整対象とする場合のパラメータ算出装置100Cの構成を示している。図9の各構成要素のうち図1に示すパラメータ算出装置100と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 パラメータ算出装置100の第3の別構成例であるパラメータ算出装置100Cは、パラメータ算出装置100の構成要素に加えて調整区間記憶部160を備えている。調整区間記憶部160は、ユーザがプログラミングツールを用いて入力した調整対象の教示区間を記憶する。調整区間記憶部160は、調整対象の教示区間に対応する値を記憶する。
 機械学習部140は、調整区間記憶部160に格納されている値を読み出して、読み出した値に対応する教示区間のパラメータのみを調整する。これによって、パラメータ算出装置100Cは、例えば特定の教示区間では最高速度および加速度を低減したくない場合に、指定した教示区間だけで調整を行い、一連動作の制約条件を満たすパラメータの組合せを求めることができる。また、パラメータ算出装置100Cは、調整するパラメータの個数を削減することで探索時間を削減できる。
 このように、パラメータ算出装置100Cは、教示区間ごとに設定された全てのパラメータに基づいて網羅的にパラメータの組合せを試行する場合に比べて、ロボットの一連動作における設計寿命の制約条件を満たしながら、サイクルタイムの増大を抑制することができるパラメータの組合せを、少ない試行回数で生成することができる。
 また、パラメータ算出装置100Cは、機械学習部140でパラメータ調整が行われている間のパラメータ調整に関連する情報を可視化するツールを備えていてもよい。パラメータ調整に関連する情報は、パラメータ記憶部110に新たに記憶されるパラメータの値、評価部130で算出されるサイクルタイム、および評価部130で算出される予測寿命の評価値の少なくとも1つである。
 図10は、実施の形態1にかかるパラメータ算出装置の第4の別構成例を示すブロック図である。図10では、パラメータ調整が行われている間のパラメータ調整に関連する情報を可視化する場合のパラメータ算出装置100Dの構成を示している。図10の各構成要素のうち図1に示すパラメータ算出装置100と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。図11は、図10のパラメータ算出装置がインタフェース画面に表示させる情報を説明するための図である。
 パラメータ算出装置100の第4の別構成例であるパラメータ算出装置100Dは、パラメータ算出装置100の構成要素に加えて学習経過可視化部170を備えている。学習経過可視化部170は、評価部130および機械学習部140に接続されている。学習経過可視化部170は、評価部130からサイクルタイムおよび予測寿命を取得し、機械学習部140からパラメータの値を取得する。
 学習経過可視化部170は、評価部130および機械学習部140から取得した情報、すなわちパラメータの学習経過状態に関連する情報を、インタフェース画面500に表示させる。インタフェース画面500は、学習経過可視化部170が出力する情報(可視化する結果)の表示画面である。
 学習経過可視化部170は、学習経過状態として、例えば以下の(A)から(D)の情報を、インタフェース画面500に出力する。
(A)図2のステップS104で計算された、評価値(各関節の予測寿命の評価値など)
(B)図2のステップS105で判定された、予測寿命の評価値が制約条件を満たすか否かの判定結果
(C)図2のステップS106で更新された、更新時点での最良のパラメータの組合せ
(D)最適化されたパラメータでのサイクルタイムの変化
 インタフェース画面500は、各関節の一連動作の評価値、最良のパラメータの組合せ(最適パラメータ)、サイクルタイムなどを表示する。これによって、ユーザは学習の経過を観察し、一連動作の評価値への寄与が大きいパラメータ、および解が収束するまでの機械学習部140の探索回数を把握することができる。
 また、パラメータ算出装置100は、機械学習部140で調整された結果のパラメータに基づいてロボットを動作させるプログラムを出力する機能を備えていてもよい。図12は、実施の形態1にかかるパラメータ算出装置の第5の別構成例を示すブロック図である。図12では、調整されたパラメータに基づいてロボットを動作させるプログラムを生成する場合のパラメータ算出装置100Eの構成を示している。図12の各構成要素のうち図1に示すパラメータ算出装置100と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 パラメータ算出装置100の第5の別構成例であるパラメータ算出装置100Eは、パラメータ算出装置100の構成要素に加えてプログラム生成部180を備えている。プログラム生成部180は、終了条件判定部150に接続されている。
 プログラム生成部180は、終了条件判定部150が、パラメータ調整の終了条件が満たされたと判断した時点で、終了条件判定部150から最適なパラメータの組合せを取得する。プログラム生成部180が、終了条件判定部150から取得する最適なパラメータの組合せは、パラメータ記憶部110に格納されているパラメータの組合せである。
 プログラム生成部180は、取得したパラメータに基づく動作指令値でロボットに一連動作をさせるためのプログラムを生成する。プログラム生成部180が生成するプログラムは、ロボットを動作させるためにユーザが用いるプログラミング言語で記述される。プログラム生成部180は、生成したプログラムを、外部装置(ロボットを制御するコントローラなど)に出力する。これによって、ユーザはロボットの一連動作の最適なプログラムを得ることができる。
 ところで、1つの速度パターンに対してパラメータ調整による部分最適化を行っても、複数の速度パターンを含んだ一連動作全体で要求される制約条件を考慮した解は得られない。一方、本実施の形態では、複数の速度パターンを含んだ一連動作に対してパラメータ調整による全体最適化を行っている。したがって、本実施の形態では、一連動作全体で要求される制約条件を満たし且つサイクルタイムを短縮する解を得ることができる。
 また、特定のタイミングの指令速度および指令加速度を所定量だけ低減させることで評価基準を満たす動作プログラムを生成する方法がある。この方法でも、一連動作の全体を評価しているわけではないので、一連動作全体で要求される制約条件を満たす最適解を得ることはできない。
 また、ロボットの関節変位、速度、および加速度から機械要素に作用するトルクおよび動作速度を演算することで機械要素の寿命を評価し、目標寿命と評価された寿命との比率を用いて一連動作の速度および加速度を一律に低減する方法がある。この方法では、制御区間毎に異なる割合で動作速度および加速度を調整する全体最適化を行うことはできない。一方、本実施の形態では、一連動作での損傷度等への制御区間毎の寄与を考慮しているので、損傷度等から算出された予測寿命を制約条件とした全体最適化が実現できる。
 このように実施の形態1では、機械学習部140が、一連動作を繰り返した場合の寿命の制約条件が充足される範囲で一連動作におけるサイクルタイムが最小となるパラメータの組合せを探索する。したがって、パラメータ算出装置100,100A~100Eは、ロボットの一連動作の全体に対し、寿命の制約条件を満たしつつサイクルタイムの増大を抑制することができる。これにより、ロボットは、変種変量生産への対応が容易になる。また、ロボットは、対象作業に応じた動作を高速化できるので生産性を向上させることができる。また、区切りとしては、1つの移動動作が完結する、速度0を区切りにした制御区間を、それぞれ積み重ねた一連動作に対して最適化できれば、全作業を通して全体最適化となる。したがって、一連動作に対する制約条件と、一連動作に対するサイクルタイムとの両方が、それぞれ特定条件を満たす全体最適化を実現することができる。
実施の形態2.
 つぎに、図13および図14を用いてこの発明の実施の形態2について説明する。実施の形態2では、状態変数取得部120Aが、各関節の駆動で消費される電流値を状態変数として取得し、評価部が、関節の一連動作の駆動で消費される、消費電流または消費電力を評価値として算出する。学習部は、一連動作における、消費電流または消費電力の評価値が制約条件を満たしつつ、サイクルタイムが改善されるパラメータを学習し、サイクルタイムが最小となる最適なパラメータを探索する。
<消費電流を制約条件として用いる場合の装置構成>
 図13は、実施の形態2にかかるパラメータ算出装置の第1の構成例を示すブロック図である。図13の各構成要素のうち図8に示す実施の形態1のパラメータ算出装置100Bと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 パラメータ算出装置100Fは、ロボットの一連動作における各部品の消費電流を算出する。ロボットの部品の例は、アクチュエータを備えた関節である。パラメータ算出装置100Fは、ロボットの一連動作におけるアクチュエータの消費電流を、ロボットが備える部品の消費電流として算出し、消費電流上限に基づいて設定された制約条件を満たすよう、パラメータを生成する。なお、パラメータ算出装置100Fは、ロボットが備える、アクチュエータ以外の部品に対して、消費電流を算出し、消費電流上限に基づいて設定された制約条件を満たすよう、パラメータを生成してもよい。
 パラメータ算出装置100Fは、パラメータ算出装置100Bと比較して、評価部130Bの代わりに評価部130Fを備えている。評価部130Fは、消費電流計算部134、および制約判定部135aを備えている。
 消費電流計算部134は、動作試行部122および制約判定部135aに接続されており、制約判定部135aは、機械学習部140に接続されている。消費電流計算部134は、状態変数取得部120Aで取得される、各関節のアクチュエータの消費電流値を用いて、一連動作における消費電流を算出する。
 消費電流計算部134は、教示区間ごとに消費電流を算出し、各教示区間における消費電流の和を一連動作の消費電流とする。また、消費電流計算部134は、一連動作全体が終了した時点を消費電流の算出周期である消費電流算出周期として一連動作の消費電流を算出してもよい。
 消費電流計算部134は、状態変数取得部120Aでロボットの制御周期Δt(単位:秒)ごとに取得された電流値を実効値に換算した値I_i[k]を算出する。消費電流計算部134は、消費電流算出周期t2[k]=k×Δtにおける第i軸の消費電流累積値Iacc_i[k]を、以下の式(16)を用いて算出する。消費電流累積値Iacc_i[k]は、アクチュエータを駆動した際の消費電流の累積値である。
 Iacc_i[k]=Iacc_i[k-1]+I_i[k]×Δt、Iacc_i[0]=0・・・(16)
 制約判定部135aは、消費電流計算部134で算出された一連動作における消費電流と、消費電流上限とに基づいた判定式を用いて、パラメータ記憶部110から読み出されたパラメータの組合せが一連動作での制約条件を満たすか否か判定する。一連動作全体での第i軸の消費電流累積値Iacc_i[k]をIc_iとし、第i軸の消費電流上限をIs_iとすると、第i軸の消費電流累積値Iacc_i[k]が、第i軸の消費電流上限を超えないという制約条件は、以下の式(17)で表すことができる。このとき、消費電流上限Is_iとしては、実際の生産工程でロボットを使用するために必要とされる消費電流上限の値が設定されてもよい。また、ユーザがロボットの一連動作を設計する際にインタフェースを介して設定した消費電流上限値が、Is_iとして適用されてもよい。
 Ic_i≦Is_i・・・(17)
<消費電力を制約条件として用いる場合の装置構成>
 図14は、実施の形態2にかかるパラメータ算出装置の第2の構成例を示すブロック図である。図14の各構成要素のうち図13に示すパラメータ算出装置100Fと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 パラメータ算出装置100Gは、ロボットの一連動作における各関節のアクチュエータの消費電力を算出し、消費電力上限に基づいて設定された制約条件を満たすよう、パラメータを生成する。なお、パラメータ算出装置100Gは、ロボットが備える、アクチュエータ以外の部品に対し、消費電力を算出し、消費電力上限に基づいて設定された制約条件を満たすよう、パラメータを生成してもよい。
 パラメータ算出装置100Fは、パラメータ算出装置100Gと比較して、評価部130Fの代わりに評価部130Gを備えている。評価部130Gは、消費電力計算部136、および制約判定部137aを備えている。
 消費電力計算部136は、動作試行部122および制約判定部137aに接続されており、制約判定部137aは、機械学習部140に接続されている。消費電力計算部136は、状態変数取得部120Aで取得される、各関節のアクチュエータの消費電力値を用いて、一連動作における消費電力を算出する。
 消費電力計算部136は、消費電流計算部134と同様の処理によって、消費電流累積値Iacc_i[k]を算出する。さらに、消費電力計算部136は、式(16)を用いて算出した消費電流累積値Iacc_i[k]と、定格電圧V_iとを用いて、消費電力累積値Wacc_i[k]を算出する。すなわち、消費電力計算部136は、以下に示す式(18)を用いて消費電力累積値Wacc_i[k]を算出する。消費電力累積値Wacc_i[k]は、アクチュエータを駆動した際の消費電力の累積値である。
 Wacc_i[k]=Iacc_i[k]×V_i・・・(18)
 制約判定部137aは、消費電力計算部136で算出された一連動作における消費電力と、消費電力上限と、に基づいた判定式を用いて、パラメータ記憶部110から読み出されたパラメータの組合せが一連動作での制約条件を満たすか否か判定する。一連動作全体での第i軸の消費電力累積値Wacc_i[k]をWc_iとし、第i軸の消費電力上限をWs_iとすると、第i軸の消費電力累積値Wacc_i[k]が、第i軸の消費電力上限を超えないという制約条件は、以下の式(19)で表すことができる。このとき、消費電力上限Ws_iとしては、実際の生産工程でロボットを使用するために必要とされる消費電力上限の値が設定されてもよい。また、ユーザがロボットの一連動作を設計する際にインタフェースを介して設定した消費電力上限値が、Ws_iとして適用されてもよい。
 Wc_i≦Ws_i・・・(19)
 このように、消費電力を制約条件として用いる場合、パラメータ算出装置100Gは、制約判定部135aにおいて式(17)を用いる代わりに、制約判定部137aにおいて式(19)を用いて制約条件を満たすか否か判定することができる。
 本実施の形態における機械学習部140は、式(17)で表される電流制約条件または式(19)で表される電力制約条件を満たす範囲でサイクルタイムが最小となるパラメータの組合せを探索する。すなわち、機械学習部140の動作は、式(12)の寿命制約を満たす範囲でサイクルタイムが最小となるパラメータの組合せを探索する代わりに、式(17)の電流制約条件または式(19)の電力制約条件を満たす範囲でサイクルタイムが最小となるパラメータの組合せを探索する。機械学習部140は、この探索処理以外は、実施の形態1と同様の処理を実行する。
 機械学習部140は、調整対象のパラメータの組合せに対して、消費電流計算部134で教示区間ごとに算出された消費電流累積値Iacc_i[k]または消費電力計算部136で教示区間ごとに算出された消費電力量累積値に基づいて、パラメータを調整する教示区間を選択してもよい。この場合、機械学習部140は、消費電流累積値Iacc_i[k]または消費電力量累積値の大きな教示区間を、パラメータの調整対象に選択する。これにより、機械学習部140は、パラメータの探索範囲を限定することができる。
 また、機械学習部140は、調整するパラメータの個数を削減することで探索時間を削減するために、一連動作のうち消費電流または消費電力の大きい上位の教示区間の動作だけ調整対象としてもよい。機械学習部140は、教示区間毎の、動作の消費電流または消費電力と、動作時間との比率から、対象とする動作を決定してもよい。
 また、機械学習部140は、全教示区間を調整対象とする場合においても、一連動作のうち消費電流または消費電力の大きい上位の教示区間のパラメータだけを調整した場合のパラメータを、パラメータの組合せの初期値としてもよい。また、機械学習部140は、各動作の消費電流または消費電力と、各動作の動作時間との比率から初期値で調整する教示区間を選択してもよい。
 このように実施の形態2では、機械学習部140が、一連動作における消費電流または消費電力の制約条件が充足される範囲で一連動作におけるサイクルタイムが最小となるパラメータの組合せを探索する。したがって、パラメータ算出装置100Fは、ロボットの一連動作の全体に対し、消費電流の制約条件を満たしつつサイクルタイムの増大を抑制することができる。また、パラメータ算出装置100Gは、ロボットの一連動作の全体に対し、消費電力の制約条件を満たしつつサイクルタイムの増大を抑制することができる。
 また、パラメータ算出装置100Fは、特定の教示区間をパラメータの調整対象としているの。このため、教示区間ごとに設定された全てのパラメータに基づいて網羅的にパラメータの組合せを試行する場合に比べて、ロボットの一連動作における消費電流上限の制約条件を満たしながら、サイクルタイムの増大を抑制することができるパラメータの組合せを、少ない試行回数で生成することができる。
 また、パラメータ算出装置100Gは、教示区間ごとに設定された全てのパラメータに基づいて網羅的にパラメータの組合せを試行する場合に比べて、ロボットの一連動作における消費電力上限の制約条件を満たしながら、サイクルタイムの増大を抑制することができるパラメータの組合せを、少ない試行回数で生成することができる。
実施の形態3.
 つぎに、図15を用いてこの発明の実施の形態3について説明する。実施の形態3では、評価部が、一連動作における、予測寿命、消費電流、および消費電力のうちの2つ以上を評価値として算出する。学習部は、一連動作における、予測寿命、消費電流、および消費電力のうちの2つ以上を評価値が制約条件を満たしつつ、サイクルタイムが改善されるパラメータを学習し、サイクルタイムが最小となる最適なパラメータを探索する。
<予測寿命、電流、および電力のうちの2つ以上を制約条件として用いる場合の装置構成>
 図15は、実施の形態3にかかるパラメータ算出装置の構成例を示すブロック図である。図15の各構成要素のうちパラメータ算出装置100B,100F,100Gと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 パラメータ算出装置100Hは、ロボットの一連動作における、設計寿命に基づいた制約条件、消費電流上限に基づいた制約条件、消費電力上限に基づいた制約条件のうちの2つ以上を満たすよう、パラメータを生成する。
 パラメータ算出装置100Hは、パラメータ算出装置100Bと比較して、評価部130Bの代わりに評価部130Hを備えている。評価部130Hは、設計寿命に基づく制約条件、消費電流上限に基づく制約条件、および消費電力上限に基づく制約条件のうちの2つ以上を設定する。評価部130Hは、制約選択部138、動力学計算部131、損傷度計算部132、消費電流計算部134、消費電力計算部136、および制約判定部139を備えている。
 制約選択部138は、パラメータ記憶部110、状態変数取得部120A、動力学計算部131、消費電流計算部134、および消費電力計算部136に接続されている。動力学計算部131は、損傷度計算部132に接続されている。制約判定部139は、損傷度計算部132、消費電流計算部134、消費電力計算部136、および機械学習部140に接続されている。
 ユーザによって設計寿命に基づく制約条件が選択された場合、状態変数取得部120Aは、予測寿命に関連する状態変数(各関節の変位、速度、および加速度の値)を取得する。また、ユーザによって消費電流上限または消費電力上限に基づく制約条件が選択された場合、状態変数取得部120Aは、消費電流または消費電力に関連する状態変数(各関節のアクチュエータの消費電流値)を取得する。
 制約選択部138は、設計寿命、消費電流上限、および消費電力上限に基づく制約条件のうち、ユーザからの指示に従って、設定する制約条件の種類を選択する。ユーザによって設計寿命に基づく制約条件が選択された場合、制約選択部138は、状態変数を動力学計算部131に送る。これにより、動力学計算部131は、関節に加えられる負荷トルクを算出し、損傷度計算部132は、一連動作を繰り返した場合の予測寿命を計算する。損傷度計算部132は、予測寿命を制約判定部139に送る。
 また、ユーザによって消費電流上限に基づく制約条件が選択された場合、制約選択部138は、状態変数を消費電流計算部134に送る。これにより、消費電流計算部134は、状態変数を用いて一連動作における消費電流累積値Ic_iを算出する。消費電流計算部134は、消費電流累積値Ic_iを制約判定部139に送る。
 また、ユーザによって消費電力上限に基づく制約条件が選択された場合、制約選択部138は、状態変数を消費電力計算部136に送る。これにより、消費電力計算部136は、状態変数を用いて一連動作における消費電力累積値Wc_iを算出する。消費電力計算部136は、消費電力累積値Wc_iを制約判定部139に送る。
 制約判定部139は、ユーザによって設計寿命に基づく制約条件が選択された場合、式(12)を用いて制約条件を満たすか否かを判定する。制約判定部139は、ユーザによって消費電流上限に基づく制約条件が選択された場合、式(17)を用いて制約条件を満たすか否かを判定する。制約判定部139は、ユーザによって消費電力上限に基づく制約条件が選択された場合、式(19)を用いて制約条件を満たすか否かを判定する。
 制約判定部139は、評価値が、ユーザによって選択された全ての制約条件を満たす場合に、一連動作の制約条件が満たされていると判定する。機械学習部140は、実施の形態1,2と同様の処理によって、パラメータを学習する。
 このように実施の形態3では、機械学習部140が、寿命、消費電流および消費電力のうちの複数が制約条件を充足する範囲で一連動作におけるサイクルタイムが最小となるパラメータの組合せを探索する。したがって、パラメータ算出装置100Hは、ロボットの一連動作の全体に対し、寿命、消費電流および消費電力のうちの複数に対する制約条件を満たしつつサイクルタイムの増大を抑制することができる。
実施の形態4.
 つぎに、図15を用いてこの発明の実施の形態4について説明する。実施の形態4では、パラメータ算出装置が、サイクルタイムの制約条件を満たしつつ、一連動作における、損傷度、消費電流、または消費電力の評価値を改善させることができるパラメータの組合せを生成する。すなわち、評価部が、一連動作における、損傷度、消費電流、または消費電力を評価値として算出する。学習部は、サイクルタイムが制約条件を満たしつつ、一連動作における、損傷度、消費電流、または消費電力が改善されるパラメータを学習し、一連動作における、損傷度、消費電流、または消費電力が最適となるパラメータを探索する。
 損傷度の評価値の改善は、損傷度を減らすことであり、消費電流の評価値の改善は、消費電流を減らすことであり、消費電力の評価値の改善は、消費電力を減らすことである。実施の形態4では、サイクルタイムが満たす特定条件は、制約条件(特定時間以内)を満たすことであり、評価値が満たす特定条件は、評価値を改善することである。すなわち、評価値が改善されることが、評価値が第1の条件を満たすことに対応し、サイクルタイムが制約条件を満たすことが、サイクルタイムが第2の条件を満たすことに対応する。
<サイクルタイムを制約条件として、予測寿命を延ばす場合>
 本実施の形態では、パラメータ算出装置100B,100F,100Gの何れかが用いられる。パラメータ算出装置100B,100F,100Gは、サイクルタイムに基づく制約条件を満たしつつ、一連動作における、損傷度、消費電流、または消費電力を最小にするパラメータの組合せを求める。
 制約判定部133a,135a,137aが、サイクルタイムに基づいて設定された制約条件が充足されているか否かを判定し、機械学習部140が、損傷度、消費電流、または消費電力を最小にするパラメータの組合せを求める。損傷度を最小にすることは予測寿命を最長にすることと同義である。
 以下、実施の形態4におけるパラメータ算出装置の動作処理について説明する。損傷度(予測寿命)を低減させる場合は、パラメータ算出装置100Bが用いられる。消費電流を低減させる場合は、パラメータ算出装置100Fが用いられる。消費電力を低減させる場合は、パラメータ算出装置100Gが用いられる。
 なお、実施の形態4におけるパラメータ算出装置100B,100F,100Gの動作処理のうち、実施の形態1から3におけるパラメータ算出装置100B,100F,100Gの動作処理と同様の動作処理については、その説明を省略する。また、実施の形態4では、制約判定部133a,135a,137aは、同様の処理を行うので、ここでは制約判定部133aの処理について説明する。また、実施の形態4では、評価部130B,130F,130Gは、同様の処理を行うので、ここでは評価部130Bの処理について説明する。
 制約判定部133aには、一連動作をこれ以上は遅くできない限界のサイクルタイム基準値tsが設定されている。サイクルタイム基準値tsは、サイクルタイムの制約条件であり、一連動作を実行する際に認められる最長のサイクルタイムである。制約判定部133aは、評価部130Bで算出されたサイクルタイムtcが以下の式(20)を満たしていれば、一連動作におけるサイクルタイムの制約条件が満たされていると判定する。
 tc≦ts・・・(20)
 サイクルタイム基準値tsには、例えば各教示区間で設計寿命を満たすまで速度および加速度を同じ割合で低減した場合のサイクルタイムの90%などが設定される。また、サイクルタイム基準値tsには、実際の生産工程でロボットの動作を設計する場合に必要とされるサイクルタイムの値が設定されてもよい。
 機械学習部140は、式(20)の制約条件が充足される範囲で、評価部130Bで算出された一連動作の損傷度、消費電流、または消費電力が最小となるパラメータの組合せを探索する。換言すると、機械学習部140は、式(20)の制約条件が充足される範囲で、評価部130Bが算出した評価値が改善されるパラメータの組合せを探索する。機械学習部140は、探索したパラメータの組合せで、パラメータ記憶部110に格納されているパラメータの組合せを更新する。
 パラメータ算出装置100Bが用いられる場合、機械学習部140は、式(20)の制約条件が充足される範囲で、一連動作の損傷度が最小となるパラメータの組合せを探索する。
 パラメータ算出装置100Fが用いられる場合、機械学習部140は、式(20)の制約条件が充足される範囲で、一連動作の消費電流が最小となるパラメータの組合せを探索する。
 パラメータ算出装置100Gが用いられる場合、機械学習部140は、式(20)の制約条件が充足される範囲で、一連動作の消費電力が最小となるパラメータの組合せを探索する。
 なお、実施の形態4で説明した処理を、パラメータ算出装置100Hに適用してもよい。
 なお、実施の形態3のパラメータ算出装置100Hが、サイクルタイムの制約条件を満たしながら、一連動作における、損傷度、消費電流、および消費電力の各評価値のうち少なくとも1つを改善させることができるパラメータの組合せを生成してもよい。この場合、制約選択部138は、最適化する対象を、損傷度、消費電流、および消費電力の中から少なくとも1つ選択する。
 このように実施の形態4では、機械学習部140が、一連動作を繰り返した場合のサイクルタイムの制約条件が充足される範囲で一連動作における寿命、消費電流、および消費電力の少なくとも1つが改善されるよう、パラメータの組合せを探索する。したがって、機械学習部140は、ロボットの一連動作に許容されるサイクルタイムを満たしつつ、一連動作に対し、予測寿命を延ばすこと、消費電流を抑制すること、または消費電力を抑制することが可能な動作指令を生成することができる。すなわち、機械学習部140は、一連動作における、予測寿命、消費電流、または消費電力を考慮した場合のサイクルタイムの増大を抑制することができる。
実施の形態5.
 つぎに、図16を用いてこの発明の実施の形態5について説明する。実施の形態5では、実際のロボットから状態変数を取得する。
<実際のロボットから状態変数を取得する場合の装置構成>
 図16は、実施の形態5にかかるパラメータ算出装置を備えたロボットシステムの構成例を示すブロック図である。図16の各構成要素のうちパラメータ算出装置100と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 ロボットシステム700は、ロボット制御システム600と、ロボット300とを備えている。ロボット制御システム600は、ロボット300を制御するシステムであり、パラメータ算出装置100Iおよびロボットコントローラ200を備えている。
 パラメータ算出装置100Iは、実際のロボット300に接続されたセンサ400との間で通信を実行し、ロボット300から状態変数を取得する。パラメータ算出装置100Iは、パラメータ記憶部110と、状態変数取得部120Bと、評価部130と、機械学習部140と、終了条件判定部150とを備えている。すなわち、パラメータ算出装置100Iは、パラメータ算出装置100と比較して、状態変数取得部120の代わりに、状態変数取得部120Bを備えている。
 状態変数取得部120Bは、パラメータ送信部123および状態変数受信部124を備えている。パラメータ送信部123は、パラメータ記憶部110、終了条件判定部150およびロボットコントローラ200に接続されており、状態変数受信部124は、センサ400および評価部130に接続されている。
 パラメータ送信部123は、パラメータ記憶部110に格納されているパラメータをロボットコントローラ200に送信する。状態変数受信部124は、ロボット300を動作させたときの状態変数をセンサ400から受信する。
 ロボットコントローラ200は、パラメータ算出装置100Iが算出したパラメータを用いてロボット300を制御する装置である。ロボットコントローラ200は、指令生成部201を備えている。
 指令生成部201は、パラメータ送信部123からパラメータを受信し、パラメータに基づいて、ロボット300への動作指令値を生成する。指令生成部201は、生成した動作指令値をロボット300へ送信する。ロボット300は、指令生成部201が生成した動作指令値に基づいて一連動作を実行する。
 センサ400は、一連動作におけるロボット300の各関節の状態変数を取得し、状態変数受信部124に送信する。センサ400は、ロボット300の内部に配置されてもよいし、ロボット300の外部に配置されてもよい。また、センサ400は、ロボットシステム700の内部に配置されてもよいし、ロボットシステム700の外部に配置されてもよい。
 ロボットシステム700では、パラメータ送信部123が、パラメータ記憶部110に格納されているパラメータを指令生成部201に送信すると、指令生成部201が、パラメータに基づいて、ロボット300への動作指令値を生成する。ロボット300は、動作指令値に基づいて一連動作を実行し、センサ400は、一連動作におけるロボット300の各関節の状態変数を取得して状態変数受信部124に送信する。
 これにより、状態変数受信部124は、指令生成部201が生成した動作指令値に基づいてロボット300を動作させたときの状態変数をセンサ400から受信する。このように、パラメータ算出装置100Iは、実際のロボット300の動作結果から状態変数を取得する。状態変数受信部124は、受信した状態変数を評価部130に送信する。
 評価部130、機械学習部140、および終了条件判定部150は、実施の形態1で説明した処理と同様の処理を実行する。これにより、パラメータ算出装置100Iは、ロボット300の一連動作の全体に対し、設計寿命の制約条件を満たしつつサイクルタイムの増大を抑制することができるパラメータを生成する。
 なお、パラメータ算出装置100Iは、ロボットコントローラ200の内部に配置されてもよい。この場合、ロボットコントローラ200は、教示点を受け付けてパラメータ算出装置100Iに入力する教示点入力部と、パラメータ算出装置100Iが生成したパラメータを出力するパラメータ出力部と、を備える。また、状態変数取得部120Bは、パラメータ算出装置100A~100Hに適用されてもよい。
 このように実施の形態5によれば、パラメータ算出装置100Iは、実際のロボット300から取得した状態変数を用いて、一連動作の制約条件下で最適なパラメータの組合せを求めることができる。
 ここで、パラメータ算出装置100,100A~100Iのハードウェア構成について説明する。図17は、実施の形態1から5にかかるパラメータ算出装置のハードウェア構成例を示す図である。なお、パラメータ算出装置100,100A~100Iは、同様のハードウェア構成を有しているので、ここではパラメータ算出装置100のハードウェア構成について説明する。
 パラメータ算出装置100は、図17に示した制御回路、すなわちプロセッサ301、メモリ302により実現することができる。プロセッサ301の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ302の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。
 パラメータ算出装置100は、プロセッサ301が、メモリ302で記憶されている、パラメータ算出装置100の動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、パラメータ算出装置100の手順または方法をコンピュータに実行させるものであるともいえる。メモリ302は、プロセッサ301が各種処理を実行する際の一時メモリにも使用される。
 なお、パラメータ算出装置100の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
実施の形態6.
 つぎに、一連動作を実行するロボット300の作業環境のレイアウトを決定するためのパラメータを調整する場合の実施の形態について説明する。ロボット300の作業環境のレイアウトを決定するためのパラメータは、ロボット300の移動経路(制御区間)を決定するためのパラメータである。すなわち、本実施の形態では、動作パラメータがロボットの移動経路を決めるパラメータである場合について説明する。
 本実施の形態に係るパラメータ算出装置としては、実施の形態1から5で説明したパラメータ算出装置100,100A~100Iの何れが用いられてもよい。すなわち、パラメータ算出装置100,100A~100Iの何れによっても、ロボット300の作業環境のレイアウトを決定するためのパラメータを調整することができる。
 本実施の形態では、パラメータ算出装置100が、作業環境のレイアウトを決定するためのパラメータを調整する場合について説明する。具体的には、パラメータ算出装置100が、パラメータ記憶部110と、状態変数取得部120と、評価部130と、機械学習部140と、終了条件判定部150とを用いて、パラメータ算出装置100,100A~100Iの何れかの機能を実行することで、作業環境のレイアウトを決定するためのパラメータを調整する。
 図18および図19を用いて、ロボット300による作業環境のレイアウトの調整処理と調整による効果を説明する。図18は、実施の形態6にかかるパラメータ算出装置が作業環境のレイアウトを調整する前の制御区間を示す図である。図19は、実施の形態6にかかるパラメータ算出装置が作業環境のレイアウトを調整した後の制御区間を示す図である。ここでは、図18中のレイアウトA0の模式図が表すように、ロボットベース原点O1に設置されたロボット300が、はじめに手先初期位置の教示点P1からパーツフィーダ800上の教示点P2に移動し、つぎに教示点P2から組立ステージ801上の教示点P3に移動し、最後に教示点P3から教示点P1に戻ることで完了する一連動作を考える。
 図19中のレイアウトA1の模式図は、ロボットベース原点O1および教示点P1,P2,P3をそれぞれロボットベース原点O1’および教示点P1’ ,P2’,P3’に変更した場合に、一連動作を構成する教示区間(制御区間)P1’-P2’,P2’-P3’,P3’-P1’におけるロボット300の姿勢および各関節の移動量が変化することを表している。
 作業環境のレイアウトを決定する要素であるロボット300の据付位置やパーツフィーダ800および組立ステージ801の配置が変化すると、一連動作を構成する制御区間ごとのロボット300の姿勢および各関節の移動量が変化する。したがって、パラメータ算出装置100が備える評価部130において、実施の形態1から5の何れかに記載の方式により算出される一連動作の評価値が変化する。機械学習部140は、この評価値に基づき、実施の形態1から5の何れかに記載の方式を用いて、作業環境のレイアウトを決定するためのパラメータを算出する。
 作業環境のレイアウトを決定するためのパラメータの例は、ロボットベース原点O1および教示点P1,P2,P3の3次元座標(x,y,z)である。パラメータ記憶部110は、これらの3次元座標を調整対象のパラメータとして記憶する。機械学習部140は、例えば各教示点の3次元座標(x,y,z)を粒子の位置ベクトルとするPSOにより、評価部130で算出されたサイクルタイムおよび一連動作の評価値を用いて3次元座標の組合せを算出する。
 パラメータ算出装置100が出力した最適パラメータのレイアウトでロボット300による作業を実施するために、ユーザはパーツフィーダ800、組立ステージ801などの設備の位置を移動させてもよい。あるいは、ユーザは、位置が固定されたベルトコンベアなどの設備上でロボット300が物体をピッキングする地点を移動させてもよい。
 機械学習部140は、実施の形態1から5の何れかに記載の方式により、パラメータの探索範囲を調整することができる。機械学習部140は、例えば、図18中のレイアウトA0において、パーツフィーダ800および組立ステージ801の配置位置は固定しておき、教示点P2,P3の座標は調整せず、ロボットベース原点O1および教示点P1の座標のみを調整対象とすることができる。
 さらに、本実施の形態に係るパラメータ算出装置100は、作業環境のレイアウトを決定するためのパラメータとともに、実施の形態1から5の何れかで説明した一連動作の制御区間ごとのパラメータを算出してもよい。パラメータ算出装置100は、例えば、一連動作に含まれる各教示点の3次元座標をパラメータとして算出するとともに、つぎの教示点までの制御区間での速度および加速度をパラメータとして算出してもよい。また、パラメータ算出装置100は、実施の形態1から5の何れかで説明した一連動作の制御区間ごとのパラメータは算出せず、作業環境のレイアウトを決定するためのパラメータだけを算出してもよい。
 このように、本実施の形態では、ロボット300の動作を制御するパラメータには、ロボット300が一連動作を実行する作業環境のレイアウトを決定するパラメータが必ず含まれている。一方、本実施の形態では、実施の形態1から5の何れかで説明した、ロボット300の動作を制御するパラメータは、パラメータ記憶部110が記憶するパラメータおよび機械学習部140が学習するパラメータでなくてもよい。
 このように実施の形態6によれば、一連動作の制約条件を満たしながらサイクルタイムの増大を抑制する作業環境のレイアウトを決定することができる。
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 100,100A~100I パラメータ算出装置、110 パラメータ記憶部、120,120A,120B 状態変数取得部、121,201 指令生成部、122 動作試行部、123 パラメータ送信部、124 状態変数受信部、130,130B,130F,130G,130H 評価部、131 動力学計算部、132 損傷度計算部、133a,135a,137a,139 制約判定部、134 消費電流計算部、136 消費電力計算部、138 制約選択部、140 機械学習部、150 終了条件判定部、160 調整区間記憶部、170 学習経過可視化部、180 プログラム生成部、200 ロボットコントローラ、300 ロボット、301 プロセッサ、302 メモリ、310 先端部、400 センサ、500 インタフェース画面、600 ロボット制御システム、700 ロボットシステム、800 パーツフィーダ、801 組立ステージ、O1,O1’ ロボットベース原点、P1,P1’,P2,P2’,P3,P3’ 教示点。

Claims (19)

  1.  ロボットの動作を制御するパラメータを速度0を区切りにした制御区間毎に記憶するパラメータ記憶部と、
     複数の制御区間で構成された一連動作における前記ロボットの状態を示す状態変数を前記パラメータに基づいて取得する状態変数取得部と、
     前記状態変数に基づいて、前記一連動作を評価する評価値および前記一連動作のサイクルタイムを算出する評価部と、
     前記評価値が第1の条件を満たし且つ前記サイクルタイムが第2の条件を満たすパラメータを多目的最適化手法を用いた学習で算出し、算出したパラメータを前記パラメータ記憶部に記憶させる機械学習部と、
     を備えることを特徴とするパラメータ算出装置。
  2.  前記パラメータには、前記ロボットの速さを決めるパラメータが含まれる、
     ことを特徴とする請求項1に記載のパラメータ算出装置。
  3.  前記パラメータには、前記ロボットが前記一連動作を実行する作業環境のレイアウトを決めるパラメータが含まれる、
     ことを特徴とする請求項1に記載のパラメータ算出装置。
  4.  前記評価値は、前記一連動作を繰り返す場合の前記ロボットが備える部品の予測寿命、前記一連動作で消費される前記部品の消費電流、および前記一連動作で消費される前記部品の消費電力の少なくとも1つである、
     ことを特徴とする請求項1から3の何れか1つに記載のパラメータ算出装置。
  5.  前記機械学習部は、前記評価値が制約条件を満たしつつ、前記サイクルタイムが短くなるパラメータを学習で算出する、
     ことを特徴とする請求項1から4の何れか1つに記載のパラメータ算出装置。
  6.  前記機械学習部は、前記サイクルタイムが制約条件を満たしつつ、前記評価値が改善されるパラメータを学習で算出する、
     ことを特徴とする請求項1から4の何れか1つに記載のパラメータ算出装置。
  7.  前記評価値の1つが、前記予測寿命である場合には、
     前記状態変数は、前記一連動作における、前記ロボットの関節の変位、前記関節の速度、および前記関節の加速度を含み、
     前記評価部は、前記変位、前記速度、および前記加速度を用いて前記関節に加わる負荷トルクを算出し、前記負荷トルクおよび前記関節の動作量に基づいて前記部品の前記一連動作での損傷度を算出し、前記予測寿命を前記損傷度に基づいて算出する、
     ことを特徴とする請求項4に記載のパラメータ算出装置。
  8.  前記評価値の1つが、前記消費電流である場合には、
     前記状態変数は、前記一連動作における、前記ロボットの関節の速度、前記関節の加速度、および前記関節を駆動する電流値を含み、
     前記評価部は、前記電流値を用いて、前記消費電流を算出する、
     ことを特徴とする請求項4に記載のパラメータ算出装置。
  9.  前記評価値の1つが、前記消費電力である場合には、
     前記状態変数は、前記一連動作における、前記ロボットの関節の速度、前記関節の加速度、および前記関節を駆動する電流値を含み、
     前記評価部は、前記電流値を用いて、前記消費電力を算出する、
     ことを特徴とする請求項4に記載のパラメータ算出装置。
  10.  前記機械学習部は、前記制御区間毎に算出された評価値に基づいて、学習を行うパラメータの初期値を調整する、
     ことを特徴とする請求項1から9の何れか1つに記載のパラメータ算出装置。
  11.  前記機械学習部は、前記制御区間毎に算出された評価値に基づいて、学習を行う制御区間を選択する、
     ことを特徴とする請求項1から10の何れか1つに記載のパラメータ算出装置。
  12.  前記機械学習部は、前記制御区間における動作時間と前記評価値との比率を前記制御区間毎に算出し、前記比率に基づいて、学習を行う制御区間を選択する、
     ことを特徴とする請求項1から10の何れか1つに記載のパラメータ算出装置。
  13.  前記状態変数取得部は、前記ロボットの動作を模擬するシミュレータによるシミュレーション結果から、前記状態変数を取得する、
     ことを特徴とする請求項1から12の何れか1つに記載のパラメータ算出装置。
  14.  前記状態変数取得部は、実際にロボットが動作した際の動作結果に基づいて、前記状態変数を取得する、
     ことを特徴とする請求項1から12の何れか1つに記載のパラメータ算出装置。
  15.  前記機械学習部が前記パラメータを学習する制御区間を記憶する区間記憶部をさらに備え、
     前記区間記憶部は、ユーザによって指定された制御区間を記憶し、
     前記機械学習部は、前記区間記憶部が記憶している制御区間に対し、前記パラメータを学習する、
     ことを特徴とする請求項1から10の何れか1つに記載のパラメータ算出装置。
  16.  前記機械学習部が前記パラメータを学習している間に、前記パラメータ記憶部に記憶されるパラメータの値、前記評価部が算出するサイクルタイム、前記評価部が算出する評価値の少なくとも1つを可視化した情報を生成する学習経過可視化部をさらに備える、
     ことを特徴とする請求項1から15の何れか1つに記載のパラメータ算出装置。
  17.  前記機械学習部が算出したパラメータに基づいて、前記ロボットを動作させるためのプログラムを生成するプログラム生成部をさらに備える、
     ことを特徴とする請求項1から16の何れか1つに記載のパラメータ算出装置。
  18.  請求項1から17のいずれか1つに記載のパラメータ算出装置と、
     前記パラメータ算出装置が算出したパラメータに基づいて、前記ロボットの動作を制御するロボットコントローラと、
     を有することを特徴とするロボット制御システム。
  19.  請求項18に記載のロボット制御システムと、
     前記ロボット制御システムによって制御される前記ロボットと、
     を有することを特徴とするロボットシステム。
PCT/JP2019/047280 2019-06-06 2019-12-03 パラメータ算出装置、ロボット制御システム、およびロボットシステム WO2020246059A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE112019007404.0T DE112019007404T5 (de) 2019-06-06 2019-12-03 Parameterberechnungsvorrichtung, robotersteuersystem und robotersystem
CN201980097072.3A CN113950393B (zh) 2019-06-06 2019-12-03 参数计算装置、机器人控制***及机器人***
JP2020527981A JP6833115B1 (ja) 2019-06-06 2019-12-03 パラメータ算出装置、ロボット制御システム、およびロボットシステム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/JP2019/022635 WO2020246005A1 (ja) 2019-06-06 2019-06-06 パラメータ算出装置、ロボット制御システム、ロボットシステム
JPPCT/JP2019/022635 2019-06-06

Publications (1)

Publication Number Publication Date
WO2020246059A1 true WO2020246059A1 (ja) 2020-12-10

Family

ID=73653155

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2019/022635 WO2020246005A1 (ja) 2019-06-06 2019-06-06 パラメータ算出装置、ロボット制御システム、ロボットシステム
PCT/JP2019/047280 WO2020246059A1 (ja) 2019-06-06 2019-12-03 パラメータ算出装置、ロボット制御システム、およびロボットシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/022635 WO2020246005A1 (ja) 2019-06-06 2019-06-06 パラメータ算出装置、ロボット制御システム、ロボットシステム

Country Status (4)

Country Link
JP (1) JP6833115B1 (ja)
CN (1) CN113950393B (ja)
DE (1) DE112019007404T5 (ja)
WO (2) WO2020246005A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7385948B1 (ja) 2022-05-11 2023-11-24 オリエンタル技研工業株式会社 提案装置
WO2024089873A1 (ja) * 2022-10-28 2024-05-02 Smc株式会社 パラメータ判定装置およびパラメータ判定方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116075782A (zh) * 2020-10-12 2023-05-05 三菱电机株式会社 参数调整装置及参数调整方法
DE102021103126B4 (de) 2021-02-10 2023-10-12 Gerhard Schubert Gesellschaft mit beschränkter Haftung Verfahren zum Beschleunigen einer Handhabungs-Maschine
DE102022107392A1 (de) 2022-03-29 2023-10-05 Gerhard Schubert Gesellschaft mit beschränkter Haftung Verfahren zum Beschleunigen einer Handhabungs-Maschine

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004020388A (ja) * 2002-06-17 2004-01-22 Mitsubishi Electric Corp 寿命評価装置
JP2004227028A (ja) * 2003-01-17 2004-08-12 Fuji Electric Systems Co Ltd 情報表示方法、及び情報抽出表示方法
JP2004322224A (ja) * 2003-04-21 2004-11-18 Yaskawa Electric Corp ロボット制御装置
US20100145509A1 (en) * 2008-12-10 2010-06-10 George Zhang Method And System For In-Production Optimization of The Parameters Of A Robot Used for Assembly
JP2013144349A (ja) * 2011-12-13 2013-07-25 Fanuc Ltd ロボット減速機寿命推定シミュレーション装置
JP2016016488A (ja) * 2014-07-09 2016-02-01 ファナック株式会社 ロボットプログラム修正システム
JP2017199077A (ja) * 2016-04-25 2017-11-02 ファナック株式会社 複数台の産業機械を有する生産システムの動作を最適化するセルコントローラ
JP2018051664A (ja) * 2016-09-27 2018-04-05 ファナック株式会社 最適な物品把持経路を学習する機械学習装置、及び機械学習方法
JP2018126796A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP2018176356A (ja) * 2017-04-13 2018-11-15 ファナック株式会社 制御装置及び機械学習装置
JP2019040311A (ja) * 2017-08-23 2019-03-14 ファナック株式会社 加工時間予測システム
WO2019098044A1 (ja) * 2017-11-14 2019-05-23 三菱電機株式会社 ロボットの動作調整装置、動作制御システム及びロボットシステム
WO2019102947A1 (ja) * 2017-11-27 2019-05-31 川崎重工業株式会社 ロボット制御装置及びそれを備えるロボットシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3040906B2 (ja) * 1994-01-19 2000-05-15 本田技研工業株式会社 ロボットの動作時間評価方法および装置
JP2006215807A (ja) * 2005-02-03 2006-08-17 Yaskawa Electric Corp ロボット制御装置および制御方法
JP6219897B2 (ja) * 2015-09-28 2017-10-25 ファナック株式会社 最適な加減速を生成する工作機械
JP6010204B1 (ja) * 2015-10-26 2016-10-19 ファナック株式会社 パワー素子の予測寿命を学習する機械学習装置及び方法並びに該機械学習装置を備えた寿命予測装置及びモータ駆動装置
JP6457473B2 (ja) * 2016-12-16 2019-01-23 ファナック株式会社 ロボットおよびレーザスキャナの動作を学習する機械学習装置,ロボットシステムおよび機械学習方法
JP2018126798A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP6659652B2 (ja) * 2017-10-31 2020-03-04 ファナック株式会社 加工条件調整装置及び機械学習装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004020388A (ja) * 2002-06-17 2004-01-22 Mitsubishi Electric Corp 寿命評価装置
JP2004227028A (ja) * 2003-01-17 2004-08-12 Fuji Electric Systems Co Ltd 情報表示方法、及び情報抽出表示方法
JP2004322224A (ja) * 2003-04-21 2004-11-18 Yaskawa Electric Corp ロボット制御装置
US20100145509A1 (en) * 2008-12-10 2010-06-10 George Zhang Method And System For In-Production Optimization of The Parameters Of A Robot Used for Assembly
JP2013144349A (ja) * 2011-12-13 2013-07-25 Fanuc Ltd ロボット減速機寿命推定シミュレーション装置
JP2016016488A (ja) * 2014-07-09 2016-02-01 ファナック株式会社 ロボットプログラム修正システム
JP2017199077A (ja) * 2016-04-25 2017-11-02 ファナック株式会社 複数台の産業機械を有する生産システムの動作を最適化するセルコントローラ
JP2018051664A (ja) * 2016-09-27 2018-04-05 ファナック株式会社 最適な物品把持経路を学習する機械学習装置、及び機械学習方法
JP2018126796A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP2018176356A (ja) * 2017-04-13 2018-11-15 ファナック株式会社 制御装置及び機械学習装置
JP2019040311A (ja) * 2017-08-23 2019-03-14 ファナック株式会社 加工時間予測システム
WO2019098044A1 (ja) * 2017-11-14 2019-05-23 三菱電機株式会社 ロボットの動作調整装置、動作制御システム及びロボットシステム
WO2019102947A1 (ja) * 2017-11-27 2019-05-31 川崎重工業株式会社 ロボット制御装置及びそれを備えるロボットシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7385948B1 (ja) 2022-05-11 2023-11-24 オリエンタル技研工業株式会社 提案装置
WO2024089873A1 (ja) * 2022-10-28 2024-05-02 Smc株式会社 パラメータ判定装置およびパラメータ判定方法

Also Published As

Publication number Publication date
JP6833115B1 (ja) 2021-02-24
JPWO2020246059A1 (ja) 2021-09-13
WO2020246005A1 (ja) 2020-12-10
CN113950393A (zh) 2022-01-18
CN113950393B (zh) 2023-11-17
DE112019007404T5 (de) 2022-02-24

Similar Documents

Publication Publication Date Title
JP6833115B1 (ja) パラメータ算出装置、ロボット制御システム、およびロボットシステム
Rahimi et al. Dynamic analysis and intelligent control techniques for flexible manipulators: a review
JP6128767B2 (ja) ロボット制御装置、及びロボット制御方法
CN108693834B (zh) 调整装置以及调整方法
US20100204828A1 (en) Movement path generation device for robot
JP2018152012A (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
CN109676610B (zh) 一种断路器装配机器人及其实现工作轨迹优化的方法
CN103492133A (zh) 具有运动冗余臂的工业机器人和用于控制该机器人的方法
JP6748135B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
Dupree et al. Adaptive Lyapunov-based control of a robot and mass–spring system undergoing an impact collision
Shahcheraghi et al. Design a novel SISO off-line tuning of modified PID fuzzy sliding mode controller
Khodayari et al. Fuzzy PID controller design for artificial finger based SMA actuators
CN114114902A (zh) 机器控制装置
Chandan et al. Inverse kinematics analysis of 7-degree of freedom welding and drilling robot using artificial intelligence techniques
Ravari et al. A novel hybrid Fuzzy-PID controller for tracking control of robot manipulators
Benitez-Garcia et al. Event-triggered control optimal tuning through bio-inspired optimization in robotic manipulators
WO2021149419A1 (ja) シミュレーション装置およびシミュレーションプログラム
Bruckmann et al. Energy consumption reduction of a cable-driven storage and retrieval system
JP2004164426A (ja) 出力制御方法、出力制御装置および出力制御プログラム
JP6940425B2 (ja) 制御装置及び機械学習装置
JP6800384B1 (ja) 位置決め制御装置および位置決め方法
WO2023276364A1 (ja) 学習及び制御装置、学習装置、制御装置、学習及び制御方法、学習方法、制御方法、学習及び制御プログラム、学習プログラム、及び制御プログラム
Sutyasadi et al. Improvement Control of a Three Axis Articulated Robotic Arm Using PID Cascade Control
Song et al. Reinforcement learning and its application to force control of an industrial robot
JP6740290B2 (ja) 機械学習装置、制御装置、及び機械学習方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020527981

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 19931596

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19931596

Country of ref document: EP

Kind code of ref document: A1