Control device and control program

文档序号:214432 发布日期:2021-11-05 浏览:38次 中文

阅读说明:本技术 控制装置及控制程序 (Control device and control program ) 是由 浪江正树 于 2020-03-06 设计创作,主要内容包括:控制装置包括:第一生成部,基于目标轨道,生成各控制周期中控制对象在平面上的第一指令位置;第一控制部,通过使用第一动态特性模型及第一指令位置的模型预测控制,生成第一操作量;第二生成部,生成各控制周期中控制对象在正交轴上的第二指令位置;以及第二控制部,通过使用第二动态特性模型及第二指令位置的模型预测控制,生成第二操作量。第二生成部基于表示对象物的表面形状的形状数据及第一指令位置,以控制对象与对象物的表面的距离为一定的方式生成第二指令位置。由此,控制对象精度良好地追随对象物的表面的形状。(The control device includes: a first generation unit that generates a first command position of the control target on the plane in each control cycle based on the target trajectory; a first control unit that generates a first manipulated variable by model prediction control using a first dynamic characteristic model and a first command position; a second generation unit that generates a second instruction position of the control target on the orthogonal axis in each control cycle; and a second control unit that generates a second operation amount by model prediction control using the second dynamic characteristic model and the second command position. The second generation unit generates a second command position such that the distance between the control object and the surface of the object is constant, based on the shape data indicating the surface shape of the object and the first command position. This allows the control target to accurately follow the shape of the surface of the target.)

1. A control device connected to a plurality of driving devices for changing a relative positional relationship between an object and a control object for performing a predetermined process on a surface of the object, and outputting an operation amount to the plurality of driving devices every control cycle,

the plurality of driving devices include: a first driving device for relatively moving the control object with respect to the object along a plane facing a surface of the object; and a second driving device for relatively moving the control object with respect to the object along an orthogonal axis orthogonal to the plane,

the control device includes:

a first generation unit configured to generate a first command position of the control target on the plane in each control cycle based on a target trajectory;

a first control unit that generates the first operation amount by model prediction control using a first dynamic characteristic model that represents a relationship between a first operation amount output to the first drive device and a position of the control target on the plane, and the first command position;

a second generation unit configured to generate a second command position of the control target on the orthogonal axis in each control cycle; and

a second control unit that generates the second operation amount by model prediction control using a second dynamic characteristic model representing a relationship between a second operation amount output to the second driving device and a position of the control target on the orthogonal axis and the second command position,

the second generation unit generates the second command position such that a distance between the control object and the surface of the object is constant, based on the shape data indicating the surface shape of the object and the first command position.

2. The control device according to claim 1,

the first driving device relatively moves the control object with respect to the object along a first axis on the plane,

the first commanded position represents a position on the first axis,

the first dynamic characteristics model represents a relationship of the first operation amount to a position of the control object on the first axis,

the shape data represents a position on the orthogonal axis of a perpendicular line that is perpendicular to the orthogonal axis from the point for each of a plurality of points on a line that is obtained by projecting the first axis onto the surface of the object,

the second generation part

Selecting two points, which sandwich a processing target point on the surface of the object to be the predetermined processing target when the control target is located at the first command position, from the plurality of points,

obtaining a position on the orthogonal axis of a foot of a perpendicular line that hangs down from the processing target point to the orthogonal axis by interpolation calculation using the positions of the two selected points on the orthogonal axis,

generating the second instruction position based on the position of the processing target point on the orthogonal axis.

3. The control device according to claim 1,

the first driving device relatively moves the control object with respect to the object along a first axis on the plane,

the first commanded position represents a position on the first axis,

the first dynamic characteristics model represents a relationship of the first operation amount to a position of the control object on the first axis,

the shape data represents a position on the orthogonal axis of a perpendicular line that is perpendicular to the orthogonal axis from the point for each of a plurality of points on a line that is obtained by projecting the first axis onto the surface of the object,

the second generation part

Selecting, from the plurality of points, a point closest to a processing target point on a surface of the object to be the predetermined processing target when the control target is located at the first command position,

generating the second instruction position based on the position of the selected point on the orthogonal axis.

4. The control device according to claim 1,

the first driving device relatively moves the control object with respect to the object along a first axis on the plane,

the first commanded position represents a position on the first axis,

the first dynamic characteristics model represents a relationship of the first operation amount to a position of the control object on the first axis,

the plurality of driving devices further include a third driving device for relatively moving the control object with respect to the object along a second axis on the plane different from the first axis,

the control device further includes:

a third generation unit configured to generate a third command position of the control target on the second axis in each control cycle based on the target trajectory; and

a third control unit that generates the third manipulated variable by model prediction control using a third dynamic characteristics model representing a relationship between a third manipulated variable output to the third drive device and a position of the control target on the second axis and the third command position,

the second generation unit generates the second instruction position based on the third instruction position in addition to the shape data and the first instruction position.

5. The control device according to claim 4,

the shape data represents, for each of a plurality of points on the surface of the object, a position on the orthogonal axis of a foot of a perpendicular line that is perpendicular from the point to the orthogonal axis,

the second generation part

Selecting at least three points around a processing target point located on the surface of the object to be processed when the control target is located at the first command position and the third command position from the plurality of points,

finding a position on the orthogonal axis of a foot of a perpendicular line that hangs down from the processing target point to the orthogonal axis by interpolation calculation using the positions of the selected at least three points on the orthogonal axis,

generating the second instruction position based on the position of the processing target point on the orthogonal axis.

6. A control program for realizing a control device that is connected to a plurality of drive devices for changing a relative positional relationship between an object and a control object for performing a predetermined process on a surface of the object, and that outputs an operation amount to the plurality of drive devices every control cycle,

the plurality of driving devices include: a first driving device for relatively moving the control object with respect to the object along a plane facing a surface of the object; and a second driving device for relatively moving the control object with respect to the object along an orthogonal axis orthogonal to the plane,

the control program causes a computer to include:

generating a first command position of the control object on the plane in each control cycle based on a target trajectory;

generating the first manipulated variable by model predictive control using a first dynamic characteristics model representing a relationship between a first manipulated variable output to the first drive device and a position of the control target on the plane, and the first command position;

generating a second command position of the control object on the orthogonal axis in each control cycle; and

generating the second manipulated variable by model predictive control using a second dynamic characteristics model representing a relationship between a second manipulated variable output to the second drive device and a position of the controlled object on the orthogonal axis and the second command position,

the step of generating the second instruction location comprises: and generating the second command position so that a distance between the control object and the surface of the object is constant, based on shape data indicating a surface shape of the object and the first command position.

Technical Field

The present technology relates to a control device and a control program.

Background

Japanese patent laid-open No. 2004-298697 (patent document 1) discloses a coating method in which a coating liquid discharge die is brought sufficiently close to a substrate to form a uniform coating film on the substrate even when the surface of the substrate has undulations. The coating method comprises the following steps: measuring the shape of the surface of the substrate before coating; and adjusting the distance between the coating liquid discharge die and the substrate based on the measurement result of the shape, and moving the coating liquid discharge die to follow the shape of the surface of the substrate.

Documents of the prior art

Patent document

Patent document 1: japanese patent laid-open No. 2004-298697

Disclosure of Invention

Problems to be solved by the invention

In patent document 1, while moving the coating liquid discharge die in a direction parallel to the substrate, the coating liquid discharge die is moved up and down so as to follow the shape of the surface of the substrate. Therefore, the mechanism for moving the coating liquid discharge die in the direction parallel to the substrate and the mechanism for moving the coating liquid discharge die up and down are controlled in association with each other.

When such two mechanisms are operated in association with each other, a difference in control response delay between the two mechanisms becomes a problem. However, in patent document 1, the difference in control response delay between the two mechanisms is not considered. When there is a difference in control response delay between the two mechanisms, it is not possible to make the die as the control target follow the shape of the surface of the substrate as the target object with good accuracy. In particular, when the undulation gradient of the surface of the object is large or the moving speed of the control object is high, it is not possible to accurately follow the shape of the surface of the object.

