Patent Description:
Patent document <NUM> discloses an excessive load protection device that is for a motor control apparatus and that predicts a state close to an excessive load state so as to prevent mechanical equipment from stopping suddenly. <CIT> relates to controlling an industrial robot. The mean current of motors is calculated and compared to the rated current to determine whether the current exceeds the rated current. When values of ratios of measured currents and rated currents exceed <NUM>, the control is corrected such that all values exceeding <NUM> are reduced to approximately <NUM>. <CIT> relates to an electric power consumption control system for multiple industrial machines with motors. The machines are coordinated in a timely manner such that the machines' motions do not coincide with each other (may correspond to adjusting a time series sequence) such that power consumption peaks are avoided. <CIT> relates to a controller for optimizing a production system by simulating the production system. In case an adverse effect on the cycle time of the production system is determined, the production system is modified in the simulation to find optimal parameters. <CIT> relates to adjusting the track speed in a track production with industrial robots. For a desired track speed, resulting torque and load for the robots is calculated and if maximum values are exceeded, the track speed is reduced.

The above-described conventional technique, however, does nothing more than avoiding a rated excessive load state in a single drive axis (motor). Mechanical equipment, however, includes a plurality of mechanical apparatuses each driven by a drive axis, and there has been a need for improving operability of mechanical equipment by controlling mechanical equipment to exert its full functional potential.

The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide: a mechanical equipment control system that improves operability of mechanical equipment; a mechanical equipment control apparatus that improves operability of mechanical equipment; and a method for controlling a mechanical equipment that improves operability of the mechanical equipment.

The present invention improves operability of mechanical equipment.

An embodiment will be described with reference to the drawings.

<FIG> is a perspective view of an exterior of an entire mechanical equipment control system. <FIG> is a diagram illustrating: a schematic system configuration of the mechanical equipment control system; and an example flow of a work process performed by the mechanical equipment control system. The mechanical equipment control system exemplified in this embodiment is a system for controlling a mechanical equipment that performs work including: examining a finished product of an assembly of a large number of parts that have been supplied; and taking out the finished product. Referring to <FIG> and <FIG>, a mechanical equipment control system <NUM> includes an assembly robot <NUM>, a finished product transfer robot <NUM>, an examination robot <NUM>, a finished product take-out robot <NUM>, and an integration controller <NUM>.

The assembly robot <NUM> is a robot that performs work including: holding a large number of parts each supplied to a predetermined carry-in position <NUM>; placing the parts on an assembly platform <NUM>; and assembling the parts. In this example, the assembly robot <NUM> is implemented by a "SCARA robot" (horizontal multi-articular robot).

The finished product transfer robot <NUM> is a robot that performs work including: holding a finished product assembled by the assembly robot <NUM>; transferring the finished product from the assembly platform <NUM> into an examination space of the examination robot <NUM>, described later; and supporting the finished product. In this example, the finished product transfer robot <NUM> is implemented by a "vertical articulated robot" (vertical multi-articular robot).

The examination robot <NUM> is a robot that includes an examination device 4a, which uses an optical sensor, and that performs work including moving the optical sensor to make the optical sensor detect states of the elements of the finished product supported in the examination space by the finished product transfer robot <NUM>. In this example, the examination robot <NUM> is implemented by a "gantry" (gantry robot). It is to be noted that an example of how the examination device 4a examines an assembly state of the finished product is to perform image recognition of an exterior image of the finished product taken by a camera, which serves as the optical sensor.

The finished product take-out robot <NUM> is a robot that performs work including: receiving, from the finished product transfer robot <NUM>, the finished product done with the examination work performed by the examination robot <NUM>; and transferring the finished product to a predetermined take-out place <NUM>. In this example, the finished product take-out robot <NUM> is implemented by a "vertical articulated robot" (vertical multi-articular robot).

The integration controller <NUM> has functions including transmitting and receiving various kinds of information such as detection information and a control command to and from the above-described robots so as to perform synchronization control of making the robots work cooperatively so that the work process in the mechanical equipment control system <NUM> as a whole proceeds smoothly. In this example, the integration controller <NUM> is implemented by a general-purpose computer equipped with elements such as CPU, ROM, RAM, and HDD.

It is to be noted that in the above-described configuration, the assembly robot <NUM>, the finished product transfer robot <NUM>, the examination robot <NUM>, and the finished product take-out robot <NUM> correspond to the mechanical apparatus recited in the appended claims; a combination of configurations of these robots corresponds to the mechanical equipment recited in the appended claims; and the integration controller <NUM>, which controls the mechanical equipment as a whole, corresponds to the integration controller and the mechanical equipment control apparatus recited in the appended claims. It is also to be noted that the mechanical equipment may include various other mechanical apparatuses than the above-described robots, examples including: a transfer apparatus such as a belt conveyor; a machining apparatus; and a test apparatus, which are not illustrated. It is also to be noted that the integration controller <NUM> may perform integration control of all these mechanical apparatuses.

