Patent Description:
An application device for applying a viscous material to an application target is described in Patent Document <NUM>. The application device includes a nozzle device that discharges a viscous material from a nozzle onto the application target, and a moving means that moves the nozzle device relative to the application target. The moving means is an articulated robot configured to move the nozzle device relative to the application target via the operation of each joint.

Patent Document <NUM>: <CIT> relates to a coating apparatus for applying a viscous material to an object to be coated. Patent Document <NUM>: <CIT> relates to a system for adjusting a flow rate of a material. Patent Document <NUM>: <CIT> relates to a system for adaptive control of a thickness of a coating applied on a component. Patent Document <NUM>: <CIT> relates to an automated drywalling system. Patent Document <NUM>: <CIT> relates to a board coating device.

The present disclosure provides an application system, a control device, a control method, and a program useful for quality stabilization.

An application system according to claim <NUM>, a control method according to claim <NUM> and a program according to claim <NUM>.

According to the present disclosure, an application system, a control device, a control method, and a program useful for quality stabilization are provided.

An embodiment will be described below with reference to the drawings. In the description, elements which are the same or have the same function are given the same reference signs, and redundant descriptions thereof are omitted.

An application system <NUM> illustrated in <FIG> is a system for automatically performing at least a part of an application operation in which a coating material is applied to an application object (hereinafter, referred to as a "workpiece W"). The workpiece W is, for example, part of the body of an automobile. Examples of the workpiece W include a floor panel, a roof panel, and a door panel of an automobile. The coating material applied to the workpiece W is, for example, a sealant or a vibration damping material that dampens vibration (coating material for soundproofing). The vibration damping material may include a material (resin) having viscosity and elasticity. For example, the vibration damping material includes a material having a viscosity at which, at room temperature, the material can maintain its application shape without dripping until the material solidifies. The application system <NUM> includes an articulated robot <NUM>, an application device <NUM>, and a control device <NUM>.

The articulated robot <NUM> is, for example, a <NUM>-axis vertical articulated robot including a base portion <NUM>, a swivel portion <NUM>, a first arm <NUM>, a second arm <NUM>, a wrist portion <NUM>, and actuators <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>.

The base portion <NUM> is fixed to a floor or a pedestal having a linear motion mechanism, for example. The swivel portion <NUM> is provided on the base portion <NUM> and is rotatable about a vertical axis Ax1. That is, the articulated robot <NUM> includes a joint <NUM> that allows the swivel portion <NUM> to rotate about the axis Ax1.

The first arm <NUM> extends from the swivel portion <NUM> and is rotatable about an axis Ax2 that intersects (for example, orthogonally) the axis Ax1. That is, the articulated robot <NUM> includes a joint <NUM> that allows the first arm <NUM> to rotate about the axis Ax2. Note that "intersect" used herein includes in its meaning a twisted relationship such as in a so-called three-dimensional intersection. The same applies hereinafter.

The second arm <NUM> extends from a distal end portion of the first arm <NUM> and is rotatable about an axis Ax3 that intersects (for example, orthogonally) the axis Ax1. That is, the articulated robot <NUM> includes a joint <NUM> that allows the second arm <NUM> to rotate about the axis Ax3. The axis Ax3 may be parallel with the axis Ax2.

A distal end portion of the second arm <NUM> is rotatable about an axis Ax4 along the extension direction of the second arm <NUM>, the axis Ax4 intersecting (for example, orthogonally) the axis Ax3. That is, the articulated robot <NUM> includes a joint <NUM> that allows the distal end portion of the second arm <NUM> to rotate about the axis Ax4.

The wrist portion <NUM> extends from the distal end portion of the second arm <NUM> and is rotatable about an axis Ax5 that intersects (for example, orthogonally) the axis Ax4. That is, the articulated robot <NUM> includes a joint <NUM> that allows the wrist portion <NUM> to rotate about the axis Ax5.

The operation target member is provided at the distal end portion of the wrist portion <NUM>, and the member is rotatable about an axis Ax6 along the extension direction of the wrist portion <NUM>, the axis Ax6 intersecting (for example, orthogonally) the axis Ax5. That is, the articulated robot <NUM> includes a joint <NUM> that allows the operation target member to rotate about the axis Ax6. The operation target member is a discharge unit <NUM> (described later) that functions as a gun for discharging the coating material.

The actuators <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> drive the joints <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, respectively. For example, the actuator <NUM> rotates the swivel portion <NUM> about the axis Ax1, the actuator <NUM> rotates the first arm <NUM> about the axis Ax2, and the actuator <NUM> rotates the second arm <NUM> about the axis Ax3. The actuator <NUM> rotates the distal end portion of the second arm <NUM> about the axis Ax4, the actuator <NUM> rotates the wrist portion <NUM> about the axis Ax5, and the actuator <NUM> rotates the operation target member about the axis Ax6.

Note that the articulated robot <NUM> can be configured in a discretionary manner as long as the position and the orientation of the operation target member can be changed within the desired range. For example, the articulated robot <NUM> may be a <NUM>-axis vertical articulated robot, which is the <NUM>-axis vertical articulated robot described above with a redundant axis.

The application device <NUM> is a device that cooperates with the articulated robot <NUM> to apply the coating material to the workpiece W. As illustrated in <FIG>, the application device <NUM> includes the discharge unit <NUM>, a pressure feeding unit <NUM>, and a supply unit <NUM>.

The discharge unit <NUM> discharges the coating material. The discharge unit <NUM> is provided at the distal end portion of the wrist portion <NUM> of the articulated robot <NUM>. In other words, the position and the orientation of the discharge unit <NUM> are changed by the operation of the articulated robot <NUM>. An outlet may be provided in an end surface <NUM> of the discharge unit <NUM>. When the position and the orientation of the discharge unit <NUM> are changed by the articulated robot <NUM>, the discharge position and the discharge direction of the coating material discharged from the outlet change.

