KR20210004958A - Control system, control method and control program - Google Patents

Control system, control method and control program Download PDF

Info

Publication number
KR20210004958A
KR20210004958A KR1020207026088A KR20207026088A KR20210004958A KR 20210004958 A KR20210004958 A KR 20210004958A KR 1020207026088 A KR1020207026088 A KR 1020207026088A KR 20207026088 A KR20207026088 A KR 20207026088A KR 20210004958 A KR20210004958 A KR 20210004958A
Authority
KR
South Korea
Prior art keywords
target
moving
moving mechanism
time
control
Prior art date
Application number
KR1020207026088A
Other languages
Korean (ko)
Inventor
마사키 나미에
가츠유키 가와마타
Original Assignee
오므론 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오므론 가부시키가이샤 filed Critical 오므론 가부시키가이샤
Publication of KR20210004958A publication Critical patent/KR20210004958A/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction
    • G05D3/12Control of position or direction using feedback
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices

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

시각 센서(50)의 계측 위치에 기초하여 구동되는 이동 기구(400)를 보다 원활하게 구동하는 기술이 요구되고 있다. 제어 시스템(1)은, 대상물을 이동시키는 이동 기구(400)와, 제1 시간 간격마다 대상물을 촬상하여 얻어진 화상으로부터 대상물의 실제 위치를 순차 계측하는 시각 센서(50)와, 실제 위치에서 도달 목표 위치로 대상물을 이동시키기 위한 필요 이동 거리를 산출하는 산출부(250)와, 필요 이동 거리와 시각을 적어도 설명 변수로 하고, 이동 기구(400)의 목표 위치를 목적 변수로 하는 다차 함수로 나타나는 목표 궤도에 기초하여, 제1 시간 간격보다 짧은 제2 시간 간격마다, 현시각에 대응하는 목표 위치를 결정하는 위치 결정부(252)와, 그 목표 위치로 이동 기구(400)를 이동시키는 이동 제어부(254)를 구비한다.There is a demand for a technology to more smoothly drive the moving mechanism 400 driven based on the measurement position of the visual sensor 50. The control system 1 includes a moving mechanism 400 for moving an object, a visual sensor 50 for sequentially measuring the actual position of the object from an image obtained by imaging the object at each first time interval, and a target reaching the object at the actual position. A calculation unit 250 that calculates a required moving distance for moving an object to a position, and a target represented by a multi-order function with at least the required moving distance and time as explanatory variables and the target position of the moving mechanism 400 as a target variable Based on the trajectory, at every second time interval shorter than the first time interval, a positioning unit 252 that determines a target position corresponding to the current time, and a movement control unit that moves the movement mechanism 400 to the target position ( 254).

Figure P1020207026088
Figure P1020207026088

Description

제어 시스템, 제어 방법 및 제어 프로그램Control system, control method and control program

본 개시는, 시각 센서에 의해 계측된 가공물의 위치에 기초하여, 가공물의 위치 결정을 행하기 위한 기술에 관한 것이다.The present disclosure relates to a technique for determining the position of a workpiece based on the position of the workpiece measured by a visual sensor.

FA(Factory Automation)에 있어서, 대상물의 위치를 목표 위치에 맞추는 기술(위치 결정 기술)이 각종 실용화되어 있다. 이 때, 대상물의 위치와 목표 위치의 편차(거리)를 계측하는 방법으로서, 시각 센서에 의해 촬상된 화상을 이용하는 방법이 있다.In FA (Factory Automation), various technologies (positioning technology) for matching the position of an object to a target position have been put into practice. At this time, as a method of measuring the deviation (distance) between the position of the object and the target position, there is a method of using an image captured by a visual sensor.

일본공개특허 2017-24134호 공보(특허문헌 1)에는, 가동대와, 가동대를 이동시키는 이동 기구와, 가동대에 놓인 가공물을 반복하여 촬상하고, 그 가공물의 위치를 반복하여 검출하는 시각 센서를 구비하는 가공물 위치 결정 장치가 개시되어 있다. 가공물 위치 결정 장치는, 시각 센서에 의해 위치가 검출될 때마다 검출된 위치와 목표 위치의 차를 산출하여, 이 차가 허용 범위 내라고 판정되었을 때에, 가동대의 이동을 정지한다. 가공물 위치 결정 장치는, 가동대의 이동 정지 후에 시각 센서에 의해 검출된 위치와 목표 위치의 차를 산출하여, 산출된 차가 허용 범위 내인지 여부를 판정한다. 차가 허용 범위 밖이라고 판정되면, 그 차를 줄이는 가동대의 이동 방향이 결정되고, 결정된 이동 방향으로 가동대를 이동시키도록 이동 기구가 제어된다.Japanese Patent Application Laid-Open No. 2017-24134 (Patent Document 1) discloses a movable table, a moving mechanism that moves the movable table, and a visual sensor that repeatedly photographs a workpiece placed on the movable table, and repeatedly detects the position of the workpiece. An apparatus for positioning a workpiece is disclosed. The workpiece positioning device calculates a difference between the detected position and the target position each time a position is detected by the visual sensor, and stops the movement of the movable table when it is determined that the difference is within an allowable range. The workpiece positioning apparatus calculates a difference between a position detected by a visual sensor and a target position after stopping the movement of the movable table, and determines whether the calculated difference is within an allowable range. When it is determined that the vehicle is outside the allowable range, the moving direction of the movable table to reduce the difference is determined, and the moving mechanism is controlled to move the movable table in the determined movement direction.

특허문헌 1: 일본공개특허 2017-24134호 공보Patent Document 1: Japanese Laid-Open Patent No. 2017-24134

시각 센서에 의해 가공물의 실제 위치가 계측되는 간격은, 이동 기구에 지령값을 출력하는 간격보다 짧다. 그 때문에, 보다 원활하게 이동 기구를 구동하기 위해서는, 시각 센서가 가공물의 실제 위치를 계측하고 나서 다음으로 실제 위치를 계측하기까지의 동안에, 이동 기구에 출력하는 지령값을 어떠한 수단으로 보간할 필요가 있다.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, it is necessary to interpolate the command value output to the moving mechanism by some means while the visual sensor measures the actual position of the workpiece and then the next actual position. have.

본 개시는 상술한 바와 같은 문제점을 해결하기 위해 이루어진 것으로, 어떤 국면에서의 목적은, 시각 센서의 계측 위치에 기초하여 구동되는 이동 기구를 보다 원활하게 구동하는 것이 가능한 제어 시스템을 제공하는 것이다. 다른 국면에서의 목적은, 시각 센서의 계측 위치에 기초하여 구동되는 이동 기구를 보다 원활하게 구동하는 것이 가능한 제어 방법을 제공하는 것이다. 다른 국면에서의 목적은, 시각 센서의 계측 위치에 기초하여 구동되는 이동 기구를 보다 원활하게 구동하는 것이 가능한 제어 프로그램을 제공하는 것이다.The present disclosure has been made to solve the above-described problems, and an object in some aspects is to provide a control system capable of more smoothly driving a moving mechanism driven based on a measurement position of a visual sensor. An object in another aspect is to provide a control method capable of more smoothly driving 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 capable of more smoothly driving 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 includes a moving mechanism for moving the object, and a visual sensor for photographing the object based on receiving an imaging instruction, and measuring the actual position of the object from an image obtained by imaging. And, a calculation unit for moving the object from the actual position to a predetermined arrival target position and for calculating a required movement distance of the movement mechanism, and the movement mechanism having at least the required movement distance and time as explanatory variables. Position determination to determine a target position corresponding to the current time at each predetermined control period shorter than the interval in which the imaging instruction is output to the visual sensor, based on a target trajectory represented by a multi-order function using the target position of the target variable as a target variable And a movement control unit for moving the movement mechanism to a target position determined by the positioning unit.

이 개시에 의하면, 상기 제어 시스템은, 시각 센서가 대상물의 실제 위치를 계측하고 나서 다음으로 대상물의 실제 위치를 계측하기까지의 동안에, 이동 기구의 목표 위치를 보간할 수 있고, 이동 기구를 보다 원활하게 구동하는 것이 가능해진다.According to this disclosure, the control system can interpolate the target position of the moving mechanism, and make the moving mechanism more smooth from the time the visual sensor measures the actual position of the object until the next, the actual position of the object is measured. It becomes possible to drive it.

본 개시의 일례에서는, 상기 다차 함수는, 5차 이상의 함수이다.In an example of the present disclosure, the multi-order function is a function of order 5 or higher.

이 개시에 의하면, 상기 다차 함수가 5차 이상의 함수로 규정됨으로써, 이동 기구의 목표 위치가 보다 원활해진다.According to this disclosure, the target position of the moving mechanism becomes smoother by defining the multi-order function as a function of the fifth order or higher.

본 개시의 일례에서는, 상기 위치 결정부는, 상기 이동 기구의 가속도가 미리 정해진 최대 가속도를 초과하지 않도록, 상기 목표 궤도를 생성한다.In an example of the present disclosure, the positioning 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 sudden changes in the speed of the moving mechanism.

본 개시의 일례에서는, 상기 위치 결정부는, 상기 시각 센서가 상기 대상물의 실제 위치를 계측할 때마다 상기 목표 궤도를 생성하고, 새로 생성된 상기 목표 궤도로 전회에 생성된 상기 목표 궤도를 갱신한다.In an example of the present disclosure, the positioning unit generates the target trajectory each time the visual sensor measures the actual position of the object, and updates the target trajectory previously generated with the newly created 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 positioning unit generates a new target trajectory so that the speed of the moving mechanism does not change before and after the target trajectory is updated.