<FIG> is a diagram illustrating an example control functional block configuration of the mechanical equipment control system <NUM>. It is to be noted that <FIG> only illustrates a control configuration of each of the robots associated with actuator control; for example, the examination device 4a of the examination robot <NUM> is not illustrated. Referring to <FIG>, the robots <NUM> to <NUM> each include an upper-level controller <NUM>, an end effector <NUM>, a servo amplifier <NUM>, and a motor <NUM>.

Based on a work command (described later) input from the integration controller <NUM>, the upper-level controller <NUM> outputs a control command specifying a position, a speed, or a torque (thrust) to be employed by a plurality of motors <NUM> provided in the robot. This control command also specifies a motion for the end effector <NUM> to make. For example, the upper-level controller <NUM> calculates a target position, a target movement path, and a target movement speed for the end effector <NUM> to employ in order to cause the robot to make a predetermined motion corresponding to the above-described work command; successively calculates, by operations, a target output position, a target output speed, a target output torque (thrust), and/or other parameters of the motors <NUM> necessary for moving the end effector <NUM> at the target position, the target movement path, and the target movement speed; and outputs these parameters as control commands to the servo amplifiers <NUM> of corresponding motors <NUM>. The calculation, by operations, of the parameters such as the target output position, the target output speed, and the target output torque (thrust) may be performed based on "inverse kinematics operations", which are known in the art and will not be elaborated upon here.

Based on a control command input from the upper-level controller <NUM>, the servo amplifier <NUM> (drive axis controller, simply termed as "servo" in the drawings) performs feeding control of driving power used to drivingly control the corresponding motor <NUM>. It is to be noted that an internal configuration of and processing performed by the servo amplifier <NUM> according to this embodiment will be detailed later.

Any of various types of motors may be applied to the motor <NUM>, examples including a rotary motor and a linear motion motor. It is to be noted that the number of servo amplifiers <NUM> and motors <NUM> provided in each of the robots (mechanical apparatuses) will not be limited to the example illustrated; any other number of servo amplifiers <NUM> and motors <NUM> may be provided in each of the robots. It is also to be noted that the servo amplifier <NUM> and the motor <NUM> may not necessarily be provided in the one-to-one correspondence illustrated in the drawings; another possible configuration is that a single servo amplifier <NUM> controls a plurality of motors <NUM>.

The integration controller <NUM> includes: a manipulator <NUM> (input receiver), which is implemented by a keyboard, a pointing device, or a touch panel and which receives various input operations from an administrator (user); and a display <NUM> (load ratio display), which is implemented by elements such as a display and which displays various commands and information for the administrator. The integration controller <NUM> also includes an automatic adjuster <NUM> and a manual adjuster <NUM>, which are functional elements implemented in the form of software.

The integration controller <NUM> enables the mechanical equipment to accomplish its whole purpose, namely, an operation task (whole work including the steps of: carrying parts in; assembling the parts; transferring a finished product; examining the finished product; and taking out the finished product). For this purpose, the integration controller <NUM> manages time-series sequences of operation states of the robots (this sequence will be hereinafter referred to as operation sequence; see <FIG>, described later), and outputs a work command at a suitable timing. The work command includes: a work-associated motion pattern of the robot into which the work command is input; and a load ratio (described later) of each of the motors <NUM> necessary for implementing the motion pattern.

The automatic adjuster <NUM> and the manual adjuster <NUM> each have a function of, based on a setting input of an operation parameter (described later), adjusting the operation sequence of each robot and/or details of the work command output to each robot (such as motion pattern and load ratio of each motor <NUM>). The automatic adjuster <NUM> is a functional element that enables the integration controller <NUM> itself to make automatic adjustments, and the manual adjuster <NUM> is a functional element that enables the administrator himself/herself to make manual adjustments. It is to be noted that details of the processing performed by the automatic adjuster <NUM> and the manual adjuster <NUM> will be detailed later.

Factory automation represented by the mechanical equipment described above is implemented by a mechanical equipment including a plurality of mechanical apparatuses (such as robots) each drivingly controlled by a motor <NUM>, which serves as a drive axis. Such mechanical equipment has various operation parameters to be considered, such as power consumed in the entire equipment and equipment lifetime. In production equipment such as the equipment according to this embodiment, examples of operation parameters to be considered include operation-associated parameters such as production speed (tact time) of a product and quality (yield) of a product.

Some of these various operation parameters may have a particular relationship with each other. For example, consumption power and tact time have a negative relationship, that is, a trade-off relationship in which increasing one decreases the other. Generally, mechanical equipment as a whole is initially designed with a balance between the various operation parameters taken into consideration, and is controlled based on the design. In order to give priority to reliable accomplishment of a task, mechanical equipment is, in many cases, designed and produced with some degree of allowance (margin) left in the functional potential (such as degree of motion freedom, and capacity and durability of each motor <NUM>) of each single mechanical apparatus.

There is, however, such a situation that the administrator wishes to intentionally give priority to and increase a particular operation parameter at the expense of the other operation parameters (for example, the administrator may wish to increase the tact time even though it increases power consumption). Thus, there has been a need for such control that, while ensuring that an intended operation task is accomplished, maximizes the functional potential (function resources) of the mechanical equipment as a whole by giving priority to a particular operation parameter.