The discharge unit <NUM> includes a discharge valve <NUM> (open/close valve). The discharge valve <NUM> switches a state of the discharge unit <NUM>, by an open/close operation, between a state in which the coating material is discharged from the discharge unit <NUM> (outlet) and a state in which the coating material is not discharged from the discharge unit <NUM>. The discharge valve <NUM> is, for example, an air operated valve, and an air tube for feeding air for the open/close operation is connected to the discharge valve <NUM>. The discharge valve <NUM> may have a function of outputting a signal indicating its open/closed state. Note that the discharge unit <NUM> may not include the discharge valve <NUM>. In this case, the open/close valve (for example, delivery valve 67a or 67b described below) located upstream of the discharge unit <NUM> may switch a state of the discharge unit <NUM> between a state in which the coating material is discharged from the discharge unit <NUM> and a state in which the coating material is not discharged from the discharge unit <NUM>.

The pressure feeding unit <NUM> pressure-feeds the coating material to the discharge unit <NUM>. The pressure feeding unit <NUM> includes pumps 51a, 51b, a liquid feeding pipe <NUM>, and the delivery valves 67a, 67b.

The pump 51a and the pump 51b have a similar configuration and a similar function. The pumps 51a, 51b each receive the coating material via a suction operation and deliver (pressure-feed) the coating material to be discharged to the workpiece W to the discharge unit <NUM>. The pumps 51a, 51b are, for example, servo booster pumps and include a storage portion 52a, 52b and an actuator 53a, 53b, respectively. The storage portions 52a, 52b each contain a coating material to be discharged. The actuators 53a, 53b each apply pressure to the coating material contained in the storage portions 52a, 52b via operation of pistons and deliver the coating material to the discharge unit <NUM>.

The liquid feeding pipe <NUM> guides the coating material from the pumps 51a, 51b to the discharge unit <NUM>. The upstream end portion of the liquid feeding pipe <NUM> is connected to both the pump 51a and the pump 51b, and the downstream end portion of the liquid feeding pipe <NUM> is connected to the discharge unit <NUM>. In other words, the pumps 51a, 51b both supply the coating material to the discharge unit <NUM> via the liquid feeding pipe <NUM>. The liquid feeding pipe <NUM> includes a delivery pipe <NUM> and branch pipes 56a, 56b. The delivery pipe <NUM> is connected to the discharge unit <NUM>, and the branch pipes 56a, 56b branch off from the delivery pipe <NUM> and are connected to the pumps 51a, 51b, respectively.

The delivery valve 67a opens and closes the path between the pump 51a and the discharge unit <NUM>. The delivery valve 67a is provided in the branch pipe 56a. The delivery valve 67b opens and closes the path between the pump 51b and the discharge unit <NUM>. The delivery valve 67b is provided in the branch pipe 56b. The delivery valves 67a, 67b are air operated valves, for example, and air tubes for feeding air for the open/close operation are connected to the delivery valves 67a, 67b, respectively. The delivery valves 67a, 67b may each have a function of outputting a signal indicating its open/closed state.

The supply unit <NUM> supplies the coating material to the pressure feeding unit <NUM>. In other words, the pumps 51a, 51b of the pressure feeding unit <NUM> deliver the coating material supplied (suctioned) from the supply unit <NUM> to the discharge unit <NUM>. The supply unit <NUM> includes a liquid source <NUM>, a supply pipe <NUM>, suction valves 68a, 68b, a return pipe <NUM>, and a circulation valve <NUM>.

The liquid source <NUM> is the supply source of the coating material. The supply pipe <NUM> connects the liquid source <NUM> and both the pumps 51a, 51b. Specifically, the supply pipe <NUM> includes a delivery pipe with one end connected to the liquid source <NUM> and two branch pipes that branch from the other end of the delivery pipe and respectively connect to the pumps 51a, 51b. The suction valve 68a opens and closes the path between the liquid source <NUM> and the pump 51a. The suction valve 68b opens and closes the path between the liquid source <NUM> and the pump 51b. The suction valves 68a, 68b are air operated valves, for example, and air tubes for feeding air for the open/close operation are connected to the suction valves 68a, 68b, respectively. The suction valves 68a, 68b may each have a function of outputting a signal indicating its open/closed state.

The return pipe <NUM> connects the delivery pipe <NUM> of the liquid feeding pipe <NUM> and the liquid source <NUM>. Accordingly, the coating material fed from the pumps 51a, 51b can be circulated back to the liquid source <NUM> without being sent to the discharge unit <NUM>. The circulation valve <NUM> is provided in the return pipe <NUM> and switches a state of the flow path in the return pipe <NUM> from a closed state in which the flow path is closed to an open state when the coating material is circulated back. The circulation valve <NUM> is an air operated valve, for example. The circulation valve <NUM> may have a function of outputting a signal indicating its open/closed state.

The application device <NUM> includes pressure sensors <NUM>, 62a, 62b. The pressure sensors <NUM>, 62a, 62b each measure the pressure of the coating material in the application device <NUM> (hereinafter, simply referred to as "pressure in the application device <NUM>") as an operating state of the application device <NUM>. The pressure sensors <NUM>, 62a, 62b measure the pressure at a plurality of sections in the application device <NUM>. The plurality of sections include at least two sections different in terms of position in the direction aligned with the liquid feeding pipe <NUM> (the branch pipe 56a and the delivery pipe <NUM>). Note that the direction aligned with the liquid feeding pipe <NUM> corresponds to the direction in which the liquid feeding pipe <NUM> extends and corresponds to the direction in which the coating material flows in the liquid feeding pipe <NUM>.

For example, the pressure sensor <NUM> is provided at a position near the discharge unit <NUM> in the liquid feeding pipe <NUM> (the delivery pipe <NUM>). The pressure sensor 62a is provided, for example, at a position near the pump 51a (between the pump 51a and the delivery valve 67a) in the liquid feeding pipe <NUM>. The pressure sensor 62b is provided, for example, at a position near the pump 51b (between the pump 51b and the delivery valve 67b) in the liquid feeding pipe <NUM>.

The application device <NUM> includes temperature sensors <NUM>, <NUM>. The temperature sensors <NUM>, <NUM> each measure the temperature of the coating material in the application device <NUM> (hereinafter, simply referred to as "temperature in the application device <NUM>") as an operating state of the application device <NUM>. The temperature sensors <NUM>, <NUM> measure the temperature at a plurality of sections in the application device <NUM>. The plurality of sections include at least two sections different in terms of position in the direction aligned with the liquid feeding pipe <NUM>. For example, the temperature sensor <NUM> is provided at a position near the discharge unit <NUM> in the liquid feeding pipe <NUM> (the delivery pipe <NUM>). The temperature sensor <NUM> is provided at a position closer to the pumps 51a, 51b than the discharge unit <NUM> in the liquid feeding pipe <NUM>.

