KR100463097B1 - 가공계획방법, 장치, 및, 이를 위한 가공데이터 작성방법,장치 - Google Patents

가공계획방법, 장치, 및, 이를 위한 가공데이터 작성방법,장치 Download PDF

Info

Publication number
KR100463097B1
KR100463097B1 KR10-2001-0070209A KR20010070209A KR100463097B1 KR 100463097 B1 KR100463097 B1 KR 100463097B1 KR 20010070209 A KR20010070209 A KR 20010070209A KR 100463097 B1 KR100463097 B1 KR 100463097B1
Authority
KR
South Korea
Prior art keywords
machining
processing
area
point
workpiece
Prior art date
Application number
KR10-2001-0070209A
Other languages
English (en)
Other versions
KR20020037289A (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 KR20020037289A publication Critical patent/KR20020037289A/ko
Application granted granted Critical
Publication of KR100463097B1 publication Critical patent/KR100463097B1/ko

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K3/00Apparatus or processes for manufacturing printed circuits

Abstract

천공위치정보를 수학적으로 받아들여 기기의 동작을 보다 최적으로 계획함으로써, 레이저천공기의 가공시간을 단축시킨다.
2유닛의 영역배치 계획장치(72)에 의해, 빔주사횟수 및 스테이지이동횟수가 최소가 되도록, 좌우의 갈바노유닛간 거리(L축값)A를 최적화한다. 영역배치 계획장치(74)에 의해, 영역수가 최소가 되도록 영역위치를 최적화한다. 스테이지ㆍ갈바노패스 계획장치(76)에 의해, 순회 세일즈맨 문제의 해법을 이용하여, 스테이지의 이동거리 및 갈바노 스캐너의 주사거리를 단축한다.

Description

가공계획방법, 장치, 및, 이를 위한 가공데이터 작성방법, 장치{Method And Device For Working Planning, And Method And Device For Producing Working Data Therefor}
본 발명은, 복수방향으로 주사 또는 이동가능하게 된 가공수단과, 복수방향으로 이동가능하게 된 스테이지를 사용하여, 이 스테이지 상에 배치된 워크(work)를 가공할 때의 가공계획방법, 장치, 및 그를 위한 가공데이터 작성방법, 장치에 관련되며, 특히, 레이저빔을 조사하여 프린트배선기판 등에 복수의 천공가공을 수행하는 레이저천공기에 사용하는데 알맞는, 천공 등의 가공위치의 2차원 평면에 있어서의 분포상태를 수학적으로 받아들여, 기기의 동작을 최적으로 계획함으로써, 가공시간을 단축하는 것이 가능한 가공계획방법, 이 가공계획방법에 의해 결정된 가공을 수행하는 가공방법, 상기 가공계획방법을 실시하기 위한 프로그램이 기록된, 컴퓨터읽기 가능한 기록매체, 동일한 가공계획장치, 이 가공계획장치를 포함하는 가공장치, 및 그를 위한 가공데이터 작성방법, 장치에 관한 것이다.
최근에 전자기기의 소형화 및 고밀도 실장화(實裝化)의 요구와 함께, 복수의 프린트배선기판을 겹쳐 놓은 다층(多層) 프린트배선기판이 제공되게 되었다. 이와 같은 다층 프린트배선기판에서는, 상하로 적층된 프린트배선기판의 각각에 형성된 도전층 사이를 전기적으로 접속하기 때문에, 이들 기판에 스루홀(through hole) 혹은 비아홀(via hole)이라는 홀이 형성된다. 그리고, 이들 홀의 내부에 도전막을 형성함으로써, 각 프린트배선기판의 도전층 사이의 접속이 수행된다.
프린트배선기판에 형성되는 홀은, 최근의 프린트배선기판의 소형화 및 고기능화에 따라 소형화되고, 직경이 0.1㎜ 이하로 되었다. 이와 같은 작은 지름의 홀을 좋은 정밀도로 형성하기 위해, 펄스발진형의 레이저빔이 사용되고 있다.
종래의 펄스발진형 레이저를 사용한 레이저천공기의 일예의 구성을 도 1(전체구성) 및 도 2(상세구성)에 나타내었다. 이 레이저천공기(10)는, 펄스형상 레이저빔을 발생하는 레이저발진기(12)와, 이 레이저발진기(12)에 의해 발생된 레이저빔(13)의 출력을, 가공대상인 프린트배선기판(워크(work)라고도 함)(6)의 두 개의 주사영역(가공영역)(8L, 8R)으로 안내하여, 좌우 동시 가공을 가능하기 하기 위해 2등분하는 빔스플리터(14)와, 이 빔스플리터(14)에 의해 반사된 좌측의 레이저빔(13L)을, 주사영역(8L) 내에서 X축방향(도면의 좌우방향) 및 Y축방향(도면의 전후방향)으로 주사하기 위한 좌측 갈바노 유닛(22L)(도 2 참조)이 수용된 좌측 갈바노 박스(20L)와, 상기 빔스플리터(14)를 통과한 후, 미러(16)에서 반사된 우측의 레이저빔(13R)을, 우측의 주사영역(8R) 내에서 동일하게 X축방향 및 Y축방향으로 주사하기 위한 우측 갈바노 유닛(22R)(도 2 참조)이 수용된 우측 갈바노 박스(20R)와, 상기 프린트배선기판(6)을 X축방향으로 평행이동하기 위한 X스테이지(40X) 및 이 X스테이지(40X) 상에서 상기 프린트배선기판(6)을 Y축방향으로 이동하기 위한 Y스테이지(40Y)를 포함하는 XY스테이지(40)(도 2 참조)를 주로 구비하고 있다.
상기 좌측 갈바노 박스(20L) 및 우측 갈바노 박스(20R)에는, 도 2에 상세하게 나타낸 바와 같이, 레이저빔(13L, 13R)을 각각 반사하기 위한 미러(24L, 24R)와, 이 미러(24L, 24R)에서 반사된 레이저빔을, 예컨대 Y축방향으로 주사하기 위한 제1갈바노 미러(26L, 26R)와, 이 제1갈바노 미러(26L, 26R)를 구동하기 위한 갈바노 드라이버가 내장된 제1갈바노 스캐너(간단히, 제1스캐너라고도 함)(28L, 28R)와, 상기 제1갈바노 미러(26L, 26R)에 의해 Y축방향으로 주사된 레이저빔을, 다시 이에 수직인 X축방향으로 주사하기 위한 제2갈바노 미러(30L, 30R)와, 이 제2갈바노 미러(30L, 30R)를 구동하기 위한 갈바노 드라이버가 내장된 제2갈바노 스캐너(간단히, 제2스캐너라고도 함)(32L, 32R)와, 상기 제1 및 제2갈바노 미러(26L, 26R, 30L, 30R)에 의해 X축방향 및 Y축방향으로 주사된 레이저빔을, 프린트배선기판(6)의 표면에 대하여 수직으로 편향(偏向)하고, 조사구(照射口)(미도시)를 통하여 떨어뜨리기 위한 fθ렌즈(34L, 34R)를 구비한 좌측 갈바노 유닛(간단히, 좌측 유닛이라고도 함)(22L) 및 우측 갈바노 유닛(간단히, 우측 유닛이라고도 함)(22R)이, 각각 수용되어 있다.
여기서, 예컨대 상기 좌측 갈바노 박스(20L)는 고정되고, 우측 갈바노 박스(20R)는, 예컨대 그 X축방향위치가 변경가능하게 되고, 가공개시 전에 유닛간 거리(L축값이라고 함)(A)가 변경가능하게 되어 있다.
기판(6) 상의 빔조사 가능범위는, fθ렌즈(34L, 34R)의 크기가 코스트 및 품질 등의 점에서 제한되기 때문에, 가공 중에는 완전하게 위치가 고정되는 빔조사구의 바로 아래 위치를 중심으로 하는, 예컨대 40㎜ ×40㎜의 X축, Y축으로 양변(兩邊)이 평행한 직사각형범위(주사영역이라고 함)(8L, 8R)로 한정되어 있다.
한편, 기판(6)의 크기는, 예컨대 최대 약 500㎜ ×600㎜ 정도의 크기이고, 일반적으로 주사영역보다도 넓다. 따라서, 기판 전체의 천공가공을 수행하기 위해, 기판을 지지하는 XY스테이지(40)를 XY평면 내에서 자유로운 방향으로 구동시켜서, 기판(6)을 이동하도록 하고 있다.
이와 같은 레이저천공기는, 도 3에 전체 동작을 나타낸 바와 같이,
(1) XY스테이지(40)에 의해 기판(6)을 이동한다,
(2) 좌우 주사영역(8L, 8R) 내의 레이저천공가공을 수행한다,
는 2스텝의 반복(스텝 앤 리피트라고 함)에 의해, 기판 전체의 천공을 수행하고 있다. 피가공면에서는 레이저빔이 조사된 부분이 증발하여, 프린트배선기판(6)에 홀이 형성된다. 여기서, 레이저빔은 2분(分)되어 있기 때문에, 동시에 가공되는 주사영역은 좌우에 두 개 있고, 동시가공영역간 거리는 가공헤드간 거리와 같다.
또, 각 주사영역(8L, 8R) 내의 가공에 대해서는, 도 4에 나타낸 바와 같이, 좌우 유닛(22L, 22R)의 제1, 제2스캐너(28L, 28R, 32L, 32R)에 의한, 기판 상의 천공종료점으로부터 다음 천공예정점으로의 이동주사(빔주사라고 함)가 모두 완료된 단계에서 레이저빔을 조사하는 공정을 반복하고 있다.
이하, 레이저천공기의 각 기기가, 시스템으로서 어떻게 작용하여 천공가공을 수행하는가를, 도 5를 참조하여 설명한다.
레이저천공기(10)를 작동할 때의 장치에 대한 입력은, CAD데이터(50)와 PC 상의 윈도우(52)로부터 입력되는 GUI입력의 두 개이다.
즉, 천공위치, 기판위치맞춤용 얼라이먼트마크위치, 레이저조사횟수(쇼트수라고 함) 등의 천공조건은, 미도시된 CAD장치에 의해 작성되어, 파일에 보존되어 있다. 기판의 종류는 휴대전화기판, 마더보드의 패키지기판 등이 주된 것이고, 홀좌표의 배치가, 대부분의 경우에는 어느 정도의 점의 집합(패턴)을 몇 개 늘어놓은 형식으로 되어 있는 경우가 많다. 따라서, CAD데이터(50) 자체도, 홀위치데이터를 전부 늘어놓는 방법이 아니고, 도 6에 나타낸 바와 같이, 패턴의 시작과 끝의 신호 사이에 홀좌표를 배치하고, 그 후에 그 패턴에 대한 시프트 양을 패턴수만큼 써서 늘어놓는 방법을 채택하고 있는 경우가 많다.
가공담당자는, PC 상의 입력용 윈도우(52)에서, 가공데이터파일명의 입력개소에, 플랙시블디스크 또는 네트워크 상에 있는 CAD데이터(50)의 데이터파일을 선택한다. 그밖에, 점데이터의 XY변환(점데이터의 X좌표와 Y좌표를 바꿔 넣어서 갈바노 유닛의 처리영역분할선을, 예컨대 X축수직으로부터 Y축수직으로 변경하기 위한 변환)을 할지 여부, 우측 유닛(22R)의 위치(L축값), CAD데이터(52)의 포맷(Excellon, SHI, HZ포맷 등) 등과 같은 몇 개의 항목에 관하여, 선택식의 입력을 수행한다.
모든 입력항목에 대한 입력을 완료하고, 가공담당자가 입력완료버튼(입력을 중심으로 한 변환버튼)을 누르면, 계획장치(60)가 입력내용을 기초로 계획처리를 수행하고, PC화면 상에, 선택한 기판에 대한 계획결과를 직접 눈으로 확인할 수 있도록, 천공위치, 좌우유닛 처리의 구별, 주사영역의 배치위치 등을 시각적으로 표현한 평면도가 나타난다. 가공자는 평면도를 확인하여, 문제가 없으면 윈도우 상의가공개시버튼을 누른다. 이 조작에 의해 레이저천공가공기(10)는 작동한다.
가공기는 작동 직후, 계획장치(60)에 CAD데이터(50) 및 윈도우입력값을 넘긴다.
계획장치(60)가 계획하고 작성하는 데이터는, L축값데이터(A), 스테이지정지위치(주사영역위치)데이터(B), 스테이지정지위치의 방문순서데이터(C), 각 주사영역 내의 천공위치데이터(D), 각 주사영역 내의 천공위치 방문순서데이터(E)의 5개 이다.
종래의 상기 계획장치(60)는, 도 7에 나타낸 바와 같은 방법으로 CAD데이터(50)와 윈도우입력값에 따라 설정을 수행하였다.
이하, 계획장치(60)가 계획하고 작성하는 데이터에 대하여 상세하게 설명한다.
⑴ 유닛간 거리데이터(A)
좌우 갈바노 유닛(22L, 22R)간의 거리(L축값)(A)는, 예컨대 약 150∼300㎜의 범위에서 설정가능하게 되어 있다. PC의 입력용 윈도우(52)에 따라 거리를 설정한다. 이 데이터는, 우측 유닛(20R)을 구동할 때의 지령값으로서 사용한다.
⑵ 주사영역위치데이터(B)
각 유닛의 작업영역을, 예컨대 격자점간 거리가 40㎜인 정사각 격자모양으로 소분할한다. 4개의 격자점에 둘러싸인 40㎜ ×40㎜의 정사각형 모두를 주사영역으로 한다.
⑶ 주사영역위치 방문순서데이터(C)
시점(始点)은, 각 유닛의 좌측하단 모서리의 주사영역으로 한다. 스테이지가 주사영역간을 방문하는 궤적(스테이지패스라고 함)으로서, 예컨대 도 8에 나타낸 바와 같이, X축방향을 뱀의 진행방향으로 하는 사행경로(蛇行徑路)를 채택할 수 있다.
⑷ 각 주사영역 내의 천공위치데이터(D)
모든 천공위치에 대하여, 예컨대 라벨을 사용하여, 자기가 속하는 주사영역을 한 개 특정한다.
⑸ 각 주사영역 내의 천공위치 방문순서데이터(E)
각 주사영역은 예컨대 40㎜ ×40㎜인 정사각형이지만, 도 9에 나타낸 바와 같이, 그 정사각형 영역을 예컨대 우선 X축에 대하여, 예컨대 10등분하고, Y축에 평행한 직선을, 영역의 좌단부터 4㎜마다 그려 넣는다. 그 결과, Y축방향 40㎜, X축방향 4㎜인 직사각형(短冊狀) 영역이 10개가 생긴다. 각 직사각형 영역의 천공위치에 대하여, Y좌표값에 의한 소트를 한다. 단, 인접하는 직사각형 영역은, 통상적으로 한쪽이 오름순, 또 다른 한쪽이 내림순 배열로 한다. 어느 직사각형 영역의 최후의 점 다음에 방문하는 점이, 그 오른쪽 옆의 직사각형 영역의 최초의 점이 되도록 한다. 이상의 조작에 의해 결정되는, 주사영역 내의 천공위치 사이를 빔조사위치가 방문하는 궤적(갈바노패스라고 함)은, 전체적으로는 X축방향을 뱀의 진행방향으로 하는 사행경로를 채택할 수 있다.
이와 같이 하여 계획장치(60)가 데이터의 작성을 종료하면, 계획완료를 제어장치(62)에 알린다. 그 후에는 제어장치(62)로부터의 지령에 의해, 각 기기가 동작한다.
구체적으로는, 상기 우측 유닛(22R)의 구동은, 계획장치(60)가 계획완료했다는 계획완료신호를, 제어장치(62)가 받은 타이밍에서 지령된다. 이동이 완료된 시점에서 이동완료신호를 제어장치(62)에 전달한다.
또한, 상기 레이저발진기(12)에 의한 레이저의 발진은, 양 유닛(22L, 22R)의 두 개의 제2스캐너(32L, 32R)로부터 출력되는 이동완료신호의 양쪽을, 제어장치(62)가 받은 타이밍에서 지령된다. 필요한 쇼트수를 발진완료한 시점에서, 발진완료신호를 제어장치(62)에 돌려 보낸다. 그 주사영역의 마지막으로 방문하는 점이면, 그 주사영역 내에 있는 모든 천공위치의 레이저천공 가공처리가 종료했다는 신호를 제어장치(62)에 돌려 보낸다. 또, 그 주사영역의 마지막으로 방문하는 점이고, 또한 현재의 주사영역이 마지막으로 방문하는 영역이면, 가공종료신호를 PC 상의 윈도우(52)에 전달한다.
또, 상기 스캐너(28L, 28R, 32L, 32R)의 구동은, 레이저발진기(12)로부터 출력되는 레이저발진완료신호, 또는 XY스테이지(40)로부터 출력되는 이동완료신호를, 제어장치(62)가 보내는 타이밍에서 지령된다. 다음 천공위치점으로의 이동을 완료하는 시점에서, 이동완료신호를 제어장치(62)에 돌려 보낸다.
상기 XY스테이지(40)의 구동은, 스캐너(28L, 28R, 32L, 32R)로부터 출력되는, 어느 주사영역 내의 모든 천공위치의 데이터천공가공처리가 종료했다는 신호를, 제어장치(62)가 받은 타이밍에서 지령된다. 다음 주사영역으로의 이동이 완료한 시점에서, 이동완료신호를 제어장치(62)에 돌려 보낸다.
그러나, 종래의 계획방법은 천공점위치의 분포상태에 상관없이, 미리 작성해 놓은 틀에 끼워넣는 방법으로, 결코 최적이라고는 할 수 없으며, 특히 다음 4가지 점에 대해 최적의 설정을 수행할 수 있는 장치가 요구되었다.
⑴ 점데이터 XY좌표교환
⑵ 유닛간 거리설정
모두 종래에는, 입력윈도우에 있어서의 양자택일이라는 간단한 설정방법이고, 최적의 방법설정을 할 수 없었다.
⑶ 스테이지패스설정
상기 설정법에 따르면, 천공위치가 1개소밖에 없는 것과 같은 주사영역도 생기고, 주사영역의 수가 최적화되어 있지 않다.
⑷ 갈바노패스설정
상기 설정법에 따르면, 1회의 이동거리가, 예컨대 주사영역의 끝에서 끝까지 40㎜인 것과 같은 불필요한 움직임도 발생한다.
또한, 일본국 특허공개 평11-149317호에는, 반도체웨이퍼의 각 가공대상칩 내의 가공대상의 휴즈를 용단(溶斷)할 때에, 헤드 두 개의 상대적인 위치관계를 결정하여, 이 위치관계를 유지하면서, 전체 가공대상칩을 연결하는 칩간 최적경로, 및 칩 내의 휴즈, 블럭 전체를 연결하는 최적경로를 결정하는 방법이 기재되어 있지만, 영역을 2분할하는 것이 아니고, 가공영역이 있는 칩으로 옮겼을 때의, 가공할 휴즈위치의 분담을, (2헤드용 플라이블럭용 내(內)휴즈수)/(2헤드용 플라이블럭)을 최대화할 수 있도록, 두 개의 가공처리부로 이분(二分)하는 것이고, 본 발명이 대상으로 하는 레이저천공기에 적용하는데 적합한 것이 아니었다.
또, 출원인은 일본국 특허출원 제2000-3180호에서, 주사영역 내의 갈바노패스를 순회 세일즈맨 문제를 해결함으로써 최적화하는 방법을 제안하고 있지만, 스테이지패스에 대해서는 고려하고 있지 않아서 아직 충분한 것은 아니었다.
또, 상기와 같은 가공계획의 프로그램은, 통상적으로 레이저가공기의 소프트웨어에 포함되지만, 계산부하가 크고, 계산전용 고속처리머신을 가질 수 없는 가공기측 동작에 악영향을 주거나, 최신 프로그램을 사용하기 위해서는 매회 버전업할 필요가 있는 등의 문제점을 가지고 있었다. 이것은, 가공계획 프로그램을 추출하여, 단품 소프트웨어로서 제공하는 경우에도 동일하다. 그리고, 플랙시블디스크 등의 기록매체를 이용하여, 유저로부터 가공위치데이터를 우송하여 받고, 메이커측 서포트 센터 등에서 가공계획을 작성하여, 우송으로 되돌려 보내는 것도 생각할 수 있지만, 우송으로 주고받는데 시간이 걸려 버린다.
본 발명은 상기 종래의 문제점을 해소하기 위해 이루어진 것으로서, 레이저발진기, 레이저주사기구, 워크이동기구 등의 응답성을 변경하지 않고, 워크의 총(總)이동시간 단축, 레이저빔 등 가공수단의 총주사시간 단축이라는 두 가지 과제를, 가공위치인 2차원 평면에 있어서의 분포상태를 수학적으로 받아들여, 최적의 패스를 계획함으로써 해결하여, 가공기계의 스루풋(throughput)을 향상하는 것을 제1과제로 한다.
본 발명은 또한, 기하학적 점데이터를 효율 좋게 격납하는 데이터구조를 도입함으로써, 가공시간 단축을 목적으로 하는 계획의 정밀도를 떨어뜨리지 않고, 계획에 소요되는 계산시간을 단축하는 것을 제2과제로 한다.
본 발명은 또한, 상기 가공계획을 실시하기 위한 가공계획장치를 제공하는 것을 제3과제로 한다.
본 발명은 또한, 계산전용 고속처리머신을 이용하여, 항상 최신 버전으로 가공데이터를 신속하게 작성가능하게 하는 것을 제공하는 것을 제4과제로 한다.
도 1은, 본 발명이 적용되는 레이저천공기의 전체구성을 나타낸 사시도이다.
도 2는, 동일하게, 상세구성을 나타낸 사시도이다.
도 3은, 동일하게, 스텝 앤 리피트(step and repeat)에 의한 전체 가공동작을 나타낸 타임차트이다.
도 4는, 동일하게, 각 주사영역 내의 가공동작을 나타낸 타임차트이다.
도 5는, 레이저천공기의 종래의 장치시스템구성을 나타낸 블럭선도이다.
도 6은, 동일하게, CAD데이터의 예를 나타낸 선도(線圖)이다.
도 7은, 동일하게, 종래의 데이터설정방법의 처리순서의 개략을 나타낸 플로차트이다.
도 8은, 동일하게, 종래의 스테이지위치 및 패스의 예를 나타낸 사시도이다.
도 9는, 동일하게, 종래의 갈바노 스캐너 패스의 예를 나타낸 평면도이다.
도 10은, 본 발명에 관련되는 레이저천공가공 계획장치의 실시형태의 구성을 나타낸 블럭선도이다.
도 11은, 상기 실시형태에 있어서의 전체적인 처리순서를 나타낸 플로차트이다.
도 12는, 동일하게, 2유닛의 영역배치 계획장치의 처리순서를 나타낸 플로차트이다.
도 13은, 동일하게, 유닛간 거리설정의 원리를 설명하기 위한 평면도이다.
도 14는, 동일하게, 빔주사횟수 및 스테이지이동횟수와 최적의 유닛간거리의 관계의 예를 나타낸 선도이다.
도 15는, 동일하게, XY좌표변환의 유용성을 나타내기 위한 기판의 예를 나타낸 선도이다.
도 16은, 동일하게, XY좌표변환의 상태를 나타낸 선도이다.
도 17은, 동일하게, 영역중복시의 천공위치의 배분원리를 설명하기 위한, 중복시의 영역배분의 예를 나타낸 평면도이다.
도 18은, 동일하게, 상기 천공위치의 배분의 예를 나타낸 선도이다.
도 19는, 동일하게, 중복배분처리의 구체적인 처리순서의 예를 나타낸 플로차트이다.
도 20은, 동일하게 배분의 일예를 나타낸 선도이다.
도 21은, 동일하게 배분의 다른 예를 나타낸 선도이다.
도 22는, 동일하게, 천공위치의 분포범위의 중심에서 영역위치를 미조정(微調整)하고 있는 상태를 나타낸 평면도이다.
도 23은, 동일하게, 천공위치의 무게중심에서 영역위치를 미조정하고 있는 상태를 나타낸 평면도이다.
도 24는, 2유닛의 영역배치 계획장치의 변형예의 처리순서를 나타낸 플로차트이다.
도 25는, 상기 변형예에 있어서의 유닛간 거리의 후보의 예를 나타낸 평면도이다.
도 26은, 상기 실시형태의 영역배치 계획장치의 처리순서를 나타낸 플로차트이다.
도 27은, 상기 처리순서를 구체적으로 설명하기 위한, 다음 영역위치를 찾고 있는 상태를 나타낸 평면도이다.
도 28은, 동일하게, 둘러싸여 있지 않은 가장 왼쪽의 점을 발견한 상태를 나타낸 평면도이다.
도 29는, 동일하게, 영역폭만큼의 띠영역에 대하여, 둘러싸여 있지 않은 가장 아래의 영역을 발견한 상태를 나타낸 평면도이다.
도 30은, 동일하게, 확정영역과의 겹침이 큰 경우의 예외처리를 나타낸 평면도이다.
도 31은, 동일하게, 다음 영역 중에서 가장 왼쪽의 점이 발견된 상태를 나타낸 평면도이다.
도 32는, 동일하게, 겹침을 회피하고 있는 상태를 나타낸 평면도이다.
도 33은, 동일하게, 다음 영역이 확정된 상태를 나타낸 평면도이다.
도 34는, 영역결정방법의 변형예의 원리를 나타낸 평면도이다.
도 35는, 동일하게 영역결정방법의 변형예의 처리순서를 나타낸 플로차트이다.
도 36은, 상기 변형예에 있어서 영역 근방을 탐색하는 일예를 나타낸 선도이다.
도 37은, 동일하게 다른 예를 나타낸 선도이다.
도 38은, 상기 실시형태의 스테이지ㆍ갈바노패스 계획장치의 처리순서를 나타낸 플로차트이다.
도 39는, 본 발명의 원리를 설명하기 위한, 스테이지에 의한 이동시간의 차이의 예를 나타낸 선도이다.
도 40은, 로더, 언로더와 XY스테이지 등의 위치관계와 최적경로의 예를 나타낸 평면도이다.
도 41은, 본 발명의 원리를 설명하기 위한, 갈바노 스캐너에 의한 이동시간의 차이의 예를 나타낸 선도이다.
도 42는, 상기 스테이지ㆍ갈바노패스 계획장치에서 실행되는 좌우유닛의 이동패턴의 매칭원리를 나타낸 타임차트이다.
도 43은, 동일하게, 좌우주사영역의 한쪽의 방문순서의 시프트에 의한 효과를 나타낸 평면도 및 타임차트이다.
도 44는, 시점, 종점의 최적설정에 관하여, 일순(一巡)경로를 결정후, 최장 (最長)의 이동을 제외한 상태를 나타낸 평면도이다.
도 45는, 동일하게, [(일순경로)-(최장의 이동)]에 의해 일순경로를 결정하는 순서를 나타낸 플로차트이다.
도 46은, 동일하게 평면도이다.
도 47은, 영역배치 계획장치의 효과의 일예를 나타낸 평면도이다.
도 48은, 동일하게, 상기 효과의 다른 예를 나타낸 평면도이다.
도 49는, 동일하게, 영역수의 변화상태를 정리하여 나타낸 도표이다.
도 50은, 유닛간(間) 거리최적화의 효과를 나타내기 위한, 유닛간 거리에 대한 빔주사횟수와 스테이지이동횟수의 관계의 예를 나타낸 선도이다.
도 51은, 동일하게, 수치적인 결과를 정리하여 나타낸 도표이다.
도 52는, 동일하게, 종래의 갈바노패스와 본 발명 적용 후의 갈바노패스의 예를 비교하여 나타탠 선도이다.
도 53은, 동일하게, 종래예와 본 발명의 실시예에 있어서의 천공위치수와 갈바노 스캐너 이동거리의 관계의 예를 비교하여 나타낸 선도이다.
도 54는, 동일하게, 수치적인 결과를 정리하여 나타낸 도표이다.
도 55는, 트리의 절점(節点 ; node)끼리의 관계를 나타내는 용어를 설명하기 위한 선도이다.
도 56은, 본 발명에서 이용되는 이차원 데이터의 예를 나타낸 평면도이다.
도 57은, 동일하게 트리로의 격납상태를 나타낸 선도이다.
도 58은, 동일하게 데이터의 기술예를 나타낸 선도이다.
도 59는, 본 발명의 적용대상인 직사각형영역탐색의 상태를 나타낸 평면도이다.
도 60은, 동일하게 최근방점탐색 및 근방점리스트의 작성의 상태를 나타낸평면도이다.
도 61은, 본 발명의 실시형태에 있어서의 니어리스트 네이버법에 의한 순회경로의 작성과정의 예를 나타낸 평면도이다.
도 62는, 동일하게 반복개선법(국소탐색법)에 의한 처리순서의 예를 나타낸 플로차트이다.
도 63은, 동일하게 탑다운적 방법에 의한 처리순서의 예를 나타낸 플로차트이다.
도 64는, 상기 탑다운적 방법에 있어서의, 탐색을 수행할 영역을 판정하는 상태를 나타낸 평면도이다.
도 65는, 본 발명의 실시형태에 있어서의 바텀업적 방법에 의한 처리순서의 예를 나타낸 플로차트이다.
도 66은, 상기 바텀업적 방법에 있어서의, 탐색을 수행할 영역을 판정하는 상태를 나타낸 평면도이다.
도 67은, 본 발명의 실시형태에 있어서의 전체일치문의의 유효성을 나타낸 평면도이다.
도 68은, 본 발명의 실시형태의 시스템구성을 나타낸 블럭도이다.
도 69는, 동일하게 처리순서를 나타낸 플로차트이다.
도 70은, 상기 실시형태의 변형예의 시스템구성을 나타낸 블럭도이다.
도 71은, 상기 실시형태의 또 다른 변형예의 시스템구성을 나타낸 블럭도이다.
도 72는, 주사방향의 변형예를 나타낸 평면도이다.
〈도면의 주요 부분에 대한 부호의 설명〉
6 : 프린트배선기판(워크)
8, 8', 8L, 8R : 주사영역
10 : 레이저천공기
12 : 레이저발진기
13, 13L, 13R : 레이저빔
14 : 빔스플리터
22L, 22R : 갈바노유닛
40 : XY스테이지
42X : X스테이지
42Y : Y스테이지
70 : 계획장치
72 : 2유닛의 영역배치 계획장치
74 : 영역배치 계획장치
76 : 스테이지ㆍ갈바노패스 계획장치
80 : 레이저가공기
82, 83 : 유저PC
84 : 브라우저
88 : CAD데이터
90 : 서포트센터PC
92 : 웹서버
96 : 가공순서 최적화 어플리케이션
본 발명은, 워크 상에 산재하는 다수의 가공위치를, 동시가공되는 복수의 가공영역으로 할당하여 가공할 때에, 우선, 각 가공영역 각각의 일순(一巡) 경로 길이가 최소가 되도록 각 가공영역 내의 가공경로를 결정 하고, 이어서, 동시가공되는 가공영역의 총(總)가공시간이 최소가 되도록, 각 가공영역 내의 가공 경로 시점(始點) 을 결정하도록 하여, 상기 제1과제를 해결한 것이다.
본 발명은, 또한, 워크 상에 산재하는 복수의 가공영역의 가공순서를 결정할 때에, 복수 존재하는 동시가공영역에 대하여, 동시에 행하여지는 가공위치 사이의 이동시간 을 균일화할 수 있도록, 각 가공영역 내의 가공경로의 시점(始点) 을 시프트하여, 총가공시간을 단축하도록 하여, 동일하게 상기 제1과제를 해결한 것이다.
본 발명은 또한, 워크 상에 산재하는 복수의 가공위치 또는 워크 내에 설정된 가공영역에 대하여, 순회 세일즈맨 문제를 해결함으로써, 일순(一巡) 경로를 최소화한 후, 최장(最長)의 이동을 검출하여, 이 최장의 이동을 하지 않고 완료하도록 , 시점과 종점(終点)을 결정하도록 하여, 동일하게 상기 제1과제를 해결한 것이다.
본 발명은 또한, 워크 상에 산재하는 복수의 가공위치 또는 워크 내에 설정된 가공영역에 대하여, 순회 세일즈맨 문제를 적용하여 가공순서를 결정할 때에, 일순 경로로부터 최장의 이동을 뺀 값을 최소화하도록 개량을 가한 순회 세일즈맨 문제를 해결함으로써, 일순 경로를 구하고, 마지막으로 최장의 이동을 제거하여, 시점과 종점을 결정하도록 하여, 동일하게 상기 제1과제를 해결한 것이다.
본 발명은 또한, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에, 아직 가공영역으로 둘러싸이지 않은, 제1방향 끝의 점을 둘러싸도록, 다음 가공영역을 가(假)설정하고, 이 가설정한 가공영역이, 상기 제1방향과는 다른 제2방향 끝의 점을 둘러싸도록, 이 제2방향으로 이동하고, 이 이동한 가공영역이, 이 이동 후의 위치에 있어서의, 상기 제1방향 끝의 점을 둘러싸도록, 이 제1방향으로 재차 이동하고, 이 재(再)이동한 가공영역이, 이 재이동 후의 위치에 있어서의 상기 제2방향 끝의 점을 둘러싸도록, 이 제2방향으로 재차 이동하는 순서를 반복함으로써, 다음 가공영역을 확정하는 순서를 반복하도록 하여, 동일하게 상기 제1과제를 해결한 것이다.
또, 상기 가공영역이, 상기 제1방향 및 제2방향과 직교하는 사각형의 프레임을 갖도록 한 것이다.
그리고, 상기 제1방향 및 제2방향이, 워크의 이동방향에 대응하도록 설정한 것이다.
본 발명은 또한, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에, 우선 워크 전체 표면을 단순하게 가공영역으로 분할하고, 이어서, 가공위치가 없는 가공영역을 모두 제거하도록 하여, 상기 제1과제를 해결한 것이다.
또, 동일하게 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에, 아직 포위되지 않은 가공위치의 수가 가장 많은 위치에 가공영역을 배치하는 처리를, 모든 가공위치가 포위될 때까지 반복하도록 하여, 동일하게 상기 제1과제를 해결한 것이다.
그리고, 동일하게 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에, 우선, 영역배치를 임시로 정하고, 이어서, 가공영역을 근방으로 시프트시켜, 불필요해지는 가공영역을 제거하도록 하여, 동일하게 상기 제1과제를 해결한 것이다.
또, 상기 가공영역을, 그 영역 내에 단독으로 소속되어 있는 점이, 그 영역으로부터 벗어나지 않는다는 조건으로, 근방으로 시프트 시켜, 불필요해지는 인접영역을 제거하도록 한 것이다.
혹은, 상기 가공영역 중, 중복개소에 의해 연결되어 있는 2 이상의 영역을, 해당 2 이상의 영역에 단독으로 소속되어 있는 점이, 해당 2 이상의 영역으로부터 벗어나지 않는다는 조건으로, 상기 2 이상의 영역을 근방으로 각각 시프트 시켜, 불필요해지는 인접영역을 제거하도록 한 것이다.
본 발명은 또한, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역배치를 결정할 때에, 동일 가공위치가 복수의 영역에 소속되는 경우는, 복수의 동시가공영역의 각각에 소속되는 가공위치수가 균등해지도록, 해당 가공을 수행하는 영역을 결정하도록 하여, 상기 제1과제를 해결한 것이다.
또, 상기 복수의 영역에 속하는 가공위치를, 우선 복수의 동시가공영역 중, 차(差)가 큰 쪽의 영역으로 할당하고, 이어서, 남은 가공위치를, 차가 작은 쪽의 영역으로 할당하고, 마지막으로 남은 가공위치를 양(兩) 영역으로 균등하게 배분하도록 한 것이다.
본 발명은 또한, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에, 각 가공영역의 중앙부에 가공위치가 모이도록, 영역위치를 조정하도록 하여, 상기 제1과제를 해결한 것이다.
또, 상기 가공위치의 분포범위의 중심이, 가공영역의 중심과 일치하도록, 영역위치를 조정하도록 한 것이다.
혹은, 상기 가공위치가 가공영역을 벗어나지 않는 한도까지, 영역위치를 가공위치의 무게중심(重心)에 근접시키도록 한 것이다.
본 발명은 또한, 복수방향으로 이동가능하게 된 스테이지를 사용하여, 이 스테이지 상에 배치된 워크를 가공할 때에, 상기 스테이지의 이동경로의 시점을, 워크를 로더로부터 스테이지에 올리는 위치, 종점을 워크를 언로더로 옮기기 전의 위치로 하고, 끝의 점을 고정한 순회 세일즈맨 문제를 해결함으로써, 상기 스테이지의 이동경로를 결정하도록 하여, 상기 제1과제를 해결한 것이다.
본 발명은 또한, 가공영역 내에서 가공수단을 주사 또는 이동가능한 복수의가공유닛(예컨대, 주사영역 내에서 레이저빔을 주사가능한 빔조사유닛 및 이동영역 내에서 기계식 드릴을 이동가능한 드릴이동유닛)에 의해, 이동가능한 스테이지 상에 배치된 워크를 동시에 가공할 때에, 가공수단주사 또는 이동횟수(예컨대, 빔주사횟수 및 드릴이동횟수) 및 스테이지이동횟수가 최소가 되도록, 가공유닛의 간격을 결정하도록 하여, 상기 제1과제를 해결한 것이다.
또, 상기 가공수단주사 또는 이동횟수와 스테이지이동횟수에, 주사시간 및 이동시간의 차이에 따른 가중치가 부가되어 것이다.
또, 상기 가공수단유닛의 간격을 설정하고, 그때의 각 가공수단유닛의 주사 또는 이동범위를 서로 겹쳐서, 최소의 가공영역수가 되는 영역배치를 구하고, 그때의 가공수단주사 또는 이동횟수 및 스테이지이동횟수를 계산하도록 한 것이다.
본 발명은 또한, 상기 처리를 워크방향을 변경하여 수행하고, 가공수단주사 또는 이동횟수 및 스테이지이동횟수가 최소가 되는 워크방향을 자동적으로 채용하도록 하여, 상기 제1과제를 해결한 것이다.
본 발명은 또한, 복수방향으로 주사 또는 이동가능하게 된 가공수단을 사용하여 워크를 가공할 때에, 워크 상에 산재하는 가공위치 또는 가공영역을 나타내는 점의 위치데이터를, 트리(tree)형의 데이터구조로 표현함으로써, 상기 제2과제를 해결한 것이다.
또, 상기 트리를 k차원 이분탐색목(binary search tree)으로 한 것이다.
또, 워크 상에 산재하는 가공영역의 위치를 결정한 후, 상기 트리를 사용하여, 각 가공영역 내의 점(点)데이터를 열거하도록 한 것이다.
또, 상기 트리의 근절점(根節点)으로부터, 내부절점에 대해서는, 그 절점의 자절점(子節点)이 나타내는 영역과 탐색영역과의 겹쳐지는 정도에 따라, 그 절점의 자절점을 탐색할지 여부를 판정하고, 엽절점(葉節点)에 도달했을 때만, 직접 점데이터에 액세스하도록 한 것이다.
또, 상기 트리를 이용하여, 주목점(注目点)에 가장 가까운 점을 탐색하는 최근방점 탐색처리를 수행하도록 한 것이다.
또, 상기 최근방점 탐색처리를, 상기 트리의 근절점부터 시작하도록 한 것이다.
또, 주목점을 중심으로 하는, 현재의 최근방점까지의 거리를 반경으로 가지는 원과 절점이 나타내는 영역이 겹침을 가지는 경우에, 그 절점에 대하여 탐색을 수행하도록 한 것이다.
또, 상기 절점이 엽절점인 경우는, 해당 절점이 나타내는 영역 내의 모든 점에 대하여 거리를 구하고, 짧은지 여부를 판정하도록 한 것이다.
또, 각 점의 데이터가, 각각 자기가 소속하는 엽절점에 관한 정보를 가지고, 상기 최근방점 탐색처리를, 최근방을 찾으려고 하고 있는 주목점이 존재하는 엽절점에 직접 액세스하고, 이어서 탐색이 필요한 절점이 존재하는 경우에 한하여, 상기 트리의 근절점의 방향으로 거슬러 올라감으로써 수행하도록 한 것이다.
또, 주목점을 중심으로 하는, 현재의 최근방점까지의 거리를 반경으로 가지는 원과 절점이 나타내는 영역이, 현재의 절점을 나타내는 영역 밖으로 밀려 나오는 경우는, 그 밀려 나오는 정도에 따라, 자기의 형제절점 또는 자기의 부모의 형제절점의 탐색을 수행하도록 한 것이다.
또, 상기 최근방점 탐색처리와, 발견된 최근방점을 벗어난 트리를 이용하여, 다음 최근방점을 탐색하는 처리를 반복함으로써, 주목점에 가까운 순서로 근방점을 열거하도록 한 것이다.
또, 상기 최근방점 탐색처리에 의해, 아직 가공경로에 연결되어 있지 않은 최근방점을 탐색하여 새로운 주목점으로 하고, 가공경로에 연결하는 처리와, 발견된 주목점을 벗어난 트리를 이용하여, 다음 최근방점을 탐색하여 새로운 주목점으로 하고, 가공경로에 연결하는 처리를, 시점부터 종점까지 반복하여, 가공경로를 작성하도록 한 것이다.
또, 상기 트리로부터 발견된 점을 벗어나는 처리를, 각 점데이터에 관련되는 인덱스의 종료번호를 줄이던가, 또는 개시번호를 늘림으로써 수행하도록 한 것이다.
또, 상기 트리로부터 발견된 점을 벗어나면, 어느 절점 내의 점데이터가 모두 지워져 버리는 경우는, 그 절점을 찾을 필요가 없는 것을 나타낸 정보를, 절점에 갖도록 한 것이다.
또, 상기 어느 하나의 가공계획방법에 의해 결정된 가공경로를, 순회 세일즈맨 문제를 적용하여 가공순서를 결정할 때의 초기해법으로 하도록 한 것이다.
또, 어느 가공영역 내의 점데이터의 배치와, 별도의 가공영역 내의 점데이터의 배치가 상대적으로 일치하고 있는 영역의 세트(set)를 발견하는 것에 의해, 필요가 없는 부하가 높은 연산을 생략함으로써, 상기 제2과제를 해결한 것이다.
그리고, 상기 점데이터의 배치가 상대적으로 일치하는 영역의 세트를 찾는 처리를, 한쪽 영역의 전체 점에 대하여, 일정한 좌표의 이탈량을 더한 점위치데이터를 작성하고, 다른 한쪽 영역의 트리의 근절점으로부터, 상기 점위치데이터가 존재하는 영역을 나타내는 절점으로 점차 옮겨지고, 엽절점으로 옮겼을 때에만 상기 점위치데이터와 일치하는 점위치데이터가 존재하는지 여부를 조사하는 처리에 의해 수행하도록 한 것이다.
또, 상기 트리를, 가공영역 내의 점데이터를 최소수의 동일 치수의 직사각형으로 둘러싸는 처리에 있어서, 루프호출로 일시적인 가공영역을 작성할 때마다, 그 일시적인 가공영역, 및 각 가공영역 내의 일시적인 점위치데이터의 양쪽에 대하여 작성하도록 한 것이다.
또, 상기 트리를, 가공영역확정시에 가공영역, 및 각 가공영역 내의 점위치데이터의 양쪽에 대하여 작성하도록 한 것이다.
본 발명은 또한, 상기 어느 하나의 가공계획에 의해 결정된 가공(예컨대, 레이저가공 및 드릴가공)을 수행하는 가공방법을 제공하는 것이다.
본 발명은 또한, 상기 어느 하나의 가공계획을 실시하기 위한 컴퓨터 프로그램을 제공하는 것이다.
본 발명은, 또한, 워크 상에 산재하는 다수의 가공위치를, 동시가공되는 복수의 가공영역으로 할당하여 가공하기 위한 가공계획장치에 있어서, 각 가공영역 각각의 일순(一巡) 경로 길이가 최소가 되도록 각 가공영역 내의 가공경로를 결정 하는 가공경로결정수단과, 동시가공되는 가공영역의 총가공시간이 최소가 되도록, 각 가공영역 내의 가공 경로 시점(始點) 을 결정하는 가공순서 결정수단을 구비함으로써, 상기 제3과제를 해결한 것이다.
본 발명은, 또한, 워크 상에 산재하는 복수의 가공영역의 가공순서를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서, 복수 존재하는 동시가공영역에 대하여, 동시에 행하여지는 가공위치 사이의 이동시간 을 균일화할 수 있도록, 각 가공영역 내 의 가공경로의 시점(始点)을 시프트하여, 총가공시간을 단축하는 가공순서 시프트수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은, 또한, 워크 상에 산재하는 복수의 가공위치 또는 워크 내에 설정된 가공영역에 대하여, 순회 세일즈맨 문제를 적용하여 가공순서를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서, 순회 세일즈맨 문제를 해결함으로써, 일순 경로를 최소화한 후, 최장(最長)의 이동을 검출하고, 이 최장의 이동을 하지 않고 완료하도록 , 시점(始点)과 종점(終点)을 결정하는 주사경로 결정수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은 또한, 워크 상에 산재하는 복수의 가공위치 또는 워크 내에 설정된 가공영역에 대하여, 순회 세일즈맨 문제를 적용하여 가공순서를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서, 일순 경로로부터 최장의 이동을 뺀 값을 최소화하도록 개량된 순회 세일즈맨 문제를 해결함으로써, 일순 경로를 구하고, 마지막으로 최장의 이동을 제거하여, 시점과 종점을 결정하는 주사경로 결정수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은 또한, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서, 아직 가공영역으로 둘러싸이지 않은, 제1방향의 끝의 점을 둘러싸도록, 다음 가공영역을 가(假)설정하고, 이 가설정한 가공영역이 상기 제1방향과는 다른 제2방향의 끝의 점을 둘러싸도록, 이 제2방향으로 이동하고, 이 이동한 가공영역이, 이 이동 후의 위치에 있어서의, 상기 제1방향의 끝의 점을 둘러싸도록, 이 제1방향으로 재차 이동하고, 이 재(再)이동한 가공영역이, 이 재이동 후의 위치에 있어서의 상기 제2방향의 끝의 점을 둘러싸도록, 이 제2방향으로 재차 이동하는 순서를 반복함으로써, 다음 가공영역을 확정하는 순서를 반복하는 영역배치 결정수단을 구비함으로써, 상기 제3과제를 해결한 것이다.
본 발명은 또한, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서, 우선 워크 전체 표면을 단순하게 가공영역으로 분할하고, 이어서 가공위치가 없는 가공영역을 모두 제거하는 영역배치 설정수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은 또한, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서, 아직 포위되어 있지 않은 가공위치의 수가 가장 많은 위치에 가공영역을 배치하는 처리를, 모든 가공위치가 포위될 때까지 반복하는 영역배치 결정수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은 또한, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서, 우선, 영역배치를 임시로 정하고, 이어서 가공영역을 근방으로 시프트시켜, 불필요해지는 가공영역을 제거하는 영역배치 결정수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은 또한, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서, 동일 가공위치가 복수의 가공영역에 속하는 경우는, 복수의 동시 가공영역의 각각에 속하는 가공위치수가 균등해지도록, 해당 가공을 수행하는 영역을 결정하는 소속영역 결정수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은 또한, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서, 각 가공영역의 중앙부에 가공위치가 모이도록, 영역위치를 조정하는 영역위치 조정수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은 또한, 복수방향으로 이동가능하게 된 스테이지를 사용하여, 이 스테이지 상에 배치된 워크를 가공할 때에, 상기 스테이지의 이동경로의 시점을, 워크를 로더로부터 스테이지에 올리는 위치, 종점을 워크를 언로더로 옮기기 전의 위치로 하고, 끝점을 고정한 순회 세일즈맨 문제를 해결함으로써, 상기 스테이지의 이동경로를 결정하는 이동경로 결정수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은 또한, 가공영역 내에서 가공수단을 주사가능한 복수의 가공유닛에 의해, 이동가능한 스테이지 상에 배치된 워크를 동시에 가공할 때에 가공계획을 세우기 위한 가공계획장치에 있어서, 가공수단주사 또는 이동횟수 및 스테이지이동횟수가 최소가 되도록, 가공유닛의 간격을 결정하는 유닛간격 결정수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은 또한, 상기 유닛간격 결정수단에 의한 처리를 워크방향을 변경하여 수행하고, 가공수단주사 또는 이동횟수 및 스테이지이동횟수가 최소가 되는 워크방향을 자동적으로 채용하는 워크방향 결정수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은 또한, 복수방향으로 주사 또는 이동가능하게 된 가공수단을 사용하여 워크를 가공할 때에 가공계획을 세우기 위한 가공계획장치에 있어서, 트리형 데이터구조로 표현된, 워크 상에 산재하는 가공위치 또는 가공영역을 나타내는 점의 위치데이터를 기억하는 수단과, 상기 트리형 데이터구조로 표현된 위치데이터를 사용하여, 가공영역위치 및 가공순서를 결정하는 수단을 구비함으로써, 동일하게 상기 제3과제를 해결한 것이다.
본 발명은 또한, 상기 어느 하나에 기재된 가공계획장치를 포함하는 가공장치를 제공하는 것이다.
본 발명은 또한, 상기 어느 하나에 기재된 가공계획장치를 실현하기 위한 컴퓨터 프로그램을 제공하는 것이다.
본 발명은 또한, 통신회선을 통하여 가공장치측으로부터 수신한 가공위치데이터에 근거하여 가공계획을 결정하고, 상기 가공장치측에 회신하도록 하여, 상기 제4과제를 해결한 것이다.
또, 상기 가공계획을, 상기 어느 하나에 기재된 방법에 의해 결정하도록 한 것이다.
본 발명은 또한, 상기 가공데이터 작성방법을 실현하기 위한 컴퓨터 프로그램을 제공하는 것이다.
본 발명은 또한, 가공데이터 작성장치에 있어서, 통신회선을 통하여 가공장치측으로부터 가공위치데이터를 수신하기 위한 수신수단과, 수신한 가공위치데이터에 근거하여 가공계획을 결정하기 위한 계획수단과, 결정한 가공계획을 상기 가공장치측에 회신하기 위한 송신수단을 구비함으로써, 동일하게 상기 제4과제를 해결한 것이다.
또, 상기 가공데이터계획을, 상기 어느 하나에 기재된 방법에 의해 결정하도록 한 것이다.
본 발명은 또한, 상기 가공데이터 작성장치를 실현하기 위한 컴퓨터 프로그램을 제공하는 것이다.
본 발명은 또한, 상기 컴퓨터 프로그램이 기록된, 컴퓨터읽기 가능한 기록매체를 제공하는 것이다.
이하, 도면을 참조하여, 레이저천공기에 적용한 본 발명의 실시형태를 상세하게 설명한다.
본 발명에 관련되는 레이저천공기의 가공계획장치(70)의 실시형태는, 도 10에 나타낸 바와 같이, 복수 유닛(본 실시형태에서는 2유닛)의 영역배치 계획장치(72)와, 스테이지ㆍ갈바노패스 계획장치(76)로 구성된다.
상기 2유닛의 영역배치 계획장치(72)는, 천공점의 좌표값을 기초로, 주사영역(가공영역)의 수가 최소가 되도록 하는 좌우 갈바노 유닛(22L, 22R)의 작업영역을 결정하고, XY좌표값의 변환이 필요하다면 실행하고, 상기 유닛간 거리(A)를 결정하여, 주사영역위치데이터(B), 및 각 주사영역 내의 천공위치데이터(D)를 작성한다.
이 2유닛의 영역배치 계획장치(72) 안에는, 2차원 영역 내의 모든 점을 최소수의 동일 치수의 직사각형에 의해 포위하여 직사각형의 배치를 결정하는 영역배치 계획장치(74)가 포함되어 있고, 최적의 유닛간 거리를 결정할 수 있을 때까지 루프처리를 반복하는 처리를 수행한다.
상기 영역배치 계획장치(74)는, 어느 영역과 그 영역 내의 천공위치에 대하여 최소 매수(枚數)의 주사영역수가 되는 영역배치를 계획한다.
상기 스테이지ㆍ갈바노패스 계획장치(76)의 입력은 주사영역위치데이터(B)와 천공위치데이터(D)이고, 주사영역을 방문하는 순서(스테이지패스) 및 각 영역의 천공위치를 방문하는 순서(갈바노패스)를 계획하여, 주사영역위치 방문순서데이터(C) 및 천공위치방문 순서데이터(E)를 작성한다.
이하, 도 11을 참조하여 각 장치가 수행하는 처리에 대하여 구체적으로 설명한다.
상기 2유닛의 영역배치 계획장치(72)는, 도 12에 나타낸 바와 같이, 이른바「일(一)변수함수의 최소화」처리를 수행한다. 본 실시형태에서는, 일변수함수의 극소화 알고리즘으로서 일반적으로 알려진 황금분할법을 사용했다. 즉, 영역배치계획장치(74)에 유닛간 거리(A)를 입력하면, 스테이지이동횟수 및 「빔주사횟수」, 또는 그것들에 각각 가중치를 부가한 파라미터(후에 상술함)를 계산할 수 있고, 그들 계산결과를 함수의 출력값으로 간주할 수 있다는 작용을 이용하여, 그 출력값을 최소화하는 유닛간 거리를 결정한다는 방법이다.
구체적인 계획 순서를 설명하기 전에, 상기 「빔주사횟수」라는 용어의 의미와, 스테이지이동횟수 및 「빔주사횟수」를 최소화하는 근거, 및 2유닛의 영역배치 계획장치(72)의 내부에 포함된 영역배치 계획장치(74)의 이용방법에 대하여 설명한다. 좌우 유닛의 동시가공영역의 천공수 중, 큰 쪽을 취하여 1을 뺀 것은, 어느 동시가공영역에 있어서의 빔주사횟수이지만, 그 값을 모든 동시가공영역에 대해서 총합을 취한 것을 「빔주사횟수」라고 정의한다. 이 빔주사횟수가 적을수록, 좌우 동시가공영역의 홀(hole)수(數) 균형성이 잡혀 있고, 한쪽 유닛만으로 조사가공을 수행하고 있는, 이른바 헛된 작업(無獻打) 상황이 줄어들어, 총가공시간은 감소될 가능성이 높다. 또, 스테이지이동횟수가 적을수록, 총가공시간이 감소될 가능성이 높다는 것은 용이하게 상상할 수 있다.
왜냐하면, 총빔주사시간과 총스테이지이동시간의 두 가지는 총가공시간의 대부분을 차지하고 있고, 그들은 대략,
총빔주사시간의 총합 = (빔주사시간의 평균) ×(빔주사횟수),
총스테이지이동시간의 총합 = (스테이지이동시간의 평균) ×(스테이지이동횟
수)
로 구할 수 있다. 빔주사시간과 스테이지이동시간의 평균값의 단축은, 스테이지ㆍ갈바노패스 계획장치(76)의 역할로써 실현가능하며, 만약 2유닛의 영역배치 계획장치(72)에 의해 빔주사횟수 및 스테이지이동횟수를 최소가 되도록 할 수 있으면, 총가공시간은 감소될 것이기 때문이다.
영역배치가 결정된 시점에 있어서의 좌우 빔조사영역의 영역배치는, 유닛간 거리가 가공시에는 일정하다는 것으로부터, 다른쪽은 한쪽을 유닛간 거리만큼 평행시프트하면 완전하게 일치하는 관계에 있다. 그래서, 유닛간 거리(A)를 어느 값으로 설정하면, 도 13에 나타낸 바와 같이, 좌우 영역의 예컨대 좌단을 일치시키는 겹침을 수행하여 임시 영역을 작성하고, 만들어진 영역에 대하여, 영역배치 계획장치(74)를 이용하여, 최소수의 주사영역배치를 결정하고, 그 때의 빔주사횟수 및 스테이지이동횟수를 계산할 수 있다.
영역배치 계획장치(74)를 상술한 바와 같이 사용함으로써, 임의의 유닛간 거리에 대한 스테이지이동횟수 및 빔주사횟수를 도 14에 나타낸 바와 같이 구하는 것이 가능하다. 즉, 이들 값이 최소가 되는 유닛간 거리를, 예컨대 황금분할법 등의 일변수함수의 극소화수법에 의해 수(數)스텝의 반복처리로 구하면 목적은 달성된다는 원리이다.
황금분할법은, 엄밀하게는 일변수함수의 「최소화」알고리즘(전역적 최적해(最適解) 발견 알고리즘)이 아니고, 「극소화」알고리즘(국소적 최적해 발견 알고리즘)이지만, 실제적으로는 다봉적(多峰的) 형상인 함수의 최소값을 구하는 것은 매우 곤란하기 때문에, 본 실시형태에서는 수(數)스텝에서 극소값을 발견하는 것이 가능한 황금분할법을 이용하였다. 보다 최소값에 가까운 극소값을 구하는 경우에는, 예컨대 시뮬레이티드 어닐링법(simulated-annealing method) 등의 휴리스틱(heuristic)해법(발견적 해법이라고도 함)을 사용하여도 좋다.
실제로는 상기 두 개의 함수의 형상은 복잡하며, 양쪽을 최적으로 하는 위치를 결정하는 것은 곤란하다(일반적으로 「다목적(여기서는 2목적) 최적화문제」라고 함).
그래서, 빔주사평균시간은 약 1∼3msec정도, 스테이지이동 평균시간은 약 0.2∼0.4초 정도이기 때문에, 빔주사와 스테이지이동에 약 100∼400(=β)정도의 가중치를 부가하여,
G (빔주사횟수) + β×S (스테이지이동횟수)
를 최소로 하도록 설정할 수 있다(「가중파라미터법」이라고 하는 경우도 있다). 여기서, β는 실험에 따라 결정하여 둔다.
이 조작에 의해, 2목적 최적화문제를 1목적 최적화문제로 환원할 수도 있다.
그리고, 빔주사횟수(G)에도 계수(γ)를 부가하여,
γ ×G + β×S
로 하여도 좋다.
이 일반식은, 실험에서 구한 β의 값이 소수값인 경우, 일반적으로 계산기는 소수값의 연산보다 정수값의 연산 쪽이 고속이기 때문에, G + β×S 전체를 적당한 정수배(整數倍)(γ배)하여,
γ×G + γ×β×S
로 하여, γ×β를 새롭게 β로 바꿔넣은 것이라고 생각할 수 있다.
또, β= 0, γ= 1이면 G, 즉 빔주사횟수를 나타낸다. 또, β= 1, γ= 0이면 S, 즉 스테이지이동횟수를 나타낸다. 본 문제에서는, G와 S의 최소가 되는 유닛간 거리의 값은 가깝다고 예상되기 때문에, 어느 한쪽만의 최적화에 의해 계산시간을 단축하는 것도 가능하다.
구체적으로는, 도 12에 나타낸 바와 같이, 우선 스텝 101에서 천공점위치의 좌표를 입력한다.
이어서, 스텝 102∼104 및 스텝 105 및 107에 의해, 유닛간 거리가 최소 위치(약 100㎜)와, 최대 위치(약 300㎜)에 있어서의 주사영역수 및 빔주사횟수, 또는 그들 각각에 가중치를 부가한 파라미터를 영역배치 계획장치(74)에 의해 산출한다.
여기서는, 유닛간 거리(A)를, 종래와 동일하게 최소값 100㎜, 최대값 300㎜로 하고 있다. 시뮬레이션에 의해, 최적의 유닛간 거리는 횡폭을 1/2로 분할한 위치에 가까운 위치에 있는 것은 확실하지만, 기판에 따라서는 100㎜보다 작은 경우나, 300㎜보다 큰 경우도 있다. 100㎜라는 하한(下限)은, 유닛 자체의 물리적인 폭이 있기 때문에 변경되지 않는 경우도 있지만, 300㎜라는 상한(上限)은 변경되도록 할 수도 있다. 또, 100㎜, 300㎜라는 최소값, 최대값은, 상기 순서의 초기위치(스텝 102, 105)에 설정되어 있지만, 기판의 크기에 따라서는, 이 범위에 영역최소의 위치가 들어가지 않거나, 명백히 100㎜ 부근은 거리가 너무 짧아서 조사할 필요가 없는 경우도 있다. 따라서, 기판의 사이즈에 따라, 초기위치도 임기응변으로 설정한다.
이어서, 스텝 108에서, 유닛간 거리(A)를 직전위치 2회의 사이의 적절한 위치(예컨대, 황금분할비)로 재설정하고, 스텝 109 및 110에서, 그 위치에 있어서의 주사영역수를 영역배치 계획장치(74)에 의해 산출한다.
도 12의 스텝 110에서 γ×G + β×S를 계산한 결과, 최소라고 판단할 수 있으면 스텝 111에서 루프를 종료하고, 최소가 되어 있지는 않다고 판단되면 스텝 108로 되돌아간다.
스텝 111에서 루프를 탈출한 경우, 그 때의 영역수 및 유닛간 거리를 기억하여, 스텝 112에서 점데이터의 XY좌표를 교환하여, 점선으로 둘러싸인 스텝 102 내지 111의 루프처리를 재차 실행한다.
이와 같이 하여, 데이터의 XY좌표교환을 수행함으로써, 본래 데이터의 XY 양쪽축의 수직분할을 실현하고, 그 양쪽에 대하여 유닛간 거리(A)의 최적화를 수행하여, 좋은 쪽을 채용함으로써, 빔주사횟수, 스테이지이동횟수가 한층 적어지게 되는 유닛간 거리의 설정이 가능하다. 예컨대, 도 15에 나타낸 바와 같은 기판의 경우, 도 16에 나타낸 바와 같이, X축방향의 분할과 Y축방향의 분할 양쪽에 대해 계산하여 최적의 것을 선택할 수 있다.
그리고, 기판의 놓는 방법을 90도 변경한 경우에는, 그 사실을 가공자에게 알릴 필요가 있다. 혹은, 기판을 레이저가공기에 올려 놓는 로더에 회전기구를 마련하여, 자동적으로 회전하여도 좋다.
상기와 같은 비교에 의해, 도 12의 스텝 114에서 스테이지이동횟수 및 빔주사횟수가 최소인 유닛간 거리를 확정한다. 본래 CAD데이터에 있어서의 X축을 분할하고 있는 것이면, 다시 한 번 XY좌표교환을 수행하여, 본래로 되돌려 놓는다.
이 단계에서, 유닛간 거리 및 대략 그 영역배치가 구해진다. 영역매수는 최소가 되었지만, 주사영역이 중복되어 있는 경우가 있다. 그래서, 스텝 115로 진행하여, 중복개소의 천공위치가 어느 주사영역 내에 포함되는 것인지를 확정, 즉 모든 천공점위치가 소속하는 주사영역의 라벨(번호)을 확정한다.
즉, 도 17에 나타낸 바와 같이, 영역 F와 G가 중복되어 있어, 영역 F(1), F(2)와 영역 G(1), G(2)(괄호 안의 숫자 1은 좌측 유닛, 숫자 2는 우측 유닛을 나타낸다)의 양쪽 영역에 중복되는 영역 W(1), W(2)가 있는 경우에는, 다음의 수학식 1에 나타낸 바와 같이, 좌우 영역 F의 홀의 수가 많은 쪽과, 좌우 영역 G의 홀의 수가 많은 쪽의 합이 최소가 되도록, 좌우 동시가공영역의 홀의 수를 균등하게 배분함으로써, 시간단축으로 연결할 수 있다.
현재, 도 18의 상단(上段)에 나타낸 바와 같이, 좌측 유닛의 영역 F(1)에만 속하는 천공위치가 30홀, 동일하게 영역 G(1)에만 속하는 천공위치가 20홀, 중복영역 W(1)이 60홀로 하고, 우측 유닛의 영역 F(2)에만 속하는 것이 10홀, 영역 G(2)만이 40홀, 중복영역 W(2)가 50홀이였다고 하면, 특별히 생각할 필요없이, 기계적으로 예컨대 먼저 결정한 영역에 모두 배분한 경우에는, 도 18의 중단(中段)에 나타낸 바와 같이, 좌측 유닛의 F(1)이 90홀, G(1)이 20홀, 우측 유닛의 F(2)가 60홀, G(2)가 40홀이 되고, 영역 F의 갈바노 쇼트수가 90회, 영역 G의 갈바노 쇼트수가 40회로 합계 130회가 된다.
이에 반하여, 본 발명에 의해 동시가공영역의 홀의 수를 균등화한 경우에는, 도 18의 하단(下段)에 나타낸 바와 같이, 좌측 유닛의 F(1)에 55홀, G(1)에 55홀, 우측 유닛의 F(2)에 55홀, G(2)에 45홀로, 영역 F의 갈바노 쇼트수가 55회, 영역 G의 갈바노 쇼트수가 55회가 되어, 합계 110회로써, 모두 20회 감소시킬 수 있다.
현재, 중복개소 배분처리를 실행하는 순서는, 예컨대 임의의 순번, 중복 홀의 수가 많은 순번 등과 같이 적절한 방법을 취하도록 결정하고 있는 것으로서, 중복개소 배분처리의 순서를 서술한다. 여기서, 홀의 수를 소문자로 f(1), g(1) 등으로 나타낸다. 여기서, f(1), f(2)를, 각각 좌측 또는 우측 유닛의 영역 F의 G와 중복되지 않는 위치에 속하는 홀, g(1), g(2)를, 각각 좌측 또는 우측 유닛의 영역 g의 f와 중복되지 않는 위치에 속하는 홀로 하고, fg(1), fg(2)를, 각각 좌측 또는 우측 유닛의 영역 F, G의 2영역인 중복영역 W1, W2에 있는 홀로 하고, |f(1)|, |g(1)|, |f(2)|, |g(2)|를, 각각 좌측 유닛의 영역 F(1) 또는 G(1), 우측 유닛의 영역 F(2) 또는 G(2)에 속해 있는 홀의 수로 한다.
그러면, 구체적인 처리순서는, 예컨대 도 19에 나타낸 바와 같이 되고, 우선 스텝 201에서, f(1) - f(2), g(1) - g(2) 및 그 절대값을 계산한다. 이어서, 스텝 202에서, 수치예(數値例)를 나타낸 도 20에 화살표 A로 나타낸 바와 같이, 절대값이 큰 쪽 영역의 홀의 수가 적은 쪽에, 중복개소로부터 홀의 수를 보충한다. 이어서, 스텝 203에서, 도 20에 화살표 B로 나타낸 바와 같이, 절대값이 작은 쪽 영역의 홀의 수가 적은 쪽에, 중복개소로부터 홀의 수를 보충한다. 이어서, 스텝 204에서, 도 20에 화살표 C로 나타낸 바와 같이, 중복개소에 남은 홀을 F와 G에 균등하게 배분하여 처리를 종료한다.
이상의 스텝에 의해, 중복개소의 천공위치를 영역 F와 G에 배분하는 개수가 결정되지만, 어느 천공위치가 F로, 어느 천공위치가 G로 배분될지는 결정하지 않는다. 그 배분방법은, 예컨대 F의 중심으로부터의 거리를 중복개소의 천공위치 전체에 관하여 구하고, F의 중심으로부터 가까운 것의 순서로 F로 배분되는 홀의 수만큼 F에 배분하는 휴리스틱(heuristic)한 방법을 취한다.
그리고, 영역이 중복된 홀의 배분방법은 이에 한정되지 않고, 예컨대 도 21에 나타낸 바와 같이, 각 영역의 중심으로부터의 거리가 가까운 쪽에 배분하여도 좋다.
도 12의 스텝 115 종료후, 스텝 116에서 주사영역의 중심을, 본래 영역(8) 내의 점데이터의 존재위치를 사용하여 미조정하고, 수정 후의 영역(8') 중앙에 점이 모이도록 하여 가공정밀도를 향상한다. 구체적으로는, 도 22에 나타낸 바와 같이, 천공위치의 분포범위의 중심(각 축 최소, 최대인 평균값)에서 미조정하거나, 혹은 도 23에 나타낸 바와 같이, 천공위치의 무게중심이 수정 후의 영역(8')의 중심이 되도록 미조정할 수 있다. 후자의 경우, 일부의 점(P)이 벗어나는 경우에는, 모든 점이 들어가는 한계까지 수정한다. 도 23의 예에서는, Y축은 무게중심위치까지 시프트해도 문제가 없지만, X축은 무게중심위치로 이동하면, 벗어나 버리는 점(P)이 있기 때문에, 천공위치가 모두 들어가는 한계까지 중심위치를 시프트한다.
이 조작은 시간단축과는 관계가 없지만, fθ렌즈(34L, 34R)의 수차(收差) 등의 관계에서, 중심쪽이 고정밀도이기 때문에, 가공정밀도 향상에 효과가 있다.
실용상의 관계로서, PC 상의 윈도우(52)에 의해 입력하여 대체처리로서 가능한, 상기 스텝을 보다 간략화한 다음의 방법을 채용할 수도 있다.
이 대체처리법은, 점데이터의 패턴을 이용하는 방법이고, 도 24에 본 방법에 의한 처리의 개략을 나타낸다. 또, 도 25에 본 방법에 있어서의 유닛간 거리의 후보를 표시하는 예를 나타낸다.
본 방법은, X축에 수직으로 유닛작업영역을 분할한 경우와, Y축에 수직으로 분할한 경우의 양쪽에 대하여, 「점이 있는 장소의 좌단부터, 점이 있는 장소의 횡폭을 반분할한 위치로부터 점이 있는 장소까지 유닛의 분할선을 시프트한 장소까지의 거리」를 유닛간 거리로 결정했을 때의 영역수와, CAD데이터에 패턴정보가 있는경우에는, 「패턴의 시프트량 중, 유닛간 거리의 최소값(약 100㎜)과 최대값(약 300㎜) 사이에 있는 것」 전체에 대하여, 패턴의 시프트량을 유닛간 거리로 정했을 때의 영역수를 영역배치 계획장치(74)에 의해 구하고, 전체 중에서 가장 영역수가 작은 것을 선택한다는 방법이다.
도 25의 예에서는, 최적의 유닛간 거리는 최대 패턴(A)의 시프트량 260㎜, 혹은 반분할(기판횡폭 560㎜ ÷2 = ) 280㎜가 된다.
본 방법에서는, 유닛간 거리를 황금분할법에 의해, 적절한 위치로 정해가는 것이 아니고, 스텝 302 내지 305에 있어서, 패턴의 시프트량 중에서, 유닛간 거리의 최소값과 최대값 사이에 있는 것에 대해, 모두 수행하도록 한 점이 도 12의 예와 다르다. 다른 점에 관해서는 동일하기 때문에, 동일 부호를 부가하여, 설명은 생략한다.
한편, 2유닛의 영역배치 계획장치(72)에 포함되어 있는 상기 영역배치 계획장치(74)는, 2차원영역의 모든 점을 최소수의 동일 치수 직사각형(예컨대, 정사각형)으로 포위할 때의 직사각형 영역의 배치를 결정하는 것이다. 이 장치에 의해, 최소 주사영역수(따라서, 최소의 스테이지이동횟수)를 실현하는 것이 가능해진다.
이하, 도 26을 참조하여, 본 장치에 의한 영역배치 결정순서를 상세하게 설명한다.
여기서, 각 처리에 있어서, 현재 주목하고 있는 위치(X, Y)가, 영역(정사각형)의 좌측하단 모서리의 꼭지점인 것으로 한다. 각 처리에 있어서, 영역의 위치를 갱신한다.
우선 스텝 401에서 천공위치의 좌표를 입력한다.
이어서, 스텝 402에서, 천공위치를 X좌표의 값에 의해 소트한다. 또 스텝 406, 409, 411에 있어서, 영역위치를 X축 음의 방향, 혹은 X축 양의 방향으로 갱신하고 있다. 이것은, 전체적으로는 X축의 값이 작은 천공위치로부터, 하나의 영역결정루프에 있어서는, 영역의 중복을 가능한 한 피할 수 있도록, 영역의 X축값, Y축값을 갱신하면서, Y축의 값이 작은 천공위치부터 점을 포위하려고 하는 목적에 의한 것이다.
본 장치에는, Y축 음의 방향(아래쪽)의 두 개의 영역위치 갱신처리(스텝 406, 411)와, X축 양의 방향(오른쪽)의 영역위치 갱신처리(스텝 409)가 있다.
이하, 도 27 내지 도 32를 참조하여, 구체적인 처리순서를 설명한다.
현재, 도 27에 있어서, 4개의 영역(E1∼E4)이 확정되고, 5번째 영역(E5)의위치를 찾는 경우를 생각하면, 우선 스텝 403에서 소트된 순서대로, 아직 피복영역이 확정되어 있지 않은 점을 찾는다. 스텝 404에서, 도 28에 나타낸 바와 같이, 둘러싸여 있지 않은 가장 왼쪽의 점(P1)을 발견하여, 스텝 405에서, 이 점(P1)을 포위하는 영역(E5)을 임시로 작성한 후, 스텝 406에서 영역위치를 아래쪽으로 갱신하기 위해, 영역폭만큼의 띠영역(B1)에 대하여, 둘러싸여 있지 않은 가장 아래의 점, 즉, 현재 영역위치(E5)의 아래 부분에서, 아직 영역이 결정되어 있지 않은 Y좌표값이 최소인 것을 찾는다(영역위치의 갱신①). 없으면, 이전의 위치로 확정한다.
한편, 도 29에 나타낸 바와 같이, 가장 아래의 점(P2)이 발견된 경우에는, 이 점이 밑변의 위치가 되도록, 영역(E5)의 위치를 아래쪽으로 움직인다. 발견됐으면 Y좌표의 값을 Y'로 갱신하지만, (X, Y')에 있어서의 영역과, 지금까지 확정되어 있는 영역의 겹침이, 도 30에 나타낸 바와 같이, 어느 값보다 큰 경우에는, 겹침이 큰 영역 상부의 겹쳐 있지 않은 영역(e) 중에서 Y좌표가 최소인 것을 재차 찾는다. 영역(e) 안에 점이 발견되면(Y"), 영역(e)의 Y좌표값 최소인 것(Y")으로 Y좌표의 값을 갱신하여 겹침을 회피한다. 영역(e) 안에 점이 발견되지 않은 경우에는, 다음으로 처리할 영역위치의 오른쪽 갱신에 의해, 전혀 겹침이 없도록 오른쪽으로 위치가 갱신될 것이기 때문에, Y좌표의 값을 그대로 Y'로 갱신한다.
스텝 407에서 Y좌표의 값이 갱신되었을 때에는 스텝 409로 진행하고, 영역위치를 오른쪽으로 갱신하기 위해, 도 31에 나타낸 바와 같이, 영역(E5)의 위치를 오른쪽으로 이동하고, 현재 영역 중에서, X좌표값이 최소인 점(P3)의 값으로 X좌표의 값을 갱신한다(영역위치의 갱신②).
스텝 409에서 X좌표의 값이 갱신된 경우에는 스텝 411로 진행하고, 영역위치를 재차 아래쪽으로 갱신하기 위한 처리를 수행한다(영역위치의 갱신③). 구체적으로는, 도 32에 나타낸 바와 같이, 현재 영역의 위치(X, Y)로부터 Y축 음의 방향으로, 지금까지 결정되어 있는 영역의 4개의 변(邊) 중, 상부 변의 Y좌표 중에서 최대인 것을 찾아낸다. 단, 하측으로 이동하여도, 일정 이상 변이 중복되지 않은 영역은 무시하기로 한다. 발견된 변의 Y좌표를 Y'로 한다. 현재 영역의 하부, 또한 Y좌표값이 Y' 이상인 직사각형 영역(B2) 내에 대하여, 아직 영역이 결정되어 있지 않은 Y좌표값 최소인 것을 찾는다. 발견되면, 그 값으로 Y좌표값을 갱신한다.
본 장치에는, 하나의 영역을 결정하기 위한 제1루프와, 영역의 위치를 오른쪽, 아래쪽으로 미조정하기 위한 제2루프가 존재한다. 영역위치가 결정되면, 제1루프로부터 탈출하고, 영역위치갱신스텝 409, 411에 있어서, 영역위치가 갱신되지 않으면, 제2루프로부터 탈출한다.
상기 처리를 영역의 위치가 확정될 때까지 반복하여, 도 33에 나타낸 바와 같이, 최종적인 영역(E5)의 위치를 확정하고, 다음 영역을 찾는 루프로 이동한다. 그리고, 주사방향 및 영역위치의 갱신방향 등은, 상기 설명에 한정되지 않으며, 예컨대 반대여도 좋다.
상기 영역배치 계획장치(74)에 있어서의 처리의 변형예로서, 도 34에 나타낸 바와 같이, 조합최적화문제에 있어서의 국소탐색법(局所探索法 ;local search)(반복개선법(反復改善法 ; iterative improvement method)라고도 함)을 응용하여, 종래 영역의 배치로부터, 우선 전혀 점이 없는 영역을 제거한 영역배치를 작성하여,영역위치를 상하좌우로 시프트시켜, 불필요해지는 영역을 차례대로 제거하여 가는 것도 가능하다.
구체적으로는, 도 35에 나타낸 바와 같이, 우선 스텝 501에서 도 34(A)에 나타낸 바와 같은 종래 영역으로부터 점이 없는 영역을 제거함으로써, 도 34(B)에 나타낸 바와 같은 영역배치를 초기해(初期解)로서 발생한다. 단, 여기서 「해(解)」라는 것은, 「모든 점을 포위하는 영역배치(및 영역수)」가 가능한 조합(해집합(解集合)) 중 하나를 가르킨다. 또, 「좋은 해」라는 것은, 여기서는 영역수가 적은 해를 가르킨다.
초기해의 발생방법은 상기에 한정되지 않고 다양한 방법을 생각할 수 있다. 예컨대, 「아직 포위되어 있지 않은 점을 가장 많이 포위하는 위치를 발견하여, 영역을 배치한다」는 처리를 모든 점이 포위될 때까지 반복한다는 조합최적화문제에 있어서 알려진, 이른바 그리디 알고리즘(greedy algorithm) (탐욕산법(貪慾算法))적인 방법 등이어도 좋다.
또, 도 26에 보여지는 바와 같은 순서에 의해 결정되는 영역배치를 초기해로 하여도 좋다.
이어서, 스텝 502에서 y에 초기해 x를 대입하고, 스텝 503에서 해 y의 근방 N(y) 내를 탐색한다. 구체적으로는, 도 36에 나타낸 바와 같이, 어느 주목영역 Ei에 대하여, 그 영역 내에 단독으로 소속되어 있는 점이, 그 영역으로부터 빠져나가지 않는다는 제한 하에서, 영역위치를 움직일 수 있는 영역 내의 어느 위치로 움직였을 때에, 움직인 위치의 영역 내에, 주목영역 Ei의 인접영역의 하나인 Ej 내에단독으로 소속되어 있는 점이 모두 들어가는 경우에는, 그 인접영역 Ej는 불필요해지므로, 해제함으로써 y보다 좋은 해 z를 발견하고, 스텝 505에서 발견된 해 z의 값을 y에 대입하여, 재차 스텝 503을 반복한다.
스텝 503의 처리에 있어서, N(y) 내에 y보다 좋은 해를 발견할 수 없게 된 단계에서, 스텝 506으로 진행하고, 현재의 y의 값으로써 해로 하여 처리를 종료한다.
혹은, 도 37에 나타낸 바와 같이, 중복개소에 의해 연결되어 있는 어느 두 개의 인접하는 영역 Ei, Ei+1에 대하여, 그 2영역 내에 단독으로 소속되어 있는 점, 즉 중복부 이외의 영역에 존재하는 점이, 그 두 개의 영역으로부터 빠져나가지 않는다는 제한 하에서, 영역위치를 움직일 수 있는 영역 내의 어느 위치에 두 개의 영역을 움직였을 때에, 인접영역의 하나 Ej 내에 단독으로 소속되어 있는 점이 모두 들어가는 경우에는, 그 인접영역 Ej는 불필요하기 때문에 삭제할 수도 있다.
그리고, 중복개소에 의해 연결되어 있는 영역의 수는 2보다 크더라도 상관없다. 즉, 2 이상의 임의의 n에 대하여, 중복개소에 의해 연결되어 있는 어느 n개의 영역 Ei, ㆍㆍㆍ Ei+n-1에 관하여, 그 n영역 내에 단독으로 소속되어 있는 점, 즉 중복부 이외의 영역에 존재하는 점이, 그 n개의 영역으로부터 빠져나가지 않는다 는 제한 하에서, 영역을 움직일 수 있는 영역 내의 어느 위치에 n개의 영역을 움직였을 때에, 인접영역의 하나 Ej 내에 단독으로 소속되어 있는 점이 모두 들어가는 경우에는, 그 인점영역 Ej는 불필요하기 때문에 삭제할 수도 있다.
상기 스테이지ㆍ갈바노패스 계획장치(76)는, 주사영역의 방문순서(스테이지패스) 및 각 주사영역 내의 가공위치(천공위치) 점의 방문순서(갈바노패스)의 최적화를 계획한다. 이 장치의 기본적인 처리순서를 도 38에 나타낸다. 이 장치는, 일반적으로 널리 알려져 있는 순회 세일즈맨 문제(모든 도시를 방문하여 최초의 도시로 되돌아오는 일순 경로 중에서, 일순 경로 길이가 최소인 것을 구하는 문제 : TSP(Traveling Salesman Problem) 라고도 함), 혹은 상황에 따라 일반적인 TSP를 개량한 방법(개량 TSP라고 함)을 적용하는 것을 큰 특징으로 한다. 또, 경우에 따라서는 일순하여 원래의 위치로 되돌아올 필요가 없는 경우는, 주사 혹은 이동의 시점과 종점을 결정하는 처리도 필요해진다.
상황에 따른 순회 세일즈맨 문제의 적용법 및 시점과 종점을 결정할 때에는, 다음의 항목에 특히 주목한다.
스텝 601의 스테이지패스 계획의 경우, XY스테이지(40)는, 도 1에 나타낸 바와 같이, X축방향만으로의 이동을 만들어내는 X스테이지(40X)와, Y축방향으로만의 이동을 만들어내는 Y스테이지(40Y)의 스테이지 2대에 의해 구성되어 있기 때문에, XY스테이지(40) 1회의 이동완료는 2대의 스테이지(40X, 40Y)의 양쪽의 이동이 완료된 시점으로 한다. 일반적으로, X스테이지(40X)는 Y스테이지(40Y)의 아래에 위치하기 때문에, 무겁게 되어 있어, 도 39에 예시하는 바와 같이 응답성이 떨어진다.
따라서, 가공위치 (x1, y1)로부터 (x2, y2)로의 이동거리(L)는 이동거리가 같을 때는, 항상 X축방향 이동시간이 Y축방향 이동시간의 일정(α) 배(倍)가 된다고 가정하여, 상수(α)를 실험 등으로 구한 후, 다음 식으로 구한다.
여기서, max(p, q)는, p와 q가 큰 쪽을 나타낸 기호이다.
혹은, 이동거리 1에 대한 X축방향, Y축방향의 이동시간 Tx(1), Ty(1)을 실험 등으로 구하여, 다음 식으로 구할 수도 있다.
또한, 스테이지패스의 시점과 종점인데, 도 40의 상단에 나타낸 바와 같이, 시점은 로더로부터 스테이지로 탑재하는 위치, 종점은 언로더로 옮기기 전의 스테이지의 위치로 하고, 끝점을 고정한 순회 세일즈맨 문제를 해결함으로써, 스테이지동작시간을 효과적으로 단축할 수 있다.
시점ㆍ종점을 맞춘 스테이지의 최적경로를 도 40의 중단에, 그 때의 기판 상의 방문순서(기판 상의 영역방문방향과 스테이지이동방향은 180°반대로 된다)를 도 40의 하단에 나타낸다.
스텝 602∼604의 갈바노패스계획의 경우, 거리에 관해서는 제1, 제2갈바노 스캐너(28L, 28R, 32L, 32R)는, 한쪽이 다른쪽의 축(X축 또는 Y축)의 위치를 독립적으로 변경시키도록 하는 구조이기 때문에, 하나의 주사영역의 1회의 갈바노 스캐너의 주사완료는, 제1, 제2 양쪽의 갈바노 스캐너의 주사가 완료된 시점으로 할 필요가 있다. 그러나, 일반적으로 제2미러(30L, 30R)에 대한 조사가능범위는, 제1미러(26R, 26L)에 대한 조사가능범위보다 넓고, 따라서 제2미러는 제1미러보다도 무겁게 되어 있고, 도 41에 예시하는 바와 같이 응답성이 떨어진다.
이상의 이유로부터 천공위치 (x1, y1)로부터 (x2, y2)로의 이동거리(M)는, (이동거리가 같을 때는, 항상 제2미러 이동시간이 제1미러 이동시간의 일정배가 된다고 가정하여) 상수(α)를 실험 등으로 구한 후, 다음 식으로 구할 수 있다.
혹은, 이동거리(M)를 기판 상의 좌표에서 구하는 것이 아니고, 갈바노 미러의 주사각(θ, δ)에 의해, 다음 식으로 구할 수도 있다.
또한, 별도의 거리설정방법으로서, 실험 등에서 이동거리(m)에 대한 X축방향, Y축방향의 이동시간 Tx(m), Ty(m)을 실험으로 구하고, 다음식으로 구할 수도 있다.
그리고, 예컨대 도 42의 상단에 나타낸 바와 같이, 좌우 유닛의 동시가공영역의 빔주사시간에 편중이 있어, 한쪽에 대기시간이 발생하는 경우에는, 스텝 603에서 시점을 서로 어긋나게 하여 매칭을 함으로써 빔주사시간의 편중을 없애서, 총가공시간을 단축할 수 있다.
즉, 예컨대 도 43의 상단에 나타낸 바와 같은 좌측 영역에서 점 P1(1)∼P5(1), 우측 영역에서 점 P1(2)∼P4(2)를 가공하는 경우에는, 도 43의 중단처럼보다도 하단과 같이 우측영역의 시점을 P1부터 P2로 변경함으로써, 총이동시간을 대폭으로 단축할 수 있다.
또, 갈바노패스의 시점과 종점인데, 구체적으로는 도 44에 나타낸 바와 같이, 순회 세일즈맨 문제를 적용하여 일순 방문 순서를 결정하고, 가장 거리가 긴(시간이 걸리는) 이동(Lmax)을 제거할 수 있도록 시점과 종점을 결정할 수 있다.
혹은, 실용상 특히 방문위치가 적은 때 등은, 대체처리로서 도 45 및 도 46에 나타낸 바와 같이, 「(일순경로길이)-(최장의 이동길이)」를 최단(最短)으로 하도록 일순 경로를 결정하여, 최장의 이동을 제거하도록 할 수도 있다. 순회 세일즈맨 문제의 방법 중, k옵트법 및 LK법은 모두 「해(解)(어느 일순 경로)」의 근방을 탐색하고, 근방 해로써 갱신한다」라는 루프의 반복에 의해 해를 점차 개선하여 간다. 따라서, 각 루프의 「해」로서 「일순 경로 길이」가 아니고, 「(일순 경로 길이) - (최장의 이동길이)로 평가하면, 최종적인 해로서도 「(일순 경로 길이) - (최장의 이동길이)」가 최소가 된다. 도 46의 경우, 우측이 일순 경로 길이는 적지만, 「(일순 경로 길이) - (최장의 이동길이)」로 비교하면, 좌측이 최적해가 된다.
또, 스텝 601 및 602에서 이용하는 순회 세일즈맨 문제의 수법으로서는, 예컨대 니어리스트 네이버법, 멀티플 프래그먼트법, 2옵트법, 3옵트법, 린앤드카니한법(Kernighan and Lin Algorithm)(LK법), ITERATAD-LK법, CHAIND-LK법, ITERATED-3옵트법, CHAIND-3옵트법 등을 계산시간과 효과(경로길이) 둘 다 고려하여, 나누어 사용할 수 있다.
< 실시예 >
⑴ 2유닛의 영역배치 계획장치
⒜ 영역배치 계획장치의 효과
몇 개의 실제기판데이터에 대하여, 영역배치 계획장치(74)를 기판 전체에 적용했을 때의 결과를 도 47 및 도 48에 나타낸다. 여기서는, 영역수의 변화에만 주목하기 때문에, 2유닛에 의한 영역2분할처리는 수행하지 않고, 기판 전체를 영역화하고 있다. 또, 수치적인 결과를 도 49에 정리하여 나타내었다. 천공위치수 및 점의 밀집도 등의 다양한 조건에 의해 결과는 달라지지만, 평균 10∼30% 정도 영역수가 감소하는 것이 확인되었다.
⒝ 유닛간 거리 최적화의 효과
어떤 실제기판데이터(천공위치수 48490)에 대하여, X축을 2분할했을 때의, 유닛간 거리(A)를 횡축으로, 빔주사횟수를 세로 제1축, 스테이지이동횟수를 세로 제2축으로 한 그래프를 도 50에 나타낸다. 여기서는 영역배치 계획장치(74)는 사용하고 있지 않고, 종래의 방법으로 주사영역을 결정하고 있다. 또, 수치적인 결과를 도 51에 정리하여 나타낸다. 여기서, 「반분할」, 「패턴의 선두」가 종래법이다.
빔주사횟수는 24627회가 되며, 종래법(반분할로 26111회, 패턴의 선두로 약 27000회)과 비교하여 5% 정도 개선되어 있다. 그리고, 스테이지이동횟수(71회)는,종래의 방법과 최적인 위치에서 차이가 없었지만, 이것은 가로, 세로의 폭에만 의존하는 종래의 영역배치결정법에 따라 영역배치를 결정했기 때문이다. 본 발명에 관련되는 영역배치 계획장치를 사용하여 영역배치를 결정하면, 스테이지의 이동횟수에 대해서도 차이가 나올 것이라고 생각된다.
⑵ 스테이지ㆍ갈바노패스 계획장치
⒞ 순회 세일즈맨 문제 적용의 효과
40㎜ ×40㎜의 정사각영역에 천공위치를 난수(random number)를 사용하여 발생시켜서 시뮬레이션을 시험해 보았다. 횡축에 천공위치의 수, 종축에 갈바노 스캐너의 1회 이동의 평균치로 하여 작성한 선도(線圖)가 도 52 및 도 53이다. 실험에 사용한 거리측도(距離測度)로서, 상기 수학식 2, 수학식 4에서 α= 1로 하여, 스테이지, 갈바노 스캔너 모두, X방향의 이동속도와 Y축방향의 이동속도를 동일하다고 가정한 거리를 사용하고 있다. 여기서는, 종래의 방법과, 순회 세일즈맨 문제의 1수법으로서 잘 알려져 있는 3옵트법을 적용한 경우를 비교하고 있다. 도 54에 결과의 일부를 발췌하여 정리하였다. 천공위치수의 차이에 상관없이, 갈바노 스캐너의 1회 이동거리의 평균치는 약 30∼40% 개선되어 있다.
이상으로부터, 영역배치 계획장치에 의한 영역수 감소의 효과와 함께, 스테이지 총이동시간은 확실하게 감소하여 대략 20∼30% 정도 개선된다.
이상과 같이, 본 발명에 관련되는 스테이지ㆍ갈바노패스 계획장치의 적용에 의해, 갈바노 스캐너의 총이동시간은 확실하게 감소하여 약 30∼40% 개선된다.
그리고, 상기와 같은 계획장치의 큰 특징으로서, 순회 세일즈맨 문제 등의조합최적화문제적인 면과, 2차원 평면 데이터의 탐색 등의 계산기하학적인 면이 있다. 이들 문제는 일반적으로, 처리방법이 나쁜 경우 방대한 계산시간을 필요로 한다. 즉, 천공위치와 같은 기하학적 점데이터를 해석하고 계획하는 경우, 일반적으로 계획의 정밀도를 향상하는 것과 계획에 걸리는 계산(CPU에 의한 연산)시간과는 트레이드오프(trade off) 관계에 있고, 좋은 계획을 실현하기 위해서는 계획의 실행형태가 온라인처리이든 오프라인처리이든, 계획에 소비되는 시간이 방대하게 필요하게 되어, 계획 자체에 상당히 시간이 필요하게 된다.
그래서, 이와 같은 문제점을 해소한 실시형태를 상세하게 설명한다.
본 실시형태는, 2차원 평면에 있어서의 점의 위치데이터를, 트리형 데이터구조, 예컨대 k차원 이분탐색목(간단히, kd-목(木))으로 표현함으로써, 예컨대 레이저천공기의 가공계획장치에 표시되는, 다음과 같은 처리를 고속화하여, 계획 자체에 걸리는 시간을 단축한다.
⑴ 직사각형영역 내에 존재하는 점을 열거하는 직사각형영역 탐색문제
⑵ 어느 점에 대하여 가장 가까운 점을 찾는 최근방점 탐색문제
⑶ 어느 점에 대한 근방점을, 어느 개수까지 차례로 열거해 가는 근방점리스트의 작성
⑷ 순회 세일즈맨 문제의 해법의 하나인 니어리스트 네이버법에 의한 순회경로의 형성
⑸ 어느 영역과 어느 영역의 점배치가, 완전히 동일한지 여부를 판정하는 전체일치 문의처리
우선, kd-목에 대하여 설명한다. kd-목은, 다차원 공간 내의 점데이터의 탐색(예컨대, 데이터베이스에서의 기본적인 문의인, 직교영역탐색(range query), 전체일치문의(exact match query), 부분일치문의(partial match query) 등)을 효율좋게 수행하기 위한 데이터구조의 하나이고, 1차원 영역 내의 탐색을 효율좋게 수행하기 위한 데이터구조로 알려져 있는, 이분탐색목(binary search tree)을 다차원에 일반화한 것으로서, 그래프논리에 있어서의 이분목의 구조로 표현되는 것의 하나이다.
여기서, 도 55에 나타낸 이분목에 관하여, 용어에 대해서만 간단한 주역(註譯)을 더하여 둔다(설명을 위한 최저한의 주역으로서, 용어의 정확한 정의에 대해서는 그래프논리의 참고서에 맡긴다). 이분목은 통상적으로, 최상부에 배치된 뿌리(root(도면 중의 R))라고 하는 특별한 절점(node(○표))으로부터 계통도적(系統圖的)으로 아래쪽으로 퍼진 형으로 표시된다. 그 때문에, 이분목의 절점끼리의 관계는, 일반적으로 생물의 혈연관계를 나타내는 용어를 사용하여 표시된다. 예컨대, A는 C의 「부모」, D, E는 B의 「자(子)」, D와 E는 「형제」, A는 F의 「선조」, F는 A의 「자손」 등. 이분목의 정의로부터, 각 절점은 최대 두 개의 자절점밖에 가지지 않는다. 또, 자를 가지지 않은 절점을 「엽(葉 ; leaf)」절점이라고 하고, 그 외의 절점을 내부(internal)절점(뿌리를 포함)이라고 하여 구별한다.
통상의 이분탐색목은 간단히 말하면,
⑴ 목의 내부절점(뿌리를 포함)은 반드시 두 개의 자절점을 가지고, 탐색을 돕기 위한 분할값을 저장하며,
⑵ 목의 엽절점은, 점 그 자체(복수도 가능)를 저장하는, 구조를 갖는다.
이 생각을 확장하여, 다차원의 이분탐색목, kd-목의 경우에는,
⑴ 목의 내부절점(뿌리를 포함)은 두 개의 자절점을 가지고, 탐색을 돕기 위한 분할선을 넣는 축(X축 또는 Y축) 및 분할값을 저장하며,
⑵ 목의 엽절점은, 점 그 자체(복수도 가능)를 저장하는, 구조를 갖는다. 즉, 통상의 이분탐색목에서는, 내부절점은 구간정보(선분(線分))와 이분하기 위한 분할값(선분의 절단개소)을 가지고 있었지만, kd-목의 경우는, 영역정보(직사각형영역)와 영역을 이분하기 위한 분할선(직사각형의 세로 혹은 가로에 평행한 이분직선)을 가진다. 예컨대, 도 56과 같이 2차원 평면에 산포하는 9개의 점데이터(P1∼P9)는, 이분목을 사용하면 도 57과 같이 표현될 수 있다. 각 점 데이터는, 뿌리부터 차례로 내부절점이 저장하는 분할선에 의해 차츰 이분되고, 최종적으로 점데이터의 개수가 2개 이하까지 세분되면, 엽절점으로 되어 있는 것을 알 수 있다.
2차원 kd-목은 분할축 설정의 방법 등에 여러가지가 있지만, 본 실시형태에서는 다음과 같이 정하고 있다.
⑴ 내부절점(도 57의 11, 12, 13, 14)에 있어서의 분할축은, 그 절점이 나타내는 직사각형영역(절점이 나타내는 직사각형영역이란, 본래의 점데이터가 존재하는 영역이 뿌리부터 차례로 점차 이분할될 때의, 그 절점이 저장하는 분할선에 의해 이분되기 전의 영역을 나타낸다. 예컨대, 뿌리가 나타내는 영역이란, 본래 점데이터의 분포범위 그 자체이다.)의, 횡폭과 종폭의 분포범위를 비교하여, 큰 쪽을이분하도록 설정한다.
⑵ 내부절점에 있어서의 분할값은, 그 절점이 나타내는 직사각형영역의 모든 점(n개로 함)을, 분할축의 값(분할축이 Y축이면 Y좌표를 가르킴)이 작은 쪽부터 수를 세어, n/2번째(n이 홀수인 경우는 절사(切捨))인 요소(즉, 한가운데의 요소)의 값에 의해 분할한다.
⑶ 절점은, 그 절점이 나타내는 점데이터의 수가 어떤 개수 이하(도 57에서는 2개 이하)가 되었을 때 엽절점(도 56에서는 P1ㆍㆍㆍP9)이 된다.
⑷ 따라서, 엽절점은 도 57에 나타낸 바와 같이, (인덱스가 부착된 배열의 점데이터가 격납되어 있다고 하고) 점데이터에 할당된 번호의 인덱스를 두 개 갖는다(시작위치와 종료위치).
각 절점은, 구체적으로는 예컨대 C언어(C++언어)에 있어서의 구조체를 이용하면, 도 58과 같이 나타낼 수 있다. 여기서, struct kdnode는 절점, bucket(정수형)은 엽절점(예컨대 1)과 내부절점(예컨대 0)의 구분, cutdim(정수형)은 분할축의 방향(X축 또는 Y축에 평행), cutval(부동소수점형 혹은 정수형)은 분할값, *loson, *hison은 자절점의 포인터, lopt(정수형)는 개시인덱스, hipt(정수형)는 종료인덱스를, 각각 나타낸다. 또, 각 엽절점이 나타내는 영역에 소속하는 실제 점데이터는, 예컨대 배열을 이용하여 perm[loptㆍㆍㆍhipt]으로 저장된다.
kd-목에 있어서, 각 절점이 유지할 최저한의 필요한 항목은 다음과 같다.
ㆍ내부절점ㆍㆍㆍ분할선(분할축 및 분할값) 및 자(子)의 정보
ㆍ엽절점 ㆍㆍㆍ천공위치의 개시인덱스와 종료인덱스
따라서, 내부절점(bucket = 0)의 경우는, 도 58의 cutdim, cutval, *loson, *hison이 있으면 좋고, 엽절점(bucket = 1)의 경우는 lopt와 hipt가 있으면 좋다.
이하, 레이저천공기의 가공계획장치에 있어서, kd-목을 이용함에 따른 효과가 있는 처리에 대하여 설명한다.
⑴ 직사각형영역탐색
도 59에 나타낸 바와 같이, 직사각형영역범위(프레임) 내의, 프레임에 평행한 직사각형영역 내의 점을 열거하는 직사각형영역 탐색처리에 있어서의, 「영역 내의 점을 최소수의 동일 치수 직사각형으로 둘러싸는」처리에 있어서, 영역위치결정과정에서, 또한, 영역위치를 결정후, 그 영역 내의 점을 열거할 때에 이용한다.
즉, 종래에는 모든 점데이터에 액세스하여, 탐색영역 내인지 아닌지를 판정하여 보고한 것에 반하여, 본 발명에서는, 트리의 근절점으로부터 엽절점으로의 탑다운적인 탐색을 수행한다. 즉, 절점이 내부절점이면, 그 절점이 나타내는 영역과 탐색영역과의 겹치는 정도에 의해, 그 절점의 양쪽 자절점을 탐색할지 여부를 판정한다. 판정은 다음과 같이 하여 수행한다.
⑴ 탐색영역이 절점이 나타내는 영역 내에 포함될 때ㆍㆍㆍ그 절점을 뿌리로 하는 부분목 내의 점데이터 전체를 보고한다.
⑵ 탐색영역과 절점이 나타내는 영역이 일부 겹칠 때ㆍㆍㆍ탐색을 계속한다.
⑶ 탐색영역과 절점이 나타내는 영역이 겹침을 가지지 않을 때ㆍㆍㆍ탐색하지 않는다.
절점이 엽절점이면, 그 절점의 모든 점데이터에 액세스하고, 탐색영역 내인지 여부를 판정하여, 탐색영역 내의 점을 차례로 보고한다.
종래의 방법에서는 모든 점에 액세스할 필요가 있어서, 레이저천공기의 천공위치의 수가 많아짐에 따라, 탐색에 걸리는 시간이 크게 늘어나는 것에 반하여, 본 발명에 관련되는 kd-목에 의한 탐색방법에서는, 직접 점데이터에 액세스하는 것이 아니고, 목의 근절점으로부터 엽절점으로의 탑다운적인 탐색방법이며, 각 절점에서의 판정은 탐색영역과의 겹치는 정도(포함, 중복, 중복없음) 뿐이고, 엽(leaf)에 도달했을 때에만 직접 점데이터에 액세스하기 때문에, 탐색에 소비되는 시간이 확실하게 삭감된다.
⑵ 최근방점탐색
⑶ 근방점리스트의 작성
⑷ 니어리스트 네이버법(순회 세일즈맨 문제)
상기 ⑵, ⑶, ⑷의 처리는, 모두 순회 세일즈맨 문제의 연산고속화와 밀접하게 관계되는 처리이다. 특히, ⑶, ⑷의 처리는 ⑵를 반복하여 이용하는 것이기 때문에, 정리하여 설명한다.
⑵ 최근방점탐색
이 최근방점탐색은, 도 60에 나타낸 바와 같이 영역 내의 주목점에 가장 가까운 점을 탐색하는 처리이다. 이 처리는 ⑶ 근방점리스트의 작성, 및 ⑷ 니어리스트 네이버법에 있어서 반복하여 이용된다.
⑶ 근방점리스트의 작성
도 60에 나타낸 바와 같이, 영역 내의 주목점에 대하여, 그 점에 가까운 순서대로 발견된 점을 적당한 수(리스트길이라고 함 : 도 60의 예에서는 3개)만큼 열거한다. 이 처리는 최근방점 탐색처리와, 발견된 최근방점을 트리로부터 일시적으로 벗어나게 하는 처리의 반복에 의해 실현된다. 또, 이 처리는 순회 세일즈문제의 고속화를 위한 각 점 데이터에 부수되는 데이터작성이라는 위치부여의 전(前)처리이고, 영역 내 모든 점에 대하여 수행하는 처리이다.
⑷ 니어리스트 네이버법
이 니어리스트 네이버법은, 도 61에 나타낸 바와 같이 초기점을 적당히 정하여 주목점으로 하고, 「주목하고 있는 점의 아직 경로로 연결되어 있지 않은 최근방점을 찾아, 발견된 점을 새로운 주목점으로 한다」라는 처리를, 일순 경로가 될 때까지 반복하는 처리이다. 이 처리는 최근방점 탐색처리와, 발견된 최근방점을 트리로부터 일시적으로 벗어나게 하는 처리의 반복에 의해 실현된다.
또, 이 처리는 고속 처리를 수행할 수 있는 것과, 그 나름대로의 정밀도(순회경로길이)의 해(解)가 얻어진다는 두 개의 이점이 있기 때문에, 도 62에 나타낸 순회 세일즈맨 문제의 반복개선법의 범주에 속하는 해법을 이용할 때의 초기해(스텝 501)로서 이용할 수 있다.
상기 최근방점탐색을 할 때, 종래에는 영역 내의 주목점에 대하여, 영역 내의 그 점 이외의 모든 점으로의 거리를 산출하고, 가장 거리가 가까운 점을 예로 들었다.
또, 상기 근방점리스트를 작성할 때에, 종래에는 영역 내의 주목점에 대하여, 영역 내의 이 주목점 이외의 모든 점으로의 거리를 산출하여, 리스트에 거리가짧은 것부터 순서대로 리스트길이만큼 나열하는 처리를 하도록 하였다.
또, 상기 니어리스트 네이버법을 실현하기 위한 종래의 방법은, 각 반복에 있어서 주목점에 대하여 아직 경로에 연결되어 있지 않은 점 모두에 대하여 거리를 산출하고, 가장 짧은 것을 찾아내어 주목점을 갱신한다는 것이다.
이들 처리는, 모두 ⑵ 최근방점탐색을 이용하는 것이지만, 본 발명에 의한 최근방점탐색의 방법은, 목(木)을 탐색해가는 방법에 따라 크게 나눠 2종류가 있다. 목의 뿌리부터 탐색하는 탑다운(top-down)적 방법, 및 최근방점을 찾고 있는 주목점이 존재하는 엽절점부터 탐색하는 바텀업(bottom-up)적 방법이다.
우선, 탑다운적 방법에 대하여, 도 63을 참조하여 구체적인 처리순서를 설명한다.
이 방법은, 「현재의 절점을 뿌리로 하는 부분목의 탑다운적 탐색처리」를 재귀적(recursive)으로 호출함으로써 실행되는 것이다. 즉, 점선으로 에워싼 부분이, 「현재의 절점을 뿌리로 하는 부분목의 탑다운적 탐색처리」이지만, 이 처리의 내부에서, 현재의 절점을 왼쪽 혹은 오른쪽의 절점으로 갱신하여 점선부의 처리를 수행한다(스텝 1005, 1006, 1009, 1010).
스텝 1001에 있어서, 현재의 절점을 뿌리로 설정하고, 최근방점까지의 거리를 충분히 큰 값으로 설정한다. 이어서 「현재의 절점을 뿌리로 하는 부분목의 탑다운적 탐색처리」는, 스텝 1002에 있어서, 우선 현재의 절점이 엽절점인지 여부를 판정한다. 엽절점인 경우는, 스텝 1003에 있어서 모든 점데이터에 액세스하여, 최근방점을 발견할 수 있으면 갱신한다. 내부절점인 경우에는, 스텝 1004에 있어서,좌우 어느쪽의 자절점의 영역을 우선하여 탐색할지를 결정한다. 이 처리는, 현재 절점의 분할선의 분할값(도 58에 있어서의, cutval)과, 최근방점을 찾고 있는 주목점의 분할선의 분할축의 값과의 비교에 의해 결정한다. 스텝 1007, 스텝 1008의 판정은, 직전의 절점에서 탐색을 수행한 절점의 형제절점이 나타내는 영역을 탐색할 필요가 있는지 여부의 판정이다. 여기서는, 도 64에 나타낸 바와 같이, 최근방점을 찾고 있는 주목점을 중심으로 하는, 현재의 최근방점까지의 거리를 반경(半徑)으로 가지는 원(여기서 원이란, 중심으로부터 등거리 상에 있는 점을 연결한 폐곡선(閉曲線)이라는 의미이고, 거리측도는 유클리드(Euclid)거리일 필요는 없다)과, 절점이 나타내는 영역이 겹침을 가지는지 여부(포함되어도 좋다)에 따라 판정한다.
이어서, 바텀업적 방법에 대하여, 도 65를 참조하여 구체적인 처리순서를 설명한다.
이 방법은 최근방점을 찾고 있는 주목점이 존재하는 엽절점을 탐색의 개시절점으로 설정하고, 필요에 따라 현재의 절점인 형제절점 및 부모절점의 탐색을 수행하는 탐색방법이다(이 경우, 각 절점에 부모절점을 가르키는 포인터를 부가할 필요가 생긴다. 따라서, 예컨대 도 58에 있어서, 구조체의 요소에 kdnode형 포인터 *father를 추가한다. 단, 근절점의 부모절점은 존재하지 않으므로, NULL로 한다).
스텝 2001에 있어서, 현재의 절점을 최근방점을 찾고 있는 주목점이 존재하는 엽절점으로 설정하고(따라서, 각 점데이터는 자신이 존재하는 엽절점을 가르키는 포인터를 가질 필요가 생긴다), 최근방점까지의 거리를 충분히 큰 값으로 설정한다. 스텝 2002는, 실제로는 현재의 절점은 엽절점에 있기 때문에, 현재의 절점내의 모든 점에 액세스하여 최근방점을 갱신한다. 스텝 2003에 있어서, 현재의 절점이 나타내는 영역의 밖을 탐색할 필요가 있는지 여부를 판정한다. 구체적으로는, 최근방점을 찾고 있는 주목점을 중심으로 하는, 현재의 최근방점까지의 거리를 반경으로 가지는 원이, 현재의 절점이 나타내는 영역의 내부에 포함되는지 여부를 판정한다. 내부에 포함되지 않으면, 이어서 점선에 의해 둘러싸인 루프처리에 들어간다.
루프로부터의 탈출판정기준은 두 개가 있다. 하나는 스텝 2005에 있어서의 판정으로, 여기서는 스텝 2009에서 갱신된 현재의 절점이 뿌리인지 여부를 판정한다. 또 하나는 스텝 2008에 있어서의 판정으로, 여기서는 현재의 절점의 부모절점이 나타내는 영역의 밖을 탐색할 필요가 있는지 여부를 판정한다. 구체적으로는, 스텝 2003과 동일하게, 최근방점을 찾고 있는 주목점을 중심으로 하는, 현재의 최근방점까지의 거리를 반경으로 가지는 원이, 부모절점이 나타내는 영역에 포함되어 있는지 여부의 판정이다.
루프처리 내부의 스텝 2006에 있어서, 현재의 절점의 형제절점이 나타내는 영역을 탐색할 필요가 있는지 여부를 판정한다. 구체적으로는, 최근방점을 찾고 있는 주목점을 중심으로 하는, 현재의 최근방점까지의 거리를 반경으로 가지는 원이, 현재의 절점이 나타내는 영역과 겹침을 가지는지 여부의 판정이다. 겹침을 가지는 경우는, 스텝 2007에 있어서 실제로 탐색을 수행한다.
즉, 도 66에 예시하는 바와 같이 주목점이 영역(D)에 있다고 하면, 바텀업적 방법에서는 탐색을 주목점(Q1)이 있는 영역(D)부터 스타트시킨다(스텝 2001). 이영역에 있어서, 모든 점에 대해 주목점(Q1)까지의 거리를 조사하고(스텝 2002), 발견된 최근방점이 Q2였다고 하면, 다음으로 이 영역 외에 Q2보다 가까운 점이 있을 가능성이 있는지 여부를 조사하기 때문에, Q1을 중심으로 하는, 반경이 Q1과 Q2 사이의 거리의 원이, 영역(D)의 밖으로 삐져 나와 있는지를 판정한다(스텝 2003). 이 예에서는, 원이 D 내에 들어 있지 않기 때문에, 아직 탐색할 필요가 있다. 영역(D)은 뿌리가 나타내는 영역(전체영역)이 아니기 때문에(스텝 2005), 다음으로 영역(D)의 형제인 영역(E)의 탐색이 필요한지 여부를 판정한다(스텝 2006). 판정의 기준은 원과의 중복이지만, 이 예에서는 중복되어 있기 때문에, 영역(E) 내의 탐색을 수행한다(스텝 2007). 이 예에서는, 영역(E)에 있어서 Q2보다도 Q1에 가까운 점, Q3가 발견되었다. 여기까지 영역(D, E) 내(즉, 영역(B) 내)의 탐색이 종료하였지만, 다음으로 영역(B)의 밖에도 Q3보다 가까운 점이 있을지도 모르기 때문에, 재차 주목점(Q1)과 최근방점(Q3) 사이의 거리를 반경으로, 주목점(Q1)을 중심으로 가지는 원이 영역(B)의 밖으로 삐져 나와 있는지 여부를 판정한다(스텝 2008). 이 예에서는, 삐져 나와 있으며, 영역(B)의 형제영역(C)을 탐색할 필요가 있는 것을 알 수 있기 때문에, 현재의 절점을, 영역(B)을 나타내고 있는 절점으로 갱신하고(즉, 영역(D)의 부모절점으로 갱신하고) (스텝 2009), 스텝 2005로 되돌아간다. 이상과 같은 스텝을 반복하여, 이 예에서는 최종적으로는 영역(H) 내에 최근방점(Q4)을 발견하고, 종료한다.
⑶ 근방점리스트의 작성
근방점리스트의 작성은 상기 ⑵ 최근방점탐색과, 「발견된 최근방점을 목으로부터 일시적으로 벗어나게 하는」 처리를 번갈아 수행함으로써 실현된다.
목으로부터 일시적으로 점데이터를 벗어나게 하는 것은, 다음과 같이 하여 수행할 수 있다. 즉, 목의 엽절점은, 도 58에 나타낸 바와 같이, 각 점데이터에 부수되는 인덱스의 개시번호와 종료번호를 가지고 있다. 따라서, 기본적으로는 종료번호(또는 개시번호)를 하나 줄이고(늘이고), 줄어든 번호(늘어난 번호)의 위치 데이터와 교환하면 된다. 만약 그 점을 지우면, 그 엽절점 내의 점데이터가 모두 지워져 버리는 것 같은 때에는, 그 엽절점을 방문할 필요가 없도록, 자신의 절점이 나타내는 영역으로부터 점이 삭제되어 있는 상태이면, 그것을 알 수 있도록 절점의 정보를 갖는다(각 절점에 대하여, 점이 있는지 여부를 알 수 있도록, 예컨대 도 58에 있어서, 구조체의 요소에 empty(정수형)를 추가한다).
⑷ 니어리스트 네이버법
이 니어리스트 네이버법의 해법은, ⑶과 동일하게, 상기 ⑵의 최근방점탐색과, 발견된 최근방점을 목으로부터 일시적으로 벗어나게 하는 처리를 번갈아 수행함으로써 실현된다. ⑶과 다른 것은, ⑶은 주목점에서는 항상 고정되어 있는 것에 반하여, ⑷는 발견된 최근방점을 주목점으로 갱신하여 가는 것이다.
종래에는, 최근방점탐색에 관해서는, 주목점에 대하여, 다른 점데이터 모두에 액세스하여 거리산출연산을 하고, 최대의 것을 남길 필요가 있었다. 또, 근방점리스트의 작성에 대해서는, 각 점데이터에 관하여, 다른 점데이터 모두에 액세스하여 거리산출연산을 하는 이외에, 각 연산을 할 때마다 현재 리스트의 상응하는 순위로 점데이터를 삽입할 필요가 있었다. 또, 이 작업은 모든 점데이터에 대하여 수행하는 처리이기 때문에, 모든 점데이터의 세트(set)에 대하여, 거리산출연산을 수행하였다. 또, 니어리스트 네이버법의 해법에 관해서는, 각 점에 대하여, 아직 순회로(巡回路)에 연결되어 있지 않은 점을 인식하고, 그들 점데이터 모두에 액세스하여 거리산출연산을 수행하고, 최대의 것을 남기는 대응을 할 필요가 있었다.
이들 방법은 개선책을 발견할 수 없고, 특히 근방점리스트의 작성에 대해서는, kd-목을 사용하지 않는 방법이면 계산시간이 방대해지기 때문에, kd-목을 작성하지 않는 방법, 즉 순회 세일즈맨 문제의 고속화를 위한 전(前)처리를 하지 않고, 직접 순회 세일즈맨 문제를 해결한다는 방법을 취하지 않을 수 없게 되어 있었다. 그러나, 전처리 없이는, 한정된 계산시간으로 정밀도가 좋은 해(解)를 얻을 수는 없고, 가공시간단축의 효과는 적었다.
한편, 본 발명에 의한 kd-목에 의한 탐색방법에서는, 최근방점탐색에 관해서는 탑다운적인 방법과 바텀업적인 방법의 2종류가 있지만, 특히 바텀업적인 방법은 주목점이 존재하는 엽절점에 직접 액세스할 수 있기 때문에, 대폭으로 고속화할 수 있다.
또, 근방점리스트의 작성에 대해서는, 특히 트리로부터 점데이터를 벗어나게 하는 처리를 고속으로 할 수 있기 때문에, 처리를 대폭으로 고속화할 수 있다. 이 근방점리스트의 작성은, 순회 세일즈맨 문제의 국소탐색법의 범주에 속하는 방법의 고속화를 위한 전처리이기 때문에, 간접적이기는 하지만 순회 세일즈맨 문제도 고속화할 수 있다.
니어리스트 네이버법의 해법에 대해서도 동일한 이유로 고속화할 수 있다.이 니어리스트 네이버법은, 순회 세일즈맨 문제의 국소탐색법의 범주에 속하는 방법의 초기해이기 때문에, 결국 순회 세일즈맨 문제의 해법처리의 일부를 고속화할 수 있게 된다.
⑸ 전체일치문의
전체일치문의란, 어느 점에 대하여, 그것과 상대좌표값이 완전하게 일치하는 것이 영역 속에 존재하는지 여부에 관하여 문의를 수행하는 처리이다. 이 문의를 이용하면, 어느 주사영역과 다른 주사영역에 있어서의 상대적인 배치패턴이 완전히 일치하고 있는지 여부를 판정할 수 있다.
모든 천공위치는 각각 소속되는 하나의 주사영역을 가지고 있다. 주사영역 내의 점은 순회 세일즈맨 문제를 이용하여 방문순서(갈바노패스)가 최적화된다. 순회 세일즈맨 문제의 계산량은 다른 것에 비해 크기 때문에, 모든 주사영역에 관하여 순회 세일즈맨 문제를 해결하는 대신에, 모든 주사영역에 관하여, 모든 점위치가 완전히 같은 영역을 찾는 처리를 수행하고, 순회 세일즈맨 문제를 해결할 필요가 없는 영역을 찾는다. 그와 같은 영역을 발견할 수 있고, 순회 세일즈맨 문제를 해결할 필요가 없어지면, 계산고속화에 직결된다.
순회 세일즈맨 문제를 해결할 필요를 없앤다는 의미이면, 영역에 대한 모든 점위치가 완전히 같을 필요는 없고, 각 점의 상대적인 위치관계가 일치하고 있으면 충분하다. 즉, 도 67 상단과 같이, 모든 점위치가 완전하게 같은 경우에는, 영역(P)의 갈바노패스를 결정하면, 영역(Q)의 패스를 재계획할 필요는 없다. 동일하게, 도 67 하단에 나타낸 영역(R)과 영역(S)과 같이, 한쪽의 점위치가 다른쪽의점배치에 오프셋이 추가된 상태인 경우에도, 역시 영역(R)의 패스를 결정하면 영역(S)의 패스를 계획할 필요는 없다. 오프셋량은, 양(兩)영역 내의 대표적인 점, 예컨대 x최소이면서 y최소인 점끼리의 절대좌표의 차이로 하면 된다.
이 전체일치문의를 이용한 주사영역끼리의 상대적인 점배치일치 판정처리는 영역위치결정시에 수행된다.
종래에는 영역 내의 점 모두에 액세스하고, 주목점의 좌표값과 일치하는지 여부를 하나하나 비교하였다.
이에 반하여, kd-목을 이용하는 본 발명에서는, 어느 주목영역과 별도의 주목영역의 오프셋량을 계산하여, 어느 주목영역의 각 점의 좌표에 오프셋량을 더한 좌표가 별도의 주목영역에 존재하는지 여부를, 별도의 주목영역의 트리의 근절점으로부터, 현재 절점의 자절점에 대하여, 찾고 있는 좌표가 존재하는 쪽의 자절점으로 차례로 옮기는 방법에 의해 탐색을 수행하고, 엽절점에 도달하면, 절점 내의 모든 점에 대하여, 일치하는지 여부를 하나하나 비교한다.
이와 같이 하여, 모든 점데이터에 액세스하지 않고, 이분목의 근절점으로부터의 탑다운적 탐색방법에 의해, 비교의 횟수가 줄어들어 계산이 고속이 된다.
본 발명에서 이용하는 kd-목은, 점위치데이터, 및 점위치데이터가 존재하는 영역부터 작성된다. 본 실시형태에 있어서는, 임시적인 영역작성시와 영역위치확정시에 kd-목을 작성한다.
즉, 임시적인 영역작성시의 직교영역 탐색처리는, 「영역 내의 점을 최소수의 동일 치수 직사각형으로 둘러싸는」 처리에 있어서, 영역위치결정시의 영역 내의 점 열거 그밖에 적용된다. 따라서, 최적 L축값 결정처리에 의한 루프호출에서, 일시적인 영역을 작성할 때마다, 그 일시적인 영역 및 일시적인 점위치데이터에 관한 목을 형성한다.
또, 상기 최근방점 탐색처리, 근방점리스트의 작성, 및 니어리스트 네이버법의 처리는 모두 순회 세일즈맨 문제에 관한 것이다. 순회 세일즈맨 문제는, 크게 나눠 영역위치 방문순서(스테이지패스)와, 주사영역내 천공위치 방문순서(갈바노패스)를 최적화하는 것이다. 그런 이유로, 영역위치확정시에, 최적 L축값에서의 일시적인 영역 및 L축값이라는 점데이터에 관한 목을 하나 작성함과 동시에, 주사영역과 주사영역에 종속되는 천공위치라는 점데이터에 관한 목을, 각 주사영역에 대하여 각각 하나씩 작성한다. 이 각 주사영역에 관한 목은 상기 전체일치문의에도 이용된다.
그리고, 상기와 같은 가공계획의 프로그램은, 통상적으로 레이저가공기의 소프트웨어에 포함되어 있지만, 계산부하가 크고, 계산전용 고속처리머신을 가지게 할 수 없는 가공기측의 동작에 악영향을 주거나, 최신 프로그램을 사용하기 위해서는, 매회 버전업할 필요가 있는 등의 부담이 발생한다. 이것은, 가공계획의 프로그램을 추출하여, 단품의 소프트웨어로서 제공하는 경우에도 동일하다. 그리고, 플랙시블디스크 등의 기록매체를 이용하여, 유저로부터 가공위치데이터를 우송하여 받고, 메이커측 서포트 센터 등에서 가공계획을 작성하여, 우송으로 되돌려 보내는 것도 생각할 수 있지만, 우송으로 주고받는데 시간이 걸려 버린다.
그래서, 이와 같은 문제점을 해결한 실시형태를 상세하게 설명한다.
본 실시형태는, 도 68에 나타낸 바와 같이, 레이저가공기(80)측에 설치된 유저의 PC(유저PC라고 함)(82)와, 예컨대 레이저가공기 메이커측의 서포트 센터에 설치된 가공계획 계산전용의 고속처리가 가능한 PC(서포트 센터 PC라고 함)(90)를, 인터넷(100)을 통하여 접속하고, 이 인터넷(100)을 통하여 유저PC(82)로부터 수신한 가공위치데이터에 근거하여, 서포트 센터 PC(90)가 가공계획을 결정하고, 결정한 가공계획을 상기 유저 PC(82)에 회신하도록 한 것이다.
도면에 있어서, 84는 유저PC(82)를 인터넷(100)에 접속시키기 위한 브라우저, 92는 인터넷(100)에 홈페이지를 제공하기 위한 웹서버, 86, 94는 JAVA(등록상표)애플릿(applet), 88은 가공위치의 CAD데이터, 96은 유저PC(82)로부터 보내진 CAD데이터(88)에 대하여 가공계획을 결정하기 위한 가공순서 최적화 어플리케이션이다.
이하, 도 69를 참조하여 작용을 설명한다.
유저는, 스텝 3001에서, 유저PC(82)의 브라우저(84)를 사용하여, 서포트 센터의 홈페이지에 액세스하고, 스텝 3002에서 서포트 센터로부터 회신된 HTML데이터에 의해, 스텝 3003에서 변환 서비스 페이지에 액세스한다. 이어서, 스텝 3004에서 송부되는 JAVA(등록상표)애플릿의 지시에 따라, 스텝 3005에서 변환에 필요한 조건을 입력하고, 가공순서를 최적화하고자 하는 파일을 선택하여, 그들을 서포트 센터 PC(90)에 인터넷(100)을 이용하여 전송한다.
서포트센터측에서는, 스텝 3006에서, 수신데이터에 따라, 가공순서 최적화 어플리케이션(96)에 의해, 데이터 가공순서의 최적화변환을 실시하고, 가공기용 데이터파일을 작성한다. 그리고, 그 파일을 동일하게 인터넷(100)으로 회신한다.
유저는, 스텝 3007에서, 수신한 변환완료 데이터파일을 레이저가공기에 전송하여 가공을 실시한다.
이와 같이 하여, 서포트 센터측에서 변환을 실시함으로써, 유저는 항상 가공계획의 최신버전을 이용하고, 또한 서포트 센터의 고속처리머신을 이용할 수 있다.
한편, 서포트 센터측에서는, 유저에게 납입된 가공기의 가공계획 프로그램을 일일이 갱신할 필요가 없어서, 가공계획 프로그램의 갱신이 용이하다. 또, 유저정보를 용이하게 수집ㆍ축적할 수 있다.
그리고, 상기 실시형태에서는 유저PC가 1대가 되고, 레이저가공기(80)와는 별도로 설치되어 있지만, 유저PC의 수 및 배치위치는 이에 한정되지 않고, 도 70에 나타낸 제1변형예와 같이, CAD용 유저PC(83)를 별도로 설치하거나, 도 71에 나타낸 제2변형예와 같이, 유저PC(82)를 레이저가공기(80)에 내장하여도 좋다.
또, 상기 설명에 있어서는, 갈바노유닛의 수가 2로 되어 있지만, 갈바노유닛의 수는 이에 한정되지 않고, 1 혹은 3 이상의 복수라도 좋다.
또, 상기 설명에 있어서는, 모두 영역의 형상이 40 ×40㎜의 정사각형으로 되어 있지만, 영역의 형상은 이에 한정되지 않고, 다른 사이즈의 정사각형이나, 직사각형을 포함하는 구형(矩形), 혹은 원형이어도 좋다. 또, 주사방향도 도 72의 상단에 나타낸 바와 같은, 영역의 1변과 평행한 통상의 주사방향에 한정되지 않고, 도 72의 하단에 나타낸 바와 같이, 점좌표를 동심회전 변환한 비스듬한 방향의 주사라도 좋다.
또, 주사영역에 대하여 레이저빔을 주사하는 수단도 갈바노 스캐너에 의한 것에 한정되지 않고, 출원인이 일본국 특허공개 2000-71089호 및 특허공개 평11-144358호, 특허공개 평10-245275호에서 제안한 바와 같은, 리니어모터 XY스테이지와 고속가공헤드를 조합한 하이브리드 가공시스템(이른바, 스크린 컷 시스템 혹은 플래시 컷 시스템)이어도 좋다.
또, 적용대상도 레이저천공기에 한정되지 않고, 레이저빔 이외의 가공수단을 이용한 일반적인 가공기(예컨대, 기계식 드릴에 의한 천공장치)에도 동일하게 적용할 수 있다는 것은 분명하다.
또, 통신회선도 인터넷에 한정되지 않고, 전용회선 및 전화회선이어도 좋다.
본 발명에 의하면, 가공위치정보를 수학적으로 받아들여 기기의 동작을 보다 최적으로 계획함으로써, 레이저가공의 가공시간을 단축시키는 것이 가능해진다.
또, 가공시간단축을 목적으로 하는 가공계획의 정밀도를 떨어뜨리지 않고, 계획에 걸리는 계산시간을 단축할 수 있다.
본 발명으로부터 고속화되는 처리 및 사용횟수는, 예컨대 상기 직교영역탐색에 있어서는, 일시적 영역 내의 하나하나의 영역결정 도중, 영역결정시에 이용되기 때문에, 대략 「일시적 영역의 작성횟수 ×영역수 평균」회(回)이다.
또, 상기 근방점리스트의 작성은 순회 세일즈맨 문제의 전(前)처리이기 때문에, 모든 점데이터 및 영역위치데이터에 각 1회식 이용되기 때문에, 「천공위치수 + 반(半)영역의 영역수」회이다.
또, 상기 니어리스트 네이버법은, 순회 세일즈맨 문제에 대해 1회씩 이용되기 때문에, 최대 「1 + 기판전체의 영역수」회이다("1"은 스테이지패스를 계획할 때의 순회 세일즈맨 문제).
또, 상기 전체일치문의에 있어서의 영역끼리의 비교 횟수는, 최대 약 「(기판전체의 영역수)2/2」회이다(자승의 항이 존재하기 때문에 계산량이 많은 것같이 언뜻 느껴지지만, 영역끼리의 홀배치의 완전일치판정은, 하나의 점이라도 전체일치점이 존재하지 않는 점이 존재하면 판정종료이므로, 일반적으로는 큰 계산량이 되지는 않는다).
상기 중에서, 특히 근방점리스트를 작성하여 순회 세일즈맨 문제를 해결한다는 흐름의 처리(반복개선법의 범주에 속하는 해법은 기본적으로 이 흐름에 따른다), 모든 계산에 대하여 차지하는 비율이 많고, 그만큼 고속화가 현저하게 나타난다.
한편, 목의 작성에 걸리는 시간은 상당히 필요하게 되는데, 목의 작성횟수는, 「일시적 영역의 작성횟수 + 1 + 기판전체의 영역수」회이며, 목의 작성에 의해 고속화하는 처리를 수행하는 횟수보다도 충분히 작고, 또 작성에 소비되는 시간도 그다지 길지는 않기 때문에, 문제가 되지 않는다.
따라서, 전체적으로는 계산시간의 단축효과는 충분히 있다.
또, 통신회선을 통하여 가공계획측으로부터 수신한 가공위치데이터에 근거하여 가공계획을 결정하고, 상기 가공장치측에 회신하도록 한 경우에는, 계산전용 고속처리머신을 이용하여, 항상 최신버전으로 가공데이터를 신속하게 작성하는 것이가능해진다.