Under the circumstances, this embodiment includes a load ratio detector (described later) that detects load ratios of all the motors <NUM>; the manipulator <NUM>, which receives a setting input of a predetermined operation parameter of the mechanical equipment control system <NUM>; and the integration controller <NUM>, which controls the plurality of mechanical apparatuses (robots) based on the setting input of the predetermined operation parameter while keeping load ratios of all the motors <NUM> at an allowable load state.

In this configuration, the integration controller <NUM> keeps the load ratios of all the motors <NUM> of the mechanical equipment in an allowable load state. This enables the integration controller <NUM> to, while keeping an operation task of the mechanical equipment as a whole at an accomplished state, control the robots by performing an inter-robot operation sequence adjustment and/or an inter-robot load-ratio assignment adjustment that are suitable for the setting input of the predetermined operation parameter. A configuration and a way of implementing these functions will be described below.

First, the load ratio of each motor <NUM> in this embodiment will be described. For example, the load ratio may be a ratio of an instantaneous current that is being fed to the motor <NUM> at a point of time relative to a rated current of the motor <NUM>. For example, a motion margin is employed as the load ratio. As described below, the motion margin is calculated by obtaining a ratio of a motion state value relative to a motion rated value that is obtained by taking into consideration a motion state and an environment state of the motor <NUM> and the corresponding servo amplifier <NUM> at a point of time.

<FIG> is a functional block diagram of: the servo amplifier <NUM>, which detects a motion margin as the load ratio; and elements located around the servo amplifier <NUM>. As illustrated in <FIG>, the servo amplifier <NUM> includes a converter <NUM>, a smoothing capacitor <NUM>, an inverter <NUM>, a controller <NUM>, a load ratio detector <NUM>, and various internal sensors <NUM>.

The converter <NUM> is connected to a three-phase AC power source <NUM>, which is a commercial power source, and has a function of: converting AC power supplied from the three-phase AC power source <NUM> into DC power; and feeding the DC power to a DC bus line.

The smoothing capacitor <NUM> is provided across and connected to DC bus lines, and smoothens DC power that has been full-wave rectified by the converter <NUM>.

The inverter <NUM> is connected to the motor <NUM>, and has a function of PWM converting the DC power supplied from the DC bus line into driving power equivalent to three-phase AC having a predetermined amplitude and a predetermined frequency; and feeding driving power to the motor <NUM>.

The controller <NUM> is implemented by a computer made up of CPU, ROM, RAM, and other elements; generates ON/OFF control signals for arm switching elements Q of the converter <NUM> and the inverter <NUM> based on a control command input from the upper-level controller <NUM>; and outputs the ON/OFF control signals.

The load ratio detector <NUM> is a processor that outputs, based on environment state data (described later), a motion margin (load ratio) of a motion state value relative to a motion rated value of at least one of the servo amplifier <NUM> and the motor <NUM>. The load ratio detector <NUM> includes a storage <NUM>, a calculator <NUM>, and a comparer <NUM>. The storage <NUM> is a storage for storing a motion rated value that has been calculated in advance and that corresponds to the servo amplifier <NUM> and the motor <NUM> to which the servo amplifier <NUM> is connected. The calculator <NUM> is an operator that calculates a motion state value based on various kinds of environment state data detected at the internal sensors <NUM> and/or external sensors <NUM>. The comparer <NUM> is an operator that makes a comparison between the motion rated value stored in the storage <NUM> and the motion state value calculated by the calculator <NUM>, that calculates a motion margin based on the comparison, and that outputs the motion margin to the upper-level controller <NUM>.

An example includes sensors to detect various kinds of environment state data to be input into the calculator <NUM> of the load ratio detector <NUM>, namely: the internal sensors <NUM>, which are provided in the servo amplifier <NUM> itself; and the external sensors <NUM>, which are provided outside the servo amplifier <NUM>. In the example illustrated, the internal sensors <NUM> include a converter temperature sensor 36a, a smoothing capacitor temperature sensor 36b, an inverter temperature sensor 36c, an in-apparatus atmosphere temperature sensor 36d, a humidity sensor 36e, and a vibration sensor 36f. The external sensors <NUM> include an external air temperature sensor 40a and a motor temperature sensor 40b. It is to be noted that the internal sensors <NUM> and the external sensors <NUM> correspond to the state quantity detector recited in the appended claims.

For example, a combination of rated values of a plurality of pieces of motion state data (such as output power, current, voltage, loss, speed, torque (thrust)) is regarded as a motion rated value, and a combination of a plurality of pieces of motion state data is regarded as a motion state value. Based on environment state data detected at a point of time, the load ratio detector <NUM> calculates a motion margin serving as an indicator of the degree of equipment usage condition indicated by the motion state value at the point of time, as compared with the motion rated value necessary for keeping the servo amplifier <NUM> and the motor <NUM> at a normal state. Then, the load ratio detector <NUM> outputs the motion margin as the load ratio.