The present disclosure has been made in view of the above problems, and an object of the present disclosure is to provide a control device and a control program that can make a control target follow the shape of the surface of an object with high accuracy.

Means for solving the problems

According to an example of the present disclosure, a control device is connected to a plurality of driving devices for changing a relative positional relationship between an object and a control object for performing a predetermined process on a surface of the object, and outputs an operation amount to the plurality of driving devices every control cycle. The plurality of driving devices include: a first driving device for relatively moving the control object with respect to the object along a plane facing a surface of the object; and a second driving device for relatively moving the control object with respect to the object along an orthogonal axis orthogonal to the plane. The control device includes a first generation unit, a first control unit, a second generation unit, and a second control unit. The first generation unit generates a first command position of the control object on the plane in each control cycle based on the target trajectory. The first control unit generates a first manipulated variable by model prediction control using a first dynamic characteristic model representing a relationship between a first manipulated variable output to the first drive device and a position of the control target on the plane, and the first command position. The second generating unit generates a second command position of the control object on the orthogonal axis in each control cycle. The second control unit generates a second operation amount by model prediction control using a second dynamic characteristic model indicating a relationship between a second operation amount output to the second drive device and a position of the control target on the orthogonal axis and a second command position. The second generation unit generates a second command position such that the distance between the control object and the surface of the object is constant, based on the shape data indicating the surface shape of the object and the first command position.

According to this disclosure, the control object moves in accordance with the operation amount generated by the model predictive control. At this time, a second command position on the orthogonal axis in each control cycle is generated based on the shape data and the first command position. As a result, the control target can accurately follow the shape of the surface of the workpiece W.

In the above publication, the first driving device relatively moves the control object with respect to the object along the first axis on the plane. The first commanded position represents a position on the first axis. The first dynamic characteristics model represents a relationship between the first operation amount and a position of the control object on the first axis. The shape data represents a position on an orthogonal axis of a foot of a perpendicular line that is drawn from a point on a line that is obtained by projecting a first axis onto a surface of an object, for each of a plurality of points on the line. The second generating unit selects two points, which sandwich a processing target point on the surface of the object to be processed when the control target is located at the first command position, from the plurality of points. The second generating unit obtains a position on the orthogonal axis of a perpendicular line that hangs down from the processing target point to the orthogonal axis by interpolation calculation using the positions of the selected two points on the orthogonal axis, and generates the second command position based on the position of the processing target point on the orthogonal axis.

According to this disclosure, even when the data of the processing target point is not included in the shape data, the position of the foot of the perpendicular line that hangs from the processing target point to the orthogonal axis on the orthogonal axis can be obtained by interpolation calculation. Then, a second command position is generated based on the position on the orthogonal axis. Thus, the second command position corresponding to the first command position can be easily generated from the surface shape of the object.

In the above publication, the first driving device relatively moves the control object with respect to the object along the first axis on the plane. The first commanded position represents a position on the first axis. The first dynamic characteristics model represents a relationship between the first operation amount and a position of the control object on the first axis. The shape data represents a position on an orthogonal axis of a foot of a perpendicular line that is drawn from a point on a line that is obtained by projecting a first axis onto a surface of an object, for each of a plurality of points on the line. The second generating unit selects, from the plurality of points, a point closest to a processing target point on a surface of an object to be processed when the control target is located at the first command position, and generates the second command position based on a position of the selected point on the orthogonal axis.

According to this disclosure, the second instruction position is easily generated by reading out the data of the point closest to the processing target point from the shape data. As a result, the calculation load for generating the second instruction position can be suppressed.

In the above publication, the first driving device relatively moves the control object with respect to the object along the first axis on the plane. The first commanded position represents a position on the first axis. The first dynamic characteristics model represents a relationship between the first operation amount and a position of the control object on the first axis. The plurality of driving devices further include a third driving device for relatively moving the control object with respect to the object along a second axis on a plane different from the first axis. The control device further includes: a third generation unit configured to generate a third command position of the control target on the second axis in each control cycle, based on the target trajectory; and a third control unit that generates a third manipulated variable by model predictive control using a third dynamic characteristic model indicating a relationship between the third manipulated variable output to the third drive device and a position of the control target on the second axis and a third command position. The second generation unit generates the second command position based on the third command position in addition to the shape data and the first command position.

According to this disclosure, the control object can be moved to an arbitrary position on the plane facing the surface of the object in accordance with the first command position and the third command position. At this time, a second command position on the orthogonal axis in each control cycle is generated based on the shape data, the first command position, and the third command position. As a result, the control target can accurately follow the shape of the surface of the workpiece W.

In the above disclosure, the shape data represents, for each of a plurality of points on the surface of the object, a position on the orthogonal axis of a foot of a perpendicular line that hangs from the point to the orthogonal axis. The second generating unit selects at least three points around a processing target point on the surface of the target object to be processed when the control target is located at the first command position and the third command position, from among the plurality of points. The second generating unit obtains a position of a foot of a perpendicular line that hangs down from the processing target point to the orthogonal axis on the orthogonal axis by interpolation calculation using the positions of the selected at least three points on the orthogonal axis, and generates the second command position based on the position of the processing target point on the orthogonal axis.

According to this disclosure, the position of the foot of the perpendicular line that hangs down from the processing target point to the orthogonal axis on the orthogonal axis can be obtained by interpolation calculation. Then, a second command position is generated based on the position on the orthogonal axis. In this way, the second command position corresponding to the first command position and the third command position can be easily generated from the surface shape of the object.

According to an example of the present disclosure, a control program is a program for realizing a control device that is connected to a plurality of driving devices for changing a relative positional relationship between an object and a control object for performing a predetermined process on a surface of the object, and outputs an operation amount to the plurality of driving devices for each control cycle. The plurality of driving devices include: a first driving device for relatively moving the control object with respect to the object along a plane facing a surface of the object; and a second driving device for relatively moving the control object with respect to the object along an orthogonal axis orthogonal to the plane. The control program causes the computer to execute the first to fourth steps. The first step is a step of generating a first command position of the control object on the plane in each control cycle based on the target trajectory. The second step is a step of generating a first manipulated variable by model prediction control using a first dynamic characteristics model representing a relationship between the first manipulated variable output to the first drive device and the position of the control target on the plane and a first command position. The third step is a step of generating a second command position of the control object on the orthogonal axis in each control cycle. The fourth step is a step of generating a second manipulated variable by model predictive control using a second dynamic characteristic model indicating a relationship between the second manipulated variable output to the second drive device and the position of the controlled object on the orthogonal axis and a second command position. The third step includes a step of generating a second command position so that the distance between the control object and the surface of the object is constant, based on the shape data indicating the surface shape of the object and the first command position.

This disclosure also makes it possible to accurately follow the shape of the surface of the object to be controlled.

ADVANTAGEOUS EFFECTS OF INVENTION

According to the present disclosure, the control target can accurately follow the shape of the surface of the target.

Drawings

Fig. 1 is a schematic diagram showing a configuration example of a control system to which a control device according to the present embodiment is applied.

Fig. 2 is a diagram showing an example of movement of the coating device included in the control system shown in fig. 1.

Fig. 3 is a schematic diagram showing an example of the hardware configuration of the control device according to the present embodiment.

Fig. 4 is a schematic diagram showing an example of the functional configuration of the servo driver and the control device according to the present embodiment.

Fig. 5 is a diagram showing an example of the surface shape of the workpiece W.

Fig. 6 is a diagram showing an example of shape data of the surface of the workpiece W.

Fig. 7 is a diagram showing an example of temporal changes in command position SPX.

Fig. 8 is a diagram illustrating a method of generating the command position SPZ by interpolation calculation.

Fig. 9 is a diagram showing an example of time-series data of the command position SPX and the command position SPZ.

Fig. 10 is a diagram showing an example of a temporal change in the command position SPZ.

Fig. 11 is a flowchart showing a processing procedure of the control device according to the present embodiment.

Fig. 12 is a diagram showing the source code executed in step S2.

Fig. 13 is a diagram showing an example of a simulation result when the command position SPX shown in fig. 7 is supplied to the servo driver 200X as a command value.