이 개시에 의하면, 목표 궤도를 갱신하는 과정에서, 이동 기구 상에서의 대상물의 미끄러짐이나, 이동 기구의 위치 결정 후에서의 잔류 진동이 억제되고, 결과적으로 대상물의 정렬 시간이 단축된다.According to this disclosure, in the process of updating the target trajectory, slipping of the object on the moving mechanism or residual vibration after positioning the moving mechanism is 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 every control period, an actual position detected by the detection unit at a timing of updating the target trajectory, and at the timing. Further, a correction unit for correcting the required movement distance with a positional deviation of the target position of the movement mechanism is further provided.

이 개시에 의하면, 목표 궤도를 갱신하는 과정에서, 이동 기구의 위치의 오차가 흡수되어, 이동 기구의 속도가 급변하는 것이 방지된다. 그 결과, 대상물의 미끄러짐이나, 이동 기구의 위치 결정 후에서의 잔류 진동이 억제되고, 결과적으로 대상물의 정렬 시간이 단축된다.According to this disclosure, in the process of updating the target trajectory, an error in the position of the moving mechanism is absorbed, and the speed of the moving mechanism is prevented from suddenly changing. As a result, slip of the object or residual vibration after positioning of the moving mechanism is suppressed, and as a result, the alignment time of the object is shortened.

본 개시의 다른 예에서는, 대상물을 이동시키기 위한 이동 기구의 제어 방법은, 촬상 지시를 시각 센서에 출력하고, 상기 대상물을 촬상하여 얻어진 화상으로부터 상기 대상물의 실제 위치를 상기 시각 센서에 계측시키는 단계와, 상기 실제 위치에서 소정의 도달 목표 위치로 상기 대상물을 이동시키기 위한, 상기 이동 기구의 필요 이동 거리를 산출하는 단계와, 상기 필요 이동 거리와 시각을 적어도 설명 변수로 하고, 상기 이동 기구의 목표 위치를 목적 변수로 하는 다차 함수로 나타나는 목표 궤도에 기초하여, 상기 촬상 지시가 상기 시각 센서에 출력되는 간격보다 짧은 미리 정해진 제어 주기마다, 현시각에 대응하는 목표 위치를 결정하는 단계와, 상기 결정하는 단계에서 결정되는 목표 위치로 상기 이동 기구를 이동시키는 단계를 구비한다.In another example of the present disclosure, a method of controlling a movement mechanism for moving an object includes the steps of outputting an imaging instruction to a visual sensor, and measuring an actual position of the object to the visual sensor 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 destination position, and using the required moving distance and time as at least explanatory variables, and the target position of the moving mechanism Determining a target position corresponding to the current time, based on a target trajectory represented by a multi-order function using as a target variable, at each predetermined control period shorter than an interval in which the imaging instruction is output to the visual sensor, and the determination And moving the moving mechanism to a target position determined in step.

이 개시에 의하면, 상기 제어 시스템은, 시각 센서가 대상물의 실제 위치를 계측하고 나서 다음으로 대상물의 실제 위치를 계측하기까지의 동안에, 이동 기구의 목표 위치를 보간할 수 있고, 이동 기구를 보다 원활하게 구동하는 것이 가능해진다.According to this disclosure, the control system can interpolate the target position of the moving mechanism, and make the moving mechanism more smooth from the time the visual sensor measures the actual position of the object until the next, the actual position of the object is measured. It becomes possible to drive it.

본 개시의 다른 예에서는, 대상물을 이동시키기 위한 이동 기구의 제어 프로그램은, 상기 이동 기구를 제어하기 위한 컨트롤러로 하여금, 촬상 지시를 시각 센서에 출력하고, 상기 대상물을 촬상하여 얻어진 화상으로부터 상기 대상물의 실제 위치를 상기 시각 센서에 계측시키는 단계와, 상기 실제 위치에서 소정의 도달 목표 위치로 상기 대상물을 이동시키기 위한, 상기 이동 기구의 필요 이동 거리를 산출하는 단계와, 상기 필요 이동 거리와 시각을 적어도 설명 변수로 하고, 상기 이동 기구의 목표 위치를 목적 변수로 하는 다차 함수로 나타나는 목표 궤도에 기초하여, 상기 촬상 지시가 상기 시각 센서에 출력되는 간격보다 짧은 미리 정해진 제어 주기마다, 현시각에 대응하는 목표 위치를 결정하는 단계와, 상기 결정하는 단계에서 결정되는 목표 위치로 상기 이동 기구를 이동시키는 단계를 실행시키게 한다.In another example of the present disclosure, a control program of a movement mechanism for moving an object causes a controller for controlling the movement mechanism to output an imaging instruction to a visual sensor, and the object is Measuring an actual position by the time sensor; calculating a required movement distance of the movement mechanism for moving the object from the actual position to a predetermined target position; and at least the required movement distance and time Based on a target trajectory represented by a multi-order function that is an explanatory variable and a target position of the moving mechanism as a target variable, the imaging instruction corresponds to the current time at each predetermined control period shorter than the interval output to the visual sensor. Determining a target position, 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, and make the moving mechanism more smooth from the time the visual sensor measures the actual position of the object until the next, the actual position of the object is measured. It becomes possible to drive it.

어떤 국면에서, 시각 센서의 계측 위치에 기초하여 구동되는 이동 기구를 보다 원활하게 구동할 수 있다.In some aspects, it is possible to more smoothly drive the moving mechanism that is driven based on the measured position of the visual sensor.

도 1은, 실시형태에 따른 제어 시스템의 개요를 나타내는 모식도이다.
도 2는, 목표 궤도의 일례를 나타내는 도면이다.
도 3은, 실시형태에 따른 제어 시스템의 장치 구성의 일례를 나타내는 도면이다.
도 4는, 실시형태에 따른 화상 처리 장치의 하드웨어 구성의 일례를 나타내는 모식도이다.
도 5는, 실시형태에 따른 컨트롤러의 하드웨어 구성을 나타내는 모식도이다.
도 6은, 도 1에 도시된 제어 시스템의 기능 구성을 더욱 구체화한 도면이다.
도 7은, 갱신 전의 목표 궤도와, 갱신 후의 목표 궤도를 나타내는 도면이다.
도 8은, 실시형태에 따른 컨트롤러가 실행하는 제어 처리의 일부를 나타내는 흐름도이다.
1 is a schematic diagram showing an outline of a control system according to an embodiment.
2 is a diagram showing an example of a target trajectory.
3 is a diagram illustrating an example of a device configuration of a control system according to an embodiment.
4 is a schematic diagram showing an example of a hardware configuration of an image processing apparatus according to an embodiment.
5 is a schematic diagram showing a hardware configuration of a controller according to an embodiment.
FIG. 6 is a diagram further concretely illustrating the functional configuration of the control system shown in FIG. 1.
Fig. 7 is a diagram showing a target trajectory before update and a target trajectory after update.
8 is a flowchart showing a part of control processing executed by the controller according to the embodiment.

이하, 도면을 참조하면서, 본 발명에 따른 각 실시형태에 대해 설명한다. 이하의 설명에서는, 동일한 부품 및 구성 요소에는 동일한 부호를 부여하고 있다. 이들의 명칭 및 기능도 동일하다. 따라서, 이들에 대한 상세한 설명은 반복하지 않는다.Hereinafter, each embodiment according to the present invention will be described with reference to the drawings. In the following description, the same reference numerals are assigned to the same parts and components. Their names and functions are the same. Therefore, detailed descriptions of these are not repeated.

<A. 적용예><A. Application example>

우선, 도 1을 참조하여, 본 발명이 적용되는 장면의 일례에 대해 설명한다. 도 1은, 본 실시형태에 따른 제어 시스템(1)의 개요를 나타내는 모식도이다.First, an example of a scene to which the present invention is applied will be described with reference to FIG. 1. 1 is a schematic diagram showing an outline of a control system 1 according to the present embodiment.

제어 시스템(1)은, 화상 처리를 이용하여 정렬을 행한다. 정렬은, 전형적으로는, 공업 제품의 제조 과정 등에서, 대상물(이하, 「가공물(W)」라고도 함)을 생산 라인의 본래의 위치에 배치하는 처리 등을 의미한다. 이러한 정렬의 일례로서, 제어 시스템(1)은, 액정 패널의 생산 라인에서, 유리 기판에 회로 패턴의 소부 처리(노광 처리) 전에, 노광 마스크에 대한 유리 기판의 위치 결정을 행한다.The control system 1 performs alignment using image processing. Alignment typically refers to a treatment or the like in which an object (hereinafter, also referred to as "processed object W") is placed in an original position on a production line in the manufacturing process of an industrial product or the like. As an example of such alignment, in the production line of a liquid crystal panel, the control system 1 determines the position of the glass substrate with respect to the exposure mask before the firing treatment (exposure treatment) of the circuit pattern on the glass substrate.