The motion rated value is a value that is set in advance on the manufacturer side as an index value to ensure a normal state of at least one of the servo amplifier <NUM> and the motor <NUM>, and that is stored in the above-described storage. The motion state value, which is successively calculated by the calculator <NUM>, is a value that indicates, by a scale of measurement identical to that used for the motion rated value, how much load is being applied to the servo amplifier <NUM> and the motor <NUM> at the time at which state data is detected. Then, the comparer calculates the motion margin (load ratio) by calculating a ratio of the motion state value relative to the motion rated value (= motion state value/motion rated value). When the motion state value is equal to or less than the motion rated value (load ratio = motion margin ≤ <NUM>%), a determination is made that the normal state of the servo amplifier <NUM> and the motor <NUM> that are in motion state is maintained. When the motion state value is in excess of the motion rated value (load ratio = motion margin > <NUM>%), a determination is made that the normal state of the servo amplifier <NUM> and the motor <NUM> that are in motion state is not secured (a determination is made that there is a possibility of an abnormality). Further details about how to calculate the motion rated value, the motion state value, and the motion margin are described in <CIT> and will not be elaborated upon here. It is to be noted that the motion state data and the environment state data correspond to the state quantity recited in the appended claims.

As has been described hereinbefore, the load ratio calculated in the form of a motion margin can be referred to as a single index value indicating the degree to which inherent function resources of the servo amplifier <NUM> and the corresponding motor <NUM> are being exerted. The integration controller <NUM> according to an example is capable of: receiving, via the upper-level controllers <NUM> of the robots, load ratios detected at all the motors <NUM>; and displaying the load ratios on the display <NUM>. <FIG> illustrates an example image of a load ratio monitor and an operation parameter control panel displayed by "GUI (Graphic User Interface)" on the display <NUM> of the integration controller <NUM>. Referring to <FIG>, a monitor window <NUM> is displayed in an upper left area of the display screen; an operation control window <NUM> is displayed below the monitor window <NUM>; and a load ratio monitor window <NUM> is displayed in a right area of the display screen.

The monitor window <NUM> includes: a monitor content display area 51a, which shows content displayed on the monitor (in the example illustrated, the content includes "Abnormality prediction", "Temperature", "Lifetime", "Load ratio monitor", and "Operation state monitor"); and an override display area 51b, which shows in detail an override situation about the load ratio of the motor <NUM> that has been selected. The illustrated example is a state in which a selection operation has been made to monitor the Load ratio monitor in the monitor content display area 51a. As a result of the selection operation, the load ratio monitor window <NUM> for the motors <NUM> is displayed in the right-side display area. The Load ratio monitor displays a list of bar graphs of load ratios detected by all the motors <NUM> of the four robots provided in the mechanical equipment in comparison with uniformly normalized lengths of motion rated values (see dotted portions in the drawing). Among the load ratios, the load ratio of one motor <NUM> (in the example illustrated, the second axis of the assembly robot <NUM>) is arbitrarily selected by the administrator, and the override situation of the selected load ratio is displayed in the override display area 51b. These display items are updated at time intervals at which the load ratios of the motors <NUM> are received. By monitor-displaying the load ratios in this manner, the degree of the load ratio of each motor <NUM>, that is, how much of the integral functional potential of the motors <NUM> is exerted in the mechanical equipment as a whole can be checked in a real-time manner.

The operation control window <NUM> includes: an operation parameter setting operation area 52a, which is for a manual setting operation of an operation parameter; a target operation parameter selection operation area 52b, which is for a selection operation of the kind of operation parameter targeted for setting input (in the example illustrated, kinds of operation parameter include "Takt", "Power consumed", "Yield", and "Life extension driving"); and a mode switching operation area 52c, which is for a switching operation of whether a control adjustment, described later, is performed in automatic adjustment mode or manual adjustment mode. The illustrated example is a state in which: a selection operation has been made to select the Tact time as the target operation parameter; the control adjustment is switched to the automatic adjustment mode; and a cursor operation has been made by the administrator to set the slide bar in the operation parameter setting operation area 52a at a position above the default position at the center toward the MAX position. By this setting input, the integration controller <NUM> automatically performs a control adjustment of giving priority to the Tact time operation parameter and raising the Tact time from the default to a state closer to the maximum (MAX). By this operation control, the integration controller <NUM> is able to adjust work commands output to the robots so that the mechanical equipment, while keeping the intended operation task at an accomplished state, realizes the content of the target operation parameter arbitrarily set by the administrator.

It is to be noted that the kinds of operation parameters targeted for setting input include: "Takt", which is an operation parameter for adjusting the production speed at which the mechanical equipment produces products; "Power consumed", which is an operation parameter for adjusting the power consumed in the mechanical equipment as a whole at the time of production; "Yield", which is an operation parameter for adjusting the quality of products produced by the mechanical equipment; and "Life extension driving", which is an operation parameter for adjusting the lifetime and/or durability of the mechanical equipment (the mechanical apparatuses, such as the robots, and parts of the mechanical apparatuses) at the time of production.

