WO2019208108A1 - Control system, control method and control program - Google Patents
Control system, control method and control program Download PDFInfo
- Publication number
- WO2019208108A1 WO2019208108A1 PCT/JP2019/014127 JP2019014127W WO2019208108A1 WO 2019208108 A1 WO2019208108 A1 WO 2019208108A1 JP 2019014127 W JP2019014127 W JP 2019014127W WO 2019208108 A1 WO2019208108 A1 WO 2019208108A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- moving mechanism
- moving
- target
- visual sensor
- target position
- 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.
- the interval at which the actual position of the workpiece is measured by the visual sensor is shorter than the interval at which the command value is output to the moving mechanism. Therefore, in order to drive the moving mechanism more smoothly, the command value output to the moving mechanism is interpolated by some means between the time when the visual sensor measures the actual position of the workpiece and the next time the actual position is measured. There is a need to.
- an object in one aspect is to more smoothly drive a moving mechanism that is driven based on a measurement position of a visual sensor.
- An object in another aspect is to provide a control method that can more smoothly drive a moving mechanism that is driven based on a measurement position of a visual sensor.
- An object in another aspect is to provide a control program that can more smoothly drive a moving mechanism that is driven based on a measurement position of a visual sensor.
- 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 visual sensor for measuring the position a calculation unit for calculating a required moving distance of the moving mechanism for moving the object from the actual position to a predetermined target position, and the required moving distance and time And at least an explanatory variable, and based on a target trajectory represented by a multi-order function having a target position of the moving mechanism as a target variable, a predetermined interval shorter than the interval at which the imaging instruction is output to the visual sensor
- a position determining unit for determining a target position corresponding to the current time
- control system can interpolate the target position of the moving mechanism between the time when the visual sensor measures the actual position of the object and the next time the actual position of the object is measured. Can be driven more smoothly.
- the multi-order function is a function of fifth order or higher. According to this disclosure, the target position of the moving mechanism becomes smoother because the multi-order function is defined by a function of fifth order or higher.
- the position determination unit generates the target trajectory so that the acceleration of the moving mechanism does not exceed a predetermined maximum acceleration.
- control system can suppress a sudden change in the speed of the moving mechanism.
- the position determination unit generates the target trajectory each time the visual sensor measures the actual position of the object, and the target generated last time with the newly generated target trajectory. Update the trajectory.
- the error of the target trajectory is corrected for each imaging cycle of the visual sensor.
- the position determination unit generates a new target trajectory so that the speed of the moving mechanism does not change before and after the update of the target trajectory.
- control system includes a detection unit for detecting an actual position of the moving mechanism for each control cycle, an actual position detected by the detection unit at the timing of updating the target trajectory, A correction unit for correcting the necessary moving distance by a position deviation from the target position of the moving mechanism at the timing;
- the position error of the moving mechanism is absorbed, and the speed of the moving mechanism is prevented from changing suddenly.
- sliding of the object and residual vibration after positioning of the moving mechanism are suppressed, and as a result, the alignment time of the object is shortened.
- a method for controlling a moving mechanism for moving an object outputs an imaging instruction to a visual sensor, and determines an actual position of the object from an image obtained by imaging the object. At least a step of causing the visual sensor to measure, a step of calculating a required moving distance of the moving mechanism for moving the object from the actual position to a predetermined target position, and the required moving distance and time Based on a target trajectory represented by a multi-order function with the target position of the moving mechanism as an objective variable as an explanatory variable, for each predetermined control cycle shorter than the interval at which the imaging instruction is output to the visual sensor And determining the target position corresponding to the current time and moving the moving mechanism to the target position determined in the determining step.
- control system can interpolate the target position of the moving mechanism between the time when the visual sensor measures the actual position of the object and the next time the actual position of the object is measured. Can be driven more smoothly.
- a moving mechanism control program for moving an object is obtained by outputting an imaging instruction to a visual sensor to the controller for controlling the moving mechanism and imaging the object.
- the imaging instruction is output to the visual sensor based on a target trajectory represented by a multi-order function having at least the necessary moving distance and time as explanatory variables and the target position of the moving mechanism as an objective variable. For each predetermined control cycle shorter than the interval, the step of determining a target position corresponding to the current time and the moving mechanism at the target position determined in the step of determining And a step of causing the movement.
- control system can interpolate the target position of the moving mechanism between the time when the visual sensor measures the actual position of the object and the next time the actual position of the object is measured. Can be driven more smoothly.
- the moving mechanism driven based on the measurement position of the visual sensor can be driven more smoothly.
- 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 servo driver 300, and a moving mechanism 400.
- the moving mechanism 400 includes, for example, a servo motor 410 and a stage 420.
- the visual sensor 50 performs an imaging process of capturing an image of a subject existing in the imaging field and generating image data, and images the workpiece W placed on the stage 420.
- the visual sensor 50 performs imaging according to the imaging trigger TR from the controller 200.
- the visual sensor 50 images the workpiece W based on the reception of the imaging trigger TR, and measures the actual position PVv of the workpiece W by performing image analysis on the image data obtained by the imaging.
- the actual position PVv 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 calculation unit 250, a position determination unit 252, and a movement control unit 254 as an example of a functional configuration.
- the calculation unit 250 moves the workpiece W from the actual position PVv to the reaching target position SP based on the actual position PVv of the workpiece W detected by the visual sensor 50 and the predetermined reaching target position SP.
- the required moving distance L is calculated.
- the calculated required moving distance L is output to the position determining unit 252.
- the reaching target position SP is detected by the visual sensor 50 performing predetermined image processing.
- the visual sensor 50 detects a predetermined mark from the image and recognizes the mark as the reaching target position SP.
- the reaching target position SP is determined in advance for each production process.
- the position determining unit 252 uses the current trajectory TG represented by a multi-order function having at least the necessary moving distance L and the time t as explanatory variables and the target position SP (t) of the moving mechanism 400 as an objective variable. A target position SP (t) at time t is determined.
- FIG. 2 is a diagram illustrating an example of the target trajectory TG.
- the target trajectory TG defines a target position SP (t) of the moving mechanism 400 for each control cycle Ts.
- the initial value of the target position SP (t) is the required moving distance L, and the final value of the target position SP (t) is zero.
- the target position SP (t) is output to the movement control unit 254 every control cycle Ts shorter than the imaging cycle Tb.
- 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 movement control unit 254 generates a movement command MV for moving the movement mechanism 400 to the target position SP (t) corresponding to the current time t for each control cycle Ts, and outputs the movement command MV to the servo driver 300.
- the movement command MV is, for example, any one of a command position, a command speed, and a command torque for the servo driver 300.
- Servo driver 300 drives moving mechanism 400 in accordance with movement command MV received every control cycle Ts. More specifically, the servo driver 300 acquires an encoder value PVm detected by an encoder 412 (see FIG. 6) described later, and the speed / position of the stage 420 specified from the encoder value PVm approaches the target value. Thus, the servo motor 410 is feedback-controlled so that the movement command MV approaches.
- the encoder value PVm detected by the encoder is input to the controller 200 at the same cycle as the control cycle Ts.
- the position determination unit 252 is a multi-order function having the necessary moving distance L and time t as at least explanatory variables and the target position SP (t) of the moving mechanism 400 as an objective variable. Based on the expressed target trajectory TG, the target position SP (t) corresponding to the current time t is determined. The target position SP (t) is output to the movement control unit 254 every control cycle Ts shorter than the imaging cycle Tb.
- the movement command output to the moving mechanism 400 can be interpolated between the time when the visual sensor 50 measures the actual position PVv of the workpiece W and the next time when the actual position PVv is measured, thereby making the moving mechanism 400 smoother. It becomes possible to drive.
- 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, one or more servo drivers 300 (servo drivers 300X and 300Y in the example of FIG. 3), 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 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 PVv of the workpiece W.
- the controller 200 is connected to one or more servo drivers 300 (servo drivers 300X and 300Y in the example of FIG. 3).
- the servo driver 300X 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 300Y 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 300X according to 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 300Y according to the target trajectory TGy generated in the Y direction. By sequentially updating the respective target positions in the X and Y directions, the workpiece W is moved to the final target position SP.
- Controller 200 and servo driver 300 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 300 may be directly connected by a signal line. Further, the controller 200 and the servo driver 300 may be integrally configured.
- the moving mechanism 400 includes base plates 4 and 7, ball screws 6 and 9, a stage 420, and one or more servo motors 410 (servo motors 410X and 410Y in the example of FIG. 3).
- 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 300X, 300Y, 300 ⁇ 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 300 (for example, servo drivers 300X, 300Y, 300 ⁇ ) via a fieldbus controller 238.
- a servo driver 300 for example, servo drivers 300X, 300Y, 300 ⁇
- a fieldbus controller 238 for example, EtherCAT (registered trademark), EtherNet / IP (registered trademark), CompoNet (registered trademark), or the like is adopted.
- the position determining unit 252 (see FIG. 1) generates a target trajectory TG for each imaging cycle Tb of the visual sensor 50. At this time, the position determining unit 252 updates the previously generated target trajectory TG with the newly generated target trajectory TG. That is, the target trajectory TG is updated every time the actual position of the workpiece W is measured by the visual sensor 50. Thereby, the error of the target trajectory TG is corrected for each imaging cycle Tb of the visual sensor 50.
- the position determination unit 252 generates a new target trajectory TG so that the speed of the moving mechanism 400 does not change before and after the update of the target trajectory TG.
- the update process of the target trajectory TG will be described with reference to FIGS.
- FIG. 6 is a diagram that further embodies the functional configuration of the control system 1 shown in FIG.
- the controller 200 includes a calculation unit 250, correction units 251X and 251Y, position determination units 252X and 252Y, and movement control units 254X and 254Y.
- the correction unit 251X, the position determination unit 252X, and the movement control unit 254X are functional configurations for the servo driver 300X that performs drive control in the X-axis direction.
- the correction unit 251Y, the position determination unit 252Y, and the movement control unit 254Y are functional configurations for the servo driver 300Y that performs drive control in the Y-axis direction.
- the functions of the correction units 251X and 251Y are the same, the functions of the position determination units 252X and 252Y are the same, and the functions of the movement control units 254X and 254Y are the same.
- the calculation unit 250 moves the workpiece W from the actual position PVv to the reaching target position SP based on the actual position PVv of the workpiece W detected by the visual sensor 50 and the predetermined reaching target position SP.
- the required moving distance L is calculated. Thereafter, the calculation unit 250 breaks down the necessary movement distance L of the movement mechanism 400 into the necessary movement distance Lx in the X-axis direction and the necessary movement distance Ly in the Y-axis direction, and outputs the necessary movement distance Lx to the correction unit 251X.
- the necessary movement distance Ly is output to the correction unit 251Y.
- the correcting unit 251X specifies the actual position of the moving mechanism 400 based on the encoder value PVm for the encoder 412X (detecting unit) for detecting the actual position of the moving mechanism 400. More specifically, the encoder 412X generates a pulse signal according to the movement amount of the servo motor 410X. The counter included in the servo motor 410X receives the pulse signal from the encoder 412X and counts the number of pulses included in the pulse signal to measure the movement amount of the moving mechanism 400 as the encoder value PVm.
- the encoder value PVm is input to the controller 200 by the correction unit 251 every control cycle Ts.
- the correcting unit 251 specifies the actual position of the moving mechanism 400 in the X direction based on the encoder value PVm corresponding to the moving amount of the moving mechanism 400.
- the correction unit 251X calculates the position deviation En (t) between the actual position of the moving mechanism 400 and the target position SP (t) as an error. Then, the correction unit 251X corrects the necessary movement distance Lx with the position deviation En (t), and outputs the corrected necessary movement distance Lm to the position determination unit 252X. Similarly to the correction unit 251X, the correction unit 251Y outputs the necessary movement distance Lm in the Y direction to the position determination unit 252Y based on the encoder value PVm from the encoder 412Y.
- the position determination unit 252X generates the target trajectory TG from the necessary moving distance Lm based on the arrival of the imaging cycle Tb of the visual sensor 50.
- FIG. 7 is a diagram showing the target trajectory TG1 before update and the target trajectory TG2 after update.
- the correcting unit 251X corrects the necessary moving distance L by the position deviation En (t) between the actual position of the moving mechanism 400 detected at the update timing of the target trajectory and the target position of the moving mechanism 400 at the timing.
- the required moving distance L is corrected to the required moving distance Lm by adding the position deviation En (t5) to the required moving distance L.
- the position determination unit 252X generates a new target trajectory TG2 based on the necessary travel distance Lm after correction.
- the position error of the moving mechanism 400 is absorbed, and the speed of the moving mechanism 400 is prevented from changing suddenly.
- sliding of the workpiece W on the moving mechanism 400 and residual vibration after positioning of the moving mechanism 400 are suppressed, and as a result, the alignment time of the workpiece W is shortened.
- the position determination unit 252X determines a target position SP (t) corresponding to the current time t based on the updated target trajectory TG2, and sends the target position SP (t) to the movement control unit 254X for each control cycle Ts. Output. Since the function of the movement control unit 254X is the same as that of the movement control unit 254 described in FIG. 1, the description thereof will not be repeated.
- FIG. 8 is a flowchart showing a part of the control process executed by controller 200.
- the processing shown in FIG. 8 is realized by the processor 214 of the controller 200 executing a program. In other aspects, some or all of the processing may be performed by circuit elements or other hardware.
- the process shown in FIG. 8 represents a control flow for a certain axial direction. That is, in practice, processes other than steps S130 and S150 shown in FIG. 8 are executed in parallel in the axial direction.
- step S110 the processor 214 initializes the measurement time t (current time) to zero.
- step S ⁇ b> 130 the processor 214 determines whether information indicating that the position measurement of the workpiece W has been completed is received from the visual sensor 50.
- the processor 214 determines that information indicating that the position measurement of the workpiece W has been completed is received from the visual sensor 50 (YES in step S130)
- the processor 214 switches the control to step S131. Otherwise (NO in step S130), processor 214 switches control to step S138.
- step S131 the processor 214 executes the workpiece W as the calculation unit 250 (see FIG. 1) based on the actual position PVv of the workpiece W detected by the visual sensor 50 and the predetermined target position SP. A required moving distance L of the moving mechanism 400 for moving from the position PVv to the arrival target position SP is calculated.
- step S132 the processor 214 adds the position deviation En (t) at the measurement time t to the required moving distance L as the correcting unit 251 (see FIG. 6), and corrects the required moving distance L to the required moving distance Lm. To do. Since the correction method of the required movement distance L is as having demonstrated in FIG. 7, the description is not repeated.
- step S134 the processor 214 initializes the measurement time t to zero.
- step S136 the processor 214 calculates the trajectory time T.
- the trajectory time T represents the time required to move the moving mechanism 400 from the start point to the end point of the target trajectory TG.
- the trajectory time T is calculated based on the following formula (1).
- T max ⁇ f (A max ), T min ⁇ (1)
- a max shown in the above equation (1) represents the maximum acceleration.
- F () is a function for obtaining the trajectory time T required when the required moving distance L is moved to the moving mechanism 400 with the maximum acceleration A max .
- T min is a predetermined minimum orbit time.
- Max ( ⁇ , ⁇ ) is a function for obtaining the maximum value from the numerical values ⁇ and ⁇ .
- the trajectory time T is determined so as not to be less than the minimum trajectory time Tmin . If the minimum trajectory time Tmin is not provided, when the required moving distance L is very short, the moving mechanism 400 will reach the target position immediately, so that the time until the next imaging timing is wasted. become. However, by providing the minimum trajectory time Tmin , the moving mechanism 400 moves at an acceleration lower than the maximum acceleration when the required moving distance L is very short, and the moving mechanism 400 moves smoothly. be able to. As an example, the trajectory time T min is calculated by multiplying a certain ratio (for example, 50%) with respect to the average imaging interval.
- a certain ratio for example, 50%
- step S138 the processor 214, as the position determination unit 252 (see FIG. 1), based on the necessary travel distance Lm after correction obtained in step S132 and the trajectory time T calculated in step S136.
- a target position SP (t) corresponding to the current time t is calculated.
- the target position SP (t) is calculated based on the following formula (2).
- the target trajectory TG is represented by a quintic function at time t.
- the order of the target trajectory TG may be represented by a sixth-order or higher-order function.
- the target trajectory TG may be represented by a spline interpolation function.
- step S140 the processor 214 generates a movement command MV for moving the movement mechanism 400 to the target position SP (t) obtained in step S138 as the movement control unit 254 (see FIG. 1).
- the movement command MV is output to the servo driver 300.
- step S142 the processor 214 adds the control period Ts to the measurement time t, and updates the measurement time t.
- step S150 the processor 214 determines whether or not to finish the update process of the target trajectory TG. As an example, the processor 214 ends the process illustrated in FIG. 8 based on receiving a stop command for updating the target trajectory TG. When processor 214 determines to end the update process of target trajectory TG (YES in step S150), it ends the process shown in FIG. Otherwise (NO in step S150), processor 214 returns control to step S130.
- the processor 214 does not stop until the moving mechanism 400 reaches the final target arrival position SP.
- the target position SP (t) at each time may be calculated collectively.
- the present embodiment includes the following disclosure.
- a moving mechanism (400) for moving the object A visual sensor (50) for imaging the object based on receiving an imaging instruction and measuring an actual position of the object from an image obtained by imaging; A calculating unit (250) for calculating a necessary moving distance of the moving mechanism (400) for moving the object from the actual position to a predetermined target position;
- the imaging instruction is output to the visual sensor based on a target trajectory represented by a multi-order function in which the required moving distance and time are at least explanatory variables and the target position of the moving mechanism (400) is an objective variable.
- a position determination unit (252) for determining a target position corresponding to the current time for each predetermined control cycle shorter than the interval of A control system comprising: a movement control unit for moving the moving mechanism (400) to a target position determined by the position determination unit (252).
- the position determination unit (252) generates the target trajectory each time the visual sensor (50) measures the actual position of the object, and the target generated last time with the newly generated target trajectory.
- the control system according to any one of configurations 1 to 3, wherein the trajectory is updated.
- the control system includes: A detection unit (412) for detecting an actual position of the moving mechanism (400) for each control period; A correction unit for correcting the necessary movement distance with a positional deviation between the actual position detected by the detection unit at the timing of updating the target trajectory and the target position of the movement mechanism at the timing; The control system according to Configuration 5.
- a control method of a moving mechanism (400) for moving an object Outputting an imaging instruction to a visual sensor and causing the visual sensor to measure the actual position of the object from an image obtained by imaging the object; Calculating a required moving distance of the moving mechanism (400) for moving the object from the actual position to a predetermined target position;
- the imaging instruction is output to the visual sensor based on a target trajectory represented by a multi-order function in which the required moving distance and time are at least explanatory variables and the target position of the moving mechanism (400) is an objective variable. Determining a target position corresponding to the current time for each predetermined control cycle shorter than a predetermined interval; Moving the moving mechanism (400) to the target position determined in the determining step.
- a control program for a moving mechanism (400) for moving an object The control program is sent to a controller (200) for controlling the moving mechanism (400). Outputting an imaging instruction to a visual sensor and causing the visual sensor to measure the actual position of the object from an image obtained by imaging the object; Calculating a necessary moving distance of the moving mechanism (400) for moving the object from the actual position to a predetermined reaching target position (S131); The imaging instruction is output to the visual sensor based on a target trajectory represented by a multi-order function in which the required moving distance and time are at least explanatory variables and the target position of the moving mechanism (400) is an objective variable. Determining a target position corresponding to the current time for each predetermined control cycle shorter than a predetermined interval; A control program for executing the step (S140) of moving the moving mechanism (400) to the target position determined in the determining step.
- control system 4, 7 base plate, 6, 9 ball screw, 12 features, 50 visual sensor, 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 motion controller interface, 128,228 communication interface, 130,222 memory card interface, 132 display unit, 134 keyboard, 136,224 memory card, 150 control program, 200 controller, 210 main control unit, 212 chipset 216, non-volatile memory, 218 main memory, 220 system clock, 230 internal bus controller, 232 control circuit, 234 internal bus control circuit, 236 buffer memory, 238 field bus controller, 250 calculation unit, 251, 251X, 251Y correction unit , 252, 252 X, 252 Y position determining unit, 254, 254 X, 254 Y movement control unit, 300, 300 X, 300 Y servo driver, 400 moving mechanism, 410, 410,
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Control Of Position Or Direction (AREA)
- Manipulator (AREA)
Abstract
A technology is being required which further smoothly drives a moving mechanism (400) that is driven on the basis of a measurement position from a visual sensor (50). This control system (10) is provided with: the moving mechanism (400) which moves a target object; a visual sensor (50) which sequentially measures an actual position of the target object from images obtained by imaging the target object for each period of a first time; a calculation unit (25) which calculates a necessary movement distance for moving the target object to a reach target position from the actual position; a position determination unit (252) which determines a target position corresponding to a current time for each period of a second time, which is shorter than the first time period, on the basis of a target trajectory indicated by a multiple-order function that has at least the necessary movement distance and a time as explanatory variables and the target position of the moving mechanism (400) as a target variable; and a movement control unit (254) which moves the moving mechanism (400) to the target position.
Description
本開示は、視覚センサによって計測されたワークの位置に基づいて、ワークの位置決めを行なうための技術に関する。
This disclosure relates to a technique for positioning a workpiece based on the position of the workpiece measured by a visual sensor.
FA(ファクトリー オートメーション)において、対象物の位置を目標位置に合わせる技術(位置決め技術)が各種実用化されている。この際、対象物の位置と目標位置との偏差(距離)を計測する方法として、視覚センサによって撮像された画像を用いる方法がある。
In FA (Factory Automation), various technologies (positioning technologies) for aligning the position of an object with a target position have been put into practical use. At this time, as a method for measuring the deviation (distance) between the position of the object and the target position, there is a method using an image captured by a visual sensor.
特開2017-24134号公報(特許文献1)には、可動台と、可動台を移動させる移動機構と、可動台に載置されたワークを繰り返し撮像し、当該ワークの位置を繰り返し検出する視覚センサとを備えるワーク位置決め装置が開示されている。ワーク位置決め装置は、視覚センサによって位置が検出されるごとに、検出された位置と目標位置との差を算出し、当該差が許容範囲内であると判定されたときに、可動台の移動を停止する。ワーク位置決め装置は、可動台の移動停止後に視覚センサによって検出された位置と目標位置との差を算出し、算出された差が許容範囲内であるか否かを判定する。差が許容範囲外であると判定されると、当該差を小さくする可動台の移動方向が決定され、決定された移動方向へ可動台を移動させるように、移動機構が制御される。
Japanese Patent Laid-Open No. 2017-24134 (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.
視覚センサによってワークの実位置が計測される間隔は、移動機構に指令値を出力する間隔よりも短い。そのため、より滑らかに移動機構を駆動するためには、視覚センサがワークの実位置を計測してから次に実位置を計測するまでの間において、移動機構に出力する指令値を何らかの手段で補間する必要がある。
The interval at which the actual position of the workpiece is measured by the visual sensor is shorter than the interval at which the command value is output to the moving mechanism. Therefore, in order to drive the moving mechanism more smoothly, the command value output to the moving mechanism is interpolated by some means between the time when the visual sensor measures the actual position of the workpiece and the next time the actual position is measured. There is a need to.
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、視覚センサの計測位置に基づいて駆動される移動機構をより滑らかに駆動することが可能な制御システムを提供することである。他の局面における目的は、視覚センサの計測位置に基づいて駆動される移動機構をより滑らかに駆動することが可能な制御方法を提供することである。他の局面における目的は、視覚センサの計測位置に基づいて駆動される移動機構をより滑らかに駆動することが可能な制御プログラムを提供することである。
The present disclosure has been made to solve the above-described problems, and an object in one aspect is to more smoothly drive a moving mechanism that is driven based on a measurement position of a visual sensor. To provide a control system. An object in another aspect is to provide a control method that can more smoothly drive a moving mechanism that is driven based on a measurement position of a visual sensor. An object in another aspect is to provide a control program that can more smoothly drive a moving mechanism that is driven based on a measurement position of a visual sensor.
本開示の一例では、制御システムは、対象物を移動させるための移動機構と、撮像指示を受け付けたことに基づいて上記対象物を撮像し、撮像により得られた画像から上記対象物の実位置を計測するための視覚センサと、上記実位置から所定の到達目標位置に上記対象物を移動させるための、上記移動機構の必要移動距離を算出するための算出部と、上記必要移動距離と時刻とを少なくとも説明変数とし、上記移動機構の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、上記撮像指示が上記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するための位置決定部と、上記位置決定部によって決定される目標位置に上記移動機構を移動させるための移動制御部とを備える。
In an example of the present disclosure, 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 visual sensor for measuring the position, a calculation unit for calculating a required moving distance of the moving mechanism for moving the object from the actual position to a predetermined target position, and the required moving distance and time And at least an explanatory variable, and based on a target trajectory represented by a multi-order function having a target position of the moving mechanism as a target variable, a predetermined interval shorter than the interval at which the imaging instruction is output to the visual sensor For each control cycle, a position determining unit for determining a target position corresponding to the current time, and a movement control unit for moving the moving mechanism to the target position determined by the position determining unit. Obtain.
この開示によれば、上記制御システムは、視覚センサが対象物の実位置を計測してから次に対象物の実位置を計測するまでの間において、移動機構の目標位置を補間でき、移動機構をより滑らかに駆動することが可能になる。
According to this disclosure, the control system can interpolate the target position of the moving mechanism between the time when the visual sensor measures the actual position of the object and the next time the actual position of the object is measured. Can be driven more smoothly.
本開示の一例では、上記多次関数は、5次以上の関数である。
この開示によれば、上記多次関数が5次以上の関数で規定されることにより、移動機構の目標位置がより滑らかになる。 In an example of the present disclosure, the multi-order function is a function of fifth order or higher.
According to this disclosure, the target position of the moving mechanism becomes smoother because the multi-order function is defined by a function of fifth order or higher.
この開示によれば、上記多次関数が5次以上の関数で規定されることにより、移動機構の目標位置がより滑らかになる。 In an example of the present disclosure, the multi-order function is a function of fifth order or higher.
According to this disclosure, the target position of the moving mechanism becomes smoother because the multi-order function is defined by a function of fifth order or higher.
本開示の一例では、上記位置決定部は、上記移動機構の加速度が予め定められた最大加速度を超えないように、上記目標軌道を生成する。
In an example of the present disclosure, the position determination unit generates the target trajectory so that the acceleration of the moving mechanism does not exceed a predetermined maximum acceleration.
この開示によれば、上記制御システムは、移動機構の速度が急に変化することを抑制することができる。
According to this disclosure, the control system can suppress a sudden change in the speed of the moving mechanism.
本開示の一例では、上記位置決定部は、上記視覚センサが上記対象物の実位置を計測する度に上記目標軌道を生成し、新たに生成された上記目標軌道で前回に生成された上記目標軌道を更新する。
In an example of the present disclosure, the position determination unit generates the target trajectory each time the visual sensor measures the actual position of the object, and the target generated last time with the newly generated target trajectory. Update the trajectory.
この開示によれば、目標軌道の誤差は、視覚センサの撮像周期ごとに修正される。
本開示の一例では、上記位置決定部は、上記目標軌道の更新前後で、上記移動機構の速度が変化しないように新たな上記目標軌道を生成する。 According to this disclosure, the error of the target trajectory is corrected for each imaging cycle of the visual sensor.
In an example of the present disclosure, the position determination unit generates a new target trajectory so that the speed of the moving mechanism does not change before and after the update of the target trajectory.
本開示の一例では、上記位置決定部は、上記目標軌道の更新前後で、上記移動機構の速度が変化しないように新たな上記目標軌道を生成する。 According to this disclosure, the error of the target trajectory is corrected for each imaging cycle of the visual sensor.
In an example of the present disclosure, the position determination unit generates a new target trajectory so that the speed of the moving mechanism does not change before and after the update of the target trajectory.
この開示によれば、目標軌道を更新する過程で、移動機構上における対象物のすべりや、移動機構の位置決め後における残留振動が抑制され、結果として、対象物のアライメント時間が短縮される。
According to this disclosure, in the process of updating the target trajectory, slipping of the object on the moving mechanism and residual vibration after positioning of the moving mechanism are suppressed, and as a result, the alignment time of the object is shortened.
本開示の一例では、上記制御システムは、上記制御周期ごとに上記移動機構の実位置を検出するための検出部と、上記目標軌道の更新のタイミングにおいて上記検出部によって検出された実位置と、上記タイミングにおける上記移動機構の目標位置との位置偏差で、上記必要移動距離を補正するための補正部とをさらに備える。
In an example of the present disclosure, the control system includes a detection unit for detecting an actual position of the moving mechanism for each control cycle, an actual position detected by the detection unit at the timing of updating the target trajectory, A correction unit for correcting the necessary moving distance by a position deviation from the target position of the moving mechanism at the timing;
この開示によれば、目標軌道を更新する過程で、移動機構の位置の誤差が吸収され、移動機構の速度が急変することが防止される。その結果、対象物のすべりや、移動機構の位置決め後における残留振動が抑制され、結果として、対象物のアライメント時間が短縮される。
According to this disclosure, in the process of updating the target trajectory, the position error of the moving mechanism is absorbed, and the speed of the moving mechanism is prevented from changing suddenly. As a result, sliding of the object and residual vibration after positioning of the moving mechanism are suppressed, and as a result, the alignment time of the object is shortened.
本開示の他の例では、対象物を移動させるための移動機構の制御方法は、撮像指示を視覚センサに出力し、上記対象物を撮像して得られた画像から上記対象物の実位置を上記視覚センサに計測させるステップと、上記実位置から所定の到達目標位置に上記対象物を移動させるための、上記移動機構の必要移動距離を算出するステップと、上記必要移動距離と時刻とを少なくとも説明変数とし、上記移動機構の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、上記撮像指示が上記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するステップと、上記決定するステップで決定される目標位置に上記移動機構を移動させるステップとを備える。
In another example of the present disclosure, a method for controlling a moving mechanism for moving an object outputs an imaging instruction to a visual sensor, and determines an actual position of the object from an image obtained by imaging the object. At least a step of causing the visual sensor to measure, a step of calculating a required moving distance of the moving mechanism for moving the object from the actual position to a predetermined target position, and the required moving distance and time Based on a target trajectory represented by a multi-order function with the target position of the moving mechanism as an objective variable as an explanatory variable, for each predetermined control cycle shorter than the interval at which the imaging instruction is output to the visual sensor And determining the target position corresponding to the current time and moving the moving mechanism to the target position determined in the determining step.
この開示によれば、上記制御システムは、視覚センサが対象物の実位置を計測してから次に対象物の実位置を計測するまでの間において、移動機構の目標位置を補間でき、移動機構をより滑らかに駆動することが可能になる。
According to this disclosure, the control system can interpolate the target position of the moving mechanism between the time when the visual sensor measures the actual position of the object and the next time the actual position of the object is measured. Can be driven more smoothly.
本開示の他の例では、対象物を移動させるための移動機構の制御プログラムは、上記移動機構を制御するためのコントローラに、撮像指示を視覚センサに出力し、上記対象物を撮像して得られた画像から上記対象物の実位置を上記視覚センサに計測させるステップと、上記実位置から所定の到達目標位置に上記対象物を移動させるための、上記移動機構の必要移動距離を算出するステップと、上記必要移動距離と時刻とを少なくとも説明変数とし、上記移動機構の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、上記撮像指示が上記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するステップと、上記決定するステップで決定される目標位置に上記移動機構を移動させるステップとを実行させる。
In another example of the present disclosure, a moving mechanism control program for moving an object is obtained by outputting an imaging instruction to a visual sensor to the controller for controlling the moving mechanism and imaging the object. A step of causing the visual sensor to measure an actual position of the object from the obtained image, and a step of calculating a necessary moving distance of the moving mechanism for moving the object from the actual position to a predetermined target position. The imaging instruction is output to the visual sensor based on a target trajectory represented by a multi-order function having at least the necessary moving distance and time as explanatory variables and the target position of the moving mechanism as an objective variable. For each predetermined control cycle shorter than the interval, the step of determining a target position corresponding to the current time and the moving mechanism at the target position determined in the step of determining And a step of causing the movement.
この開示によれば、上記制御システムは、視覚センサが対象物の実位置を計測してから次に対象物の実位置を計測するまでの間において、移動機構の目標位置を補間でき、移動機構をより滑らかに駆動することが可能になる。
According to this disclosure, the control system can interpolate the target position of the moving mechanism between the time when the visual sensor measures the actual position of the object and the next time the actual position of the object is measured. Can be driven more smoothly.
ある局面において、視覚センサの計測位置に基づいて駆動される移動機構をより滑らかに駆動することができる。
In one aspect, the moving mechanism driven based on the measurement position of the visual sensor can be driven more smoothly.
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
Embodiments according to the present invention will be described below with reference to the drawings. In the following description, the same parts and components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.
<A.適用例>
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に従う制御システム1の概要を示す模式図である。 <A. Application example>
First, an example of a scene to which the present invention is applied will be described with reference to FIG. FIG. 1 is a schematic diagram showing an outline of acontrol system 1 according to the present embodiment.
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に従う制御システム1の概要を示す模式図である。 <A. Application example>
First, an example of a scene to which the present invention is applied will be described with reference to FIG. FIG. 1 is a schematic diagram showing an outline of a
制御システム1は、画像処理を用いてアライメントを行なう。アライメントは、典型的には、工業製品の製造過程などにおいて、対象物(以下、「ワークW」ともいう。)を生産ラインの本来の位置に配置する処理などを意味する。このようなアライメントの一例として、制御システム1は、液晶パネルの生産ラインにおいて、ガラス基板に回路パターンの焼付処理(露光処理)前に、露光マスクに対するガラス基板の位置決めを行なう。
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. As an example of such alignment, 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.
制御システム1は、たとえば、視覚センサ50と、コントローラ200と、サーボドライバ300と、移動機構400とを含む。移動機構400は、たとえば、サーボモータ410と、ステージ420とで構成されている。
The control system 1 includes, for example, a visual sensor 50, a controller 200, a servo driver 300, and a moving mechanism 400. The moving mechanism 400 includes, for example, a servo motor 410 and a stage 420.
視覚センサ50は、撮像視野に存在する被写体を撮像して画像データを生成する撮像処理を行なうものであり、ステージ420に載置されるワークWを撮像する。視覚センサ50は、コントローラ200からの撮像トリガTRに応じて撮像を行なう。視覚センサ50は、撮像トリガTRを受け付けたことに基づいてワークWを撮像し、撮像により得られた画像データに対して画像解析を行なうことでワークWの実位置PVvを計測する。実位置PVvは、計測される度にコントローラ200に出力される。
The visual sensor 50 performs an imaging process of capturing an image of a subject existing in the imaging field and generating image data, and images the workpiece W placed on the stage 420. The visual sensor 50 performs imaging according to the imaging trigger TR from the controller 200. The visual sensor 50 images the workpiece W based on the reception of the imaging trigger TR, and measures the actual position PVv of the workpiece W by performing image analysis on the image data obtained by the imaging. The actual position PVv is output to the controller 200 every time it is measured.
コントローラ200は、たとえばPLC(プログラマブル ロジック コントローラ)であり、各種のFA制御を行なう。コントローラ200は、機能構成の一例として、算出部250と、位置決定部252と、移動制御部254とを含む。
The controller 200 is a PLC (programmable logic controller), for example, and performs various FA controls. The controller 200 includes a calculation unit 250, a position determination unit 252, and a movement control unit 254 as an example of a functional configuration.
算出部250は、視覚センサ50によって検出されたワークWの実位置PVvと、所定の到達目標位置SPとに基づいて、ワークWを実位置PVvから到達目標位置SPに移動させるための移動機構400の必要移動距離Lを算出する。算出された必要移動距離Lは、位置決定部252に出力される。
The calculation unit 250 moves the workpiece W from the actual position PVv to the reaching target position SP based on the actual position PVv of the workpiece W detected by the visual sensor 50 and the predetermined reaching target position SP. The required moving distance L is calculated. The calculated required moving distance L is output to the position determining unit 252.
ある局面において、到達目標位置SPは、視覚センサ50が所定の画像処理を行なうことにより検出される。この場合、視覚センサ50は、予め定められたマークを画像から検出し、当該マークを到達目標位置SPとして認識する。他の局面において、到達目標位置SPは、生産工程ごとに予め決められている。
In one aspect, the reaching target position SP is detected 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 reaching target position SP. In another aspect, the reaching target position SP is determined in advance for each production process.
位置決定部252は、必要移動距離Lと時刻tとを少なくとも説明変数とし、移動機構400の目標位置SP(t)を目的変数とする多次関数で表される目標軌道TGに基づいて、現時刻tにおける目標位置SP(t)を決定する。
The position determining unit 252 uses the current trajectory TG represented by a multi-order function having at least the necessary moving distance L and the time t as explanatory variables and the target position SP (t) of the moving mechanism 400 as an objective variable. A target position SP (t) at time t is determined.
図2は、目標軌道TGの一例を示す図である。図2に示されるように、目標軌道TGは、制御周期Tsごとの移動機構400の目標位置SP(t)を規定している。図2に示されるように、目標位置SP(t)の初期値は必要移動距離Lとなり、目標位置SP(t)の最終値はゼロとなる。目標位置SP(t)は、撮像周期Tbよりも短い制御周期Tsごとに移動制御部254に出力される。一例として、撮像周期Tbは、撮像状況などに応じて変動し、たとえば約60msである。制御周期Tsは、固定であり、たとえば1msである。
FIG. 2 is a diagram illustrating an example of the target trajectory TG. As shown in FIG. 2, the target trajectory TG defines a target position SP (t) of the moving mechanism 400 for each control cycle Ts. As shown in FIG. 2, the initial value of the target position SP (t) is the required moving distance L, and the final value of the target position SP (t) is zero. The target position SP (t) is output to the movement control unit 254 every control cycle Ts shorter than the imaging cycle Tb. As an example, 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.
移動制御部254は、制御周期Tsごとに、現時刻tに対応する目標位置SP(t)に移動機構400を移動させるための移動指令MVを生成し、当該移動指令MVをサーボドライバ300に出力する。移動指令MVは、たとえば、サーボドライバ300に対する指令位置、指令速度、または指令トルクのいずれかである。
The movement control unit 254 generates a movement command MV for moving the movement mechanism 400 to the target position SP (t) corresponding to the current time t for each control cycle Ts, and outputs the movement command MV to the servo driver 300. To do. The movement command MV is, for example, any one of a command position, a command speed, and a command torque for the servo driver 300.
サーボドライバ300は、制御周期Tsごとに受ける移動指令MVに従って、移動機構400を駆動する。より具体的には、サーボドライバ300は、後述のエンコーダ412(図6参照)によって検出されるエンコーダ値PVmを取得して、エンコーダ値PVmから特定されるステージ420の速度/位置が目標値に近付くように移動指令MVが近付くようにサーボモータ410をフィードバック制御する。エンコーダによって検出されたエンコーダ値PVmは、制御周期Tsと同じ周期でコントローラ200に入力される。
Servo driver 300 drives moving mechanism 400 in accordance with movement command MV received every control cycle Ts. More specifically, the servo driver 300 acquires an encoder value PVm detected by an encoder 412 (see FIG. 6) described later, and the speed / position of the stage 420 specified from the encoder value PVm approaches the target value. Thus, the servo motor 410 is feedback-controlled so that the movement command MV approaches. The encoder value PVm detected by the encoder is input to the controller 200 at the same cycle as the control cycle Ts.
以上のように、本実施の形態では、位置決定部252は、必要移動距離Lと時刻tとを少なくとも説明変数とし、移動機構400の目標位置SP(t)を目的変数とする多次関数で表される目標軌道TGに基づいて、現時刻tに対応する目標位置SP(t)を決定する。目標位置SP(t)は、撮像周期Tbよりも短い制御周期Tsごとに移動制御部254に出力される。これにより、視覚センサ50がワークWの実位置PVvを計測してから次に実位置PVvを計測するまでの間において、移動機構400に出力する移動指令を補間でき、移動機構400をより滑らかに駆動することが可能になる。
As described above, in the present embodiment, the position determination unit 252 is a multi-order function having the necessary moving distance L and time t as at least explanatory variables and the target position SP (t) of the moving mechanism 400 as an objective variable. Based on the expressed target trajectory TG, the target position SP (t) corresponding to the current time t is determined. The target position SP (t) is output to the movement control unit 254 every control cycle Ts shorter than the imaging cycle Tb. Thus, the movement command output to the moving mechanism 400 can be interpolated between the time when the visual sensor 50 measures the actual position PVv of the workpiece W and the next time when the actual position PVv is measured, thereby making the moving mechanism 400 smoother. It becomes possible to drive.
<B.制御システム1の装置構成>
図3は、制御システム1の装置構成の一例を示す図である。図3に示されるように、制御システム1は、視覚センサ50と、コントローラ200と、1つ以上のサーボドライバ300(図3の例では、サーボドライバ300X,300Y)と、移動機構400とを含む。視覚センサ50は、画像処理装置100と、1つ以上のカメラ(図3の例では、カメラ102および104)とを含む。 <B. Device configuration ofcontrol system 1>
FIG. 3 is a diagram illustrating an example of a device configuration of thecontrol system 1. As shown in FIG. 3, the control system 1 includes a visual sensor 50, a controller 200, one or more servo drivers 300 ( servo drivers 300X and 300Y in the example of FIG. 3), 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).
図3は、制御システム1の装置構成の一例を示す図である。図3に示されるように、制御システム1は、視覚センサ50と、コントローラ200と、1つ以上のサーボドライバ300(図3の例では、サーボドライバ300X,300Y)と、移動機構400とを含む。視覚センサ50は、画像処理装置100と、1つ以上のカメラ(図3の例では、カメラ102および104)とを含む。 <B. Device configuration of
FIG. 3 is a diagram illustrating an example of a device configuration of the
画像処理装置100は、カメラ102,104がワークWを撮影して得られた画像データに基づいて、ワークWの特徴部分12(たとえば、ネジ穴など)を検出する。画像処理装置100は、検出した特徴部分12の位置をワークWの実位置PVvとして検出する。
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 PVv of the workpiece W.
コントローラ200には、1つ以上のサーボドライバ300(図3の例では、サーボドライバ300X,300Y)が接続されている。サーボドライバ300Xは、コントローラ200からの受けるX方向の移動指令に従って、制御対象のサーボモータ410Xを駆動する。サーボドライバ300Yは、コントローラ200からの受けるY方向の移動指令に従って、制御対象のサーボモータ410Yを駆動する。
The controller 200 is connected to one or more servo drivers 300 ( servo drivers 300X and 300Y in the example of FIG. 3). The servo driver 300X 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 300Y drives the servo motor 410Y to be controlled in accordance with the movement command in the Y direction received from the controller 200.
コントローラ200は、X方向に対して生成された目標軌道TGxに従って、サーボドライバ300Xに対してX方向の目標位置を指令値として与える。また、コントローラ200は、Y方向に対して生成された目標軌道TGyに従って、サーボドライバ300Yに対してY方向の目標位置を指令値として与える。X,Y方向のそれぞれの目標位置が順次更新されることで、ワークWが到達目標位置SPに移動させられる。
The controller 200 gives a target position in the X direction as a command value to the servo driver 300X according to 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 300Y according to the target trajectory TGy generated in the Y direction. By sequentially updating the respective target positions in the X and Y directions, the workpiece W is moved to the final target position SP.
コントローラ200およびサーボドライバ300は、フィールドネットワークを介してデイジーチェーンで接続されている。フィールドネットワークには、たとえば、EtherCAT(登録商標)が採用される。但し、フィールドネットワークは、EtherCATに限定されず、任意の通信手段が採用され得る。一例として、コントローラ200およびサーボドライバ300は、信号線で直接接続されてもよい。また、コントローラ200およびサーボドライバ300は、一体的に構成されてもよい。
Controller 200 and servo driver 300 are connected in a daisy chain via a field network. For the field network, for example, EtherCAT (registered trademark) is adopted. However, the field network is not limited to EtherCAT, and any communication means can be adopted. As an example, the controller 200 and the servo driver 300 may be directly connected by a signal line. Further, the controller 200 and the servo driver 300 may be integrally configured.
移動機構400は、ベースプレート4,7と、ボールネジ6,9と、ステージ420と、1つ以上のサーボモータ410(図3の例では、サーボモータ410X,410Y)とで構成されている。
The moving mechanism 400 includes base plates 4 and 7, ball screws 6 and 9, a stage 420, and one or more servo motors 410 ( servo motors 410X and 410Y in the example of FIG. 3).
ベースプレート4には、ステージ420をX方向に沿って移動させるボールネジ6が配置されている。ボールネジ6は、ステージ420に含まれるナットと係合されている。ボールネジ6の一端に連結されたサーボモータ410Xが回転駆動することで、ステージ420に含まれるナットとボールネジ6とが相対回転し、その結果、ステージ420がX方向に沿って移動する。
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. When 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.
ベースプレート7は、ステージ420およびベースプレート4をY方向に沿って移動させるボールネジ9が配置されている。ボールネジ9は、ベースプレート4に含まれるナットと係合されている。ボールネジ9の一端に連結されたサーボモータ410Yが回転駆動することで、ベースプレート4に含まれるナットとボールネジ9とが相対回転し、その結果、ステージ420およびベースプレート4がY方向に沿って移動する。
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. When 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.
なお、図3には、サーボモータ410X,410Yによる2軸駆動の移動機構400が示されているが、移動機構400は、XY平面上の回転方向(θ方向)にステージ420を駆動するサーボモータがさらに組み込まれてもよい。
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.
<C.ハードウェア構成>
図4および図5を参照して、視覚センサ50を構成する画像処理装置100およびコントローラ200のハードウェア構成について順に説明する。 <C. Hardware configuration>
With reference to FIG. 4 and FIG. 5, the hardware configuration of theimage processing apparatus 100 and the controller 200 configuring the visual sensor 50 will be described in order.
図4および図5を参照して、視覚センサ50を構成する画像処理装置100およびコントローラ200のハードウェア構成について順に説明する。 <C. Hardware configuration>
With reference to FIG. 4 and FIG. 5, the hardware configuration of the
(C1.画像処理装置100のハードウェア構成)
図4は、視覚センサ50を構成する画像処理装置100のハードウェア構成の一例を示す模式図である。図4を参照して、画像処理装置100は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。 (C1. Hardware configuration of image processing apparatus 100)
FIG. 4 is a schematic diagram illustrating an example of a hardware configuration of theimage processing apparatus 100 configuring the visual sensor 50. Referring to FIG. 4, 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.
図4は、視覚センサ50を構成する画像処理装置100のハードウェア構成の一例を示す模式図である。図4を参照して、画像処理装置100は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。 (C1. Hardware configuration of image processing apparatus 100)
FIG. 4 is a schematic diagram illustrating an example of a hardware configuration of the
より具体的には、画像処理装置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を中心として、互いにデータ通信可能に接続される。
More specifically, 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.
プロセッサ110は、システムコントローラ116との間でプログラム(コード)などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
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.
システムコントローラ116は、プロセッサ110、RAM112、表示コントローラ114、およびI/Oコントローラ118とそれぞれバスを介して接続されており、各部との間でデータ交換などを行なうとともに、画像処理装置100全体の処理を司る。
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.
RAM112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク120から読み出されたプログラムや、カメラ102および104によって取得されたカメラ画像(画像データ)、カメラ画像に対する処理結果、およびワークデータなどを保持する。
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.
表示コントローラ114は、表示部132と接続されており、システムコントローラ116からの内部コマンドに従って、各種の情報を表示するための信号を表示部132へ出力する。
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.
I/Oコントローラ118は、画像処理装置100に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ118は、ハードディスク120と、カメラインターフェイス122と、入力インターフェイス124と、コントローラインターフェイス126と、通信インターフェイス128と、メモリカードインターフェイス130と接続される。
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.
ハードディスク120は、典型的には、不揮発性の磁気記憶装置であり、プロセッサ110で実行される制御プログラム150に加えて、各種設定値などが格納される。このハードディスク120にインストールされる制御プログラム150は、メモリカード136などに格納された状態で流通する。なお、ハードディスク120に代えて、フラッシュメモリなどの半導体記憶装置やDVD-RAM(Digital Versatile Disk Random Access Memory)などの光学記憶装置を採用してもよい。
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. Instead of the hard disk 120, 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.
カメラインターフェイス122は、ワークを撮影することで生成された画像データを受け付ける入力部に相当し、プロセッサ110とカメラ102,104との間のデータ伝送を仲介する。カメラインターフェイス122は、カメラ102および104からの画像データをそれぞれ一時的に蓄積するための画像バッファ122aおよび122bを含む。複数のカメラに対して、カメラの間で共有できる単一の画像バッファを設けてもよいが、処理高速化のため、それぞれのカメラに対応付けて独立に複数配置することが好ましい。
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. For a plurality of cameras, a single image buffer that can be shared among the cameras may be provided. However, in order to increase the processing speed, it is preferable that a plurality of cameras are independently arranged in association with each camera.
入力インターフェイス124は、プロセッサ110とキーボード134、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。
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.
コントローラインターフェイス126は、プロセッサ110とコントローラ200との間のデータ伝送を仲介する。
The controller interface 126 mediates data transmission between the processor 110 and the controller 200.
通信インターフェイス128は、プロセッサ110と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス128は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
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.
メモリカードインターフェイス130は、プロセッサ110と記録媒体であるメモリカード136との間のデータ伝送を仲介する。メモリカード136には、画像処理装置100で実行される制御プログラム150などが格納された状態で流通し、メモリカードインターフェイス130は、このメモリカード136から制御プログラムを読み出す。メモリカード136は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD-ROM(Compact Disk Read Only Memory)などの光学記録媒体等からなる。あるいは、通信インターフェイス128を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置100にインストールしてもよい。
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. Alternatively, a program downloaded from a distribution server or the like may be installed in the image processing apparatus 100 via the communication interface 128.
上述のような汎用的なコンピュータアーキテクチャに従う構造を有するコンピュータを利用する場合には、本実施の形態に従う機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に従う制御プログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および/またはタイミングで呼び出して処理を実行するものであってもよい。
When a computer having a structure conforming to the general-purpose computer architecture as described above is used, in addition to an application for providing a function according to the present embodiment, an OS for providing a basic function of the computer ( Operating System) may be installed. In this case, 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.
さらに、本実施の形態に従う制御プログラムは、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組み合わせられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に従う制御プログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
Furthermore, the 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.
なお、代替的に、制御プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
Alternatively, some or all of the functions provided by executing the control program may be implemented as a dedicated hardware circuit.
(C2.コントローラ200のハードウェア構成)
図5は、コントローラ200のハードウェア構成を示す模式図である。図5を参照して、コントローラ200は、主制御ユニット210とを含む。図5には、3軸分のサーボモータ410X,410Y,410θが示されており、この軸数に応じた数のサーボドライバ300X,300Y,300θが設けられる。 (C2. Hardware configuration of controller 200)
FIG. 5 is a schematic diagram illustrating a hardware configuration of thecontroller 200. Referring to FIG. 5, 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 300X, 300Y, 300θ corresponding to the number of axes is provided.
図5は、コントローラ200のハードウェア構成を示す模式図である。図5を参照して、コントローラ200は、主制御ユニット210とを含む。図5には、3軸分のサーボモータ410X,410Y,410θが示されており、この軸数に応じた数のサーボドライバ300X,300Y,300θが設けられる。 (C2. Hardware configuration of controller 200)
FIG. 5 is a schematic diagram illustrating a hardware configuration of the
主制御ユニット210は、チップセット212と、プロセッサ214と、不揮発性メモリ216と、主メモリ218と、システムクロック220と、メモリカードインターフェイス222と、通信インターフェイス228と、内部バスコントローラ230と、フィールドバスコントローラ238とを含む。チップセット212と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
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.
プロセッサ214およびチップセット212は、典型的には、汎用的なコンピュータアーキテクチャに従う構成を有している。すなわち、プロセッサ214は、チップセット212から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット212は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ214に必要な命令コードを生成する。システムクロック220は、予め定められた周期のシステムクロックを発生してプロセッサ214に提供する。チップセット212は、プロセッサ214での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
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.
主制御ユニット210は、記憶手段として、不揮発性メモリ216および主メモリ218を有する。不揮発性メモリ216は、OS、システムプログラム、ユーザプログラム、データ定義情報、ログ情報などを不揮発的に保持する。主メモリ218は、揮発性の記憶領域であり、プロセッサ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.
主制御ユニット210は、通信手段として、通信インターフェイス228と、内部バスコントローラ230と、フィールドバスコントローラ238とを有する。これらの通信回路は、データの送信および受信を行なう。
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.
通信インターフェイス228は、画像処理装置100との間でデータを遣り取りする。
内部バスコントローラ230は、内部バス226を介したデータの遣り取りを制御する。より具体的には、内部バスコントローラ230は、バッファメモリ236と、DMA(Dynamic Memory Access)制御回路232と、内部バス制御回路234とを含む。 Thecommunication interface 228 exchanges data with the image processing apparatus 100.
Theinternal 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.
内部バスコントローラ230は、内部バス226を介したデータの遣り取りを制御する。より具体的には、内部バスコントローラ230は、バッファメモリ236と、DMA(Dynamic Memory Access)制御回路232と、内部バス制御回路234とを含む。 The
The
メモリカードインターフェイス222は、主制御ユニット210に対して着脱可能なメモリカード224とプロセッサ214とを接続する。
The memory card interface 222 connects the memory card 224 detachable to the main control unit 210 and the processor 214.
フィールドバスコントローラ238は、フィールドネットワークに接続するための通信インターフェイスである。コントローラ200は、フィールドバスコントローラ238を介してサーボドライバ300(たとえば、サーボドライバ300X,300Y,300θ)と接続される。当該フィールドネットワークには、たとえば、EtherCAT(登録商標)、EtherNet/IP(登録商標)、CompoNet(登録商標)などが採用される。
The fieldbus controller 238 is a communication interface for connecting to a field network. The controller 200 is connected to a servo driver 300 (for example, servo drivers 300X, 300Y, 300θ) via a fieldbus controller 238. For the field network, for example, EtherCAT (registered trademark), EtherNet / IP (registered trademark), CompoNet (registered trademark), or the like is adopted.
<D.目標軌道TGの更新処理>
上述の位置決定部252(図1参照)は、視覚センサ50の撮像周期Tbごとに目標軌道TGを生成する。このとき、位置決定部252は、新たに生成された目標軌道TGで前回に生成された目標軌道TGを更新する。すなわち、目標軌道TGは、視覚センサ50によってワークWの実位置が計測される度に更新される。これにより、目標軌道TGの誤差は、視覚センサ50の撮像周期Tbごとに修正される。 <D. Update process of target trajectory TG>
The position determining unit 252 (see FIG. 1) generates a target trajectory TG for each imaging cycle Tb of thevisual sensor 50. At this time, the position determining unit 252 updates the previously generated target trajectory TG with the newly generated target trajectory TG. That is, the target trajectory TG is updated every time the actual position of the workpiece W is measured by the visual sensor 50. Thereby, the error of the target trajectory TG is corrected for each imaging cycle Tb of the visual sensor 50.
上述の位置決定部252(図1参照)は、視覚センサ50の撮像周期Tbごとに目標軌道TGを生成する。このとき、位置決定部252は、新たに生成された目標軌道TGで前回に生成された目標軌道TGを更新する。すなわち、目標軌道TGは、視覚センサ50によってワークWの実位置が計測される度に更新される。これにより、目標軌道TGの誤差は、視覚センサ50の撮像周期Tbごとに修正される。 <D. Update process of target trajectory TG>
The position determining unit 252 (see FIG. 1) generates a target trajectory TG for each imaging cycle Tb of the
典型的には、位置決定部252は、目標軌道TGの更新前後で、移動機構400の速度が変化しないように新たな目標軌道TGを生成する。以下では、図6および図7を参照して、目標軌道TGの更新処理について説明する。
Typically, the position determination unit 252 generates a new target trajectory TG so that the speed of the moving mechanism 400 does not change before and after the update of the target trajectory TG. Hereinafter, the update process of the target trajectory TG will be described with reference to FIGS.
図6は、図1に示される制御システム1の機能構成をさらに具体化した図である。図6に示されるように、コントローラ200は、算出部250と、補正部251X,251Yと、位置決定部252X,252Yと、移動制御部254X,254Yとを含む。
FIG. 6 is a diagram that further embodies the functional configuration of the control system 1 shown in FIG. As shown in FIG. 6, the controller 200 includes a calculation unit 250, correction units 251X and 251Y, position determination units 252X and 252Y, and movement control units 254X and 254Y.
補正部251X、位置決定部252X、および移動制御部254Xは、X軸方向の駆動制御を行なうサーボドライバ300Xのための機能構成である。補正部251Y、位置決定部252Y、および移動制御部254Yは、Y軸方向の駆動制御を行なうサーボドライバ300Yのための機能構成である。その他の点に関しては、補正部251X,251Yの機能は同じであり、位置決定部252X,252Yの機能は同じであり、移動制御部254X,254Yの機能は同じである。
The correction unit 251X, the position determination unit 252X, and the movement control unit 254X are functional configurations for the servo driver 300X that performs drive control in the X-axis direction. The correction unit 251Y, the position determination unit 252Y, and the movement control unit 254Y are functional configurations for the servo driver 300Y that performs drive control in the Y-axis direction. Regarding other points, the functions of the correction units 251X and 251Y are the same, the functions of the position determination units 252X and 252Y are the same, and the functions of the movement control units 254X and 254Y are the same.
算出部250は、視覚センサ50によって検出されたワークWの実位置PVvと、所定の到達目標位置SPとに基づいて、ワークWを実位置PVvから到達目標位置SPに移動させるための移動機構400の必要移動距離Lを算出する。その後、算出部250は、移動機構400の必要移動距離LをX軸方向の必要移動距離LxとY軸方向の必要移動距離Lyとに分解し、必要移動距離Lxを補正部251Xに出力するとともに、必要移動距離Lyを補正部251Yに出力する。
The calculation unit 250 moves the workpiece W from the actual position PVv to the reaching target position SP based on the actual position PVv of the workpiece W detected by the visual sensor 50 and the predetermined reaching target position SP. The required moving distance L is calculated. Thereafter, the calculation unit 250 breaks down the necessary movement distance L of the movement mechanism 400 into the necessary movement distance Lx in the X-axis direction and the necessary movement distance Ly in the Y-axis direction, and outputs the necessary movement distance Lx to the correction unit 251X. The necessary movement distance Ly is output to the correction unit 251Y.
補正部251Xは、移動機構400の実位置を検出するためのエンコーダ412X(検出部)からのためのエンコーダ値PVmに基づいて移動機構400の実位置を特定する。より具体的には、エンコーダ412Xは、サーボモータ410Xの移動量に応じてパルス信号を発生する。サーボモータ410Xに含まれるカウンタは、エンコーダ412Xからパルス信号を受け、当該パルス信号に含まれるパルス数をカウントすることで移動機構400の移動量をエンコーダ値PVmとして計測する。エンコーダ値PVmは、制御周期Tsごとに補正部251にコントローラ200に入力される。補正部251は、移動機構400の移動量に相当するエンコーダ値PVmに基づいて、X方向における移動機構400の実位置を特定する。
The correcting unit 251X specifies the actual position of the moving mechanism 400 based on the encoder value PVm for the encoder 412X (detecting unit) for detecting the actual position of the moving mechanism 400. More specifically, the encoder 412X generates a pulse signal according to the movement amount of the servo motor 410X. The counter included in the servo motor 410X receives the pulse signal from the encoder 412X and counts the number of pulses included in the pulse signal to measure the movement amount of the moving mechanism 400 as the encoder value PVm. The encoder value PVm is input to the controller 200 by the correction unit 251 every control cycle Ts. The correcting unit 251 specifies the actual position of the moving mechanism 400 in the X direction based on the encoder value PVm corresponding to the moving amount of the moving mechanism 400.
補正部251Xは、移動機構400の実位置と目標位置SP(t)との位置偏差En(t)を誤差として算出する。そして、補正部251Xは、必要移動距離Lxに位置偏差En(t)で補正し、補正後の必要移動距離Lmを位置決定部252Xに出力する。補正部251Yは、補正部251Xと同様に、エンコーダ412Yからのエンコーダ値PVmに基づいて、Y方向における必要移動距離Lmを位置決定部252Yに出力する。
The correction unit 251X calculates the position deviation En (t) between the actual position of the moving mechanism 400 and the target position SP (t) as an error. Then, the correction unit 251X corrects the necessary movement distance Lx with the position deviation En (t), and outputs the corrected necessary movement distance Lm to the position determination unit 252X. Similarly to the correction unit 251X, the correction unit 251Y outputs the necessary movement distance Lm in the Y direction to the position determination unit 252Y based on the encoder value PVm from the encoder 412Y.
位置決定部252Xは、視覚センサ50の撮像周期Tbが到来したことに基づいて、必要移動距離Lmから目標軌道TGを生成する。図7は、更新前の目標軌道TG1と、更新後の目標軌道TG2とを示す図である。
The position determination unit 252X generates the target trajectory TG from the necessary moving distance Lm based on the arrival of the imaging cycle Tb of the visual sensor 50. FIG. 7 is a diagram showing the target trajectory TG1 before update and the target trajectory TG2 after update.
図7に示されるように、時刻t5において、視覚センサ50によりワークWの実位置PVvが計測され、目標軌道が更新されるとする。補正部251Xは、目標軌道の更新のタイミングにおいて検出された移動機構400の実位置と、当該タイミングにおける移動機構400の目標位置との位置偏差En(t)で、必要移動距離Lを補正する。図7の例では、必要移動距離Lに位置偏差En(t5)を加算することで、必要移動距離Lが必要移動距離Lmに補正されている。その後、位置決定部252Xは、補正後の必要移動距離Lmに基づいて、新たな目標軌道TG2を生成する。
7, it is assumed that the actual position PVv of the workpiece W is measured by the visual sensor 50 and the target trajectory is updated at time t5. The correcting unit 251X corrects the necessary moving distance L by the position deviation En (t) between the actual position of the moving mechanism 400 detected at the update timing of the target trajectory and the target position of the moving mechanism 400 at the timing. In the example of FIG. 7, the required moving distance L is corrected to the required moving distance Lm by adding the position deviation En (t5) to the required moving distance L. Thereafter, the position determination unit 252X generates a new target trajectory TG2 based on the necessary travel distance Lm after correction.
これにより、目標軌道TG1から目標軌道TG2に更新する過程で、移動機構400の位置の誤差が吸収され、移動機構400の速度が急変することが防止される。その結果、移動機構400上におけるワークWのすべりや、移動機構400の位置決め後における残留振動が抑制され、結果として、ワークWのアライメント時間が短縮される。
Thereby, in the process of updating from the target trajectory TG1 to the target trajectory TG2, the position error of the moving mechanism 400 is absorbed, and the speed of the moving mechanism 400 is prevented from changing suddenly. As a result, sliding of the workpiece W on the moving mechanism 400 and residual vibration after positioning of the moving mechanism 400 are suppressed, and as a result, the alignment time of the workpiece W is shortened.
位置決定部252Xは、更新後の目標軌道TG2に基づいて、現時刻tに対応する目標位置SP(t)を決定し、当該目標位置SP(t)を制御周期Tsごとに移動制御部254Xに出力する。移動制御部254Xの機能については、図1で説明した移動制御部254と同じであるので、その説明については繰り返さない。
The position determination unit 252X determines a target position SP (t) corresponding to the current time t based on the updated target trajectory TG2, and sends the target position SP (t) to the movement control unit 254X for each control cycle Ts. Output. Since the function of the movement control unit 254X is the same as that of the movement control unit 254 described in FIG. 1, the description thereof will not be repeated.
<E.コントローラ200の制御構造>
図8を参照して、コントローラ200の制御構造について説明する。図8は、コントローラ200が実行する制御処理の一部を表わすフローチャートである。図8に示される処理は、コントローラ200のプロセッサ214がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。 <E. Control structure ofcontroller 200>
The control structure of thecontroller 200 will be described with reference to FIG. FIG. 8 is a flowchart showing a part of the control process executed by controller 200. The processing shown in FIG. 8 is realized by the processor 214 of the controller 200 executing a program. In other aspects, some or all of the processing may be performed by circuit elements or other hardware.
図8を参照して、コントローラ200の制御構造について説明する。図8は、コントローラ200が実行する制御処理の一部を表わすフローチャートである。図8に示される処理は、コントローラ200のプロセッサ214がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。 <E. Control structure of
The control structure of the
図8に示される処理は、ある軸方向に対する制御フローを表わす。すなわち、実際には、図8に示されるステップS130,S150以外の処理は、軸方向の分だけ並列に実行される。
The process shown in FIG. 8 represents a control flow for a certain axial direction. That is, in practice, processes other than steps S130 and S150 shown in FIG. 8 are executed in parallel in the axial direction.
ステップS110において、プロセッサ214は、計測時刻t(現時刻)をゼロに初期化する。
In step S110, the processor 214 initializes the measurement time t (current time) to zero.
ステップS130において、プロセッサ214は、視覚センサ50からワークWの位置計測が完了したことを示す情報を受け付けたか否かを判断する。プロセッサ214は、視覚センサ50からワークWの位置計測が完了したことを示す情報を受け付けたと判断した場合(ステップS130においてYES)、制御をステップS131に切り替える。そうでない場合には(ステップS130においてNO)、プロセッサ214は、制御をステップS138に切り替える。
In step S <b> 130, the processor 214 determines whether information indicating that the position measurement of the workpiece W has been completed is received from the visual sensor 50. When the processor 214 determines that information indicating that the position measurement of the workpiece W has been completed is received from the visual sensor 50 (YES in step S130), the processor 214 switches the control to step S131. Otherwise (NO in step S130), processor 214 switches control to step S138.
ステップS131において、プロセッサ214は、上述の算出部250(図1参照)として、視覚センサ50によって検出されたワークWの実位置PVvと、所定の到達目標位置SPとに基づいて、ワークWを実位置PVvから到達目標位置SPに移動させるための移動機構400の必要移動距離Lを算出する。
In step S131, the processor 214 executes the workpiece W as the calculation unit 250 (see FIG. 1) based on the actual position PVv of the workpiece W detected by the visual sensor 50 and the predetermined target position SP. A required moving distance L of the moving mechanism 400 for moving from the position PVv to the arrival target position SP is calculated.
ステップS132において、プロセッサ214は、上述の補正部251(図6参照)として、計測時刻tにおける位置偏差En(t)を必要移動距離Lに加算し、必要移動距離Lを必要移動距離Lmに補正する。必要移動距離Lの補正方法については図7で説明した通りであるので、その説明については繰り返さない。
In step S132, the processor 214 adds the position deviation En (t) at the measurement time t to the required moving distance L as the correcting unit 251 (see FIG. 6), and corrects the required moving distance L to the required moving distance Lm. To do. Since the correction method of the required movement distance L is as having demonstrated in FIG. 7, the description is not repeated.
ステップS134において、プロセッサ214は、計測時刻tをゼロに初期化する。
ステップS136において、プロセッサ214は、軌道時間Tを算出する。軌道時間Tは、目標軌道TGの開始点から終了点まで移動機構400を移動するために要する時間を表わす。一例として、軌道時間Tは、下記式(1)に基づいて算出される。 In step S134, theprocessor 214 initializes the measurement time t to zero.
In step S136, theprocessor 214 calculates the trajectory time T. The trajectory time T represents the time required to move the moving mechanism 400 from the start point to the end point of the target trajectory TG. As an example, the trajectory time T is calculated based on the following formula (1).
ステップS136において、プロセッサ214は、軌道時間Tを算出する。軌道時間Tは、目標軌道TGの開始点から終了点まで移動機構400を移動するために要する時間を表わす。一例として、軌道時間Tは、下記式(1)に基づいて算出される。 In step S134, the
In step S136, the
T=max{f(Amax),Tmin} ・・・(1)
上記式(1)に示される「Amax」は、最大加速度を表わす。「f()」は、最大加速度Amaxで必要移動距離Lを移動機構400に移動させた場合にかかる軌道時間Tを求めるための関数である。「Tmin」は、所定の最小軌道時間である。「max(α,β)」は、数値α,βの内から最大値を取得するための関数である。 T = max {f (A max ), T min } (1)
“A max ” shown in the above equation (1) represents the maximum acceleration. “F ()” is a function for obtaining the trajectory time T required when the required moving distance L is moved to the movingmechanism 400 with the maximum acceleration A max . “T min ” is a predetermined minimum orbit time. “Max (α, β)” is a function for obtaining the maximum value from the numerical values α and β.
上記式(1)に示される「Amax」は、最大加速度を表わす。「f()」は、最大加速度Amaxで必要移動距離Lを移動機構400に移動させた場合にかかる軌道時間Tを求めるための関数である。「Tmin」は、所定の最小軌道時間である。「max(α,β)」は、数値α,βの内から最大値を取得するための関数である。 T = max {f (A max ), T min } (1)
“A max ” shown in the above equation (1) represents the maximum acceleration. “F ()” is a function for obtaining the trajectory time T required when the required moving distance L is moved to the moving
上記式(1)により、軌道時間Tは、最小軌道時間Tmin未満にならないように決められる。最小軌道時間Tminが設けられていなければ、必要移動距離Lが非常に短い場合に、移動機構400が目標位置にすぐに到達してしまうので、次の撮像タイミングまでの時間を無駄にすることになる。しかしながら、最小軌道時間Tminが設けられることで、必要移動距離Lが非常に短い場合に、移動機構400は、最大加速度よりも低い加速度で移動することとなり、移動機構400は、滑らかに移動することができる。一例として、軌道時間Tminは、平均撮像間隔に対して一定の割合(たとえば、50%)を乗じることで算出される。
From the above equation (1), the trajectory time T is determined so as not to be less than the minimum trajectory time Tmin . If the minimum trajectory time Tmin is not provided, when the required moving distance L is very short, the moving mechanism 400 will reach the target position immediately, so that the time until the next imaging timing is wasted. become. However, by providing the minimum trajectory time Tmin , the moving mechanism 400 moves at an acceleration lower than the maximum acceleration when the required moving distance L is very short, and the moving mechanism 400 moves smoothly. be able to. As an example, the trajectory time T min is calculated by multiplying a certain ratio (for example, 50%) with respect to the average imaging interval.
ステップS138において、プロセッサ214は、上述の位置決定部252(図1参照)として、ステップS132で得られた補正後の必要移動距離Lmと、ステップS136で算出された軌道時間Tとに基づいて、現時刻tに対応する目標位置SP(t)を算出する。一例として、目標位置SP(t)は、下記式(2)に基づいて算出される。
In step S138, the processor 214, as the position determination unit 252 (see FIG. 1), based on the necessary travel distance Lm after correction obtained in step S132 and the trajectory time T calculated in step S136. A target position SP (t) corresponding to the current time t is calculated. As an example, the target position SP (t) is calculated based on the following formula (2).
SP(t)=Lm*[1-(t/T)3{10-15(t/T)}+6(t/T)2}]・・・(2)
上記式(2)の右辺は、移動機構400の目標軌道TGを表わす。式(2)に示されるように、目標軌道TGは、必要移動距離Lmと時刻tとを少なくとも説明変数とし、移動機構400の目標位置SP(t)を目的変数とする多次関数で表される。 SP (t) = Lm * [1- (t / T) 3 {10-15 (t / T)} + 6 (t / T) 2 }] (2)
The right side of the above equation (2) represents the target trajectory TG of the movingmechanism 400. As shown in the equation (2), the target trajectory TG is expressed by a multi-order function having the necessary moving distance Lm and time t as at least explanatory variables and the target position SP (t) of the moving mechanism 400 as an objective variable. The
上記式(2)の右辺は、移動機構400の目標軌道TGを表わす。式(2)に示されるように、目標軌道TGは、必要移動距離Lmと時刻tとを少なくとも説明変数とし、移動機構400の目標位置SP(t)を目的変数とする多次関数で表される。 SP (t) = Lm * [1- (t / T) 3 {10-15 (t / T)} + 6 (t / T) 2 }] (2)
The right side of the above equation (2) represents the target trajectory TG of the moving
なお、式(2)においては、目標軌道TGが時刻tの5次関数で表されているが、目標軌道TGの次数は、6次以上の多次関数で表されてもよい。また、目標軌道TGは、スプライン補間関数で表されてもよい。
In equation (2), the target trajectory TG is represented by a quintic function at time t. However, the order of the target trajectory TG may be represented by a sixth-order or higher-order function. Further, the target trajectory TG may be represented by a spline interpolation function.
最大加速度Amaxが与えられた場合、上記式(2)に示される軌道時間Tは、下記式(3)~式(5)で計算される。
When the maximum acceleration A max is given, the trajectory time T shown in the above equation (2) is calculated by the following equations (3) to (5).
f(Amax)=C1*Lm/Amax ・・・(3)
C1=60C2(2C2 2-3C2+1) ・・・(4)
C2=0.5-31/2/6 ・・・(5)
ステップS140において、プロセッサ214は、上述の移動制御部254(図1参照)として、ステップS138で得られた目標位置SP(t)に移動機構400を移動させるための移動指令MVを生成し、当該移動指令MVをサーボドライバ300に出力する。 f (A max ) = C 1 * Lm / A max (3)
C 1 = 60C 2 (2C 2 2 -3C 2 +1) (4)
C 2 = 0.5-3 1/2 / 6 ··· (5)
In step S140, theprocessor 214 generates a movement command MV for moving the movement mechanism 400 to the target position SP (t) obtained in step S138 as the movement control unit 254 (see FIG. 1). The movement command MV is output to the servo driver 300.
C1=60C2(2C2 2-3C2+1) ・・・(4)
C2=0.5-31/2/6 ・・・(5)
ステップS140において、プロセッサ214は、上述の移動制御部254(図1参照)として、ステップS138で得られた目標位置SP(t)に移動機構400を移動させるための移動指令MVを生成し、当該移動指令MVをサーボドライバ300に出力する。 f (A max ) = C 1 * Lm / A max (3)
C 1 = 60C 2 (2C 2 2 -3C 2 +1) (4)
C 2 = 0.5-3 1/2 / 6 ··· (5)
In step S140, the
ステップS142において、プロセッサ214は、計測時間tに制御周期Tsを加算し、計測時間tを更新する。
In step S142, the processor 214 adds the control period Ts to the measurement time t, and updates the measurement time t.
ステップS150において、プロセッサ214は、目標軌道TGの更新処理を終了するか否かを判断する。一例として、プロセッサ214は、目標軌道TGの更新処理の停止命令を受け付けたことに基づいて、図8に示される処理を終了する。プロセッサ214は、目標軌道TGの更新処理を終了すると判断した場合(ステップS150においてYES)、図8に示される処理を終了する。そうでない場合には(ステップS150においてNO)、プロセッサ214は、制御をステップS130に戻す。
In step S150, the processor 214 determines whether or not to finish the update process of the target trajectory TG. As an example, the processor 214 ends the process illustrated in FIG. 8 based on receiving a stop command for updating the target trajectory TG. When processor 214 determines to end the update process of target trajectory TG (YES in step S150), it ends the process shown in FIG. Otherwise (NO in step S150), processor 214 returns control to step S130.
なお、上述では、制御周期Tsごとに目標位置SP(t)が算出される例について説明を行ったが、プロセッサ214は、移動機構400が最終的な目標到達位置SPに到達するまでの間における各時刻の目標位置SP(t)を一括して算出してもよい。
In the above description, the example in which the target position SP (t) is calculated for each control cycle Ts has been described. However, the processor 214 does not stop until the moving mechanism 400 reaches the final target arrival position SP. The target position SP (t) at each time may be calculated collectively.
<F.付記>
以上のように、本実施形態は以下のような開示を含む。 <F. Addendum>
As described above, the present embodiment includes the following disclosure.
以上のように、本実施形態は以下のような開示を含む。 <F. Addendum>
As described above, the present embodiment includes the following disclosure.
[構成1]
対象物を移動させるための移動機構(400)と、
撮像指示を受け付けたことに基づいて前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を計測するための視覚センサ(50)と、
前記実位置から所定の到達目標位置に前記対象物を移動させるための、前記移動機構(400)の必要移動距離を算出するための算出部(250)と、
前記必要移動距離と時刻とを少なくとも説明変数とし、前記移動機構(400)の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するための位置決定部(252)と、
前記位置決定部(252)によって決定される目標位置に前記移動機構(400)を移動させるための移動制御部とを備える、制御システム。 [Configuration 1]
A moving mechanism (400) for moving the object;
A visual sensor (50) for imaging the object based on receiving an imaging instruction and measuring an actual position of the object from an image obtained by imaging;
A calculating unit (250) for calculating a necessary moving distance of the moving mechanism (400) for moving the object from the actual position to a predetermined target position;
The imaging instruction is output to the visual sensor based on a target trajectory represented by a multi-order function in which the required moving distance and time are at least explanatory variables and the target position of the moving mechanism (400) is an objective variable. A position determination unit (252) for determining a target position corresponding to the current time for each predetermined control cycle shorter than the interval of
A control system comprising: a movement control unit for moving the moving mechanism (400) to a target position determined by the position determination unit (252).
対象物を移動させるための移動機構(400)と、
撮像指示を受け付けたことに基づいて前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を計測するための視覚センサ(50)と、
前記実位置から所定の到達目標位置に前記対象物を移動させるための、前記移動機構(400)の必要移動距離を算出するための算出部(250)と、
前記必要移動距離と時刻とを少なくとも説明変数とし、前記移動機構(400)の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するための位置決定部(252)と、
前記位置決定部(252)によって決定される目標位置に前記移動機構(400)を移動させるための移動制御部とを備える、制御システム。 [Configuration 1]
A moving mechanism (400) for moving the object;
A visual sensor (50) for imaging the object based on receiving an imaging instruction and measuring an actual position of the object from an image obtained by imaging;
A calculating unit (250) for calculating a necessary moving distance of the moving mechanism (400) for moving the object from the actual position to a predetermined target position;
The imaging instruction is output to the visual sensor based on a target trajectory represented by a multi-order function in which the required moving distance and time are at least explanatory variables and the target position of the moving mechanism (400) is an objective variable. A position determination unit (252) for determining a target position corresponding to the current time for each predetermined control cycle shorter than the interval of
A control system comprising: a movement control unit for moving the moving mechanism (400) to a target position determined by the position determination unit (252).
[構成2]
前記多次関数は、5次以上の関数である、構成1に記載の制御システム。 [Configuration 2]
The control system according toConfiguration 1, wherein the multi-order function is a function of fifth order or higher.
前記多次関数は、5次以上の関数である、構成1に記載の制御システム。 [Configuration 2]
The control system according to
[構成3]
前記位置決定部(252)は、前記移動機構(400)の加速度が予め定められた最大加速度を超えないように、前記目標軌道を生成する、構成1に記載の制御システム。 [Configuration 3]
The control system according toConfiguration 1, wherein the position determining unit (252) generates the target trajectory so that an acceleration of the moving mechanism (400) does not exceed a predetermined maximum acceleration.
前記位置決定部(252)は、前記移動機構(400)の加速度が予め定められた最大加速度を超えないように、前記目標軌道を生成する、構成1に記載の制御システム。 [Configuration 3]
The control system according to
[構成4]
前記位置決定部(252)は、前記視覚センサ(50)が前記対象物の実位置を計測する度に前記目標軌道を生成し、新たに生成された前記目標軌道で前回に生成された前記目標軌道を更新する、構成1~3のいずれか1項に記載の制御システム。 [Configuration 4]
The position determination unit (252) generates the target trajectory each time the visual sensor (50) measures the actual position of the object, and the target generated last time with the newly generated target trajectory. The control system according to any one ofconfigurations 1 to 3, wherein the trajectory is updated.
前記位置決定部(252)は、前記視覚センサ(50)が前記対象物の実位置を計測する度に前記目標軌道を生成し、新たに生成された前記目標軌道で前回に生成された前記目標軌道を更新する、構成1~3のいずれか1項に記載の制御システム。 [Configuration 4]
The position determination unit (252) generates the target trajectory each time the visual sensor (50) measures the actual position of the object, and the target generated last time with the newly generated target trajectory. The control system according to any one of
[構成5]
前記位置決定部(252)は、前記目標軌道の更新前後で、前記移動機構(400)の速度が変化しないように新たな前記目標軌道を生成する、構成4に記載の制御システム。 [Configuration 5]
The control system according to Configuration 4, wherein the position determination unit (252) generates a new target trajectory so that a speed of the moving mechanism (400) does not change before and after the update of the target trajectory.
前記位置決定部(252)は、前記目標軌道の更新前後で、前記移動機構(400)の速度が変化しないように新たな前記目標軌道を生成する、構成4に記載の制御システム。 [Configuration 5]
The control system according to Configuration 4, wherein the position determination unit (252) generates a new target trajectory so that a speed of the moving mechanism (400) does not change before and after the update of the target trajectory.
[構成6]
前記制御システムは、
前記制御周期ごとに前記移動機構(400)の実位置を検出するための検出部(412)と、
前記目標軌道の更新のタイミングにおいて前記検出部によって検出された実位置と、前記タイミングにおける前記移動機構の目標位置との位置偏差で、前記必要移動距離を補正するための補正部とをさらに備える、構成5に記載の制御システム。 [Configuration 6]
The control system includes:
A detection unit (412) for detecting an actual position of the moving mechanism (400) for each control period;
A correction unit for correcting the necessary movement distance with a positional deviation between the actual position detected by the detection unit at the timing of updating the target trajectory and the target position of the movement mechanism at the timing; The control system according to Configuration 5.
前記制御システムは、
前記制御周期ごとに前記移動機構(400)の実位置を検出するための検出部(412)と、
前記目標軌道の更新のタイミングにおいて前記検出部によって検出された実位置と、前記タイミングにおける前記移動機構の目標位置との位置偏差で、前記必要移動距離を補正するための補正部とをさらに備える、構成5に記載の制御システム。 [Configuration 6]
The control system includes:
A detection unit (412) for detecting an actual position of the moving mechanism (400) for each control period;
A correction unit for correcting the necessary movement distance with a positional deviation between the actual position detected by the detection unit at the timing of updating the target trajectory and the target position of the movement mechanism at the timing; The control system according to Configuration 5.
[構成7]
対象物を移動させるための移動機構(400)の制御方法であって、
撮像指示を視覚センサに出力し、前記対象物を撮像して得られた画像から前記対象物の実位置を前記視覚センサに計測させるステップと、
前記実位置から所定の到達目標位置に前記対象物を移動させるための、前記移動機構(400)の必要移動距離を算出するステップと、
前記必要移動距離と時刻とを少なくとも説明変数とし、前記移動機構(400)の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するステップと、
前記決定するステップで決定される目標位置に前記移動機構(400)を移動させるステップとを備える、制御方法。 [Configuration 7]
A control method of a moving mechanism (400) for moving an object,
Outputting an imaging instruction to a visual sensor and causing the visual sensor to measure the actual position of the object from an image obtained by imaging the object;
Calculating a required moving distance of the moving mechanism (400) for moving the object from the actual position to a predetermined target position;
The imaging instruction is output to the visual sensor based on a target trajectory represented by a multi-order function in which the required moving distance and time are at least explanatory variables and the target position of the moving mechanism (400) is an objective variable. Determining a target position corresponding to the current time for each predetermined control cycle shorter than a predetermined interval;
Moving the moving mechanism (400) to the target position determined in the determining step.
対象物を移動させるための移動機構(400)の制御方法であって、
撮像指示を視覚センサに出力し、前記対象物を撮像して得られた画像から前記対象物の実位置を前記視覚センサに計測させるステップと、
前記実位置から所定の到達目標位置に前記対象物を移動させるための、前記移動機構(400)の必要移動距離を算出するステップと、
前記必要移動距離と時刻とを少なくとも説明変数とし、前記移動機構(400)の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するステップと、
前記決定するステップで決定される目標位置に前記移動機構(400)を移動させるステップとを備える、制御方法。 [Configuration 7]
A control method of a moving mechanism (400) for moving an object,
Outputting an imaging instruction to a visual sensor and causing the visual sensor to measure the actual position of the object from an image obtained by imaging the object;
Calculating a required moving distance of the moving mechanism (400) for moving the object from the actual position to a predetermined target position;
The imaging instruction is output to the visual sensor based on a target trajectory represented by a multi-order function in which the required moving distance and time are at least explanatory variables and the target position of the moving mechanism (400) is an objective variable. Determining a target position corresponding to the current time for each predetermined control cycle shorter than a predetermined interval;
Moving the moving mechanism (400) to the target position determined in the determining step.
[構成8]
対象物を移動させるための移動機構(400)の制御プログラムであって、
前記制御プログラムは、前記移動機構(400)を制御するためのコントローラ(200)に、
撮像指示を視覚センサに出力し、前記対象物を撮像して得られた画像から前記対象物の実位置を前記視覚センサに計測させるステップと、
前記実位置から所定の到達目標位置に前記対象物を移動させるための、前記移動機構(400)の必要移動距離を算出するステップ(S131)と、
前記必要移動距離と時刻とを少なくとも説明変数とし、前記移動機構(400)の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するステップと、
前記決定するステップで決定される目標位置に前記移動機構(400)を移動させるステップ(S140)とを実行させる、制御プログラム。 [Configuration 8]
A control program for a moving mechanism (400) for moving an object,
The control program is sent to a controller (200) for controlling the moving mechanism (400).
Outputting an imaging instruction to a visual sensor and causing the visual sensor to measure the actual position of the object from an image obtained by imaging the object;
Calculating a necessary moving distance of the moving mechanism (400) for moving the object from the actual position to a predetermined reaching target position (S131);
The imaging instruction is output to the visual sensor based on a target trajectory represented by a multi-order function in which the required moving distance and time are at least explanatory variables and the target position of the moving mechanism (400) is an objective variable. Determining a target position corresponding to the current time for each predetermined control cycle shorter than a predetermined interval;
A control program for executing the step (S140) of moving the moving mechanism (400) to the target position determined in the determining step.
対象物を移動させるための移動機構(400)の制御プログラムであって、
前記制御プログラムは、前記移動機構(400)を制御するためのコントローラ(200)に、
撮像指示を視覚センサに出力し、前記対象物を撮像して得られた画像から前記対象物の実位置を前記視覚センサに計測させるステップと、
前記実位置から所定の到達目標位置に前記対象物を移動させるための、前記移動機構(400)の必要移動距離を算出するステップ(S131)と、
前記必要移動距離と時刻とを少なくとも説明変数とし、前記移動機構(400)の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するステップと、
前記決定するステップで決定される目標位置に前記移動機構(400)を移動させるステップ(S140)とを実行させる、制御プログラム。 [Configuration 8]
A control program for a moving mechanism (400) for moving an object,
The control program is sent to a controller (200) for controlling the moving mechanism (400).
Outputting an imaging instruction to a visual sensor and causing the visual sensor to measure the actual position of the object from an image obtained by imaging the object;
Calculating a necessary moving distance of the moving mechanism (400) for moving the object from the actual position to a predetermined reaching target position (S131);
The imaging instruction is output to the visual sensor based on a target trajectory represented by a multi-order function in which the required moving distance and time are at least explanatory variables and the target position of the moving mechanism (400) is an objective variable. Determining a target position corresponding to the current time for each predetermined control cycle shorter than a predetermined interval;
A control program for executing the step (S140) of moving the moving mechanism (400) to the target position determined in the determining step.
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
1 制御システム、4,7 ベースプレート、6,9 ボールネジ、12 特徴部分、50 視覚センサ、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 制御プログラム、200 コントローラ、210 主制御ユニット、212 チップセット、216 不揮発性メモリ、218 主メモリ、220 システムクロック、230 内部バスコントローラ、232 制御回路、234 内部バス制御回路、236 バッファメモリ、238 フィールドバスコントローラ、250 算出部、251,251X,251Y 補正部、252,252X,252Y 位置決定部、254,254X,254Y 移動制御部、300,300X,300Y サーボドライバ、400 移動機構、410,410X,410Y サーボモータ、412,412X,412Y エンコーダ、420 ステージ。
1 control system, 4, 7 base plate, 6, 9 ball screw, 12 features, 50 visual sensor, 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 motion controller interface, 128,228 communication interface, 130,222 memory card interface, 132 display unit, 134 keyboard, 136,224 memory card, 150 control program, 200 controller, 210 main control unit, 212 chipset 216, non-volatile memory, 218 main memory, 220 system clock, 230 internal bus controller, 232 control circuit, 234 internal bus control circuit, 236 buffer memory, 238 field bus controller, 250 calculation unit, 251, 251X, 251Y correction unit , 252, 252 X, 252 Y position determining unit, 254, 254 X, 254 Y movement control unit, 300, 300 X, 300 Y servo driver, 400 moving mechanism, 410, 410 X, 410 Y servo motor, 412, 412 X, 412 Y encoder, 420 stage.
Claims (8)
- 対象物を移動させるための移動機構と、
撮像指示を受け付けたことに基づいて前記対象物を撮像し、撮像により得られた画像から前記対象物の実位置を計測するための視覚センサと、
前記実位置から所定の到達目標位置に前記対象物を移動させるための、前記移動機構の必要移動距離を算出するための算出部と、
前記必要移動距離と時刻とを少なくとも説明変数とし、前記移動機構の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するための位置決定部と、
前記位置決定部によって決定される目標位置に前記移動機構を移動させるための移動制御部とを備える、制御システム。 A moving mechanism for moving the object;
A visual sensor for imaging the object based on receiving an imaging instruction and measuring the actual position of the object from an image obtained by imaging;
A calculating unit for calculating a necessary moving distance of the moving mechanism for moving the object from the actual position to a predetermined target position;
Based on a target trajectory represented by a multi-order function having at least the necessary moving distance and time as explanatory variables and the target position of the moving mechanism as an objective variable, from the interval at which the imaging instruction is output to the visual sensor A position determining unit for determining a target position corresponding to the current time for each short predetermined control cycle;
A control system comprising: a movement control unit for moving the movement mechanism to a target position determined by the position determination unit. - 前記多次関数は、5次以上の関数である、請求項1に記載の制御システム。 The control system according to claim 1, wherein the multi-order function is a function of fifth order or higher.
- 前記位置決定部は、前記移動機構の加速度が予め定められた最大加速度を超えないように、前記目標軌道を生成する、請求項1に記載の制御システム。 The control system according to claim 1, wherein the position determination unit generates the target trajectory so that an acceleration of the moving mechanism does not exceed a predetermined maximum acceleration.
- 前記位置決定部は、前記視覚センサが前記対象物の実位置を計測する度に前記目標軌道を生成し、新たに生成された前記目標軌道で前回に生成された前記目標軌道を更新する、請求項1~3のいずれか1項に記載の制御システム。 The position determination unit generates the target trajectory each time the visual sensor measures the actual position of the object, and updates the target trajectory generated last time with the newly generated target trajectory. Item 4. The control system according to any one of Items 1 to 3.
- 前記位置決定部は、前記目標軌道の更新前後で、前記移動機構の速度が変化しないように新たな前記目標軌道を生成する、請求項4に記載の制御システム。 The control system according to claim 4, wherein the position determination unit generates a new target trajectory so that a speed of the moving mechanism does not change before and after the update of the target trajectory.
- 前記制御システムは、
前記制御周期ごとに前記移動機構の実位置を検出するための検出部と、
前記目標軌道の更新のタイミングにおいて前記検出部によって検出された実位置と、前記タイミングにおける前記移動機構の目標位置との位置偏差で、前記必要移動距離を補正するための補正部とをさらに備える、請求項5に記載の制御システム。 The control system includes:
A detection unit for detecting an actual position of the moving mechanism for each control cycle;
A correction unit for correcting the necessary movement distance with a positional deviation between the actual position detected by the detection unit at the timing of updating the target trajectory and the target position of the movement mechanism at the timing; The control system according to claim 5. - 対象物を移動させるための移動機構の制御方法であって、
撮像指示を視覚センサに出力し、前記対象物を撮像して得られた画像から前記対象物の実位置を前記視覚センサに計測させるステップと、
前記実位置から所定の到達目標位置に前記対象物を移動させるための、前記移動機構の必要移動距離を算出するステップと、
前記必要移動距離と時刻とを少なくとも説明変数とし、前記移動機構の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するステップと、
前記決定するステップで決定される目標位置に前記移動機構を移動させるステップとを備える、制御方法。 A method for controlling a moving mechanism for moving an object,
Outputting an imaging instruction to a visual sensor and causing the visual sensor to measure the actual position of the object from an image obtained by imaging the object;
Calculating a required moving distance of the moving mechanism for moving the object from the actual position to a predetermined target position;
Based on a target trajectory represented by a multi-order function having at least the necessary moving distance and time as explanatory variables and the target position of the moving mechanism as an objective variable, from the interval at which the imaging instruction is output to the visual sensor Determining a target position corresponding to the current time for each short predetermined control period;
And a step of moving the moving mechanism to the target position determined in the determining step. - 対象物を移動させるための移動機構の制御プログラムであって、
前記制御プログラムは、前記移動機構を制御するためのコントローラに、
撮像指示を視覚センサに出力し、前記対象物を撮像して得られた画像から前記対象物の実位置を前記視覚センサに計測させるステップと、
前記実位置から所定の到達目標位置に前記対象物を移動させるための、前記移動機構の必要移動距離を算出するステップと、
前記必要移動距離と時刻とを少なくとも説明変数とし、前記移動機構の目標位置を目的変数とする多次関数で表される目標軌道に基づいて、前記撮像指示が前記視覚センサに出力される間隔よりも短い予め定められた制御周期ごとに、現時刻に対応する目標位置を決定するステップと、
前記決定するステップで決定される目標位置に前記移動機構を移動させるステップとを実行させる、制御プログラム。 A control program for a moving mechanism for moving an object,
The control program is a controller for controlling the moving mechanism,
Outputting an imaging instruction to a visual sensor and causing the visual sensor to measure the actual position of the object from an image obtained by imaging the object;
Calculating a required moving distance of the moving mechanism for moving the object from the actual position to a predetermined target position;
Based on a target trajectory represented by a multi-order function having at least the necessary moving distance and time as explanatory variables and the target position of the moving mechanism as an objective variable, from the interval at which the imaging instruction is output to the visual sensor Determining a target position corresponding to the current time for each short predetermined control period;
And a step of moving the moving mechanism to the target position determined in the determining step.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020207026088A KR102683350B1 (en) | 2018-04-26 | 2019-03-29 | Control system, control method and computer readable storage medium |
CN201980018616.2A CN111886556B (en) | 2018-04-26 | 2019-03-29 | Control system, control method, and computer-readable storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-085121 | 2018-04-26 | ||
JP2018085121A JP6919622B2 (en) | 2018-04-26 | 2018-04-26 | Control systems, control methods, and control programs |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019208108A1 true WO2019208108A1 (en) | 2019-10-31 |
Family
ID=68295242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/014127 WO2019208108A1 (en) | 2018-04-26 | 2019-03-29 | Control system, control method and control program |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6919622B2 (en) |
KR (1) | KR102683350B1 (en) |
CN (1) | CN111886556B (en) |
WO (1) | WO2019208108A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020179507A1 (en) * | 2019-03-01 | 2020-09-10 | オムロン株式会社 | Control device and alignment device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024142578A1 (en) * | 2022-12-26 | 2024-07-04 | パナソニックIpマネジメント株式会社 | Positioning device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09244725A (en) * | 1996-03-05 | 1997-09-19 | Sony Corp | Method and device for track interpolation, and controller |
JPH1124718A (en) * | 1997-07-07 | 1999-01-29 | Toshiba Corp | Device and method for controlling robot |
JP2007257276A (en) * | 2006-03-23 | 2007-10-04 | Toyota Motor Corp | Traveling path preparation method, autonomous traveling object and autonomous traveling object control system |
JP2015213139A (en) * | 2014-05-07 | 2015-11-26 | 国立大学法人 東京大学 | Positioning device |
JP2017024134A (en) * | 2015-07-24 | 2017-02-02 | ファナック株式会社 | Workpiece positioning apparatus for positioning workpiece |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4086522A (en) * | 1976-09-08 | 1978-04-25 | Unimation, Inc. | Computer assisted teaching arrangement for conveyor line operation |
JP2007271796A (en) * | 2006-03-30 | 2007-10-18 | Fujifilm Corp | Exposure apparatus, and photolithographic method and apparatus |
CN103079746A (en) * | 2010-09-01 | 2013-05-01 | 三菱电机株式会社 | Laser processing apparatus and substrate position detecting method |
JP5418490B2 (en) * | 2010-12-27 | 2014-02-19 | 三菱電機株式会社 | POSITIONING CONTROL DEVICE AND POSITIONING DEVICE HAVING THE SAME |
JP6511715B2 (en) * | 2013-10-31 | 2019-05-15 | セイコーエプソン株式会社 | Robot control device, robot system, and robot |
JP6276024B2 (en) * | 2013-12-25 | 2018-02-07 | アレイ株式会社 | Imaging apparatus, and image processing apparatus and method |
US10272573B2 (en) * | 2015-12-18 | 2019-04-30 | Ge Global Sourcing Llc | Control system and method for applying force to grasp a brake lever |
CN107921639B (en) * | 2015-08-25 | 2021-09-21 | 川崎重工业株式会社 | Information sharing system and information sharing method between multiple robot systems |
-
2018
- 2018-04-26 JP JP2018085121A patent/JP6919622B2/en active Active
-
2019
- 2019-03-29 CN CN201980018616.2A patent/CN111886556B/en active Active
- 2019-03-29 KR KR1020207026088A patent/KR102683350B1/en active IP Right Grant
- 2019-03-29 WO PCT/JP2019/014127 patent/WO2019208108A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09244725A (en) * | 1996-03-05 | 1997-09-19 | Sony Corp | Method and device for track interpolation, and controller |
JPH1124718A (en) * | 1997-07-07 | 1999-01-29 | Toshiba Corp | Device and method for controlling robot |
JP2007257276A (en) * | 2006-03-23 | 2007-10-04 | Toyota Motor Corp | Traveling path preparation method, autonomous traveling object and autonomous traveling object control system |
JP2015213139A (en) * | 2014-05-07 | 2015-11-26 | 国立大学法人 東京大学 | Positioning device |
JP2017024134A (en) * | 2015-07-24 | 2017-02-02 | ファナック株式会社 | Workpiece positioning apparatus for positioning workpiece |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020179507A1 (en) * | 2019-03-01 | 2020-09-10 | オムロン株式会社 | Control device and alignment device |
US11999068B2 (en) | 2019-03-01 | 2024-06-04 | Omron Corporation | Control device and alignment device |
Also Published As
Publication number | Publication date |
---|---|
JP2019188549A (en) | 2019-10-31 |
KR20210004958A (en) | 2021-01-13 |
CN111886556B (en) | 2024-06-07 |
KR102683350B1 (en) | 2024-07-09 |
JP6919622B2 (en) | 2021-08-18 |
CN111886556A (en) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6167622B2 (en) | Control system and control method | |
CN110581945B (en) | Control system, control device, image processing device, and storage medium | |
CN110581946B (en) | Control system, control device, image processing device, and storage medium | |
WO2019208108A1 (en) | Control system, control method and control program | |
WO2020003945A1 (en) | Position determination system, control method, and program | |
CN111902785B (en) | Control system, control method, and computer-readable storage medium | |
CN110581944B (en) | Control system, control device, and storage medium | |
JP6922829B2 (en) | Control systems, control methods, and control programs | |
JP2019185654A (en) | Control system, control method and program | |
WO2024023975A1 (en) | Alignment system, alignment method, and program | |
JP7258259B1 (en) | Alignment system, alignment method and program | |
JP2024019166A (en) | Alignment system, alignment method and program | |
CN115265598A (en) | Method, device and system for calibrating an inertial measurement unit |
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: 19792706 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: 19792706 Country of ref document: EP Kind code of ref document: A1 |