WO2020003945A1 - 位置決めシステム、制御方法およびプログラム - Google Patents

位置決めシステム、制御方法およびプログラム Download PDF

Info

Publication number
WO2020003945A1
WO2020003945A1 PCT/JP2019/022375 JP2019022375W WO2020003945A1 WO 2020003945 A1 WO2020003945 A1 WO 2020003945A1 JP 2019022375 W JP2019022375 W JP 2019022375W WO 2020003945 A1 WO2020003945 A1 WO 2020003945A1
Authority
WO
WIPO (PCT)
Prior art keywords
coordinate system
conversion
target
conversion magnification
unit
Prior art date
Application number
PCT/JP2019/022375
Other languages
English (en)
French (fr)
Inventor
功征 川又
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Publication of WO2020003945A1 publication Critical patent/WO2020003945A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F9/00Registration or positioning of originals, masks, frames, photographic sheets or textured or patterned surfaces, e.g. automatically
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction
    • G05D3/12Control of position or direction using feedback

Definitions

  • the present technology relates to a positioning system, a control method, and a program.
  • Patent Document 1 discloses an imaging device that acquires an image including both an object to be transported and a target, and an image capturing device that analyzes the image acquired by the imaging device to obtain the image of the object to be transported and the target, respectively. And a vision detection device for detecting the position of the object.
  • a vision detection device for detecting the position of the object.
  • the transport device transports the transported object toward the target position when the position of the transported object is not within the permission area.
  • the step of positioning the transferred object is completed.
  • Patent Literature 1 it is determined whether or not the transported object is within the permission area based on the image.
  • the permission area is set in the coordinate system of the transport device in order to determine the relative position between the transported object and the target. Therefore, by using the calibration parameters for converting the coordinate system of the image to the coordinate system of the transfer device, the coordinates of the position of the transferred object in the coordinate system of the image are converted, and thus the transfer of the transferred object in the coordinate system of the transfer device is performed.
  • the position of the object is specified.
  • an error is included in the conversion magnification from the coordinate system of the image to the coordinate system of the transporting device, which is indicated by the calibration parameter, even if the transported object does not actually exist in the permitted area, the error occurs. There is a possibility that the step of positioning the transferred object may be completed. As a result, the positioning accuracy decreases.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide a positioning system, a control method, and a program that suppress a decrease in positioning accuracy.
  • the moving mechanism moves the object.
  • the imaging unit acquires an image including both the target and the target for each imaging cycle.
  • the image processing device specifies a first position of the target in the first coordinate system of the image and a second position of the target in the first coordinate system.
  • the coordinate conversion unit performs a coordinate conversion between the first position and the second position by using a calibration parameter for converting the first coordinate system into the second coordinate system of the moving mechanism, so that the coordinate conversion unit performs the conversion in the second coordinate system.
  • a third position of the target and a fourth position of the target in the second coordinate system are specified.
  • the movement control unit controls the movement mechanism so that the third position approaches the fourth position.
  • the instruction unit instructs the movement control unit to end the movement of the moving mechanism when the distance between the third position and the fourth position is less than the threshold.
  • the setting unit calculates a first conversion magnification from the first coordinate system to the second coordinate system, which is calculated from the calibration parameter, and calculates a first conversion magnification from the first coordinate system to the second coordinate system, which is calculated from design information of the imaging unit.
  • the threshold is set such that the threshold value is smaller when the first conversion magnification is smaller than the second conversion magnification than when the first conversion magnification is larger than the second conversion magnification.
  • the first conversion magnification indicates the conversion magnification when coordinate conversion is performed using the calibration parameters.
  • the second conversion magnification indicates a designed conversion magnification.
  • the third position and the fourth position are specified by performing coordinate conversion on the first position and the second position using the calibration parameters. Therefore, when the first conversion magnification is smaller than the second conversion magnification, the distance between the third position and the fourth position may be estimated to be smaller than the actual distance between the target and the target.
  • the threshold value is smaller when the first conversion magnification is smaller than the second conversion magnification than when the first conversion magnification is larger than the second conversion magnification.
  • the imaging unit includes the imaging device and a lens that guides light from the target and the target to the imaging device.
  • the design information includes information indicating the dimensions of the image sensor, the resolution of the image sensor, the angle of view of the lens, the focal length of the lens, and the distance between the image sensor and the object.
  • the designed conversion magnification can be calculated as the second conversion magnification.
  • the calibration parameter is an affine transformation coefficient.
  • the first conversion magnification is calculated using an affine transformation coefficient. According to this disclosure, by using an affine transformation coefficient, a conversion magnification when coordinate conversion is performed using a calibration parameter can be calculated as a first conversion magnification.
  • the setting unit sets a predetermined value as a threshold when the first conversion magnification is larger than the second conversion magnification, and sets the predetermined value when the second conversion magnification is larger than the first conversion magnification.
  • a product of the obtained value and a quotient obtained by dividing the first conversion magnification by the second conversion magnification is set as a threshold.
  • a control method of a positioning system for positioning an object includes first to fourth steps.
  • the positioning system includes a moving mechanism for moving the target, an imaging unit for acquiring an image including both the target and the target for each imaging cycle, and a target for the target in the first coordinate system of the image.
  • An image processing apparatus is provided for specifying a first position and a second position of the target in the first coordinate system.
  • coordinate conversion between the first position and the second position is performed by using a calibration parameter for converting the first coordinate system into the second coordinate system of the moving mechanism, so that the first coordinate system is converted into the second coordinate system.
  • This is a step of specifying a third position of the target and a fourth position of the target in the second coordinate system.
  • the second step is a step of controlling the moving mechanism so that the third position approaches the fourth position.
  • the third step is a step of terminating the movement of the moving mechanism when the distance between the third position and the fourth position is smaller than the threshold.
  • the first conversion magnification from the first coordinate system to the second coordinate system which is calculated from the calibration parameter, is calculated from the design information of the imaging unit, from the first coordinate system to the second coordinate system.
  • This is a step of setting a threshold value such that the threshold value is smaller when the first conversion magnification is smaller than the second conversion magnification than when the second conversion magnification is larger than the second conversion magnification.
  • the positioning processing ends with insufficient positioning accuracy. Can be suppressed. As a result, a decrease in positioning accuracy can be suppressed.
  • a program for causing a computer to execute the above control method causes the computer to execute the first and second steps. According to this disclosure as well, a decrease in positioning accuracy can be suppressed.
  • FIG. 1 is a schematic diagram illustrating an outline of a positioning system according to the present embodiment.
  • FIG. 2 is a schematic diagram illustrating a hardware configuration of the image processing apparatus illustrated in FIG. 1.
  • FIG. 2 is a schematic diagram illustrating a hardware configuration of a controller illustrated in FIG. 1.
  • FIG. 2 is a block diagram illustrating an example of a functional configuration of the positioning system illustrated in FIG. 1.
  • FIG. 5 is a diagram illustrating an example of an internal configuration of an end determination unit illustrated in FIG. 4.
  • FIG. 3 is a diagram illustrating a configuration of an imaging unit.
  • 9 is a flowchart illustrating an example of a flow of a setting process of an end determination threshold. It is a flowchart which shows an example of the flow of a positioning process. It is a flowchart which shows an example of the flow of a process of movement control.
  • FIG. 9 is a diagram illustrating a method for calculating an encoder value EnsX at an imaging time.
  • FIG. 1 is a schematic diagram showing an outline of a positioning system according to the present embodiment.
  • the positioning system 1 shown in FIG. 1 positions an object (hereinafter, referred to as “target work W”) using image processing.
  • the positioning typically means a process of arranging the target work W at an original position of a production line in a manufacturing process of an industrial product or the like.
  • the positioning system 1 positions the glass substrate with respect to the exposure mask before printing the circuit pattern on the glass substrate (exposure process) on the liquid crystal panel production line.
  • the positioning system 1 includes a moving mechanism 10, a driver unit 20, a visual sensor 30, and a controller 40.
  • the moving mechanism 10 moves the target workpiece W to be placed.
  • the moving mechanism 10 may have any degree of freedom as long as the mechanism can arrange the target work W at the target position.
  • the moving mechanism 10 is, for example, an XY ⁇ stage that can apply horizontal translation and rotation to the target workpiece W.
  • the moving mechanism 10 in the example shown in FIG. 1 includes an X stage 11, a Y stage 13, a ⁇ stage 15, and servomotors 12, 14, and 16.
  • the X stage 11 is translated by the drive of the servomotor 12 along the X direction.
  • the Y stage 13 translates along the Y direction by driving the servo motor 14.
  • stage 15 is rotated in the ⁇ direction by the drive of the servo motor 16.
  • the target work W is placed on the ⁇ stage 15.
  • the servo motors 12, 14, 16 are provided with encoders 12E, 14E, 16E, respectively.
  • Each of the encoders 12E, 14E, and 16E generates a pulse signal corresponding to the drive amount (rotation amount) of the corresponding servo motor.
  • the encoder 12E measures the translation amount of the X stage 11 in the X direction from the initial position as an encoder value EnX by counting the number of pulses included in the pulse signal.
  • the count value of the number of pulses and the movement amount are related by a predetermined coefficient. Therefore, the encoder 12E can measure the movement amount by multiplying the count value of the pulse number by the coefficient.
  • the encoder 14E measures the translation amount of the Y stage 13 in the Y direction from the initial position as an encoder value EnY.
  • the encoder 16E measures the rotational movement amount of the ⁇ stage 15 from the initial position as an encoder value En ⁇ .
  • the driver unit 20 controls the operation of the moving mechanism 10 in accordance with the movement command received from the controller 40 for each control cycle Ts.
  • the driver unit 20 includes servo drivers 22, 24, and 26.
  • the servo drivers 22, 24, 26 acquire the encoder values EnX, EnY, En ⁇ from the servo motors 12, 14, 16 for each control cycle Ts.
  • the control cycle Ts is fixed, for example, 1 ms.
  • the servo driver 22 performs feedback control on the servomotor 12 so that the movement amount of the X stage 11 approaches the movement command.
  • the servo driver 24 performs feedback control on the servo motor 14 so that the movement amount of the Y stage 13 approaches the movement command.
  • the servo driver 26 performs feedback control on the servo motor 16 so that the movement amount of the ⁇ stage 15 approaches the movement command.
  • the driver unit 20 outputs the encoder values EnX, EnY, En ⁇ acquired from the moving mechanism 10 to the controller 40.
  • the visual sensor 30 includes an imaging unit 31 fixed at a fixed position, and an image processing device 32 that performs image processing on an image captured by the imaging unit 31.
  • the imaging unit 31 acquires (images) an image including both the target work W placed on the moving mechanism 10 and the reference work W0 fixed at the fixed position at each imaging cycle Tb.
  • the imaging cycle Tb varies according to the imaging situation and the like, and is, for example, about 60 ms.
  • the target work W is provided with marks 5a and 5b, which are characteristic portions.
  • the reference work W0 is provided with marks 6a and 6b, which are characteristic portions.
  • the imaging unit 31 is, for example, a camera.
  • the image processing device 32 performs an image analysis on the image acquired by the imaging unit 31, and the position of the target work W and the position of the reference work W0 in the coordinate system of the image (hereinafter, referred to as “camera coordinate system”). And The camera coordinate system is indicated by a pixel position in an image.
  • the image processing device 32 specifies the positions of the marks 5a and 5b provided on the target work W and the positions of the marks 6a and 6b provided on the reference work W0 in the camera coordinate system.
  • the controller 40 is, for example, a PLC (programmable logic controller) and performs various FA controls.
  • the controller 40 uses the calibration parameters for converting the camera coordinate system into the coordinate system of the moving mechanism 10 (hereinafter, referred to as “mechanical coordinate system”), and uses the marks 5a, 5b, 6a specified by the image processing device 32. , 6b are coordinate-transformed. Thereby, the controller 40 specifies the positions of the marks 5a and 5b of the target work W and the positions of the marks 6a and 6b of the reference work W0 in the machine coordinate system.
  • the controller 40 controls the moving mechanism 10 so that the positions of the marks 5a and 5b approach the positions of the marks 6a and 6b in the machine coordinate system.
  • the controller 40 determines the distance between the position of the mark 5a and the position of the mark 6a in the machine coordinate system (hereinafter, referred to as “first distance D1”) and the distance between the position of the mark 5b and the position of the mark 6b in the machine coordinate system ( Hereinafter, “second distance D2” is calculated.
  • the controller 40 ends the control of the moving mechanism 10 when both the calculated first distance D1 and second distance D2 are less than the end determination threshold Th.
  • the end determination threshold Th is determined according to the required positioning accuracy. Thus, the positioning of the target work W ends.
  • the “calibration parameter error” means a deviation between a currently set calibration parameter and an ideal calibration parameter corresponding to the current state of the moving mechanism 10.
  • the calibration parameters define the translation amount, the rotation amount, and the conversion amount (conversion magnification) from the camera coordinate system to the machine coordinate system.
  • the first distance D1 and the second distance D2 calculated by the controller 40 also include an error. Therefore, even if the actual distance between the mark 5a and the mark 6a and the actual distance between the mark 5b and the mark 6b exceed the end determination threshold Th, the first distance D1 and the second distance D2 are smaller than the end determination threshold Th. Thus, the positioning of the target work W may end. As a result, the positioning accuracy decreases.
  • the termination determination threshold Th is adjusted so as to suppress a decrease in positioning accuracy.
  • the controller 40 calculates the first conversion magnification from the camera coordinate system to the machine coordinate system from the calibration parameter, and calculates the first conversion magnification from the camera coordinate system to the machine coordinate system calculated from the design information of the imaging unit 31. A second conversion factor to the system is calculated. Then, the controller 40 compares the first conversion magnification with the second conversion magnification, and sets an end determination threshold Th in accordance with the comparison result.
  • the controller 40 may have estimated the first distance D1 to be smaller than the actual distance between the mark 5a and the mark 6a. Similarly, the controller 40 may have estimated the second distance D2 smaller than the actual distance between the mark 5b and the mark 6b. Therefore, the controller 40 sets the end determination threshold Th such that the end determination threshold Th is smaller when the first conversion magnification is smaller than the second conversion magnification than when the first conversion magnification is larger than the second conversion magnification. Set. As a result, even if the first distance D1 and the second distance D2 are estimated to be smaller than the corresponding actual distances, the end determination threshold Th is adjusted to be small. It is possible to suppress the end of the processing. As a result, a decrease in positioning accuracy can be suppressed.
  • FIG. 2 is a schematic diagram illustrating a hardware configuration of the image processing apparatus illustrated in FIG.
  • the image processing device 32 typically has a structure according to a general-purpose computer architecture, and realizes various types of image processing as described later by executing a program installed in advance by a processor.
  • the image processing device 32 includes a processor 310 such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a RAM (Random Access Memory) 312, a display controller 314, and a system controller 316. , An input / output (I / O) controller 318, a hard disk 320, a camera interface 322, an input interface 324, a controller interface 326, a communication interface 328, and a memory card interface 330. These units are connected to each other so as to enable data communication with the system controller 316 at the center.
  • a processor 310 such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a RAM (Random Access Memory) 312, a display controller 314, and a system controller 316.
  • I / O controller 318 An input / output (I / O) controller 318, a hard disk 320, a camera interface 322, an input interface 324, a controller interface 326, a
  • the processor 310 exchanges programs (codes) and the like with the system controller 316 and executes them in a predetermined order, thereby realizing the intended arithmetic processing.
  • the system controller 316 is connected to the processor 310, the RAM 312, the display controller 314, and the I / O controller 318 via buses, respectively, exchanges data with each unit, and performs processing of the entire image processing apparatus 32. Governing
  • the RAM 312 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory), and stores a program read from the hard disk 320, an image (image data) captured by the imaging unit 31, and an image. Holds processing results and work data.
  • the processing result for the image includes the position coordinates of the marks 5a and 5b included in the image.
  • the display controller 314 is connected to the display unit 60, and outputs a signal for displaying various information to the display unit 60 according to an internal command from the system controller 316.
  • the I / O controller 318 controls data exchange between a recording medium connected to the image processing apparatus 32 and an external device. More specifically, I / O controller 318 is connected to hard disk 320, camera interface 322, input interface 324, controller interface 326, communication interface 328, and memory card interface 330.
  • the hard disk 320 is typically a non-volatile magnetic storage device, and stores various setting values in addition to a program executed by the processor 310.
  • the camera interface 322 corresponds to an input unit that receives image data generated by photographing the target work W, and mediates data transmission between the processor 310 and the imaging unit 31.
  • the camera interface 322 includes an image buffer for temporarily storing image data from the imaging unit 31, respectively.
  • the input interface 324 mediates data transmission between the processor 310 and input devices such as a keyboard 334, a mouse, a touch panel, and a dedicated console.
  • the controller interface 326 mediates data transmission between the processor 310 and the controller 40.
  • the communication interface 328 mediates data transmission between the processor 310 and another personal computer or server device (not shown).
  • the communication interface 328 is typically made of Ethernet (registered trademark), USB (Universal Serial Bus), or the like.
  • the memory card interface 330 mediates data transmission between the processor 310 and the recording medium 61.
  • FIG. 3 is a schematic diagram showing a hardware configuration of the controller shown in FIG.
  • the controller 40 includes a chipset 412, a processor 414, a nonvolatile memory 416, a main memory 418, a system clock 420, a memory card interface 422, a communication interface 428, an internal bus controller 430, and a field bus controller 438. And The chipset 412 and other components are respectively connected via various buses.
  • the processor 414 and the chipset 412 typically have a configuration according to a general-purpose computer architecture. That is, the processor 414 interprets and executes the instruction codes sequentially supplied from the chipset 412 according to the internal clock.
  • the chipset 412 exchanges internal data with various connected components and generates an instruction code necessary for the processor 414.
  • the system clock 420 generates a system clock having a predetermined cycle and provides the system clock to the processor 414.
  • the chip set 412 has a function of caching data and the like obtained as a result of execution of arithmetic processing by the processor 414.
  • the controller 40 has a nonvolatile memory 416 and a main memory 418 as storage means.
  • the non-volatile memory 416 non-volatilely stores design information 426, data definition information, log information, and the like of the imaging unit 31 in addition to the control program 440 executed by the processor 414.
  • the control program 440 is distributed while being stored in the recording medium 424 or the like.
  • the main memory 418 is a volatile storage area that holds various programs to be executed by the processor 414 and is also used as a working memory when executing various programs.
  • the controller 40 has a communication interface 428 and an internal bus controller 430 as communication means. These communication circuits transmit and receive data.
  • the communication interface 428 exchanges data with the visual sensor 30.
  • the internal bus controller 430 controls data exchange. More specifically, the internal bus controller 430 includes a buffer memory 436, a DMA (Dynamic Memory Access) control circuit 432, and an internal bus control circuit 434.
  • DMA Dynamic Memory Access
  • the memory card interface 422 connects the recording medium 424 detachable to the controller 40 and the processor 414.
  • the recording medium 424 stores information such as a program by an electrical, magnetic, optical, mechanical, or chemical action so that a computer or other device, machine, or the like can read information such as a recorded program. It is a medium to do.
  • the recording medium 424 circulates in a state where the control program 440 executed by the controller 40 and the like are stored, and the memory card interface 422 reads the control program from the recording medium 424.
  • the recording medium 424 may be a general-purpose semiconductor storage device such as SD (Secure Digital), a magnetic recording medium such as a flexible disk (Flexible Disk), or an optical recording medium such as a CD-ROM (Compact Disk Read Only Memory). Become. Alternatively, a program downloaded from a distribution server or the like may be installed in the controller 40 via the communication interface 417.
  • SD Secure Digital
  • a magnetic recording medium such as a flexible disk (Flexible Disk)
  • an optical recording medium such as a CD-ROM (Compact Disk Read Only Memory).
  • a program downloaded from a distribution server or the like may be installed in the controller 40 via the communication interface 417.
  • the field bus controller 438 is a communication interface for connecting to a field network.
  • a field network for example, EtherCAT (registered trademark), EtherNet / IP (registered trademark), CompoNet (registered trademark), or the like is employed.
  • the controller 40 is connected to the servo drivers 22, 24, 26 via a field bus controller 438.
  • FIG. 4 is a block diagram showing an example of a functional configuration of the positioning system shown in FIG.
  • the image processing device 32 searches for the marks 5a and 5b (see FIG. 1) from the image captured by the imaging unit 31, and detects the positions of the marks 5a (hereinafter, referred to as “measurement positions PMa”) and the positions of the marks 5b ( Hereinafter, “measurement position PMb” is specified. Further, the image processing device 32 searches for the marks 6a and 6b (see FIG. 1) from the same image, and determines the position of the mark 6a (hereinafter, referred to as “target position SPa”) and the position of the mark 6b (hereinafter, “target position”). Position SPb ”).
  • the image processing device 32 may recognize the marks 5a, 5b, 6a, 6b from the image using a known pattern recognition technology.
  • the image processing device 32 measures the XY coordinates of the measurement positions PMa and PMb and the target positions SPa and SPb.
  • the XY coordinates are shown in a camera coordinate system.
  • the controller 40 includes a calibration execution unit 41, a coordinate conversion unit 42, a movement control unit 43, and an end determination unit 47.
  • the calibration execution unit 41, the coordinate conversion unit 42, the movement control unit 43, and the end determination unit 47 are realized by the processor 414 illustrated in FIG.
  • the calibration execution unit 41 executes calibration, which is a process for matching the camera coordinate system with the machine coordinate system, and generates calibration parameters for converting the camera coordinate system into the machine coordinate system.
  • the calibration executing unit 41 executes the calibration at the start-up stage of the positioning system 1. Further, the calibration execution unit 41 executes the calibration in response to a calibration execution instruction from a higher-level control device. For example, at the timing when it is determined that the deviation of the calibration parameter has increased, the operator operates a higher-level control device to execute the calibration.
  • the calibration parameters are typically affine transformation coefficients A to F in the following equation (1) (hereinafter, referred to as “calibration parameters A to F”).
  • (x, y) indicates XY coordinates in the camera coordinate system
  • (x ', y') indicates XY coordinates in the machine coordinate system.
  • the calibration executing unit 41 calculates the calibration parameters A to F according to a known method based on the correspondence between the XY coordinates of a plurality of points in the camera coordinate system and the XY coordinates of the plurality of points in the machine coordinate system. do it.
  • Coordinate converter As described above, the measurement positions PMa and PMb and the target positions SPa and SPb output from the image processing device 32 are indicated by the camera coordinate system. On the other hand, the movement amount of the movement mechanism 10 that is the control target of the movement control unit 43 is shown in a machine coordinate system. Therefore, the coordinate conversion unit 42 performs coordinate conversion of the measurement positions PMa and PMb and the target positions SPa and SPb output from the image processing device 32, and performs the measurement positions PMa ′ and PMb ′ and the target position SPa in the machine coordinate system. The XY coordinates of ', Spb' are output.
  • the coordinate conversion unit 42 performs coordinate conversion from the camera coordinate system to the machine coordinate system using the latest calibration parameters A to F calculated by the calibration execution unit 41 and the above equation (1).
  • the movement control unit 43 controls the measurement position PMa ′ of the mark 5a to approach the position of the mark 6a (target position SPa ′) and the measurement position PMb ′ of the mark 5b to approach the position of the mark 6b (target position SPb ′). , And generates a movement command.
  • the movement control unit 43 includes a position determination unit 44, a subtraction unit 45, and a calculation unit 46.
  • the position determination unit 44 calculates the measured positions PMa ′, PMb ′ specified for each imaging cycle Tb and the encoder values EnX, EnY, En ⁇ output for each control cycle Ts. Based on this, the estimated positions PVa 'and PVb' of the marks 5a and 5b are determined for each control cycle Ts.
  • the XY coordinates of the estimated positions PVa 'and PVb' are shown in a machine coordinate system. A method for determining the estimated positions PVa 'and PVb' will be described later.
  • the subtraction unit 45 outputs the distance between the estimated position PVa 'and the target position SPa' and the distance between the estimated position PVb 'and the target position SPb'.
  • the operation unit 46 performs an operation (P operation or PID operation) such that the distance between the estimated position PVa ′ and the target position SPa ′ and the distance between the estimated position PVb ′ and the target position SPb ′ converge to 0,
  • the movement commands MVX, MVY, MV ⁇ are calculated for each Ts.
  • the movement command MVX is a movement command for the X stage 11 (see FIG. 1).
  • the movement command MVY is a movement command for the Y stage 13 (see FIG. 1).
  • the movement command MV ⁇ is a movement command for the ⁇ stage 15 (see FIG. 1).
  • the calculation unit 46 outputs the calculated movement commands MVX, MVY, MV ⁇ to the driver unit 20.
  • the movement commands MVX, MVY, MV ⁇ are, for example, position commands, speed commands, or torque commands.
  • End determination section> The end determination unit 47 determines whether or not to end the positioning, and ends the control by the movement control unit 43 when determining to end the positioning.
  • FIG. 5 is a diagram showing an example of the internal configuration of the end determination unit shown in FIG.
  • the end determination unit 47 includes a distance calculation unit 471, a first conversion magnification calculation unit 472, a second conversion magnification calculation unit 473, a coefficient determination unit 474, a setting unit 475, and an instruction. Unit 476.
  • the distance calculation unit 471 acquires the measurement positions PMa ′ and PMb ′ and the target positions SPa ′ and SPb ′ in the machine coordinate system from the coordinate conversion unit 42 (see FIG. 4). The distance calculation unit 471 calculates a first distance D1 between the measurement position PMa ′ of the mark 5a and the target position SPa ′, and calculates a second distance D2 between the measurement position PMb ′ of the mark 5b and the target position SPb ′. .
  • the first conversion magnification calculator 472 calculates a conversion magnification from the camera coordinate system to the machine coordinate system (hereinafter, referred to as a “first conversion magnification”) indicated by the calibration parameters A to F.
  • the “conversion magnification” indicates the amount of conversion for scaling from the camera coordinate system to the machine coordinate system.
  • the “conversion magnification” can be said to be a pixel resolution indicating an absolute length of a visual field corresponding to one pixel of an image.
  • the translation amount in the X direction from the camera coordinate system to the machine coordinate system is “dx”, the translation amount in the Y direction is “dy”, the rotation amount is “d ⁇ ”, the conversion magnification in the X direction is “a”, Assuming that the conversion magnification in the Y direction is “b”, an ideal conversion equation from the camera coordinate system to the machine coordinate system is expressed by the following equation (2).
  • the first conversion magnification calculation unit 472 uses the calibration parameters A, B, D, and E calculated by the calibration execution unit 41 to calculate (A 2 + B 2 ) 1/2 and (D 2 + E 2 ). The smaller of 1/2 is calculated as the first conversion magnification.
  • the second conversion magnification calculator 473 calculates a conversion magnification from the camera coordinate system to the machine coordinate system (hereinafter, referred to as “second conversion magnification”) based on the design information of the imaging unit 31.
  • the design information of the imaging unit 31 is stored in the nonvolatile memory 416 (see FIG. 3) of the controller 40 in advance.
  • the second conversion magnification calculator 473 reads the design information from the nonvolatile memory 416, and calculates a second conversion magnification based on the read design information.
  • FIG. 6 is a diagram illustrating a configuration of the imaging unit.
  • the imaging unit 31 includes an imaging device 301 and a lens 302 that guides light from the target work W and the reference work W0 to the imaging device 301.
  • the imaging element 301 is, for example, a CCD (Charge-Coupled Device) image sensor, has a plurality of light receiving elements arranged in a lattice, and outputs an electric charge corresponding to the amount of light received by each light receiving element.
  • the lens 302 is arranged between the image sensor 301 and the target work W such that the distance between the lens 302 and the image sensor 301 matches the focal length.
  • CCD Charge-Coupled Device
  • the conversion magnification can be said to be the pixel resolution indicating the absolute length of the visual field corresponding to one pixel of the image. That is, the pixel resolution is a value obtained by dividing the horizontal length of the visual field by the number of pixels.
  • the dimension (length in the horizontal direction) of the image sensor 301 is d1
  • the resolution (density of the light receiving element) of the image sensor 301 is R
  • the focal length of the lens is d2
  • the angle of view of the lens is ⁇
  • Pixel resolution 2 ⁇ (d3 ⁇ d2) ⁇ tan ( ⁇ / 2) / (d1 ⁇ R) (5).
  • the second conversion magnification calculator 473 calculates the dimensions and resolution of the image sensor 301, the focal length and angle of view of the lens 302, and the image sensor 301 included in the design information 426 stored in the nonvolatile memory 416 (see FIG. 3). Using the information indicating the distance between the object and the target work W, the second conversion magnification is calculated according to the above equation (5).
  • the coefficient determination unit 474 determines an adjustment coefficient ⁇ for setting the termination determination threshold Th according to the values of the first conversion magnification and the second conversion magnification.
  • the coefficient determination unit 474 sets the adjustment coefficient ⁇ to 1 when the first conversion magnification is equal to or larger than the second conversion magnification.
  • the coefficient determination unit 474 sets the adjustment coefficient ⁇ to (first conversion magnification / second conversion magnification).
  • the setting unit 475 sets the end determination threshold Th.
  • the setting unit 475 acquires a value (hereinafter, referred to as a “default threshold Th0”) predetermined according to the required positioning accuracy.
  • the default threshold Th0 is an upper limit value of the allowable range of the distance between the mark 5a and the mark 6b and the distance between the mark 5b and the mark 6b, or a value smaller than the upper limit value.
  • the setting unit 475 sets the product of the default threshold value Th0 and the adjustment coefficient ⁇ (Th0 ⁇ ⁇ ) as the end determination threshold value Th.
  • the instructing unit 476 compares the first distance D1 and the second distance D2 with the end determination threshold Th.
  • the instruction unit 476 instructs the movement control unit 43 to end the movement of the moving mechanism 10 when both the first distance D1 and the second distance D2 are less than the end determination threshold Th.
  • FIG. 7 is a flowchart illustrating an example of the flow of the setting process of the termination determination threshold of the controller 40. The process of setting the end determination threshold shown in FIG. 7 is performed every time the calibration executing unit 41 executes the calibration.
  • step S1 the first conversion magnification calculation unit 472 acquires the latest calibration parameters.
  • step S2 the first conversion magnification calculator 472 calculates the first conversion magnification using the latest calibration parameter.
  • step S3 the second conversion magnification calculator 473 calculates the second conversion magnification based on the design information of the imaging unit 31 stored in the nonvolatile memory 416.
  • step S4 the coefficient determination unit 474 determines whether the first conversion magnification is equal to or greater than the second conversion magnification. In the case of YES in step S4, the coefficient determining unit 474 determines the adjustment coefficient ⁇ to be 1 in step S5. If NO in step S4, that is, if the first conversion magnification is smaller than the second conversion magnification, the coefficient determining unit 474 determines the adjustment coefficient ⁇ to be (first conversion magnification / second conversion magnification) in step S6. I do.
  • step S5 or step S6 the setting unit 475 sets the product of the default threshold value Th0 and the adjustment coefficient ⁇ (Th0 ⁇ ⁇ ) as an end determination threshold value Th in step S7.
  • the process of setting the termination determination threshold ends.
  • FIG. 8 is a flowchart illustrating an example of the flow of the positioning process in the controller. The positioning process shown in FIG. 8 is performed after the process of setting the end determination threshold shown in FIG. 7 is completed.
  • step S11 the controller 40 initializes the estimated positions PVa ', PVb' and the encoder values EnX, EnY, Eb ⁇ .
  • the controller 40 outputs an imaging trigger to the visual sensor 30 in accordance with an instruction from a higher-level control device.
  • the imaging unit 31 acquires an image including both the target work W on the stopped moving mechanism 10 and the reference work W0 fixed at the fixed position.
  • the image processing device 32 determines the position of the mark 5a (measurement position PMa), the position of the mark 6a (target position SPa), the position of the mark 5b (measurement position PMb), and the mark included in the captured image. 6b (target position SPb).
  • step S14 the coordinate conversion unit 42 performs coordinate conversion of the measurement positions PMa and PMb and the target positions SPa and SPb using the latest calibration parameters A to F calculated by the calibration execution unit 41.
  • the coordinate conversion unit 42 outputs the XY coordinates of the measurement positions PMa ', PMb' and the target positions SPa ', SPb' in the machine coordinate system obtained by the coordinate conversion.
  • step S15 the distance calculation unit 471 calculates a first distance D1 between the measurement position PMa 'and the target position SPa', and a second distance D2 between the measurement position PMb 'and the target position SPb'.
  • step S16 the instruction unit 476 determines whether the first distance D1 and the second distance D2 are less than the end determination threshold Th. In the case of YES in step S16, the instruction unit 476 instructs the movement control unit 43 to end the movement of the moving mechanism 10. Thereby, the moving mechanism 10 stops, and the positioning process ends.
  • step S16 the controller 40 determines in step S17 whether the movement control of the movement mechanism 10 has been started by the movement control unit 43. In the case of NO in step S17, the movement control unit 43 starts the movement control for the movement mechanism 10 in step S18. The details of the movement control by the movement control unit 43 will be described later.
  • step S18 or in the case of YES in step S17, the processing of steps S19 and S20 is repeated for each imaging cycle Tb. Note that the movement control by the movement control unit 43 is also performed in parallel between steps S19 and S20.
  • step S19 the controller 40 determines whether or not the current time is an imaging trigger output time.
  • the imaging trigger output time is determined in advance according to the imaging cycle Tb. That is, a time at which the imaging cycle Tb has elapsed from the previous imaging trigger output time is determined as a new imaging trigger output time. If the current time is not the imaging trigger output time (NO in step S19), the positioning process returns to step S19.
  • step S19 If the current time is the imaging trigger output time (YES in step S19), the controller 40 outputs an imaging trigger to the visual sensor 30. Accordingly, in step S20, the imaging unit 31 that has received the imaging trigger captures an image of the target work W on the moving mechanism 10 that is moving. After step S20, the positioning process returns to step S13.
  • FIG. 9 is a flowchart illustrating an example of a flow of processing of movement control by the movement control unit.
  • the movement control unit 43 acquires the coordinates (mechanical coordinate system) of the latest measurement positions PMa 'and PMb' output from the coordinate conversion unit 42.
  • the position determination unit 44 acquires the imaging time ti.
  • the position determining unit 44 acquires a time when a fixed transmission delay time Tsd has elapsed from the time at which the imaging trigger was output, as the imaging time ti.
  • the transmission delay time Tsd is a delay time from when the imaging unit 31 receives an imaging trigger to when imaging starts.
  • step S23 the position determination unit 44 determines the encoder values EnX, EnY output from the encoders 12E, 14E, 16E (see FIG. 1) at a plurality of times near the imaging time ti (hereinafter, referred to as “output times”). , En ⁇ .
  • the encoder values detected in the past are stored in the storage unit of the controller 40 (for example, the nonvolatile memory 416 or the main memory 418 (see FIG. 4)).
  • step S24 the position determination unit 44 calculates an interpolation value of the encoder value EnX at a plurality of output times, and sets the interpolation value as the encoder value EnsX at the imaging time ti. Similarly, the position determination unit 44 calculates an interpolation value of the encoder value EnY at a plurality of times, and sets the interpolation value as the encoder value EnsY at the imaging time. The position determining unit 44 calculates an interpolation value of the encoder value En ⁇ at a plurality of times, and sets the interpolation value as the encoder value Ens ⁇ at the imaging time.
  • FIG. 10 is a diagram illustrating a method of calculating the encoder value EnsX at the imaging time.
  • position determination unit 44 calculates an interpolation value as follows.
  • the encoder value EnX output at the output time t (j) is defined as an encoder value EnX (j).
  • the transmission is delayed by a certain transmission delay time Ted from when the encoder 12E detects the pulse signal to when the encoder value EnX is output. Therefore, the encoder value EnX (j) output at the output time t (j) indicates the drive amount of the servo motor 12 from the initial position at a time earlier than the output time t (j) by the transmission delay time Ted. I have.
  • the position determination unit 44 specifies two output times that are close to the imaging time ti. For example, when the control cycle Ts, the transmission delay time Ted of the encoder value, and the transmission delay time Tsd of the imaging trigger satisfy Ts ⁇ Ted ⁇ Tsd ⁇ 2Ts ⁇ Ted, the position determination unit 44 determines the position immediately after the imaging time ti.
  • the output time t (n) and the output time t (n + 1) are specified.
  • the position determination unit 44 acquires the encoder value EnX (n) output at the output time t (n) and the encoder value EnX (n + 1) output at the output time t (n + 1).
  • the position determination unit 44 calculates the encoder value EnsX (i) at the imaging time ti by using an interpolation value between the encoder value EnX (n) and the encoder value EnX (n + 1). Specifically, the position determination unit 44 calculates the encoder value EnsX (i) at the imaging time ti using the following equation (6).
  • EnsX (i) EnX (n) + Kk * (EnX (n + 1) ⁇ EnX (n)) (6)
  • Kk is an interpolation coefficient.
  • the encoder value EnsX (i) at the imaging time ti can be calculated with high accuracy.
  • the encoder values EnsY (i) and Ens ⁇ (i) at the imaging time ti are calculated. If the imaging time ti matches the time before the transmission time of the encoder value by the transmission delay time Ted, the encoder value may be used as it is.
  • step S25 the position determination unit 44 estimates using the measured positions PMa ′, PMb ′, the encoder values EnX, EnY, En ⁇ after the imaging time, and the encoder values EnsX, EnsY, Ens ⁇ at the imaging time.
  • the positions PVa 'and PVb' are calculated.
  • the position determination unit 44 translates in the X direction by (EnX ⁇ EnsX), translates in the Y direction by (EnY ⁇ EnsY), and rotates around the rotation axis of the ⁇ stage 15 by (En ⁇ Ens ⁇ ).
  • the XY coordinates of the measurement position PMa ′ are input to the affine transformation equation at that time. Thereby, the position determining unit 44 calculates the XY coordinates of the estimated position PVa 'of the mark 5a. Similarly, the position determination unit 44 calculates the XY coordinates of the estimated position PVb 'of the mark 5b by inputting the XY coordinates of the measurement position PMb' into the affine transformation equation.
  • step S26 the calculation unit 46 generates the movement commands MVX, MVY, MV ⁇ by, for example, P calculation based on the respective deviations of the estimated positions PVa ′, PVb ′ with respect to the target positions SPa ′, SPb ′. Then, the arithmetic unit 46 outputs the movement commands MVX, MVY, MV ⁇ to the driver unit 20.
  • the controller 40 uses the measurement positions PMa and PMb to estimate the estimated positions PVa '.
  • the time interval at which the measurement positions PMa and PMb are input is the imaging cycle Tb, and is longer than the control cycle Ts at which the encoder values EnX, EnY, and En ⁇ are input.
  • the position determination unit 44 changes the estimated positions PVa ′ and PVb ′ for each input time of the encoder values EnX, EnY and En ⁇ having a short input cycle.
  • the movement control of the movement mechanism 10 is performed. This enables high-accuracy and short-period positioning control. Further, the position determination unit 44 performs a process using the above-mentioned four simple arithmetic operations. Therefore, high-speed and high-accuracy positioning by a simple configuration and processing can be realized.
  • the positioning system 1 for positioning the target work W includes the moving mechanism 10 for moving the target work W, the imaging unit 31, the image processing device 32, the coordinate conversion unit 42, and the movement control unit. 43, an instruction unit 476, and a setting unit 475.
  • the imaging unit 31 acquires an image including both the target work W and the reference work W0 as a target in each imaging cycle Tb.
  • the image processing device 32 specifies the position of the target work W in the camera coordinate system of the image (measurement positions PMa, PMb) and the position of the reference work W0 in the camera coordinate system (target positions SPa, SPb).
  • the coordinate conversion unit 42 performs coordinate conversion between the measurement positions PMa and PMb and the target positions SPa and SPb using a calibration parameter for converting the camera coordinate system into the mechanical coordinate system of the moving mechanism 10.
  • a calibration parameter for converting the camera coordinate system into the mechanical coordinate system of the moving mechanism 10.
  • the movement control unit 43 controls the movement mechanism 10 so that the measurement position PMa ’approaches the target position SPa ′ and the measurement position PMb ′ approaches the target position SPb ′.
  • the instruction unit 476 moves when the first distance D1 between the measurement position PMa ′ and the target position SPa ′ and the second distance D2 between the measurement position PMb ′ and the target position SPb ′ are less than the end determination threshold Th.
  • the movement control unit 43 is instructed to end the movement of the mechanism 10.
  • the first conversion magnification from the camera coordinate system to the machine coordinate system calculated from the calibration parameters is compared with the second conversion magnification from the camera coordinate system to the machine coordinate system calculated from the design information of the imaging unit 31. Is done.
  • the setting unit 475 sets the end determination threshold value Th such that the end determination threshold value Th is smaller when the first conversion magnification is smaller than the second conversion magnification than when the first conversion magnification is larger than the second conversion magnification.
  • the first conversion magnification indicates the conversion magnification when coordinate conversion is performed using the calibration parameters.
  • the second conversion magnification indicates a designed conversion magnification. Which of the first conversion magnification and the second conversion magnification is closer to the true conversion magnification depends on the current state of the imaging unit 31 and is unknown.
  • the first distance D1 and the second distance D2 are calculated by performing coordinate transformation between the measurement positions PMa and PMb and the target positions SPa and SPb using the calibration parameters. Therefore, when the first conversion magnification is smaller than the second conversion magnification, the controller 40 may have estimated the first distance D1 to be smaller than the actual distance between the mark 5a and the mark 6a. Similarly, the controller 40 may have estimated the second distance D2 smaller than the actual distance between the mark 5b and the mark 6b.
  • the end determination threshold Th is smaller when the first conversion magnification is smaller than the second conversion magnification than when the first conversion magnification is larger than the second conversion magnification.
  • the imaging unit 31 includes an imaging element 301 and a lens 302 that guides light from the target work W and the reference work W0 to the imaging element 301.
  • the design information includes information indicating the dimensions of the image sensor 301, the resolution of the image sensor 301, the angle of view of the lens 302, the focal length of the lens 302, and the distance between the image sensor 301 and the target work W.
  • the designed conversion magnification can be calculated as the second conversion magnification.
  • the calibration parameter is an affine transformation coefficient.
  • the first conversion magnification is calculated using an affine transformation coefficient.
  • the affine transformation coefficient defines the amount of translation, the amount of rotation, and the amount of conversion (conversion magnification) from the camera coordinate system to the machine coordinate system. Therefore, by using the affine transformation coefficient, it is possible to calculate the conversion magnification at the time of performing the coordinate transformation using the calibration parameters as the first conversion magnification.
  • the setting unit 475 sets the default threshold Th0 as the end determination threshold Th.
  • the setting unit 475 sets a product of the default threshold Th0 and a quotient obtained by dividing the first conversion magnification by the second conversion magnification as the end determination threshold Th.
  • the first conversion magnification calculator 472 calculates the smaller of (A 2 + B 2 ) 1/2 and (D 2 + E 2 ) 1/2 as the first conversion magnification. .
  • the first conversion magnification calculator 472 may calculate the average value of (A 2 + B 2 ) 1/2 and (D 2 + E 2 ) 1/2 as the first conversion magnification.
  • the first conversion magnification calculator 472 may calculate (A 2 + B 2 ) 1/2 and (D 2 + E 2 ) 1/2 as the first conversion magnifications in the X direction and the Y direction, respectively.
  • the first distance D1 is given by ( ⁇ X1 2 + ⁇ Y1 2) , where ⁇ X1 is the difference between the X coordinate of the measurement position PMa ′ and the target position SPa ′, and ⁇ Y1 is the difference of the Y coordinate between the measurement position PMa ′ and the target position SPa ′. ) Indicated by 1/2 .
  • the end determination threshold Th for the first distance D1 may be set according to the ratio between the first conversion magnification and the second conversion magnification in the X direction.
  • the end determination threshold Th for the first distance D1 may be set according to the ratio between the first conversion magnification and the second conversion magnification in the Y direction.
  • the second distance D2 is given by ( ⁇ X2) where ⁇ X2 is the difference between the X coordinate between the measured position PMb ′ and the target position SPb ′, and ⁇ Y2 is the Y coordinate between the measured position PMb ′ and the target position SPb ′. 2 + ⁇ Y2 2 ) 1/2 .
  • the end determination threshold Th for the second distance D2 may be set according to the ratio between the first conversion magnification and the second conversion magnification in the X direction.
  • the end determination threshold Th for the second distance D2 may be set according to the ratio between the first conversion magnification and the second conversion magnification in the Y direction.
  • the target work W is positioned using the two marks 5a and 5b provided on the target work W as characteristic portions of the target work W.
  • the number of marks provided on the target work W is not limited to two, and may be one or three or more.
  • the target work W may be positioned using another part of the target work W as a characteristic portion.
  • a screw or a screw hole provided in the target work W may be used as the characteristic portion.
  • a corner of the target work W may be used as a characteristic portion.
  • the controller 40 includes the calibration execution unit 41, the coordinate conversion unit 42, the movement control unit 43, and the end determination unit 47.
  • the end determination unit 47 may be provided in an information processing device different from the controller 40.
  • the imaging unit (31) includes an imaging element (301) and a lens (302) that guides light from the target (W) and the target to the imaging element (301),
  • the design information includes the dimensions of the image sensor (301), the resolution of the image sensor (301), the angle of view of the lens (302), the focal length of the lens (302), and the image sensor (301).
  • the positioning system (1) according to configuration 1, including information indicating a distance between the object (W) and the object (W).
  • the calibration parameter is an affine transformation coefficient
  • the setting unit (475) sets a predetermined value as the threshold when the first conversion magnification is larger than the second conversion magnification, and the second conversion magnification is larger than the first conversion magnification.
  • the positioning system (1) according to any one of Configurations 1 to 3, wherein a product of the predetermined value and a quotient obtained by dividing the first conversion magnification by the second conversion magnification is set as the threshold.
  • the positioning system (1) A moving mechanism (10) for moving the object (W);
  • An imaging unit (31) for acquiring an image including both the target object (W) and the target object for each imaging cycle;
  • An image processing device (32) for specifying a first position of the object (W) in a first coordinate system of the image and a second position of the target in the first coordinate system;
  • the control method includes: By performing a coordinate conversion between the first position and the second position using a calibration parameter for converting the first coordinate system into a second coordinate system of the moving mechanism (10), Identifying a third position of the object (W) in a coordinate system and a fourth position of the target in the second coordinate system; Controlling the moving mechanism (10) such that the third position approaches the fourth position; Terminating the movement of the moving mechanism (10) when a distance between the third position and the fourth position is less than a threshold value;
  • 1 positioning system 5a, 5b, 6a, 6b, 7 mark, 10 moving mechanism, 11 X stage, 12,14,16 servo motor, 12E, 14E, 16E encoder, 13 Y stage, 15 ⁇ stage, 20 driver unit, 22, 24, 26 servo driver, 30 visual sensor, 31 imaging unit, 32 image processing device, 40 controller, 41 calibration execution unit, 42 coordinate conversion unit, 43 movement control unit, 44 position determination unit, 45 subtraction unit, 46 Operation unit, 47 end determination unit, 61,424 recording medium, 60 display unit, 301 imaging device, 302 lens, 310,414 processor, 312 RAM, 314 display controller, 316 system controller, 318 I / O controller, 320 Hard disk, 322 camera interface, 324 input interface, 326 controller interface, 328, 417, 428 communication interface, 330, 422 memory card interface, 334 keyboard, 412 chipset, 416 nonvolatile memory, 418 main memory, 420 system clock, 426 Design information, 430 internal bus controller, 432 DMA control

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Exposure And Positioning Against Photoresist Photosensitive Materials (AREA)
  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