제어 시스템(1)은, 예를 들어, 시각 센서(50)와, 컨트롤러(200)와, 서보 드라이버(300)와, 이동 기구(400)를 포함한다. 이동 기구(400)는, 예를 들어, 서보 모터(410)와 스테이지(420)로 구성되어 있다.The control system 1 includes, for example, a time sensor 50, a controller 200, a servo driver 300, and a movement mechanism 400. The movement mechanism 400 is constituted by, 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 captures an image of an object W placed on the stage 420 by performing imaging processing of generating image data by imaging a subject existing in the imaging field. The visual sensor 50 performs imaging according to the imaging trigger TR from the controller 200. The visual sensor 50 captures an image of the workpiece W based on receiving the imaging trigger TR, and performs image analysis on the image data obtained by imaging to determine the actual position (PVv) of the workpiece W. Measure. The actual position PVv is output to the controller 200 each time it is measured.

컨트롤러(200)는, 예를 들어 PLC(Programmable Logic Controller)로서, 각종 FA 제어를 행한다. 컨트롤러(200)는, 기능 구성의 일례로서, 산출부(250)와, 위치 결정부(252)와, 이동 제어부(254)를 포함한다.The controller 200 is a PLC (Programmable Logic Controller), for example, and performs various FA control. The controller 200 includes a calculation unit 250, a positioning 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 determines the actual position (PVv) of the workpiece (W) based on the actual position (PVv) of the workpiece (W) detected by the visual sensor (50) and a predetermined target target position (SP). The required moving distance L of the moving mechanism 400 for moving to the target reaching position SP is calculated. The calculated required movement distance L is output to the positioning unit 252.

어떤 국면에서, 도달 목표 위치(SP)는, 시각 센서(50)가 소정의 화상 처리를 행함으로써 검출된다. 이 경우, 시각 센서(50)는, 미리 정해진 마크를 화상으로부터 검출하고, 그 마크를 도달 목표 위치(SP)로서 인식한다. 다른 국면에서, 도달 목표 위치(SP)는, 생산 공정마다 미리 정해져 있다.In a certain aspect, the arrival 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 an arrival target position SP. In another aspect, the destination target position SP is predetermined for each production process.

위치 결정부(252)는, 필요 이동 거리(L)와 시각(t)을 적어도 설명 변수로 하고, 이동 기구(400)의 목표 위치(SP(t))를 목적 변수로 하는 다차 함수로 나타나는 목표 궤도(TG)에 기초하여, 현시각(t)에서의 목표 위치(SP(t))를 결정한다.The positioning unit 252 sets the required moving distance L and the time t as at least explanatory variables, and a target represented by a multi-order function using the target position SP(t) of the moving mechanism 400 as a target variable. Based on the trajectory TG, the target position SP(t) at the present 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이다.2 is a diagram showing an example of a target trajectory TG. As shown in Fig. 2, the target trajectory TG defines the target position SP(t) of the movement mechanism 400 for each control period Ts. As shown in Fig. 2, the initial value of the target position SP(t) becomes the required moving distance L, and the final value of the target position SP(t) becomes zero. The target position SP(t) is output to the movement control unit 254 every control period Ts shorter than the imaging period Tb. As an example, the imaging period Tb varies depending on the imaging situation and the like, and is, for example, about 60 ms. The control period 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 a target position (SP(t)) corresponding to the current time (t) every control period (Ts), and A movement command (MV) is output to the servo driver 300. The movement command MV is, for example, any one of a command position, command speed, or command torque for the servo driver 300.

서보 드라이버(300)는, 제어 주기(Ts)마다 받는 이동 지령(MV)에 따라, 이동 기구(400)를 구동한다. 보다 구체적으로는, 서보 드라이버(300)는, 후술하는 인코더(412)(도 6 참조)에 의해 검출되는 인코더값(PVm)을 취득하여, 인코더값(PVm)으로부터 특정되는 스테이지(420)의 속도/위치가 목표값에 가까워지도록 이동 지령(MV)이 가까워지도록 서보 모터(410)를 피드백 제어한다. 인코더에 의해 검출된 인코더값(PVm)은, 제어 주기(Ts)와 동일한 주기로 컨트롤러(200)에 입력된다.The servo driver 300 drives the movement mechanism 400 in accordance with the movement command MV received every control period Ts. More specifically, the servo driver 300 acquires the encoder value PVm detected by the encoder 412 (see Fig. 6) described later, and the speed of the stage 420 specified from the encoder value PVm / The servo motor 410 is feedback-controlled so that the movement command (MV) approaches so that the position approaches the target value. The encoder value PVm detected by the encoder is input to the controller 200 at the same period as the control period 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 positioning unit 252 sets the required movement distance L and the time t as at least explanatory variables, and the target position SP(t) of the movement mechanism 400 A target position SP(t) corresponding to the present time t is determined based on the target trajectory TG represented by the multi-order function as the target variable. The target position SP(t) is output to the movement control unit 254 every control period Ts shorter than the imaging period Tb. Thereby, the time sensor 50 measures the actual position (PVv) of the workpiece (W), and then interpolates the movement command output to the movement mechanism (400) until the next actual position (PVv) is measured. It is possible, and it becomes possible to drive the moving mechanism 400 more smoothly.

<B. 제어 시스템(1)의 장치 구성><B. Device configuration of the control system (1)>

도 3은, 제어 시스템(1)의 장치 구성의 일례를 나타내는 도면이다. 도 3에 도시된 바와 같이, 제어 시스템(1)은, 시각 센서(50)와, 컨트롤러(200)와, 하나 이상의 서보 드라이버(300)(도 3의 예에서는, 서보 드라이버(300X, 300Y))와, 이동 기구(400)를 포함한다. 시각 센서(50)는, 화상 처리 장치(100)와, 하나 이상의 카메라(도 3의 예에서는, 카메라(102 및 104))를 포함한다.3 is a diagram illustrating an example of a device configuration of the control system 1. As shown in FIG. 3, the control system 1 includes a time sensor 50, a controller 200, and one or more servo drivers 300 (in the example of FIG. 3, servo drivers 300X and 300Y). Wow, it includes a moving mechanism 400. The visual sensor 50 includes an image processing apparatus 100 and one or more cameras (cameras 102 and 104 in the example of FIG. 3 ).

화상 처리 장치(100)는, 카메라(102, 104)가 가공물(W)를 촬영하여 얻어진 화상 데이터에 기초하여, 가공물(W)의 특징 부분(12)(예를 들어, 나사 구멍 등)을 검출한다. 화상 처리 장치(100)는, 검출한 특징 부분(12)의 위치를 가공물(W)의 실제 위치(PVv)로서 검출한다.The image processing apparatus 100 detects a feature part 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. do. The image processing apparatus 100 detects the position of the detected feature portion 12 as the actual position PVv of the processed object W.

컨트롤러(200)에는, 하나 이상의 서보 드라이버(300)(도 3의 예에서는, 서보 드라이버(300X, 300Y))가 접속되어 있다. 서보 드라이버(300X)는, 컨트롤러(200)로부터 받는 X방향의 이동 지령에 따라, 제어 대상의 서보 모터(410X)를 구동한다. 서보 드라이버(300Y)는, 컨트롤러(200)로부터 받는 Y방향의 이동 지령에 따라, 제어 대상의 서보 모터(410Y)를 구동한다.One or more servo drivers 300 (in the example of FIG. 3, servo drivers 300X and 300Y) are connected to the controller 200. The servo driver 300X drives the servo motor 410X to be controlled in accordance with a 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 Y-direction movement command received from the controller 200.

컨트롤러(200)는, X방향에 대해 생성된 목표 궤도(TGx)에 따라, 서보 드라이버(300X)에 대해 X방향의 목표 위치를 지령값으로서 부여한다. 또한, 컨트롤러(200)는, Y방향에 대해 생성된 목표 궤도(TGy)에 따라, 서보 드라이버(300Y)에 대해 Y방향의 목표 위치를 지령값으로서 부여한다. X, Y방향의 각각의 목표 위치가 순차 갱신됨으로써, 가공물(W)가 도달 목표 위치(SP)로 이동된다.The controller 200 gives the servo driver 300X a target position in the X direction as a command value according to the target trajectory TGx generated in the X direction. In addition, the controller 200 gives a target position in the Y direction to the servo driver 300Y as a command value according to the target trajectory TGy generated in the Y direction. Each target position in the X and Y directions is sequentially updated, so that the workpiece W is moved to the target target position SP.

컨트롤러(200) 및 서보 드라이버(300)는, 필드 네트워크를 통해 데이지 체인으로 접속되어 있다. 필드 네트워크에는, 예를 들어 EtherCAT(등록상표)이 채용된다. 단, 필드 네트워크는 EtherCAT에 한정되지 않고, 임의의 통신 수단이 채용될 수 있다. 일례로서, 컨트롤러(200) 및 서보 드라이버(300)는, 신호선으로 직접 접속되어도 된다. 또한, 컨트롤러(200) 및 서보 드라이버(300)는, 일체적으로 구성되어도 된다.The controller 200 and the servo driver 300 are connected in a daisy chain via a field network. For the field network, for example, EtherCAT (registered trademark) is employed. However, the field network is not limited to EtherCAT, and any communication means may be employed. As an example, the controller 200 and the servo driver 300 may be directly connected by a signal line. In addition, the controller 200 and the servo driver 300 may be configured integrally.

