Alignment system, alignment procedure and program
The alignment system optimizes positioning by performing a fine search within a limited area without a coarse search, enhancing speed and precision through synchronized communication, addressing the inefficiencies of existing alignment methods.
Patent Information
- Application Number
- DE112022007168
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-07-27
- Publication Date
- 2026-05-28
- Estimated Expiration
- 2042-07-27
AI Technical Summary
Existing alignment systems face long processing times due to the need for both coarse and fine searches, with coarse searches being computationally intensive and time-consuming, especially when the target's position and rotation angle ranges are large.
An alignment system that performs a fine search within a smaller search area if the identification target is detected, bypassing the coarse search, and uses synchronized communication protocols to enhance responsiveness and reduce processing load.
The system achieves faster and more precise positioning by eliminating the need for a coarse search when the target is found quickly, reducing overall processing time and improving alignment accuracy.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical field
[0001] The present disclosure relates to an alignment system, an alignment procedure, and a program. background
[0002] In the field of factory automation (FA), alignment techniques are used to align a workpiece or a control target to a reference position. For example, a control system detects a workpiece in an image captured by an imaging device and aligns the workpiece to a reference position (as described, for example, in JP 2020 - 110 916 A).
[0003] JP 2020-110916A describes an actuator control system in which commands for driving actuators are provided based on data acquired through a first position acquisition and a second position acquisition performed on the captured image. The first position acquisition captures the position of a target object with a first accuracy, and the second position acquisition captures the position of the target object with a greater accuracy than the first.
[0004] This actuator control system pre-drives the actuators based on intermediate data derived from the first position measurement, and further drives the actuators based on the difference between the intermediate data and the final data derived from the second position measurement. As described, this allows the drive control to be started in advance, before the calculation of the final data is complete, thereby increasing the control speed.
[0005] JP 2019 - 215 633 A discloses an alignment system in which the movement of a feature is estimated and the feature is sought in the estimated area.
[0006] DE 10 2018 102 833 A1 discloses an alignment system in which a fine search is only performed if a coarse search is unsuccessful. Overview of the invention Technical problem
[0007] In the actuator control system described in JP 2020-110916A, the first position detection stage comprises a coarse search, and the second position detection stage comprises a fine search. The coarse search is performed, for example, using pattern matching to detect the position of the target object within a large area of an image. The fine search is performed, for example, using edge detection to precisely detect the position of the target object within a limited area of an image.
[0008] Fine search is typically performed within a limited area and therefore involves restricting the search range. The coarse search, performed to narrow the search range, can also be heavily loaded with search processing and take a long time if the target pattern's position and rotation angle ranges are large. Consequently, the alignment control, which provides control commands based on data gathered by both coarse and fine search, can have a long overall processing time.
[0009] Under such circumstances, an objective of the present disclosure is to provide an alignment system, an alignment procedure and a program that enable fast and accurate positioning. Solution to the problem
[0010] To achieve the above objective, an alignment system is proposed that has the features defined in main claim 1. Advantageous embodiments of the alignment system have the features defined in dependent claims 2 to 8. Furthermore, an alignment method is proposed that has the features defined in dependent claim 9, and a program that has the features defined in dependent claim 10. An alignment system according to one aspect of the present disclosure comprises an image processor for detecting an identification target in a captured image of a workpiece containing the identification target by means of a coarse search and a fine search, which are distinct from each other, and an operating controller for controlling a drive for moving the workpiece, wherein the control is performed based on the actual coordinates of the identification target detected by the image processor.The image processor repeatedly acquires the identification target, and the operating controller controls the drive. The fine search is performed within a search area smaller than the coarse search area. If the identification target is acquired through the fine search, the image processor then performs the fine search again, bypassing the coarse search. Advantageous effects of the invention
[0011] The alignment system according to the above aspect of the present disclosure performs the fine search as the next search, without performing the coarse search, if the identification target is detected by the fine search, thereby reducing the overall processing time and enabling fast and precise positioning. Brief description of the drawings Fig. Figure 1 is a block diagram of an alignment system according to embodiment 1, showing the overall structure; Fig. 2 is a block diagram of an operational control system according to an example; Fig. Figure 3 is a block diagram of an image processor according to an example; Fig. 4 is a diagram showing an alignment control procedure; Fig. 5 is a diagram showing an alignment control procedure; Fig. Figure 6 is a functional block diagram of the alignment system according to embodiment 1; Fig. 7 is a flowchart of an alignment control process in embodiment 1; Fig. 8 is a flowchart of a search process in embodiment 1; Fig. 9A is a diagram of a sample search area; Fig. 9B is a diagram of an example angle search range; Fig. Figure 10 is a diagram showing synchronization based on a transmission path delay measurement; Fig. 11 is a diagram showing a timing control for an aperture in an imaging device; Fig. Figure 12 is a functional block diagram of an alignment system according to embodiment 2; Fig. 13 is a flowchart of an alignment control process in embodiment 2; Fig. 14 is a flowchart of a search process in embodiment 2; Fig. Figure 15 is a functional block diagram of an alignment system according to modification 1; Fig. 16 is a flowchart of an alignment control process in modification 1; Fig. 17 is a flowchart of a search process with modification 1; Fig. 18A is a diagram showing a prediction of an identification target with modification 3; Fig. 18B is a diagram showing a prediction of an identification target at modification 3; Fig. 19A is a diagram showing a rough search with modification 4; Fig. 19B is a diagram showing a fine search at modification 4; Fig. 20A is a diagram showing a rough search with modification 5; Fig. 20B is a diagram showing a fine search at modification 5; and Fig. Figure 21 is a flowchart of a search process with modification 6. Description of the embodiments: Embodiment 1
[0012] The embodiment 1 of the present disclosure is described in detail below with reference to the drawings. Similar reference numerals denote similar or corresponding components in the drawings.
[0013] Fig. Figure 1 is a block diagram of an alignment system 1 according to embodiment 1, showing the overall structure. The alignment system 1 comprises an aligner 100 that moves a workpiece 10 as a control target, an operating controller 200 that controls the aligner 100, imaging devices 300 that capture images of the workpiece 10, an image processor 400 that processes the images captured by the imaging devices 300, and a setting terminal 500 through which various settings for processing are entered, which is carried out by the image processor 400.
[0014] The aligner 100 is connected to the drives 111, 112, and 113, which provide drive forces in the respective directions and move the workpiece 10. The drives 111, 112, and 113 are connected to the drive controllers 121, 122, and 123, respectively. The drive controllers 121, 122, and 123 each drive the corresponding drives 111, 112, or 113 based on control signals from the operating controller 200.
[0015] The drive controllers 121, 122, and 123, the operating controller 200, the image processor 400, and the imaging devices 300 are interconnected for communication. Any known communication method can be used, such as Ethernet (registered trademark), CameraLink, CoaxPress (registered trademark), or USB (Universal Serial Bus, registered trademark). Ethernet-based commercial networks, such as CC-Link IE Field (registered trademark) or CC-Link IE TSN (CC-Link IE Time Sensitive Networking, registered trademark), can be used for synchronization.
[0016] The aligner 100 comprises a support table 101 on which the workpiece 10 can be placed, and a mechanism for moving the support table 101. For example, the support table can be moved in an X-direction and a Y-direction, which are perpendicular to each other in the horizontal direction, and rotated in a θ-direction, which is a direction of rotation in a horizontal plane. In the present embodiment, of the drives connected to the aligner 100, drive 111 causes a movement in the X-direction, drive 112 a movement in the Y-direction, and drive 113 a rotation in the θ-direction.
[0017] The drives 111, 112, and 113 are any actuators capable of precisely driving the aligner 100. Drives 111, 112, and 113 are, for example, servo motors. The drive controllers 121, 122, and 123 control the operation of the respective drives 111, 112, and 113 based on control signals from the operating controller 200. Drive controllers 121, 122, and 123 are, for example, servo amplifiers.
[0018] The drives 111, 112, and 113 each include an internal or external position sensor for detecting and outputting the positions actually changed by the actuation of the drives 111, 112, and 113. The position sensor is, for example, a position encoder attached to the corresponding actuator. The output signals from the position encoders are input into the operating controller 200 by the drive controllers 121, 122, and 123. In the present embodiment described below, the drives 111, 112, and 113 are servo motors, the drive controllers 121, 122, and 123 are servo amplifiers, and the position sensors are position encoders.
[0019] The operating controller 200 is a motion controller that provides commands to the drives 111, 112, and 113 via the drive controllers 121, 122, and 123. The operating controller 200 includes, for example, a programmable logic controller (PLC). The operating controller 200 generates control signals specifying the commands, based on information obtained from the drive controllers 121, 122, and 123 and the image processor 400, and outputs the control signals to the drive controllers 121, 122, and 123.
[0020] The operational control system 200 includes, as in Fig. Figure 2 shows a processor 210, a volatile memory 220, a non-volatile memory 230, a clock generator 240, and a communication interface 250. The processor 210, the volatile memory 220, the non-volatile memory 230, the clock generator 240, and the communication interface 250 are connected to each other via a bus B1 in order to communicate with each other.
[0021] The processor 210, for example, is a central processing unit (CPU) that reads and executes a control program 231 stored in the non-volatile memory 230 in order to function as a position information generator 211, a motion computer 212 and a command transmitter 213.
[0022] The position information generator 211 in the processor 210 generates position information, based on the output signals from the position sensors in the drives 111, 112, and 113, corresponding to the position of the carrier table 101 on which the workpiece 10 is placed. The motion computer 212 calculates the magnitude of the workpiece 10's movement in the X, Y, and θ directions based on the position of an identification target captured by the image processor 200 in recorded images. The command transmitter 230 outputs control signals to the drive controllers 121, 122, and 123 based on the magnitude of the movement calculated by the motion computer 212.
[0023] The volatile memory 220 is a working memory that can read and write data at high speed during arithmetic operations performed by the processor 210. For example, the volatile memory 220 is random-access memory (RAM). The non-volatile memory 230 stores the control program 231 for implementing the various functions of the operating controller 200, as well as control data 232, which includes parameters used during the execution of the control program 231, past acquisition data, and instruction data. Examples of non-volatile memory 230 include non-volatile semiconductor memory, such as electrically erasable programmable read-only memory (EEPROM) or flash memory, magnetic memory, and optical disks.
[0024] The clock generator 240 measures local time by counting a clock signal from a clock element in the operating controller 200. The clock generator 240 synchronizes with the drive controllers 121, 122, and 123, the imaging devices 300, and the image processor 400. This ensures that the operating controller 200 has time information that is synchronized with the drive controllers 121, 122, and 123, the imaging devices 300, and the image processor 400.
[0025] The communication interface 250 is an interface for communication between the operating controller 200 and the drive controllers 121, 122 and 123, the imaging devices 300 and the image processor 400. The communication interface 250 is compliant with communication standards such as CC-Link IE Field and CC-Link IE TSN.
[0026] The imaging devices 300 capture images of the workpiece 10 from above at predetermined intervals relative to the aligner 100. The imaging devices 300 are, for example, cameras with sufficient resolution to achieve the alignment accuracy of the alignment system 1. Although any number of imaging devices 300 can be used, the number of imaging devices 300 is determined appropriately based on the number of identification targets used for alignment and the position of the identification targets. Fig. Two imaging devices 300 are used. The identification target can be any target that indicates the position of the workpiece 10. The identification target is, for example, an alignment mark on the workpiece 10, a corner of the workpiece 10, or a corner of the support table 101.
[0027] Each imaging device 300 also has time information that is synchronized with the drive controllers 121, 122 and 123, the operating controller 200 and the image processor 400, as well as a communication interface for communication with the drive controllers 121, 122 and 123, the operating controller 200 and the image processor 400.
[0028] The image processor 400 detects the identification target in the acquired images obtained from the imaging devices 300 by performing a coarse search and a fine search, which are different search procedures. The coarse search is performed across the entire area of the acquired images obtained from the imaging devices 300, whereas the fine search is performed within a search area that is limited compared to the area used for the coarse search. If the identification target is detected by the fine search, the image processor 400 outputs the actual coordinates of the identification target to the operating controller 200. The actual coordinates are coordinates in a reference coordinate system aligned with the motion computer 212 in the operating controller 200.
[0029] The image processor 400 includes, as described in the Fig. Figure 3 shows a processor 410, a volatile memory 420, a non-volatile memory 430, a clock generator 440, and a communication interface 450. The processor 410, the volatile memory 420, the non-volatile memory 430, the clock generator 440, and the communication interface 450 are connected to each other via a bus B2 in order to communicate with each other.
[0030] The processor 410, for example, is a CPU that reads and executes a control program 431 stored in the non-volatile memory 430 in order to function as an image reference device 411, a range determiner 412 and a viewfinder 413.
[0031] The image reference device 411 in the processor 410 acquires images acquired by the imaging devices 300. The area determiner 412 determines an area for searching for an identification target in each acquired image acquired by the image reference device 411, based on information that includes position information generated by the position information generator 211 in the operating controller 200. The searcher 413 performs a fine search for the identification target in a portion of the image within the search area determined by the area determiner 412 and outputs the actual coordinates of the identification target to the operating controller 200 when the identification target is acquired.
[0032] The volatile memory 420 is a working memory that can read and write data at high speed during arithmetic operations performed by the processor 410. An example of volatile memory 420 is RAM. The non-volatile memory 430 stores the control program 431 for implementing the various functions of the image processor 400 and control data 432, which includes parameters used during the execution of the control program 431 and past acquisition data. Examples of non-volatile memory 430 include non-volatile semiconductor memory, such as EEPROM or flash memory, magnetic memory, and optical disks.
[0033] The clock generator 440 measures local time by counting a clock signal from a clock element in the image processor 400. The clock generator 440 synchronizes with the drive controllers 121, 122, and 123, the operating controller 200, and the imaging devices 300. This ensures that the image processor 400 has time information that is synchronized with the drive controllers 121, 122, and 123, the operating controller 200, and the imaging devices 300.
[0034] The communication interface 450 is an interface for communication between the image processor 400 and the drive controllers 121, 122 and 123, the operating controller 200 and the imaging devices 300. The communication interface 450 is compliant with communication standards such as CC-Link IE Field and CC-Link IE TSN.
[0035] The control terminal 500 is, for example, a personal computer in which an application program is installed that corresponds to the control program 431 in the image processor 400. The control terminal 500 manages the image processor 400, including managing inputs or changes to parameters stored in the non-volatile memory 430 in the image processor 400. The communication interface for communication between the control terminal 500 and the image processor 400 is an interface that corresponds to the interface included in the image processor 400. The communication interface is, for example, a USB interface or an interface of the recommended standard 232C (RS232C).
[0036] The operating controller 200 calculates the magnitude of the movement based on the difference between the actual coordinates of the identification target detected by the image processor 400 and target coordinates for alignment, and outputs control signals based on the magnitude of the movement to the drive controllers 121, 122 and 123.
[0037] An operation of alignment system 1 with the above structure is described. An exemplary, common alignment procedure based on the position of the identification target is given with reference to the Fig. 4 and Fig. 5 described. Fig. 4 and Fig. Figure 5 are diagrams showing an alignment procedure carried out with identification targets, which are alignment marks 1001 and 1002, attached to the ends of the workpiece 10.
[0038] Although the alignment marks 1001 and 1002 can have any shape, they can, for example, be cross marks, as in the Fig. 4 and Fig. Figure 5 shows how to clearly identify the position of a reference point and the angle of rotation. Any number of alignment marks can be applied. As shown in the Fig. As shown in Figure 4, a single alignment mark can be applied, or two alignment marks 1001 and 1002 can be applied to diagonal ends of the workpiece 10, as shown in the Fig. 5 shown.
[0039] When an alignment mark 1001 is used, an imaging device 300 is used to acquire an image of an imaging area 1300. When two alignment marks 1001 and 1002 are used, and one imaging area 1300 does not cover the two alignment marks 1001 and 1002 during imaging, two imaging devices 300 are used to acquire images of the imaging areas 1300 that are offset from each other.
[0040] When an alignment mark 1001 is used, as in the Fig. As shown in Figure 4, three pieces of information are used, which include the coordinates of a reference point of an alignment target mark 1101, the coordinates of a reference point of the alignment mark 1001 on the workpiece 10 and the angle difference between the alignment target mark 1101 and the alignment mark 1001.
[0041] When the two alignment marks 1001 and 1002 are used, as in the Fig. As shown in Figure 5, three pieces of information are used, which include the center coordinates of the reference points of the alignment target marks 1101 and 1102, the center coordinates of the reference points of the alignment marks 1001 and 1002 on the workpiece 10, and the angle difference between a straight line connecting the alignment target marks 1101 and 1102 and a straight line connecting the alignment marks 1001 and 1002.
[0042] Both in the Fig. 4 as well as the Fig. 5 is an angular difference Δθ, the magnitude of the movement in the θ-axis. Accordingly, the operating control 200 determines, as in the Fig. Figure 4 shows the imaginary coordinates of a reference point of an imaginary mark 1201 after rotating the workpiece 10 by the angle Δθ about a center of rotation 1200 of the θ-axis of the aligner 100. The magnitude of the movement ΔX in the X direction and the magnitude of the movement ΔY in the Y direction are then calculated based on the difference between the imaginary coordinates and the target coordinates of the alignment target mark 1101. The command transmitter 213 in the operating controller 200 transmits control signals to the drive controllers 121, 122, and 123, or provides commands to them, to achieve such a movement with the magnitudes Δθ, ΔX, and ΔY determined in the manner above.
[0043] The procedure, which is like in the Fig. Figure 4 shows that an alignment mark 1001 is used, which can be used if the rotation of the alignment mark 1001, such as a cross mark, can be clearly identified. When using the two alignment marks 1001 and 1002, as shown in the Fig. As shown in Figure 5, rotation of the alignment marks is not detected. This allows, for example, the use of circular alignment marks to detect the rotation of the workpiece. Additionally, the angular difference Δθ in the θ-direction is calculated based on two points that are sufficiently far apart. This enables precise control.
[0044] In this way, the operating controller 200 calculates the values Δθ, ΔX, and ΔY based on the coordinates and angular difference of the reference points of the alignment marks 1001 and 1002, which are the identification targets. The operating controller 200 uses the calculated values to instruct the drive controllers 121, 122, and 123 to control the drives 111, 112, and 113, thereby moving the workpiece 10. However, after a single control operation, the difference from the target coordinates is usually not within a permissible range. Therefore, the acquisition of the identification targets and the control of the drives 111, 112, and 113 are performed repeatedly.
[0045] In such repeated processing, the processing load for searching for the identification targets in the images acquired by the imaging devices 300 is noticeably high. The alignment system 1 according to the present disclosure reduces the processing load by limiting the search area.
[0046] In the following, this process will be described with reference to the Fig. 6, Fig. 7 to Fig. 8 described in detail. Fig. Figure 6 is a functional block diagram showing an alignment system 1 according to the present embodiment. Fig. Figure 7 is a flowchart of an alignment control process performed by the operations control unit 200. Fig. Figure 8 is a flowchart of a search process performed by the 400 image processor.
[0047] The operating control 200 first provides a command to move the workpiece 10 to a preset approximate target position (step S101 in Fig. 7) In particular, the operating controller 200 outputs control signals to the drive controllers 121, 122, and 123 to initiate movement in the respective directions. The drives 111, 112, and 113 are then driven by the drive controllers 121, 122, and 123, respectively, based on the control signals, to move the carrier table 101 on which the workpiece 10 is placed.
[0048] After the movement, the operating controller 200 instructs the image processor 400 to retrieve captured images and perform a search (step S102), and generates and outputs position information based on the outputs from the position sensors in the drives 111, 112, and 113 (step S103). The operating controller 200 then waits until the image processor 400 has completed the search (step S104).
[0049] The image processor 400, which is instructed by the operating controller 200 to perform the search process for the identification targets in step S102, executes the process described in the Fig. The process shown in Figure 8 is carried out. In this state, an image is acquired for the first time (JA in step S201), and the image reference device 411 in the image processor 400 acquires the images acquired by the imaging devices 300 (step S202). The viewfinder 413 then performs a rough search for the identification targets (step S203).
[0050] The coarse search is performed, for example, using a pattern match that employs a pre-registered pattern model of the alignment marker 1001. The searcher 413 detects the alignment marker 1001 when the pattern match rate is greater than or equal to a predetermined threshold and determines a search area for a fine search based on the position of the reference point of the alignment marker 1001 or the rotation angle of the alignment marker 1001 (step S204). The shape or size of the search area in this step is appropriately preset for the shape or size of the alignment marker 1001 and can be adjusted by user input into the settings terminal 500.
[0051] For example, the searcher identifies 413 for the one in the Fig. 9A shows the cross alignment mark 1001 as a reference point and determines the rotation angle of the cross by pattern matching and defines a search area 1301 with a size obtained by adding a predetermined tolerance to the size of the alignment mark 1001. Additionally, a search area is determined based on the angle (a search angle range) that is in the Fig. 9B is shown.
[0052] The viewfinder 413 performs a fine search in the portion of the image within the search area defined in step S204 (step S205). This fine search includes, for example, edge detection to accurately detect straight lines or curves in order to obtain more precise actual coordinates of the identification target. The actual coordinates of the identification target include the position of the reference point (XY coordinates) and the rotation angle (θ coordinate) of the identification target.
[0053] If the searcher 413 does not detect an identification target during the fine search in step S205 (NO in step S212), the process returns to step S201 and repeats steps S202 to S205. If the identification target is successfully detected during the fine search in step S205 (YES in step S212), the searcher 413 outputs the actual coordinates of the identification target detected in step S205 to the operations controller 200 (step S213).
[0054] It will again refer to the flowchart of the Fig. 7. After the search process with image processor 400 is complete (YES in step S104), the operating controller 200 obtains the actual coordinates from image processor 400 (step S105) and calculates the difference from the target coordinates. If the difference between the actual coordinates and the target coordinates is less than or equal to the threshold (YES in step S106), the alignment control process is terminated. The target coordinates in this example are the coordinates of the alignment target and include a center position (XY coordinates) and a rotation angle (θ coordinate).
[0055] If the difference between the actual coordinates and the target coordinates is greater than the threshold (NO in step S106), the command generator 213 provides a command to correct the position of the aligner 100 (step S107, or providing a command). Specifically, the command generator 213 outputs control signals to the drive controllers 121, 122, and 123 to align the actual coordinates with the target coordinates.
[0056] After drives 111, 112, and 113 have been driven, the process returns to step S102. The operating controller 200 again provides an instruction to perform image acquisition and search (step S101) and outputs position information (step S103).
[0057] It will again refer to the flowchart of the Fig. 8. Since the image acquisition is being carried out for the second or a subsequent time, and the last acquisition was successful (NO in step S201), the image processor 400 obtains position information (step S206). The area determiner 412 in the image processor 400 calculates predicted coordinates of the identification target at time (step S207).
[0058] In particular, the range determiner 412 identifies a relationship between the position information obtained from the operational controller 200 during the first alignment control and the actual coordinates acquired during the first fine search. For example, the relationship between the XY coordinates of the position information obtained during the first control and the XY coordinates of the actual coordinates is represented by a constant matrix A in Formula 1 below, where (x1, y1) are the XY coordinates of the position information obtained during the first control and (X1, Y1) are the XY coordinates of the actual coordinates. A=(X1,Y1) / (x1,y1)
[0059] The XY coordinates (X2, Y2) of the prediction coordinates to be used in the second search can be represented by Formula 2 below, using the constant matrix A represented by Formula 1, where (x2, y2) are the XY coordinates at the second alignment control, specified by the position information obtained from the operational control 200. The nth time, comprising the third or subsequent times, can be represented by Formula 3 in a similar manner. (X2,Y2)=A(x2,y2) (Xn,Yn)=A(xn,yn)
[0060] The constant matrix representing the relationship between position information and actual coordinates can be updated each time, or averaged over multiple runs based on the position and actual coordinates obtained during repeated alignment control. Alternatively, the relationship between position information and actual coordinates can be pre-constructed through pre-calibration. For example, pre-calibration for alignment control using a corner of the support table 101 as an identification target is effective and exhibits a lower error per run.
[0061] As described above, the relationship between the XY coordinates of the identification target's reference point, captured in the acquired images, and the position information is predetermined, and the XY coordinates are predicted from the newly acquired position information using this relationship (step S207). A search area of a predetermined size is then determined using the predicted XY coordinates as its center (step S208). Similarly, the relationship for the θ coordinate between the actual coordinate captured during the fine search and the position information is predetermined, and the θ coordinate, which indicates the rotation angle of the identification target, is predicted based on the newly acquired position information (step S207). A search angle range with a predetermined angular width is then determined using the predicted θ coordinate as its center (step S208).The search area may be different from the area centered around the predicted coordinates and may be an area that encompasses the predicted coordinates in a manner suitable for the alignment conditions or the shape of the identification target.
[0062] The size of the search area can be set by user input on the setting terminal 500 or can be set automatically. For example, the size of the search area can be obtained by adding a tolerance, determined automatically or manually based on the movement speed of drives 111, 112, and 113, to the shape or size of the identification target. In another example, the size of the search area can be determined statistically based on past alignment control results. For example, the size can be obtained by adding the mean of the differences between the predicted coordinates calculated based on the position information and the actual coordinates captured in the image at corresponding past time points as a tolerance to the shape or size of the identification target.
[0063] In other words, in a case where image acquisition is performed a second or subsequent time and the previous acquisition was not unsuccessful, the area determiner 412 determines the search area centered around the predicted coordinates calculated based on the position information from the position sensor outputs in step S207, without performing the coarse search in step S203. This determination of the search area based on position information uses a significantly lower processing load than determining the search area through the coarse search performed in step S203. This enables faster control than the well-known alignment control, which performs a coarse search each time.
[0064] The image reference device 411 references an image (step S209, or reference a captured image) and performs a simple process on the portion of the referenced image corresponding to the search area determined in step S208 (step S210). The simple process is any preprocessing prior to the fine search. For example, the viewfinder 413 can perform a coarse search in an area larger than the search area determined in step S208 but smaller than the entire area and can redefine the search area. In another example, the simple process can be a coarse search for the θ-coordinate to determine a search angle range, given that the predicted XY coordinates were calculated in step S207 and the search area was determined based on the XY coordinates in step S208. The simple process can be omitted.
[0065] The viewfinder 413 then performs a fine search in the search area specified in step S208 or in the area specified in step S210 (step S211, or scanning the captured image). The procedure for the fine search is the same as in step S205. If no identification target is acquired during the fine search in step S211 (NO in step S212), the process returns to step S201 and performs steps S202 through S205, with the previous acquisition having been unsuccessful (YES in step S201). Restarting with a coarse search in the full area can prevent a loss of control resulting from repeated failed acquisitions during the fine search.
[0066] If the identification target is successfully detected in the fine search in step S211 (YES in step S212), the actual coordinates of the identification target obtained in step S211 are output to the operational control 200.
[0067] It will again refer to the flowchart of the Fig. 7. The operating controller 200 obtains the actual coordinates from the image processor 400 (step S105) and calculates the difference from the target coordinates. If the difference between the actual coordinates and the target coordinates is less than or equal to the threshold (YES in step S106), the operating controller 200 terminates the alignment process.
[0068] If the difference between the actual coordinates and the target coordinates is greater than the threshold (NO in step S106), the command generator 213 provides a command to correct the position of the aligner 100 (step S107). Specifically, the command generator 213 sends signals to the drive controllers 121, 122, and 123 to align the actual coordinates with the target coordinates. The process then returns to step S102 and continues.
[0069] As described above, the alignment system 1 according to the present embodiment comprises the image processor 400 and the operating controller. The image processor 400 detects an identification target in an image of the workpiece 10 that includes the identification target. The operating controller controls the drives 111, 112, and 113, which move the workpiece 10 based on the actual coordinates of the identification target detected by the image processor 400.The image processor 400 determines in advance the relationship between the position information based on the outputs from the position sensors in the drives 111, 112, and 113 and the actual coordinates of the identification target captured in the image. Using this relationship, it calculates the predicted coordinates of the identification target from the position information that is subsequently acquired, defines a search area encompassing these predicted coordinates, and captures the identification target in the portion of the image corresponding to the search area. This eliminates a coarse search across the entire area and enables fast and precise positioning. Design 2
[0070] The embodiment 2 of the present disclosure is described below with reference to the drawings. Similar reference numerals denote identical or corresponding components in the drawings.
[0071] The overall structure of an alignment system 2 according to embodiment 2 and the hardware configuration of each component are the same as in embodiment 1. The alignment system 2 according to embodiment 2 differs from the system in embodiment 1 in that the image reference device 411 in the image processor 400 generates a transmission instruction that specifies a transmission range for obtaining captured images from the imaging devices 300, and furthermore in that the viewfinder 413 performs the search process in the part of each captured image within the transmission range.
[0072] In the present embodiment, as in embodiment 1, the drive controllers 121, 122 and 123, the operating controller 200, the image processor 400 and the imaging devices 300 are interconnected to communicate with each other. However, the structure in the present embodiment uses a higher responsiveness than the structure in embodiment 1 and can use a commercial network such as CC-Link IE Field or CC-Link IE TSN as a communication link.
[0073] To maintain synchronization in the commercial network, such as CC-Link IE Field and CC-Link IE TSN, hardware devices (H / W devices) include a mechanism that achieves a certain degree of punctuality and synchronizes the times between the devices in microseconds by statistically measuring delays across the transmission paths. Synchronization schemes based on a
[0074] Transmission path delay measurement uses measurements that indicate transmission path delays from a master station to a device station to improve synchronization accuracy. Fig. Figure 10 shows a synchronization scheme based on a transmission path delay measurement. In this scheme, synchronization is performed at synchronization points. A transmission control frame (MyStatus) sent by a master station 40 propagates over the distance with a delay.
[0075] Master station 40 calculates the transmission delay duration for device stations 50, 60, and 70 based on the times at which it receives response signals from these stations and transmits this delay duration to them. Each synchronization point is the time a predetermined duration (Tsync) has elapsed since master station 40 sent the transmission control frame (MyStatus). Each of device stations 50, 60, and 70 performs a synchronization at a time Tps, calculated by subtracting the transmission path delay duration (Tsync delay duration) from the time the device received a transmission control frame (MyStatus).
[0076] In the present embodiment, this transmission path delay measurement scheme is used to perform the timing control of the drive controllers 121, 122, and 123, the operating controller 200, the imaging devices 300, and the image processor 400, for example, using the operating controller 200 as the master station 40. In other words, the drive controllers 121, 122, and 123, the operating controller 200, the imaging devices 300, and the image processor 400 are interconnected for communication via a commercial network (a communication line), for which the transmission path delay durations are measured, and they possess synchronized time information.
[0077] The operating controller 200, acting as the master station 40, sets a specific time after the longest transmission path delay has elapsed from the moment the instruction is sent, as the synchronization point. The image processor 400 then defines a range encompassing the prediction coordinates at that specific future time as a transmission range and instructs each imaging device 300 to acquire an image at that specific time and transmit the portion of the image within the transmission range.
[0078] The timing control for each imaging device 300 can be carried out taking into account the aperture speed. Fig. Figure 11 is a diagram showing the timing control for the aperture in the imaging device 300. Using the synchronized timing information used to calculate the synchronization point, the imaging device 300 automatically determines the imaging time based on setting information obtained from the image processor 400 or predetermined setting information. To achieve image acquisition at a specific time in the future, the image processor 400 can appropriately provide a prior imaging instruction within a transition period, or the time for reserved imaging can be aligned with the center of the exposure time range.
[0079] The Fig. Figure 12 is a functional block diagram of the alignment system according to the present embodiment. Fig. Figure 13 is a flowchart of an alignment control process carried out by the operations control unit 200. Fig. Figure 14 is a flowchart of a search process performed by the image processor 400. It illustrates the operation of the alignment system 2 with reference to the flowcharts in the Fig. 13 and Fig. 14 described.
[0080] The operating control 200 first provides a command to move the workpiece 10 to a predetermined approximate target position (step S101 in Fig. 13) In particular, the operating controller 200 outputs control signals to the drive controllers 121, 122, and 123 to initiate movement in the respective directions. The drives 111, 112, and 113 are then driven by the drive controllers 121, 122, and 123, respectively, based on the control signals, to move the carrier table 101 on which the workpiece 10 is placed.
[0081] After the motion command is issued, the operating controller 200 determines the imaging time in the imaging devices 300 as time Tn (n=1) (step S122) and specifies the time for the image processor 400. The position information generator 211 in the operating controller 200 generates position information based on the outputs from the position sensors in the drives 111, 112, and 113 and outputs the position information (step S103). The operating controller 200 then waits until the image processor 400 has completed its search (step S104).
[0082] After receiving the position information from the operating controller 200, the image processor 400 executes the process described in the Fig. The process shown in Figure 14 is carried out. In this state, image acquisition is performed for the first time (JA in step S201), which is why the image reference device 411 in the image processor 400 instructs each imaging device 300 to acquire images at time Tn (n=1) and to transmit the entire area of the acquired image (step S221). The image reference device 411 then acquires the entire area of the acquired image (step S222).
[0083] The viewfinder 413 in the image processor 400 performs a coarse search for the identification target across the entire area of the captured image (step S203). This coarse search is performed, for example, by pattern matching using a pre-registered pattern model of the alignment marker 1001. The viewfinder 413 detects the alignment marker 1001 as the identification target if the pattern match rate is greater than or equal to a predetermined threshold and determines a search area for a fine search based on the position of the reference point of the alignment marker 1001 or the rotation angle of the alignment marker 1001 (step S204). The shape or size of the search area is predetermined in this example based on the shape or size of the alignment marker 1001 and can be adjusted by user input into the settings terminal 500.
[0084] Then, a fine search is performed in the portion of the image within the search area determined in step S204 (step S205). This fine search includes, for example, edge detection to identify precisely straight lines or curves in order to obtain more accurate actual coordinates of the identification target. The actual coordinates of the identification target include the position of the reference point (XY coordinates) and the rotation angle (θ coordinate) of the identification target.
[0085] If no identification target is detected during the detailed search in step S205 (NO in step S212), the process returns to step S201 and repeats steps S221, S222, and S203 to S205. If the identification target is successfully detected during the detailed search in step S205 (YES in step S212), the actual coordinates of the identification target detected in step S205 are output to the operational controller 200 (step S213).
[0086] It will again refer to the flowchart of the Fig. 13. After the search process with image processor 400 is complete (YES in step S104), the operating controller 200 obtains the actual coordinates from image processor 400 (step S105) and calculates the difference from the target coordinates. If the difference between the actual coordinates and the target coordinates is less than or equal to the threshold (YES in step S106), the alignment control process is terminated. The target coordinates in this example are the coordinates of the alignment target and include a center position (XY coordinates) and a rotation angle (θ coordinate).
[0087] If the difference between the actual coordinates and the target coordinates is greater than the threshold (NO in step S106), the command generator 213 provides a command to correct the position of the aligner 100 (step S107, or providing a command). Specifically, the command generator 213 outputs control signals to the drive controllers 121, 122, and 123 to align the actual coordinates with the target coordinates.
[0088] After providing the correction command to the aligner 100, the operating control 200 returns to step S122, determines the imaging time as time Tn (n=2) (step S122), outputs the position information (step S103) and waits until the image processor 400 has finished the search process (step S104).
[0089] It will again refer to the flowchart of the Fig. 14. Since the next image acquisition is being performed for the second or a subsequent time, and the previous acquisition was successful (NO in step S201), the image processor 400 instructs each imaging device 300 to acquire an image at time Tn (n=2) (step S223). The image processor 400 obtains the position information from the operating controller 200 (step S206). The range determiner 412 in the image processor 400 predicts the coordinates of the identification target at that time (step S207).
[0090] The coordinate prediction method, as in embodiment 1, comprises identifying the relationship between the position information obtained from the operating controller 200 during the first alignment control and the actual coordinates acquired during the first fine search. The range determiner 412 uses the identified relationship to predict the XY coordinates of the identification target's reference point based on the position information obtained in step S206 (step S207). The range determiner 412 then determines a transmission range of a predetermined size centered on the XY coordinates predicted in step S207 and instructs each imaging device 300 to transmit a captured image for which a transmission range is specified (step S226).The transmission area may be different from the area centered around the predicted XY coordinates and may be an area that appropriately encompasses the predicted XY coordinates for the alignment conditions or the shape of the identification target.
[0091] The size of the transmission range can be set via user input on the settings terminal 500. For example, robustness and processing speed have a trade-off relationship, and therefore a smaller transmission range can be set to prioritize throughput that maximizes average processing speed while allowing for some fluctuation in processing. Conversely, a larger transmission range can be set if fluctuation characteristics are to be prioritized over processing speed to achieve a constant processing time.
[0092] In another example, the size of the transmission range can be obtained by adding a tolerance, set automatically or manually based on the movement speeds of drives 111, 112, and 113, to the shape or size of the identification target. In yet another example, the range determiner 412 can statistically determine the size of the transmission range based on previous alignment control results. For example, the range determiner 412 can determine the size of the transmission range by adding the mean difference between the predicted coordinates, calculated based on past position information, and the actual coordinates of the identification target captured in the image as a tolerance to the size of the identification target.
[0093] Therefore, if image acquisition is performed a second or subsequent time, and the previous acquisition was not unsuccessful, as in this case, each imaging device 300 transmits the portion of the image within the transmission range that is centered around the predicted coordinates based on the position information from the position sensors, as determined in step S226, without transmitting the entire image area. The data volume of the image transmitted in this step is significantly smaller than the data volume of the image transmitted in step S221, which included the entire area. The data transmission volume and transmission time can be reduced compared to the case where the entire image area is transmitted each time, thus enabling fast control without a coarse search performed across the entire area.
[0094] The image reference device 411 references the portion of the image within the transmission range that is to be transmitted as specified by the transmission instruction in step S226 (step S209, or Retrieving an Image). The searcher 413 performs a simple process on the portion of the image within the transmission range (step S210). The simple process is a basic preprocessing step prior to the fine search. For example, the coarse search can be performed on the portion of the image within the transmission range referenced in step S209 to determine the search area. In particular, the simple process can be a coarse process for the θ-coordinate to determine a search angle range. The simple process can be omitted.
[0095] A fine search is then performed in the portion of the image within the transmission area referenced in step S209, or in the search area specified in step S210 (step S211, or scanning the acquired image). The fine search procedure is the same as in step S205. If the fine search in step S211 fails to acquire an identification target (NO in step S212), the process returns to step S201 and performs steps S221, S222, and S203 through S205, assuming the previous acquisition was successful (YES in step S201). Restarting with a coarse search across the entire image area can prevent a loss of control resulting from repeated failed acquisitions during the fine search.
[0096] If the identification target is successfully detected during the detailed search in step S211 (YES in step S212), the actual coordinates of the identification target detected in step S211 are output to the operational control 200 (step S213).
[0097] It will again refer to the flowchart of the Fig. 13. The operating controller 200 obtains the actual coordinates from the image processor 400 (step S105) and calculates the difference from the target coordinates. If the difference between the actual coordinates and the target coordinates is less than or equal to the threshold (YES in step S106), the operating controller 200 terminates the alignment process.
[0098] If the difference between the actual coordinates and the target coordinates is greater than the threshold (NO in step S106), the command generator 213 provides a command to correct the position of the aligner 100 (step S107). Specifically, the command generator 213 issues control signals to the drive controllers 121, 122, and 123 to align the actual coordinates with the target coordinates. The process then returns to step S122 and continues.
[0099] As described above, the area determiner 412 in the image processor 400 determines the transmission area of the image based on the position information, and the viewfinder 413 performs a fine search in the image transmitted by each imaging device 300. This noticeably reduces the transmission time and the search time.
[0100] The image processor 400 can specify the transmission range for the imaging devices 300 before issuing an imaging trigger to the imaging devices 300, instead of specifying the imaging parameters that comprise the transmission range along with an imaging instruction.
[0101] When the transmission range is specified along with the imaging instruction, the synchronization scheme described above, based on a transmission path delay measurement, is used to synchronize the timing of image acquisition by the imaging devices 300 and the retrieval of position information. This reduces waiting time and enables searching within a suitable transmission range. If the transmission range is specified in advance, the imaging trigger is output solely over the dedicated line, thus enabling precise synchronization of the image acquisition time.
[0102] The entire area of the image specified in step S221 and the area specified in step S226 in Fig. 14. A specified portion of the image within the transmission range can be reduced in size by any imaging device 300 prior to transmission. A method for such image reduction can be any known method, such as undersampling or binning. In particular, binning has a relatively low processing load and can improve the signal-to-noise ratio (SRV) of pixel signals, thereby preventing a reduction in position detection accuracy when the resolution is reduced by image reduction.
[0103] Regarding the limitation (clipping) of the transmission range, as specified by the transmission instruction in step S226, image reduction can be performed along with transmission range limitation if the actual coordinates and the target coordinates are far apart in an early stage of alignment control. If the actual coordinates and the target coordinates are close enough to be within a predetermined distance range, reduction is not necessary. If the image size is reduced across the entire range or within the transmission range, a trained data reduction model can be prepared as a template for a search, and the seeker 413 can perform a coarse or fine search using this model.
[0104] In parallel with the detailed search (step S211) for retrieving the portion of the captured image within the transmission area, as specified by the transmission instruction in step S226, the entire area of the captured image can also be retrieved. This saves time when retrieving the entire area of the captured image if no identification target is detected during the detailed search in step S211 (NO in step S212). In this case, if the identification target is detected during the detailed search, the transmission of the entire area of the captured image can be stopped, or the transmitted images can be deleted.
[0105] As described above, in the alignment system 2 according to the present embodiment, the image processor 400 identifies in advance the relationship between the position information provided by the drives 111, 112, and 113 and the actual information of the identification target captured in the acquired image. Using this relationship, the image processor 400 calculates the predicted coordinates of the identification target based on the next available position information, determines a transmission range of the image encompassing these predicted coordinates, and detects the identification target by a fine search within the transmission range of the portion of the image transmitted by each imaging device 300.This reduces the transmission time and the transmission volume of the image to be transmitted, and also eliminates a coarse search across the entire image area, thus enabling fast and precise alignment control. Modifications
[0106] The above embodiments can be modified in various ways. Modifications are described below. Modification 1
[0107] In embodiments 1 and 2, the range determiner 412 in the image processor 400 determines the area encompassing the predicted coordinates calculated based on the position information as the search area or the transmission area based on the outputs from the position sensors in the drives 111, 112, and 113. The search area or transmission area can be determined in another way. Modification 1 describes other methods for determining a search area or a transmission area.
[0108] In this modification, command information for driving drives 111, 112, and 113 is used to calculate predicted coordinates for determining a search area or a transfer area. Specifically, the area determiner 412 in the image processor calculates the predicted coordinates based on the command information and determines a search area or a transfer area encompassing the predicted coordinates.
[0109] In the present modification, the image acquisition of the imaging devices 300, the driving of the drives 111, 112 and 113 based on the command information and the obtaining of the outputs from the position sensors are controlled in such a way that they are synchronized with each other, thus enabling faster control. Fig. Figure 15 is a functional block diagram of an alignment system 3 according to the present modification. Fig. Figure 16 is a flowchart of an alignment control process carried out by the operational control 200 according to the present modification. Fig. Figure 17 is a flowchart of a search process performed by the 400 image processor.
[0110] The structure in the Fig. 15, Fig. 16 to Fig. Figure 17 represents a modification of embodiment 2 and defines an image transmission area based on the command information. However, the structure can similarly represent a modification of embodiment 1 and define an image search area based on the command information. The operation of the alignment system 3 according to the present modification is described below with reference to the flowcharts in the Fig. 16 and Fig. 17 described. Identical processing methods for embodiment 2 are not described.
[0111] The operating control 200 first provides a command to move the workpiece 10 to a preset approximate target position (step S101 in Fig. 16) The command information is forwarded to the image processor 400 for use in determining the transmission range. The drives 111, 112, and 113 are then driven by the control signals for the command information to move the carrier table 101 on which the workpiece 10 is placed.
[0112] After the motion command is issued, the operating controller 200 determines the imaging time in the imaging devices 300 as the specific future time Tn (n=1) (step S122) and specifies the time Tn for the image processor 400. The position information generator 211 in the operating controller 200 specifies the position information for acquisition at time Tn based on the outputs from the position sensors in the drives 111, 112, and 113 (step S123). The operating controller 200 then waits until the image processor 400 has completed the search (step S104). The subsequent operation of the image processor 400 is the same as in embodiment 2. The image processor 400 performs steps S221, S222, S203 to S205, S212, and S213 in the Fig. 17 through.
[0113] It will refer again to the flowchart in the Fig. 16. When the image processor 400 completes the search process (YES in step S104), the motion computer 212 in the operating controller 200 obtains the actual coordinates from the image processor 400 (step S105), and the position information generator 211 generates and receives position information based on the outputs from the position sensors at time Tn (step S124). The motion computer 212 calculates the difference between the actual coordinates and the target coordinates. If the difference between the actual coordinates and the target coordinates is less than or equal to the threshold (YES in step S106), the operating controller 200 terminates the alignment control process.
[0114] If the difference between the actual coordinates and the target coordinates is greater than the threshold (NO in step S106), commander 213 provides a command to correct the position of the aligner 100. Commander 213 refers to the position information at the specific time Tn, which is recorded in step S124, and provides a command to also compensate for the deviation between the position specified by the command and the actual position specified by the position information (step S125).
[0115] After the command is sent to the aligner 100 via the command transmitter 213, the operating control 200 returns to step S122, determines the imaging time as time Tn (n=2) (step S122), specifies the position information for time Tn (n=2) for acquisition (step S123) and waits until the image processor 400 has completed the search process (step S104)
[0116] It will refer again to the flowchart in Fig. 17. If the next image acquisition is performed for the second or a subsequent time and the previous acquisition was successful (NO in step S201), the image processor 400 instructs each imaging device 300 to acquire an image at time Tn (n=2) (step S223). The image processor 400 obtains the command information at time Tn from the operating controller 200 (step S224). The range determiner 412 in the image processor 400 calculates the predicted coordinates of the identification target at this time (step S225).
[0117] The method for calculating the predicted coordinates using the range finder 412 first identifies the relationship between the command information during the initial alignment control (instead of the position information as in embodiment 2) and the actual coordinates acquired during the initial fine search. The range finder 412 uses the identified relationship to calculate the predicted coordinates (XY coordinates) of the reference point of the identification target based on the command information about the planned position at time Tn, obtained in step S224 (step S225). The method for predicting the coordinates using the relationship is the same as in embodiment 2.
[0118] The area determiner 412 then determines a transmission area of a predetermined size centered on the XY coordinates predicted in step S225 and instructs each imaging device 300 to transmit the portion of the image within the determined transmission area (step S226). The transmission area may be different from the area centered on the predicted XY coordinates and may be an area that appropriately incorporates the predicted XY coordinates for the alignment conditions or the shape of the identification target.
[0119] The image reference device 411 references the portion of the image within the transmission area that is to be transmitted as specified by the transmission instruction in step S226 (step S209) and performs a simple process (step S210). The viewer 413 then performs a fine search in the portion of the image within the transmission area referenced in step S209 or in the image that underwent the simple process in step S210 (step S211). If no identification target was acquired during the fine search in step S211 (NO in step S212), the process returns to step S201 and performs steps S221, S222, and S203 through S205, with the previous acquisition having been unsuccessful (YES in step S201).
[0120] If the identification target is successfully detected during the detailed search in step S211 (YES in step S212), the actual coordinates of the identification target obtained in step S211 are output to the operating controller 200 (step S213). The subsequent processing performed by the operating controller 200 is the same as in embodiment 2.
[0121] As described above, the range determiner 412 in the image processor 400 determines the transmission range of the image based on the command information from the operating controller 200. The viewfinder 413 performs a fine search in the image transmitted by each imaging device 300. This enables more efficient timing control and faster alignment control, with the search range or transmission range determined based on the command information about the planned future position. Modification 2
[0122] Modification 2 describes a different method for determining a search area or a transmission area. In embodiments 1 and 2, the area determiner 412 determines a search area or a transmission area centered around the predicted coordinates calculated based on the position information. In the present modification, the search area or the transmission area is determined using the last acquired actual coordinates as the center.
[0123] In particular, the range determiner 412 defines as the transmission range an area centered around the reference point of the identification target last acquired by the viewfinder 413 in the image processor 400 during fine search and stored in the non-volatile memory 230, without reference to the position or command information. In another example, the range determiner 412 defines as the search range an area centered around the reference point of the stored identification target, or the angular range centered around the rotation angle of the identification target. The transmission range or the search range may be different from the area centered around the last acquired coordinates and may include an area that appropriately incorporates the last acquired actual coordinates for the orientation conditions or the shape of the identification target.
[0124] The size of the search area or transmission area can be determined based on the movement speed of the actual coordinates of the previously acquired identification target. Alternatively, the size of the search area or transmission area can be determined based on the movement speed of each drive, using setting parameters in the alignment control. For example, the size can be determined by multiplying the maximum movement speed by the imaging interval of the imaging devices. If the movement distance between imaging intervals is short, such as when short imaging intervals are set, the most recently acquired result can be used to adequately limit the search area or transmission area.The structure in this modification can therefore simplify processing compared to the structures in embodiments 1 and 2 and modification 1. Modification 3
[0125] Modification 3 describes a different method for determining a search area or a transmission area. In this modification, the area determiner 412 determines the search area or the transmission area based on the trajectory of the actual coordinates acquired in past fine searches performed by the seeker 413. In other words, the structure calculates the predicted coordinates based on the trajectory of the actual coordinates of the identification target acquired in past fine searches performed by the seeker 413 in the image processor 400 and stored in the non-volatile memory 230, without referencing the position or command information as in embodiments 1 and 2, and determines an area centered around the predicted coordinates as the search area or the transmission area.
[0126] In particular, the range determiner 412 defines as the transmission range an area of a predetermined size centered around the XY coordinates predicted based on the trajectory of the XY coordinates of the reference point of the identification target. In another example, the range determiner 412 defines as the search range an area of a predetermined size centered around the XY coordinates predicted based on the trajectory of the XY coordinates of the reference point of the identification target, or an angular range centered around the θ coordinate predicted based on the trajectory of the θ coordinate. Fig. 18A and Fig. Figure 18B shows diagrams illustrating the prediction of the identification target. The transmission area or search area may be different from the area centered around the predicted coordinates and may be an area that appropriately encompasses the predicted coordinates for the alignment conditions or the shape of the identification target.
[0127] The predicted coordinates (XYθ coordinates) are calculated based on the prediction made during image acquisition by the imaging devices 300, using two or more previous acquisitions and the actual coordinates at each of those two or more previous acquisitions. For example, as in the Fig. Figure 18A shows that the XY coordinates are predicted during image acquisition by linear prediction based on data indicating the XY coordinates at the last two times, or more specifically, the last time and the time before last. In another example, as shown in the Fig. Figure 18B shows that the XY coordinates at image acquisition were predicted by a second-order prediction based on data indicating the XY coordinates the last three times, or more specifically, the last time, the second-to-last time, and the time before that.
[0128] The size of the search area or transmission range can be determined based on the movement speed of the actual coordinates of the previously acquired identification target. In other examples, the size can be determined based on the movement speeds of the drives 111, 112, and 113. For example, the size can be determined by multiplying the maximum movement speed by the imaging interval of the imaging devices 300. A linear prediction has lower prediction accuracy than a second-order or higher-order prediction and therefore requires a larger search area or transmission range.
[0129] The size of the search area or transfer area can be determined based on statistical information about errors from past acquisition results. For example, the size can be obtained by adding the mean difference between the predicted coordinates based on the trajectory of the actual coordinates and the corresponding actual coordinates acquired in the image at past times, as a tolerance for the shape and size of the identification target.
[0130] If the imaging interval is larger and the movement distance between the imaging intervals is greater, the structure in the present modification may exhibit higher prediction accuracy and may have a smaller search range or transmission range. Modification 4
[0131] In the embodiments 1 and 2 described above, the identification target comprises the alignment markings 1001 and 1002 on the workpiece 10, but the processing can be suitably modified in part with respect to the shape of the identification target. Fig. Figure 19A is a diagram showing a rough search in the present modification. Fig. 19B is a diagram showing a fine search in the present modification.
[0132] For example, the searcher 413 leads to a workpiece 12, which is a multi-terminal integrated circuit (IC), as identification targets, as in the Fig. 19A shows a rough search by pattern matching using a pattern model 1312 by (step S203 in Fig. 8).
[0133] During the search, the searcher 413 determines a search area 1314 for a fine search based on the position or rotation angle of a pattern 1313, if the pattern match rate is greater than or equal to a predetermined threshold (step S204 in Fig. 8) In this pattern matching, as described in the Fig. As shown in Figure 19A, multiple patterns with a match rate greater than or equal to a predetermined threshold can be detected. In this case, a pattern 1313 with the highest match rate can be identified to determine the search area 1314.
[0134] In the Fig. In the example shown in Figure 19B, the searcher 413 determines the search area 1314 with a predetermined positional relationship to the pattern 1313 identified by the coarse search, as the search area for the fine search (step S204 in Fig. 8) The search unit 413 performs a fine search in the search area determined in step S204 (step S205 in Fig. 8).
[0135] If, in embodiments 1 and 2, the image acquisition is performed a second or subsequent time and the previous acquisition was successful (NO in step S201 in Fig. 8), the search area is determined, which includes the predicted coordinates calculated based on the position information (step S208 in Fig. 8), and the fine search is performed (step S211 in Fig. 8) However, if the predicted coordinates can be calculated with a predetermined accuracy, as in the case described in the Fig. As shown in IC 19A, the fine search can be repeated using the search area determined during the coarse search in step S203, without calculating the predicted coordinates based on the position information. If the fine search is unsuccessful, the search area for the coarse search can be determined.
[0136] The structure according to the present modification can suitably simplify the process for the shape of the identification target. An application in the setting terminal 500 can classify the shape of the identification target and automatically select a search procedure for the classification. Modification 5
[0137] In modification 5, described below, the identification target has a different form. Fig. 20A is a diagram showing a rough search in the present modification. Fig. Figure 20B is a diagram illustrating a fine search in the present modification. In this modification, a processor in the 500 configuration terminal executes a dedicated application program to automatically register a model for coarse search and generate logic for fine search.
[0138] For example, the processor in the setting terminal 500 extracts for a workpiece 13, which, as in the Fig. Figure 20A shows a lens that takes a lens outline from a captured image and registers a pattern model 1322. The processor then automatically generates search logic for a fine search based on the shape of the pattern model 1322. For example, if, as shown in the Fig. As shown in Figure 20B, when the processor in the setting terminal 500 detects the shape of the pattern model 1322, which includes an arc, the processor automatically generates as fine search logic a logic which includes a search for an edge, an approach of the detected edge to a circle, and a detection of the center of the circle as a reference point 1323.
[0139] The image processor 400 performs the search process described in embodiments 1 and 2 using the coarse search pattern and fine search logic generated by the application in the setting terminal 500. The structure according to the present modification can appropriately perform an optimal coarse search and an optimal fine search for the shape of the identification target. Furthermore, the structure enables automatic presetting for the search process with the image processor 400, thus reducing the requirement for a user to enter settings into the setting terminal 500. Modification 6
[0140] In embodiments 1 and 2, the coarse search is performed in the first acquired image, the fine search is performed in the search area determined based on the result of the coarse search, and the predicted coordinates of the identification target are calculated based on the result of the fine search to determine the search area or the transfer area for the next fine search. However, if the prediction accuracy of the identification target's coordinates is sufficiently high, the coarse search in the first acquired image can be eliminated by performing a calibration prior to the alignment control. Such pre-calibration is particularly effective for an alignment control using a corner of the carrier table 101 where the workpiece 10 is placed, resulting in a small error per execution.
[0141] The Fig.Figure 21 is a flowchart of a search process excluding the coarse search for the first acquired image. After the image reference device 411 has acquired an acquired image for the first time (step S301), the range determiner 412 calculates the predicted coordinates of the identification target based on position information using precalibration information (step S302). The search area encompassing the predicted coordinates calculated by the range determiner 412 is determined (step S303), and a coarse search is performed within the determined search area (step S304).
[0142] If the actual coordinates of the identification target are successfully acquired during the fine search in step S304, these coordinates are output to the operating controller 200 (step S309), and the operating controller 200 controls drives 111, 112, and 113 using these coordinates. After the workpiece 10 has moved, a fine search is performed for the next acquired image in the same search area as the last one. Accordingly, the fine search is repeated without a coarse search if the actual coordinates are successfully acquired during the fine search.
[0143] If the fine search fails to detect the identification target (NO in step S305), a coarse search is performed (step S306) to define a search area (step S307). The fine search is then performed within this defined search area (step S308), and the actual coordinates are output (step S309). In the modification described above, the fine search is repeated based on the pre-calibration information, and the coarse search is performed only if the identification target cannot be detected. This simplifies processing and enables rapid alignment control.
[0144] The hardware configurations and flowcharts described in the above embodiments and modifications are merely examples and may be changed and modified as appropriate. For example, in the above embodiments and modifications, the operating controller 200, the imaging devices 300, the image processor 400, and the setting terminal 500 are independent components, but at least two of the components may be integrally implemented.
[0145] The search processes shown in the above embodiments and modifications can be combined as appropriate. The setting terminal 500 can be used to select any of the search processes in the above embodiments and modifications. In another example, the image processor 400 can automatically select any of the search processes from the above embodiments and modifications as appropriate for conditions such as workpiece types and the shapes of the identification target.
[0146] In the above embodiments and modifications, the functions implemented by the processors in the control unit 200 and the image processor 400 are divided in an exemplary manner and may be divided in another suitable manner. The functions implemented by the processors in the control unit 200 and the image processor 400 may be implemented in a general-purpose computer system instead of a specialized system.
[0147] A program for performing the operations described in the embodiments above may be stored on a non-volatile, computer-readable storage medium, such as a CD-ROM (Compact Disc Read-Only Memory), a DVD (Digital Versatile Disc), an MO Disc (Magneto-Optical Disc), or a memory card for distribution, and may be installed on a computer to implement the above functions. In the system where functions can be implemented by the operating system (OS) and an application in a shared manner or through cooperation between the OS and the application, parts executable by the application, other than the OS, may be stored on a non-volatile storage medium.
[0148] The foregoing describes some exemplary embodiments for illustrative purposes. Although the preceding discussion has presented specific embodiments, the person skilled in the art will recognize that changes in form and detail can be made without departing from the broader concept and scope of the invention. Accordingly, the description and drawings are to be understood in an illustrative rather than a limiting sense. This detailed description is therefore not to be understood in a limiting sense, and the scope of the invention is defined only by the appended claims, together with the entire range of equivalents covered by those claims. Reference symbol list 1, 2, 3 alignment system 10, 12, 13 workpiece 11. Alignment goal 40 Masterstation 50, 60, 70 Device station 100 organizers 101 Carrier table 111, 112, 113 Drive 121, 122, 123 Drive control 200 operational control 210 processor 211 Position Information Generators 212 Motion calculator 213 Commanders 220 volatile memory 230 non-volatile memory 231 Control program 232 Control data 240 clock generators 250 communication interface 300 Imaging device 400 image processor 410 processor 411 Image reference device 412 Area Defenders 413 viewfinders 420 volatile memory 430 non-volatile memory 431 Control program 432 Control data 440 clock generators 450 Communication interface 500 setting terminal 1001, 1002 alignment marker 1101, 1102 Alignment target marker 1200 θ-axis rotary center 1201 imaginary marker 1300 Imaging area 1301, 1314 Search area 1312, 1322 Sample model 1313 samples 1323 Reference point
Claims
Alignment system (1) comprising: an image processor (400) for detecting an identification target in a captured image of a workpiece (10) containing the identification target by means of a coarse search and a fine search, which are distinct from each other; an operating controller (200) for controlling a drive (111, 112, 113) for moving the workpiece (10), wherein the control is performed based on actual coordinates of the identification target detected by the image processor (400); and an adjustment terminal (500) for performing an adjustment on the image processor (400), wherein the detection of the identification target by the image processor (400) and the control of the drive (111, 112, 113) by the operating controller (200) are performed repeatedly, wherein the fine search is performed in a search area that is smaller than an area for the coarse search, and wherein the image processor (400) performs the fine search as a subsequent search.without performing the coarse search when the identification target is detected by the fine search, wherein the coarse search includes a pattern matching to perform a comparison of a pattern contained in the workpiece (10) with a pattern model pre-registered by the setting terminal (500), and wherein the fine search is performed using a fine search logic, the search logic being generated by the setting terminal (500) when registering the pattern model to be used in the pattern matching in the coarse search based on a shape of the pattern model. Alignment system (1) according to claim 1, wherein, when registering the pattern model to be used in the coarse search during pattern matching, it is detected that the shape of the pattern model comprises an arc, the setting terminal (500) generates a search logic for the fine search which comprises a search for an edge, an approach of the detected edge to a circle, and a detection of the center of the circle as a reference point, and wherein the image processor (400) performs the fine search using the search logic generated by the setting terminal (500). Alignment system (1) according to claim 1, wherein, when the identification target is detected by the fine search, the image processor (400) determines a search area based on the actual coordinates obtained by the fine search and, as the next search, performs the fine search in the determined search area. Alignment system (1) according to claim 1, wherein, when the identification target is detected by the fine search performed in a search area determined by the coarse search, the image processor (400) performs the fine search in the search area searched in the fine search as the next search. Alignment system (1) according to one of claims 1, 3 or 4, wherein, if the actual coordinates of the identification target are not detected by the fine search, the image processor (400) as the next search performs the coarse search to determine a search area and the fine search within the determined search area. Alignment system (1) according to one of claims 1 or 3 to 5, wherein the image processor (400) performs the fine search in a search area determined by pre-calibration, performs the coarse search to determine a search area if the identification target is not detected by the fine search, and performs the fine search in the determined search area. Alignment system (1) according to one of claims 1 or 3 to 6, wherein the coarse search comprises determining an area of the fine search based on a position or rotation angle of the pattern having a pattern matching rate greater than or equal to a predetermined threshold. Alignment system (1) according to one of claims 1 or 3 to 6, wherein, if a plurality of the patterns have a pattern matching rate greater than or equal to a predetermined threshold, the coarse search comprises determining a fine search area based on a position or rotation angle of a pattern which has the highest matching rate among the plurality of patterns. Alignment procedure, comprising: Capturing an identification target in a recorded image of a workpiece (10) encompassing the identification target by a coarse search or a fine search;and providing a command to a drive (111, 112, 113) to move the workpiece (10), wherein the command is provided based on actual coordinates of the detected identification target, wherein the detection of the identification target and the provision of the command are performed repeatedly, wherein the fine search is performed as a subsequent search without performing the coarse search when the identification target is detected by the fine search, wherein the coarse search includes a pattern matching to perform a matching of a pattern encompassed in the workpiece (10) with a pre-registered pattern model, and wherein the fine search is performed using a fine search logic, wherein the search logic is generated based on a form of the pattern model to be used in the pattern matching in the coarse search.; A program executable by a computer in an alignment system (1) to detect an identification target contained in a workpiece (10) in a captured image of the workpiece (10) and to perform alignment control of the workpiece (10) based on actual coordinates of the detected identification target, wherein the computer is configured to perform image processing with the captured image, the program causing the computer to act as: a seeker (413) to detect the identification target in the captured image by a coarse search or a fine search, and to perform the fine search as a subsequent search without performing the coarse search if the identification target is detected by the fine search, wherein the coarse search includes a pattern matching to perform a matching of a pattern contained in the workpiece (10) with a pre-registered pattern model.and wherein the fine search is performed using a fine search logic, the search logic being generated based on a form of the pattern model to be used in the pattern matching in the coarse search.
Citation Information
Patent Citations
POSITION CONTROL SYSTEM, POSITION DETECTION DEVICE AND CONTROL PROGRAM
DE102018102833A1
Control system, control unit, image processing apparatus, and program
JP2019215633A
Actuator control system, sensor device, control device, actuator control method, information processing program, and recording medium
JP2020110916A
JP002019215633A
JP002020110916A