Description will be made with regard to the control adjustment according to the above-described embodiment; specifically, description will be made with regard to how to adjust the work command that the integration controller <NUM> outputs to the upper-level controller <NUM> of each robot. First, a condition for the mechanical equipment to keep an operation task at an accomplished state is to keep the load ratios of all the motors <NUM> and all the servo amplifiers <NUM> provided in the robots (mechanical apparatuses) at an allowable load state; specifically, to keep the above-described motion state value at equal to or less than the motion rated value (motion margin = load ratio ≤ <NUM>%).

In an example, there are mainly two methods to realize setting changes made to operation parameters while satisfying the above condition: a method by which the operation sequence of each robot is adjusted; and a method by which the content of the work command output to each robot is adjusted. In each of the two adjustment methods, two adjustment modes are available: automatic adjustment mode performed by the automatic adjuster <NUM>; and manual adjustment mode performed by the administrator via the manual adjuster <NUM>. In the automatic adjustment mode, in particular, two forms are available: a form in which an automatic adjustment is made based on a mathematical model; and a form in which an automatic adjustment is made by machine learning.

<FIG> illustrates an example image of an operation state monitor corresponding to <FIG>. Referring to <FIG>, an operation state monitor window <NUM> is displayed in the right-side area. In the example illustrated, a time-series sequence, that is, an operation sequence of operation states of each robot is displayed on the operation state monitor window <NUM>. The operation sequence corresponds to the most recent one-minute time length from the time at which the operation state monitor window <NUM> was displayed. In the operation sequence displayed, the operation states of the corresponding robot (in the example illustrated, "In motion", "Energy saving", "Alarm", "Suspending", and "Cutting") are distinguished from each other using colored patterns and arranged on a time-series basis. As seen from <FIG>, the robots are not necessarily in motion state all the time while the mechanical equipment is in operation. In actual situations, such time lengths frequently occur that the robots are in such operation states as energy saving, suspending, and cutting, which is because of the necessity of synchronizing cooperation work performed by the robots.

When, for example, there is a need for increasing the Tact time operation parameter, it is effective to adjust the operation sequence of each robot by shortening the time lengths for the energy-saving operation state, the suspending operation state, and the cutting operation state. For this purpose, it is possible to perform setting input processing at the manual adjuster <NUM> to, as illustrated in the drawing: make a manual adjustment (not illustrated) of the time length for an arbitrary operation state by a cursor operation; or make a manual adjustment (not illustrated) to shorten the time length for the operation sequence as a whole of all the robots. In this respect, the manual adjuster <NUM> restricts the degree by which each of the adjustment operations can be made while ensuring that the load ratios of all the motors <NUM> are kept at an allowable load state. This configuration ensures that the above-described condition for the mechanical equipment to accomplish an operation task is satisfied. Also, when a particular operation state affects the setting content of an operation parameter, it is possible to highlight the time length for the operation state by, for example, making the time length flash intermittently. This ensures that the position of the time length for the operation state that needs adjusting is clearly visually recognizable.

When the end effector <NUM> of, for example, a vertical articulated robot is moved to a movement destination position, necessary load ratios of the motors <NUM> and/or the time to reach the movement destination position may vary depending on the movement path taken so far and/or the arrangement of the arm joints taken during the movement, even if the end effector <NUM> is moved to the same movement destination position. Under the circumstances, in order to make an adjustment to assign load ratio among the motors <NUM> (load assignment), it is effective to, while maintaining the work of movement to the same movement destination position, manually adjust robot motion patterns and/or manually adjust the load ratio of each motor <NUM> itself. For this purpose, it is possible to, via a setting input processing at the manual adjuster <NUM>, perform an operation of manually adjusting a motion pattern on an editor screen, not illustrated. In this respect, the manual adjuster <NUM> restricts the degree by which each of the adjustment operations can be made while ensuring that the load ratios of all the motors <NUM> are kept at an allowable load state. This configuration ensures that the above-described condition for the mechanical equipment to accomplish an operation task is satisfied. Also, when a particular motion pattern affects the setting content of an operation parameter, it is possible to highlight the motion pattern by, for example, making the motion pattern flash intermittently. This ensures that the position of the time length for an operation state that needs adjusting is clearly visually recognizable.

The automatic adjuster <NUM> of the integration controller <NUM> may, basically, make an automatic adjustment in the above-described operation sequence adjustment method or work command adjustment method. When, as to form, in an example only for illustration, the adjustment is based on a mathematical model, it is possible to prepare in advance a software program that, while keeping the load ratios of all the motors <NUM> at an allowable load state, adjusts the time length for an operation state and/or a driving pattern based on a setting input of an operation parameter. Example mathematical models that may be employed include sequence models such as in kinematics of each robot (such as forward kinematics and inverse kinematics), system transfer function, and a ladder program.

In the embodiment, the adjustment is based on machine learning, so that it is possible to, while keeping the load ratios of all the motors <NUM> at an allowable load state, perform machine learning of, as a feature quantity, a correlation of a setting input of an operation parameter with an arrangement pattern of operation state time lengths or a driving pattern of each robot.