The application device <NUM> includes a flow rate sensor <NUM>. The flow rate sensor <NUM> is provided, for example, in the delivery pipe <NUM> of the liquid feeding pipe <NUM>. The flow rate sensor <NUM> measures the flow rate of the coating material in the delivery pipe <NUM> as an operating state of the application device <NUM>. The flow rate sensor <NUM> measures the flow rate per unit time of the coating material in the delivery pipe <NUM> or the integrated flow rate of the coating material in the delivery pipe <NUM>.

Returning to <FIG>, the application system <NUM> includes an application state detection unit <NUM>. The application state detection unit <NUM> detects the state of the coating already applied to the workpiece W. The application state detection unit <NUM> includes a camera <NUM>, for example. The camera <NUM> can capture an image of the region of the workpiece W where the coating material is applied. The camera <NUM> outputs, to the control device <NUM>, image data obtained by capturing an image of the workpiece W on which the coating has been applied. The camera <NUM> may be fixed in a predetermined position, and the workpiece W may be imaged when the workpiece W is positioned within the field of view of the camera <NUM>.

The control device <NUM> controls the articulated robot <NUM> and the application device <NUM>. The control device <NUM> at least executes calculation of a control target value for controlling the application device <NUM> and the articulated robot <NUM> on the basis of information indicating the operating state of at least one of the application device <NUM> or the articulated robot <NUM> (hereinafter, referred to as "operating state information") and information indicating the target quality of the application of the coating material to the workpiece W (hereinafter, referred to as "target quality information") and executes control of the application device <NUM> and the articulated robot <NUM> in accordance with the calculated control target value.

The application system <NUM> may include an input device <NUM> and an output device <NUM> connected to the control device <NUM>. The input device <NUM> is a device for inputting information to the control device <NUM>. More specifically, the input device <NUM> inputs, to the control device <NUM>, input information indicating an instruction from an operator. The input device <NUM> can be any device as long as desired information can be input to the control device <NUM>. Specific examples thereof include a keyboard, an operation panel, and a mouse.

The output device <NUM> is a device for sending a notification of information output from the control device <NUM>. The output device <NUM> is, for example, a monitor that allows the operator to confirm the information from the control device <NUM>. The monitor can be any device as long as information can be displayed on a screen. A specific example thereof is a liquid crystal panel.

As a functional configuration (hereinafter, referred to as "functional modules") of the control device <NUM>, the control device <NUM> includes, for example, an operation control unit <NUM>, an operation information acquisition unit <NUM>, a target quality acquisition unit <NUM>, a quality acquisition unit <NUM>, a target value calculation unit <NUM>, a model holding unit <NUM>, a model building unit <NUM>, an abnormality detection unit <NUM>, and a notification unit <NUM>, as illustrated in <FIG>. The processing executed by these functional modules corresponds to the processing executed by the control device <NUM>.

The operation control unit <NUM> controls the application device <NUM> and the articulated robot <NUM> according to a control target value for controlling the application device <NUM> and the articulated robot <NUM>. The operation control unit <NUM> controls the application device <NUM> so that the coating material is discharged from the discharge unit <NUM> according to a control target value relating to the operation of the application device <NUM>. The operation control unit <NUM> controls the articulated robot <NUM> so that the coating material from the discharge unit <NUM> is applied to the workpiece W according to a control target value relating to the operation of the articulated robot <NUM>.

The operation control unit <NUM> may change the position and the orientation of the discharge unit <NUM> so that the position where the coating material discharged by the discharge unit <NUM> adheres to the workpiece W moves along a predetermined path. For example, the operation control unit <NUM> calculates, using inverse kinematics, target angles (command values) for the actuators <NUM> to <NUM> on the basis of the target position and the target orientation of the discharge unit <NUM>, and controls the actuators <NUM> to <NUM> so as to follow the target angles.

As illustrated in <FIG>, a plurality of application paths (paths P1 to P5) indicating paths of the coating adhesion positions are defined on the workpiece W. The operation control unit <NUM> controls the application device <NUM> so as to discharge the coating material from the discharge unit <NUM> while the position and the orientation of the discharge unit <NUM> is made to follow the target position and the target orientation according to each application path. In this manner, beads B1 to B5 (a plurality of beads) are formed on the workpiece W along the plurality of application paths.

The operation control unit <NUM> may control the application device <NUM> and the articulated robot <NUM> so that an application width BW and a thickness BT of the beads are substantially constant in each of the beads B1 to B5. The application width BW is, for example, the length (width) of the bead in a direction that is orthogonal to the application path and follows the surface of the workpiece W. The thickness BT is, for example, a length (thickness) of the bead in a direction orthogonal to both the application path and the surface of the workpiece W. The operation control unit <NUM> may control at least one of the pumps 51a, 51b so that the coating material is discharged at a substantially constant flow rate, or may control the actuators <NUM> to <NUM> so that the movement speed of the discharge unit <NUM> relative to the workpiece W is substantially constant.

Examples of the control target value relating to the application device <NUM> include a command value for the rotational speed of the motor included in the actuators 53a, 53b, and the open/close timing of the discharge valve <NUM> (more specifically, the timing for sending the open/close command to the discharge valve <NUM>). The timing for sending the open/close command to the discharge valve <NUM> is, during application of the coating material on one application path, the timing at which an open command is sent to the discharge valve <NUM> and the timing at which a close command is sent to the discharge valve <NUM>.

Examples of the control target value relating to the articulated robot <NUM> include a command value for the operating speed of the articulated robot <NUM> and target angles for the actuators <NUM> to <NUM> according to the target position and the target orientation for the position and the orientation of the discharge unit <NUM>. Note that a target value for the distance between the workpiece W and the discharge unit <NUM> (outlet) is defined on the basis of the target position and the target orientation. When the application system <NUM> begins to run, the control target value may be set to an initial value. The initial value of the control target value may be predetermined on the basis of input information from the operator.