Claims (69)

  1. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 워크(work) 상에 산재하는 다수의 가공위치를, 동시가공되는 복수의 가공영역으로 할당하여 가공할 때에,
    우선, 각 가공영역 각각의 일순(一巡) 경로 길이가 최소가 되도록 각 가공영역 내의 가공경로를 결정 하고,
    이어서, 동시가공되는 가공영역의 총(總)가공시간이 최소가 되도록, 각 가공영역 내의 가공 경로 시점(始點) 을 결정하는 것을 특징으로 하는 가공계획방법.
  2. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 워크 상에 산재하는 복수의 가공영역의 가공순서를 결정할 때에,
    복수 존재하는 동시가공영역에 대하여, 동시에 행하여지는 가공위치 사이의 이동시간 을 균일화할 수 있도록, 각 가공영역 내 의 가공경로의 시점(始点)을 시프트하여, 총가공시간을 단축하는 것을 특징으로 하는 가공계획방법.
  3. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 워크 상에 산재하는 복수의 가공위치 또는 워크 내에 설정된 가공영역에 대하여, 순회 세일즈맨 문제를 적용하여 가공순서를 결정할 때에,
    순회 세일즈맨 문제를 해결함으로써, 일순(一巡) 경로를 최소화한 후,
    최장(最長)의 이동을 검출하여, 이 최장의 이동을 하지 않고 완료하도록 , 시점과 종점(終点)을 결정하는 것을 특징으로 하는 가공계획방법.
  4. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 워크 상에 산재하는 복수의 가공위치 또는 워크 내에 설정된 가공영역에 대하여, 순회 세일즈맨 문제를 적용하여 가공순서를 결정할 때에,
    일순 경로로부터 최장의 이동을 뺀 값을 최소화하도록 개량을 가한 순회 세일즈맨 문제를 해결함으로써, 일순 경로를 구하고,
    마지막으로 최장의 이동을 제거하여, 시점과 종점을 결정하는 것을 특징으로 하는 가공계획방법.
  5. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에,
    아직 가공영역으로 둘러싸이지 않은, 제1방향 끝의 점을 둘러싸도록, 다음 가공영역을 가(假)설정하고,
    이 가설정한 가공영역이, 상기 제1방향과는 다른 제2방향 끝의 점을 둘러싸도록, 이 제2방향으로 이동하고,
    이 이동한 가공영역이, 이 이동 후의 위치에 있어서의, 상기 제1방향 끝의 점을 둘러싸도록, 이 제1방향으로 재차 이동하고,
    이 재(再)이동한 가공영역이, 이 재이동 후의 위치에 있어서의 상기 제2방향 끝의 점을 둘러싸도록, 이 제2방향으로 재차 이동하는 순서를 반복함으로써, 다음 가공영역을 확정하는 순서를 반복하는 것을 특징으로 하는 가공계획방법.
  6. 제5항에 있어서,
    상기 가공영역이, 상기 제1방향 및 제2방향과 직교하는 사각형의 프레임을 가지는 것을 특징으로 하는 가공계획방법.
  7. 제5항 또는 제6항에 있어서,
    상기 제1방향 및 제2방향이, 워크의 이동방향에 대응하도록 설정되어 있는 것을 특징으로 하는 가공계획방법.
  8. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에,
    우선 워크 전체 표면을 단순하게 가공영역으로 분할하고,
    이어서, 가공위치가 없는 가공영역을 모두 제거하는 것을 특징으로 하는 가공계획방법.
  9. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에,
    아직 포위되지 않은 가공위치의 수가 가장 많은 위치에 가공영역을 배치하는 처리를, 모든 가공위치가 포위될 때까지 반복하는 것을 특징으로 하는 가공계획방법.
  10. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에,
    우선, 영역배치를 임시로 정하고,
    이어서, 가공영역을 근방으로 시프트시켜, 불필요해지는 가공영역을 제거하는 것을 특징으로 하는 가공계획방법.
  11. 제10항에 있어서,
    상기 영역배치를 청구항 5에 기재된 방법에 의해 임시로 정하는 것을 특징으로 하는 가공계획방법.
  12. 제10항에 있어서,
    상기 영역배치를 청구항 8에 기재된 방법에 의해 임시로 정하는 것을 특징으로 하는 가공계획방법.
  13. 제10항에 있어서,
    상기 영역배치를 청구항 9에 기재된 방법에 의해 임시로 정하는 것을 특징으로 하는 가공계획방법.
  14. 제10항에 있어서,
    상기 가공영역을, 그 영역 내에 단독으로 소속되어 있는 점이, 그 영역으로부터 벗어나지 않는다는 조건으로, 근방으로 시프트 시켜, 불필요해지는 인접영역을 제거하는 것을 특징으로 하는 가공계획방법.
  15. 제10항에 있어서,
    상기 가공영역 중, 중복개소에 의해 연결되어 있는 2 이상의 영역을, 해당 2 이상의 영역에 단독으로 소속되어 있는 점이, 해당 2 이상의 영역으로부터 벗어나지 않는다는 조건으로, 상기 2 이상의 영역을 근방으로 각각 시프트 시켜, 불필요해지는 인접영역을 제거하는 것을 특징으로 하는 가공계획방법.
  16. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에,
    동일 가공위치가 복수의 영역에 소속되는 경우는, 복수의 동시가공영역의 각각에 소속되는 가공위치수가 균등해지도록, 해당 가공을 수행하는 영역을 결정하는 것을 특징으로 하는 가공계획방법.
  17. 제16항에 있어서,
    상기 복수의 영역에 속하는 가공위치를, 우선 복수의 동시가공영역 중, 차(差)가 큰 쪽의 영역으로 할당하고,
    이어서, 남은 가공위치를, 차가 작은 쪽의 영역으로 할당하고,
    마지막으로 남은 가공위치를 양(兩) 영역으로 균등하게 배분하는 것을 특징으로 하는 가공계획방법.
  18. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에,
    각 가공영역의 중앙부에 가공위치가 모이도록, 영역위치를 조정하는 것을 특징으로 하는 가공계획방법.
  19. 제18항에 있어서,
    상기 가공위치의 분포범위의 중심이, 가공영역의 중심과 일치하도록, 영역위치를 조정하는 것을 특징으로 하는 가공계획방법.
  20. 제18항에 있어서,
    상기 가공위치가 가공영역을 벗어나지 않는 한도까지, 영역위치를 가공위치의 중심(重心)에 근접시키는 것을 특징으로 하는 가공계획방법.
  21. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 복수방향으로 이동가능하게 된 스테이지를 사용하여, 이 스테이지 상에 배치된 워크를 가공할 때에,
    상기 스테이지의 이동경로의 시점(始点)을, 워크를 로더로부터 스테이지에 올리는 위치, 종점(終点)을 워크를 언로더로 옮기기 전의 위치로 하고, 끝점을 고정한 순회 세일즈맨 문제를 해결함으로써, 상기 스테이지의 이동경로를 결정하는 것을 특징으로 하는 가공계획방법.
  22. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 가공영역 내에서 가공수단을 주사 또는 이동가능한 복수의 가공유닛에 의해, 이동가능한 스테이지 상에 배치된 워크를 동시에 가공할 때에,
    가공수단주사 또는 이동횟수 및 스테이지이동횟수가 최소가 되도록, 가공유닛의 간격을 결정하는 것을 특징으로 하는 가공계획방법.
  23. 제22항에 있어서,
    상기 가공수단주사 또는 이동횟수와 스테이지이동횟수에, 주사시간 및 이동시간의 차이에 따른 가중치가 부가되어 있는 것을 특징으로 하는 가공계획방법.
  24. 제22항 또는 제23항에 있어서,
    상기 가공수단유닛의 간격을 설정하고,
    그때의 각 가공수단유닛의 주사 또는 이동범위를 서로 겹쳐서, 최소의 가공영역수가 되는 영역배치를 구하고,
    그때의 가공수단주사 또는 이동횟수 및 스테이지이동횟수를 계산하는 것을 특징으로 하는 가공계획방법.
  25. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 제22항의 처리를 워크방향을 변경하여 수행하고,
    가공수단주사 또는 이동횟수 및 스테이지이동횟수가 최소가 되는 워크방향을 자동적으로 채용하는 것을 특징으로 하는 가공계획방법.
  26. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 관련되어, 복수방향으로 주사 또는 이동가능하게 된 가공수단을 사용하여 워크를 가공할 때에,
    워크 상에 산재하는 가공위치 또는 가공영역을 나타내는 점의 위치데이터를, 트리(tree)형의 데이터구조로 표현하는 것을 특징으로 하는 가공계획방법.
  27. 제26항에 있어서,
    상기 트리가, k차원 이분탐색목(木)인 것을 특징으로 하는 가공계획방법.
  28. 제26항 또는 제27항에 있어서,
    워크 상에 산재하는 가공영역의 위치를 결정한 후, 상기 트리를 사용하여, 각 가공영역 내의 점(点)데이터를 열거하는 것을 특징으로 하는 가공계획방법.
  29. 제26항에 있어서,
    상기 트리의 근절점(根節点)으로부터, 내부절점(節点)에 대해서는, 그 절점의 자절점(子節点)이 나타내는 영역과 탐색영역과의 겹쳐지는 정도에 따라, 그 절점의 자절점을 탐색할지 여부를 판정하고, 엽절점(葉節点)에 도달했을 때만, 직접 점데이터에 액세스하는 것을 특징으로 하는 가공계획방법.
  30. 제26항 또는 제27항에 있어서,
    상기 트리를 이용하여, 주목점(注目点)에 가장 가까운 점을 탐색하는 최근방점 탐색처리를 수행하는 것을 특징으로 하는 가공계획방법.
  31. 제30항에 있어서,
    상기 최근방점 탐색처리를, 상기 트리의 근절점부터 시작하는 것을 특징으로 하는 가공계획방법.
  32. 제31항에 있어서,
    주목점을 중심으로 하는, 현재의 최근방점까지의 거리를 반경으로 가지는 원과 절점이 나타내는 영역이 겹침을 가지는 경우에, 그 절점에 대하여 탐색을 수행하는 것을 특징으로 하는 가공계획방법.
  33. 제32항에 있어서,
    상기 절점이 엽절점인 경우는, 해당 절점이 나타내는 영역 내의 모든 점에 대하여 거리를 구하고, 짧은지 여부를 판정하는 것을 특징으로 하는 가공계획방법.
  34. 제30항에 있어서,
    각 점의 데이터가, 각각 자기가 소속하는 엽절점에 관한 정보를 가지고,
    상기 최근방점 탐색처리를, 최근방을 찾으려고 하고 있는 주목점이 존재하는 엽절점에 직접 액세스하고, 이어서 탐색이 필요한 절점이 존재하는 경우에 한하여, 상기 트리의 근절점의 방향으로 소급함으로써 수행하는 것을 특징으로 하는 가공계획방법.
  35. 제34항에 있어서,
    주목점을 중심으로 하는, 현재의 최근방점까지의 거리를 반경으로 가지는 원과 절점이 나타내는 영역이, 현재의 절점을 나타내는 영역 밖으로 밀려 나오는 경우는, 그 밀려 나오는 정도에 따라, 자기의 형제절점 또는 자기의 부모의 형제절점의 탐색을 수행하는 것을 특징으로 하는 가공계획방법.
  36. 제30항에 있어서,
    상기 최근방점 탐색처리와,
    발견된 최근방점을 벗어난 트리를 이용하여, 다음 최근방점을 탐색하는 처리를 반복함으로써,
    주목점에 가까운 순서로 근방점을 열거하는 것을 특징으로 하는 가공계획방법.
  37. 제30항에 있어서,
    상기 최근방점 탐색처리에 의해, 아직 가공경로에 연결되어 있지 않은 최근방점을 탐색하여 새로운 주목점으로 하고, 가공경로에 연결하는 처리와,
    발견된 주목점을 벗어난 트리를 이용하여, 다음 최근방점을 탐색하여 새로운 주목점으로 하고, 가공경로에 연결하는 처리를,
    시점부터 종점까지 반복하여, 가공경로를 작성하는 것을 특징으로 하는 가공계획방법.
  38. 제36항 또는 제37항에 있어서,
    상기 트리로부터 발견된 점을 벗어나는 처리를, 각 점데이터에 관련되는 인덱스의 종료번호를 줄이던가, 또는 개시번호를 늘림으로써 수행하는 것을 특징으로 하는 가공계획방법.
  39. 제38항에 있어서,
    상기 트리로부터 발견된 점을 벗어나면, 어느 절점 내의 점데이터가 모두 지워져 버리는 경우는, 그 절점을 찾을 필요가 없는 것을 나타내는 정보를, 절점에 가지게 하는 것을 특징으로 하는 가공계획방법.
  40. 제37항 또는 제39항에 있어서,
    가공계획방법에 의해 결정된 가공경로를, 순회 세일즈맨 문제를 적용하여 가공순서를 결정할 때의 초기해로 하는 것을 특징으로 하는 가공계획방법.
  41. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법에 있어서,
    어느 가공영역 내의 점데이터의 배치와, 별도의 가공영역 내의 점데이터의 배치가 상대적으로 일치하고 있는 영역의 세트(set)를 발견함으로써, 필요가 없는 부하가 높은 연산을 생략하는 것을 특징으로 하는 가공계획방법.
  42. 제41항에 있어서,
    상기 점데이터의 배치가 상대적으로 일치하는 영역의 세트를 찾는 처리를,
    한쪽 영역의 전체 점에 대하여, 일정한 좌표의 이탈량을 더한 점위치데이터를 작성하고,
    다른 한쪽 영역의 트리의 근절점으로부터, 상기 점위치데이터가 존재하는 영역을 나타내는 절점으로 점차 옮겨지고,
    엽절점으로 옮겼을 때에만 상기 점위치데이터와 일치하는 점위치데이터가 존재하는지 여부를 조사하는 처리에 의해 수행하는 것을 특징으로 하는 가공계획방법.
  43. 제26항 또는 제27항에 있어서,
    상기 트리를, 가공영역 내의 점데이터를 최소수의 동일 치수의 직사각형으로 둘러싸는 처리에 있어서, 루프호출로 일시적인 가공영역을 작성할 때마다, 그 일시적인 가공영역, 및 각 가공영역 내의 일시적인 점위치데이터의 양쪽에 대하여 작성하는 것을 특징으로 하는 가공계획방법.
  44. 제26항 또는 제27항에 있어서,
    상기 트리를, 가공영역확정시에 가공영역, 및 각 가공영역 내의 점위치데이터의 양쪽에 대하여 작성하는 것을 특징으로 하는 가공계획방법.
  45. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공하는 가공방법에 있어서,
    제1항 내지 제5항 중의 어느 한 항, 또는 제8항 내지 제10항 중의 어느 한 항, 또는 제16항 또는 제18항 또는 제21항 또는 제22항 또는 제25항 또는 제26항 또는 제41항 중의 어느 한 항에 기재된 가공계획방법에 의해 결정된 가공을 수행하는 것을 특징으로 하는 가공방법.
  46. 삭제
  47. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 워크 상에 산재하는 다수의 가공위치를, 동시가공되는 복수의 가공영역으로 할당하여 가공하기 위한 가공계획장치에 있어서,
    각 가공영역 각각의 일순(一巡) 경로 길이가 최소가 되도록 각 가공영역 내의 가공경로를 결정 하는 가공경로결정수단과,
    동시가공되는 가공영역의 총가공시간이 최소가 되도록, 각 가공영역 내의 가공 경로 시점(始點) 을 결정하는 가공순서 결정수단을 구비한 것을 특징으로 하는 가공계획장치.
  48. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 워크 상에 산재하는 복수의 가공영역의 가공순서를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    복수 존재하는 동시가공영역에 대하여, 동시에 행하여지는 가공위치 사이의 이동시간 을 균일화할 수 있도록, 각 가공영역 내 의 가공경로의 시점(始点)을 시프트하여, 총가공시간을 단축하는 가공순서 시프트수단을 구비한 것을 특징으로 하는 가공계획장치.
  49. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 워크 상에 산재하는 복수의 가공위치 또는 워크 내에 설정된 가공영역에 대하여, 순회 세일즈맨 문제를 적용하여 가공순서를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    순회 세일즈맨 문제를 해결함으로써, 일순 경로를 최소화한 후, 최장(最長)의 이동을 검출하고, 이 최장의 이동을 하지 않고 완료하도록 , 시점(始点)과 종점(終点)을 결정하는 주사경로 결정수단을 구비한 것을 특징으로 하는 가공계획장치.
  50. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 워크 상에 산재하는 복수의 가공위치 또는 워크 내에 설정된 가공영역에 대하여, 순회 세일즈맨 문제를 적용하여 가공순서를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    일순 경로로부터 최장의 이동을 뺀 값을 최소화하도록 개량된 순회 세일즈맨 문제를 해결함으로써, 일순 경로를 구하고, 마지막으로 최장의 이동을 제거하여, 시점과 종점을 결정하는 주사경로 결정수단을 구비한 것을 특징으로 하는 가공계획장치.
  51. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    아직 가공영역으로 둘러싸이지 않은, 제1방향의 끝의 점을 둘러싸도록, 다음 가공영역을 가(假)설정하고, 이 가설정한 가공영역이, 상기 제1방향과는 다른 제2방향의 끝의 점을 둘러싸도록, 이 제2방향으로 이동하고, 이 이동한 가공영역이, 이 이동 후의 위치에 있어서의, 상기 제1방향의 끝의 점을 둘러싸도록, 이 제1방향으로 재차 이동하고, 이 재(再)이동한 가공영역이, 이 재이동 후의 위치에 있어서의 상기 제2방향의 끝의 점을 둘러싸도록, 이 제2방향으로 재차 이동하는 순서를 반복함으로써, 다음 가공영역을 확정하는 순서를 반복하는 영역배치 결정수단을 구비한 것을 특징으로 하는 가공계획장치.
  52. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    우선 워크 전체 표면을 단순하게 가공영역으로 분할하고, 이어서 가공위치가 없는 가공영역을 모두 제거하는 영역배치 설정수단을 구비한 것을 특징으로 하는 가공계획장치.
  53. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    아직 포위되어 있지 않은 가공위치의 수가 가장 많은 위치에 가공영역을 배치하는 처리를, 모든 가공위치가 포위될 때까지 반복하는 영역배치 결정수단을 구비한 것을 특징으로 하는 가공계획장치.
  54. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    우선, 영역배치를 임시로 정하고, 이어서 가공영역을 근방으로 시프트시켜, 불필요해지는 가공영역을 제거하는 영역배치 결정수단을 구비한 것을 특징으로 하는 가공계획장치.
  55. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    동일 가공위치가 복수의 가공영역에 속하는 경우는, 복수의 동시 가공영역의각각에 속하는 가공위치수가 균등해지도록, 해당 가공을 수행하는 영역을 결정하는 소속영역 결정수단을 구비한 것을 특징으로 하는 가공계획장치.
  56. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 워크 상에 산재하는 가공위치로부터, 가공수단의 가공영역 배치를 결정할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    각 가공영역의 중앙부에 가공위치가 모이도록, 영역위치를 조정하는 영역위치 조정수단을 구비한 것을 특징으로 하는 가공계획장치.
  57. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 복수방향으로 이동가능하게 된 스테이지를 사용하여, 이 스테이지 상에 배치된 워크를 가공할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    상기 스테이지의 이동경로의 시점을, 워크를 로더로부터 스테이지에 올리는 위치, 종점을 워크를 언로더로 옮기기 전의 위치로 하고, 끝의 점을 고정한 순회 세일즈맨 문제를 해결함으로써, 상기 스테이지의 이동경로를 결정하는 이동경로 결정수단을 구비한 것을 특징으로 하는 레이저가공계획장치.
  58. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 가공영역 내에서 가공수단을 주사가능한 복수의 가공유닛에 의해, 이동가능한 스테이지 상에 배치된 워크를 동시에 가공할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    가공수단주사 또는 이동횟수 및 스테이지이동횟수가 최소가 되도록, 가공유닛의 간격을 결정하는 유닛간격 결정수단을 구비한 것을 특징으로 하는 가공계획장치.
  59. 제58항에 있어서,
    상기 유닛간격 결정수단에 의한 처리를 워크방향을 변경하여 수행하고,
    가공수단주사 또는 이동횟수 및 스테이지이동횟수가 최소가 되는 워크방향을 자동적으로 채용하는 워크방향 결정수단을 구비한 것을 특징으로 하는 가공계획장치.
  60. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획장치에 관련되며, 복수방향으로 주사 또는 이동가능하게 된 가공수단을 사용하여 워크를 가공할 때에 가공계획을 세우기 위한 가공계획장치에 있어서,
    트리형 데이터구조로 표현된, 워크 상에 산재하는 가공위치 또는 가공영역을 나타내는 점의 위치데이터를 기억하는 수단과,
    상기 트리형 데이터구조로 표현된 위치데이터를 사용하여, 가공영역위치 및 가공순서를 결정하는 수단을 구비한 것을 특징으로 하는 가공계획장치.
  61. 제47항 내지 제60항의 어느 한 항에 기재된 가공계획장치를 포함하는 것을 특징으로 하는 가공장치.
  62. 삭제
  63. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법, 및, 가공계획장치를 위한 가공데이터 작성방법에 있어서,
    통신회선을 통하여 가공장치측으로부터 수신한 가공위치데이터에 근거하여 가공계획을 결정하고,
    상기 가공장치측에 회신하는 것을 특징으로 하는 가공데이터 작성방법.
  64. 제63항에 있어서,
    상기 가공계획을, 제 1 항 내지 제 44 항의 어느 한 항에 기재된 방법에 의해 결정하는 것을 특징으로 하는 가공데이터 작성방법.
  65. 삭제
  66. 복수 방향으로 주사 또는 이동 가능하게 되어 있는 가공수단과, 상기 가공수단에 의하여, 복수 방향으로 이동 가능하게 되어 있는 워크를 가공할 때의 가공계획방법, 및, 가공계획장치를 위한 가공데이터 작성장치에 있어서,
    통신회선을 통하여 가공장치측으로부터 가공위치데이터를 수신하기 위한 수신수단과,
    수신한 가공위치데이터에 근거하여 가공계획을 결정하기 위한 계획수단과,
    결정한 가공계획을 상기 가공장치측에 회신하기 위한 송신수단을 구비한 것을 특징으로 하는 가공데이터 작성장치.
  67. 제66항에 있어서,
    상기 가공계획을, 제 1 항 내지 제 44 항의 어느 한 항에 기재된 방법에 의해 결정하는 것을 특징으로 하는 가공데이터 작성장치.
  68. 삭제
  69. 삭제