이동 기구(400)는, 베이스 플레이트(4, 7)와, 볼 나사(6, 9)와, 스테이지(420)와, 하나 이상의 서보 모터(410)(도 3의 예에서는, 서보 모터(410X, 410Y))로 구성되어 있다.The movement mechanism 400 includes the base plates 4 and 7, the ball screws 6 and 9, the stage 420, and one or more servo motors 410 (in the example of FIG. 3, the servo motor 410X, 410Y)).

베이스 플레이트(4)에는, 스테이지(420)를 X방향을 따라 이동시키는 볼 나사(6)가 배치되어 있다. 볼 나사(6)는, 스테이지(420)에 포함되는 너트와 걸어맞춤되어 있다. 볼 나사(6)의 일단에 연결된 서보 모터(410X)가 회전 구동함으로써, 스테이지(420)에 포함되는 너트와 볼 나사(6)가 상대 회전하고, 그 결과, 스테이지(420)가 X방향을 따라 이동한다.A ball screw 6 is disposed on the base plate 4 to move the stage 420 along the X direction. The ball screw 6 is engaged with a nut included in the stage 420. As the servo motor 410X connected to one end of the ball screw 6 is driven to rotate, the nut included in the stage 420 and the ball screw 6 rotate relative to each other, and as a result, the stage 420 is rotated along the X direction. Move.

베이스 플레이트(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 driven to rotate, the nut included in the base plate 4 and the ball screw 9 rotate relative to each other, and as a result, the stage 420 and the base plate ( 4) moves along the Y direction.

또, 도 3에는, 서보 모터(410X, 410Y)에 의한 2축 구동의 이동 기구(400)가 도시되어 있지만, 이동 기구(400)는, XY 평면상의 회전 방향(θ방향)으로 스테이지(420)를 구동하는 서보 모터가 더 조립되어도 된다.In addition, although FIG. 3 shows the movement mechanism 400 of the two-axis drive by the servo motors 410X and 410Y, the movement mechanism 400 is the stage 420 in the rotation direction (theta direction) on the XY plane. A servo motor for driving may be further assembled.

<C. 하드웨어 구성><C. Hardware configuration>

도 4 및 도 5를 참조하여, 시각 센서(50)를 구성하는 화상 처리 장치(100) 및 컨트롤러(200)의 하드웨어 구성에 대해 차례대로 설명한다.With reference to FIGS. 4 and 5, hardware configurations of the image processing apparatus 100 and the controller 200 constituting the visual sensor 50 will be described in order.

(C1. 화상 처리 장치(100)의 하드웨어 구성)(C1. Hardware configuration of the image processing apparatus 100)

도 4는, 시각 센서(50)를 구성하는 화상 처리 장치(100)의 하드웨어 구성의 일례를 나타내는 모식도이다. 도 4를 참조하여, 화상 처리 장치(100)는, 전형적으로는, 범용적인 컴퓨터 아키텍처에 따른 구조를 가지고 있고, 미리 설치된 프로그램을 프로세서가 실행함으로써, 후술하는 각종 화상 처리를 실현한다.4 is a schematic diagram showing an example of a hardware configuration of the image processing apparatus 100 constituting the visual sensor 50. Referring to Fig. 4, the image processing apparatus 100 typically has a structure according to a general-purpose computer architecture, and realizes various image processing to be described later by executing a program installed in advance by the processor.

보다 구체적으로는, 화상 처리 장치(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 central processing unit (CPU) or a micro-processing unit (MPU), a random access memory (RAM) 112, and a display controller 114. ), 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, and , A communication interface 128, and a memory card interface 130. Each of these units is connected to each other so that data communication is possible centering on the system controller 116.

프로세서(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 a target operation process.

시스템 컨트롤러(116)는, 프로세서(110), RAM(112), 표시 컨트롤러(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 through buses, respectively, and exchanges data with each unit, etc. In addition, it is in charge of processing the entire image processing apparatus 100.

RAM(112)은, 전형적으로는, 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), and a program read out from the hard disk 120 or a camera image (image) acquired by the cameras 102 and 104 Data), processing results for camera images, and artifact data.

표시 컨트롤러(114)는, 표시부(132)와 접속되어 있고, 시스템 컨트롤러(116)로부터의 내부 커맨드에 따라, 각종 정보를 표시하기 위한 신호를 표시부(132)에 출력한다.The display controller 114 is connected to the display unit 132 and outputs a signal for displaying various types of information to the display unit 132 in accordance with an internal command 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 between a recording medium connected to the image processing apparatus 100 or an external device. More specifically, the I/O controller 118 includes a hard disk 120, a camera interface 122, an input interface 124, a controller interface 126, a communication interface 128, and a memory. It is connected to the 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 set values and the like in addition to the control program 150 executed by the processor 110. The control program 150 installed in the hard disk 120 is distributed in a state stored in the memory card 136 or the like. Further, 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 is equivalent to an input unit that receives image data generated by photographing a processed object, 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 accumulating image data from cameras 102 and 104, respectively. For a plurality of cameras, a single image buffer that can be shared among the cameras may be provided, but in order to speed up the processing, it is preferable to independently arrange a plurality of cameras corresponding to each camera.

입력 인터페이스(124)는, 프로세서(110)와 키보드(134), 마우스, 터치 패널, 전용 콘솔 등의 입력 장치 사이의 데이터 전송을 중개한다.The input interface 124 mediates data transmission between the processor 110 and an input device 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 transfer between the processor 110 and another personal computer or server device (not shown). The communication interface 128 is typically made of Ethernet (registered trademark) or USB (Universal Serial Bus).

메모리 카드 인터페이스(130)는, 프로세서(110)와 기록 매체인 메모리 카드(136) 사이의 데이터 전송을 중개한다. 메모리 카드(136)에는, 화상 처리 장치(100)에서 실행되는 제어 프로그램(150) 등이 저장된 상태로 유통하고, 메모리 카드 인터페이스(130)는, 이 메모리 카드(136)로부터 제어 프로그램을 독출한다. 메모리 카드(136)는, SD(Secure Digital) 등의 범용적인 반도체 기억 디바이스나, 플렉서블 디스크(Flexible Disk) 등의 자기 기록 매체나, CD-ROM(Compact Disk Read Only Memory) 등의 광학 기록 매체 등으로 이루어진다. 혹은, 통신 인터페이스(128)를 통해, 분배 서버 등으로부터 다운로드한 프로그램을 화상 처리 장치(100)에 설치해도 된다.The memory card interface 130 mediates data transfer between the processor 110 and the memory card 136 as a recording medium. A control program 150 or the like executed by the image processing apparatus 100 is circulated in the memory card 136 in a stored state, 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). Consists of 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의 일부로서 제공되는 프로그램 모듈 중 필요한 모듈을 소정의 순서 및/또는 타이밍에 호출하여 처리를 실행하는 것이어도 된다.In the case of using a computer having a structure according to the general computer architecture as described above, in addition to the application for providing the functions according to the present embodiment, even if an OS (Operating System) for providing the basic functions of the computer is installed. do. In this case, the control program according to the present embodiment may call a necessary module among program modules provided as part of the OS in a predetermined order and/or timing to execute processing.

나아가 본 실시형태에 따른 제어 프로그램은, 다른 프로그램의 일부에 조립되어 제공되는 것이어도 된다. 그 경우에도, 프로그램 자체에는, 상기와 같은 조합되는 다른 프로그램에 포함되는 모듈을 포함하지 않고, 이러한 다른 프로그램과 협동하여 처리가 실행된다. 즉, 본 실시형태에 따른 제어 프로그램으로서는, 이러한 다른 프로그램에 조립된 형태이어도 된다.Furthermore, the control program according to the present embodiment may be provided by being assembled in a part of another program. Even in that case, the program itself does not include modules included in other programs to be combined as described above, and processes are executed in cooperation with such other programs. In other words, as the control program according to the present embodiment, it may be assembled in such other programs.

또, 대체적으로, 제어 프로그램의 실행에 의해 제공되는 기능의 일부 혹은 전부를 전용의 하드웨어 회로로서 실장해도 된다.Alternatively, a part or all of the functions provided by execution of the control program may be mounted as a dedicated hardware circuit.

(C2. 컨트롤러(200)의 하드웨어 구성)(C2. Hardware configuration of the controller 200)

도 5는, 컨트롤러(200)의 하드웨어 구성을 나타내는 모식도이다. 도 5를 참조하여, 컨트롤러(200)는, 주제어 유닛(210)을 포함한다. 도 5에는, 3축의 서보 모터(410X, 410Y, 410θ)가 도시되어 있고, 이 축수에 따른 수의 서보 드라이버(300X, 300Y, 300θ)가 설치된다.5 is a schematic diagram showing the hardware configuration of the controller 200. Referring to FIG. 5, the controller 200 includes a main control unit 210. In Fig. 5, three-axis servo motors 410X, 410Y, and 410θ are shown, and a number of servo drivers 300X, 300Y, and 300θ corresponding to the number of axes are provided.