Fig. 14 is a diagram showing an example of simulation results when the command position SPZ shown in fig. 10 is given as a command value to the servo driver 200Z.

Fig. 15 is a diagram showing an example of a simulation result when the manipulated variable MVX generated by the model predictive control using the command position SPX and the first dynamic characteristics model shown in fig. 6 is supplied to the servo driver 200X.

Fig. 16 is a diagram showing an example of a simulation result when the manipulated variable MVZ generated by the model predictive control using the command position SPZ and the second dynamic characteristics model shown in fig. 10 is supplied to the servo driver 200Z.

Fig. 17 is a diagram showing simulation results at X-axis positions of 50mm to 75mm in the movement trajectory of the coating head when the command positions shown in fig. 7 and 11 are supplied as command values to the servo drivers 200X and 200Z, respectively.

Fig. 18 is a diagram showing simulation results at X-axis positions 550mm to 575mm in the movement trajectory of the coating head when the command positions shown in fig. 7 and 11 are supplied as command values to the servo drivers 200X and 200Z, respectively.

Fig. 19 is a diagram showing simulation results at X-axis positions of 50mm to 75mm in the movement locus of the coating head when the manipulated variables MVX and MVZ generated by the model predictive control are supplied to the servo drivers 200X and 200Z, respectively.

Fig. 20 is a diagram showing simulation results at X-axis positions 550mm to 575mm in the movement trajectory of the coating head when the manipulated variables MVX and MVZ generated by the model predictive control are supplied to the servo drivers 200X and 200Z, respectively.

Fig. 21 is a schematic diagram showing an example of a functional configuration of a control system according to modification 3.

Fig. 22 is a diagram showing an example of shape data in modification 3.

Fig. 23 is a diagram for explaining a method of generating the command position SPZ in modification 3.

Detailed Description

Embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same or corresponding portions are denoted by the same reference numerals, and description thereof will not be repeated.

Application example § 1

First, an example of a scenario to which the present invention is applied will be described with reference to fig. 1 and 2. Fig. 1 is a schematic diagram showing a configuration example of a control system to which a control device according to the present embodiment is applied. Fig. 2 is a diagram showing a movement example of the coating device 300 included in the control system 1 shown in fig. 1.

The control system 1 of the example shown in fig. 1 is a system for applying a coating liquid to a surface of an object (hereinafter, referred to as "work W"), and includes a conveying device 2 for conveying the work W, a shape measuring sensor 3, a coating device 300, a plurality of servo drivers 200, and a control device 100. However, the control system is not limited to the example shown in fig. 1, and may be any system as long as it performs some kind of processing (for example, laser processing, imaging of an inspection image, and the like) on the surface of the workpiece W. When the surface of the workpiece W is laser-processed, a laser processing machine is included instead of the coating device 300, and when the surface of the workpiece W is imaged with the inspection image, an imaging device is included instead of the coating device 300. The workpiece W of the example shown in fig. 1 is a substrate.

Hereinafter, the thickness direction of the workpiece W is referred to as the Z-axis direction, and two axes orthogonal to the Z-axis are referred to as the X-axis and the Y-axis.

The conveying device 2 includes, for example, a conveyor belt on which the workpiece W is placed, and conveys the workpiece W in the order from the shape measurement sensor 3 to the coating device 300 by driving the conveyor belt. The conveying device 2 temporarily stops the conveyance of the workpiece W when the workpiece W is positioned below the shape measuring sensor 3 and the coating device 300. The conveying device 2 resumes the conveyance of the workpiece W after the shape measurement of the workpiece W by the shape measurement sensor 3 and the coating process of the workpiece W by the coating device 300 are completed.

The shape measurement sensor 3 is a sensor that measures the surface shape of the workpiece W, and includes, for example, a two-dimensional laser displacement sensor. The shape measurement sensor 3 measures the surface shape of each workpiece W, and transmits shape data obtained by the measurement to the control device 100. The shape measurement sensor 3 measures, for example, the position on the Z axis of the foot of a perpendicular line hanging from a plurality of points on the surface of the workpiece W to the Z axis. The plurality of points on the surface of the workpiece W are positioned at equal intervals on a line obtained by projecting the X axis along the Z axis onto the surface of the workpiece W, for example.

The coating apparatus 300 has a coating head 302, and applies the coating liquid from the coating head 302 to the surface of the work W. The coating apparatus 300 has a servomotor 304X for moving the coating head 302 along an X axis on an XY plane facing the surface of the workpiece W, and a servomotor 304Z for moving the coating head 302 along a Z axis orthogonal to the XY plane.

The plurality of servo drivers 200 are driving means for changing the relative positional relationship between the workpiece W and the coating head 302, and include servo drivers 200X and 200Z. The servo drivers 200X and 200Z are provided corresponding to the servo motors 304X and 304Z, respectively, and drive the corresponding servo motors. That is, the servo driver 200X drives the servo motor 304X to move the coating head 302 along the X axis on the XY plane facing the surface of the workpiece W. Thereby, the coating head 302 is relatively moved with respect to the workpiece W in the X-axis direction. The servo driver 200Z drives the servo motor 304Z to move the coating head 302 along the Z axis orthogonal to the XY plane. Thereby, the coating head 302 is relatively moved with respect to the workpiece W in the Z-axis direction.

The servo drivers 200X and 200Z generate drive signals for the corresponding servo motors based on command values (command positions or command speeds) from the control device 100 and feedback values from the corresponding servo motors. The servo drivers 200X and 200Z output the generated drive signals to the corresponding servo motors, thereby driving the corresponding servo motors.

For example, the servo drivers 200X, 200Z receive, as feedback values, output signals from encoders coupled to the rotary shafts of the corresponding servo motors. The position, rotational phase, rotational speed, integrated rotational speed, etc. of the servo motor can be detected by the feedback value.

The control device 100 is connected to the plurality of servo drivers 200, and controls the plurality of servo drivers 200. Specifically, the control device 100 outputs the operation amounts MVX and MVZ to the servo drivers 200X and 200Z, respectively, and performs movement control for moving the coating head 302. Data including the operation amount can be exchanged between the control device 100 and the servo drivers 200X and 200Z.

Fig. 1 shows an example of a configuration in which the control device 100 and the servo drivers 200X and 200Z are communicatively connected via a field bus. However, the present invention is not limited to this configuration example, and any communication mode may be adopted as long as the algorithm described below can be realized. For example, the control device 100 and the servo drivers 200X and 200X may be directly connected by a signal line.

The control device 100 generates the operation amounts MVX and MVZ to be output to the servo drivers 200X and 200Z by model predictive control for each control cycle. The control device 100 outputs the generated operation amounts MVX and MVZ to the servo drivers 200X and 200Z as command values (designated positions or command speeds), respectively.

The control device 100 generates a first command position of the coating head 302 on the X axis in each control cycle based on the target trajectory. The control device 100 generates the manipulated variable MVX to be output to the servo driver 200X by model predictive control using a first dynamic characteristic model indicating a relationship between the manipulated variable MVX and the position of the coating head 302 on the X axis and a first command position.

The control device 100 generates a second commanded position of the coating head 302 on the Z-axis for each control cycle. The control device 100 generates the operation amount MVZ to be output to the servo driver 200Z by model predictive control using the second dynamic characteristic model indicating the relationship between the operation amount MVZ and the position of the coating head 302 on the Z axis and the second command position.

The control device 100 generates the second command position so that the distance between the coating head 302 and the surface of the workpiece W is constant based on the shape data measured by the shape measurement sensor 3 and the first command position.

In this way, the control device 100 controls the movement of the coating head 302 by model predictive control. At this time, a second instruction position on the Z axis in each control cycle is generated based on the shape data. As a result, as shown in fig. 2, the coating head 302 can accurately follow the shape of the surface of the workpiece W.

Specific example 2

Next, a specific example of the control device 100 of the present embodiment will be described.

< A. example of hardware configuration of control device >