座標変換部は、キャリブレーションパラメータを用いて、画像の第1座標系における、対象物の第1位置と目標物の第2位置との座標変換を行なうことにより、第2座標系における、対象物の第3位置と目標物の第4位置とを特定する。第3位置と第4位置との距離が閾値未満である場合に、移動機構の移動が終了する。閾値は、キャリブレーションパラメータから算出される、第1座標系から第2座標系への第1変換倍率が、撮像部の設計情報から算出される、第1座標系から第2座標系への第2変換倍率より大きい場合よりも、第1変換倍率が第2変換倍率よりも小さい場合の方が小さい。これにより、位置決め精度の低下を抑制できる。

Description

位置決めシステム、制御方法およびプログラム
 本技術は、位置決めシステム、制御方法およびプログラムに関する。
 FA(ファクトリーオートメーション)において、対象物の位置を目標位置に合わせる位置決めシステムが各種実用化されている。対象物の位置と目標位置との距離を計測する方法として、視覚センサによって撮像された画像を用いる方法がある。
 特許第5893695号公報(特許文献1)には、被搬送物と目標物との両方を含む画像を取得する撮像装置と、撮像装置が取得した画像を解析して被搬送物および目標物のそれぞれの位置を検出する視覚検出装置とを備える物品搬送システムが開示されている。当該物品搬送システムでは、視覚検出装置によって検出された前記被搬送物の位置が、目標物の位置に対して設定された許可領域内に在るかどうかが判定される。搬送装置は、被搬送物の位置が許可領域内に無い場合に、被搬送物を目標位置に向かって移送する。被搬送物の位置が許可領域内に入った時点で、被搬送物の位置決め工程が終了する。