주제어 유닛(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, and It includes a communication interface 228, an internal bus controller 230, and a field bus controller 238. Between the chip set 212 and other components, each is coupled through various buses.

프로세서(214) 및 칩 세트(212)는, 전형적으로는, 범용적인 컴퓨터 아키텍처에 따른 구성을 가지고 있다. 즉, 프로세서(214)는, 칩 세트(212)로부터 내부 클록에 따라 순차 공급되는 명령 코드를 해석하여 실행한다. 칩 세트(212)는, 접속되어 있는 각종 컴포넌트와의 사이에서 내부적인 데이터를 교환함과 아울러, 프로세서(214)에 필요한 명령 코드를 생성한다. 시스템 클록(220)은, 미리 정해진 주기의 시스템 클록을 발생하여 프로세서(214)에 제공한다. 칩 세트(212)는, 프로세서(214)에서의 연산 처리의 실행 결과 얻어진 데이터 등을 캐시하는 기능을 가진다.Processor 214 and chip set 212 typically have a configuration according to a general-purpose computer architecture. That is, the processor 214 analyzes and executes 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 required for the processor 214. The system clock 220 generates a system clock of a predetermined period and provides it to the processor 214. The chip set 212 has a function of caching data and the like obtained as a result of execution of an operation process in 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 nonvolatilely holds an OS, a system program, a user program, data definition information, log information, and the like. The main memory 218 is a volatile storage area and holds various programs to be executed by the processor 214, and is also used as a work memory for executing various programs.

주제어 유닛(210)은, 통신 수단으로서, 통신 인터페이스(228)와, 내부 버스 컨트롤러(230)와, 필드 버스 컨트롤러(238)를 가진다. 이들 통신 회로는, 데이터의 송신 및 수신을 행한다.The main control unit 210 has 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)와의 사이에서 데이터를 교환한다.The communication interface 228 exchanges data with the image processing device 100.

내부 버스 컨트롤러(230)는, 내부 버스(226)를 통한 데이터의 교환을 제어한다. 보다 구체적으로는, 내부 버스 컨트롤러(230)는, 버퍼 메모리(236)와, DMA(Dynamic Memory Access) 제어 회로(232)와, 내부 버스 제어 회로(234)를 포함한다.The internal bus controller 230 controls the exchange of data through the internal bus 226. More specifically, the internal bus controller 230 includes a buffer memory 236, a dynamic memory access (DMA) control circuit 232, and an internal bus control circuit 234.

메모리 카드 인터페이스(222)는, 주제어 유닛(210)에 대해 착탈 가능한 메모리 카드(224)와 프로세서(214)를 접속한다.The memory card interface 222 connects the memory card 224 and the processor 214 detachable to the main control unit 210.

필드 버스 컨트롤러(238)는, 필드 네트워크에 접속하기 위한 통신 인터페이스이다. 컨트롤러(200)는, 필드 버스 컨트롤러(238)를 통해 서보 드라이버(300)(예를 들어, 서보 드라이버(300X, 300Y, 300θ))와 접속된다. 이러한 필드 네트워크에는, 예를 들어 EtherCAT(등록상표), EtherNet/IP(등록상표), CompoNet(등록상표) 등이 채용된다.The field bus controller 238 is a communication interface for connecting to a field network. The controller 200 is connected to the servo driver 300 (eg, servo drivers 300X, 300Y, 300θ) through the field bus controller 238. For such a field network, EtherCAT (registered trademark), EtherNet/IP (registered trademark), CompoNet (registered trademark), and the like are employed, for example.

<D. 목표 궤도(TG)의 갱신 처리><D. Target trajectory (TG) update processing>

상술한 위치 결정부(252)(도 1 참조)는, 시각 센서(50)의 촬상 주기(Tb)마다 목표 궤도(TG)를 생성한다. 이 때, 위치 결정부(252)는, 새로 생성된 목표 궤도(TG)로 전회에 생성된 목표 궤도(TG)를 갱신한다. 즉, 목표 궤도(TG)는, 시각 센서(50)에 의해 가공물(W)의 실제 위치가 계측될 때마다 갱신된다. 이에 의해, 목표 궤도(TG)의 오차는, 시각 센서(50)의 촬상 주기(Tb)마다 수정된다.The above-described positioning unit 252 (refer to FIG. 1) generates a target trajectory TG for every imaging period Tb of the visual sensor 50. At this time, the positioning unit 252 updates the target trajectory TG generated previously with the newly generated target trajectory TG. That is, the target trajectory TG is updated each time the actual position of the workpiece W is measured by the time sensor 50. Thereby, the error of the target trajectory TG is corrected for each imaging period Tb of the visual sensor 50.

전형적으로는, 위치 결정부(252)는, 목표 궤도(TG)의 갱신 전후에, 이동 기구(400)의 속도가 변화하지 않도록 새로운 목표 궤도(TG)를 생성한다. 이하에서는, 도 6 및 도 7을 참조하여, 목표 궤도(TG)의 갱신 처리에 대해 설명한다.Typically, the positioning unit 252 generates a new target trajectory TG so that the speed of the moving mechanism 400 does not change before and after the target trajectory TG is updated. Hereinafter, the update process of the target trajectory TG will be described with reference to FIGS. 6 and 7.

도 6은, 도 1에 도시된 제어 시스템(1)의 기능 구성을 더욱 구체화한 도면이다. 도 6에 도시된 바와 같이, 컨트롤러(200)는, 산출부(250)와, 보정부(251X, 251Y)와, 위치 결정부(252X, 252Y)와, 이동 제어부(254X, 254Y)를 포함한다.6 is a diagram further concretely illustrating the functional configuration of the control system 1 shown in FIG. 1. As shown in Fig. 6, the controller 200 includes a calculation unit 250, a correction unit 251X, 251Y, a positioning unit 252X, 252Y, and a movement control unit 254X, 254Y. .

보정부(251X), 위치 결정부(252X) 및 이동 제어부(254X)는, X축 방향의 구동 제어를 행하는 서보 드라이버(300X)를 위한 기능 구성이다. 보정부(251Y), 위치 결정부(252Y) 및 이동 제어부(254Y)는, Y축 방향의 구동 제어를 행하는 서보 드라이버(300Y)를 위한 기능 구성이다. 그 밖의 점에 관해서는, 보정부(251X, 251Y)의 기능은 동일하고, 위치 결정부(252X, 252Y)의 기능은 동일하며, 이동 제어부(254X, 254Y)의 기능은 동일하다.The correction unit 251X, the positioning 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 positioning 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. In other respects, the functions of the correction units 251X and 251Y are the same, the functions of the positioning 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 determines the actual position (PVv) of the workpiece (W) based on the actual position (PVv) of the workpiece (W) detected by the visual sensor (50) and a predetermined target target position (SP). The required moving distance L of the moving mechanism 400 for moving to the target reaching position SP is calculated. After that, the calculation unit 250 decomposes the necessary movement distance L of the movement mechanism 400 into a necessary movement distance Lx in the X-axis direction and a necessary movement distance Ly in the Y-axis direction, and The distance Lx is output to the correction unit 251X, and the required 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 correction unit 251X specifies the actual position of the movement mechanism 400 based on the encoder value PVm from the encoder 412X (detection unit) for detecting the actual position of the movement 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 a 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 an encoder value PVm. The encoder value PVm is input to the controller 200 to the correction unit 251 for each control period Ts. The correction 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 positional 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 required movement distance Lx with the positional deviation En(t), and outputs the corrected required movement distance Lm to the positioning unit 252X. Like the correction unit 251X, the correction unit 251Y outputs the required movement distance Lm in the Y direction to the positioning unit 252Y based on the encoder value PVm from the encoder 412Y. .

위치 결정부(252X)는, 시각 센서(50)의 촬상 주기(Tb)가 도래한 것에 기초하여, 필요 이동 거리(Lm)로부터 목표 궤도(TG)를 생성한다. 도 7은, 갱신 전의 목표 궤도(TG1)와, 갱신 후의 목표 궤도(TG2)를 나타내는 도면이다.The positioning unit 252X generates a target trajectory TG from the required movement distance Lm based on the arrival of the imaging period Tb of the time sensor 50. 7 is a diagram showing a target trajectory TG1 before updating and a target trajectory TG2 after updating.

도 7에 도시된 바와 같이, 시각(t5)에서, 시각 센서(50)에 의해 가공물(W)의 실제 위치(PVv)가 계측되어, 목표 궤도가 갱신되는 것으로 한다. 보정부(251X)는, 목표 궤도의 갱신의 타이밍에서 검출된 이동 기구(400)의 실제 위치와, 그 타이밍에서의 이동 기구(400)의 목표 위치의 위치 편차(En(t))로, 필요 이동 거리(L)를 보정한다. 도 7의 예에서는, 필요 이동 거리(L)에 위치 편차(En(t5))를 가산함으로써, 필요 이동 거리(L)가 필요 이동 거리(Lm)로 보정되어 있다. 그 후, 위치 결정부(252X)는, 보정 후의 필요 이동 거리(Lm)에 기초하여, 새로운 목표 궤도(TG2)를 생성한다.As shown in Fig. 7, it is assumed that at time t5, the actual position PVv of the workpiece W is measured by the time sensor 50, and the target trajectory is updated. The correction unit 251X is a positional deviation (En(t)) between the actual position of the moving mechanism 400 detected at the timing of the update of the target trajectory and the target position of the moving mechanism 400 at that timing. Correct the moving distance (L). In the example of FIG. 7, by adding the positional deviation En(t5) to the required moving distance L, the required moving distance L is corrected to the required moving distance Lm. After that, the positioning unit 252X generates a new target trajectory TG2 based on the required movement 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, an error in the position of the moving mechanism 400 is absorbed, and a sudden change in the speed of the moving mechanism 400 is prevented. As a result, slip of the workpiece W on the moving mechanism 400 and residual vibration after positioning 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 positioning unit 252X determines a target position (SP(t)) corresponding to the current time t, based on the updated target trajectory TG2, and controls this target position (SP(t)). It outputs to the movement control part 254X every period Ts. 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 will not be repeated.