<FIG> illustrates an example conceptual model configuration of the automatic adjuster 23A, which adjusts an operation sequence based on a learning content obtained by deep learning using a neural network. In the example illustrated, the automatic adjuster 23A is designed and adapted to, in response to a setting input of an operation parameter, output a time-series pattern of the operation state time length of each robot. The time-series arrangement pattern (that is, operation sequence) of each operation state time length to be output is based on a learning content obtained in a machine learning process (deep learning), and is prepared under the assumption that the operation parameter that has been input is implementable while keeping the load ratios of all the motors <NUM> at an allowable load state. That is, the neural network of the automatic adjuster 23A learns a feature quantity indicating a correlation between an operation parameter value and the operation sequence of each robot. It is to be noted that as in the example illustrated, it is possible to make the automatic adjuster 23A learn to output an estimated value of another operation parameter.

A method suitable for learning by the neural network is "deep reinforcement learning". In this case, an operation parameter is set at a random value, and an operation is implemented according to the operation sequences of operation state time lengths that have been randomly set while keeping the load ratios of all the motors <NUM> at an allowable load state. Then, an error rate (evaluation value) of the operation relative to the operation parameter is detected. Then, back-propagation processing (error back-propagation processing) is performed in the neural network in order to reduce the error rate (maximize a reward based on the evaluation value in the future). The learning work is repeated while operation parameter randomness is adjusted on a convenient timing basis. This enables the neural network of the automatic adjuster <NUM> to learn an operation parameter value and a feature quantity for outputting an operation sequence suitable for the operation parameter value. This kind of reinforcement learning may be performed using, for example, a known "Q-learning algorithm", which will not be elaborated upon here. It is to be noted that in order to improve processing accuracy of the learning work, it is possible to use other various known learning methods than back-propagation, examples including stacked auto-encoder, dropout, noise addition, and sparse regularization.

The automatic adjuster 23A, which adjusts operation sequences, is illustrated in <FIG> in the form of a schematic representation of input and output of information. There are, however, a variety of possible configurations in which the automatic adjuster 23A can be embodied. For example, an operation sequence in production equipment is in many cases implemented in the manner illustrated in <FIG>; specifically, a time-series arrangement pattern of an operation state time length defined within a control period ΔT, which has a predetermined length, is repeated periodically. In light of this, a predetermined elapse of time within the control period ΔT, which is a standard control period, may be defined as in-period elapsed time t (in the example illustrated, t = <NUM> to <NUM>). Then, every time the in-period elapsed time t in the operation sequence is measured, the automatic adjuster <NUM> may estimate and output a suitable operation state of each robot.

A specific example model configuration of an automatic adjuster 23B in this case is illustrated in <FIG>. In the example illustrated, the automatic adjuster 23B is designed and adjusted to, based on the in-period elapsed time t and an operation parameter that have been input at a point of time, output an operation state of each robot estimated as suitable for this in-period elapsed time t. Specifically, the neural network of the automatic adjuster 23B learns a feature quantity indicating a correlation of the in-period elapsed time t and the operation parameter value at the point of time with the operation sequence of each robot. The output of an operation state may be either binary clustering output or multi-valued regression output. A time-series arrangement pattern of operation states output in this manner corresponds to the operation sequences illustrated in <FIG>.

It is to be noted that the load ratio of each motor reflects various kinds of motion state data and environment state data detected by the motor <NUM> and the servo amplifier <NUM> at the present point of time, and therefore that by inputting the load ratios of the motors <NUM> into the automatic adjuster 23B so that the load ratios are reflected in the estimation of the operation states of the robots, a real-time output improved in estimation accuracy can be made. It is also to be noted that when a particular operation parameter is selected, such as in adjustment control of takt, the maximum time, tend, of the in-period elapsed time t may increase or decrease (that is, the time length of the control period ΔT as a whole may increase or decrease). In this case, the upper-level controller <NUM> may calculate a maximum time tend (the control period ΔT) corresponding to the increase or decrease; measure the in-period elapsed time t; and input the measured in-period elapsed time t into the automatic adjuster 23B of the integration controller. In this case, it is also possible to input the calculated control period ΔT into the automatic adjuster 23B. In the example illustrated, the single automatic adjuster 23B provided in the integration controller <NUM> outputs the operation states of the robots provided in the system as a whole. Another possible configuration is that the upper-level controller <NUM> of each robot includes a dedicated automatic adjuster, and the automatic adjusters perform cooperative control while synchronizing time lengths ΔT. In this case, each upper-level controller <NUM> itself is capable of calculating the in-period elapsed time t and the load ratio and inputting the in-period elapsed time t and the load ratio directly into the automatic adjuster 23B. As a result, real-time performance of processing improves.

<FIG> is an example conceptual model configuration of the automatic adjuster 23C, which adjusts a driving pattern of a work command based on a learning content obtained by deep learning using a neural network. In this case, the automatic adjuster 23C is designed and adjusted to, in response to a setting input of an operation parameter, output the driving pattern of each motor <NUM> provided in a corresponding robot. That is, the neural network of the automatic adjuster 23C learns a feature quantity indicating a correlation between an operation parameter value and the driving pattern of each motor <NUM>. It is to be noted that as in the example illustrated, it is possible to make the automatic adjuster <NUM> learn to output an estimated value of another operation parameter.