特許第5893695号公報
 特許文献1に記載の技術では、画像に基づいて、被搬送物が許可領域内にあるかどうかが判定される。許可領域は、被搬送物と目標物との相対位置を決定するために、搬送装置の座標系で設定される。そのため、画像の座標系を搬送装置の座標系に変換するためのキャリブレーションパラメータを用いて、画像の座標系における被搬送物の位置の座標変換を行なうことにより、搬送装置の座標系における被搬送物の位置が特定される。ここで、キャリブレーションパラメータで示される、画像の座標系から搬送装置の座標系への変換倍率に誤差が含まれる場合、実際には被搬送物が許可領域内に存在しないにもかかわらず、被搬送物の位置決め工程が終了される可能性がある。その結果、位置決め精度が低下する。
 本発明は、上記の問題を鑑みてなされたものであり、その目的は、位置決め精度の低下を抑制する位置決めシステム、制御方法およびプログラムを提供することである。
 本開示の一例によれば、対象物の位置決めを行なう位置決めシステムは、移動機構と、撮像部と、画像処理装置と、座標変換部と、移動制御部と、指示部と、設定部とを備える。移動機構は、対象物を移動させる。撮像部は、撮像周期ごとに、対象物と目標物との両方を含む画像を取得する。画像処理装置は、画像の第1座標系における対象物の第1位置と、第1座標系における目標物の第2位置とを特定する。座標変換部は、第1座標系を移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、第1位置と第2位置との座標変換を行なうことにより、第2座標系における対象物の第3位置と第2座標系における目標物の第4位置とを特定する。移動制御部は、第3位置が第4位置が近づくように移動機構を制御する。指示部は、第3位置と第4位置との距離が閾値未満である場合に、移動機構の移動を終了するように移動制御部に指示する。設定部は、キャリブレーションパラメータから算出される、第1座標系から第2座標系への第1変換倍率が、撮像部の設計情報から算出される、第1座標系から第2座標系への第2変換倍率より大きい場合よりも、第1変換倍率が第2変換倍率より小さい場合の方が閾値が小さくなるように、閾値を設定する。
 第1変換倍率は、キャリブレーションパラメータを用いて座標変換したときの変換倍率を示している。第2変換倍率は、設計上の変換倍率を示している。第3位置および第4位置は、キャリブレーションパラメータを用いて、第1位置および第2位置を座標変換することによりそれぞれ特定される。そのため、第1変換倍率が第2変換倍率よりも小さい場合、対象物と目標物との実距離よりも第3位置と第4位置との距離を小さく見積もっている可能性がある。
 しかしながら、上記の開示によれば、第1変換倍率が第2変換倍率より大きい場合よりも第1変換倍率が第2変換倍率より小さい場合の方が閾値が小さくなる。これにより、対象物と目標物との実距離よりも第3位置と第4位置との距離を小さく見積もっていたとしても、位置決め精度が不十分な状態で、位置決め処理が終了してしまうことを抑制できる。その結果、位置決め精度の低下を抑制できる。
 上記の開示において、撮像部は、撮像素子と、対象物と目標物とからの光を撮像素子に導くレンズとを含む。設計情報は、撮像素子の寸法と、撮像素子の解像度と、レンズの画角と、レンズの焦点距離と、撮像素子と対象物との距離とを示す情報を含む。この開示によれば、設計上の変換倍率を第2変換倍率として算出できる。
 上記の開示において、キャリブレーションパラメータは、アフィン変換係数である。第1変換倍率は、アフィン変換係数を用いて算出される。この開示によれば、アフィン変換係数を用いることにより、キャリブレーションパラメータを用いて座標変換したときの変換倍率を第1変換倍率として算出できる。
 上記の開示において、設定部は、第1変換倍率が第2変換倍率よりも大きい場合、予め定められた値を閾値として設定し、第2変換倍率が第1変換倍率よりも大きい場合、予め定められた値と第1変換倍率を第2変換倍率で割った商との積を閾値として設定する。
 この開示によれば、撮像部の現状に応じた真の変換倍率が第2変換倍率に近い場合であっても、位置決め精度が不十分な状態で、位置決め処理が終了してしまうことを抑制できる。
 本開示の一例によれば、対象物の位置決めを行なう位置決めシステムの制御方法は、第1~第4ステップを備える。位置決めシステムは、対象物を移動させるための移動機構と、撮像周期ごとに、対象物と目標物との両方を含む画像を取得するための撮像部と、画像の第1座標系における対象物の第1位置と、第1座標系における目標物の第2位置とを特定するための画像処理装置とを備える。第1ステップは、第1座標系を移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、第1位置と第2位置との座標変換を行なうことにより、第2座標系における対象物の第3位置と第2座標系における目標物の第4位置とを特定するステップである。第2ステップは、第3位置が第4位置が近づくように移動機構を制御するステップである。第3ステップは、第3位置と第4位置との距離が閾値未満である場合に、移動機構の移動を終了させるステップである。第4ステップは、キャリブレーションパラメータから算出される、第1座標系から第2座標系への第1変換倍率が、撮像部の設計情報から算出される、第1座標系から第2座標系への第2変換倍率より大きい場合よりも、第1変換倍率が第2変換倍率より小さい場合の方が閾値が小さくなるように、閾値を設定するステップである。
 この開示によっても、対象物と目標物との実距離よりも第3位置と第4位置との距離を小さく見積もっていたとしても、位置決め精度が不十分な状態で、位置決め処理が終了してしまうことを抑制できる。その結果、位置決め精度の低下を抑制できる。
 本開示の一例によれば、上記の制御方法をコンピュータに実行させるためのプログラムは、上記の第1および第2のステップをコンピュータに実行させる。この開示によっても、位置決め精度の低下を抑制できる。
 本発明によれば、位置決め精度の低下を抑制できる。