For example, the control device 100 according to the present embodiment may be implemented using a Programmable Logic Controller (PLC). The control device 100 may execute a control program (including a system program and a user program described below) stored in advance by a processor to realize a process described below.

Fig. 3 is a schematic diagram showing an example of the hardware configuration of the control device 100 according to the present embodiment. As shown in fig. 3, the control device 100 includes: a processor 102 such as a Central Processing Unit (CPU) or Micro-Processing Unit (MPU), a chipset 104, a main memory 106, a flash memory 108, an external network controller 116, a memory card interface 118, field bus controllers 122 and 124, an external network controller 116, and a memory card interface 118.

The processor 102 reads out the system program 110 and the user program 112 stored in the flash memory 108, and expands and executes them in the main memory 106, thereby realizing arbitrary control of the control object. The processor 102 executes the system program 110 and the user program 112 to output an operation amount to the servo driver 200, perform processing related to data communication via the field bus, and the like, which will be described later.

The system program 110 includes a command code for providing a basic function of the control apparatus 100 such as input/output processing of data or performing timing control. The user program 112 includes a sequence program 112A for performing sequence control and a motion program 112B for performing motion control, which are arbitrarily designed according to a control object. In the user program 112, the processing and the function according to the present embodiment are realized by defining function blocks. The functional blocks are components of a program executed by the control device 100, and mean that a program element (program element) used a plurality of times is modularized.

The chipset 104 controls each component to realize processing of the entire control apparatus 100.

The fieldbus controller 122 is an interface for exchanging data with various devices connected to the control device 100 via a fieldbus. As an example of such a device, a shape measurement sensor 3 is connected. The shape data received from the shape measurement sensor 3 through the fieldbus controller 122 is stored in a storage device such as the flash memory 108.

The fieldbus controller 124 is an interface for exchanging data with various devices connected to the control device 100 via a fieldbus. As an example of such a device, a servo driver 200 is connected.

The fieldbus controllers 122, 124 may provide any instructions to the connected devices and may obtain any data (including measurements) managed by the devices. The fieldbus controller 122 also functions as an interface for exchanging data with the shape measurement sensor 3. The fieldbus controller 124 also functions as an interface for exchanging data with the servo driver 200.

The external network controller 116 controls data exchange through various wired/wireless networks. The memory card interface 118 is configured to be able to attach and detach the memory card 120, and is able to write data to the memory card 120 and read data from the memory card 120.

Servo driver

Fig. 4 is a schematic diagram showing an example of the functional configuration of the servo driver and the control device according to the present embodiment. As shown in fig. 4, the servo drivers 200X and 200Z include subtractors 210X and 210Z and feedback control units 212X and 212Z, respectively.

The subtractor 210X receives the operation amount MVX from the control device 100 as a command value (command position or command speed), and receives an output signal from an encoder coupled to the servomotor 304X as a feedback value. Also, the subtractor 210Z receives the operation amount MVZ from the control device 100 as a command value (command position or command speed), and receives an output signal from an encoder coupled to the servomotor 304Z as a feedback value. Subtracters 210X and 210Y calculate the deviation between the received command value and the feedback value.

The feedback control units 212X and 212Z perform control calculations corresponding to the deviations output from the subtractors 210X and 210Z, respectively. The feedback control units 212X and 212Z perform control calculations in accordance with the position control loop and the speed control loop when the manipulated variable received from the control device 100 is the command position. The feedback control units 212X and 212Z execute control calculations in accordance with the speed control loop when the manipulated variable received from the control device 100 is the command speed.

In the control calculation according to the position control loop, a command speed corresponding to a positional deviation of a measured position of the servomotor obtained from the feedback value and a command position supplied from the control device 100 is calculated.

In the control operation according to the speed control loop, a torque value corresponding to a speed deviation from a measured speed of the servo motor obtained from a command speed and a feedback value is calculated. The feedback control units 212X and 212Z output current commands for generating torques of the calculated torque values to the servo motors.

< C. example of functional Structure of control device

As shown in fig. 4, the control device 100 includes: a storage unit 130, an X-axis command generation module 140, a Z-axis command generation module 150, and model prediction control modules 142 and 152. In the figure, the model Predictive control is referred to as "mpc (model Predictive control)".

The storage unit 130 includes the flash memory 108 and the main memory 106 shown in fig. 3, and stores shape data 132 of each workpiece W received from the shape measurement sensor 3.

The X-axis command generating module 140 generates a first command position (hereinafter, referred to as "command position SPX") of the coating head 302 on the X-axis in each control cycle, in accordance with a target trajectory that is prepared in advance. The X-axis command generating module 140 outputs the generated command position SPX to the model predictive control module 142 and the Z-axis command generating module 150.

The X-axis command generation module 140 generates time-series data of the command position SPX from the target track, and reads out the command position SPX for each control cycle from the time-series data. Alternatively, the control device 100 may store time-series data of the command position SPX that defines the target track in advance. In this case, the X-axis command generating module 140 may access the time-series data of the command position SPX stored in advance. In this way, the command position SPX for each control cycle may be calculated sequentially according to a predetermined calculation formula from the target trajectory, or may be stored in advance as time-series data.

The Z-axis command generating module 150 generates a second command position (hereinafter referred to as "command position SPZ") of the coating head 302 on the Z-axis in each control cycle, based on the shape data 132 and the command position SPX, such that the distance between the coating head 302 and the surface of the workpiece W is constant. A specific method of generating the command position SPZ will be described later.

The model predictive control module 142 generates the manipulated variable MVX to be output to the servo driver 200X by model predictive control using the first dynamic characteristic model indicating the relationship between the manipulated variable MVX and the position of the coating head 302 on the X axis and the command position SPX. The model predictive control module 142 generates the manipulated variable MVX in such a manner that the position of the coating head 302 on the X axis coincides with the command position SPX.

The model predictive control module 152 generates the manipulated variable MVZ to be output to the servo driver 200Z by model predictive control using the command position SPZ and a second dynamic characteristic model indicating the relationship between the manipulated variable MVZ and the position of the coating head 302 on the Z axis so that the position of the coating head 302 on the Z axis coincides with the command position SPZ.

The first dynamic characteristics model and the second dynamic characteristics model are created by tuning (tuning) in advance. A dynamic characteristic model is created based on the input value (operation amount) and the output value (measurement position of the coating head 302) obtained by the tuning.

The first and second dynamics models are composed of, for example, the following function P (z)-1) To indicate. Function P (z)-1) Is to make useless timeA discrete time transfer function of the combination of the elements and the n-order delay elements. In the context of the function P (z)-1) In the dynamic characteristic model, the dead time d of the dead time element and the variable a of the n-th order delay element are set1~anAnd a variable b1~bmAre determined as model parameters. The dead time is a time from when an input value is supplied until an output corresponding thereto appears (i.e., a delay time from input to output). In addition, the number n and the number m may be determined to be optimal values.

[ numerical formula 1]

The process of generating such model parameters (i.e., system identification) may be performed by a least squares method or the like.

Specifically, P (z) is defined as-1) The variable u of u provides a manner in which the output y at the manipulated variable MVX coincides with the measured position of the coating head 302 on the X axis (i.e., a manner in which the error becomes minimum), and determines the respective values of the model parameters that define the first dynamic characteristic model. Similarly, let P (z) be equal to y-1) The variable u of u provides a manner in which the output y at the manipulated variable MVZ coincides with the measurement position of the coating head 302 on the Z axis (i.e., a manner in which the error becomes minimum), and determines the respective values of the model parameters that define the second dynamic characteristic model.

Further, in the case where the vibration of the coating head 302 is negligibly small, the position of the coating head 302 on the X axis and the position of the servo motor 304X are in a one-to-one relationship. Therefore, a dynamic characteristics model representing the relationship between the manipulated variable MVZ and the position of the servomotor 304X may be used as the first dynamic characteristics model. Similarly, in the case where the vibration of the coating head 302 is negligibly small, the position of the coating head 302 on the Z axis and the position of the servo motor 304Z have a one-to-one relationship. Therefore, a dynamic characteristics model representing the relationship between the operation amount MVZ and the position of the servomotor 304Z may also be used as the second dynamic characteristics model.