The automatic adjuster 23C, which adjusts work commands, is illustrated in <FIG> in the form of a schematic representation of input and output of information. There are, however, a variety of possible configurations in which the automatic adjuster 23C can be embodied. For example, as illustrated in <FIG>, when the end effector <NUM> of a vertical articulated robot <NUM> is moved from a present position Ps to a destination position Pt, using a linear path between these two points makes the necessary arrival time (tact time) shortest. When, however, some other alternative path is used to move the end effector <NUM>, it is possible that power consumption is reduced. In light of this, the automatic adjuster <NUM>, which adjusts work commands, may successively estimate and output halfway positions Pi. Each of the halfway positions Pi is a position estimated as suitable at each point of time for implementation of an operation parameter in the vicinity of the present position Ps. It is to be noted that while <FIG> only illustrates movement positions of the end effector <NUM>, if the vertical articulated robot <NUM> has a large number of drive axes, it is necessary to consider postures of the end effector <NUM> as well.

A specific example model configuration of an automatic adjuster 23D in this case is illustrated in <FIG>. In the example illustrated, the automatic adjuster 23D is designed and adjusted to, in response to present position posture information, destination position posture information, and an operation parameter that have been input at a point of time, output path position posture information (corresponding to the driving pattern in <FIG>) estimated as suitable in the vicinity of the present position posture information. It is to be noted that the present position posture information, the destination position posture information, and the path position posture information are information indicating the position and posture of the end effector <NUM>, and that these pieces of information may be defined by a coordinate position or a vector in a robot coordinate system (not illustrated) that is specially set, or may be defined by an output position of each motor <NUM> (angular position detected by an encoder (not illustrated) provided in the motor).

It is to be noted that the load ratios of the motors <NUM> may be input into the automatic adjuster 23D, which adjusts work commands. This ensures that a real-time output further improved in estimation accuracy can be made. In the example illustrated, the integration controller <NUM> includes the automatic adjuster 23D for each of the robots. Another possible configuration is that the upper-level controller <NUM> of each robot includes an automatic adjuster so that the automatic adjusters perform cooperative control in a synchronized manner. In this case, each upper-level controller <NUM> itself is capable of calculating the present position posture information, the destination position posture information, the path position posture information, and the load ratio, and inputting these pieces of information directly into the automatic adjuster 23D. As a result, real-time performance of processing improves.

The above-described automatic adjusters 23A to 23D estimate and output an operation sequence and a work command corresponding to a setting input of an operation parameter value. The automatic adjuster <NUM>, however, may be specialized in estimation of a most suitable output (optimization of an output). In this case, the input of an operation parameter value is not necessary.

It is to be noted that the processing algorithm of the automatic adjuster <NUM> may be implemented by other than deep learning using a neural network illustrated in the drawings; it is possible to use another processing algorithm (not illustrated) using, for example, support vector machine or Bayesian network.

As has been described hereinbefore, the mechanical equipment control system <NUM> includes: the load ratio detector <NUM>, which detects load ratios of all the motors <NUM> and all the servo amplifiers <NUM>; the manipulator <NUM>, which receives a setting input of a predetermined operation parameter input into the mechanical equipment control system <NUM>; and the integration controller <NUM>, which controls a plurality of robots based on the setting input of the operation parameter while keeping all the load ratios at an allowable load state.

Thus, by keeping the load ratios of all the motors <NUM> of the mechanical equipment at an allowable load state, the integration controller <NUM> is able to, while keeping an operation task of the mechanical equipment as a whole at an accomplished state, control the robots by performing an inter-robot operation sequence adjustment and/or an inter-robot load-ratio assignment adjustment that are suitable for the setting input of the predetermined operation parameter. This configuration, as a result, improves the operability of the mechanical equipment. It is to be noted that a setting input of an operation parameter may not necessarily be performed manually at the manipulator <NUM> but may be performed by, for example, receiving a setting input from another controller via a communication interface.

It is particularly noted that in an example, each of the robots includes the servo amplifier <NUM>, the internal sensors <NUM>, and the external sensors <NUM>. Based on environment state data and/or motion state data detected by the sensors <NUM> and <NUM>, the load ratio detector <NUM> of the integration controller <NUM> calculates, as a load ratio, a motion margin (motion state value/motion rated value) of at least one of the motor <NUM> and the servo amplifier <NUM>.

This configuration eliminates the need for relying on rated values of state data of the motor <NUM> and the servo amplifier <NUM> (the rated values correspond to state data conditions that are set on the manufacturer side and that ensure normal motions if all the conditions are satisfied simultaneously). Instead, a load ratio is calculated based on a motion margin represented by a ratio between: a motion rated value that is a combination of the state data and equivalent to a maximum limitation value of the functional potential of the motor <NUM> and the servo amplifier <NUM>; and a motion state value that is indicated by a scale of measurement identical to that used for the motion rated value and that is equivalent to a functional potential value at the present point of time. Then, monitoring is performed as to whether the load ratio is at an allowable load state. It is to be noted that the load ratio detector <NUM> may be provided in the integration controller <NUM>. In this case, various kinds of state data detected by the servo amplifier <NUM> is output to the integration controller <NUM>, and the integration controller <NUM> calculates a load ratio for each pair of motor <NUM> and servo amplifier <NUM> corresponding to the integration controller <NUM>.

