본 발명은, 워크 상에 산재하는 다수의 가공위치를, 동시가공되는 복수의 가공영역으로 할당하여 가공할 때에, 우선, 각 가공영역 각각의 일순(一巡) 경로 길이가 최소가 되도록 각 가공영역 내의 가공경로를 결정 하고, 이어서, 동시가공되는 가공영역의 총(總)가공시간이 최소가 되도록, 각 가공영역 내의 가공 경로 의 시점(始點) 을 결정하도록 하여, 상기 제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스테이지와 고속가공헤드를 조합한 하이브리드 가공시스템(이른바, 스크린 컷 시스템 혹은 플래시 컷 시스템)이어도 좋다.
또, 적용대상도 레이저천공기에 한정되지 않고, 레이저빔 이외의 가공수단을 이용한 일반적인 가공기(예컨대, 기계식 드릴에 의한 천공장치)에도 동일하게 적용할 수 있다는 것은 분명하다.
또, 통신회선도 인터넷에 한정되지 않고, 전용회선 및 전화회선이어도 좋다.