The operation information acquisition unit <NUM> acquires operating state information indicating the operating state of at least one of the application device <NUM> or the articulated robot <NUM>. The operation information acquisition unit <NUM> acquires the operating state information from at least the application device <NUM> or the articulated robot <NUM> during the application of the coating material to the workpiece W, for example. The operation information acquisition unit <NUM> may acquire operating state information including information indicating the operating state of the application device <NUM> and information indicating the operating state of the articulated robot <NUM>. The operation information acquisition unit <NUM> acquires information indicating the operating state of the application device <NUM> from the application device <NUM> at a predetermined period, for example. The operation information acquisition unit <NUM> acquires information indicating the operating state of the articulated robot <NUM> from the articulated robot <NUM> at a predetermined period, for example.

Examples of the operating state information relating to the application device <NUM> include information relating to the coating material in the flow path of the delivery pipe <NUM> connected to the discharge unit <NUM>, information indicating the operating state of the discharge valve <NUM>, and information indicating the operating state of the pumps 51a, 51b that pressure-feed the coating material to the discharge unit <NUM>. The information relating to the coating material in the flow path of the delivery pipe <NUM> may include information indicating the flow rate of the coating material in the flow path, information indicating the pressure of the coating material in the flow path, and information indicating the temperature of the coating material in the flow path. In one example, the information relating to the coating material in the flow path of the delivery pipe <NUM> is obtained from the measurement result from the pressure sensors <NUM>, 62a, 62b, the measurement result from the temperature sensors <NUM>, <NUM>, and the measurement result from the flow rate sensor <NUM>.

An example of the information indicating the operating state of the discharge valve <NUM> includes information indicating the timing from when the discharge valve <NUM> receives the open/close command to when the open/closed state actually changes, for example. This timing may be calculated on the basis of a signal indicating the open/closed state from the discharge valve <NUM>. An example of information indicating the operating state of the pumps 51a, 51b includes the actual rotational speed of the actuators 53a, 53b included in the pumps 51a, 51b. In one example, the actual rotational speeds of the actuators 53a, 53b are obtained from rotation sensors included in the actuators 53a, 53b, respectively.

An example of the information indicating the operating state of the articulated robot <NUM> includes information indicating the operating state of the actuators <NUM> to <NUM> included in the articulated robot <NUM>, for example. The information indicating the operating state of the actuators <NUM> to <NUM> includes information indicating the actual rotational speed and the actual angle of rotation of the actuators <NUM> to <NUM>. Using the rotational speed and the angle of rotation, the actual position and orientation of the discharge unit <NUM> (the actual distance between the discharge unit <NUM> and the workpiece W) and the actual operating speed of the discharge unit <NUM> can be calculated. In one example, the actual rotational speed and the actual angle of rotation of the actuators <NUM> to <NUM> are obtained from a measurement result from a rotation sensor included in each of the actuators <NUM> to <NUM>. Note that the position, orientation, and operating speed of the discharge unit <NUM> depends on the operation of the articulated robot <NUM> and thus indicates the operating state of the articulated robot <NUM>.

The target quality acquisition unit <NUM> acquires target quality information indicating a target for the application quality of the coating to the workpiece W. The application quality includes, for example, at least the application width of the coating material on the workpiece W or the thickness of the coating material on the workpiece W. The target quality information may include a target value for the application width BW of the coating (bead) on the workpiece W and a target value for the thickness BT of the coating (bead) on the workpiece W (see also <FIG>).

The quality acquisition unit <NUM> acquires information indicating performance relating to the application quality of the coating to the workpiece W (hereinafter, referred to as "performance quality information") from the detection result obtained by the application state detection unit <NUM>. For example, the quality acquisition unit <NUM> may acquire, as performance quality information, at least one of a performance value for the application width BW of the bead already formed on the workpiece W or a performance value for the thickness BT of the bead already formed on the workpiece W.

The quality acquisition unit <NUM> may acquire the performance value for the application width BW of the bead and the performance value for the thickness BT of the bead from image data obtained by the camera <NUM> capturing an image of the workpiece W with the coating already applied. The quality acquisition unit <NUM> may acquire the performance value for the application width BW or the thickness BT at a plurality of sections in a single application path or may acquire the average value of the application width BW and the average value of the thickness BT as performance values in a single bead (application path).

The target value calculation unit <NUM> calculates a control target value for which the operation control unit <NUM> has set the conditions of operation for when the application device <NUM> and the articulated robot <NUM> are controlled. The initial value of the control target value described above is set, for example, assuming that the surrounding environment or the like is a reference state and, when the coating is actually applied, a difference may occur between the target application quality (for example, the target value for the application width BW) and the actual application quality (for example, the performance value for the application width BW). In this manner, the target value calculation unit <NUM> calculates the control target value so as to reduce this difference. When the target value calculation unit <NUM> calculates the control target value, the operation control unit <NUM> updates the currently set control target value (for example, the initial value) with the control target value calculated by the target value calculation unit <NUM>. Then, the operation control unit <NUM> controls the application device <NUM> and the articulated robot <NUM> according to the updated (calculated) control target value.

The target value calculation unit <NUM> calculates the control target value on the basis of the operating state information and the target quality information. For example, the target value calculation unit <NUM> calculates the control target value so that the difference between the target quality information and the performance quality information is reduced on the basis of the operating state information and the target quality information. The target value calculation unit <NUM> may calculate the control target value on the basis of the operating state information, the target quality information, and the performance quality information (for example, the performance quality information acquired by the quality acquisition unit <NUM>). In one example, the target value calculation unit <NUM> calculates the control target value using an estimation model configured to output the amount of change of the control target value in response to input of the operating state information and the difference between the target quality information and the performance quality information. The estimation model is held (stored) in the model holding unit <NUM>.

The target value calculation unit <NUM> may calculate the control target value in a case where a deviation level (hereinafter, referred to as "quality deviation level") between the target quality indicated by the target quality information and the performance quality indicated by the performance quality information exceeds a predetermined level. That is, when the quality deviation level between the target quality and the performance quality exceeds a predetermined level, the control target value may be updated (adjusted). The target value calculation unit <NUM> may compare the quality deviation level and the predetermined level described above each time the coating material is applied to one application path. The predetermined level is, for example, preset in consideration of the tolerance in the application quality.