The model predictive control is a control for generating an operation amount so that the position of a control target (here, the coating head 302) in the prediction view coincides with a target trajectory. For example, a change amount of a control target required to match a position of the control target in the prediction horizon with the target trajectory is determined, and an operation amount for generating the change amount in the output of the dynamic characteristic model is calculated. As the model predictive control, a conventional method can be employed.

Specific example of Generation of instruction position SPZ >

Specific examples of generation of the command position SPZ will be described with reference to fig. 5 to 10. Fig. 5 is a diagram showing an example of the surface shape of the workpiece W. Fig. 6 is a diagram showing an example of shape data of the surface of the workpiece W. Fig. 7 is a diagram showing an example of temporal changes in command position SPX. Fig. 8 is a diagram illustrating a method of generating the command position SPZ by interpolation calculation. Fig. 9 is a diagram showing an example of time-series data of the command position SPX and the command position SPZ. Fig. 10 is a diagram showing an example of a temporal change in the command position SPZ.

Fig. 5 shows the surface shape of a workpiece W having a length of 1000mm in the X-axis direction. As shown in fig. 5, the surface of the workpiece W undulates in the X-axis direction.

Fig. 6 shows an example of shape data 132 obtained by measuring the surface shape of the workpiece W shown in fig. 5 by the shape measurement sensor 3. As shown in fig. 6, the shape data 132 includes respective data elements 134 of a plurality of points on a line obtained by projecting the X-axis onto the surface of the workpiece W. The dots are equally spaced (1mm) along the X-axis. The data element 134 indicates the position of the foot of the perpendicular line hanging from the point on the surface of the corresponding workpiece W to the X axis on the X axis (hereinafter referred to as "X-axis position") and the position of the foot of the perpendicular line hanging from the point to the Z axis on the Z axis (hereinafter referred to as "Z-axis position"). The X-axis position is expressed with reference to a foot of a perpendicular line that hangs down from one end of a line that projects the X-axis onto the surface of the workpiece W to the X-axis. The Z-axis position is expressed with reference to a position separated from the upper surface of the conveyor belt of the conveyor device 2 by a predetermined distance along the Z-axis.

As shown in fig. 7, the X-axis command generating module 140 generates time-series data of the command position SPX for each control cycle from a target orbit, which is, for example, five orbits.

The Z-axis command generating module 150 generates a command position SPZ corresponding to the command position SPX for each control cycle based on the shape data 132 shown in fig. 6. Hereinafter, the command position SPX in the ith control cycle is referred to as a command position SPX (i), and the command position SPZ in the ith control cycle is referred to as a command position SPZ (i).

The Z-axis command generation module 150 selects, from the shape data 132, a first data element and a second data element corresponding to two points that sandwich a processing target point on the surface of the workpiece W to be subjected to the coating processing when the coating head 302 is located at the command position spx (i). In the present embodiment, the servo driver 200X is configured to control the servo motor 304X so that the coating liquid discharge port of the coating head 302 is located at a command position. Further, the coating liquid is discharged from the coating liquid discharge port in the Z-axis direction. In this case, the projection point of the command position spx (i) on the surface of the workpiece W becomes the processing target point when the coating head 302 is located at the command position spx (i). Therefore, as shown in fig. 8, the Z-axis command generating module 150 selects, from the shape data 132, a first data element indicating the same position as the command position spx (i) or the X-axis position located closer to one side (for example, the negative side) than the command position spx (i) and closest to the command position spx (i). Further, the Z-axis command generating module 150 selects, from the shape data 132, a second data element indicating an X-axis position located closer to the command position SPX (for example, the positive side) and closest to the command position SPX (i).

Further, depending on the relationship between the command position SPX and the position of the coating liquid discharge port of the coating head 302 or the coating direction, the projection point of the command position SPX (i) on the surface of the workpiece W may not coincide with the processing target point when the coating head 302 is located at the command position SPX (i). In this case, the first data element and the second data element corresponding to the two points sandwiching the processing target point are selected from the shape data 132, taking into account the difference between the projected point and the processing target point.

The Z-axis command generating module 150 obtains a position Z (i) on the Z axis of a foot of a perpendicular line that is perpendicular to the Z axis from a projection point of the command position spx (i) on the surface of the workpiece W, by interpolation calculation using the selected first data element and second data element, for example, according to the following equation 2.

[ numerical formula 2]

In [ equation 2], wx (j) denotes an X-axis position represented by the first data element. Wz (j) denotes a Z-axis position represented by the first data element. WX (j +1) denotes an X-axis position represented by the second data element. WZ (j +1) indicates the Z-axis position indicated by the second data element (see fig. 8).

The Z-axis command generating module 150 generates the command position spz (i) based on the position Z (i) on the Z axis of the vertical line that hangs down from the processing target point (the projected point of the command position spx (i) on the surface of the workpiece W) to the Z axis, which is obtained as described above. Specifically, the Z-axis command generation module 150 may generate a position separated from the position Z (i) by a predetermined distance in the Z-axis direction as the command position spz (i). The certain distance is set according to a desired clearance in the Z-axis direction between the surface of the workpiece W and the coating head 302. For simplicity of description, a case where the desired gap is set to 0 (that is, a case where the position z (i) is set to the command position spz (i)) will be described below.

Fig. 9 shows time-series data of the command position SPZ for each control cycle (1ms) generated by the above-described calculation. In the examples shown in fig. 6 and 9, for example, the command position SPZ is generated as described below for the control cycle of the data number (No.) 501. The Z-axis command generating module 150 selects, as the first data element, a data element 134a (see fig. 6) indicating the X-axis position that is located on the negative side of the command position SPX and is closest to the command position SPX. Further, the Z-axis command generating module 150 selects, as the second data element, a data element 134b (see fig. 6) indicating the X-axis position located on the plus side of the command position SPX and closest to the command position SPX. The Z-axis command generating module 150 generates the command position SPZ in accordance with the [ expression 2] by interpolation calculation using the selected data elements 134a, 134 b.

Fig. 10 is a graph obtained by plotting time-series data of the command position SPZ shown in fig. 9. By moving the coating head 302 in the X-axis direction in accordance with the commanded position SPX shown in fig. 7 and in the Z-axis direction in accordance with the commanded position SPZ shown in fig. 10, the coating head 302 can move to follow the surface shape of the workpiece W.

< E. processing sequence >

Next, an outline of a processing procedure performed by the control device 100 according to the present embodiment will be described. Fig. 11 is a flowchart showing a processing procedure of the control device according to the present embodiment. The steps shown in fig. 11 may be implemented by the processor 102 of the control device 100 executing a control program (including the system program 110 and the user program 112 shown in fig. 2).

First, the control device 100 generates the command position SPX for each control cycle in accordance with a predetermined target trajectory (step S1).

Next, the control device 100 calculates the command position SPZ for each control cycle based on the shape data 132 and the command position SPX for each control cycle (step S2).

Then, the control device 100 determines whether to start control (step S3). For example, the control device 100 may determine that the movement control is to be started by checking the states of the servo drivers 200X and 200Z, the coating device 300, and other devices and receiving a preparation completion notification from each device. If it is determined that the control is not to be started (NO in step S3), the control device 100 returns the process to step S3.

If it is determined that the control is to be started (YES in step S3), control device 100 performs model prediction control using the first dynamic characteristics model and command position SPX in step S4, and calculates manipulation variable MVX to be output to servo driver 200X. Further, in step S4, the control device 100 performs model prediction control using the second dynamic characteristic model and the command position SPZ, and calculates the operation amount MVZ to be output to the servo driver 200Z.

Next, the control device 100 determines whether or not the control should be ended (step S5). The control device 100 may determine that the control is ended when the position of the coating head 302 reaches the end point of the target track. If it is determined that the control is not to be ended (no in step S5), the control device 100 returns the process to step S4. Thus, step S4 is repeated every control cycle.

If it is determined that the control is to be ended (yes at step S5), the control device 100 ends the process.