KR10-2001-0070209A 2000-11-13 2001-11-12 가공계획방법, 장치, 및, 이를 위한 가공데이터 작성방법,장치 KR100463097B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2000345417 2000-11-13
JPJP-P-2000-00345417 2000-11-13
JPJP-P-2000-00359553 2000-11-27
JP2000359553 2000-11-27
JP2001243870 2001-08-10
JPJP-P-2001-00243870 2001-08-10

Publications (2)

Publication Number Publication Date
KR20020037289A KR20020037289A (ko) 2002-05-18
KR100463097B1 true KR100463097B1 (ko) 2005-01-07

Family

ID=28794758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0070209A KR100463097B1 (ko) 2000-11-13 2001-11-12 가공계획방법, 장치, 및, 이를 위한 가공데이터 작성방법,장치

Country Status (2)

Country Link
KR (1) KR100463097B1 (ko)
TW (1) TW527250B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140033826A (ko) * 2012-09-11 2014-03-19 김도현 환자맞춤형 어버트먼트 가공방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100744892B1 (ko) * 2003-03-28 2007-08-01 세이코 엡슨 가부시키가이샤 공간 광 변조 장치와 이 공간 광 변조 장치를 갖는 프로젝터
US10032244B2 (en) 2014-08-21 2018-07-24 Intel Corporation Method and apparatus for implementing a nearest neighbor search on a graphics processing unit (GPU)
JP6844901B2 (ja) * 2017-05-26 2021-03-17 株式会社ディスコ レーザ加工装置及びレーザ加工方法
JP7262410B2 (ja) * 2020-03-11 2023-04-21 住友重機械工業株式会社 加工順決定装置、レーザ加工装置、及びレーザ加工方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293025A (en) * 1991-08-01 1994-03-08 E. I. Du Pont De Nemours And Company Method for forming vias in multilayer circuits
JPH06234088A (ja) * 1993-02-09 1994-08-23 Nikon Corp レーザ加工装置
JPH10258373A (ja) * 1997-01-16 1998-09-29 Nikon Corp 加工装置及びレーザ加工装置
JPH11285870A (ja) * 1998-04-01 1999-10-19 Nec Corp レーザ加工装置
JP2000301374A (ja) * 1997-03-21 2000-10-31 Sumitomo Heavy Ind Ltd レーザ加工装置及びレーザ加工方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293025A (en) * 1991-08-01 1994-03-08 E. I. Du Pont De Nemours And Company Method for forming vias in multilayer circuits
JPH06234088A (ja) * 1993-02-09 1994-08-23 Nikon Corp レーザ加工装置
JPH10258373A (ja) * 1997-01-16 1998-09-29 Nikon Corp 加工装置及びレーザ加工装置
JP2000301374A (ja) * 1997-03-21 2000-10-31 Sumitomo Heavy Ind Ltd レーザ加工装置及びレーザ加工方法
JPH11285870A (ja) * 1998-04-01 1999-10-19 Nec Corp レーザ加工装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140033826A (ko) * 2012-09-11 2014-03-19 김도현 환자맞춤형 어버트먼트 가공방법