本実施の形態に係る位置決めシステムの概要を示す模式図である。 図1に示す画像処理装置のハードウェア構成を示す模式図である。 図1に示すコントローラのハードウェア構成を示す模式図である。 図1に示す位置決めシステムの機能構成の一例を示すブロック図である。 図4に示す終了判定部の内部構成の一例を示す図である。 撮像部の構成を示す図である。 終了判定閾値の設定処理の流れの一例を示すフローチャートである。 位置決め処理の流れの一例を示すフローチャートである。 移動制御の処理の流れの一例を示すフローチャートである。 撮像時刻のエンコーダ値EnsXの算出方法を説明する図である。
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
 §1 適用例
 図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る位置決めシステムの概要を示す模式図である。図1に示す位置決めシステム1は、画像処理を用いて対象物(以下、「対象ワークW」という)の位置決めを行う。位置決めは、典型的には、工業製品の製造過程などにおいて、対象ワークWを生産ラインの本来の位置に配置する処理などを意味する。たとえば、位置決めシステム1は、液晶パネルの生産ラインにおいて、ガラス基板に回路パターンの焼付処理(露光処理)前に、露光マスクに対するガラス基板の位置決めを行なう。
 図1に示すように、位置決めシステム1は、移動機構10と、ドライバユニット20と、視覚センサ30と、コントローラ40とを備える。
 移動機構10は、載置される対象ワークWを移動する。移動機構10は、対象ワークWを目標位置に配置できる機構であればどのような自由度のものであってもよい。移動機構10は、たとえば、水平方向の並進移動と回転移動とを対象ワークWに与えることができるXYθステージである。
 図1に示す例の移動機構10は、Xステージ11と、Yステージ13と、θステージ15と、サーボモータ12,14,16とを含む。Xステージ11は、サーボモータ12の駆動によりX方向に沿って並進移動する。Yステージ13は、サーボモータ14の駆動によりY方向に沿って並進移動する。θステージ15は、サーボモータ16の駆動によりθ方向に回転移動する。θステージ15の上に対象ワークWが載置される。
 サーボモータ12,14,16にはエンコーダ12E,14E,16Eがそれぞれ設けられる。エンコーダ12E,14E,16Eの各々は、対応するサーボモータの駆動量(回転量)に応じたパルス信号をそれぞれ発生する。エンコーダ12Eは、パルス信号に含まれるパルス数をカウントすることにより、初期位置からのXステージ11のX方向の並進移動量をエンコーダ値EnXとして計測する。パルス数のカウント値と移動量とは、所定の係数によって関係付けられる。そのため、エンコーダ12Eは、パルス数のカウント値に当該係数を乗ずることにより、移動量を計測できる。同様に、エンコーダ14Eは、初期位置からのYステージ13のY方向の並進移動量をエンコーダ値EnYとして計測する。エンコーダ16Eは、初期位置からのθステージ15の回転移動量をエンコーダ値Enθとして計測する。
 ドライバユニット20は、制御周期Tsごとにコントローラ40から受ける移動指令に従って、移動機構10の動作制御を行う。図1に示されるように、ドライバユニット20は、サーボドライバ22,24,26を含む。サーボドライバ22,24,26は、サーボモータ12,14,16からエンコーダ値EnX,EnY,Enθを制御周期Tsごとにそれぞれ取得する。制御周期Tsは、固定であり、たとえば1msである。
 サーボドライバ22は、Xステージ11の移動量が移動指令に近付くように、サーボモータ12に対してフィードバック制御を行なう。サーボドライバ24は、Yステージ13の移動量が移動指令に近付くように、サーボモータ14に対してフィードバック制御を行なう。サーボドライバ26は、θステージ15の移動量が移動指令に近付くように、サーボモータ16に対してフィードバック制御を行なう。
 ドライバユニット20は、移動機構10から取得したエンコーダ値EnX,EnY,Enθをコントローラ40に出力する。
 視覚センサ30は、定位置に固定された撮像部31と、撮像部31によって撮像された画像に対して画像処理を行なう画像処理装置32とを含む。
 撮像部31は、移動機構10に載置された対象ワークWと、定位置に固定された基準ワークW0との両方を含む画像を撮像周期Tbごとに取得(撮像)する。撮像周期Tbは、撮像状況などに応じて変動し、たとえば約60msである。対象ワークWには、特徴部分であるマーク5a,5bが設けられている。基準ワークW0には、特徴部分であるマーク6a,6bが設けられている。撮像部31は、たとえばカメラである。
 画像処理装置32は、撮像部31により取得された画像に対して画像解析を行ない、当該画像の座標系(以下、「カメラ座標系」という)における、対象ワークWの位置と基準ワークW0の位置とを特定する。カメラ座標系は、画像における画素位置で示される。画像処理装置32は、カメラ座標系における、対象ワークWに設けられたマーク5a,5bの位置と、基準ワークW0に設けられたマーク6a,6bの位置とを特定する。
 コントローラ40は、たとえばPLC(プログラマブルロジックコントローラ)であり、各種のFA制御を行なう。
 コントローラ40は、カメラ座標系を移動機構10の座標系(以下、「機械座標系」という)に変換するためのキャリブレーションパラメータを用いて、画像処理装置32によって特定されたマーク5a,5b,6a,6bの位置を座標変換する。これにより、コントローラ40は、機械座標系における、対象ワークWのマーク5a,5bの位置と、基準ワークW0のマーク6a,6bの位置とを特定する。
 コントローラ40は、機械座標系において、マーク5a,5bの位置がマーク6a,6bの位置にそれぞれ近づくように、移動機構10を制御する。
 コントローラ40は、機械座標系におけるマーク5aの位置とマーク6aの位置との距離(以下、「第1距離D1」という)と、機械座標系におけるマーク5bの位置とマーク6bの位置との距離(以下、「第2距離D2」という)とを算出する。コントローラ40は、算出した第1距離D1および第2距離D2の両方が終了判定閾値Th未満である場合に、移動機構10の制御を終了する。終了判定閾値Thは、要求される位置決め精度に応じて定められる。これにより、対象ワークWの位置決めが終了する。
 ところで、移動機構10の経年劣化、外部要因などによって、キャリブレーションパラメータに誤差が生じ得る。「キャリブレーションパラメータの誤差」とは、現在設定されているキャリブレーションパラメータと、移動機構10の現在の状態に対応する理想的なキャリブレーションパラメータとの偏差を意味する。
 キャリブレーションパラメータは、カメラ座標系から機械座標系への並進移動量、回転移動量、拡大縮小の変換量(変換倍率)を規定する。キャリブレーションパラメータで示される、カメラ座標系から機械座標系への変換倍率に誤差が含まれる場合、コントローラ40によって算出される第1距離D1および第2距離D2にも誤差が含まれる。そのため、マーク5aとマーク6aとの実距離およびマーク5bとマーク6bとの実距離が終了判定閾値Thを超えていたとしても、第1距離D1および第2距離D2が終了判定閾値Thよりも小さくなり、対象ワークWの位置決めが終了する場合があり得る。その結果、位置決め精度が低下する。
 本実施の形態では、位置決め精度の低下を抑制するように、終了判定閾値Thが調整される。具体的には、コントローラ40は、キャリブレーションパラメーラから、カメラ座標系から機械座標系への第1変換倍率を算出するとともに、撮像部31の設計情報から算出される、カメラ座標系から機械座標系への第2変換倍率を算出する。そして、コントローラ40は、第1変換倍率と第2変換倍率とを比較し、比較結果に応じて終了判定閾値Thを設定する。
 第1変換倍率が第2変換倍率よりも小さい場合、コントローラ40は、マーク5aとマーク6aとの実距離よりも第1距離D1を小さく見積もっている可能性がある。同様に、コントローラ40は、マーク5bとマーク6bとの実距離よりも第2距離D2を小さく見積もっている可能性がある。そのため、コントローラ40は、第1変換倍率が第2変換倍率より大きい場合よりも第1変換倍率が第2変換倍率より小さい場合の方が終了判定閾値Thが小さくなるように、終了判定閾値Thを設定する。これにより、第1距離D1および第2距離D2を対応する実距離よりも小さく見積もっていたとしても、終了判定閾値Thが小さくなるように調整されるため、位置決め精度が不十分な状態で、位置決め処理が終了することを抑制できる。その結果、位置決め精度の低下を抑制できる。
 §2 具体例
 次に、本実施の形態に係る位置決めシステムの一例について説明する。
 <2-1.画像処理装置のハードウェア構成>
 図2は、図1に示す画像処理装置のハードウェア構成を示す模式図である。画像処理装置32は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
 より具体的には、画像処理装置32は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ310と、RAM(Random Access Memory)312と、表示コントローラ314と、システムコントローラ316と、I/O(Input Output)コントローラ318と、ハードディスク320と、カメラインターフェイス322と、入力インターフェイス324と、コントローラインターフェイス326と、通信インターフェイス328と、メモリカードインターフェイス330とを含む。これらの各部は、システムコントローラ316を中心として、互いにデータ通信可能に接続される。
 プロセッサ310は、システムコントローラ316との間でプログラム(コード)などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
 システムコントローラ316は、プロセッサ310、RAM312、表示コントローラ314、およびI/Oコントローラ318とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理装置32全体の処理を司る。
 RAM312は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク320から読み出されたプログラムや、撮像部31によって撮像された画像(画像データ)、画像に対する処理結果、およびワークデータなどを保持する。画像に対する処理結果には、当該画像に含まれるマーク5a,5bの位置座標が含まれる。
 表示コントローラ314は、表示部60と接続されており、システムコントローラ316からの内部コマンドに従って、各種の情報を表示するための信号を表示部60へ出力する。
 I/Oコントローラ318は、画像処理装置32に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ318は、ハードディスク320と、カメラインターフェイス322と、入力インターフェイス324と、コントローラインターフェイス326と、通信インターフェイス328と、メモリカードインターフェイス330と接続される。
 ハードディスク320は、典型的には、不揮発性の磁気記憶装置であり、プロセッサ310で実行されるプログラムに加えて、各種設定値などが格納される。
 カメラインターフェイス322は、対象ワークWを撮影することで生成された画像データを受付ける入力部に相当し、プロセッサ310と撮像部31との間のデータ伝送を仲介する。カメラインターフェイス322は、撮像部31からの画像データをそれぞれ一時的に蓄積するための画像バッファを含む。
 入力インターフェイス324は、プロセッサ310とキーボード334、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。
 コントローラインターフェイス326は、プロセッサ310とコントローラ40との間のデータ伝送を仲介する。
 通信インターフェイス328は、プロセッサ310と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス328は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
 メモリカードインターフェイス330は、プロセッサ310と記録媒体61との間のデータ伝送を仲介する。
 <2-2.コントローラのハードウェア構成>
 図3は、図1に示すコントローラのハードウェア構成を示す模式図である。コントローラ40は、チップセット412と、プロセッサ414と、不揮発性メモリ416と、主メモリ418と、システムクロック420と、メモリカードインターフェイス422と、通信インターフェイス428と、内部バスコントローラ430と、フィールドバスコントローラ438とを含む。チップセット412と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
 プロセッサ414およびチップセット412は、典型的には、汎用的なコンピュータアーキテクチャに従う構成を有している。すなわち、プロセッサ414は、チップセット412から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット412は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ414に必要な命令コードを生成する。システムクロック420は、予め定められた周期のシステムクロックを発生してプロセッサ414に提供する。チップセット412は、プロセッサ414での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
 コントローラ40は、記憶手段として、不揮発性メモリ416および主メモリ418を有する。不揮発性メモリ416は、プロセッサ414で実行される制御プログラム440に加えて、撮像部31の設計情報426、データ定義情報、ログ情報などを不揮発的に保持する。制御プログラム440は、記録媒体424などに格納された状態で流通する。主メモリ418は、揮発性の記憶領域であり、プロセッサ414で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。
 コントローラ40は、通信手段として、通信インターフェイス428および内部バスコントローラ430を有する。これらの通信回路は、データの送信および受信を行う。
 通信インターフェイス428は、視覚センサ30との間でデータを遣り取りする。内部バスコントローラ430は、データの遣り取りを制御する。より具体的には、内部バスコントローラ430は、バッファメモリ436と、DMA(Dynamic Memory Access)制御回路432と、内部バス制御回路434とを含む。
 メモリカードインターフェイス422は、コントローラ40に対して着脱可能な記録媒体424とプロセッサ414とを接続する。記録媒体424は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。記録媒体424には、コントローラ40で実行される制御プログラム440などが格納された状態で流通し、メモリカードインターフェイス422は、記録媒体424から制御プログラムを読み出す。記録媒体424は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD-ROM(Compact Disk Read Only Memory)などの光学記録媒体等からなる。あるいは、通信インターフェイス417を介して、配信サーバなどからダウンロードしたプログラムをコントローラ40にインストールしてもよい。
 フィールドバスコントローラ438は、フィールドネットワークに接続するための通信インターフェイスである当該フィールドネットワークには、たとえば、EtherCAT(登録商標)、EtherNet/IP(登録商標)、CompoNet(登録商標)などが採用される。コントローラ40は、フィールドバスコントローラ438を介してサーボドライバ22,24,26と接続される。
 <2-3.画像処理装置の処理例>
 図4は、図1に示す位置決めシステムの機能構成の一例を示すブロック図である。画像処理装置32は、撮像部31によって撮像された画像の中からマーク5a,5b(図1参照)を探索し、マーク5aの位置(以下、「計測位置PMa」という)とマーク5bの位置(以下、「計測位置PMb」という)とを特定する。さらに、画像処理装置32は、同じ画像の中からマーク6a,6b(図1参照)を探索し、マーク6aの位置(以下、「目標位置SPa」という)とマーク6bの位置(以下、「目標位置SPb」という)とを特定する。
 画像処理装置32は、公知のパターン認識技術を用いて、画像の中からマーク5a,5b,6a,6bを認識すればよい。画像処理装置32は、計測位置PMa,PMbと目標位置SPa,SPbとのXY座標を計測する。当該XY座標は、カメラ座標系で示される。
 <2-4.コントローラの機能構成>
 図4に示されるように、コントローラ40は、キャリブレーション実行部41と、座標変換部42と、移動制御部43と、終了判定部47とを備える。キャリブレーション実行部41と、座標変換部42と、移動制御部43と、終了判定部47とは、図4に示すプロセッサ414が制御プログラム440を実行することにより実現される。
 <2-4-1.キャリブレーション実行部>
 キャリブレーション実行部41は、カメラ座標系と機械座標系との整合をとる処理であるキャリブレーションを実行し、カメラ座標系を機械座標系に変換するためのキャリブレーションパラメータを生成する。キャリブレーション実行部41は、位置決めシステム1の立ち上げ段階において、キャリブレーションを実行する。さらに、キャリブレーション実行部41は、上位の制御装置からのキャリブレーションの実行指示に応じて、キャリブレーションを実行する。たとえば、作業者は、キャリブレーションパラメータのずれが大きくなってきたと判断したタイミングで、上位の制御装置を操作して、キャリブレーションを実行させる。
 キャリブレーションパラメータは、典型的には、以下の式(1)におけるアフィン変換係数A~F(以下、「キャリブレーションパラメータA~F」という)である。式(1)において、(x、y)は、カメラ座標系のXY座標を示し、(x’,y’)は、機械座標系のXY座標を示す。
Figure JPOXMLDOC01-appb-M000001
 キャリブレーション実行部41は、カメラ座標系における複数の点のXY座標と、機械座標系における当該複数の点のXY座標との対応関係に基づいて、公知の手法に従ってキャリブレーションパラメータA~Fを算出すればよい。
 <2-4-2.座標変換部>
 上述したように、画像処理装置32から出力される計測位置PMa、PMbおよび目標位置SPa,SPbは、カメラ座標系で示される。一方、移動制御部43の制御対象である移動機構10の移動量は、機械座標系で示される。そのため、座標変換部42は、画像処理装置32から出力された、計測位置PMa,PMbおよび目標位置SPa,SPbの座標変換を行ない、機械座標系における、計測位置PMa’,PMb’および目標位置SPa’,Spb’のXY座標を出力する。
 座標変換部42は、キャリブレーション実行部41によって算出された最新のキャリブレーションパラメータA~Fと上記の式(1)とを用いて、カメラ座標系から機械座標系への座標変換を行なう。
 <2-4-3.移動制御部>
 移動制御部43は、マーク5aの計測位置PMa’がマーク6aの位置(目標位置SPa’)に近づくとともに、マーク5bの計測位置PMb’がマーク6bの位置(目標位置SPb’)に近づくように、移動指令を生成する。図4に示されるように、移動制御部43は、位置決定部44と、減算部45と、演算部46とを備える。
 計測位置PMa’,PMb’は、撮像周期Tbごとに特定される。一方、移動指令は、制御周期Tsごとに生成される。撮像周期Tbは、制御周期Tsよりも長い。そのため、計測位置PMa’,PMb’のみを用いて移動機構10が制御されると、オーバシュートおよび振動が生じやすくなる。このようなオーバシュートおよび振動を避けるため、位置決定部44は、撮像周期Tbごとに特定された計測位置PMa’,PMb’と制御周期Tsごとに出力されるエンコーダ値EnX,EnY,Enθとに基づいて、制御周期Tsごとにマーク5a,5bの推定位置PVa’,PVb’をそれぞれ決定する。推定位置PVa’,PVb’のXY座標は、機械座標系で示される。推定位置PVa’,PVb’の決定方法については後述する。
 減算部45は、推定位置PVa’と目標位置SPa’との距離と、推定位置PVb’と目標位置SPb’との距離とを出力する。
 演算部46は、推定位置PVa’と目標位置SPa’との距離および推定位置PVb’と目標位置SPb’との距離が0に収束するように演算(P演算またはPID演算)を行ない、制御周期Tsごとに移動指令MVX,MVY,MVθを算出する。移動指令MVXは、Xステージ11(図1参照)に対する移動指令である。移動指令MVYは、Yステージ13(図1参照)に対する移動指令である。移動指令MVθは、θステージ15(図1参照)に対する移動指令である。演算部46は、算出した移動指令MVX、MVY,MVθをドライバユニット20に出力する。移動指令MVX、MVY,MVθは、たとえば位置指令、速度指令またはトルク指令である。
 <2-4-4.終了判定部>
 終了判定部47は、位置決めを終了するか否かを判定し、位置決めを終了すると判定した場合に移動制御部43による制御を終了させる。
 図5は、図4に示す終了判定部の内部構成の一例を示す図である。図5に示されるように、終了判定部47は、距離算出部471と、第1変換倍率算出部472と、第2変換倍率算出部473と、係数決定部474と、設定部475と、指示部476とを含む。
 <2-4-5.距離算出部>
 距離算出部471は、機械座標系における、計測位置PMa’,PMb’と目標位置SPa’,SPb’とを座標変換部42(図4参照)から取得する。距離算出部471は、マーク5aの計測位置PMa’と目標位置SPa’との第1距離D1を算出するとともに、マーク5bの計測位置PMb’と目標位置SPb’との第2距離D2を算出する。
 <2-4-6.第1変換倍率算出部>
 第1変換倍率算出部472は、キャリブレーションパラメータA~Fで示される、カメラ座標系から機械座標系への変換倍率(以下、「第1変換倍率」という)を算出する。「変換倍率」とは、カメラ座標系から機械座標系への拡大縮小の変換量を示す。「変換倍率」は、画像の1画素に相当する視野の絶対長を示す画素分解能といえる。
 カメラ座標系から機械座標系への、X方向の並進変換量を“dx”、Y方向の並進変換量を“dy”、回転変換量を“dθ”、X方向の変換倍率を“a”、Y方向の変換倍率を“b”とすると、カメラ座標系から機械座標系への理想的な変換式は、以下の式(2)で示される。
Figure JPOXMLDOC01-appb-M000002
 上記の式(1)と式(2)とを対比すると、キャリブレーション実行部41によって算出されたキャリブレーションパラメータA~Fは、以下のように示される。
A=a・cos(dθ)
B=-a・sin(dθ)
C=dx
D=b・sin(dθ)
E=b・cos(dθ)
F=dy
 以下の式(3),(4)から、(A+B1/2は、X方向の変換倍率を示し、(D+E1/2は、Y方向の変換倍率を示す。
Figure JPOXMLDOC01-appb-M000003
 そこで、第1変換倍率算出部472は、キャリブレーション実行部41によって算出されたキャリブレーションパラメータA,B,D,Eを用いて、(A+B1/2および(D+E1/2のいずれか小さい方を第1変換倍率として算出する。
 <2-4-7.第2変換倍率算出部>
 第2変換倍率算出部473は、撮像部31の設計情報に基づいて、カメラ座標系から機械座標系への変換倍率(以下、「第2変換倍率」という)を算出する。撮像部31の設計情報は、コントローラ40の不揮発性メモリ416(図3参照)に予め格納されている。第2変換倍率算出部473は、不揮発性メモリ416から設計情報を読み出し、読み出した設計情報に基づいて、第2変換倍率を算出する。
 図6は、撮像部の構成を示す図である。図6に示されるように、撮像部31は、撮像素子301と、対象ワークWおよび基準ワークW0からの光を撮像素子301に導くレンズ302とを含む。撮像素子301は、たとえばCCD(Charge-Coupled Device)イメージセンサであり、格子状に配列された複数の受光素子を有し、各受光素子の受光量に応じた電荷を出力する。レンズ302は、撮像素子301との距離が焦点距離と一致するように、撮像素子301と対象ワークWとの間に配置される。
 上述したように、変換倍率は、画像の1画素に相当する視野の絶対長を示す画素分解能といえる。すなわち、画素分解能は、視野の水平長さを画素数で割った値である。撮像素子301の寸法(水平方向の長さ)をd1、撮像素子301の解像度(受光素子の密度)をR、レンズの焦点距離をd2、レンズの画角をΘ、撮像素子301と対象ワークWとの距離をd3とすると、画素分解能は、以下の式(5)で示される。
画素分解能=2×(d3-d2)×tan(Θ/2)/(d1×R) ・・・(5)。
 第2変換倍率算出部473は、不揮発性メモリ416(図3参照)が記憶する設計情報426に含まれる、撮像素子301の寸法および解像度と、レンズ302の焦点距離および画角と、撮像素子301と対象ワークWとの距離とを示す情報を用いて、上記の式(5)に従って、第2変換倍率を算出する。
 <2-4-8.係数決定部、設定部および指示部>
 係数決定部474は、第1変換倍率と第2変換倍率との値に応じて、終了判定閾値Thを設定するための調整係数αを決定する。
 具体的には、係数決定部474は、第1変換倍率が第2変換倍率以上である場合、調整係数αを1に設定する。係数決定部474は、第1変換倍率が第2変換倍率よりも小さい場合、調整係数αを(第1変換倍率/第2変換倍率)に設定する。
 設定部475は、終了判定閾値Thを設定する。設定部475は、要求される位置決め精度に応じて予め定められる値(以下、「デフォルト閾値Th0」という)を取得する。デフォルト閾値Th0は、マーク5aとマーク6bとの距離およびマーク5bとマーク6bとの距離の許容範囲の上限値、または、当該上限値よりも小さい値である。
 設定部475は、デフォルト閾値Th0と調整係数αとの積(Th0×α)を終了判定閾値Thとして設定する。
 指示部476は、第1距離D1および第2距離D2と終了判定閾値Thとを比較する。指示部476は、第1距離D1および第2距離D2の両方が終了判定閾値Th未満である場合に、移動機構10の移動を終了するように移動制御部43に指示する。
 §3 動作例
 <3-1.終了判定閾値の設定処理の流れ>
 図7を参照して、コントローラ40の終了判定閾値の設定処理の流れについて説明する。図7は、コントローラ40の終了判定閾値の設定処理の流れの一例を示すフローチャートである。図7に示す終了判定閾値の設定処理は、キャリブレーション実行部41がキャリブレーションを実行するたびに行なわれる。
 キャリブレーション実行部41がキャリブレーションを実行すると、まずステップS1において、第1変換倍率算出部472は、最新のキャリブレーションパラメータを取得する。ステップS2において、第1変換倍率算出部472は、最新のキャリブレーションパラメータを用いて、第1変換倍率を算出する。
 次にステップS3において、第2変換倍率算出部473は、不揮発性メモリ416に格納された撮像部31の設計情報に基づいて、第2変換倍率を算出する。
 次にステップS4において、係数決定部474は、第1変換倍率が第2変換倍率以上であるか否かを判定する。ステップS4でYESの場合、係数決定部474は、ステップS5において、調整係数αを1に決定する。ステップS4でNOの場合、つまり、第1変換倍率が第2変換倍率よりも小さい場合、係数決定部474は、ステップS6において、調整係数αを(第1変換倍率/第2変換倍率)に決定する。
 ステップS5またはステップS6の後、設定部475は、ステップS7において、デフォルト閾値Th0と調整係数αとの積(Th0×α)を終了判定閾値Thとして設定する。これにより、終了判定閾値の設定処理が終了する。
 <3-2.コントローラの位置決め処理の流れ>
 図8を参照して、コントローラ40の位置決め処理の流れの一例について説明する。図8は、コントローラにおける位置決め処理の流れの一例を示すフローチャートである。図8に示す位置決め処理は、図7に示す終了判定閾値の設定処理が完了した後に行なわれる。
 まずステップS11において、コントローラ40は、推定位置PVa’,PVb’およびエンコーダ値EnX,EnY,Ebθを初期化する。
 次に、対象ワークWが移動機構10上に載置されると、コントローラ40は、上位の制御装置からの指示に従って、視覚センサ30に対して撮像トリガを出力する。そして、ステップS12において、撮像部31は、停止中の移動機構10上の対象ワークWと、定位置に固定された基準ワークW0との両方を含む画像を取得する。ステップS13において、画像処理装置32は、撮像された画像に含まれる、マーク5aの位置(計測位置PMa)およびマーク6aの位置(目標位置SPa)と、マーク5bの位置(計測位置PMb)およびマーク6bの位置(目標位置SPb)とを特定する。
 次にステップS14において、座標変換部42は、キャリブレーション実行部41によって算出された最新のキャリブレーションパラメータA~Fを用いて、計測位置PMa,PMbおよび目標位置SPa,SPbの座標変換を行なう。座標変換部42は、座標変換により得られた、機械座標系における計測位置PMa’,PMb’および目標位置SPa’,SPb’のXY座標を出力する。
 次にステップS15において、距離算出部471は、計測位置PMa’と目標位置SPa’との第1距離D1と、計測位置PMb’と目標位置SPb’との第2距離D2とを算出する。
 次にステップS16において、指示部476は、第1距離D1および第2距離D2が終了判定閾値Th未満であるか否かを判定する。ステップS16でYESの場合、指示部476は、移動機構10の移動を終了するように移動制御部43に指示する。これにより、移動機構10が停止し、位置決め処理が終了する。
 ステップS16でNOの場合、コントローラ40は、ステップS17において、移動制御部43により移動機構10の移動制御が開始済みであるか否かを判定する。ステップS17でNOの場合、移動制御部43は、ステップS18において、移動機構10に対する移動制御を開始する。移動制御部43による移動制御の詳細については後述する。
 ステップS18の後、または、ステップS17でYESの場合、ステップS19,S20の処理が撮像周期Tbごとに繰り返される。なお、ステップS19,S20の間にも、移動制御部43による移動制御が並行して実行される。
 ステップS19において、コントローラ40は、現時刻が撮像トリガ出力時刻であるか否かを判定する。撮像トリガ出力時刻は、撮像周期Tbに従って、予め定められる。すなわち、前回の撮像トリガ出力時刻から撮像周期Tbだけ経過した時刻が新たな撮像トリガ出力時刻として定められる。現時刻が撮像トリガ出力時刻でない場合(ステップS19でNO)、位置決め処理はステップS19に戻る。
 現時刻が撮像トリガ出力時刻である場合(ステップS19でYES)、コントローラ40は、撮像トリガを視覚センサ30に出力する。これにより、ステップS20において、撮像トリガを受けた撮像部31は、移動中の移動機構10上の対象ワークWを撮像する。ステップS20の後、位置決め処理はステップS13に戻る。
 <3-3.移動制御部の処理>
 図9は、移動制御部による移動制御の処理の流れの一例を示すフローチャートである。まずステップS21において、移動制御部43は、座標変換部42から出力された最新の計測位置PMa’,PMb’の座標(機械座標系)を取得する。
 次にステップS22において、位置決定部44は、撮像時刻tiを取得する。位置決定部44は、撮像トリガが出力された時刻から一定の伝送遅延時間Tsdだけ経過した時刻を撮像時刻tiとして取得する。伝送遅延時間Tsdは、撮像部31が撮像トリガを受けてから撮像開始するまでの遅延時間である。
 次にステップS23において、位置決定部44は、撮像時刻tiに近い複数の時刻(以下、「出力時刻」という)にエンコーダ12E,14E,16E(図1参照)から出力されたエンコーダ値EnX,EnY,Enθを取得する。過去に検出されたエンコーダ値は、コントローラ40の記憶部(たとえば不揮発性メモリ416または主メモリ418(図4参照))に記憶される。
 次にステップS24において、位置決定部44は、複数の出力時刻のエンコーダ値EnXの内挿補間値を算出し、当該内挿補間値を撮像時刻tiのエンコーダ値EnsXとする。同様に、位置決定部44は、複数の時刻のエンコーダ値EnYの内挿補間値を算出し、当該内挿補間値を撮像時刻のエンコーダ値EnsYとする。位置決定部44は、複数の時刻のエンコーダ値Enθの内挿補間値を算出し、当該内挿補間値を撮像時刻のエンコーダ値Ensθとする。
 図10は、撮像時刻のエンコーダ値EnsXの算出方法を説明する図である。図10を参照して、位置決定部44は、以下のようにして内挿補間値を算出する。出力時刻t(j)に出力されたエンコーダ値EnXをエンコーダ値EnX(j)とする。なお、エンコーダ12Eがパルス信号を検出してからエンコーダ値EnXが出力するまで一定の伝送遅延時間Tedだけ遅延する。そのため、出力時刻t(j)に出力されたエンコーダ値EnX(j)は、出力時刻t(j)から伝送遅延時間Tedだけ前の時刻における、初期位置からのサーボモータ12の駆動量を示している。
 位置決定部44は、撮像時刻tiに近接する2つの出力時刻を特定する。たとえば、制御周期Tsと、エンコーダ値の伝送遅延時間Tedと、撮像トリガの伝送遅延時間TsdとがTs-Ted≦Tsd<2Ts-Tedを満たす場合、位置決定部44は、撮像時刻tiの直後の出力時刻t(n)と出力時刻t(n+1)とを特定する。
 位置決定部44は、出力時刻t(n)に出力されたエンコーダ値EnX(n)と、出力時刻t(n+1)に出力されたエンコーダ値EnX(n+1)とを取得する。
 位置決定部44は、エンコーダ値EnX(n)とエンコーダ値EnX(n+1)との内挿補間値を用いて、撮像時刻tiのエンコーダ値EnsX(i)を算出する。具体的には、位置決定部44は、次の式(6)を用いて、撮像時刻tiのエンコーダ値EnsX(i)を算出する。
 EnsX(i)=EnX(n)+Kk*(EnX(n+1)-EnX(n)) ・・・(6)
 ここで、Kkは、内挿補間係数である。Ts-Ted≦Tsd<2Ts-Tedの場合、内挿補間係数Kkは、次の式(7)を用いて算出される。
 Kk={Tsd-(Ts-Ted)}/Ts ・・・(7)
 このような内挿補間値の算出方法を用いることによって、撮像時刻tiのエンコーダ値EnsX(i)を高精度に算出できる。同様にして、撮像時刻tiのエンコーダ値EnsY(i),Ensθ(i)が算出される。なお、撮像時刻tiがエンコーダ値の出力時刻から伝送遅延時間Tedだけ前の時刻と一致する場合には、このエンコーダ値をそのまま用いればよい。
 次にステップS25において、位置決定部44は、計測位置PMa’,PMb’と、撮像時刻以後のエンコーダ値EnX,EnY,Enθと、撮像時刻のエンコーダ値EnsX,EnsY,Ensθとを用いて、推定位置PVa’,PVb’を算出する。
 位置決定部44は、X方向に(EnX-EnsX)だけ並進移動し、Y方向に(EnY-EnsY)だけ並進移動し、θステージ15の回転軸を中心に(Enθ-Ensθ)だけ回転移動するときのアフィン変換式に計測位置PMa’のXY座標を入力する。これにより、位置決定部44は、マーク5aの推定位置PVa’のXY座標を算出する。同様に、位置決定部44は、当該アフィン変換式に計測位置PMb’のXY座標を入力することにより、マーク5bの推定位置PVb’のXY座標を算出する。
 次にステップS26において、演算部46は、目標位置SPa’,SPb’に対する推定位置PVa’,PVb’のそれぞれの偏差に基づいて、たとえばP演算により、移動指令MVX,MVY,MVθを生成する。そして、演算部46は、ドライバユニット20に移動指令MVX,MVY,MVθを出力する。
 このような処理を実行することによって、コントローラ40は、画像処理装置32から高精度な計測位置PMa,PMbが入力される時刻には、当該計測位置PMa,PMbを用いて推定位置PVa’.PVb’を算出し、高精度な位置決め制御を実現できる。ここで、計測位置PMa,PMbが入力される時間間隔は、撮像周期Tbであり、エンコーダ値EnX,EnY,Enθが入力される制御周期Tsに比べて長い。しかしながら、時間軸上で隣り合う計測位置PMa,PMbの入力時刻間において、位置決定部44は、入力周期が短いエンコーダ値EnX,EnY,Enθの入力時刻毎に、推定位置PVa’,PVb’を決定して、移動機構10の移動制御を行う。これにより、高精度且つ短周期の位置決め制御が可能になる。さらに、位置決定部44は、上述の簡単な四則演算を用いる処理を行なう。そのため、簡素な構成および処理による高速且つ高精度な位置決めを実現できる。
 <3-4.作用・効果>
 以上のように、対象ワークWの位置決めを行なう位置決めシステム1は、対象ワークWを移動させるための移動機構10と、撮像部31と、画像処理装置32と、座標変換部42と、移動制御部43と、指示部476と、設定部475とを備える。
 撮像部31は、撮像周期Tbごとに、対象ワークWと目標物である基準ワークW0との両方を含む画像を取得する。画像処理装置32は、画像のカメラ座標系における対象ワークWの位置(計測位置PMa,PMb)と、カメラ座標系における基準ワークW0の位置(目標位置SPa,SPb)とを特定する。
 座標変換部42は、カメラ座標系を移動機構10の機械座標系に変換するためのキャリブレーションパラメータを用いて、計測位置PMa,PMbと目標位置SPa,SPbとの座標変換を行なう。これにより、機械座標系における計測位置PMa’,PMb’と機械座標系における目標位置SPa’,SPb’とが特定される。
 移動制御部43は、計測位置PMa’が目標位置SPa’に近づき、かつ、計測位置PMb’が目標位置SPb’に近づくように、移動機構10を制御する。指示部476は、計測位置PMa’と目標位置SPa’との第1距離D1と、計測位置PMb’と目標位置SPb’との第2距離D2とが終了判定閾値Th未満である場合に、移動機構10の移動を終了するように移動制御部43に指示する。
 キャリブレーションパラメータから算出される、カメラ座標系から機械座標系への第1変換倍率と、撮像部31の設計情報から算出される、カメラ座標系から機械座標系への第2変換倍率とが比較される。そして、設定部475は、第1変換倍率が第2変換倍率より大きい場合よりも、第1変換倍率が第2変換倍率より小さい場合の方が終了判定閾値Thが小さくなるように、終了判定閾値Thを設定する。
 第1変換倍率は、キャリブレーションパラメータを用いて座標変換したときの変換倍率を示している。第2変換倍率は、設計上の変換倍率を示している。第1変換倍率および第2変換倍率のうちどちらが真の変換倍率に近いかは、現状の撮像部31の状態に依存し、不明である。
 第1距離D1および第2距離D2は、キャリブレーションパラメータを用いて計測位置PMa,PMbと目標位置SPa,SPbとを座標変換することにより算出される。そのため、第1変換倍率が第2変換倍率よりも小さい場合、コントローラ40は、マーク5aとマーク6aとの実距離よりも第1距離D1を小さく見積もっている可能性がある。同様に、コントローラ40は、マーク5bとマーク6bとの実距離よりも第2距離D2を小さく見積もっている可能性がある。
 上記の構成によれば、第1変換倍率が第2変換倍率よりも小さい場合、調整係数α(=第1変換倍率/第2変換倍率)とデフォルト閾値Th0との積が終了判定閾値Thとして設定される。そのため、第1変換倍率が第2変換倍率よりも大きい場合よりも第1変換倍率が第2変換倍率よりも小さい場合の方が終了判定閾値Thが小さくなる。これにより、第1距離D1および第2距離D2を実距離よりも小さく見積もっていたとしても、位置決め精度が不十分な状態で、位置決め処理が終了してしまうことを抑制できる。その結果、位置決め精度の低下を抑制できる。
 撮像部31は、撮像素子301と、対象ワークWと基準ワークW0とからの光を撮像素子301に導くレンズ302とを含む。設計情報は、撮像素子301の寸法と、撮像素子301の解像度と、レンズ302の画角と、レンズ302の焦点距離と、撮像素子301と対象ワークWとの距離とを示す情報を含む。これにより、設計上の変換倍率を第2変換倍率として算出できる。
 キャリブレーションパラメータは、アフィン変換係数である。第1変換倍率は、アフィン変換係数を用いて算出される。アフィン変換係数は、カメラ座標系から機械座標系への並進移動量、回転移動量および拡大縮小の変換量(変換倍率)を規定する。そのため、アフィン変換係数を用いることにより、キャリブレーションパラメータを用いて座標変換したときの変換倍率を第1変換倍率として算出できる。
 設定部475は、第1変換倍率が第2変換倍率よりも大きい場合、デフォルト閾値Th0を終了判定閾値Thとして設定する。設定部475は、第2変換倍率が第1変換倍率よりも大きい場合、デフォルト閾値Th0と第1変換倍率を第2変換倍率で割った商との積を終了判定閾値Thとして設定する。これにより、撮像部31の現状に応じた真の変換倍率が第2変換倍率に近い場合であっても、位置決め精度が不十分な状態で、位置決め処理が終了してしまうことを抑制できる。
 §4 変形例
 上記の説明では、第1変換倍率算出部472は、(A+B1/2および(D+E1/2のいずれか小さい方を第1変換倍率として算出する。しかしながら、第1変換倍率算出部472は、(A+B1/2および(D+E1/2の平均値を第1変換倍率として算出してもよい。
 もしくは、第1変換倍率算出部472は、(A+B1/2および(D+E1/2をX方向およびY方向の第1変換倍率としてそれぞれ算出してもよい。第1距離D1は、計測位置PMa’と目標位置SPa’とのX座標の差をΔX1、計測位置PMa’と目標位置SPa’とのY座標の差をΔY1とするとき、(ΔX1+ΔY11/2で示される。そのため、ΔX1>ΔY1であるとき、X方向の第1変換倍率と第2変換倍率との比に応じて、第1距離D1用の終了判定閾値Thが設定されてもよい。ΔX1<ΔY1であるとき、Y方向の第1変換倍率と第2変換倍率との比に応じて、第1距離D1用の終了判定閾値Thが設定されてもよい。同様に、第2距離D2は、計測位置PMb’と目標位置SPb’とのX座標の差をΔX2、計測位置PMb’と目標位置SPb’とのY座標の差をΔY2とするとき、(ΔX2+ΔY21/2で示される。そのため、ΔX2>ΔY2であるとき、X方向の第1変換倍率と第2変換倍率との比に応じて、第2距離D2用の終了判定閾値Thが設定されてもよい。ΔX2<ΔY2であるとき、Y方向の第1変換倍率と第2変換倍率との比に応じて、第2距離D2用の終了判定閾値Thが設定されてもよい。
 上記の説明では、対象ワークWに設けられた2個のマーク5a,5bを対象ワークWの特徴部分として用いて、対象ワークWが位置決めされる。しかしながら、対象ワークWに設けられるマークの個数は2個に限定されず、1個または3個以上であってもよい。
 また、対象ワークWの他の部分を特徴部分として用いて対象ワークWが位置決めされてもよい。たとえば、対象ワークWに設けられたネジまたはネジ穴を特徴部分として用いてもよい。もしくは、対象ワークWの角部を特徴部分として用いてもよい。
 上記の説明では、コントローラ40は、キャリブレーション実行部41と、座標変換部42と、移動制御部43と、終了判定部47とを備える。しかしながら、終了判定部47は、コントローラ40とは別の情報処理装置に備えられていてもよい。
 §5 付記
 以上のように、本実施の形態および変形例は以下のような開示を含む。
 (構成1)
 対象物(W)の位置決めを行なう位置決めシステムであって、
 前記対象物(W)を移動させるための移動機構(10)と、
 撮像周期ごとに、前記対象物(W)と目標物(W0)との両方を含む画像を取得するための撮像部(31)と、
 前記画像の第1座標系における前記対象物(W)の第1位置と、前記第1座標系における前記目標物(W0)の第2位置とを特定するための画像処理装置(32)と、
 前記第1座標系を前記移動機構(10)の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物(W)の第3位置と前記第2座標系における前記目標物の第4位置とを特定するための座標変換部(42)と、
 前記第3位置が前記第4位置が近づくように前記移動機構(10)を制御するための移動制御部(43)と、
 前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構(10)の移動を終了するように前記移動制御部(43)に指示するための指示部(476)と、
 前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部(31)の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するための設定部(475)とを備える、位置決めシステム(1)。
 (構成2)
 前記撮像部(31)は、撮像素子(301)と、前記対象物(W)と前記目標物とからの光を前記撮像素子(301)に導くレンズ(302)とを含み、
 前記設計情報は、前記撮像素子(301)の寸法と、前記撮像素子(301)の解像度と、前記レンズ(302)の画角と、前記レンズ(302)の焦点距離と、前記撮像素子(301)と前記対象物(W)との距離とを示す情報を含む、構成1に記載の位置決めシステム(1)。
 (構成3)
 前記キャリブレーションパラメータは、アフィン変換係数であり、
 前記第1変換倍率は、前記アフィン変換係数を用いて算出される、構成1に記載の位置決めシステム(1)。
 (構成4)
 前記設定部(475)は、前記第1変換倍率が前記第2変換倍率よりも大きい場合、予め定められた値を前記閾値として設定し、前記第2変換倍率が前記第1変換倍率よりも大きい場合、前記予め定められた値と前記第1変換倍率を前記第2変換倍率で割った商との積を前記閾値として設定する、構成1から3のいずれかに記載の位置決めシステム(1)。
 (構成5)
 対象物(W)の位置決めを行なう位置決めシステム(1)の制御方法であって、
 前記位置決めシステム(1)は、
 前記対象物(W)を移動させるための移動機構(10)と、
 撮像周期ごとに、前記対象物(W)と目標物との両方を含む画像を取得するための撮像部(31)と、
 前記画像の第1座標系における前記対象物(W)の第1位置と、前記第1座標系における前記目標物の第2位置とを特定するための画像処理装置(32)とを備え、
 前記第1座標系を前記移動機構(10)の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物(W)の第3位置と前記第2座標系における前記目標物の第4位置とを特定するステップと、
 前記第3位置が前記第4位置が近づくように前記移動機構(10)を制御するステップと、
 前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構(10)の移動を終了させるステップと、
 前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部(31)の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するステップとを備える、制御方法。
 (構成6)
 対象物(W)の位置決めを行なう位置決めシステム(1)の制御方法をコンピュータに実行させるためのプログラムであって、
 前記位置決めシステム(1)は、
 前記対象物(W)を移動させるための移動機構(10)と、
 撮像周期ごとに、前記対象物(W)と目標物との両方を含む画像を取得するための撮像部(31)と、
 前記画像の第1座標系における前記対象物(W)の第1位置と、前記第1座標系における前記目標物の第2位置とを特定するための画像処理装置(32)とを備え、
 前記制御方法は、
 前記第1座標系を前記移動機構(10)の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物(W)の第3位置と前記第2座標系における前記目標物の第4位置とを特定するステップと、
 前記第3位置が前記第4位置が近づくように前記移動機構(10)を制御するステップと、
 前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構(10)の移動を終了させるステップと、
 前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部(31)の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するステップとを備える、プログラム。
 今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合せても、実施することが意図される。
 1 位置決めシステム、5a,5b,6a,6b,7 マーク、10 移動機構、11 Xステージ、12,14,16 サーボモータ、12E,14E,16E エンコーダ、13 Yステージ、15 θステージ、20 ドライバユニット、22,24,26 サーボドライバ、30 視覚センサ、31 撮像部、32 画像処理装置、40 コントローラ、41 キャリブレーション実行部、42 座標変換部、43 移動制御部、44 位置決定部、45 減算部、46 演算部、47 終了判定部、61,424 記録媒体、60 表示部、301 撮像素子、302 レンズ、310,414 プロセッサ、312 RAM、314 表示コントローラ、316 システムコントローラ、318 I/Oコントローラ、320 ハードディスク、322 カメラインターフェイス、324 入力インターフェイス、326 コントローラインターフェイス、328,417,428 通信インターフェイス、330,422 メモリカードインターフェイス、334 キーボード、412 チップセット、416 不揮発性メモリ、418 主メモリ、420 システムクロック、426 設計情報、430 内部バスコントローラ、432 DMA制御回路、434 内部バス制御回路、436 バッファメモリ、438 フィールドバスコントローラ、440 制御プログラム、471 距離算出部、472 第1変換倍率算出部、473 第2変換倍率算出部、474 係数決定部、475 設定部、476 指示部、W 対象ワーク、W0 基準ワーク。

Claims (6)

  1.  対象物の位置決めを行なう位置決めシステムであって、
     前記対象物を移動させるための移動機構と、
     撮像周期ごとに、前記対象物と目標物との両方を含む画像を取得するための撮像部と、
     前記画像の第1座標系における前記対象物の第1位置と、前記第1座標系における前記目標物の第2位置とを特定するための画像処理装置と、
     前記第1座標系を前記移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物の第3位置と前記第2座標系における前記目標物の第4位置とを特定するための座標変換部と、
     前記第3位置が前記第4位置が近づくように前記移動機構を制御するための移動制御部と、
     前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構の移動を終了するように前記移動制御部に指示するための指示部と、
     前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するための設定部とを備える、位置決めシステム。
  2.  前記撮像部は、撮像素子と、前記対象物と前記目標物とからの光を前記撮像素子に導くレンズとを含み、
     前記設計情報は、前記撮像素子の寸法と、前記撮像素子の解像度と、前記レンズの画角と、前記レンズの焦点距離と、前記撮像素子と前記対象物との距離とを示す情報を含む、請求項1に記載の位置決めシステム。
  3.  前記キャリブレーションパラメータは、アフィン変換係数であり、
     前記第1変換倍率は、前記アフィン変換係数を用いて算出される、請求項1に記載の位置決めシステム。
  4.  前記設定部は、前記第1変換倍率が前記第2変換倍率よりも大きい場合、予め定められた値を前記閾値として設定し、前記第2変換倍率が前記第1変換倍率よりも大きい場合、前記予め定められた値と前記第1変換倍率を前記第2変換倍率で割った商との積を前記閾値として設定する、請求項1から3のいずれか1項に記載の位置決めシステム。
  5.  対象物の位置決めを行なう位置決めシステムの制御方法であって、
     前記位置決めシステムは、
     前記対象物を移動させるための移動機構と、
     撮像周期ごとに、前記対象物と目標物との両方を含む画像を取得するための撮像部と、
     前記画像の第1座標系における前記対象物の第1位置と、前記第1座標系における前記目標物の第2位置とを特定するための画像処理装置とを備え、
     前記第1座標系を前記移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物の第3位置と前記第2座標系における前記目標物の第4位置とを特定するステップと、
     前記第3位置が前記第4位置が近づくように前記移動機構を制御するステップと、
     前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構の移動を終了させるステップと、
     前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するステップとを備える、制御方法。
  6.  対象物の位置決めを行なう位置決めシステムの制御方法をコンピュータに実行させるためのプログラムであって、
     前記位置決めシステムは、
     前記対象物を移動させるための移動機構と、
     撮像周期ごとに、前記対象物と目標物との両方を含む画像を取得するための撮像部と、
     前記画像の第1座標系における前記対象物の第1位置と、前記第1座標系における前記目標物の第2位置とを特定するための画像処理装置とを備え、
     前記制御方法は、
     前記第1座標系を前記移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物の第3位置と前記第2座標系における前記目標物の第4位置とを特定するステップと、
     前記第3位置が前記第4位置が近づくように前記移動機構を制御するステップと、
     前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構の移動を終了させるステップと、
     前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するステップとを備える、プログラム。
PCT/JP2019/022375 2018-06-26 2019-06-05 位置決めシステム、制御方法およびプログラム WO2020003945A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-121003 2018-06-26
JP2018121003A JP6950631B2 (ja) 2018-06-26 2018-06-26 位置決めシステム、制御方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2020003945A1 true WO2020003945A1 (ja) 2020-01-02

Family

ID=68984812

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/022375 WO2020003945A1 (ja) 2018-06-26 2019-06-05 位置決めシステム、制御方法およびプログラム

Country Status (2)

Country Link
JP (1) JP6950631B2 (ja)
WO (1) WO2020003945A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704533A (zh) * 2021-01-25 2021-11-26 浙江大华技术股份有限公司 对象关系的确定方法及装置、存储介质、电子装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022155141A (ja) * 2021-03-30 2022-10-13 キヤノン株式会社 制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014203365A (ja) * 2013-04-08 2014-10-27 オムロン株式会社 制御システムおよび制御方法
JP5893695B1 (ja) * 2014-09-10 2016-03-23 ファナック株式会社 物品搬送システム
JP2017036974A (ja) * 2015-08-07 2017-02-16 オムロン株式会社 画像処理装置、校正方法および校正プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014203365A (ja) * 2013-04-08 2014-10-27 オムロン株式会社 制御システムおよび制御方法
JP5893695B1 (ja) * 2014-09-10 2016-03-23 ファナック株式会社 物品搬送システム
JP2017036974A (ja) * 2015-08-07 2017-02-16 オムロン株式会社 画像処理装置、校正方法および校正プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704533A (zh) * 2021-01-25 2021-11-26 浙江大华技术股份有限公司 对象关系的确定方法及装置、存储介质、电子装置

Also Published As

Publication number Publication date
JP6950631B2 (ja) 2021-10-13
JP2020003560A (ja) 2020-01-09

Similar Documents

Publication Publication Date Title
JP6167622B2 (ja) 制御システムおよび制御方法
JP7078894B2 (ja) 制御システム、制御装置、画像処理装置およびプログラム
WO2020003945A1 (ja) 位置決めシステム、制御方法およびプログラム
WO2019244638A1 (ja) 位置決めシステム、監視装置、監視方法およびプログラム
CN110581945B (zh) 控制系统、控制装置、图像处理装置以及存储介质
WO2019208074A1 (ja) 制御システム、制御方法およびプログラム
CN111886556B (zh) 控制系统、控制方法以及计算机可读存储介质
CN111902785B (zh) 控制系统、控制方法以及计算机可读存储介质
JP7020262B2 (ja) 制御システム、制御方法およびプログラム
EP3933542A1 (en) Control device and alignment device
JP7172151B2 (ja) 制御システム、制御装置およびプログラム
JP7374354B1 (ja) アライメントシステム、アライメント方法及びプログラム
JP7374353B1 (ja) アライメントシステム、アライメント方法及びプログラム
JP7258259B1 (ja) アライメントシステム、アライメント方法及びプログラム
KR102683350B1 (ko) 제어 시스템, 제어 방법 및 컴퓨터 판독 가능한 기억 매체
CN114077264A (zh) 控制装置、控制装置的控制方法及计算机可读取记录介质

Legal Events

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

Ref document number: 19826686

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19826686

Country of ref document: EP

Kind code of ref document: A1