Fig. 12 is a diagram showing the source code executed in step S2. In fig. 11, j represents the data number of the data element 134 in the shape data 132, and may be an integer of 0 to DNW. DNW represents the maximum value of the number of the data element 134 in the shape data 132. js denotes the start number of j in the FOR statement. i represents the number of control cycles, and may be an integer of 0 to DNC. DNC indicates the maximum value of the data number in the time-series data of the command position SPX generated from the target track. X (i) indicates the command position SPX in the ith control cycle. Z (i) indicates the position on the Z axis of the perpendicular line that hangs down from the projected point (processing target point) of the command position SPX on the surface of the workpiece W to the Z axis, and is used as the command position SPZ in the i-th control cycle.

Fig. 12 shows the source code when the coating head 302 is moved in one direction along the X axis. Therefore, in calculating the command position SPZ (i) in the i-th control cycle, the data element preceding the data element used in calculating the command position SPZ (i-1) in the (i-1) th control cycle, among the plurality of data elements 134 included in the shape data 132, is not used. Therefore, the first data element and the second data element are selected from the data elements subsequent to the data element used for calculating the command position SPZ (i-1) in the (i-1) th control cycle. This reduces the computational load compared to the case where the first data element and the second data element are selected from all the data elements.

Simulation result >

A simulation was performed to verify the effects of the control device 100 of the present embodiment.

Fig. 13 is a diagram showing an example of a simulation result when the command position SPX shown in fig. 7 is supplied to the servo driver 200X as a command value. Fig. 14 is a diagram showing an example of simulation results when the command position SPZ shown in fig. 10 is given as a command value to the servo driver 200Z. Fig. 15 is a diagram showing an example of a simulation result when the manipulated variable MVX (here, a velocity command) generated by the model predictive control using the command position SPX and the first dynamic characteristics model shown in fig. 7 is supplied to the servo driver 200X. Fig. 16 is a diagram showing an example of a simulation result when the manipulated variable MVZ (here, a velocity command) generated by the model predictive control using the command position SPZ and the second dynamic characteristic model shown in fig. 10 is supplied to the servo driver 200Z. Fig. 13 to 16 show simulation results when the surface of the workpiece W has the shape shown in fig. 5 and the control cycle is set to 1 ms. Fig. 15 and 16 show simulation results when the prediction view is set to 6 ms.

Fig. 13 to 16 show the deviation between the commanded position and the actual position of the coating head 302. As shown in fig. 13 and 14, when the command position is directly supplied to the servo driver as a command value without performing the model predictive control, the positional deviation becomes large when the moving speed is large. On the other hand, as shown in fig. 15 and 16, by performing the model prediction control, it was confirmed that the positional deviation was substantially 0.

Fig. 17 is a diagram showing simulation results at X-axis positions of 50mm to 75mm in the movement trajectory of the coating head when the command positions shown in fig. 7 and 11 are supplied as command values to the servo drivers 200X and 200Z, respectively. Fig. 18 is a diagram showing simulation results at X-axis positions 550mm to 575mm in the movement trajectory of the coating head when the command positions shown in fig. 7 and 11 are supplied as command values to the servo drivers 200X and 200Z, respectively. Fig. 19 is a diagram showing simulation results at X-axis positions of 50mm to 75mm in the movement locus of the coating head when the manipulated variables MVX and MVZ generated by the model predictive control are supplied to the servo drivers 200X and 200Z, respectively. Fig. 20 is a diagram showing simulation results at X-axis positions 550mm to 575mm in the movement trajectory of the coating head when the manipulated variables MVX and MVZ generated by the model predictive control are supplied to the servo drivers 200X and 200Z, respectively. Fig. 17 to 20 also show the shape of the workpiece W together with the movement locus of the coating head 302. Further, a simulation was performed with the desired gap in the Z-axis direction between the surface of the workpiece W and the coating head 302 set to 0.

As shown in fig. 17 and 18, when the command position is directly supplied to the servo driver as a command value without performing the model predictive control, a deviation is observed between the workpiece shape and the movement locus of the coating head 302. On the other hand, as shown in fig. 19 and 20, by performing the model prediction control, the deviation between the workpiece shape and the movement locus of the coating head 302 is greatly reduced, and the coating head 302 moves following the shape of the surface of the workpiece W.

< G. advantage >

As described above, the control device 100 of the present embodiment includes: an X-axis command generation module 140, a model predictive control module 142, a Z-axis command generation module 150, and a model predictive control module 152. The X-axis command generating module 140 generates a command position SPX of the coating head 302 on the X-axis in each control cycle based on the target trajectory. The model predictive control module 142 generates the manipulated variable MVX by model predictive control using the first dynamic characteristic model indicating the relationship between the manipulated variable MVX output to the servo driver 200X and the position of the coating head 302 on the X axis and the command position SPX. The Z-axis command generation module 150 generates a command position SPZ of the coating head 302 on the Z-axis in each control cycle. The model predictive control module 152 generates the manipulated variable MVZ by model predictive control using the second dynamic characteristic model indicating the relationship between the manipulated variable MVZ output to the servo driver 200Z and the position of the coating head 302 on the Z axis and the command position SPZ. The Z-axis command generation module 150 generates the command position SPZ so that the distance between the coating head 302 and the surface of the workpiece W is constant, based on the shape data 132 indicating the surface shape of the workpiece W and the command position SPX.

The control device 100 configured as described above controls the movement of the coating head 302 by model predictive control. At this time, the command position SPZ on the Z axis in each control cycle is generated based on the shape data. As a result, the coating head 302 can accurately follow the shape of the surface of the workpiece W.

The shape data 132 represents the position on the Z axis of the foot of a perpendicular line drawn from a plurality of points on a line obtained by projecting the X axis onto the surface of the workpiece W. The Z-axis command generating module 150 selects two points, which sandwich a processing target point on the surface of the workpiece W to be subjected to the coating processing when the coating head 302 is located at the command position SPX, from the plurality of points. The Z-axis command generating module 150 obtains the position on the Z-axis of the perpendicular line that is drawn from the point obtained by projecting the command position SPX onto the surface of the workpiece W to the Z-axis by interpolation calculation using the positions of the two selected points on the Z-axis, and generates the command position SPZ based on the position on the Z-axis.

According to the above configuration, even when the data of the processing target point when the coating head 302 is located at the command position SPX is not included in the shape data 132, the position on the Z axis of the foot of the vertical line that hangs from the processing target point to the Z axis can be obtained by interpolation calculation. Then, based on the position on the Z axis, a command position SPZ is generated. Thus, the command position SPZ corresponding to the command position SPX can be easily generated from the surface shape of the workpiece W.

< H. variation

< H-1. variant 1 >

In the above description, the coating apparatus 300 is provided with the servo motor 304X, and the servo motor 304X moves the coating head 302 along the X axis on the XY plane facing the surface of the workpiece W. However, the coating apparatus 300 may include a servomotor that rotates the coating head 302 along the XY plane about a reference axis orthogonal to the XY plane, instead of the servomotor 304X. In this case, the control system 1 includes a servo driver that drives the servo motor in place of the servo driver 200X. Further, the control device 100 may include a command generating module that generates a command angle with respect to the reference axis instead of the X-axis command generating module 140. Instead of the model predictive control module 142, the control device 100 may include a model predictive control module that generates an operation amount to be output to the servo driver by model predictive control using a dynamic characteristic model indicating a relationship between the operation amount and the rotational position of the coating head 302 and a command angle.

< H-2. variant 2 >

In the above description, the shape measurement sensor 3 is a two-dimensional laser displacement sensor, and is set to measure the Z-axis position of a plurality of equally spaced points along the X-axis direction on the surface of the workpiece W. In this case, as shown in fig. 6, the X-axis positions represented by the plurality of data elements included in the shape data 132 are at equal intervals.