<E. 컨트롤러(200)의 제어 구조><E. Control structure of the controller 200>

도 8을 참조하여, 컨트롤러(200)의 제어 구조에 대해 설명한다. 도 8은, 컨트롤러(200)가 실행하는 제어 처리의 일부를 나타내는 흐름도이다. 도 8에 도시된 처리는, 컨트롤러(200)의 프로세서(214)가 프로그램을 실행함으로써 실현된다. 다른 국면에서, 처리의 일부 또는 전부가, 회로 소자 또는 그 밖의 하드웨어에 의해 실행되어도 된다.With reference to FIG. 8, the control structure of the controller 200 will be described. 8 is a flowchart showing a part of the control process executed by the controller 200. The processing shown in Fig. 8 is realized by the processor 214 of the controller 200 executing a program. In another aspect, some or all of the processing may be performed by circuit elements or other hardware.

도 8에 도시된 처리는, 어떤 축방향에 대한 제어 흐름을 나타낸다. 즉, 실제로는, 도 8에 도시된 단계 S130, S150 이외의 처리는, 축방향만큼 병렬로 실행된다.The processing shown in Fig. 8 shows the 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 S130, the processor 214 determines whether information indicating that the position measurement of the workpiece W has been completed has been received from the time sensor 50. When the processor 214 determines that information indicating that the position measurement of the workpiece W has been completed has been received from the time sensor 50 (YES in step S130), the control switches to step S131. Otherwise (NO in step S130), the 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, as the above-described calculation unit 250 (refer to FIG. 1), the actual position (PVv) of the workpiece W detected by the visual sensor 50, and a predetermined target destination position. Based on (SP), the required moving distance L of the moving mechanism 400 for moving the workpiece W from the actual position PVv to the reaching target position SP is calculated.

단계 S132에서, 프로세서(214)는, 상술한 보정부(251)(도 6 참조)로서, 계측 시각(t)에서의 위치 편차(En(t))를 필요 이동 거리(L)에 가산하여, 필요 이동 거리(L)를 필요 이동 거리(Lm)로 보정한다. 필요 이동 거리(L)의 보정 방법에 대해서는 도 7에서 설명한 바와 같으므로, 그 설명에 대해서는 반복하지 않는다.In step S132, the processor 214, as the above-described correction unit 251 (see Fig. 6), adds the positional deviation En(t) at the measurement time t to the required movement distance L, The required moving distance L is corrected to the required moving distance Lm. Since the correction method of the required movement distance L is as described in FIG. 7, the explanation is not repeated.

단계 S134에서, 프로세서(214)는, 계측 시각(t)을 제로로 초기화한다.In step S134, the processor 214 initializes the measurement time t to zero.

단계 S136에서, 프로세서(214)는, 궤도 시간(T)을 산출한다. 궤도 시간(T)은, 목표 궤도(TG)의 개시점으로부터 종료점까지 이동 기구(400)를 이동하기 위해 필요로 하는 시간을 나타낸다. 일례로서, 궤도 시간(T)은, 하기 식(1)에 기초하여 산출된다.In step S136, the processor 214 calculates the trajectory time T. The trajectory time T represents the time required to move the movement 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 equation (1).

T=max{f(Amax), Tmin} …(1)T=max{f(A max ), T min }… (One)

상기 식(1)에 나타나는 「Amax」는, 최대 가속도를 나타낸다. 「f()」는, 최대 가속도(Amax)로 필요 이동 거리(L)를 이동 기구(400)로 이동시킨 경우에 걸리는 궤도 시간(T)을 구하기 위한 함수이다. 「Tmin」은, 소정의 최소 궤도 시간이다. 「max(α, β)」는, 수치 α, β 중에서 최대값을 취득하기 위한 함수이다."A max " shown in the above formula (1) represents the maximum acceleration. "F()" is a function for obtaining the trajectory time T taken when the required movement distance L is moved by the movement mechanism 400 at the maximum acceleration A max . "T min " is a predetermined minimum trajectory time. "Max(α, β)" is a function for obtaining the maximum value among numerical values α and β.

상기 식(1)에 의해, 궤도 시간(T)은, 최소 궤도 시간(Tmin) 미만이 되지 않도록 정해진다. 최소 궤도 시간(Tmin)이 설정되지 않으면, 필요 이동 거리(L)가 매우 짧은 경우에, 이동 기구(400)가 목표 위치에 바로 도달해 버리므로, 다음 촬상 타이밍까지의 시간을 낭비하게 된다. 그러나, 최소 궤도 시간(Tmin)이 설정됨으로써, 필요 이동 거리(L)가 매우 짧은 경우에, 이동 기구(400)는 최대 가속도보다 낮은 가속도로 이동하게 되고, 이동 기구(400)는 원활하게 이동할 수 있다. 일례로서, 궤도 시간(Tmin)은, 평균 촬상 간격에 대해 일정한 비율(예를 들어, 50%)을 곱함으로써 산출된다.According to the above equation (1), the trajectory time T is determined not to be less than the minimum trajectory time T min . If the minimum trajectory time T min is not set, when the required moving distance L is very short, the moving mechanism 400 immediately reaches the target position, thereby wasting time until the next imaging timing. However, by setting the minimum trajectory time (T min ), when the required moving distance L is very short, the moving mechanism 400 moves with an acceleration lower than the maximum acceleration, and the moving mechanism 400 moves smoothly. I can. As an example, the trajectory time (T min ) is calculated by multiplying the average imaging interval by a certain ratio (eg, 50%).

단계 S138에서, 프로세서(214)는, 상술한 위치 결정부(252)(도 1 참조)로서, 단계 S132에서 얻어진 보정 후의 필요 이동 거리(Lm)와, 단계 S136에서 산출된 궤도 시간(T)에 기초하여, 현시각(t)에 대응하는 목표 위치(SP(t))를 산출한다. 일례로서, 목표 위치(SP(t))는, 하기 식(2)에 기초하여 산출된다.In step S138, the processor 214, as the above-described positioning unit 252 (refer to Fig. 1), calculates the required movement distance Lm after correction obtained in step S132 and the trajectory time T calculated in step S136. Based on this, the target position SP(t) corresponding to the present 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)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))를 목적 변수로 하는 다차 함수로 나타난다.The right side of the equation (2) represents the target trajectory TG of the movement mechanism 400. As shown in equation (2), the target trajectory TG uses at least the required travel distance Lm and the time t as explanatory variables, and the target position SP(t) of the moving mechanism 400 is the objective. It appears as a multiorder function with a variable.

또, 식(2)에서는, 목표 궤도(TG)가 시각(t)의 5차 함수로 나타나 있지만, 목표 궤도(TG)의 차수는, 6차 이상의 다차 함수로 나타나도 된다. 또한, 목표 궤도(TG)는, 스플라인 보간 함수로 나타나도 된다.Further, in Expression (2), the target trajectory TG is expressed as a 5th order function of the time t, but the order of the target trajectory TG may be expressed as a multiorder function of 6th or higher order. In addition, 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) represented by the above equation (2) is calculated by the following equations (3) to (5).

f(Amax)=C1*Lm/Amax …(3)f(A max )=C 1 *Lm/A max … (3)

C1=60C2(2C2 2-3C2+1) …(4)C 1 =60C 2 (2C 2 2 -3C 2 +1) ... (4)

C2=0.5-31/ 2/6 …(5)C 2 =0.5-3 1/ 2 /6… (5)

단계 S140에서, 프로세서(214)는, 상술한 이동 제어부(254)(도 1 참조)로서, 단계 S138에서 얻어진 목표 위치(SP(t))로 이동 기구(400)를 이동시키기 위한 이동 지령(MV)을 생성하고, 그 이동 지령(MV)을 서보 드라이버(300)에 출력한다.In step S140, the processor 214 is a movement command (MV) for moving the movement mechanism 400 to the target position (SP(t)) obtained in step S138 as the above-described movement control unit 254 (see Fig. 1). ) And outputs the movement command (MV) to the servo driver 300.

단계 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 the update processing of the target trajectory TG is finished. As an example, the processor 214 ends the processing shown in Fig. 8 on the basis of receiving an instruction to stop the update processing of the target trajectory TG. When the processor 214 determines that the update process of the target trajectory TG is to be finished (YES in step S150), the process shown in Fig. 8 is terminated. Otherwise (NO in step S150), the processor 214 returns control to step S130.

또, 상술에서는, 제어 주기(Ts)마다 목표 위치(SP(t))가 산출되는 예에 대해 설명을 하였지만, 프로세서(214)는, 이동 기구(400)가 최종적인 목표 도달 위치(SP)에 도달하기까지의 동안에서의 각 시각의 목표 위치(SP(t))를 일괄하여 산출해도 된다.In addition, in the above, an example in which the target position SP(t) is calculated for each control period Ts has been described, but the processor 214 has the movement mechanism 400 at the final target arrival position SP. You may collectively calculate the target position SP(t) at each time until it reaches.

<F. 부기><F. Bookkeeping>

이상과 같이, 본 실시형태는 이하와 같은 개시를 포함한다.As described above, this embodiment includes the following disclosure.