One plausible cause for the deviation between target quality and performance quality is a change in the environment (external environment) in which the articulated robot <NUM> and the application device <NUM> operate. For example, when the temperature around the area where the articulated robot <NUM> and the application device <NUM> are installed changes, the temperature of the coating material in the application device <NUM> changes from the value (reference value) at the reference state taking into account in the setting of the initial value of the control target value. In this case, the viscosity of the coating material changes, so even if the application device <NUM> is operated using the same control target value, the adhesion behavior of the coating material discharged from the discharge unit <NUM> on the workpiece W changes. As a result, the application width BW or the thickness BT of the coating, i.e., the application quality, is affected. The target value calculation unit <NUM> uses the above-described estimation model to calculate the control target value so that the performance quality obtained is close to the target quality, even when the temperature of the coating material changes.

In addition to the change in the external environment, one plausible cause for the deviation between the target quality and the performance quality is a change (deviation from the reference value) in the actual operation with respect to the control target value. The change in the actual operation of the device with respect to the control target value is detected by comparing the operating state information and the reference value. For example, when the timing from when the discharge valve <NUM> receives an open command until when the discharge valve <NUM> actually opens is slower than the reference value, the pressure inside the liquid feeding pipe <NUM> at the discharge start time (immediately before) increases, and the coating in the bead formed in one application path may be thick at the lead portion. In other words, the delay in the timing affects the application width BW, which is a type of application quality.

The target value calculation unit <NUM> uses the above-described estimation model to calculate the control target value so that the performance quality obtained is close to the target quality, even when the actual opening timing changes. The reference value may be set to a statistical value of the operating state information instead of the value in the reference state. For example, the reference value for the open/close operation of the discharge valve <NUM> may be set to the cumulative average value of the times until the discharge valve <NUM> actually opens.

Another example of a cause for the deviation between the target quality and the performance quality includes the difference between the standard specifications (for example, dimensions) of each device included in the application system <NUM> taken into account when setting the initial value of the control target value and the specifications (for example, dimensions) of each device actually in operation. For example, the same type of application system <NUM> may be used in different use environments (may have different installation positions in the factory or be in different factories). In this case, it can be expected that the dimensions of each device (for example, the length of the liquid feeding pipe <NUM>) differ depending on the use environment.

There is a plausible correlation between the performance quality of the coating and the operating state information obtained during the discharge of the coating material to the workpiece W. Accordingly, the target value calculation unit <NUM> may calculate the control target value in a case where the deviation level between the operating state information acquired by the operation information acquisition unit <NUM> and the reference value (hereinafter, referred to as "operation deviation level") exceeds a predetermined set level. In a case where the operating state information includes information indicating a plurality of operating states, reference values corresponding to each of the plurality of operating states are set. Then, the target value calculation unit <NUM> compares, for each of the plurality of operating states, the operation deviation level between the information indicating the operating state and the corresponding reference value and the set level.

The set level is set in advance taking into account, for example, the amount of deviation from a reference value estimated to exceed the tolerance in the application quality. In one example, in a case where the actual opening timing of the discharge valve <NUM> has deviated, the target value calculation unit <NUM> may use the estimation model described above to adjust the timing at which the open command is sent to the discharge valve <NUM> so that the actual opening timing is brought closer to the reference value (so that the deviation level with the reference value is reduced).

The model building unit <NUM> builds the estimation model used by the target value calculation unit <NUM> to calculate the control target value. The model building unit <NUM> builds an estimation model that represents the relationship between the control target value, and the target quality information, the performance quality information, and the operating state information. In the estimation model, the relationship between the control target value itself or the amount of change of the control target value may be represented for the target quality information, the performance quality information, and the operating state information. The model building unit <NUM> builds, for example, an estimation model that outputs a (recommended value for the) control target value in response to input of the target quality information, the performance quality information, and the operating state information from the accumulated performance data of various pieces of information. Alternatively, the model building unit <NUM> may build an estimation model that outputs an amount of change of the control target value (a recommended amount of change from the currently set control target value) in response to input of the operating state information and the difference between the target quality information and the performance quality information from the accumulated performance data of various pieces of information. An example of a build of the estimation model will be described below.

The model building unit <NUM> accumulates operating state information, control target values, and performance quality information based on the operating state information and the control target values. The model building unit <NUM> changes the control target value within a predetermined range and stores the operating state information and the control target value at the time of the change and the performance quality information in association with each other. At this time, the model building unit <NUM> may store the amount of change of the control target value and the amount of change of the performance quality information based on the amount of change of the control target value for a single piece of operating state information. In other words, in a case where the articulated robot <NUM> and the application device <NUM> are operating in a specific operating state, the model building unit <NUM> may execute an accumulation process in which the amount of change of the control target value and the amount of change of the performance quality information are associated with one another and stored. The model building unit <NUM> may iterate the accumulation processing for various pieces of operating state information in which the values for any of the operating states differ.

The model building unit <NUM> may build the estimation model by machine learning on the basis of the accumulated data obtained by iteration of the accumulation processing and association of the amount of change of the control target value and the amount of change of the performance quality information with one another. The estimation model is configured to represent the relationship between the amount of change of the control target value and the amount of change of the performance quality information and the operating state information. Specifically, when the amount of change of the performance quality information (the difference between the current performance quality and the target quality) and the operating state information (the current operating state information) are input, the estimation model is configured to, on the basis of these input values, output an amount of change of the control target value that reduces the difference between the current performance quality and the target quality.

As an example of the estimation model, a neural network may be used in which the amount of change of the performance quality information and the operating state information are input vectors, and the amount of change of the control target value is an output vector. The neural network includes an input layer, one or more intermediate layers, and an output layer. The input layer outputs the input vector directly to the next intermediate layer. The intermediate layer converts input from one previous layer using an activation function and outputs the result to the next layer. The output layer converts the input from the intermediate layer furthest from the input layer using an activation function and outputs the conversion result.