However, a one-dimensional laser displacement sensor may also be used as the shape measurement sensor 3. In this case, the Z-axis positions of a plurality of points on the surface of the workpiece W are measured while the shape measurement sensor 3 is moved in the X-axis direction in the same manner as the coating head 302. The shape measurement sensor 3 is preferably moved in the X-axis direction along the same target trajectory as the coating head 302. Thus, the intervals of the X-axis positions indicated by the plurality of data elements included in the shape data 132 substantially coincide with the intervals of the time-series data of the command position SPX. Therefore, the Z-axis command generating module 150 may select, for each control cycle, a data element corresponding to the point closest to the processing target point when the coating head 302 is located at the command position SPX of the control cycle from the shape data. For example, the Z-axis command generating module 150 selects, for each control cycle, a data element indicating the closest X-axis position to the command position SPX from the shape data. The Z-axis command generation module 150 may generate the Z-axis position indicated by the selected data element as the command position SPZ of the control cycle. Thus, the Z-axis command generating module 150 does not need to perform interpolation calculation according to [ equation 2 ]. As a result, the computation load of the Z-axis command generation module 150 is reduced.

< H-3. variant 3 >

In the above description, the coating apparatus 300 is configured to move the coating head 302 only along the X axis on the XY plane facing the surface of the workpiece W. However, the coating apparatus 300 may further include a servomotor that moves the coating head 302 along the Y axis on the XY plane facing the surface of the workpiece W.

Fig. 21 is a schematic diagram showing an example of a functional configuration of a control system according to modification 3. As shown in fig. 21, the coating apparatus 300 includes a servomotor 304Y in addition to the servomotors 304X and 304Z. The servo motor 304Y moves the coating head 302 (see fig. 1) in the Y-axis direction. Thereby, the coating head 302 is relatively moved with respect to the workpiece W in the Y-axis direction.

The control system 1A according to modification 3 includes a servo driver 200Y for driving the servo motor 304Y in addition to the servo drivers 200X and 200Z.

The servo driver 200Y includes a subtractor 210Y and a feedback control unit 212Y. The subtractor 210Y receives the operation amount MVY from the control device 100 as a command value (command position or command speed), and receives an output signal from an encoder coupled to the servomotor 304Y as a feedback value. The subtractor 210Y calculates a deviation between the command value and the feedback value. The feedback control unit 212Y performs a control operation corresponding to the deviation output from the subtractor 210Y, as in the feedback control units 212X and 212Z.

The control system 1A of modification 3 includes a control device 100A instead of the control device 100. The control device 100A is different from the control device 100 in that a Z-axis command generation module 150A is provided instead of the Z-axis command generation module 150, and a Y-axis command generation module 160 and a model prediction control module 162 are further provided. Further, the storage unit 130 stores shape data 133 instead of the shape data 132.

The Y-axis command generating module 160 generates a third command position (hereinafter, referred to as "command position SPY") of the coating head 302 on the Y-axis in each control cycle, in accordance with the target trajectory prepared in advance. The Y-axis command generating module 160 outputs the generated command position SPY to the model predictive control module 162.

The Y-axis command generating module 160 generates time-series data of the command position SPY from the target track, and reads out the command position SPY for each control cycle from the time-series data. Alternatively, the control device 100A may store time-series data of the command position SPY that defines the target track in advance. In this case, the Y-axis command generating module 160 may access the time-series data of the command position SPY stored in advance. In this way, the command position SPY for each control cycle may be calculated sequentially according to a predetermined calculation formula from the target trajectory, or may be stored in advance as time-series data.

The model predictive control module 162 generates the manipulated variable MVY to be output to the servo driver 200Y by model predictive control using the third dynamic characteristic model indicating the relationship between the manipulated variable MVY and the position of the coating head 302 on the Y axis and the command position SPY. The third dynamic characteristics model is produced by the same method as the first dynamic characteristics model.

Fig. 22 is a diagram showing an example of shape data in modification 3. The shape data 133 includes data elements 135 of a plurality of points arranged in a grid pattern on the surface of the workpiece W. The data element 135 indicates an X-axis position of a foot of a perpendicular line hanging from a point on the surface of the corresponding workpiece W to the X-axis, a position of the foot of the perpendicular line hanging from the point to the Y-axis on the Y-axis (hereinafter referred to as "Y-axis position"), and a Z-axis position of the foot of the perpendicular line hanging from the point to the Z-axis.

The Z-axis command generation module 150A generates the command position SPZ in each control cycle so that the distance between the coating head 302 and the surface of the workpiece W is constant based on the shape data 133 and the command positions SPX and SPY.

Fig. 23 is a diagram for explaining a method of generating the command position SPZ in modification 3. The Z-axis command generating module 150A selects, from the shape data 133, data elements 135 corresponding to four points around a processing target point located on the surface of the workpiece W to be subjected to the coating processing when the coating head 302 is located at the command position SPX and the command position SPY. Here, the servo drivers 200X and 200Y are configured to control the servo motors 304X and 304Y, respectively, so that the coating liquid discharge ports of the coating head 302 are located at the command positions. Further, the coating liquid is discharged from the coating liquid discharge port in the Z-axis direction. In this case, a point (projection point) obtained by projecting a point on the XY plane indicated by the command positions SPX and SPY onto the surface of the workpiece W along the Z-axis direction becomes a processing target point when the coating head 302 is located at the command positions SPX and SPY. Therefore, Z-axis command generation module 150A selects data elements 135 corresponding to four points located around the proxel. In the example shown in fig. 23, four data elements 135 are selected, where (X-axis position and Y-axis position) are (WX (jx), WY (jy)), (WX (jx +1), WY (jy)), (WX (jx), WY (jy +1)), (WX (jx +1), WY (jy +1)), respectively.

The Z-axis command generating module 150A obtains a position Z (i) on the Z-axis of a perpendicular line drawn from the projection point (processing target point) to the Z-axis by interpolation calculation using the data elements 135 of the selected four points, for example, according to the following equation 3. In equation 3, WZ (jx, jy) is a Z-axis position included in a data element of a point where (X-axis position, Y-axis position) is (wx (jx), wy (jy)). WZ (jx +1, jy) is a Z-axis position included in the data elements of the point (X-axis position, Y-axis position) of (WX (jx +1), wy (jy)). WZ (jx, jy +1) is a Z-axis position included in the data elements of the points (X-axis position, Y-axis position) of (wx (jx), WY (jy + 1)). WZ (jx +1, jy +1) is a Z-axis position included in the data elements of the point where (X-axis position, Y-axis position) is (WX (jx +1), WY (jy + 1)).

[ numerical formula 3]

The Z-axis command generating module 150 generates the command position spz (i) based on the position Z (i) on the Z-axis of the foot of the perpendicular line that hangs down from the projection point (processing target point) to the Z-axis, which is obtained as described above.

Note that, the data elements 135 of four points are selected from the shape data 133, but the Z-axis command generating module 150 may select the data elements 135 of three points on the upper side near the processing target point (projection point in this case). Then, the Z-axis command generating module 150 obtains a position Z (i) on the Z axis of a perpendicular line that hangs from the projected point of the command position spx (i) on the surface of the workpiece W to the Z axis by interpolation calculation using the data elements of the selected three points.

< H-4. variant 4 >

In the above description, the storage unit 130 stores the shape data 132 and 133 measured by the shape measuring sensor 3. However, the storage unit 130 may store shape data indicating the surface shape of the workpiece W generated from the design data of the workpiece W. For example, in the case where the workpiece W has a surface on which undulations are intentionally formed, and the individual difference in the surface shape is negligibly small, the shape data generated from the design data can be used.

< H-5. modified example 5 >

In the above description, the plurality of servo drivers 200 are provided to move the coating head 302. However, the plurality of servo drivers 200 may be any device that changes the relative positional relationship between the workpiece W and the coating head 302. The plurality of servo drivers 200 may be configured to move the workpiece W in a state where the coating head 302 is fixed. For example, the workpiece W may be mounted on the XZ stage. In this case, the servo driver 200X controls the movement of the XZ stage in the X axis direction, thereby relatively moving the coating head 302 with respect to the workpiece W in the X axis direction. The servo driver 200Z controls the movement of the XZ stage in the Z-axis direction, thereby moving the coating head 302 relative to the workpiece W in the Z-axis direction. Alternatively, the workpiece W may be placed on an XYZ stage. In this case, the servo driver 200Y controls the movement of the XYZ stage in the Y axis direction, thereby moving the coating head 302 relative to the workpiece W in the Y axis direction.