[구성 1][Configuration 1]

대상물을 이동시키기 위한 이동 기구(400)와,A moving mechanism 400 for moving the object,

촬상 지시를 접수한 것에 기초하여 상기 대상물을 촬상하고, 촬상에 의해 얻어진 화상으로부터 상기 대상물의 실제 위치를 계측하기 위한 시각 센서(50)와,A visual sensor 50 for photographing the object based on receiving an imaging instruction, and measuring an actual position of the object from an image obtained by imaging;

상기 실제 위치에서 소정의 도달 목표 위치로 상기 대상물을 이동시키기 위한, 상기 이동 기구(400)의 필요 이동 거리를 산출하기 위한 산출부(250)와,A calculation unit 250 for calculating a required moving distance of the moving mechanism 400 for moving the object from the actual position to a predetermined destination position;

상기 필요 이동 거리와 시각을 적어도 설명 변수로 하고, 상기 이동 기구(400)의 목표 위치를 목적 변수로 하는 다차 함수로 나타나는 목표 궤도에 기초하여, 상기 촬상 지시가 상기 시각 센서에 출력되는 간격보다 짧은 미리 정해진 제어 주기마다, 현시각에 대응하는 목표 위치를 결정하기 위한 위치 결정부(252)와,Based on a target trajectory represented by a multi-order function using at least the required travel distance and time as explanatory variables and the target position of the moving mechanism 400 as a target variable, the imaging instruction is shorter than the interval output to the time sensor. A positioning unit 252 for determining a target position corresponding to the current time at each predetermined control period,

상기 위치 결정부(252)에 의해 결정되는 목표 위치로 상기 이동 기구(400)를 이동시키기 위한 이동 제어부를 구비하는, 제어 시스템.And a movement control unit for moving the movement mechanism 400 to a target position determined by the positioning unit 252.

[구성 2][Configuration 2]

상기 다차 함수는, 5차 이상의 함수인, 구성 1에 기재된 제어 시스템.The control system according to Configuration 1, wherein the multi-order function is a function of 5 or more orders.

[구성 3][Configuration 3]

상기 위치 결정부(252)는, 상기 이동 기구(400)의 가속도가 미리 정해진 최대 가속도를 초과하지 않도록, 상기 목표 궤도를 생성하는, 구성 1에 기재된 제어 시스템.The control system according to the configuration 1, wherein the positioning unit 252 generates the target trajectory so that the acceleration of the moving mechanism 400 does not exceed a predetermined maximum acceleration.

[구성 4][Configuration 4]

상기 위치 결정부(252)는, 상기 시각 센서(50)가 상기 대상물의 실제 위치를 계측할 때마다 상기 목표 궤도를 생성하고, 새로 생성된 상기 목표 궤도로 전회에 생성된 상기 목표 궤도를 갱신하는, 구성 1~3 중 어느 하나에 기재된 제어 시스템.The positioning unit 252 generates the target trajectory each time the visual sensor 50 measures the actual position of the object, and updates the target trajectory previously generated with the newly created target trajectory. , The control system according to any one of configurations 1 to 3.

[구성 5][Configuration 5]

상기 위치 결정부(252)는, 상기 목표 궤도의 갱신 전후에, 상기 이동 기구(400)의 속도가 변화하지 않도록 새로운 상기 목표 궤도를 생성하는, 구성 4에 기재된 제어 시스템.The control system according to Configuration 4, wherein the positioning unit 252 generates a new target trajectory so that the speed of the moving mechanism 400 does not change before and after the target trajectory is updated.

[구성 6][Configuration 6]

상기 제어 시스템은,The control system,

상기 제어 주기마다 상기 이동 기구(400)의 실제 위치를 검출하기 위한 검출부(412)와,A detection unit 412 for detecting the actual position of the moving mechanism 400 at each control period,

상기 목표 궤도의 갱신의 타이밍에서 상기 검출부에 의해 검출된 실제 위치와, 상기 타이밍에서의 상기 이동 기구의 목표 위치의 위치 편차로, 상기 필요 이동 거리를 보정하기 위한 보정부를 더 구비하는, 구성 5에 기재된 제어 시스템.In the configuration 5, further comprising a correction unit for correcting the required movement distance with a positional difference between the actual position detected by the detection unit at the timing of the update of the target trajectory and the target position of the movement mechanism at the timing. Described control system.

[구성 7][Configuration 7]

대상물을 이동시키기 위한 이동 기구(400)의 제어 방법으로서,As a control method of the moving mechanism 400 for moving an object,

촬상 지시를 시각 센서에 출력하고, 상기 대상물을 촬상하여 얻어진 화상으로부터 상기 대상물의 실제 위치를 상기 시각 센서에 계측시키는 단계와,Outputting an imaging instruction to a visual sensor, and measuring an actual position of the object to the visual sensor from an image obtained by imaging the object;

상기 실제 위치에서 소정의 도달 목표 위치로 상기 대상물을 이동시키기 위한, 상기 이동 기구(400)의 필요 이동 거리를 산출하는 단계와,Calculating a required moving distance of the moving mechanism 400 for moving the object from the actual position to a predetermined destination position; and

상기 필요 이동 거리와 시각을 적어도 설명 변수로 하고, 상기 이동 기구(400)의 목표 위치를 목적 변수로 하는 다차 함수로 나타나는 목표 궤도에 기초하여, 상기 촬상 지시가 상기 시각 센서에 출력되는 간격보다 짧은 미리 정해진 제어 주기마다, 현시각에 대응하는 목표 위치를 결정하는 단계와,Based on a target trajectory represented by a multi-order function using at least the required travel distance and time as explanatory variables and the target position of the moving mechanism 400 as a target variable, the imaging instruction is shorter than the interval output to the time sensor. Determining a target position corresponding to the present time at each predetermined control period, and

상기 결정하는 단계에서 결정되는 목표 위치로 상기 이동 기구(400)를 이동시키는 단계를 구비하는, 제어 방법.And moving the movement mechanism 400 to a target position determined in the determining step.

[구성 8][Configuration 8]

대상물을 이동시키기 위한 이동 기구(400)의 제어 프로그램으로서,As a control program of the moving mechanism 400 for moving the object,

상기 제어 프로그램은, 상기 이동 기구(400)를 제어하기 위한 컨트롤러(200)로 하여금,The control program causes the controller 200 to control the moving mechanism 400,

촬상 지시를 시각 센서에 출력하고, 상기 대상물을 촬상하여 얻어진 화상으로부터 상기 대상물의 실제 위치를 상기 시각 센서에 계측시키는 단계와, Outputting an imaging instruction to a visual sensor, and measuring an actual position of the object to the visual sensor from an image obtained by imaging the object;

상기 실제 위치에서 소정의 도달 목표 위치로 상기 대상물을 이동시키기 위한, 상기 이동 기구(400)의 필요 이동 거리를 산출하는 단계(S131)와, Calculating a required moving distance of the moving mechanism 400 for moving the object from the actual position to a predetermined destination position (S131), and

상기 필요 이동 거리와 시각을 적어도 설명 변수로 하고, 상기 이동 기구(400)의 목표 위치를 목적 변수로 하는 다차 함수로 나타나는 목표 궤도에 기초하여, 상기 촬상 지시가 상기 시각 센서에 출력되는 간격보다 짧은 미리 정해진 제어 주기마다, 현시각에 대응하는 목표 위치를 결정하는 단계와, Based on a target trajectory represented by a multi-order function using at least the required travel distance and time as explanatory variables and the target position of the moving mechanism 400 as a target variable, the imaging instruction is shorter than the interval output to the time sensor. Determining a target position corresponding to the present time at each predetermined control period, and

상기 결정하는 단계에서 결정되는 목표 위치로 상기 이동 기구(400)를 이동시키는 단계(S140)를 실행시키게 하는, 제어 프로그램. A control program that causes the step (S140) of moving the moving mechanism 400 to a target position determined in the determining step to be executed.

여기에 개시된 실시형태는 모든 점에서 예시로서 제한적인 것은 아니라고 생각되어야 한다. 본 발명의 범위는 상기한 설명이 아니라 청구범위에 의해 나타나고, 청구범위와 균등한 의미 및 범위 내에서의 모든 변경이 포함되는 것이 의도된다.It should be considered that the embodiment disclosed here is an illustration in all points and is not restrictive. The scope of the present invention is indicated by the claims rather than the above description, and it is intended that the meanings equivalent to the claims and all changes within the scope are included.

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 plates, 6, 9 ball screws, 12 feature parts, 50 visual sensors, 100 image processing units, 102, 104 cameras, 110, 214 processors, 112 RAM, 114 display controllers, 116 system controllers, 118 I/O controller, 120 hard disk, 122 camera interface, 122a picture buffer, 124 input interface, 126 motion controller interface, 128, 228 communication interface, 130, 222 memory card interface, 132 display, 134 keyboard, 136, 224 memory Cards, 150 control programs, 200 controllers, 210 main control units, 212 chip sets, 216 nonvolatile 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, 252X, 252Y positioning unit, 254, 254X, 254Y movement control unit, 300, 300X, 300Y servo driver, 400 movement mechanism, 410, 410X, 410Y Servo motor, 412, 412X, 412Y encoder, 420 stages.

Claims (8)