The abnormality detection unit <NUM> detects an abnormality in the operation of the application device <NUM> or the articulated robot <NUM> on the basis of the result of comparing the operation deviation level described above between the operating state information and the reference value and a predetermined operation tolerance level (tolerance level). The abnormality detection unit <NUM> may determine that an abnormality has occurred in the application device <NUM> or the articulated robot <NUM> in a case where the operation deviation level exceeds the operation tolerance level. The tolerance level is preset to a value greater than the set level described above. The tolerance level is set, for example, to a level for determining that the deviation between the operating state and the reference value is to a degree that cannot be adjusted by correction of the control target value.

In a case where the operating state information includes information indicating a plurality of operating states, the abnormality detection unit <NUM> may detect an abnormality for each one of the plurality of operating states included in the operating state information. The abnormality detection unit <NUM> may determine whether there is an abnormality at a predetermined period, or may determine whether there is an abnormality each time a bead is formed on an application path. The abnormality detection unit <NUM> determines that an abnormality has occurred in the application device <NUM> in a case where the operation deviation level between the operating state information and the reference value relating to the application device <NUM> exceeds the tolerance level. The abnormality detection unit <NUM> determines that an abnormality has occurred in the articulated robot <NUM> in a case where the operation deviation level between the operating state information and the reference value relating to the articulated robot <NUM> exceeds the tolerance level.

The notification unit <NUM> sends a notification of the detection result obtained by the abnormality detection unit <NUM>. For example, in a case where the abnormality detection unit <NUM> detects an abnormality, the notification unit <NUM> outputs a signal indicating that an abnormality has occurred to the output device <NUM>. The notification unit <NUM> may further output a signal indicating which one of the application device <NUM> and the articulated robot <NUM> an abnormality occurred in to the output device <NUM>. Upon receiving a signal indicating that an abnormality has occurred, the output device <NUM> may display information according to the signal.

<FIG> is a block diagram illustrating an example of the hardware configuration of the control device <NUM>. As illustrated in <FIG>, the control device <NUM> includes a circuit <NUM>. The circuit <NUM> includes one or more processors <NUM>, a memory <NUM>, a storage <NUM>, a driver (driver circuit) <NUM>, and an I/O port <NUM>. The storage <NUM> includes a computer-readable storage medium such as a non-volatile semiconductor memory.

The storage <NUM> stores a program for causing the control device <NUM> to execute calculation of a control target value on the basis of the operating state information indicating the operating state of at least one of the application device <NUM> or the articulated robot <NUM> and the target quality information indicating the target of the application quality of the coating to the workpiece W, and to execute control of the application device <NUM> and the articulated robot <NUM> in accordance with the calculated control target value. For example, the storage <NUM> stores a program that configures each of the functional modules described above in the control device <NUM>.

The memory <NUM> temporarily stores programs loaded from the storage medium of the storage <NUM> and calculation results from the processor <NUM>. The processor <NUM> implements each functional module of the control device <NUM> by executing the programs described above in cooperation with the memory <NUM>. The driver <NUM> outputs drive power to the actuators <NUM> to <NUM> of the articulated robot <NUM> in accordance with commands from the processor <NUM>. At the I/O port <NUM>, information is transferred between the actuators <NUM> to <NUM>, the discharge valve <NUM>, the actuators 53a, 53b, the pressure sensors <NUM>, 62a, 62b, the temperature sensors <NUM>, <NUM>, the flow rate sensor <NUM>, the input device <NUM>, and the output device <NUM>, in accordance with commands from the processor <NUM>.

Note that in the circuit <NUM>, each function is not limited to being implemented by a program. For example, in the circuit <NUM>, at least one function may be implemented by a dedicated logic circuit or an application specific integrated circuit (ASIC) in which logic circuits are integrated.

Next, an example of a control method executed using the application system <NUM> will be described with reference to <FIG> is a flowchart illustrating a control process executed by the control device <NUM> after the model building unit <NUM> has built the estimation model.

In this control process, the control device <NUM> first executes steps S01 and S02. In step S01, for example, the target quality acquisition unit <NUM> acquires target quality information indicating the target of the application quality. The target quality acquisition unit <NUM> may acquire the target quality information from information input by an operator via the input device <NUM>. In step S02, for example, the control device <NUM> sets the control target value for controlling the application device <NUM> and the articulated robot <NUM> to an initial value. The control device <NUM> may store the initial value of the control target value in advance.

Next, the control device <NUM> executes step S03. In step S03, for example, the operation control unit <NUM> causes a coating material to be discharged to one application path in accordance with the control target value set to the initial value. In this manner, one bead is formed on the workpiece W. In step S03, while discharge of the coating material to the workpiece W is being executed, the operation information acquisition unit <NUM> acquires operating state information indicating the state of the operation of the application device <NUM> and the articulated robot <NUM> from the application device <NUM> and the articulated robot <NUM>. The operation information acquisition unit <NUM> may acquire the operating state information at a predetermined period during the execution of the discharge of the coating material.

Next, the control device <NUM> executes step S04. In step S04, for example, the quality acquisition unit <NUM> acquires performance quality information indicating the performance of the application quality of the coating on the workpiece W for the coating applied in step S03 from the detection result obtained by the application state detection unit <NUM>. The quality acquisition unit <NUM> may acquire the application width BW and the thickness BT of the bead formed in step S03 from image data obtained by capturing an image of an area including the bead formed in step S03 on the workpiece W via the camera <NUM>. The quality acquisition unit <NUM> may acquire the application width BW and the thickness BT at a plurality of sections of the application path (in the extension direction of the bead).

Next, the control device <NUM> executes step S05. In step S05, for example, the target value calculation unit <NUM> determines whether adjustment of the control target value is necessary. For example, the target value calculation unit <NUM> determines whether the quality deviation level between the performance quality information obtained in step S04 and the target quality information obtained in step S01 exceeds a predetermined level. The target value calculation unit <NUM> may compare the quality deviation level and the predetermined level for each of the plurality of sections of the application path, or may compare the average value of the performance quality information for the plurality of sections of the application path and the predetermined level.

Instead of the deviation between the performance quality and the target quality, the target value calculation unit <NUM> may determine whether the operation deviation level between the operating state information obtained in step S03 and the reference value exceeds the set level described above. The target value calculation unit <NUM> determines that adjustment of the control target value is necessary in a case where the quality deviation level exceeds the predetermined level or in a case where the operation deviation level for any operating state information exceeds the set level. On the other hand, the target value calculation unit <NUM> determines that adjustment of the control target value is unnecessary in a case where the quality deviation level is equal to or less than the predetermined level or in a case where the operation deviation level for any operating state information is equal to or less than the set level.

In a case where it is determined in step S05 that adjustment of the control target value is necessary (YES in step S05), the control device <NUM> executes step S06. In step S06, for example, the target value calculation unit <NUM> uses the estimation model described above to calculate an adjustment width of the control target value on the basis of the current state and the target quality information. This adjustment width corresponds to the amount that, in the current state, the control target value needs to be adjusted to achieve the target quality state. The current state includes the current operating state information obtained in step S03 and the current performance quality information obtained in step S04. The target value calculation unit <NUM> calculates a new control target value by adding the calculated adjustment width of the control target value to the current control target value (for example, the initial value of the control target value).

On the other hand, in a case where it is determined in step S05 that adjustment of the control target value is unnecessary (NO in step S05), the control device <NUM> does not execute step S06. Next, the control device <NUM> executes step S07. In step S07, for example, the control device <NUM> determines whether the application for all of the application paths (for example, all application paths set for a plurality of workpieces W) is complete.

In step S07, in a case where it is determined that application for all of the application paths is not complete (NO in step S07), then the processing by the control device <NUM> returns to step S03. In this case, the control device <NUM> re-executes the processing in steps S03 to S05 (S06). In the application to the next application path in step S03, the operation control unit <NUM> controls the application device <NUM> and the articulated robot <NUM> to discharge the coating material to the application path that is the target for application, according to the control target value calculated after execution of the previous application path. In step S07, in a case where it is determined that application for all of the application paths is complete (YES in step S07), the series of processing by the control device <NUM> ends.

The series of processing described above is an example and can be changed as appropriate. In the series of processing described above, the control device <NUM> may execute one step and the next step in parallel, or may execute each of the steps in a different order to that in the example described above. The control device <NUM> may omit any step or may execute processing in any of the steps different from that in the example described above.

The control device <NUM> may detect an abnormality in the operation of the application device <NUM> and the articulated robot <NUM> in conjunction with the execution of step S05 or at predetermined periods during the execution of step S03. For example, for each of the plurality of operating states included in the operating state information, the abnormality detection unit <NUM> of the control device <NUM> detects that an abnormality has occurred in either the application device <NUM> or the articulated robot <NUM> in a case where the operation deviation level between the operating state and the reference value exceeds the operation tolerance level described above. The abnormality detection unit <NUM> may determine that the application device <NUM> and the articulated robot <NUM> are operating normally in a case where the operation deviation level is equal to or less than the operation tolerance level.

In the example described above, the performance quality information is obtained from the detection result obtained by the application state detection unit <NUM>. However, the performance quality information may be estimated on the basis of the operating state information. The operating state of the articulated robot <NUM> obtained from the articulated robot <NUM> and the operating state of the application device <NUM> obtained from the application device <NUM> affect the application quality (for example, the application width BW and the thickness BT of the bead) of the coating applied on the workpiece W. Thus, the application quality can be estimated from the operating state information. For example, the control device <NUM> includes a quality estimation unit <NUM> as illustrated in <FIG>. In this case, the application system <NUM> may not include the application state detection unit <NUM>.

The quality estimation unit <NUM> estimates the application quality on the basis of the operating state information acquired by the operation information acquisition unit <NUM>. Hereinafter, information indicating the application quality estimated by the quality estimation unit <NUM> is also referred to as "performance quality information". The target value calculation unit <NUM> may calculate the control target value on the basis of the operating state information, the target quality information, and the performance quality information estimated by the quality estimation unit <NUM>. For example, the target value calculation unit <NUM> may determine the adjustment amount of the control target value from the amount of change (output value) of the control target value obtained by inputting the difference between the performance quality information estimated by the quality estimation unit <NUM> and the target quality information into the estimation model described above.

Even in a case where the control device <NUM> includes the quality estimation unit <NUM>, the control device <NUM> may execute a series of processing in a similar order to the flowchart illustrated in <FIG>. In this case, in step S04, the quality estimation unit <NUM> may estimate the quality information of the coating applied to the application path on the basis of the operating state information obtained in step S03 (the operating state information obtained during the discharge of the coating material to the application path). When step S06 is executed, the target value calculation unit <NUM> may calculate (adjust) the control target value using the estimation model based on the difference between the performance quality information estimated in step S04 and the target quality obtained in step S01 and the operating state information obtained in step S03.

The model building unit <NUM> of the control device <NUM> may build an estimation model for estimating the performance quality information. The model building unit <NUM> stores the operating state information and information indicating the application quality based on the operating state information (for example, application quality obtained via a camera or the like). The model building unit <NUM> builds an estimation model that outputs the performance quality information in response to input of the operating state information on the basis of the accumulated data in which the operating state information and the information indicating the application quality are associated with one another and stored.

Instead of the estimation model for estimating the adjustment amount (amount to be adjusted) of the control target value and the estimation model for estimating the performance quality information from the operating state information, one estimation model may be built. For example, the target value calculation unit <NUM> may calculate (adjust) the control target value using another estimation model configured to represent a relationship between the current operating state information and the target quality information and the amount of change of the control target value.

The application state detection unit <NUM> may detect the state of the coating (bead) on the workpiece W using a laser beam instead of the camera. In this case, the quality acquisition unit <NUM> may acquire the application width BW of the bead or the like from the measurement result obtained from the light receiving state of the laser beam. The application device <NUM> may include one pump instead of two pumps (the pumps 51a, 51b).