Also Published As

Publication number Publication date
TW527250B (en) 2003-04-11
KR20020037289A (ko) 2002-05-18

Similar Documents

Publication Publication Date Title
US20030028407A1 (en) Method and device for working planning, and method and device for producing working data therefor
US6507941B1 (en) Subgrid detailed routing
US6370673B1 (en) Method and system for high speed detailed placement of cells within an integrated circuit design
US8112733B2 (en) Method and apparatus for routing with independent goals on different layers
US9697317B1 (en) Integrated circuits having in-situ constraints
Luk A greedy switch-box router
US20010038612A1 (en) Automatic routing system for circuit layout
US7080342B2 (en) Method and apparatus for computing capacity of a region for non-Manhattan routing
Preas et al. Automatic placement a review of current techniques
US7171635B2 (en) Method and apparatus for routing
US20040098691A1 (en) Method and apparatus for performing an exponential path search
US7003752B2 (en) Method and apparatus for routing
US7010771B2 (en) Method and apparatus for searching for a global path
JP2004529402A5 (ko)
JP6269121B2 (ja) 情報処理装置、評価関数学習方法およびプログラム
US7047513B2 (en) Method and apparatus for searching for a three-dimensional global path
KR100463097B1 (ko) 가공계획방법, 장치, 및, 이를 위한 가공데이터 작성방법,장치
JPH10312961A (ja) 移動シーケンスの決定方法および位置合わせ装置
JP3999796B2 (ja) 加工計画方法、装置、及び、加工方法、装置
JP2004253006A (ja) 加工計画方法、装置、及び、加工方法、装置
US6988257B2 (en) Method and apparatus for routing
JP4091019B2 (ja) 加工計画方法
Ayob et al. The optimisation of the single surface mount device placement machine in printed circuit board assembly: a survey
Tabrizi et al. A detailed routing-aware detailed placement technique
TW200302761A (en) Method of planning machining and machining equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121121

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20131118

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20141120

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20161122

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20171120

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20181129

Year of fee payment: 15