Alternatively, the servo driver 200X may control the movement of one of the coating head 302 and the workpiece W (for example, the coating head 302) in the X-axis direction, and the servo driver 200Z may control the movement of the other of the coating head 302 and the workpiece W (for example, the workpiece W) in the Z-axis direction. Further, the servo driver 200Y may control the movement of either the coating head 302 or the workpiece W in the Y axis direction.

< I, attached notes >

As described above, the present embodiment and the modifications include the following disclosure.

(Structure 1)

A control device (100, 100A) is connected to a plurality of drive devices (200, 200X, 200Y, 200Z) for changing a relative positional relationship between an object (W) and a control object (302) for performing a predetermined process on a surface of the object (W), and outputs an operation amount to the plurality of drive devices (200, 200X, 200Y, 200Z) every control cycle,

wherein the plurality of driving devices (200, 200X, 200Y, 200Z) comprises: a first driving device (200X) for moving the control object (302) relative to the object (W) along a plane facing the surface of the object (W); and a second driving device (200Z) for relatively moving the control object with respect to the object (W) along an orthogonal axis orthogonal to the plane,

the control device (100, 100A) includes:

a first generation unit (140) that generates a first command position of the control target (302) on the plane in each control cycle, based on a target trajectory;

a first control unit (142) that generates a first manipulated variable output to the first drive device (200X) by model prediction control using a first dynamic characteristic model representing a relationship between the first manipulated variable and a position of the control target (302) on the plane and the first command position;

a second generation unit (150) that generates a second command position of the control target (302) on the orthogonal axis in each control cycle; and

a second control unit (152) that generates a second manipulated variable output to the second drive device (200Z) by model prediction control using a second dynamic characteristic model representing a relationship between the second manipulated variable and the position of the control target (302) on the orthogonal axis and the second command position,

the second generation unit (150) generates the second command position such that the distance between the control object (302) and the surface of the object (W) is constant, based on the shape data indicating the surface shape of the object (W) and the first command position.

(Structure 2)

The control device (100) according to structure 1, wherein

The first driving device (200X) relatively moves the control object (302) with respect to the object (W) along a first axis on the plane,

the first commanded position represents a position on the first axis,

the first dynamic characteristics model represents a relationship of the first operation amount to a position of the control object (302) on the first axis,

the shape data represents a position on the orthogonal axis of a perpendicular line that is drawn from the point to the orthogonal axis for each of a plurality of points on a line that is obtained by projecting the first axis onto the surface of the object (W),

the second generation part (150)

Selecting two points, which sandwich a processing target point on the surface of the object (W) to be subjected to the predetermined processing when the control target (302) is located at the first command position, from the plurality of points,

obtaining a position on the orthogonal axis of a foot of a perpendicular line that hangs down from the processing target point to the orthogonal axis by interpolation calculation using the positions of the two selected points on the orthogonal axis,

generating the second instruction position based on the position of the processing target point on the orthogonal axis.

(Structure 3)

The control device (100) according to structure 1, wherein

The first driving device (200X) relatively moves the control object (302) with respect to the object (W) along a first axis on the plane,

the first commanded position represents a position on the first axis,

the first dynamic characteristics model represents a relationship of the first operation amount to a position of the control object (302) on the first axis,

the shape data represents a position on the orthogonal axis of a perpendicular line that is perpendicular to the orthogonal axis from the point for each of a plurality of points on a line that is obtained by projecting the first axis onto the surface of the object,

the second generation part (150)

Selecting, from the plurality of points, a point closest to a processing target point on the surface of the object (W) to be subjected to the predetermined processing when the control target (302) is located at the first command position,

generating the second instruction position based on the position of the selected point on the orthogonal axis.

(Structure 4)

The control device (100A9, structure 1, wherein

The first driving device (200X) relatively moves the control object (302) with respect to the object (W) along a first axis on the plane,

the first commanded position represents a position on the first axis,

the first dynamic characteristics model represents a relationship of the first operation amount to a position of the control object (302) on the first axis,

the plurality of driving devices (200, 200X, 200Y, 200Z) further include a third driving device (200Y) for relatively moving the control object (302) with respect to the object (W) along a second axis on the plane different from the first axis,

the control device (100A) further includes:

a third generation unit (160) that generates a third command position of the control target (302) on the second axis in each control cycle, based on the target trajectory; and

a third control unit (162) that generates a third manipulated variable output to the third drive device (200Y) by model prediction control using a third dynamic characteristic model indicating a relationship between the third manipulated variable and the position of the control target (302) on the second axis and the third command position,

the second generation unit (150) generates the second instruction position based on the third instruction position in addition to the shape data and the first instruction position.

(Structure 5)

The control device (100A) according to structure 4, wherein

The shape data represents, for each of a plurality of points on the surface of the object, a position on the orthogonal axis of a foot of a perpendicular line that is perpendicular from the point to the orthogonal axis,

the second generation part (150)

Selecting at least three points around a processing target point on the surface of the target object (W) to be subjected to the predetermined processing when the control target (302) is located at the first command position and the third command position from the plurality of points,

finding a position on the orthogonal axis of a foot of a perpendicular line that hangs down from the processing target point to the orthogonal axis by interpolation calculation using the positions of the selected at least three points on the orthogonal axis,

generating the second instruction position based on the position of the processing target point on the orthogonal axis.

(Structure 6)

A control program for realizing a control device (100, 100A), wherein the control device (100, 100A) is connected to a plurality of drive devices (200, 200X, 200Y, 200Z) and outputs an operation amount to the plurality of drive devices (200, 200X, 200Y, 200Z) at each control cycle, and the plurality of drive devices (200, 200X, 200Y, 200Z) change a relative positional relationship between an object (W) and a control object (302) that performs a predetermined process on a surface of the object (W),

wherein the plurality of driving devices (200, 200X, 200Y, 200Z) comprises: a first driving device (200X) for moving the control object (302) relative to the object (W) along a plane facing the surface of the object (W); and a second driving device (200Z) for relatively moving the control object with respect to the object (W) along an orthogonal axis orthogonal to the plane,

the control program causes a computer to include:

generating a first command position of the control object (302) on the plane in each control cycle based on a target trajectory;

generating a first manipulated variable by model predictive control using a first dynamic characteristic model indicating a relationship between the first manipulated variable output to the first driving device (200X) and a position of the control target (302) on the plane and the first command position;

generating a second command position of the control object (302) on the orthogonal axis in each control cycle; and

generating a second manipulated variable by model predictive control using a second dynamic characteristic model indicating a relationship between the second manipulated variable output to the second drive device (200Z) and the position of the control target (302) on the orthogonal axis and the second command position,

the step of generating the second instruction location comprises: and generating the second command position so that the distance between the control object (302) and the surface of the object (W) is constant, based on shape data indicating the shape of the surface of the object (W) and the first command position.

The embodiments of the present invention have been described, but the embodiments disclosed herein are to be considered in all respects as illustrative and not restrictive. The scope of the present invention is indicated by the claims, and all changes that come within the meaning and range of equivalency of the claims are intended to be embraced therein.

Description of the symbols

1. 1A: control system

2: conveying device

3: shape measuring sensor

100. 100A: control device

102: processor with a memory having a plurality of memory cells

104: chip group

106: main memory

108: flash memory

110: system program

112: user program

112A: sequence program

112B: exercise program

116: external network controller

118: memory card interface

120: memory card

122. 124: on-site bus controller

130: storage unit

132. 133: shape data

134. 134a, 134b, 135: data elements

140: x-axis instruction generation module

142. 152, 162: model predictive control module

150. 150A: z-axis instruction generation module

160: y-axis instruction generation module

200. 200X, 200Y, 200Z: servo driver

210X, 210Y, 210Z: subtracter

212X, 212Y, 212Z: feedback control unit

300: coating device

302: coating head

304X, 304Y, 304Z: servo motor

39页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:安全相关的诊断消息

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!