The application system <NUM> according to the embodiment described above includes the application device <NUM> configured to discharge the coating material from the discharge unit <NUM>, the articulated robot <NUM> configured to change the position and the orientation of the discharge unit <NUM> such that the coating material from the discharge unit <NUM> is applied to the workpiece W, and the control device <NUM> configured to control the application device <NUM> and the articulated robot <NUM>. The control device <NUM> includes the target value calculation unit <NUM> configured to calculate the control target value for controlling the application device <NUM> and the articulated robot <NUM> on the basis of the operating state information indicating the operating state of at least one of the application device <NUM> or the articulated robot <NUM> and the target quality information indicating a target for application quality of the coating to the workpiece W and the operation control unit <NUM> configured to control the application device <NUM> and the articulated robot <NUM> according to the control target value calculated by the target value calculation unit <NUM>.

The control target value for obtaining the target quality changes depending on the operating state of at least one of the application device <NUM> or the articulated robot <NUM>. In the application system <NUM>, the control target value is calculated on the basis of information indicating the operating state and information indicating the target quality, and thus control is executed on the application device <NUM> and the articulated robot <NUM> using a control target value for obtaining a quality that is closer to the target quality. This is useful in that the quality of the coating applied to the workpiece W is stabilized.

In the application system <NUM> according to the embodiment described above, the target value calculation unit <NUM> may calculate the control target value further on the basis of the performance quality information indicating performance of the application quality of the coating to the workpiece W. In this case, the control target value can be calculated taking into account the difference between the current coating application quality and the target quality. This is useful in calculating the control target value with high accuracy.

In the application system <NUM> according to the embodiment described above, the target value calculation unit <NUM> may calculate the control target value using an estimation model configured to represent a relationship between the control target value, and the target quality information, the performance quality information, and the operating state information. In this case, by using the target quality information, the performance quality information, and the operating state information in the estimation model, the control target value can be easily calculated. This is useful in simplifying the calculations performed by the control device <NUM>.

The application system <NUM> according to the embodiment described above may further include the quality estimation unit <NUM> configured to estimate the performance quality information on the basis of the operating state information. The target value calculation unit <NUM> may calculate the control target value on the basis of the operating state information, the target quality information, and the performance quality information estimated by the quality estimation unit <NUM>. In this case, the control target value can be adjusted without referencing the application result of the coating actually applied to the workpiece W. This is useful in simplifying the operation for adjusting the control target value.

In the application system <NUM> according to the embodiment described above, the quality estimation unit <NUM> may estimate the performance quality information based on the operating state information using an estimation model configured to output the performance quality information in response to input of the operating state information. In this case, when estimating the performance quality information, the estimated value of the performance quality information can be obtained by using the operating state information in the estimation model. This is useful in simplifying the calculations performed by the control device <NUM> when estimating the performance quality information from the operating state information.

The application system <NUM> according to the embodiment may further include the application state detection unit <NUM> configured to detect a state of the coating applied to the workpiece W and the quality acquisition unit <NUM> configured to acquire the performance quality information from a detection result obtained by the application state detection unit <NUM>. The target value calculation unit <NUM> may calculate the control target value on the basis of the operating state information, the target quality information, and the performance quality information acquired by the quality acquisition unit <NUM>. In this case, information indicating the application quality is obtained from the state of the coating actually applied to the workpiece W, so highly accurate performance quality information is obtained. This is useful in calculating the control target value with high accuracy.

In the application system <NUM> according to the embodiment described above, the operating state information may include information indicating at least one selected from the group consisting of a flow rate of the coating material in a flow path to the discharge unit <NUM>, a pressure of the coating material in the flow path, a temperature of the coating material in the flow path, an operating state of an open/close valve (the discharge valve <NUM>) provided in the flow path, an operating state of the pumps 51a, 51b configured to pressure-feed the coating material to the discharge unit <NUM>, and an operating state of the actuators <NUM> to <NUM> included in the articulated robot <NUM>. This information may vary, or differences may occur between the control target values indicating command values depending on external environmental factors. With the configuration described above, this variation or difference is taken into account when calculating the control target value. This is useful in adjusting the control target value with high accuracy. For example, the amount to adjust the control target value varies depending on the temperature of the coating material in the flow path to the discharge unit <NUM> (for example, depending on whether the temperature is <NUM> or <NUM>). In the application system <NUM> described above, the adjustment amount of the control target value is calculated in consideration of the temperature of the coating material, and thus, the control target value can be adjusted according to the current state of the device.

In the application system <NUM> according to the embodiment described above, the application quality of the coating to the workpiece W may include at least the application width BW of the coating on the workpiece W or the thickness BT of the coating on the workpiece W. In this case, the application width or thickness of the coating applied on the workpiece W can be brought close to the target value.

The application system <NUM> according to the embodiment described above may further include the operation information acquisition unit <NUM> configured to acquire the operating state information from at least the application device <NUM> or the articulated robot <NUM> during execution of application of the coating material to the workpiece W. The target value calculation unit <NUM> may calculate the control target value in a case where the deviation level between the operating state information acquired by the operation information acquisition unit <NUM> and the reference value exceeds a set level that is predetermined. It is plausible that the difference between the target quality and the performance quality increases when the operating state information deviates from the reference value. With the configuration described above, the control target value is calculated even in a case where the operating state information deviates from the reference value, so the difference between the target quality and the performance quality can be reduced. This is useful in that the quality of the coating applied to the workpiece W is stabilized.

Claim 1:
An application system (<NUM>), comprising:
an application device (<NUM>) configured to discharge a coating material from a discharge unit (<NUM>);
an articulated robot (<NUM>) configured to change a position and an orientation of the discharge unit (<NUM>) such that the coating material from the discharge unit (<NUM>) is applied to a workpiece (W); and
a control device (<NUM>) configured to control the application device (<NUM>) and the articulated robot (<NUM>), wherein
the control device (<NUM>) includes
an operation information acquisition unit (<NUM>) configured to acquire operating state information indicating an operating state from at least the application device (<NUM>) or the articulated robot (<NUM>) during execution of application of the coating to the workpiece (W),
a target value calculation unit (<NUM>) configured to calculate a control target value for controlling the application device (<NUM>) and the articulated robot (<NUM>) on the basis of the operating state information acquired by the operation information acquisition unit (<NUM>) and target quality information indicating a target for application quality of coating to the workpiece (W), and
an operation control unit (<NUM>) configured to control the application device (<NUM>) and the articulated robot (<NUM>) according to the control target value calculated by the target value calculation unit (<NUM>).