It is particularly noted that in an example, the integration controller <NUM> includes: the display <NUM> (load ratio monitor display area), which displays the load ratios of all the motors <NUM> (= motion margin = motion state value/motion rated value); and the manual adjuster <NUM>, which receives a setting input of a robot control adjustment from the administrator. This configuration ensures that control of the robots can be adjusted by making an adjustment intended by a user while keeping the load ratio in check.

It is particularly noted that in this embodiment, the integration controller <NUM> includes the automatic adjuster <NUM>, which controls adjustment of a plurality of robots based on the setting input of the predetermined operation parameter. This eliminates the need for a manual adjustment by the user and enables the integration controller <NUM> to automatically control adjustment of the robots, resulting in improved operability. It is to be noted that in an example, the administrator arbitrarily manually selects whether to perform a control adjustment in the automatic adjustment mode or the manual adjustment mode. This configuration, however, is not intended in a limiting sense. For example, the integration controller <NUM> may autonomously (automatically) switch to the automatic adjustment mode based on various other setting conditions.

It is particularly noted that in an example, the automatic adjuster <NUM> makes an adjustment of a time-series sequence of an operation state of each of the robots based on the setting input of the predetermined operation parameter. This ensures that the mechanical equipment can be controlled using an operation sequence that enables the functional potential of each single robot to be exerted to a maximum based on the content of the setting input of the operation parameter.

It is particularly noted that in an example, the automatic adjuster <NUM> makes an adjustment of load assignment in each robot on a single motor <NUM> basis based on the setting input of the predetermined operation parameter. This ensures that the plurality of motors <NUM> provided in a single robot can be cooperatively controlled based on the content of the setting input of the operation parameter so that the functional potential of each motor <NUM> is exerted to a maximum.

It is particularly noted that in an example only for illustrational purposes, the automatic adjuster <NUM> performs control adjustment based on a mathematical model. This ensures that an adjustment can be made by a method acquainted with in advance, making operations such as correction easily performable.

It is particularly noted that in this embodiment, the automatic adjusters 23A and 23B perform a control adjustment based on a learning content obtained in a machine learning process. This ensures a highly accurate adjustment without relying on how a mathematical model, which is an artificial model, is designed, even if the robots and the mechanical equipment as a whole are complicated in configuration and adjustment content is complicated accordingly.

As used herein, the term "perpendicular" means substantially or approximately perpendicular within some design tolerance or manufacturing tolerance, as well as precisely perpendicular. As used herein, the term "parallel" means substantially or approximately parallel within some design tolerance or manufacturing tolerance, as well as precisely parallel. As used herein, the term "planar" means substantially or approximately planar within some design tolerance or manufacturing tolerance, as well as precisely planar.

Also, when the terms "identical", "same", "equivalent", and "different" are used in the context of dimensions, magnitudes, sizes, or positions, these terms may not necessarily mean "identical", "same", "equivalent", and "different", respectively, in a strict sense. Specifically, the terms "identical", "same", "equivalent", and "different" are intended to mean "substantially or approximately identical", "substantially or approximately same", "substantially or approximately equivalent", and "substantially or approximately different", respectively, within some design tolerance or manufacturing tolerance.

Claim 1:
A mechanical equipment control system (<NUM>) comprising a mechanical apparatus (<NUM>; <NUM>; <NUM>; <NUM>) drivingly controlled by a drive axis (<NUM>), the mechanical equipment producing products, the mechanical equipment control system comprising:
a load ratio detector (<NUM>) configured to detect a load ratio of the drive axis (<NUM>);
an input receiver (<NUM>) configured to receive a selection of a kind of operation parameter targeted for setting input and a setting input of an operation parameter of said kind, input into the mechanical equipment control system (<NUM>); and
an integration controller (<NUM>) including a display (<NUM>) and configured to display, on the display (<NUM>), an operation control window (<NUM>) comprising:
- a target operation parameter selection operation area (52b) for the selection of the kind of operation parameter targeted for setting input;
- an operation parameter setting operation area (52a) for a manual setting operation of the operation parameter of said kind; and
- a mode switching operation area 52c for a switching operation of whether an adjustment of control is performed in automatic adjustment mode or normal adjustment mode,
wherein the kinds of operation parameters targeted for setting input include tact, yield, power consumption and life extension driving;
the integration controller (<NUM>) is configured to, while keeping the load ratio at an allowable load state, control the mechanical apparatus based on the setting input of the operation parameter of said kind, thereby giving priority to the operation parameter, and
the integration controller (<NUM>) comprises an automatic adjuster (<NUM>) configured to, in the automatic adjustment mode, make the adjustment of control of the mechanical apparatus based on the setting input of the operation parameter of said kind, wherein the automatic adjuster (<NUM>) is configured to make the adjustment based on a learning content obtained in a machine learning process.