대상물을 이동시키기 위한 이동 기구와,
촬상 지시를 접수한 것에 기초하여 상기 대상물을 촬상하고, 촬상에 의해 얻어진 화상으로부터 상기 대상물의 실제 위치를 계측하기 위한 시각 센서와,
상기 실제 위치에서 소정의 도달 목표 위치로 상기 대상물을 이동시키기 위한, 상기 이동 기구의 필요 이동 거리를 산출하기 위한 산출부와,
상기 필요 이동 거리와 시각을 적어도 설명 변수로 하고, 상기 이동 기구의 목표 위치를 목적 변수로 하는 다차 함수로 나타나는 목표 궤도에 기초하여, 상기 촬상 지시가 상기 시각 센서에 출력되는 간격보다 짧은 미리 정해진 제어 주기마다, 현시각에 대응하는 목표 위치를 결정하기 위한 위치 결정부와,
상기 위치 결정부에 의해 결정되는 목표 위치로 상기 이동 기구를 이동시키기 위한 이동 제어부를 구비하는, 제어 시스템.
A moving mechanism for moving the object,
A visual sensor for photographing the object based on receiving an imaging instruction, and measuring an actual position of the object from an image obtained by imaging;
A calculation unit for moving the object from the actual position to a predetermined arrival target position and calculating a required moving distance of the moving mechanism;
Based on a target trajectory represented by a multi-order function having at least the required travel distance and time as explanatory variables and the target position of the moving mechanism as a target variable, a predetermined control in which the imaging instruction is shorter than the interval output to the time sensor A positioning unit for determining a target position corresponding to the current time at each period,
And a movement control unit for moving the movement mechanism to a target position determined by the positioning unit.
청구항 1에 있어서,
상기 다차 함수는, 5차 이상의 함수인, 제어 시스템.
The method according to claim 1,
The multi-order function is a function of 5 or more orders of magnitude.
청구항 1에 있어서,
상기 위치 결정부는, 상기 이동 기구의 가속도가 미리 정해진 최대 가속도를 초과하지 않도록, 상기 목표 궤도를 생성하는, 제어 시스템.
The method according to claim 1,
The positioning unit generates the target trajectory so that the acceleration of the moving mechanism does not exceed a predetermined maximum acceleration.
청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
상기 위치 결정부는, 상기 시각 센서가 상기 대상물의 실제 위치를 계측할 때마다 상기 목표 궤도를 생성하고, 새로 생성된 상기 목표 궤도로 전회에 생성된 상기 목표 궤도를 갱신하는, 제어 시스템.
The method according to any one of claims 1 to 3,
The positioning unit generates the target trajectory each time the visual sensor measures the actual position of the object, and updates the target trajectory previously generated with the newly created target trajectory.
청구항 4에 있어서,
상기 위치 결정부는, 상기 목표 궤도의 갱신 전후에, 상기 이동 기구의 속도가 변화하지 않도록 새로운 상기 목표 궤도를 생성하는, 제어 시스템.
The method of claim 4,
The positioning unit, before and after the update of the target trajectory, generates a new target trajectory so that the speed of the moving mechanism does not change.
청구항 5에 있어서,
상기 제어 시스템은,
상기 제어 주기마다 상기 이동 기구의 실제 위치를 검출하기 위한 검출부와,
상기 목표 궤도의 갱신의 타이밍에서 상기 검출부에 의해 검출된 실제 위치와, 상기 타이밍에서의 상기 이동 기구의 목표 위치의 위치 편차로, 상기 필요 이동 거리를 보정하기 위한 보정부를 더 구비하는, 제어 시스템.
The method of claim 5,
The control system,
A detection unit for detecting an actual position of the moving mechanism at each of the control cycles,
The control system further comprising: a correction unit for correcting the required movement distance based on a position difference between the actual position detected by the detection unit at the timing of the update of the target trajectory and the target position of the movement mechanism at the timing.
대상물을 이동시키기 위한 이동 기구의 제어 방법으로서,
촬상 지시를 시각 센서에 출력하고, 상기 대상물을 촬상하여 얻어진 화상으로부터 상기 대상물의 실제 위치를 상기 시각 센서에 계측시키는 단계와,
상기 실제 위치에서 소정의 도달 목표 위치로 상기 대상물을 이동시키기 위한, 상기 이동 기구의 필요 이동 거리를 산출하는 단계와,
상기 필요 이동 거리와 시각을 적어도 설명 변수로 하고, 상기 이동 기구의 목표 위치를 목적 변수로 하는 다차 함수로 나타나는 목표 궤도에 기초하여, 상기 촬상 지시가 상기 시각 센서에 출력되는 간격보다 짧은 미리 정해진 제어 주기마다, 현시각에 대응하는 목표 위치를 결정하는 단계와,
상기 결정하는 단계에서 결정되는 목표 위치로 상기 이동 기구를 이동시키는 단계를 구비하는, 제어 방법.
As a control method of a moving mechanism for moving an object,
Outputting an imaging instruction to a visual sensor, and measuring an actual position of the object to the visual sensor 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 destination position; and
Based on a target trajectory represented by a multi-order function having at least the required travel distance and time as explanatory variables and the target position of the moving mechanism as a target variable, a predetermined control in which the imaging instruction is shorter than the interval output to the time sensor For each period, determining a target position corresponding to the present time,
And moving the moving mechanism to a target position determined in the determining step.
대상물을 이동시키기 위한 이동 기구의 제어 프로그램으로서,
상기 제어 프로그램은, 상기 이동 기구를 제어하기 위한 컨트롤러로 하여금,
촬상 지시를 시각 센서에 출력하고, 상기 대상물을 촬상하여 얻어진 화상으로부터 상기 대상물의 실제 위치를 상기 시각 센서에 계측시키는 단계와,
상기 실제 위치에서 소정의 도달 목표 위치로 상기 대상물을 이동시키기 위한, 상기 이동 기구의 필요 이동 거리를 산출하는 단계와,
상기 필요 이동 거리와 시각을 적어도 설명 변수로 하고, 상기 이동 기구의 목표 위치를 목적 변수로 하는 다차 함수로 나타나는 목표 궤도에 기초하여, 상기 촬상 지시가 상기 시각 센서에 출력되는 간격보다 짧은 미리 정해진 제어 주기마다, 현시각에 대응하는 목표 위치를 결정하는 단계와,
상기 결정하는 단계에서 결정되는 목표 위치로 상기 이동 기구를 이동시키는 단계를 실행시키게 하는, 제어 프로그램.
As a control program of a moving mechanism for moving an object,
The control program causes a controller for controlling the moving mechanism,
Outputting an imaging instruction to a visual sensor, and measuring an actual position of the object to the visual sensor 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 destination position; and
Based on a target trajectory represented by a multi-order function having at least the required travel distance and time as explanatory variables and the target position of the moving mechanism as a target variable, a predetermined control in which the imaging instruction is shorter than the interval output to the time sensor For each period, determining a target position corresponding to the present time,
And causing the step of moving the moving mechanism to a target position determined in the determining step to be executed.
KR1020207026088A 2018-04-26 2019-03-29 Control system, control method and control program KR20210004958A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018085121A JP6919622B2 (en) 2018-04-26 2018-04-26 Control systems, control methods, and control programs
JPJP-P-2018-085121 2018-04-26
PCT/JP2019/014127 WO2019208108A1 (en) 2018-04-26 2019-03-29 Control system, control method and control program

Publications (1)

Publication Number Publication Date
KR20210004958A true KR20210004958A (en) 2021-01-13

Family

ID=68295242

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207026088A KR20210004958A (en) 2018-04-26 2019-03-29 Control system, control method and control program

Country Status (3)

Country Link
JP (1) JP6919622B2 (en)
KR (1) KR20210004958A (en)
WO (1) WO2019208108A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7059968B2 (en) * 2019-03-01 2022-04-26 オムロン株式会社 Control device and alignment device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017024134A (en) 2015-07-24 2017-02-02 ファナック株式会社 Workpiece positioning apparatus for positioning workpiece

Family Cites Families (4)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017024134A (en) 2015-07-24 2017-02-02 ファナック株式会社 Workpiece positioning apparatus for positioning workpiece

Also Published As

Publication number Publication date
CN111886556A (en) 2020-11-03
JP2019188549A (en) 2019-10-31
JP6919622B2 (en) 2021-08-18
WO2019208108A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
JP6167622B2 (en) Control system and control method
CN110581946B (en) Control system, control device, image processing device, and storage medium
KR20200091298A (en) Hand eye calibration method and system
CN110581945B (en) Control system, control device, image processing device, and storage medium
US11874679B2 (en) Using an imaging device to correct positioning errors
KR20210004958A (en) Control system, control method and control program
WO2020003945A1 (en) Position determination system, control method, and program
KR102613860B1 (en) Control system, control method and computer readable storage medium
CN111886556B (en) Control system, control method, and computer-readable storage medium
CN110581944B (en) Control system, control device, and storage medium
JP7020262B2 (en) Control systems, control methods and programs
JPH07244519A (en) Method for controlling motion of movable target by using picture
JP6922829B2 (en) Control systems, control methods, and control programs
US11999068B2 (en) Control device and alignment device
US20220134570A1 (en) Control device and alignment device
WO2024023975A1 (en) Alignment system, alignment method, and program
JPS63254575A (en) Calibration device for visual sensor
CN117593382A (en) Dual-camera positioning method, device and system, controller and jet printing equipment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal