WO2019208109A1 - 制御システム、制御方法、および制御プログラム - Google Patents
制御システム、制御方法、および制御プログラム Download PDFInfo
- Publication number
- WO2019208109A1 WO2019208109A1 PCT/JP2019/014129 JP2019014129W WO2019208109A1 WO 2019208109 A1 WO2019208109 A1 WO 2019208109A1 JP 2019014129 W JP2019014129 W JP 2019014129W WO 2019208109 A1 WO2019208109 A1 WO 2019208109A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- control
- control parameter
- unit
- imaging
- movement command
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D3/00—Control of position or direction
- G05D3/12—Control of position or direction using feedback
Definitions
- This disclosure relates to a technique for positioning a workpiece based on the position of the workpiece measured by a visual sensor.
- Patent Document 1 discloses a visual system in which a movable table, a moving mechanism for moving the movable table, and a workpiece placed on the movable table are repeatedly imaged and the position of the workpiece is repeatedly detected.
- a workpiece positioning device including a sensor is disclosed. Each time the position is detected by the visual sensor, the workpiece positioning device calculates the difference between the detected position and the target position, and moves the movable base when it is determined that the difference is within the allowable range. Stop.
- the workpiece positioning device calculates the difference between the position detected by the visual sensor after the movable table stops moving and the target position, and determines whether the calculated difference is within an allowable range. If it is determined that the difference is outside the allowable range, the moving direction of the movable table that reduces the difference is determined, and the moving mechanism is controlled to move the movable table in the determined moving direction.
- proportional control that is, P control
- a value obtained by multiplying the required movement amount by a proportional gain is a movement command. If the proportional gain is too small, the time until the workpiece reaches the target position (hereinafter also referred to as “alignment time”) becomes long. On the other hand, if the proportional gain is too large, an overshoot in which the workpiece exceeds the target position occurs, or vibration in which overshoot and undershoot are repeated occurs. As a result, the alignment time becomes long.
- the present disclosure has been made to solve the above-described problems, and an object in one aspect is to provide a control system capable of reducing the man-hours for adjusting control parameters related to feedback control. .
- the objective in the other situation is to provide the control method which can reduce the adjustment man-hour of the control parameter regarding feedback control.
- An object in another aspect is to provide a control program capable of reducing the man-hours for adjusting control parameters related to feedback control.
- the control system captures an image of the object based on a moving mechanism for moving the object and an imaging instruction, and the actual position of the object from an image obtained by the imaging.
- a detection unit for detecting position-related information regarding the position of the moving mechanism for each predetermined control cycle shorter than the interval at which the imaging instruction is output to the visual sensor; Based on the actual position and the position-related information, the position determination unit for determining the estimated position of the target object at the present time for each control period, and the estimated position according to the set control parameter
- Feedback control for generating a movement command for adjusting to a target position of an object for each control cycle and outputting the movement command to the moving mechanism for each control cycle If, on the basis of a motion command which is determined in advance in transition position-related information as a feedback value obtained from the sequentially output to the detection unit to the moving mechanism, and an adjusting unit for adjusting the control parameter.
- control parameters relating to feedback control are automatically adjusted.
- the control system can reduce the adjustment man-hour of the control parameter regarding feedback control.
- the control system captures an image of the object based on a moving mechanism for moving the object and an imaging instruction, and the actual position of the object from an image obtained by the imaging. And at each predetermined control cycle shorter than the interval at which the imaging instruction is output to the visual sensor, the actual position is set to the target position of the object according to a predetermined control parameter.
- a feedback control unit that generates a movement command for matching and outputs the movement command to the movement mechanism, and a feedback value obtained from the visual sensor by sequentially outputting a predetermined movement command to the movement mechanism.
- an adjusting unit for adjusting the control parameter based on the transition of the position.
- control parameters relating to feedback control are automatically adjusted.
- the control system can reduce the adjustment man-hour of the control parameter regarding feedback control.
- the adjustment unit generates a plurality of control parameter candidates that can be set in the feedback control unit on the basis of the value of the control parameter determined based on the transition, and the plurality of control parameters
- Each of the candidates is sequentially set in the feedback control unit, and for each control parameter candidate, an alignment time required for moving the object from a predetermined position to the target position is measured, and the plurality of control parameter candidates are determined.
- the control parameter candidate having the shortest alignment time is selected as the control parameter as the optimization result.
- control system can further optimize the control parameters related to feedback control.
- the adjustment unit generates the plurality of control parameter candidates by multiplying each of a plurality of predetermined magnifications by the reference control parameter.
- control system can easily generate control parameter candidates from the reference control parameters.
- the adjustment unit calculates a maximum rate of change per unit time in the transition, and the feedback control unit is based on the time point when the maximum rate of change appears in the transition and the maximum rate of change.
- the delay time of the object to be controlled by is calculated, and the control parameter is determined based on the delay time.
- control system can adjust the control parameter related to feedback control more optimally by determining the control parameter based on the delay time.
- control parameter includes a proportional gain used for proportional control of the feedback control unit.
- the proportional gain is automatically adjusted.
- the control system can reduce the man-hour for adjusting the proportional gain.
- a moving mechanism control method for moving an object captures the object by outputting an imaging instruction to a visual sensor, and the image of the object is obtained from an image obtained by imaging.
- control parameters relating to feedback control are automatically adjusted.
- the control system can reduce the adjustment man-hour of the control parameter regarding feedback control.
- a control program for a moving mechanism for moving an object captures the object by outputting an imaging instruction to a visual sensor to a controller for controlling the moving mechanism.
- a movement command for adjusting the estimated position to the target position of the object is generated for each control cycle, and the movement command is generated for each control cycle.
- the control parameter is adjusted based on the transition of position-related information as a feedback value obtained by sequentially outputting a predetermined movement command to the moving mechanism and detecting the sequential movement command to the moving mechanism. And executing a step.
- control parameters relating to feedback control are automatically adjusted.
- the control system can reduce the adjustment man-hour of the control parameter regarding feedback control.
- the man-hours for adjusting control parameters related to feedback control can be reduced.
- FIG. 1 is a schematic diagram showing an outline of a control system 1 according to the present embodiment.
- the control system 1 performs alignment using image processing.
- the alignment typically means a process of placing an object (hereinafter also referred to as “work W”) at an original position of a production line in the manufacturing process of an industrial product.
- the control system 1 positions the glass substrate with respect to the exposure mask before the circuit pattern printing process (exposure process) on the glass substrate in the production line of the liquid crystal panel.
- the control system 1 includes, for example, a visual sensor 50, a controller 200, a moving mechanism 400, and an encoder 450.
- the visual sensor 50 includes, for example, an imaging unit 52 and an image processing unit 54.
- the moving mechanism 400 includes, for example, a servo driver 402, a servo motor 410, and a stage 420.
- the imaging unit 52 performs an imaging process of imaging an object present in the imaging field of view and generating image data, and images the workpiece W placed on the stage 420.
- the imaging unit 52 performs imaging according to the imaging trigger TR from the controller 200.
- the image data generated by the imaging unit 52 is sequentially output to the image processing unit 54.
- the image processing unit 54 performs image analysis on the image data obtained from the image pickup unit 52 measures the actual position PV v of the workpiece W.
- the actual position PV v is output to the controller 200 every time it is measured.
- the controller 200 is a PLC (programmable logic controller), for example, and performs various FA controls.
- the controller 200 includes a position determination unit 252, a feedback control unit 254, and an adjustment unit 264 as an example of a functional configuration.
- the position determination unit 252 is based on the actual position PV v measured by the visual sensor 50 and the encoder value PV m (position related information) obtained for each control cycle Ts shorter than the imaging interval Tb by the visual sensor 50.
- the position of the workpiece W (hereinafter also referred to as “estimated position PV”) is estimated for each control cycle Ts.
- the imaging cycle Tb varies depending on the imaging situation or the like, and is about 60 ms, for example.
- the control cycle Ts is fixed, for example 1 ms.
- the estimated position PV is output to the feedback control unit 254 every control cycle Ts.
- the feedback control unit 254 generates a movement command MV for adjusting the estimated position PV to the target position SV for each control cycle Ts according to the control parameter 262, and outputs the movement command MV to the servo driver 402 for each control cycle Ts.
- the movement command MV is, for example, any one of a command position, a command speed, and a command torque for the servo driver 402.
- the target position SP is predetermined for each production process, and is sequentially switched according to the current production process.
- the target position SP is detected from the image by the visual sensor 50 performing predetermined image processing. In this case, the visual sensor 50 detects a predetermined mark from the image and recognizes the mark as the target position SP.
- the feedback control by the feedback control unit 254 is realized by, for example, PID (Proportional Integral Differential) control, PI control, PD control, or P control.
- PID Proportional Integral Differential
- PI control Proportional Integral Differential
- PD control Physical Device Control
- P control Proportional Integral Differential
- a feedback control unit 254 that performs P control is shown.
- the feedback control unit 254 includes a subtraction unit 256 and a multiplication unit 258.
- the subtraction unit 256 subtracts the estimated position PV determined by the position determination unit 252 from the target position SP, and outputs the subtraction result to the multiplication unit 258.
- the multiplication unit 258 amplifies / attenuates the subtraction result obtained by the subtraction unit 256 by a proportional gain Kp times defined by the control parameter 262.
- the multiplication result by the multiplication unit 258 is integrated and output to the servo driver 402 as a position command. Alternatively, the multiplication result by the multiplication unit 258 is output to the servo driver 402 as it is as a speed command.
- the servo driver 402 drives the servo motor 410 according to the movement command MV received every control cycle Ts. More specifically, the servo driver 402 acquires the encoder value PV m from the encoder 450 (detection unit) for each control cycle Ts. Servo driver 402, a speed / position indicated by the encoder value PV m, so as to match the speed / position indicated by the movement command MV, feedback control of the servo motor 410. As an example, feedback control by the servo driver 402 is realized by PID control, PI control, PD control, or P control.
- the adjustment unit 264 adjusts the control parameter 262 related to the feedback control unit 254. More specifically, the controller 200 has a normal control mode and an adjustment mode for the control parameter 262 as operation modes. When the operation mode is set to the normal control mode, the switch SW is switched so that the feedback control unit 254 and the servo driver 402 are connected. On the other hand, when the operation mode is set to the adjustment mode, the switch SW is switched so that the adjustment unit 264 and the servo driver 402 are connected.
- the adjustment unit 264 sequentially outputs the movement command MV n which is determined in advance in the moving mechanism 400 sequentially acquires the feedback value encoder value PV m from the encoder 450 (detector). Then, the adjustment unit 264 adjusts the control parameters 262 on the basis of transition of the acquired encoder value PV m. Details of the adjustment method of the control parameter 262 will be described later. As described above, the control parameter 262 is automatically adjusted, so that the number of adjustment steps for the control parameter 262 is reduced.
- FIG. 1 only one component group of the position determination unit 252, the feedback control unit 254, the adjustment unit 264, the servo driver 402, the servo motor 410, and the encoder 450 is shown. , As many as the number of axes for driving the stage 420 are provided. Each component group is responsible for controlling the stage 420 in one axial direction. In this case, the actual position PV v measured by the visual sensor 50 is decomposed into actual position in each axis direction, the actual position after the decomposition is to be output to the corresponding component group.
- FIG. 2 is a schematic diagram showing an outline of the control system 1 according to the modification.
- the adjustment unit 264 adjusts the control parameter 262 based on the transition of the encoder value PV m obtained from the encoder 450 by inputting a predetermined movement command MV n to the movement mechanism 400.
- the adjustment unit 264 inputs a predetermined movement command MV n to the movement mechanism 400 and based on the transition of the actual position PV v obtained from the visual sensor 50. Adjust. Details of the adjustment method of the control parameter 262 will be described later.
- control system 1 shown in FIG. 2 is different from the control system 1 shown in FIG. 1 in that the position determination unit 252 is not provided and the encoder value PV m is not fed back to the controller 200. Since the other points of control system 1 shown in FIG. 2 are the same as those of control system 1 shown in FIG. 1, their description will not be repeated.
- FIG. 3 is a diagram illustrating an example of a device configuration of the control system 1.
- the control system 1 includes a visual sensor 50, a controller 200, and a moving mechanism 400.
- the visual sensor 50 includes the image processing apparatus 100 and one or more cameras (cameras 102 and 104 in the example of FIG. 3).
- the moving mechanism 400 includes base plates 4 and 7, ball screws 6 and 9, a servo driver 402 (servo drivers 402X and 402Y in the example of FIG. 3), a stage 420, and one or more servo motors 410 (of FIG. 3). In the example, servo motors 410X and 410Y) are included.
- the image processing apparatus 100 detects a feature portion 12 (for example, a screw hole) of the workpiece W based on image data obtained by the cameras 102 and 104 photographing the workpiece W.
- the image processing apparatus 100 detects the detected position of the feature portion 12 as the actual position PV v of the workpiece W.
- the controller 200 is connected to one or more servo drivers 402 (servo drivers 402X and 402Y in the example of FIG. 3).
- the servo driver 402X drives the servo motor 410X to be controlled in accordance with the movement command in the X direction received from the controller 200.
- the servo driver 402Y drives the servo motor 410Y to be controlled in accordance with the movement command in the Y direction received from the controller 200.
- the controller 200 gives a target position in the X direction as a command value to the servo driver 402X in accordance with the target trajectory TGx generated in the X direction. Further, the controller 200 gives a target position in the Y direction as a command value to the servo driver 402Y according to the target trajectory TGy generated in the Y direction.
- the workpiece W is moved to the target position SP by sequentially updating the respective target positions in the X and Y directions.
- the controller 200 and the servo driver 402 are connected in a daisy chain via a field network.
- a field network for example, EtherCAT (registered trademark) is adopted.
- EtherCAT registered trademark
- the field network is not limited to EtherCAT, and any communication means can be adopted.
- the controller 200 and the servo driver 402 may be directly connected by a signal line. Further, the controller 200 and the servo driver 402 may be configured integrally.
- the base plate 4 is provided with a ball screw 6 that moves the stage 420 along the X direction.
- the ball screw 6 is engaged with a nut included in the stage 420.
- the servo motor 410X connected to one end of the ball screw 6 is rotationally driven, the nut included in the stage 420 and the ball screw 6 are relatively rotated, and as a result, the stage 420 is moved along the X direction.
- the base plate 7 is provided with a ball screw 9 for moving the stage 420 and the base plate 4 along the Y direction.
- the ball screw 9 is engaged with a nut included in the base plate 4.
- the servo motor 410Y connected to one end of the ball screw 9 is rotationally driven, the nut included in the base plate 4 and the ball screw 9 are relatively rotated. As a result, the stage 420 and the base plate 4 move along the Y direction.
- FIG. 3 shows a biaxially driven moving mechanism 400 by servomotors 410X and 410Y, the moving mechanism 400 is a servomotor that drives the stage 420 in the rotational direction ( ⁇ direction) on the XY plane. May be further incorporated.
- FIG. 4 is a schematic diagram illustrating an example of a hardware configuration of the image processing apparatus 100 configuring the visual sensor 50.
- image processing apparatus 100 typically has a structure according to a general-purpose computer architecture, and a processor executes various programs as described later by executing a preinstalled program. Realize image processing.
- the image processing apparatus 100 includes a processor 110 such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a RAM (Random Access Memory) 112, a display controller 114, and a system controller 116. , An I / O (Input Output) controller 118, a hard disk 120, a camera interface 122, an input interface 124, a controller interface 126, a communication interface 128, and a memory card interface 130. These units are connected to each other so that data communication is possible with the system controller 116 as a center.
- a processor 110 such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a RAM (Random Access Memory) 112, a display controller 114, and a system controller 116.
- An I / O (Input Output) controller 118 a hard disk 120, a camera interface 122, an input interface 124, a controller interface 126, a communication interface 128, and a memory card
- the processor 110 exchanges programs (codes) and the like with the system controller 116 and executes them in a predetermined order, thereby realizing the target arithmetic processing.
- the system controller 116 is connected to the processor 110, the RAM 112, the display controller 114, and the I / O controller 118 via buses, and performs data exchange with each unit and processes of the entire image processing apparatus 100. To manage.
- the RAM 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory), a program read from the hard disk 120, camera images (image data) acquired by the cameras 102 and 104, Stores processing results for camera images and work data.
- DRAM Dynamic Random Access Memory
- the display controller 114 is connected to the display unit 132, and outputs signals for displaying various types of information to the display unit 132 in accordance with internal commands from the system controller 116.
- the I / O controller 118 controls data exchange with a recording medium or an external device connected to the image processing apparatus 100. More specifically, the I / O controller 118 is connected to the hard disk 120, the camera interface 122, the input interface 124, the controller interface 126, the communication interface 128, and the memory card interface 130.
- the hard disk 120 is typically a nonvolatile magnetic storage device, and stores various setting values in addition to the control program 150 executed by the processor 110.
- the control program 150 installed in the hard disk 120 is distributed while being stored in the memory card 136 or the like.
- a semiconductor storage device such as a flash memory or an optical storage device such as a DVD-RAM (Digital Versatile Disk Random Access Memory) may be employed.
- the camera interface 122 corresponds to an input unit that receives image data generated by photographing a workpiece, and mediates data transmission between the processor 110 and the cameras 102 and 104.
- the camera interface 122 includes image buffers 122a and 122b for temporarily storing image data from the cameras 102 and 104, respectively.
- image buffers 122a and 122b for temporarily storing image data from the cameras 102 and 104, respectively.
- a single image buffer that can be shared among the cameras may be provided.
- it is preferable that a plurality of cameras are independently arranged in association with each camera.
- the input interface 124 mediates data transmission between the processor 110 and input devices such as a keyboard 134, a mouse, a touch panel, and a dedicated console.
- the controller interface 126 mediates data transmission between the processor 110 and the controller 200.
- the communication interface 128 mediates data transmission between the processor 110 and other personal computers or server devices (not shown).
- the communication interface 128 typically includes Ethernet (registered trademark), USB (Universal Serial Bus), or the like.
- the memory card interface 130 mediates data transmission between the processor 110 and the memory card 136 as a recording medium.
- the memory card 136 is distributed in a state where the control program 150 executed by the image processing apparatus 100 is stored, and the memory card interface 130 reads the control program from the memory card 136.
- the memory card 136 is a general-purpose semiconductor storage device such as SD (Secure Digital), a magnetic recording medium such as a flexible disk, or an optical recording medium such as a CD-ROM (Compact Disk Read Only Memory). Become.
- a program downloaded from a distribution server or the like may be installed in the image processing apparatus 100 via the communication interface 128.
- an OS for providing a basic function of the computer ( Operating System) may be installed.
- the control program according to the present embodiment may execute processing by calling necessary modules out of program modules provided as part of the OS in a predetermined order and / or timing. Good.
- control program according to the present embodiment may be provided by being incorporated in a part of another program. Even in that case, the program itself does not include the modules included in the other programs to be combined as described above, and the processing is executed in cooperation with the other programs. That is, the control program according to the present embodiment may be in a form incorporated in such another program.
- control program may be implemented as a dedicated hardware circuit.
- FIG. 5 is a schematic diagram illustrating a hardware configuration of the controller 200.
- controller 200 includes a main control unit 210.
- FIG. 5 shows servo motors 410X, 410Y, 410 ⁇ for three axes, and the number of servo drivers 402X, 402Y, 402 corresponding to the number of axes is provided.
- the main control unit 210 includes a chip set 212, a processor 214, a nonvolatile memory 216, a main memory 218, a system clock 220, a memory card interface 222, a communication interface 228, an internal bus controller 230, and a field bus. Controller 238.
- the chip set 212 and other components are coupled via various buses.
- the processor 214 and the chipset 212 typically have a configuration according to a general-purpose computer architecture. That is, the processor 214 interprets and executes the instruction codes sequentially supplied from the chip set 212 according to the internal clock.
- the chip set 212 exchanges internal data with various connected components and generates instruction codes necessary for the processor 214.
- the system clock 220 generates a system clock having a predetermined period and provides it to the processor 214.
- the chip set 212 has a function of caching data obtained as a result of execution of arithmetic processing by the processor 214.
- the main control unit 210 has a nonvolatile memory 216 and a main memory 218 as storage means.
- the nonvolatile memory 216 holds the OS, system program, user program, data definition information, log information, and the like in a nonvolatile manner.
- the main memory 218 is a volatile storage area, holds various programs to be executed by the processor 214, and is also used as a working memory when executing the various programs.
- the main control unit 210 includes a communication interface 228, an internal bus controller 230, and a field bus controller 238 as communication means. These communication circuits transmit and receive data.
- the communication interface 228 exchanges data with the image processing apparatus 100.
- the internal bus controller 230 controls exchange of data via the internal bus 226. More specifically, the internal bus controller 230 includes a buffer memory 236, a DMA (Dynamic Memory Access) control circuit 232, and an internal bus control circuit 234.
- DMA Dynamic Memory Access
- the memory card interface 222 connects the memory card 224 detachable to the main control unit 210 and the processor 214.
- the fieldbus controller 238 is a communication interface for connecting to a field network.
- the controller 200 is connected to a servo driver 402 (for example, servo drivers 402X, 402Y, 402 ⁇ ) via a fieldbus controller 238.
- a servo driver 402 for example, servo drivers 402X, 402Y, 402 ⁇
- a fieldbus controller 238 for example, EtherCAT (registered trademark), EtherNet / IP (registered trademark), CompoNet (registered trademark), or the like is adopted.
- Adjustment processing of control parameter 262> The adjustment flow of the control parameter 262 by the adjustment unit 264 will be described with reference to FIGS. 6 and 7.
- FIG. 6 is a flowchart showing the flow of the adjustment process of the control parameter 262.
- the process illustrated in FIG. 6 is realized by the processor 214 of the controller 200 functioning as the adjustment unit 264. In other aspects, some or all of the processing shown in FIG. 6 may be performed by circuit elements or other hardware.
- the process shown in FIG. 6 represents a control flow for a certain axial direction. Actually, the processes shown in FIG. 6 are executed in parallel in the axial direction.
- step S110 the adjustment unit 264 executes an initialization process.
- the processor 214 initializes the measurement time t to 0, and initializes a variable PV n ⁇ 1 for storing a feedback value to 0.
- the “feedback value” here corresponds to the encoder value PV m detected by the encoder 450 in the example of FIG. 1, and corresponds to the actual position PV v measured by the visual sensor 50 in the example of FIG. 2.
- step S ⁇ b > 112 the adjustment unit 264 generates a movement command MV n to be output to the servo driver 402 according to the following (Equation 1), and outputs the movement command MV n to the servo driver 402.
- step S114 the adjustment unit 264 obtains the feedback value PVn as a response movement command MV n.
- the “feedback value” corresponds to the encoder value PV m detected by the encoder 450 in the example of FIG. 1 and corresponds to the actual position PV v measured by the visual sensor 50 in the example of FIG. .
- step S120 the adjustment unit 264, according to the following (Equation 2), rate of change per time of the feedback value PV n determines whether it exceeds the maximum rate of change R max at the present time. More specifically, the adjustment section 264, by subtracting the previous feedback value PV n-1 from the current feedback value PV n, by dividing the difference results in a control cycle Ts, the maximum change of the division result is currently It is determined whether or not the rate R max is exceeded.
- Adjustment unit 264 if the rate of change per time of the feedback value PV n is determined to exceed the maximum rate of change R max at the present time (YES in step S120), switches the control to step S122. Otherwise (NO in step S120), adjustment unit 264 switches control to step S130.
- step S122 the adjusting unit 264, according to the following (Equation 3) is rewritten to the maximum rate of change that is updated maximum change rate R max that is recorded at the moment new.
- step S122 (PV n ⁇ PV n ⁇ 1 ) / Ts (Formula 3) Further, the adjustment unit 264 stores the feedback value PV n at the time when the maximum change rate R max appears as the feedback value PV r . In addition, the adjustment unit 264 stores the time when the maximum change rate R max appears as the time Tr .
- the various information stored in step S122 is stored in, for example, a storage unit (for example, nonvolatile memory 216 or main memory 218 (see FIG. 5)) of controller 200.
- step S124 the adjusting portion 264 in this feedback value PV n update previous feedback value PV n-1. Further, the adjustment unit 264 adds the control cycle Ts to the measurement time t, and updates the measurement time t.
- step S130 the adjustment unit 264 determines whether or not to finish measuring the feedback value. As an example, the adjustment unit 264 determines to end the measurement of the feedback value when a predetermined measurement end condition is satisfied. In one aspect, the measurement end condition is satisfied when the number of executions of the process of step S130 reaches a predetermined number. In another aspect, the measurement end condition is satisfied when the maximum rate of change R max converges to a constant value. If adjustment unit 264 determines that the measurement of the feedback value is to be terminated (YES in step S130), control is switched to step S140. If not (NO in step S130), adjustment unit 264 returns control to step S112.
- FIG. 7 is a diagram showing, on the time axis, the relationship between the movement command MV n input to the moving mechanism 400 and the feedback value PV n output from the moving mechanism 400 as a response.
- the ramp-shaped movement command MV n shown in FIG. 7 is input to the servo driver 402.
- the motion command MV n is input to the servo driver 402 becomes like a ramp, as shown in FIG. 7, the movement command MV n is a speed command
- the movement command MVn input to the servo driver 402 has a constant value.
- the adjustment unit 264 controls the control parameter 262 (for example, proportional gain Kp) related to the feedback control unit 254 based on the transition of the feedback value PV n obtained by sequentially outputting the predetermined movement command MV n to the movement mechanism 400. ).
- control parameter 262 for example, proportional gain Kp
- step S140 the adjustment unit 264 calculates a steady gain K according to the following (formula 4).
- K R max / R mv (Formula 4) “R max ” shown in (Expression 4) corresponds to the maximum change rate stored in step S122. “R mv ” represents an inclination (that is, a change rate) in the transition of the movement command MV n .
- step S142 the adjustment unit 264 calculates the delay time of the control target of the feedback control unit 254.
- the “delay time” represents the time from when the movement command is given to the control target of the feedback control unit 254 until the output corresponding to the movement command appears.
- the control target of the feedback control unit 254 indicates a control system including the moving mechanism 400 and the encoder 450.
- the control target of the feedback control unit 254 indicates a control system including the visual sensor 50, the moving mechanism 400, and the encoder 450 in the example of the control system 1 illustrated in FIG. 2.
- Adjustment unit 264 time T r of the maximum rate of change R max has appeared in the transition of the feedback value PV n, on the basis of the maximum rate of change R max, to calculate the delay time L of the controlled object by the feedback control unit 254.
- the delay time L is calculated based on the following (Formula 5).
- step S144 the adjustment unit 264 calculates a proportional gain Kp based on the steady gain K calculated in step S140 and the delay time L calculated in step S142.
- the proportional gain Kp is calculated based on, for example, the following (Formula 6).
- Kp ⁇ / (K ⁇ L) (Formula 6) “ ⁇ ” shown in (Expression 6) is a predetermined coefficient. As shown in (Expression 6), as the delay time L is longer, the adjustment unit 264 decreases the proportional gain Kp. In other words, the adjustment unit 264 increases the proportional gain Kp as the delay time L is shorter. In addition, the adjustment unit 264 decreases the proportional gain Kp as the steady gain increases. In other words, the adjustment unit 264 increases the proportional gain Kp as the steady gain decreases.
- step S146 the adjustment unit 264 sets the proportional gain Kp calculated in step S144 as the control parameter 262 of the feedback control unit 254.
- step S140 the example in which the steady gain K is calculated in step S140 has been described.
- the movement command MV as an input value and the feedback value as an output value.
- the steady gain K is 1, so the process of step S140 may be omitted.
- the proportional gain Kp is determined based on the delay time L as shown in the above (formula 6).
- the delay time L is calculated based on the following (formula 7).
- FIG. 8 is a flowchart showing the flow of optimization processing of the control parameter 262.
- the processing shown in FIG. 8 is realized by the processor 214 of the controller 200 functioning as the adjustment unit 264. In other aspects, some or all of the processing shown in FIG. 8 may be performed by circuit elements or other hardware.
- control parameter 262 determined in the above “E. Adjustment process of control parameter 262” is also referred to as “reference proportional gain Kp”.
- step S150 the adjustment unit 264 acquires a magnification ⁇ (i) by which the reference proportional gain Kp is multiplied.
- the magnification ⁇ (i) may be determined in advance or may be arbitrarily set by the user.
- the magnification ⁇ (i) is, for example, array data for managing variables “ ⁇ (1) to ⁇ (n)”.
- step S152 the adjustment unit 264 initializes the variable i to 1.
- step S154 the adjustment unit 264 multiplies the reference proportional gain Kp by the magnification ⁇ (i) to generate a setting candidate proportional gain Kp (i).
- step S156 the adjustment unit 264 sets the proportional gain Kp (i) of the setting candidate generated in step S154 in the feedback control unit 254, and causes the feedback control unit 254 to execute a predetermined alignment process.
- the predetermined alignment process is a process of moving the workpiece W from a predetermined start position to a predetermined target position SP.
- the adjustment unit 264 measures an alignment time Ta (i) required to move the workpiece W from a predetermined start position to a predetermined target position SP.
- step S158 the adjustment unit 264 stores the alignment time Ta (i) measured in step S156 in the storage unit (for example, the nonvolatile memory 216 or the main memory 218 (see FIG. 5)) of the controller 200.
- the storage unit for example, the nonvolatile memory 216 or the main memory 218 (see FIG. 5)
- step S160 the adjustment unit 264 increments the variable i. That is, the adjustment unit 264 adds 1 to the variable i.
- step S170 the adjustment unit 264 determines whether or not the variable i is smaller than the predetermined value n.
- the predetermined value n represents the number of executions of steps S154, S156, S158, and S160, and is defined in advance.
- control is returned to step S154. Otherwise (NO in step S170), adjustment unit 264 switches control to step S172.
- step S172 the adjustment unit 264 selects a control parameter candidate having the shortest alignment time Ta (i) among the control parameter candidates Kp (i) as the control parameter 262 as the optimum result.
- the adjustment unit 264 generates the control parameter candidate Kp (i) by multiplying each of the predetermined magnifications ⁇ (i) by the reference proportional gain Kp. Then, the adjustment unit 264 sequentially sets each of the control parameter candidates Kp (i) as the control parameter 262 of the feedback control unit 254, and moves the workpiece W from the predetermined position to the target position SP for each control parameter candidate. The alignment time Ta (i) required for the above is measured. Thereafter, the adjustment unit 264 selects a control parameter candidate having the shortest alignment time Ta (i) from among the control parameter candidates Kp (i) as a control parameter 262 as an optimization result. Thereby, the adjustment unit 264 can further optimize the control parameter 262 determined in the “E. Adjustment process of the control parameter 262”.
- the adjustment unit 264 may calculate a maximum overshoot distance for each control parameter candidate, and select a control parameter candidate that minimizes the maximum overshoot distance as an optimization result.
- the adjustment unit 264 may calculate a movement distance for each control parameter candidate and select a control parameter candidate that minimizes the movement distance as an optimization result.
- FIG. 9 is a flowchart showing a process for determining estimated position PV by position determination unit 252 shown in FIG. Below, with reference to FIG. 9, the determination process of the estimated position PV by the position determination part 252 is demonstrated.
- step S ⁇ b> 421 the position determination unit 252 detects whether or not the actual position PV v is obtained from the visual sensor 50. If it is the time when the actual position PV v is obtained (YES in step S421), position determination unit 252 switches control to step S422. Otherwise (NO in step S421), position determination unit 252 switches control to step S427.
- step S422 the position determination unit 252, real position PV v is equal to or a normal value. For example, the position determination unit 252 determines that the actual position PV v is a normal value if the value is within a predetermined range. When position determination unit 252 determines that actual position PV v is a normal value (YES in step S422), control is switched to step S423. Otherwise (NO in step S427), position determination unit 252 switches control to step S427.
- the position determination unit 252 receives an input of the actual position PV v.
- the position determination unit 252 estimates the encoder value PV ms of the imaging time that is the basis for calculating the actual position PV v .
- the imaging time is, for example, an exposure start time (time when the shutter of the imaging unit 52 is opened) and an exposure end time (time when the shutter of the imaging unit 52 is closed). It is set by the middle time.
- step S425 the position determination unit 252 uses the actual position PV v and encoder value PV m at the same time and the encoder value PV ms at the imaging time from which the actual position PV v is calculated, to calculate the estimated position PV. calculate. More specifically, in step S425, the position determination unit 252 calculates the estimated position PV using the following (Equation 9).
- step S ⁇ b> 426 the position determination unit 252 outputs the calculated estimated position PV to the feedback control unit 254. Further, the position determination unit 252 stores the estimated position PV as the reference estimated position PV p, and stores the encoder value PV m at this time as the reference encoder value PV mp .
- step S427 the position determination unit 252 determines whether or not the output of the actual position PV v is one or more times. If position determination unit 252 determines that the output of actual position PV v is one or more times (YES in step S427), control is switched to step S428. Otherwise (NO in step S427), processor 214 switches control to step S426.
- step S428 the position determination unit 252 calculates the estimated position PV using the encoder value PV m , the reference estimated position PV p , and the reference encoder value PV mp . More specifically, in step S428, the position determination unit 252 calculates the estimated position PV using the following (Expression 10).
- a movement command for adjusting the estimated position to the target position of the object is generated for each control cycle, and the movement command is output to the movement mechanism (400) for each control cycle.
- a feedback control unit (254) that generates and outputs the movement command to the movement mechanism (400);
- H.264 a control system (1).
- the adjustment unit (264) Generating a plurality of control parameter candidates that can be set in the feedback control unit (254) based on the value of the control parameter determined based on the transition, Each of the plurality of control parameter candidates is sequentially set in the feedback control unit (254), and for each control parameter candidate, an alignment time required for moving the object from a predetermined position to the target position is measured.
- the control system (1) according to Configuration 1 or 2, wherein a control parameter candidate having the shortest alignment time is selected as the control parameter as an optimization result among the plurality of control parameter candidates.
- the adjustment unit (264) Calculate the maximum rate of change per unit time in the transition, Based on the time when the maximum rate of change appears in the transition and the maximum rate of change, the delay time of the object to be controlled by the feedback control unit (254) is calculated, The control system (1) according to any one of configurations 1 to 4, wherein the control parameter is determined based on the delay time.
- a control method of a moving mechanism (400) for moving an object Imaging the object by outputting an imaging instruction to the visual sensor (50), and causing the visual sensor (50) to measure the actual position of the object from an image obtained by imaging; Detecting position related information related to the position of the moving mechanism (400) for each predetermined control period shorter than the interval at which the imaging instruction is output to the visual sensor (50); Determining an estimated position of the object at a current time for each control period based on the actual position and the position related information; According to the set control parameter, a movement command for adjusting the estimated position to the target position of the object is generated for each control cycle, and the movement command is output to the movement mechanism (400) for each control cycle. And steps to A step of adjusting the control parameter based on a transition of position related information as a feedback value obtained in the step of sequentially outputting a predetermined movement command to the movement mechanism (400) and detecting the control.
- a control program for a moving mechanism (400) for moving an object stores a controller for controlling the moving mechanism (400). Imaging the object by outputting an imaging instruction to the visual sensor (50), and causing the visual sensor (50) to measure the actual position of the object from an image obtained by imaging; Detecting position related information related to the position of the moving mechanism (400) for each predetermined control period shorter than the interval at which the imaging instruction is output to the visual sensor (50); Determining an estimated position of the object at a current time for each control period based on the actual position and the position related information; According to the set control parameter, a movement command for adjusting the estimated position to the target position of the object is generated for each control cycle, and the movement command is output to the movement mechanism (400) for each control cycle. And steps to Performing a step of adjusting the control parameter based on a transition of position-related information as a feedback value obtained by sequentially outputting a predetermined movement command to the movement mechanism (400) and detecting the predetermined value; Control program
- control system 4, 7 base plate, 6, 9 ball screw, 12 features, 50 visual sensor, 52 imaging unit, 54 image processing unit, 100 image processing device, 102, 104 camera, 110, 214 processor, 112 RAM, 114 Display controller, 116 system controller, 118 I / O controller, 120 hard disk, 122 camera interface, 122a image buffer, 124 input interface, 126 controller interface, 128, 228 communication interface, 130, 222 memory card interface, 132 display unit, 134 Keyboard, 136,224 memory card, 150 control program, 210 main control unit, 212 chipset 216, non-volatile memory, 218 main memory, 220 system clock, 226 internal bus, 230 internal bus controller, 232 control circuit, 234 internal bus control circuit, 236 buffer memory, 238 fieldbus controller, 252 position determination unit, 254 feedback Control unit, 256 subtraction unit, 258 multiplication unit, 262 control parameter, 264 adjustment unit, 400 moving mechanism, 402, 402X, 402Y servo driver, 410, 410X,
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
- Manipulator (AREA)
- Control Of Position Or Direction (AREA)
- Studio Devices (AREA)
Abstract
フィードバック制御に関する制御パラメータの調整工数を削減する。制御システムは、対象物を移動させる移動機構(400)と、対象物を撮像して得られた画像から対象物の実位置を計測する視覚センサ(50)と、撮像間隔よりも短い制御周期ごとに移動機構(400)の位置に関する位置関連情報を検出する検出部(450)と、実位置と位置関連情報とに基づいて対象物の推定位置を決定する位置決定部(252)と、設定されている制御パラメータに従って、推定位置を目標位置に合わせる移動指令を移動機構(400)に出力するフィードバック制御部(254)と、予め決められた移動指令を移動機構(400)に出力して得られるフィードバック値の推移に基づいて、制御パラメータを調整する調整部(264)とを備える。
Description
本開示は、視覚センサによって計測されたワークの位置に基づいて、ワークの位置決めを行なうための技術に関する。
FA(ファクトリー オートメーション)において、ワークなどの対象物の位置を目標位置に合わせる技術(位置決め技術)が各種実用化されている。この際、対象物の位置と目標位置との偏差(距離)を計測する方法として、視覚センサによって撮像された画像を用いる方法がある。
特開2017-24134号公報(特許文献1)には、可動台と、可動台を移動させる移動機構と、可動台に載置されたワークを繰り返し撮像し、当該ワークの位置を繰り返し検出する視覚センサとを備えるワーク位置決め装置が開示されている。ワーク位置決め装置は、視覚センサによって位置が検出されるごとに、検出された位置と目標位置との差を算出し、当該差が許容範囲内であると判定されたときに、可動台の移動を停止する。ワーク位置決め装置は、可動台の移動停止後に視覚センサによって検出された位置と目標位置との差を算出し、算出された差が許容範囲内であるか否かを判定する。差が許容範囲外であると判定されると、当該差を小さくする可動台の移動方向が決定され、決定された移動方向へ可動台を移動させるように、移動機構が制御される。
視覚センサによるワークの実位置の計測処理と、計測された実位置を目標位置に合わせる位置合わせ処理とを繰り返して行なう場合、実位置から目標位置までの必要移動距離に応じて移動機構に対する移動指令を変えるフィードバック制御が有効である。
フィードバック制御の一例として、比例制御(すなわち、P制御)が知られている。比例制御では、必要移動量に比例ゲインを乗じた値が移動指令となる。比例ゲインが小さ過ぎると、ワークが目標位置に到達するまでの時間(以下、「アライメント時間」ともいう。)が長くなる。一方で、比例ゲインが大き過ぎると、ワークが目標位置を超えるオーバーシュートが生じたり、オーバーシュートとアンダーシュートとが繰り返される振動が生じたりする。その結果、アライメント時間が長くなる。
したがって、アライメント時間を短縮するためには、フィードバック制御の制御パラメータを最適化する必要がある。しかしながら、最適な制御パラメータを設定するには経験が必要であり、特に、経験の少ないユーザにとってはパラメータ設定に工数がかかる。
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、フィードバック制御に関する制御パラメータの調整工数を削減することが可能な制御システムを提供することである。他の局面における目的は、フィードバック制御に関する制御パラメータの調整工数を削減することが可能な制御方法を提供することである。他の局面における目的は、フィードバック制御に関する制御パラメータの調整工数を削減することが可能な制御プログラムを提供することである。
本開示の一例では、制御システムは、対象物を移動させるための移動機構と、撮像指示を受け付けたことに基づいて上記対象物を撮像し、撮像により得られた画像から上記対象物の実位置を計測するための視覚センサと、上記撮像指示が上記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに上記移動機構の位置に関する位置関連情報を検出するための検出部と、上記実位置と上記位置関連情報とに基づいて、現時点における上記対象物の推定位置を上記制御周期ごとに決定するための位置決定部と、設定されている制御パラメータに従って、上記推定位置を上記対象物の目標位置に合わせるための移動指令を上記制御周期ごとに生成し、当該移動指令を上記制御周期ごとに上記移動機構に出力するフィードバック制御部と、予め決められた移動指令を上記移動機構に順次出力して上記検出部から得られるフィードバック値としての位置関連情報の推移に基づいて、上記制御パラメータを調整するための調整部とを備える。
この開示によれば、フィードバック制御に関する制御パラメータが自動で調整される。これにより、制御システムは、フィードバック制御に関する制御パラメータの調整工数を削減することができる。
本開示の一例では、制御システムは、対象物を移動させるための移動機構と、撮像指示を受け付けたことに基づいて上記対象物を撮像し、撮像により得られた画像から上記対象物の実位置を計測するための視覚センサと、上記撮像指示が上記視覚センサに出力される間隔よりも短い予め決められた制御周期ごとに、所定の制御パラメータに従って、上記実位置を上記対象物の目標位置に合わせるための移動指令を生成し、当該移動指令を上記移動機構に出力するフィードバック制御部と、予め決められた移動指令を上記移動機構に順次出力して上記視覚センサから得られるフィードバック値としての実位置の推移に基づいて、上記制御パラメータを調整するための調整部とを備える。
この開示によれば、フィードバック制御に関する制御パラメータが自動で調整される。これにより、制御システムは、フィードバック制御に関する制御パラメータの調整工数を削減することができる。
本開示の一例では、上記調整部は、上記推移に基づいて決定された上記制御パラメータの値を基準として、上記フィードバック制御部に設定され得る複数の制御パラメータ候補を生成し、上記複数の制御パラメータ候補の各々を上記フィードバック制御部に順次設定するとともに、各制御パラメータ候補について、上記対象物を所定位置から上記目標位置に移動するまでに要したアライメント時間を計測し、上記複数の制御パラメータ候補の内、上記アライメント時間が最短となる制御パラメータ候補を最適化結果としての上記制御パラメータとして選択する。
この開示によれば、制御システムは、フィードバック制御に関する制御パラメータをさらに最適化することができる。
本開示の一例では、上記調整部は、予め決められた複数の倍率のそれぞれを上記基準の制御パラメータに乗算することで、上記複数の制御パラメータ候補を生成する。
この開示によれば、制御システムは、基準の制御パラメータから容易に制御パラメータ候補を生成することができる。
本開示の一例では、上記調整部は、上記推移における単位時間当たりの最大変化率を算出し、上記推移において上記最大変化率が表れる時点と、上記最大変化率とに基づいて、上記フィードバック制御部による制御対象の遅れ時間を算出し、上記遅れ時間に基づいて、上記制御パラメータを決定する。
この開示によれば、上記制御パラメータが遅れ時間に基づいて決定されることで、制御システムは、フィードバック制御に関する制御パラメータをより最適に調整することができる。
本開示の一例では、上記制御パラメータは、上記フィードバック制御部の比例制御に用いられる比例ゲインを含む。
この開示によれば、比例ゲインが自動で調整される。これにより、制御システムは、比例ゲインの調整工数を削減することができる。
本開示の他の例では、対象物を移動させるための移動機構の制御方法は、撮像指示を視覚センサに出力することで上記対象物を撮像し、撮像により得られた画像から上記対象物の実位置を上記視覚センサに計測させるステップと、上記撮像指示が上記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに上記移動機構の位置に関する位置関連情報を検出するステップと、上記実位置と上記位置関連情報とに基づいて、現時点における上記対象物の推定位置を上記制御周期ごとに決定するステップと、設定されている制御パラメータに従って、上記推定位置を上記対象物の目標位置に合わせるための移動指令を上記制御周期ごとに生成し、当該移動指令を上記制御周期ごとに上記移動機構に出力するステップと、予め決められた移動指令を上記移動機構に順次出力して上記検出するステップで得られるフィードバック値としての位置関連情報の推移に基づいて、上記制御パラメータを調整するステップとを備える。
この開示によれば、フィードバック制御に関する制御パラメータが自動で調整される。これにより、制御システムは、フィードバック制御に関する制御パラメータの調整工数を削減することができる。
本開示の一例では、対象物を移動させるための移動機構の制御プログラムは、上記移動機構を制御するためのコントローラに、撮像指示を視覚センサに出力することで上記対象物を撮像し、撮像により得られた画像から上記対象物の実位置を上記視覚センサに計測させるステップと、上記撮像指示が上記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに上記移動機構の位置に関する位置関連情報を検出するステップと、上記実位置と上記位置関連情報とに基づいて、現時点における上記対象物の推定位置を上記制御周期ごとに決定するステップと、設定されている制御パラメータに従って、上記推定位置を上記対象物の目標位置に合わせるための移動指令を上記制御周期ごとに生成し、当該移動指令を上記制御周期ごとに上記移動機構に出力するステップと、予め決められた移動指令を上記移動機構に順次出力して上記検出するステップで得られるフィードバック値としての位置関連情報の推移に基づいて、上記制御パラメータを調整するステップとを実行させる。
この開示によれば、フィードバック制御に関する制御パラメータが自動で調整される。これにより、制御システムは、フィードバック制御に関する制御パラメータの調整工数を削減することができる。
ある局面において、フィードバック制御に関する制御パラメータの調整工数を削減することができる。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
<A.適用例1>
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に従う制御システム1の概要を示す模式図である。
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に従う制御システム1の概要を示す模式図である。
制御システム1は、画像処理を用いてアライメントを行なう。アライメントは、典型的には、工業製品の製造過程などにおいて、対象物(以下、「ワークW」ともいう。)を生産ラインの本来の位置に配置する処理などを意味する。このようなアライメントの一例として、制御システム1は、液晶パネルの生産ラインにおいて、ガラス基板に回路パターンの焼付処理(露光処理)前に、露光マスクに対するガラス基板の位置決めを行なう。
制御システム1は、たとえば、視覚センサ50と、コントローラ200と、移動機構400と、エンコーダ450とを含む。視覚センサ50は、たとえば、撮像部52と、画像処理部54とを含む。移動機構400は、たとえば、サーボドライバ402と、サーボモータ410と、ステージ420とで構成されている。
撮像部52は、撮像視野に存在する被写体を撮像して画像データを生成する撮像処理を行なうものであり、ステージ420に載置されるワークWを撮像する。撮像部52は、コントローラ200からの撮像トリガTRに応じて撮像を行なう。撮像部52によって生成された画像データは、画像処理部54に順次出力される。画像処理部54は、撮像部52から得られた画像データに対して画像解析を行ない、ワークWの実位置PVvを計測する。実位置PVvは、計測される度にコントローラ200に出力される。
コントローラ200は、たとえばPLC(プログラマブル ロジック コントローラ)であり、各種のFA制御を行なう。コントローラ200は、機能構成の一例として、位置決定部252と、フィードバック制御部254と、調整部264とを含む。
位置決定部252は、視覚センサ50によって計測された実位置PVvと、視覚センサ50による撮像間隔Tbよりも短い制御周期Tsごとに得られるエンコーダ値PVm(位置関連情報)とに基づいて、制御周期TsごとにワークWの位置(以下、「推定位置PV」ともいう。)を推定する。一例として、撮像周期Tbは、撮像状況などに応じて変動し、たとえば約60msである。制御周期Tsは、固定であり、たとえば1msである。推定位置PVは、制御周期Tsごとにフィードバック制御部254に出力される。
フィードバック制御部254は、制御パラメータ262に従って、推定位置PVを目標位置SVに合わせるための移動指令MVを制御周期Tsごとに生成し、制御周期Tsごとに移動指令MVをサーボドライバ402に出力する。移動指令MVは、たとえば、サーボドライバ402に対する指令位置、指令速度、または指令トルクのいずれかである。
ある局面において、目標位置SPは、生産工程ごとに予め決められており、現在の生産工程に応じて順次切り替えられる。他の局面において、目標位置SPは、視覚センサ50が所定の画像処理を行なうことにより画像内から検出される。この場合、視覚センサ50は、予め定められたマークを画像から検出し、当該マークを目標位置SPとして認識する。
フィードバック制御部254によるフィードバック制御は、たとえば、PID(Proportional Integral Differential)制御、PI制御、PD制御、またはP制御により実現される。図1の例では、P制御を行なうフィードバック制御部254が示されている。フィードバック制御部254は、減算部256と、乗算部258とで構成されている。
減算部256は、目標位置SPから、位置決定部252によって決定された推定位置PVを減算し、その減算結果を乗算部258に出力する。乗算部258は、減算部256による減算結果を、制御パラメータ262に規定される比例ゲインKp倍に増幅/減衰する。乗算部258による乗算結果は、積分処理された上で位置指令としてサーボドライバ402に出力される。あるいは、乗算部258による乗算結果は、そのまま速度指令としてサーボドライバ402に出力される。
サーボドライバ402は、制御周期Tsごとに受ける移動指令MVに従って、サーボモータ410を駆動する。より具体的には、サーボドライバ402は、制御周期Tsごとにエンコーダ450(検出部)からエンコーダ値PVmを取得する。サーボドライバ402は、エンコーダ値PVmにより示される速度/位置を、移動指令MVにより示される速度/位置に合わせるように、サーボモータ410をフィードバック制御する。一例として、サーボドライバ402によるフィードバック制御は、PID制御、PI制御、PD制御、またはP制御により実現される。
調整部264は、フィードバック制御部254に関する制御パラメータ262を調整する。より具体的には、コントローラ200は、動作モードとして、通常の制御モードと、制御パラメータ262の調整モードとを有する。動作モードが通常の制御モードに設定された場合、フィードバック制御部254とサーボドライバ402とが接続されるようにスイッチSWが切り替えられる。一方で、動作モードが調整モードに設定された場合には、調整部264とサーボドライバ402とが接続されるようにスイッチSWが切り替えられる。
調整モードにおいて、調整部264は、予め決められた移動指令MVnを移動機構400に順次出力し、エンコーダ450(検出部)からエンコーダ値PVmをフィードバック値として順次取得する。その後、調整部264は、取得されたエンコーダ値PVmの推移に基づいて制御パラメータ262を調整する。制御パラメータ262の調整方法の詳細については後述する。このように、制御パラメータ262が自動で調整されることで、制御パラメータ262の調整工数が削減される。
なお、図1には、位置決定部252、フィードバック制御部254、調整部264、サーボドライバ402、サーボモータ410、およびエンコーダ450のコンポーネント群が1つしか示されていないが、これらのコンポーネント群は、ステージ420を駆動する軸数の分だけ設けられる。各コンポーネント群は、ステージ420の1つの軸方向における制御を担うことになる。この場合、視覚センサ50によって計測された実位置PVvは、各軸方向における実位置に分解され、分解後の各実位置が対応のコンポーネント群に出力されることとなる。
<B.適用例2>
次に、図2を参照して、本発明が適用される場面の他の例について説明する。図2は、変形例に従う制御システム1の概要を示す模式図である。
次に、図2を参照して、本発明が適用される場面の他の例について説明する。図2は、変形例に従う制御システム1の概要を示す模式図である。
図1の例では、調整部264は、予め決められた移動指令MVnを移動機構400に入力してエンコーダ450から得られるエンコーダ値PVmの推移に基づいて、制御パラメータ262を調整していた。これに対して、図2の例では、調整部264は、予め決められた移動指令MVnを移動機構400に入力して視覚センサ50から得られる実位置PVvの推移に基づいて制御パラメータ262を調整する。制御パラメータ262の調整方法の詳細については後述する。
また、図2に示される制御システム1は、位置決定部252を有さない点、エンコーダ値PVmがコントローラ200にフィードバックされない点で、図1に示される制御システム1と異なる。図2に示される制御システム1のその他の点について図1に示される制御システム1と同じであるので、それらの説明については繰り返さない。
<C.制御システム1の装置構成>
図3は、制御システム1の装置構成の一例を示す図である。図3に示されるように、制御システム1は、視覚センサ50と、コントローラ200と、移動機構400とを含む。視覚センサ50は、画像処理装置100と、1つ以上のカメラ(図3の例では、カメラ102および104)とを含む。移動機構400は、ベースプレート4,7と、ボールネジ6,9と、サーボドライバ402(図3の例では、サーボドライバ402X,402Y)と、ステージ420と、1つ以上のサーボモータ410(図3の例では、サーボモータ410X,410Y)とで構成されている。
図3は、制御システム1の装置構成の一例を示す図である。図3に示されるように、制御システム1は、視覚センサ50と、コントローラ200と、移動機構400とを含む。視覚センサ50は、画像処理装置100と、1つ以上のカメラ(図3の例では、カメラ102および104)とを含む。移動機構400は、ベースプレート4,7と、ボールネジ6,9と、サーボドライバ402(図3の例では、サーボドライバ402X,402Y)と、ステージ420と、1つ以上のサーボモータ410(図3の例では、サーボモータ410X,410Y)とで構成されている。
画像処理装置100は、カメラ102,104がワークWを撮影して得られた画像データに基づいて、ワークWの特徴部分12(たとえば、ネジ穴など)を検出する。画像処理装置100は、検出した特徴部分12の位置をワークWの実位置PVvとして検出する。
コントローラ200には、1つ以上のサーボドライバ402(図3の例では、サーボドライバ402X,402Y)が接続されている。サーボドライバ402Xは、コントローラ200からの受けるX方向の移動指令に従って、制御対象のサーボモータ410Xを駆動する。サーボドライバ402Yは、コントローラ200からの受けるY方向の移動指令に従って、制御対象のサーボモータ410Yを駆動する。
コントローラ200は、X方向に対して生成された目標軌道TGxに従って、サーボドライバ402Xに対してX方向の目標位置を指令値として与える。また、コントローラ200は、Y方向に対して生成された目標軌道TGyに従って、サーボドライバ402Yに対してY方向の目標位置を指令値として与える。X,Y方向のそれぞれの目標位置が順次更新されることで、ワークWが目標位置SPに移動させられる。
コントローラ200およびサーボドライバ402は、フィールドネットワークを介してデイジーチェーンで接続されている。フィールドネットワークには、たとえば、EtherCAT(登録商標)が採用される。但し、フィールドネットワークは、EtherCATに限定されず、任意の通信手段が採用され得る。一例として、コントローラ200およびサーボドライバ402は、信号線で直接接続されてもよい。また、コントローラ200およびサーボドライバ402は、一体的に構成されてもよい。
ベースプレート4には、ステージ420をX方向に沿って移動させるボールネジ6が配置されている。ボールネジ6は、ステージ420に含まれるナットと係合されている。ボールネジ6の一端に連結されたサーボモータ410Xが回転駆動することで、ステージ420に含まれるナットとボールネジ6とが相対回転し、その結果、ステージ420がX方向に沿って移動する。
ベースプレート7は、ステージ420およびベースプレート4をY方向に沿って移動させるボールネジ9が配置されている。ボールネジ9は、ベースプレート4に含まれるナットと係合されている。ボールネジ9の一端に連結されたサーボモータ410Yが回転駆動することで、ベースプレート4に含まれるナットとボールネジ9とが相対回転し、その結果、ステージ420およびベースプレート4がY方向に沿って移動する。
なお、図3には、サーボモータ410X,410Yによる2軸駆動の移動機構400が示されているが、移動機構400は、XY平面上の回転方向(θ方向)にステージ420を駆動するサーボモータがさらに組み込まれてもよい。
<D.ハードウェア構成>
図4および図5を参照して、視覚センサ50を構成する画像処理装置100およびコントローラ200のハードウェア構成について順に説明する。
図4および図5を参照して、視覚センサ50を構成する画像処理装置100およびコントローラ200のハードウェア構成について順に説明する。
(D1.画像処理装置100のハードウェア構成)
図4は、視覚センサ50を構成する画像処理装置100のハードウェア構成の一例を示す模式図である。図4を参照して、画像処理装置100は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
図4は、視覚センサ50を構成する画像処理装置100のハードウェア構成の一例を示す模式図である。図4を参照して、画像処理装置100は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
より具体的には、画像処理装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ110と、RAM(Random Access Memory)112と、表示コントローラ114と、システムコントローラ116と、I/O(Input Output)コントローラ118と、ハードディスク120と、カメラインターフェイス122と、入力インターフェイス124と、コントローラインターフェイス126と、通信インターフェイス128と、メモリカードインターフェイス130とを含む。これらの各部は、システムコントローラ116を中心として、互いにデータ通信可能に接続される。
プロセッサ110は、システムコントローラ116との間でプログラム(コード)などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
システムコントローラ116は、プロセッサ110、RAM112、表示コントローラ114、およびI/Oコントローラ118とそれぞれバスを介して接続されており、各部との間でデータ交換などを行なうとともに、画像処理装置100全体の処理を司る。
RAM112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク120から読み出されたプログラムや、カメラ102および104によって取得されたカメラ画像(画像データ)、カメラ画像に対する処理結果、およびワークデータなどを保持する。
表示コントローラ114は、表示部132と接続されており、システムコントローラ116からの内部コマンドに従って、各種の情報を表示するための信号を表示部132へ出力する。
I/Oコントローラ118は、画像処理装置100に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ118は、ハードディスク120と、カメラインターフェイス122と、入力インターフェイス124と、コントローラインターフェイス126と、通信インターフェイス128と、メモリカードインターフェイス130と接続される。
ハードディスク120は、典型的には、不揮発性の磁気記憶装置であり、プロセッサ110で実行される制御プログラム150に加えて、各種設定値などが格納される。このハードディスク120にインストールされる制御プログラム150は、メモリカード136などに格納された状態で流通する。なお、ハードディスク120に代えて、フラッシュメモリなどの半導体記憶装置やDVD-RAM(Digital Versatile Disk Random Access Memory)などの光学記憶装置を採用してもよい。
カメラインターフェイス122は、ワークを撮影することで生成された画像データを受け付ける入力部に相当し、プロセッサ110とカメラ102,104との間のデータ伝送を仲介する。カメラインターフェイス122は、カメラ102および104からの画像データをそれぞれ一時的に蓄積するための画像バッファ122aおよび122bを含む。複数のカメラに対して、カメラの間で共有できる単一の画像バッファを設けてもよいが、処理高速化のため、それぞれのカメラに対応付けて独立に複数配置することが好ましい。
入力インターフェイス124は、プロセッサ110とキーボード134、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。
コントローラインターフェイス126は、プロセッサ110とコントローラ200との間のデータ伝送を仲介する。
通信インターフェイス128は、プロセッサ110と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス128は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
メモリカードインターフェイス130は、プロセッサ110と記録媒体であるメモリカード136との間のデータ伝送を仲介する。メモリカード136には、画像処理装置100で実行される制御プログラム150などが格納された状態で流通し、メモリカードインターフェイス130は、このメモリカード136から制御プログラムを読み出す。メモリカード136は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD-ROM(Compact Disk Read Only Memory)などの光学記録媒体等からなる。あるいは、通信インターフェイス128を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置100にインストールしてもよい。
上述のような汎用的なコンピュータアーキテクチャに従う構造を有するコンピュータを利用する場合には、本実施の形態に従う機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に従う制御プログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および/またはタイミングで呼び出して処理を実行するものであってもよい。
さらに、本実施の形態に従う制御プログラムは、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組み合わせられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に従う制御プログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
なお、代替的に、制御プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
(D2.コントローラ200のハードウェア構成)
図5は、コントローラ200のハードウェア構成を示す模式図である。図5を参照して、コントローラ200は、主制御ユニット210とを含む。図5には、3軸分のサーボモータ410X,410Y,410θが示されており、この軸数に応じた数のサーボドライバ402X,402Y,402が設けられる。
図5は、コントローラ200のハードウェア構成を示す模式図である。図5を参照して、コントローラ200は、主制御ユニット210とを含む。図5には、3軸分のサーボモータ410X,410Y,410θが示されており、この軸数に応じた数のサーボドライバ402X,402Y,402が設けられる。
主制御ユニット210は、チップセット212と、プロセッサ214と、不揮発性メモリ216と、主メモリ218と、システムクロック220と、メモリカードインターフェイス222と、通信インターフェイス228と、内部バスコントローラ230と、フィールドバスコントローラ238とを含む。チップセット212と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
プロセッサ214およびチップセット212は、典型的には、汎用的なコンピュータアーキテクチャに従う構成を有している。すなわち、プロセッサ214は、チップセット212から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット212は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ214に必要な命令コードを生成する。システムクロック220は、予め定められた周期のシステムクロックを発生してプロセッサ214に提供する。チップセット212は、プロセッサ214での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
主制御ユニット210は、記憶手段として、不揮発性メモリ216および主メモリ218を有する。不揮発性メモリ216は、OS、システムプログラム、ユーザプログラム、データ定義情報、ログ情報などを不揮発的に保持する。主メモリ218は、揮発性の記憶領域であり、プロセッサ214で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。
主制御ユニット210は、通信手段として、通信インターフェイス228と、内部バスコントローラ230と、フィールドバスコントローラ238とを有する。これらの通信回路は、データの送信および受信を行なう。
通信インターフェイス228は、画像処理装置100との間でデータを遣り取りする。
内部バスコントローラ230は、内部バス226を介したデータの遣り取りを制御する。より具体的には、内部バスコントローラ230は、バッファメモリ236と、DMA(Dynamic Memory Access)制御回路232と、内部バス制御回路234とを含む。
内部バスコントローラ230は、内部バス226を介したデータの遣り取りを制御する。より具体的には、内部バスコントローラ230は、バッファメモリ236と、DMA(Dynamic Memory Access)制御回路232と、内部バス制御回路234とを含む。
メモリカードインターフェイス222は、主制御ユニット210に対して着脱可能なメモリカード224とプロセッサ214とを接続する。
フィールドバスコントローラ238は、フィールドネットワークに接続するための通信インターフェイスである。コントローラ200は、フィールドバスコントローラ238を介してサーボドライバ402(たとえば、サーボドライバ402X,402Y,402θ)と接続される。当該フィールドネットワークには、たとえば、EtherCAT(登録商標)、EtherNet/IP(登録商標)、CompoNet(登録商標)などが採用される。
<E.制御パラメータ262の調整処理>
図6および図7を参照して、調整部264による制御パラメータ262の調整フローについて説明する。
図6および図7を参照して、調整部264による制御パラメータ262の調整フローについて説明する。
図6は、制御パラメータ262の調整処理の流れを表わすフローチャートである。図6に示される処理は、コントローラ200のプロセッサ214が調整部264として機能することにより実現される。他の局面において、図6に示される処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
図6に示される処理は、ある軸方向に対する制御フローを表わす。実際には、図6に示される各処理は、軸方向の分だけ並列に実行される。
ステップS110において、調整部264は、初期化処理を実行する。一例として、プロセッサ214は、計測時間tを0に初期化し、フィードバック値を記憶するための変数PVn-1を0に初期化する。ここでいう「フィードバック値」とは、図1の例ではエンコーダ450によって検出されたエンコーダ値PVmに相当し、図2の例では視覚センサ50によって計測された実位置PVvに相当する。
ステップS112において、調整部264は、下記の(式1)に従って、サーボドライバ402に出力するための移動指令MVnを生成し、移動指令MVnをサーボドライバ402に出力する。
MVn=Rmv*t ・・・(式1)
ステップS114において、調整部264は、移動指令MVnの応答としてフィードバック値PVnを取得する。上述のように、「フィードバック値」とは、図1の例ではエンコーダ450によって検出されたエンコーダ値PVmに相当し、図2の例では視覚センサ50によって計測された実位置PVvに相当する。
ステップS114において、調整部264は、移動指令MVnの応答としてフィードバック値PVnを取得する。上述のように、「フィードバック値」とは、図1の例ではエンコーダ450によって検出されたエンコーダ値PVmに相当し、図2の例では視覚センサ50によって計測された実位置PVvに相当する。
ステップS120において、調整部264は、下記(式2)に従って、フィードバック値PVnの時間当たりの変化率が現時点での最大変化率Rmaxを超えているか否かを判断する。より具体的には、調整部264は、今回のフィードバック値PVnから前回のフィードバック値PVn-1を差分し、当該差分結果を制御周期Tsで除算し、当該除算結果が現時点での最大変化率Rmaxを超えているか否かを判断する。
(PVn-PVn-1)/Ts>Rmax ・・・(式2)
調整部264は、フィードバック値PVnの時間当たりの変化率が現時点での最大変化率Rmaxを超えていると判断した場合(ステップS120においてYES)、制御をステップS122に切り替える。そうでない場合には(ステップS120においてNO)、調整部264は、制御をステップS130に切り替える。
調整部264は、フィードバック値PVnの時間当たりの変化率が現時点での最大変化率Rmaxを超えていると判断した場合(ステップS120においてYES)、制御をステップS122に切り替える。そうでない場合には(ステップS120においてNO)、調整部264は、制御をステップS130に切り替える。
ステップS122において、調整部264は、下記(式3)に従って、現時点で記録されている最大変化率Rmaxを新たに更新された最大変化率に書き換える。
Rmax=(PVn-PVn-1)/Ts ・・・(式3)
また、調整部264は、最大変化率Rmaxが出現した時点におけるフィードバック値PVnをフィードバック値PVrとして記憶する。また、調整部264は、最大変化率Rmaxが出現した時間を時間Trとして記憶する。ステップS122で記憶される各種情報は、たとえば、コントローラ200の記憶部(たとえば、不揮発性メモリ216または主メモリ218(図5参照))に格納する。
また、調整部264は、最大変化率Rmaxが出現した時点におけるフィードバック値PVnをフィードバック値PVrとして記憶する。また、調整部264は、最大変化率Rmaxが出現した時間を時間Trとして記憶する。ステップS122で記憶される各種情報は、たとえば、コントローラ200の記憶部(たとえば、不揮発性メモリ216または主メモリ218(図5参照))に格納する。
ステップS124において、調整部264は、今回のフィードバック値PVnで前回のフィードバック値PVn-1を更新する。また、調整部264は、計測時間tに制御周期Tsを加算し、計測時間tを更新する。
ステップS130において、調整部264は、フィードバック値の計測を終了するか否かを判断する。一例として、調整部264は、予め定められた計測終了条件が満たされた場合に、フィードバック値の計測を終了すると判断する。ある局面において、計測終了条件は、ステップS130の処理の実行回数が予め定められた回数に達した場合に満たされる。他の局面において、計測終了条件は、最大変化率Rmaxが一定値に収束した場合に満たされる。調整部264は、フィードバック値の計測を終了すると判断した場合(ステップS130においてYES)、制御をステップS140に切り替える。そうでない場合には(ステップS130においてNO)、調整部264は、制御をステップS112に戻す。
図7は、移動機構400に入力された移動指令MVnと、その応答として移動機構400から出力されるフィードバック値PVnとの関係を時間軸上に示す図である。
ステップS112の処理が繰り返されることで、図7に示されるランプ状の移動指令MVnがサーボドライバ402に入力されることになる。なお、移動指令MVnが位置指令である場合には、サーボドライバ402に入力される移動指令MVnは、図7に示されるようなランプ状になるが、移動指令MVnが速度指令である場合には、サーボドライバ402に入力される移動指令MVnは一定値となる。
調整部264は、予め決められた移動指令MVnを移動機構400に順次出力して得られたフィードバック値PVnの推移に基づいて、フィードバック制御部254に係る制御パラメータ262(たとえば、比例ゲインKp)を調整する。
より具体的には、ステップS140において、調整部264は、下記(式4)に従って、定常ゲインKを算出する。
K=Rmax/Rmv ・・・(式4)
(式4)に示される「Rmax」は、ステップS122で記憶された最大変化率に相当する。「Rmv」は、移動指令MVnの推移における傾き(すなわち、変化率)を表わす。
(式4)に示される「Rmax」は、ステップS122で記憶された最大変化率に相当する。「Rmv」は、移動指令MVnの推移における傾き(すなわち、変化率)を表わす。
ステップS142において、調整部264は、フィードバック制御部254の制御対象の遅れ時間を算出する。「遅れ時間」とは、フィードバック制御部254の制御対象に対して移動指令を与えてから、当該移動指令に応じた出力が現れるまでの時間を表わす。フィードバック制御部254の制御対象は、図1に示される制御システム1の例では、移動機構400とエンコーダ450とを含む制御系を指す。一方で、フィードバック制御部254の制御対象は、図2に示される制御システム1の例では、視覚センサ50と、移動機構400と、エンコーダ450とを含む制御系を指す。
調整部264は、フィードバック値PVnの推移において最大変化率Rmaxが出現した時間Trと、最大変化率Rmaxとに基づいて、フィードバック制御部254による制御対象の遅れ時間Lを算出する。一例として、遅れ時間Lは、下記(式5)に基づいて算出される。
L=Tr-PVr/Rmax ・・・(式5)
ステップS144において、調整部264は、ステップS140で算出した定常ゲインKと、ステップS142で算出した遅れ時間Lとに基づいて、比例ゲインKpを算出する。比例ゲインKpは、たとえば、下記(式6)に基づいて算出される。
ステップS144において、調整部264は、ステップS140で算出した定常ゲインKと、ステップS142で算出した遅れ時間Lとに基づいて、比例ゲインKpを算出する。比例ゲインKpは、たとえば、下記(式6)に基づいて算出される。
Kp=α/(K・L) ・・・(式6)
(式6)に示される「α」は、予め定められた係数である。(式6)に示されるように、遅れ時間Lが長いほど、調整部264は、比例ゲインKpを小さくする。異なる言い方をすれば、遅れ時間Lが短いほど、調整部264は、比例ゲインKpを大きくする。また、定常ゲインが大きいほど、調整部264は、比例ゲインKpを小さくする。異なる言い方をすれば、定常ゲインが小さいほど、調整部264は、比例ゲインKpを大きくする。
(式6)に示される「α」は、予め定められた係数である。(式6)に示されるように、遅れ時間Lが長いほど、調整部264は、比例ゲインKpを小さくする。異なる言い方をすれば、遅れ時間Lが短いほど、調整部264は、比例ゲインKpを大きくする。また、定常ゲインが大きいほど、調整部264は、比例ゲインKpを小さくする。異なる言い方をすれば、定常ゲインが小さいほど、調整部264は、比例ゲインKpを大きくする。
ステップS146において、調整部264は、ステップS144で算出した比例ゲインKpをフィードバック制御部254の制御パラメータ262として設定する。
なお、上述では、ステップS140で定常ゲインKが算出される例について説明を行なったが、図1に示される制御システム1のように、入力値としての移動指令MVと、出力値としてのフィードバック値PVnとが定常的に一致する場合には、定常ゲインKが1となるので、ステップS140の処理は省略されてもよい。「K=1」となる場合、比例ゲインKpは、上記(式6)に示されるように、遅れ時間Lに基づいて決められる。また、「K=1」となる場合、遅れ時間Lは、下記(式7)に基づいて算出される。
L=Tr-PVr/Rmv ・・・(式7)
また、図6の例では、ステップS110において、フィードバック値PVn-1の初期値が0に設定される例について説明を行なったが、フィードバック値PVn-1の初期値は、必ずしも0に設定される必要はない。一例として、フィードバック値の初期値が一定値PV0に安定している場合には、遅れ時間Lは、下記(式8)に基づいて算出される。
また、図6の例では、ステップS110において、フィードバック値PVn-1の初期値が0に設定される例について説明を行なったが、フィードバック値PVn-1の初期値は、必ずしも0に設定される必要はない。一例として、フィードバック値の初期値が一定値PV0に安定している場合には、遅れ時間Lは、下記(式8)に基づいて算出される。
L=Tr-(PVr-PV0)/Rmax ・・・(式8)
また、図6の例では、フィードバック値PVnの最大変化率RmaxがステップS122で逐次更新される例について説明を行なったが、調整部264は、ステップS114で計測されたフィードバック値PVnを全て記憶しておき、記憶された全てのフィードバック値PVnから最大変化率Rmaxを算出してもよい。
また、図6の例では、フィードバック値PVnの最大変化率RmaxがステップS122で逐次更新される例について説明を行なったが、調整部264は、ステップS114で計測されたフィードバック値PVnを全て記憶しておき、記憶された全てのフィードバック値PVnから最大変化率Rmaxを算出してもよい。
<F.制御パラメータ262の最適化処理>
図8を参照して、上記「E.制御パラメータ262の調整処理」で決定された制御パラメータ262の最適化処理について説明する。
図8を参照して、上記「E.制御パラメータ262の調整処理」で決定された制御パラメータ262の最適化処理について説明する。
図8は、制御パラメータ262の最適化処理の流れ表わすフローチャートである。図8に示される処理は、コントローラ200のプロセッサ214が調整部264として機能することにより実現される。他の局面において、図8に示される処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
以下では、上記「E.制御パラメータ262の調整処理」で決定された制御パラメータ262を「基準の比例ゲインKp」ともいう。
ステップS150において、調整部264は、基準の比例ゲインKpに乗じる倍率β(i)を取得する。倍率β(i)は、予め定められていてもよいし、ユーザによって任意に設定されてもよい。倍率β(i)は、たとえば、変数「β(1)~β(n)」を管理する配列データである。
ステップS152において、調整部264は、変数iを1に初期化する。
ステップS154において、調整部264は、基準の比例ゲインKpに倍率β(i)を乗算し、設定候補の比例ゲインKp(i)を生成する。
ステップS154において、調整部264は、基準の比例ゲインKpに倍率β(i)を乗算し、設定候補の比例ゲインKp(i)を生成する。
ステップS156において、調整部264は、ステップS154で生成した設定候補の比例ゲインKp(i)をフィードバック制御部254に設定するとともに、所定のアライメント処理をフィードバック制御部254に実行させる。一例として、当該所定のアライメント処理は、予め定められた開始位置から予め定められた目標位置SPまでワークWを移動する処理である。このとき、調整部264は、予め定められた開始位置から予め定められた目標位置SPまでワークWを移動するまでに要するアライメント時間Ta(i)を計測しておく。
ステップS158において、調整部264は、ステップS156で計測されたアライメント時間Ta(i)をコントローラ200の記憶部(たとえば、不揮発性メモリ216または主メモリ218(図5参照))に格納する。
ステップS160において、調整部264は、変数iをインクリメントする。すなわち、調整部264は、変数iに1を加算する。
ステップS170において、調整部264は、変数iが所定値nよりも小さいか否かを判断する。所定値nは、ステップS154,S156,S158,S160の実行回数を表し、予め規定されている。調整部264は、変数iが所定値nよりも小さいと判断した場合(ステップS170においてYES)、制御をステップS154に戻す。そうでない場合には(ステップS170においてNO)、調整部264は、制御をステップS172に切り替える。
ステップS172において、調整部264は、制御パラメータ候補Kp(i)の内、アライメント時間Ta(i)が最短となる制御パラメータ候補を最適結果としての制御パラメータ262として選択する。
以上のように、調整部264は、予め決められた倍率β(i)のそれぞれを基準の比例ゲインKpに乗算することで制御パラメータ候補Kp(i)を生成する。そして、調整部264は、制御パラメータ候補Kp(i)の各々をフィードバック制御部254の制御パラメータ262に順次設定するとともに、各制御パラメータ候補について、ワークWを所定位置から目標位置SPに移動するまでに要したアライメント時間Ta(i)を計測する。その後、調整部264は、制御パラメータ候補Kp(i)の内、アライメント時間Ta(i)が最短となる制御パラメータ候補を最適化結果としての制御パラメータ262として選択する。これにより、調整部264は、上記「E.制御パラメータ262の調整処理」で決定された制御パラメータ262をさらに最適化することができる。
なお、図8の例では、アライメント時間Ta(i)が最短となる制御パラメータ候補を最適化結果として選択する例について説明を行なったが、その他の評価指標に基づいて、制御パラメータ262が最適化されてもよい。一例として、調整部264は、各制御パラメータ候補について最大オーバーシュート距離を算出し、最大オーバーシュート距離が最小となる制御パラメータ候補を最適化結果として選択してもよい。あるいは、調整部264は、各制御パラメータ候補について移動距離を算出し、移動距離が最小となる制御パラメータ候補を最適化結果として選択してもよい。
<G.推定位置PVの決定処理>
図9は、図1に示される位置決定部252による推定位置PVの決定処理を表わすフローチャートである。以下では、図9を参照して、位置決定部252による推定位置PVの決定処理について説明する。
図9は、図1に示される位置決定部252による推定位置PVの決定処理を表わすフローチャートである。以下では、図9を参照して、位置決定部252による推定位置PVの決定処理について説明する。
ステップS421において、位置決定部252は、視覚センサ50から実位置PVvが得られているか否かを検出する。位置決定部252は、実位置PVvが得られている時刻であれば(ステップS421においてYES)、制御をステップS422に切り替える。そうでない場合には(ステップS421においてNO)、位置決定部252は、制御をステップS427に切り替える。
ステップS422において、位置決定部252は、実位置PVvが正常値であるか否かを判断する。たとえば、位置決定部252は、実位置PVvが所定範囲内の値であれば正常値であると判断する。位置決定部252は、実位置PVvが正常値であると判断した場合(ステップS422においてYES)、制御をステップS423に切り替える。そうでない場合には(ステップS427においてNO)、位置決定部252は、制御をステップS427に切り替える。
ステップS423において、位置決定部252は、実位置PVvの入力を受け付ける。ステップS424において、位置決定部252は、実位置PVvの入力を受け付けると、当該実位置PVvの算出の元となる撮像時刻のエンコーダ値PVmsの推定を行なう。なお、撮像部52の露光時間が長い場合、撮像時刻は、たとえば、露光開始時刻(撮像部52のシャッターが開となる時刻)と露光終了時刻(撮像部52のシャッターが閉となる時刻)との中間の時刻によって設定される。
ステップS425において、位置決定部252は、同時刻の実位置PVvおよびエンコーダ値PVmと、当該実位置PVvの算出元となる撮像時刻のエンコーダ値PVmsとを用いて、推定位置PVを算出する。より具体的には、ステップS425では、位置決定部252は、次の(式9)を用いて、推定位置PVを算出する。
PV=PVv+(PVm-PVms) ・・・(式9)
ステップS426において、位置決定部252は、算出した推定位置PVをフィードバック制御部254に出力する。また、位置決定部252は、この推定位置PVを参照推定位置PVpとし、この時刻のエンコーダ値PVmを参照エンコーダ値PVmpとして記憶する。
ステップS426において、位置決定部252は、算出した推定位置PVをフィードバック制御部254に出力する。また、位置決定部252は、この推定位置PVを参照推定位置PVpとし、この時刻のエンコーダ値PVmを参照エンコーダ値PVmpとして記憶する。
ステップS427において、位置決定部252は、実位置PVvの出力が1回以上であるか否かを判断する。位置決定部252は、実位置PVvの出力が1回以上であると判断した場合(ステップS427においてYES)、制御をステップS428に切り替える。そうでない場合には(ステップS427においてNO)、プロセッサ214は、制御をステップS426に切り替える。
ステップS428において、位置決定部252は、エンコーダ値PVm、参照推定位置PVp、および、参照エンコーダ値PVmpを用いて、推定位置PVを算出する。より具体的には、ステップS428では、位置決定部252は、次の(式10)を用いて、推定位置PVを算出する。
PV=PVp+PVm―PVmp ・・・(式10)
<H.付記>
以上のように、本実施形態は以下のような開示を含む。
<H.付記>
以上のように、本実施形態は以下のような開示を含む。
[構成1]
対象物を移動させるための移動機構(400)と、
撮像指示を受け付けたことに基づいて前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を計測するための視覚センサ(50)と、
前記撮像指示が前記視覚センサ(50)に出力される間隔よりも短い予め定められた制御周期ごとに前記移動機構(400)の位置に関する位置関連情報を検出するための検出部(450)と、
前記実位置と前記位置関連情報とに基づいて、現時点における前記対象物の推定位置を前記制御周期ごとに決定するための位置決定部(252)と、
設定されている制御パラメータに従って、前記推定位置を前記対象物の目標位置に合わせるための移動指令を前記制御周期ごとに生成し、当該移動指令を前記制御周期ごとに前記移動機構(400)に出力するフィードバック制御部(254)と、
予め決められた移動指令を前記移動機構(400)に順次出力して前記検出部(450)から得られるフィードバック値としての位置関連情報の推移に基づいて、前記制御パラメータを調整するための調整部(264)とを備える、制御システム(1)。
対象物を移動させるための移動機構(400)と、
撮像指示を受け付けたことに基づいて前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を計測するための視覚センサ(50)と、
前記撮像指示が前記視覚センサ(50)に出力される間隔よりも短い予め定められた制御周期ごとに前記移動機構(400)の位置に関する位置関連情報を検出するための検出部(450)と、
前記実位置と前記位置関連情報とに基づいて、現時点における前記対象物の推定位置を前記制御周期ごとに決定するための位置決定部(252)と、
設定されている制御パラメータに従って、前記推定位置を前記対象物の目標位置に合わせるための移動指令を前記制御周期ごとに生成し、当該移動指令を前記制御周期ごとに前記移動機構(400)に出力するフィードバック制御部(254)と、
予め決められた移動指令を前記移動機構(400)に順次出力して前記検出部(450)から得られるフィードバック値としての位置関連情報の推移に基づいて、前記制御パラメータを調整するための調整部(264)とを備える、制御システム(1)。
[構成2]
対象物を移動させるための移動機構(400)と、
撮像指示を受け付けたことに基づいて前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を計測するための視覚センサ(50)と、
前記撮像指示が前記視覚センサ(50)に出力される間隔よりも短い予め決められた制御周期ごとに、所定の制御パラメータに従って、前記実位置を前記対象物の目標位置に合わせるための移動指令を生成し、当該移動指令を前記移動機構(400)に出力するフィードバック制御部(254)と、
予め決められた移動指令を前記移動機構(400)に順次出力して前記視覚センサ(50)から得られるフィードバック値としての実位置の推移に基づいて、前記制御パラメータを調整するための調整部(264)とを備える、制御システム(1)。
対象物を移動させるための移動機構(400)と、
撮像指示を受け付けたことに基づいて前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を計測するための視覚センサ(50)と、
前記撮像指示が前記視覚センサ(50)に出力される間隔よりも短い予め決められた制御周期ごとに、所定の制御パラメータに従って、前記実位置を前記対象物の目標位置に合わせるための移動指令を生成し、当該移動指令を前記移動機構(400)に出力するフィードバック制御部(254)と、
予め決められた移動指令を前記移動機構(400)に順次出力して前記視覚センサ(50)から得られるフィードバック値としての実位置の推移に基づいて、前記制御パラメータを調整するための調整部(264)とを備える、制御システム(1)。
[構成3]
前記調整部(264)は、
前記推移に基づいて決定された前記制御パラメータの値を基準として、前記フィードバック制御部(254)に設定され得る複数の制御パラメータ候補を生成し、
前記複数の制御パラメータ候補の各々を前記フィードバック制御部(254)に順次設定するとともに、各制御パラメータ候補について、前記対象物を所定位置から前記目標位置に移動するまでに要したアライメント時間を計測し、
前記複数の制御パラメータ候補の内、前記アライメント時間が最短となる制御パラメータ候補を最適化結果としての前記制御パラメータとして選択する、構成1または2に記載の制御システム(1)。
前記調整部(264)は、
前記推移に基づいて決定された前記制御パラメータの値を基準として、前記フィードバック制御部(254)に設定され得る複数の制御パラメータ候補を生成し、
前記複数の制御パラメータ候補の各々を前記フィードバック制御部(254)に順次設定するとともに、各制御パラメータ候補について、前記対象物を所定位置から前記目標位置に移動するまでに要したアライメント時間を計測し、
前記複数の制御パラメータ候補の内、前記アライメント時間が最短となる制御パラメータ候補を最適化結果としての前記制御パラメータとして選択する、構成1または2に記載の制御システム(1)。
[構成4]
前記調整部(264)は、予め決められた複数の倍率のそれぞれを前記基準の制御パラメータに乗算することで、前記複数の制御パラメータ候補を生成する、構成3に記載の制御システム(1)。
前記調整部(264)は、予め決められた複数の倍率のそれぞれを前記基準の制御パラメータに乗算することで、前記複数の制御パラメータ候補を生成する、構成3に記載の制御システム(1)。
[構成5]
前記調整部(264)は、
前記推移における単位時間当たりの最大変化率を算出し、
前記推移において前記最大変化率が表れる時点と、前記最大変化率とに基づいて、前記フィードバック制御部(254)による制御対象の遅れ時間を算出し、
前記遅れ時間に基づいて、前記制御パラメータを決定する、構成1~4のいずれか1項に記載の制御システム(1)。
前記調整部(264)は、
前記推移における単位時間当たりの最大変化率を算出し、
前記推移において前記最大変化率が表れる時点と、前記最大変化率とに基づいて、前記フィードバック制御部(254)による制御対象の遅れ時間を算出し、
前記遅れ時間に基づいて、前記制御パラメータを決定する、構成1~4のいずれか1項に記載の制御システム(1)。
[構成6]
前記制御パラメータは、前記フィードバック制御部(254)の比例制御に用いられる比例ゲインを含む、構成1~5のいずれか1項に記載の制御システム(1)。
前記制御パラメータは、前記フィードバック制御部(254)の比例制御に用いられる比例ゲインを含む、構成1~5のいずれか1項に記載の制御システム(1)。
[構成7]
対象物を移動させるための移動機構(400)の制御方法であって、
撮像指示を視覚センサ(50)に出力することで前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を前記視覚センサ(50)に計測させるステップと、
前記撮像指示が前記視覚センサ(50)に出力される間隔よりも短い予め定められた制御周期ごとに前記移動機構(400)の位置に関する位置関連情報を検出するステップと、
前記実位置と前記位置関連情報とに基づいて、現時点における前記対象物の推定位置を前記制御周期ごとに決定するステップと、
設定されている制御パラメータに従って、前記推定位置を前記対象物の目標位置に合わせるための移動指令を前記制御周期ごとに生成し、当該移動指令を前記制御周期ごとに前記移動機構(400)に出力するステップと、
予め決められた移動指令を前記移動機構(400)に順次出力して前記検出するステップで得られるフィードバック値としての位置関連情報の推移に基づいて、前記制御パラメータを調整するステップとを備える、制御方法。
対象物を移動させるための移動機構(400)の制御方法であって、
撮像指示を視覚センサ(50)に出力することで前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を前記視覚センサ(50)に計測させるステップと、
前記撮像指示が前記視覚センサ(50)に出力される間隔よりも短い予め定められた制御周期ごとに前記移動機構(400)の位置に関する位置関連情報を検出するステップと、
前記実位置と前記位置関連情報とに基づいて、現時点における前記対象物の推定位置を前記制御周期ごとに決定するステップと、
設定されている制御パラメータに従って、前記推定位置を前記対象物の目標位置に合わせるための移動指令を前記制御周期ごとに生成し、当該移動指令を前記制御周期ごとに前記移動機構(400)に出力するステップと、
予め決められた移動指令を前記移動機構(400)に順次出力して前記検出するステップで得られるフィードバック値としての位置関連情報の推移に基づいて、前記制御パラメータを調整するステップとを備える、制御方法。
[構成8]
対象物を移動させるための移動機構(400)の制御プログラムであって、
前記制御プログラムは、前記移動機構(400)を制御するためのコントローラに、
撮像指示を視覚センサ(50)に出力することで前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を前記視覚センサ(50)に計測させるステップと、
前記撮像指示が前記視覚センサ(50)に出力される間隔よりも短い予め定められた制御周期ごとに前記移動機構(400)の位置に関する位置関連情報を検出するステップと、
前記実位置と前記位置関連情報とに基づいて、現時点における前記対象物の推定位置を前記制御周期ごとに決定するステップと、
設定されている制御パラメータに従って、前記推定位置を前記対象物の目標位置に合わせるための移動指令を前記制御周期ごとに生成し、当該移動指令を前記制御周期ごとに前記移動機構(400)に出力するステップと、
予め決められた移動指令を前記移動機構(400)に順次出力して前記検出するステップで得られるフィードバック値としての位置関連情報の推移に基づいて、前記制御パラメータを調整するステップとを実行させる、制御プログラム。
対象物を移動させるための移動機構(400)の制御プログラムであって、
前記制御プログラムは、前記移動機構(400)を制御するためのコントローラに、
撮像指示を視覚センサ(50)に出力することで前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を前記視覚センサ(50)に計測させるステップと、
前記撮像指示が前記視覚センサ(50)に出力される間隔よりも短い予め定められた制御周期ごとに前記移動機構(400)の位置に関する位置関連情報を検出するステップと、
前記実位置と前記位置関連情報とに基づいて、現時点における前記対象物の推定位置を前記制御周期ごとに決定するステップと、
設定されている制御パラメータに従って、前記推定位置を前記対象物の目標位置に合わせるための移動指令を前記制御周期ごとに生成し、当該移動指令を前記制御周期ごとに前記移動機構(400)に出力するステップと、
予め決められた移動指令を前記移動機構(400)に順次出力して前記検出するステップで得られるフィードバック値としての位置関連情報の推移に基づいて、前記制御パラメータを調整するステップとを実行させる、制御プログラム。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
1 制御システム、4,7 ベースプレート、6,9 ボールネジ、12 特徴部分、50 視覚センサ、52 撮像部、54 画像処理部、100 画像処理装置、102,104 カメラ、110,214 プロセッサ、112 RAM、114 表示コントローラ、116 システムコントローラ、118 I/Oコントローラ、120 ハードディスク、122 カメラインターフェイス、122a 画像バッファ、124 入力インターフェイス、126 コントローラインターフェイス、128,228 通信インターフェイス、130,222 メモリカードインターフェイス、132 表示部、134 キーボード、136,224 メモリカード、150 制御プログラム、210 主制御ユニット、212 チップセット、216 不揮発性メモリ、218 主メモリ、220 システムクロック、226 内部バス、230 内部バスコントローラ、232 制御回路、234 内部バス制御回路、236 バッファメモリ、238 フィールドバスコントローラ、252 位置決定部、254 フィードバック制御部、256 減算部、258 乗算部、262 制御パラメータ、264 調整部、400 移動機構、402,402X,402Y サーボドライバ、410,410X,410Y サーボモータ、420 ステージ、450 エンコーダ。
Claims (8)
- 対象物を移動させるための移動機構と、
撮像指示を受け付けたことに基づいて前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を計測するための視覚センサと、
前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに前記移動機構の位置に関する位置関連情報を検出するための検出部と、
前記実位置と前記位置関連情報とに基づいて、現時点における前記対象物の推定位置を前記制御周期ごとに決定するための位置決定部と、
設定されている制御パラメータに従って、前記推定位置を前記対象物の目標位置に合わせるための移動指令を前記制御周期ごとに生成し、当該移動指令を前記制御周期ごとに前記移動機構に出力するフィードバック制御部と、
予め決められた移動指令を前記移動機構に順次出力して前記検出部から得られるフィードバック値としての位置関連情報の推移に基づいて、前記制御パラメータを調整するための調整部とを備える、制御システム。 - 対象物を移動させるための移動機構と、
撮像指示を受け付けたことに基づいて前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を計測するための視覚センサと、
前記撮像指示が前記視覚センサに出力される間隔よりも短い予め決められた制御周期ごとに、所定の制御パラメータに従って、前記実位置を前記対象物の目標位置に合わせるための移動指令を生成し、当該移動指令を前記移動機構に出力するフィードバック制御部と、
予め決められた移動指令を前記移動機構に順次出力して前記視覚センサから得られるフィードバック値としての実位置の推移に基づいて、前記制御パラメータを調整するための調整部とを備える、制御システム。 - 前記調整部は、
前記推移に基づいて決定された前記制御パラメータの値を基準として、前記フィードバック制御部に設定され得る複数の制御パラメータ候補を生成し、
前記複数の制御パラメータ候補の各々を前記フィードバック制御部に順次設定するとともに、各制御パラメータ候補について、前記対象物を所定位置から前記目標位置に移動するまでに要したアライメント時間を計測し、
前記複数の制御パラメータ候補の内、前記アライメント時間が最短となる制御パラメータ候補を最適化結果としての前記制御パラメータとして選択する、請求項1または2に記載の制御システム。 - 前記調整部は、予め決められた複数の倍率のそれぞれを前記基準の制御パラメータに乗算することで、前記複数の制御パラメータ候補を生成する、請求項3に記載の制御システム。
- 前記調整部は、
前記推移における単位時間当たりの最大変化率を算出し、
前記推移において前記最大変化率が表れる時点と、前記最大変化率とに基づいて、前記フィードバック制御部による制御対象の遅れ時間を算出し、
前記遅れ時間に基づいて、前記制御パラメータを決定する、請求項1~4のいずれか1項に記載の制御システム。 - 前記制御パラメータは、前記フィードバック制御部の比例制御に用いられる比例ゲインを含む、請求項1~5のいずれか1項に記載の制御システム。
- 対象物を移動させるための移動機構の制御方法であって、
撮像指示を視覚センサに出力することで前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を前記視覚センサに計測させるステップと、
前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに前記移動機構の位置に関する位置関連情報を検出するステップと、
前記実位置と前記位置関連情報とに基づいて、現時点における前記対象物の推定位置を前記制御周期ごとに決定するステップと、
設定されている制御パラメータに従って、前記推定位置を前記対象物の目標位置に合わせるための移動指令を前記制御周期ごとに生成し、当該移動指令を前記制御周期ごとに前記移動機構に出力するステップと、
予め決められた移動指令を前記移動機構に順次出力して前記検出するステップで得られるフィードバック値としての位置関連情報の推移に基づいて、前記制御パラメータを調整するステップとを備える、制御方法。 - 対象物を移動させるための移動機構の制御プログラムであって、
前記制御プログラムは、前記移動機構を制御するためのコントローラに、
撮像指示を視覚センサに出力することで前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を前記視覚センサに計測させるステップと、
前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに前記移動機構の位置に関する位置関連情報を検出するステップと、
前記実位置と前記位置関連情報とに基づいて、現時点における前記対象物の推定位置を前記制御周期ごとに決定するステップと、
設定されている制御パラメータに従って、前記推定位置を前記対象物の目標位置に合わせるための移動指令を前記制御周期ごとに生成し、当該移動指令を前記制御周期ごとに前記移動機構に出力するステップと、
予め決められた移動指令を前記移動機構に順次出力して前記検出するステップで得られるフィードバック値としての位置関連情報の推移に基づいて、前記制御パラメータを調整するステップとを実行させる、制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980018736.2A CN111868658A (zh) | 2018-04-26 | 2019-03-29 | 控制***、控制方法以及控制程序 |
KR1020207026085A KR102612470B1 (ko) | 2018-04-26 | 2019-03-29 | 제어 시스템, 제어 방법 및 컴퓨터 판독 가능한 기억 매체 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-085123 | 2018-04-26 | ||
JP2018085123A JP6922829B2 (ja) | 2018-04-26 | 2018-04-26 | 制御システム、制御方法、および制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019208109A1 true WO2019208109A1 (ja) | 2019-10-31 |
Family
ID=68295246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/014129 WO2019208109A1 (ja) | 2018-04-26 | 2019-03-29 | 制御システム、制御方法、および制御プログラム |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6922829B2 (ja) |
KR (1) | KR102612470B1 (ja) |
CN (1) | CN111868658A (ja) |
WO (1) | WO2019208109A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09247975A (ja) * | 1996-03-12 | 1997-09-19 | Matsushita Electric Ind Co Ltd | モータドライブ装置 |
JP2003330510A (ja) * | 2002-05-14 | 2003-11-21 | Yaskawa Electric Corp | 数値制御装置の同期制御方法 |
JP2009122779A (ja) * | 2007-11-12 | 2009-06-04 | Mitsubishi Electric Corp | 制御システムおよび制御支援装置 |
JP2015213139A (ja) * | 2014-05-07 | 2015-11-26 | 国立大学法人 東京大学 | 位置決め装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06242803A (ja) * | 1993-02-16 | 1994-09-02 | Matsushita Electric Ind Co Ltd | 自動調整サーボ制御装置 |
JP3424849B2 (ja) * | 1994-01-14 | 2003-07-07 | 株式会社安川電機 | マニピュレータのコンプライアンス制御装置 |
JP4745798B2 (ja) * | 2005-11-11 | 2011-08-10 | 株式会社日立産機システム | 電動機制御装置の自動調整法および装置 |
JP2007219691A (ja) * | 2006-02-15 | 2007-08-30 | Seiko Epson Corp | Pid制御装置および制御パラメータ更新方法 |
JP2011134169A (ja) * | 2009-12-25 | 2011-07-07 | Mitsubishi Heavy Ind Ltd | 制御パラメータ調整方法及び調整装置 |
JP5834545B2 (ja) * | 2011-07-01 | 2015-12-24 | セイコーエプソン株式会社 | ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム |
JP5865549B2 (ja) * | 2012-04-30 | 2016-02-17 | ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company | 制御システム |
WO2014115263A1 (ja) * | 2013-01-23 | 2014-07-31 | 株式会社日立製作所 | 位置決め制御システム |
JP6167622B2 (ja) * | 2013-04-08 | 2017-07-26 | オムロン株式会社 | 制御システムおよび制御方法 |
CN104898568B (zh) * | 2015-05-20 | 2018-01-19 | 西安交通大学 | 基于刚度辨识的数控机床进给***控制参数优化方法 |
JP6174636B2 (ja) | 2015-07-24 | 2017-08-02 | ファナック株式会社 | ワークを位置決めするためのワーク位置決め装置 |
JP6551184B2 (ja) * | 2015-11-18 | 2019-07-31 | オムロン株式会社 | シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム |
JP6844158B2 (ja) * | 2016-09-09 | 2021-03-17 | オムロン株式会社 | 制御装置および制御プログラム |
-
2018
- 2018-04-26 JP JP2018085123A patent/JP6922829B2/ja active Active
-
2019
- 2019-03-29 KR KR1020207026085A patent/KR102612470B1/ko active IP Right Grant
- 2019-03-29 WO PCT/JP2019/014129 patent/WO2019208109A1/ja active Application Filing
- 2019-03-29 CN CN201980018736.2A patent/CN111868658A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09247975A (ja) * | 1996-03-12 | 1997-09-19 | Matsushita Electric Ind Co Ltd | モータドライブ装置 |
JP2003330510A (ja) * | 2002-05-14 | 2003-11-21 | Yaskawa Electric Corp | 数値制御装置の同期制御方法 |
JP2009122779A (ja) * | 2007-11-12 | 2009-06-04 | Mitsubishi Electric Corp | 制御システムおよび制御支援装置 |
JP2015213139A (ja) * | 2014-05-07 | 2015-11-26 | 国立大学法人 東京大学 | 位置決め装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2019188551A (ja) | 2019-10-31 |
KR20210004957A (ko) | 2021-01-13 |
CN111868658A (zh) | 2020-10-30 |
KR102612470B1 (ko) | 2023-12-12 |
JP6922829B2 (ja) | 2021-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6167622B2 (ja) | 制御システムおよび制御方法 | |
CN110581946B (zh) | 控制***、控制装置、图像处理装置以及存储介质 | |
US10656616B2 (en) | Control device, control system, and recording medium | |
CN110581945B (zh) | 控制***、控制装置、图像处理装置以及存储介质 | |
TW202029879A (zh) | 控制裝置及控制方法 | |
WO2019244638A1 (ja) | 位置決めシステム、監視装置、監視方法およびプログラム | |
JP2006146572A (ja) | サーボ制御装置および方法 | |
CN111886556B (zh) | 控制***、控制方法以及计算机可读存储介质 | |
WO2019208109A1 (ja) | 制御システム、制御方法、および制御プログラム | |
JP2006293624A (ja) | 多軸制御装置 | |
WO2020003945A1 (ja) | 位置決めシステム、制御方法およびプログラム | |
WO2019208107A1 (ja) | 制御システム、制御方法、および制御プログラム | |
JP7003454B2 (ja) | 制御装置、位置制御システム、位置制御方法、および、位置制御プログラム | |
JP7020262B2 (ja) | 制御システム、制御方法およびプログラム | |
CN110581944B (zh) | 控制***、控制装置以及存储介质 | |
US6759670B2 (en) | Method for dynamic manipulation of a position of a module in an optical system | |
JP2010272686A (ja) | 移動体制御装置、露光装置、及び移動体制御方法 |
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: 19792775 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: 19792775 Country of ref document: EP Kind code of ref document: A1 |