KR102027972B1 - Cnc 공작 기계의 공작시간 최소화 장치, 방법 및 상기 방법을 수행하기 위한 기록 매체 - Google Patents

Cnc 공작 기계의 공작시간 최소화 장치, 방법 및 상기 방법을 수행하기 위한 기록 매체 Download PDF

Info

Publication number
KR102027972B1
KR102027972B1 KR1020180009164A KR20180009164A KR102027972B1 KR 102027972 B1 KR102027972 B1 KR 102027972B1 KR 1020180009164 A KR1020180009164 A KR 1020180009164A KR 20180009164 A KR20180009164 A KR 20180009164A KR 102027972 B1 KR102027972 B1 KR 102027972B1
Authority
KR
South Korea
Prior art keywords
machine tool
cnc machine
image
path
generating
Prior art date
Application number
KR1020180009164A
Other languages
English (en)
Other versions
KR20190090462A (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 경북대학교 산학협력단
Priority to KR1020180009164A priority Critical patent/KR102027972B1/ko
Publication of KR20190090462A publication Critical patent/KR20190090462A/ko
Application granted granted Critical
Publication of KR102027972B1 publication Critical patent/KR102027972B1/ko

Links

Images

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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4145Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using same processor to execute programmable controller and numerical controller function [CNC] and PC controlled NC [PCNC]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/007Automatic control or regulation of feed movement, cutting velocity or position of tool or work while the tool acts upon the workpiece
    • B23Q15/013Control or regulation of feed movement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31382Find shortest way, route
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32091Algorithm, genetic algorithm, evolution strategy

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

본 발명은 각 드릴 구멍 위치에 가장 최적의 안전한 절삭 공구 이동경로를 찾기 위한 CNC 공작 기계의 공작시간 최소화 장치, 방법 및 기록 매체에 관한 것으로, CNC(Computer Numerical Control) 공작 기계의 이동경로를 탐색할 공작물의 이미지를 처리하는 단계; 처리된 이미지에 경로 탐색 알고리즘을 사용하여 CNC 공작 기계의 이동경로를 탐색하는 단계; 탐색된 이동경로를 이용하여 드릴 작업(drilling operation)을 실시할 구멍들 간의 연결 거리 행렬을 생성하는 단계; 및 생성된 연결 거리 행렬을 기반으로 유전 알고리즘(Genetic Algorithm)을 사용하여 모든 구멍들 간의 최단 경로를 생성하는 단계를 포함한다.

Description

CNC 공작 기계의 공작시간 최소화 장치, 방법 및 상기 방법을 수행하기 위한 기록 매체{Device and Method Minimizing Airtime in CNC Machine Tools, Recording Medium for Performing the Method}
본 발명은 CNC 공작 기계의 공작시간 최소화 장치, 방법 및 상기 방법을 수행하기 위한 기록 매체에 관한 것으로, 더욱 상세하게는 각 드릴 구멍 위치에 가장 최적의 안전한 절삭 공구 이동경로를 찾기 위한 CNC 공작 기계의 공작시간 최소화 장치, 방법 및 상기 방법을 수행하기 위한 기록 매체에 관한 것이다.
CNC 기계의 공구 경로 계획은 항상 공작물과 충돌하면서 한 가공 영역에서 다른 가공 영역으로의 최단거리의 안전한 절삭 공구 이동경로(cutting tool travel path)를 찾아 왔다. 기존에 널리 사용되는 기술 중 하나는 공구(tool)가 한 가공 영역에서 다른 가공 영역으로 이동하기 전에 안전 여유 높이까지 후퇴한 가상 높이의 공구 평면(clearence plane)에서 가공을 마친 부분과 다른 미가공 영역(다른 드릴 구멍) 사이의 거리들을 계산하여 최소한의 거리를 찾아서 이동해 가면서 전체 공구 이동경로를 최적으로 만드는 최적의 공구 이동경로를 찾는 것이다.
CNC 기계의 간단한 구성 요소(components)에 대한 절삭 공구 경로 계획(cutting tool travel path)은 공작 기계 운영자 또는 프로그래머가 기계에서 일반적으로 수행하지만 복잡한 구성 요소의 경우 CAD/CAM 소프트웨어를 사용하여 프로그래밍된다. 구성 요소를 제조하려면 절삭(cutting), 밀링(milling), 드릴링(drilling) 등과 같은 제조 작업이 공작물에서 수행되어야 한다. 해당 영역의 가공 작업이 완료되면 공작물은 한 가공 영역에서 다른 가공 영역으로 이동해야 한다.
이러한 한 지역에서 다른 지역으로 이동하는 동안 도구가 소비한 시간을 대기 시간(air time) 또는 비생산적인 시간(unproductive time)이라고 한다. 이 개념을 설명하기 위해 드릴링 프로세스를 예로 든다. 어떠한 샘플(sample)에는 PCB 보드의 구멍과 같이 공작물 표면에 여러 개의 구멍이 있는 평평한 공작물이 있다고 가정한다. 이 샘플에서 드릴링 도구는 각각의 위치에 있는 모든 구멍을 뚫어야 한다. 구멍이 뚫린 순서는 드릴된 첫 번째 구멍에 따라 선택되고 공구는 모든 구멍의 드릴링 작업을 완료하여 첫 번째 드릴된 구멍과 나머지의 구멍들과의 거리를 기준으로 다음 가장 가까운 구멍으로 이동(equilidian distance)한다. 이전의 PCB 드릴링 연구에서는 유전 알고리즘(Genetic Algorithm, GA)을 사용하여 구멍을 순차적 거리에 따라 순서를 매기는 연구가 있었다.
기존 기술의 문제점은 장애물이 없는 하나의 가공 평면에서 공구 이동경로를 최적화하여 공구의 동작 시간을 최소화해야 하는 제약이 있다. 또한 기존 기술의 문제점은 다음 가공 영역으로 이동하기 전에 보통 공구(tool)가 한 가공 영역에서 다른 가공 영역으로 이동하기 전에 안전 여유 높이까지 후퇴한 가상 높이의 공구 평면(clearence plane)으로 후퇴하므로 후퇴한 가상 높이의 공구 평면(clearence plane)에서는 장애물 또는 비 가공 영역이 존재하지 않는다는 점이다. 공작 기계의 동작 소요 시간은 공구가 후퇴하는 동안 소비된 시간이 클수록 안전 여유 높이까지 후퇴한 가상 높이의 공구 평면(clearence plane)에서 가공을 위해 공구를 이송하는 동안 소요되는 시간이 더 길다는 단점이 존재한다.
한국공개특허 제2016-0095151호 한국등록특허 제10-1620145호
본 발명의 일측면은 CNC 영역에서 적용하여 장애물을 가진 가공 평면에서 공구 경로를 최적화하며, 장애물 또는 비가공 영역(nonmachinables areas)을 피하고, 최단 경로를 돌아다니면서 천공될 구멍 사이에 이동경로를 생성할 수 있는 CNC 공작 기계의 공작시간 최소화 장치, 방법 및 기록 매체를 제공한다.
본 발명의 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 CNC 공작 기계의 공작시간 최소화 방법은, CNC(Computer Numerical Control) 공작 기계의 이동경로를 탐색할 공작물의 이미지를 처리하는 단계; 처리된 이미지에 경로 탐색 알고리즘을 사용하여 CNC 공작 기계의 이동경로를 탐색하는 단계; 탐색된 이동경로를 이용하여 드릴 작업(drilling operation)을 실시할 구멍들 간의 연결 거리 행렬을 생성하는 단계; 및 생성된 연결 거리 행렬을 기반으로 유전 알고리즘(Genetic Algorithm)을 사용하여 모든 구멍들 간의 최단 경로를 생성하는 단계를 포함한다.
일 실시예에서, 상기 이미지를 처리하는 단계는, 공작물 이미지의 색조 및 채도를 제거하여 그레이 스케일(Gray scale) 이미지로 변환하는 단계; 그레이 스케일 이미지의 노이즈를 제거하는 단계; 쓰레드(Threshold)를 계산하여 그레이 스케일 이미지를 이진 이미지로 변환하는 단계; 이진 이미지에 영역 기반 필터링(Area-Based Filtering)을 수행하는 단계; 경계 청소 알고리즘(boundary cleaning algorithms)을 사용하여 이진 이미지의 경계를 청소하는 단계; 및 이진 이미지의 경계 추적(boundary tracing)을 통해 이진 이미지의 경계를 형성하는 엣지(boundary edges)를 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 노이즈를 제거하는 단계는, 2차원 중앙 필터링 기술(two-dimensional median filtering technique)을 사용할 수 있다.
일 실시예에서, 상기 이동경로를 탐색하는 단계는, 최소 이동 거리와 최소 이동 시간을 고려하여 두 개의 구멍 사이에서 가능한 이동경로를 찾을 수 있다.
일 실시예에서, 상기 이동경로를 탐색하는 단계는, BFS(best first search method) 방법을 따르는 A* 알고리즘을 사용하여 이동경로를 탐색할 수 있다.
일 실시예에서, 상기 A* 알고리즘은, f(n)=g(n)+h(n)의 평가 함수를 사용할 수 있다.여기서, n은 경로의 마지막 노드, g(n)는 시작 노드에서 n까지의 경로 비용이고, h(n)는 n에서 목표까지 경로의 비용을 추정하는 경험적 방법이다.
일 실시예에서, 상기 구멍들 간의 연결 거리 행렬을 생성하는 단계는, CNC 공작 기계 및 픽셀의 위치에 따른 가중치를 부여하여 가중치 행렬을 생성하는 단계; 및 생성된 가중치 행렬에 A* 알고리즘을 적용하여 연결 거리 행렬을 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 가중치 행렬을 생성하는 단계는, CNC 공작 기계의 위치에 2의 가중치를 부여하고, CNC 공작 기계의 이웃 픽셀에 1의 가중치를 부여하고, CNC 공작 기계가 어떠한 방향으로 이동할 수 없는 경우 0의 가중치를 부여하여 행렬을 생성할 수 있다.
일 실시예에서, 상기 가중치 행렬은, CNC 공작 기계의 성능 또는 허용된 이동(movement)에 대응하여 변경될 수 있다.
일 실시예에서, 상기 최단 경로를 생성하는 단계는, 초기 모집단(initial population)을 생성하는 단계; 생성된 모집단의 각 염색체(chromosome of the population)에 대한 적합도 함수(fitness function)에 따라 적합도 값(fitness value)을 계산하는 단계; 적합도 값이 최적화 기준을 충족할 경우 최적의 이동경로 선택하고, 최적화 기준을 충족하지 못할 경우 새로운 모집단을 생성하는 단계; 최적의 이동경로가 선택되면 크로스 오버(cross over)를 위한 무작위 삽입 구멍(random insertion points)을 수행하는 단계; 및 돌연변이 연산자를 사용하여 새로운 모집단을 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 접합도 함수는, 경로 거리(path distance)에 반비례할 수 있다.
일 실시예에서, 상기 최적화 기준을 충족하지 못할 경우 새로운 모집단을 생성하는 단계는, 새로운 모집단의 생성을 위해 무작위 순열 선택의 유전 알고리즘 연산자를 사용할 수 있다.
일 실시예에서, 상기 돌연변이 연산자는, 플립(flip), 스왑(swap), 슬라이드(slide) 및 미동작(do nothing)을 사용할 수 있다.
또한, CNC 공작 기계의 공작시간 최소화 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공한다.
본 발명의 다른 실시예에 따른 CNC 공작 기계의 공작시간 최소화 장치는, CNC(Computer Numerical Control) 공작 기계의 이동경로를 탐색할 공작물의 이미지를 처리하는 이미지 처리부; 처리된 이미지에 경로 탐색 알고리즘을 사용하여 CNC 공작 기계의 이동경로를 탐색하는 이동경로 탐색부; 탐색된 이동경로를 이용하여 드릴 작업(drilling operation)을 실시할 구멍들 간의 연결 거리 행렬을 생성하는 행렬 생성부; 및 생성된 연결 거리 행렬을 기반으로 유전 알고리즘(Genetic Algorithm)을 사용하여 모든 구멍들 간의 최단 경로를 생성하는 최단경로 생성부를 포함한다.
일 실시예에서, 상기 이미지 처리부는, 공작물 이미지의 색조 및 채도를 제거하여 그레이 스케일(Gray scale) 이미지로 변환하는 이미지로 변환부; 그레이 스케일 이미지의 노이즈를 제거하는 노이즈 제거부; 쓰레드(Threshold)를 계산하여 그레이 스케일 이미지를 이진 이미지로 변환하는 이진이미지 변환부; 이진 이미지에 영역 기반 필터링(Area-Based Filtering)을 수행하는 피터링 수행부; 경계 청소 알고리즘(boundary cleaning algorithms)을 사용하여 이진 이미지의 경계를 청소하는 경계 청소부; 및 이진 이미지의 경계 추적(boundary tracing)을 통해 이진 이미지의 경계를 형성하는 엣지(boundary edges)를 생성하는 엣지 생성부를 포함할 수 있다.
일 실시예에서, 상기 노이즈 제거부는, 2차원 중앙 필터링 기술(two-dimensional median filtering technique)을 사용할 수 있다.
일 실시예에서, 상기 행렬 생성부는, CNC 공작 기계 및 픽셀의 위치에 따른 가중치를 부여하여 가중치 행렬을 생성하는 가중치 행렬 생성부; 및 생성된 가중치 행렬에 A* 알고리즘을 적용하여 연결 거리 행렬을 생성하는 거리 행렬 생성부를 포함할 수 있다.
일 실시예에서, 상기 가중치 행렬 생성부는, CNC 공작 기계의 위치에 2의 가중치를 부여하고, CNC 공작 기계의 이웃 픽셀에 1의 가중치를 부여하고, CNC 공작 기계가 어떠한 방향으로 이동할 수 없는 경우 0의 가중치를 부여하여 행렬을 생성할 수 있다.
일 실시예에서, 상기 최단경로 생성부는, 초기 모집단(initial population)을 생성하는 제1 모집단 생성부; 생성된 모집단의 각 염색체(chromosome of the population)에 대한 적합도 함수(fitness function)에 따라 적합도 값(fitness value)을 계산하는 적합도 계산부; 적합도 값이 최적화 기준을 충족할 경우 최적의 이동경로 선택하고, 최적화 기준을 충족하지 못할 경우 새로운 모집단을 생성하는 제2 모집단 생성부; 최적의 이동경로가 선택되면 크로스 오버(cross over)를 위한 무작위 삽입 구멍(random insertion points)을 수행하는 삽입 구멍 수행부; 및 돌연변이 연산자를 사용하여 새로운 모집단을 생성하는 제2 모집단 생성부를 포함할 수 있다.
상술한 본 발명의 일측면에 따르면, 장애물 또는 비가공 영역 주변으로 이동하지 않아 공구가 이동하는 거리를 줄여주며, 공구 움직임 높이(tool retraction height, tool이 위에서 움직이기 시작해서 밑까지 움직일 때의 높이)가 높을수록 전체 공구 이동 거리의 감소가 비례하여 커지는 효과를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 CNC 공작 기계의 공작시간 최소화 장치의 개략적인 구성이 도시된 도면이다.
도 2는 본 발명의 다른 실시예에 따른 CNC 공작 기계의 공작시간 최소화 방법을 설명하는 순서도이다.
도 3은 선택된 공작물의 CAD 모델을 설명하는 도면이다.
도 4는 이미지 처리 기술을 사용하여 이미지를 경계 모서리로 변환하는 방법론을 설명하는 도면이다.
도 5는 공작물 탑 뷰의 이미지 변환을 설명하는 도면이다.
도 6은 A* 알고리즘을 이용하여 노드 C와 노드 D 사이의 최단 거리를 계산하는 방법을 설명하는 도면이다.
도 7은 모든 구멍들 결합 간의 거리와 공작 기구 경로 정보를 설명하는 도면이다.
도 8 내지 10은 다양한 시작 구멍 위치를 갖는 샘플 1 내지 5에 대한 최적화된 공작 기계의 이동경로를 설명하는 도면이다.
도 11은 도 2에 있는 이미지를 처리하는 단계를 설명하는 순서도이다.
도 12는 도 2에 있는 구멍들 간의 행렬을 생성하는 단계를 설명하는 순서도이다.
도 13은 도 2에 있는 최단 경로를 생성하는 단계를 설명하는 순서도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 CNC 공작 기계의 공작시간 최소화 장치의 개략적인 구성이 도시된 도면이다.
구체적으로, 본 발명의 일 실시예에 따른 CNC 공작 기계의 공작시간 최소화 장치는, 이미지 처리부(100), 이동경로 탐색부(200), 행렬 생성부(300) 및 최단경로 생성부(400)를 포함한다.
이미지 처리부(100)는, CNC(Computer Numerical Control) 공작 기계의 이동경로를 탐색할 공작물의 이미지를 처리한다.
일 실시예에서, 이미지 처리부(100)는, 공작물 이미지의 색조 및 채도를 제거하여 그레이 스케일(Gray scale) 이미지로 변환하는 이미지로 변환부, 그레이 스케일 이미지의 노이즈를 제거하는 노이즈 제거부, 쓰레드(Threshold)를 계산하여 그레이 스케일 이미지를 이진 이미지로 변환하는 이진이미지 변환부, 이진 이미지에 영역 기반 필터링(Area-Based Filtering)을 수행하는 피터링 수행부, 경계 청소 알고리즘(boundary cleaning algorithms)을 사용하여 이진 이미지의 경계를 청소하는 경계 청소부 및 이진 이미지의 경계 추적(boundary tracing)을 통해 이진 이미지의 경계를 형성하는 엣지(boundary edges)를 생성하는 엣지 생성부를 포함할 수 있다.
일 실시예에서, 노이즈 제거부는, 2차원 중앙 필터링 기술(two-dimensional median filtering technique)을 사용할 수 있다.
이동경로 탐색부(200)는, 처리된 이미지에 경로 탐색 알고리즘을 사용하여 CNC 공작 기계의 이동경로를 탐색한다.
행렬 생성부(300)는, 탐색된 이동경로를 이용하여 드릴 작업(drilling operation)을 실시할 구멍들 간의 연결 거리 행렬을 생성한다.
일 실시예에서, 행렬 생성부(300)는, CNC 공작 기계 및 픽셀의 위치에 따른 가중치를 부여하여 가중치 행렬을 생성하는 가중치 행렬 생성부(300); 및 생성된 가중치 행렬에 A* 알고리즘을 적용하여 연결 거리 행렬을 생성하는 거리 행렬 생성부(300)를 포함할 수 있다.
여기서, A* 알고리즘이라 함은, 주어진 출발 꼭짓점에서부터 목표 꼭짓점까지 가는 최단 경로를 찾아내는(다시 말해 주어진 목표 꼭짓점까지 가는 최단 경로임을 판단할 수 있는 테스트를 통과하는) 그래프/트리 탐색 알고리즘 중 하나로서, 각 꼭짓점 {\displaystyle x} x에 대해 그 꼭짓점을 통과하는 최상의 경로를 추정하는 순위값인 "휴리스틱 추정값" {\displaystyle h(x)} h(x) 을 매기는 방법을 쓴다. 이 알고리즘은 이 휴리스틱 추정값의 순서로 꼭짓점을 방문하므로, A* 알고리즘을 너비 우선 탐색의 한 예로 분류할 수 있다.
일 실시예에서, 가중치 행렬 생성부(300)는, CNC 공작 기계의 위치에 2의 가중치를 부여하고, CNC 공작 기계의 이웃 픽셀에 1의 가중치를 부여하고, CNC 공작 기계가 어떠한 방향으로 이동할 수 없는 경우 0의 가중치를 부여하여 행렬을 생성할 수 있다.
최단경로 생성부(400)는, 생성된 행렬을 기반으로 유전 알고리즘(Genetic Algorithm)을 사용하여 모든 구멍들 간의 최단 경로를 생성한다.
여기서, 유전 알고리즘(Genetic Algorithm, GA)이라 함은, 자연세계의 진화과정에 기초한 계산 모델로서 존 홀랜드(John Holland)에 의해서 1975년에 개발된 전역 최적화 기법으로, 최적화 문제를 해결하는 기법의 하나이다. 생물의 진화를 모방한 진화 연산의 대표적인 기법으로, 실제 진화의 과정에서 많은 부분을 차용하였으며, 변이(돌연변이), 교배 연산 등이 존재한다. 또한 세대, 인구 등의 용어도 문제 풀이 과정에서 사용된다.
일 실시예에서, 최단경로 생성부(400)는, 초기 모집단(initial population)을 생성하는 제1 모집단 생성부, 생성된 모집단의 각 염색체(chromosome of the population)에 대한 적합도 함수(fitness function)에 따라 적합도 값(fitness value)을 계산하는 적합도 계산부, 적합도 값이 최적화 기준을 충족할 경우 최적의 이동경로 선택하고, 최적화 기준을 충족하지 못할 경우 새로운 모집단을 생성하는 제2 모집단 생성부, 최적의 이동경로가 선택되면 크로스 오버(cross over)를 위한 무작위 삽입 구멍(random insertion points)을 수행하는 삽입 구멍 수행부 및 돌연변이 연산자를 사용하여 새로운 모집단을 생성하는 제2 모집단 생성부를 포함할 수 있다.
도 2는 본 발명의 다른 실시예에 따른 CNC 공작 기계의 공작시간 최소화 방법을 설명하는 순서도이다.
도 2를 참조하면, CNC 공작 기계의 공작시간 최소화 방법은, 먼저 CNC(Computer Numerical Control) 공작 기계의 이동경로를 탐색할 공작물의 이미지를 처리한다(S100).
상술한 단계 S100에서 처리된 이미지에 경로 탐색 알고리즘을 사용하여 CNC 공작 기계의 이동경로를 탐색한다(S200).
일 실시예에서, 이동경로를 탐색하는 단계(S200)는, 최소 이동 거리와 최소 이동 시간을 고려하여 두 개의 구멍 사이에서 가능한 이동경로를 찾을 수 있다.
일 실시예에서, 이동경로를 탐색하는 단계(S200)는, BFS(best first search method) 방법을 따르는 A* 알고리즘을 사용하여 이동경로를 탐색할 수 있다.
이때, A* 알고리즘은, f(n)=g(n)+h(n)의 평가 함수를 사용할 수 있다.
여기서, n은 경로의 마지막 노드, g(n)는 시작 노드에서 n까지의 경로 비용이고, h(n)는 n에서 목표까지 경로의 비용을 추정하는 경험적 방법이다.
상술한 단계 S200에서 탐색된 이동경로를 이용하여 드릴 작업(drilling operation)을 실시할 구멍들 간의 행렬을 생성한다(S300).
상술한 단계 S300에서 생성된 행렬을 기반으로 유전 알고리즘(Genetic Algorithm)을 사용하여 모든 구멍들 간의 최단 경로를 생성한다(S400).
이하 학생 트레이너 CNC Vertical Machining Center인 NHM400 CNC 기계를 통해 본 발명에 의해 생성된 최단 안전 절삭 공구 이동 경로를 검증한다.
본 발명의 테스트를 위해 선택된 부품의 CAD 모델은 도 3과 같은 프로파일을 가진 500×500×100mm 강철의 샘플 워크이다. 테스트에 사용되는 구성 요소는 제조 공정의 중간 단계이고, 몰드로 완성되며, 더 높은 깊이의 구멍을 부품에 뚫어야한다.
상술한 단계 S100에 의한 이미지 처리는 먼저 이미지의 색조 및 채도 제거를 사용하여 획득 한 컬러 이미지를 그레이 스케일(gray scale) 이미지로 변환 한 후 2 차원(2D) 중앙 필터링 기술(two-dimensional(2D) median filtering technique)을 사용하여 노이즈를 제거한 CAD 모델의 상위 뷰(top view)로 처리된다.
Otsu(Otsu N. A threshold selection method from gray-level histograms. IEEE T SystMan Cyb 1979; 9: 62-66.) 방법을 사용하여 전역 쓰레드(threshold)를 계산한 다음 그레이 스케일 이미지를 이진 이미지로 변환한다.
변환된 이 이미지는 경계 추적(boundary tracing)을 위한 이미지 처리 기술을 사용하여 추가로 처리된다. 이미지 처리 알고리즘의 방법론은 도 4에서 설명한다.
도 4를 참조하면, 이미지의 처리 순서에 따라, 이미지의 색조 및 채도를 제거(S410), 그레이 스케일의 이미지로 변환(S420), 이미지의 노이즈를 제거(S430), 쓰레드를 계산(S440), 그레이 스케일 이미지를 이진 이미지로 변환(S450), 영역 기반 필터링(S460), 경계 청소(S470), 경계 추적(S480) 및 경계 엣지들(S490)의 순서로 진행된다.
이미지 프로세싱 기술을 이용하여 경계 엣지들(boundary edges)로 변환하는 방법으로 다음과 같은 것들이 있다.
먼저, 영역 기반 필터링은 가공 영역과 바깥 부분의 경계를 그리기 위한 필터링 작업이고, 경계 청소는 필터링 후의 경계는 일정한 사이즈가 아니기 때문에 청소를 실시하는 것이고, 경계 추적과 엣지들은 위의 작업의 연속으로 깨끗한 경계를 그리고 경계의 엣지들을 생성하기 위한 작업이다.
획득된 트레이스 경계는 경계 클리닝 알고리즘(boundary cleaning algorithms)을 사용하여 형태학적으로 얇게 변환한다.
이에 따라서 최종 변환 이미지는 도 5에 나와 있으며, 모든 투영된 부분과 가장자리를 나타내는 검은색과 가공 가능한 영역을 나타내는 흰색의 흑백 이미지 형태이다. 구멍을 뚫어야 하는 위치는 알 수 있으며, 가능한 모든 구멍 조합 쌍이 고려된다.
도 5는 드릴링 구멍이 없는 CAD 샘플 1을 위에서 본 CAD 이미지를 변환한 이미지로서, 도 5a는 원본 CAD 이미지이고, 도 5b는 변환된 이미지이다.
상술한 단계 S100에서 처리된 이미지는 노드를 정렬하는 평가 기능을 사용하여 각 쌍 사이의 최적의 안전 절단 공구 이동경로(cutting tool travel path)를 찾기 위한 입력으로 사용된다. 상술한 단계 S200에 따라 최소 이동 거리와 최소 이동 시간과 같은 조건을 고려하여 두 개의 구멍 위치 사이에서 가능한 최상의 경로를 찾는다. 따라서 BFS 방법(best first search method)을 따르는 A* 알고리즘을 사용하여 두 세트의 구멍 위치 사이에서 최적의 안전한 절삭 공구 이동경로를 찾는다. A* 알고리즘은 주로 아래의 수학식 1과 같은 평가 함수를 사용한다.
Figure 112018008724183-pat00001
수학식 1에서 n은 경로의 마지막 노드이고, g(n)은 시작 노드에서 n까지의 경로 비용이고, h(n)은 n에서 목표까지 최적화된 경로의 비용을 추정하는 경험적 방법이다. 모든 문제에 대한 휴리스틱스는 알고리즘에서 가장 가까운 노드에 도달하기 위한 실제 비용을 과대 가하지 않도록 변경된다. 두 개의 구멍 위치 사이에 최적화된 경로를 제공하는 목표는 이동하는 비용보다 항상 낮다.
입력 이미지를 정점과 가장자리로 구성된 그래프로 간주했다. 그런 다음 각 픽셀은 도 6a에 표시된 꼭짓점(vertex)으로 간주되고, 모든 단일 정점에는 엣지(edge) 역할을 하는 충돌 방지 링크(collisionfree links)가 여러 개 있다. 이 알고리즘에서는 공구(tool)의 위치에 2의 가중치가 부여된다. CNC 공구는 직선 및 대각선과 같은 모든 방향으로 이동할 수 있기 때문에 도 6a와 같이 이웃 픽셀 행렬에 1의 가중치가 부여된다. 도구가 어떤 방향으로도 이동할 수 없는 경우 0의 가중치가 매트릭스에 지정됨으로써, 상술한 바와 같은 S300에 따라 행렬을 생성하게 된다.
이 가중치 행렬은 기계의 성능 및 허용된 이동에 따라 변경될 수 있다.
이동 비용은 연결 지점 사이의 유클리드 거리(Euclidian distance, ED)인 가장자리의 가중치, 점의 근접성을 나타내는 경험적 함수 및 목표에 대한 ED를 포함하여 계산된다. 이것은 도 6c에서 나타난 바와 같이 A* 알고리즘은 C의 초기 구멍 위치에서 목표 구멍 위치 D까지의 최적 공구 이동경로를 찾는 데 사용된다. A* 알고리즘은 도 6b의 회색으로 표시된 가중치 행렬을 기반으로 모든 반복에 대한 검색 영역을 확장하고, 마지막으로 D의 목표 구멍 위치에 도달하면 최적화된 공구 이동을 표시한다.
도 6c에서 나타난 바와 같이, 두 개의 구멍 위치 C 또는 D 사이의 경로를 따라 이동하고, 공구가 이동하는데 필요한 거리도 유도된다. 도 6에 도시된 바와 같이 A ~ D, A ~ C, A ~ B, B ~ D 및 B ~ C와 같은 이 샘플의 구멍 조합이 최적의 절삭 공구 이동경로를 탐색할 때까지 동일한 기술이 사용된다. 도 7a에서 각 구멍의 쌍에 대한 색으로 표현하고 도 7b와 같이 연결 거리 행렬을 생성한다.
도 6은 C와 D의 두 개의 구멍 사이의 최적의 안전 절상 공구의 이동경로를 설명한 예시로서, A* 알고리즘을 이용한 노드 C와 D 사이의 가장 짧은 거리 계산의 예시이다. 도 6a는 가중치 행렬을 이용한 공구 이동이고, 도 6b는 A* 알고리즘의 동작 과정(회색 영역, 탐색 구간(searching area))이며, 도 6c는 C와 D의 두 개의 구멍 사이의 최적의 안전 절삭 공구(cutting tool) 이동경로이다.
도 7은 CAD 모델 1에 대한 모든 구멍의 조합에 대한 거리의 정보를 제시하는 것으로, 공작 기계 경로 정보와 모든 구멍(hole)의 조합의 거리를 설명하는 것으로, 도 7a는 CAD 모델 1의 구멍의 위치이고, 도 7b는 모든 구멍의 조합에 대한 거리를 정의한 행렬(연결 거리 행렬(connection distance matrix))사이의 최적 안전 절삭 공구 이동경로이다.
마지막으로, 상술한 단계 S400에 따른 연결 거리 행렬을 기반으로 GA(Genetic Algorithm)를 사용하여 모든 구멍의 최적 경로를 생성한다. 드릴 작업(drilling operation)의 조건에 따라 드릴링 공구(drilling tool)는 미리 정해진 구멍 위치에서 시작하여 모든 구멍 위치를 한 번씩 방문하여 드릴 작업을 완료한 후 최소의 총 공구 이동 거리로 마지막 구멍 위치에서 종료해야 한다.
연결 거리 행렬의 거리 정보는 구멍(hole)이 도시를 나타내고, 절삭 공구(cutting tool)가 영업사원을 나타내는 여행 판매원 문제의 특별한 경우로 간주될 수 있다. 먼저, GA는 B-C-D-A, C-B-A-D 등의 초기 모집단(initial population)을 생성한 다음 모집단의 각 염색체(chromosome of the population)에 대한 적합도 함수(fitness function)에 따라 적합도 값(fitness value)을 계산한다. 이 문제에 대한 적합도 함수는 모든 구멍에 대한 최소 경로 거리를 얻는 것이다. 따라서 아래의 수학식식 2에 의해 정의된다.
Figure 112018008724183-pat00002
위에서 생성된 초기 모집단에 대한 경로 거리는 도 7b에 표시된 연결 거리 행렬을 기반으로 1360mm(B-C-D-A) 및 1034mm(C-B-A-D)이다. C-B-A-D의 적합도 값은 수학식 2에 기초하여 더 낮을 것이다. 최적화 기준이 충족되면 솔루션은 최상의 솔루션으로 간주되고, 그렇지 않으면 무작위 순열 선택의 GA 연산자를 사용하여 새로운 모집단이 생성된다. 가장 좋은 네 개의 경로가 선택되고 크로스 오버(cross over)를 위한 무작위 삽입 구멍(지점, random insertion points)이 수행된다. 그런 다음에 플립(flip), 스왑(swap), 슬라이드(slide), 미수행(do nothing)의 네 가지 돌연변이 연산자를 사용하여 새로운 모집단을 생성한다. 이 과정은 최적 또는 거의 최적의 솔루션으로 수렴 될 때까지 여러 세대 동안 계속된다. 따라서, 드릴링 공구(drilling tool)가 고정된 구멍에서 시작하여 최적의 공구 경로가 획득되고, 시작 구멍 위치가 서로 다른 도 8과 도 9에 나와 있는 것처럼 모든 구멍 위치에서 드릴링 프로세스가 완료된다. 각 픽셀이 노드로 표시되므로 도구 이동경로의(x, y) 좌표가 출력으로 된다. 이렇게 하면 Z축 이동량이 적고 공구 돌출 길이가 긴 CNC 기계가 이 알고리즘을 사용하고 가공 할 수 있는 영역 전체에서 충돌 없이 이동할 수 있다.
도 8은 CAD 샘플 1의 변환된 이미지에 대하여 서로 다른 시작 구멍의 위치로부터 최적화 공구 이동경로의 형식의 예시로서, CAD 샘플 1의 변환된 이미지에 대하여 서로 다른 시작 구멍의 위치로부터 최적화 공구 이동경로의 형식의 예시이다. 도 8a의 시작 구멍은 위치 좌표가 (30, 50)인 A이고, 도 8b의 시작 구멍은 위치 좌표가 (250, 250)인 B이고, 도 8c의 시작 구멍은 위치 좌표가 (470, 50)인 C이고, 도 8d의 시작 구멍은 위치 좌표가 (30, 450)인 D이다.
도 9는 샘플 1의 변환된 이미지에 대한 최적화 결과를 보여주는데, 서로 다른 시작 구멍의 위치를 가진 샘플 2 ~ 4 까지에 대한 제안된 최적화 공구 이동 알고리즘의 생성 예시이다.
도 9를 살펴보면, 도 9a의 시작 구멍은 좌표가 (100, 50)인 A이고, 도 9b의 시작 구멍은 좌표가 (250, 250)인 B이고, 도 9c의 시작 구멍은 좌표가 (400, 50)인 C이고, 도 9d의 시작 구멍은 좌표가 (100, 450)인 D이고, 도 9e의 시작 구멍은 좌표가 (50, 250)인 E이고, 도 9f의 시작 구멍은 좌표가 (140, 70)인 F이고, 도 9g의 시작 구멍은 좌표가 (140, 430)인 G이고, 도 9h의 시작 구멍은 좌표가 (360, 70)인 H이고, 도 9i의 시작 구멍은 좌표가 (150, 112.5)인 I이고, 도 9j의 시작 구멍은 좌표가 (1350, 112.5)인 J이고, 도 9k의 시작 구멍은 좌표가 (250, 40)인 K이고, 도 9l의 시작 구멍은 좌표가 (2150, 375)인 L이다.
도 10은 샘플 5에 대하여 서로 다른 시작 위치에서 시작한 경우의 제안된 최적의 공구 이동경로를 표시한 예시로서, 서로 다른 시작 위치를 가진 샘플 5에 대한 제안된 최적의 공구 이동경로의 예시이다. 도 10b의 시작 구멍은 좌표가 (196, 319)인 B이고, 도 10c의 시작 구멍은 좌표가 (222, 248)인 C이고, 도 10d의 시작 구멍은 좌표가 (374, 143)인 D이다.
Figure 112018008724183-pat00003
표 1은 샘플 5에 대한 최적의 공구 이동경로의 결과이다.
상술한 바와 같은 단계를 가지는 CNC 공작 기계의 공작시간 최소화 방법은, 가공이 불가능한 영역을 피함으로써, 각 드릴 구멍 위치 사이에서 가장 최적의 안전한 절삭 공구 이동경로를 찾기 위해 A* 및 유전자 알고리즘을 이용한 공구 경로 최적화 방법을 제공할 수 있다.
이에 따라, 본 발명은, 안전 여유 높이까지 후퇴한 가상 높이의 공구 평면(clearence plane)까지 후퇴하지 않고, 장애물을 잘 피할 수 있기 때문에 동작 시간을 줄임으로써 구성 요소의 가공비용을 줄이고 가공 효율을 높일 수 있다.
또한, 수행된 일련의 실험은 전통적인 공구 경로 방법으로 얻은 절삭 공구 이동 거리 값에 비해 평균 38.8%의 전체적인 개선을 나타낸다.
도 11은 도 2에 있는 이미지를 처리하는 단계를 설명하는 순서도이다.
도 11을 참조하면, 이미지를 처리하는 단계(S100)는, 먼저 공작물 이미지의 색조 및 채도를 제거하여 그레이 스케일(Gray scale) 이미지로 변환한다(S110).
상술한 단계 S110에서 변환된 그레이 스케일 이미지의 노이즈를 제거한다(S120).
일 실시예에서, 노이즈를 제거하는 단계(S120)는, 2차원 중앙 필터링 기술(two-dimensional median filtering technique)을 사용할 수 있다.
상술한 단계 S120에서 노이즈가 제거되면, 쓰레드(Threshold)를 계산하여 그레이 스케일 이미지를 이진 이미지로 변환한다(S130).
상술한 단계 S130에서 변환된 이진 이미지에 영역 기반 필터링(Area-Based Filtering)을 수행한다(S140).
상술한 단계 S140에서 필터링을 수행한 후, 경계 청소 알고리즘(boundary cleaning algorithms)을 사용하여 이진 이미지의 경계를 청소한다(S150).
상술한 단계 S150에서 경계가 청소되면, 이진 이미지의 경계 추적(boundary tracing)을 통해 이진 이미지의 경계를 형성하는 엣지(boundary edges)를 생성한다(S160).
도 12는 도 2에 있는 구멍들 간의 행렬을 생성하는 단계를 설명하는 순서도이다.
도 12를 참조하면, 구멍들 간의 행렬을 생성하는 단계(S300)는, 먼저 CNC 공작 기계 및 픽셀의 위치에 따른 가중치를 부여하여 가중치 행렬을 생성한다(S310).
상술한 단계 S310에서 생성된 가중치 행렬에 A* 알고리즘을 적용하여 연결 거리 행렬을 생성한다(S320).
일 실시예에서, 가중치 행렬을 생성하는 단계(S320)는, CNC 공작 기계의 위치에 2의 가중치를 부여하고, CNC 공작 기계의 이웃 픽셀에 1의 가중치를 부여하고, CNC 공작 기계가 어떠한 방향으로 이동할 수 없는 경우 0의 가중치를 부여하여 행렬을 생성할 수 있다.
이때, 가중치 행렬은, CNC 공작 기계의 성능 또는 허용된 이동(movement)에 대응하여 변경될 수 있다.
도 13은 도 2에 있는 최단 경로를 생성하는 단계를 설명하는 순서도이다.
도 13을 참조하면, 최단 경로를 생성하는 단계(S400)는, 먼저, 초기 모집단(initial population)을 생성한다(S410).
상술한 단계 S410에서 생성된 모집단의 각 염색체(chromosome of the population)에 대한 적합도 함수(fitness function)에 따라 적합도 값(fitness value)을 계산한다(S420).
여기서, 접합도 함수는, 경로 거리(path distance)에 반비례한다.
상술한 단계 S420에서 적합도 값이 최적화 기준을 충족할 경우 최적의 이동경로 선택하고, 최적화 기준을 충족하지 못할 경우 새로운 모집단을 생성한다(S430).
일 실시예에서, 최적화 기준을 충족하지 못할 경우 새로운 모집단을 생성하는 단계(S430)는, 새로운 모집단의 생성을 위해 무작위 순열 선택의 유전 알고리즘 연산자를 사용할 수 있다.
상술한 단계 S420에서 최적의 이동경로가 선택되면 크로스 오버(cross over)를 위한 무작위 삽입 구멍(random insertion points)을 수행한다(S440).
상술한 단계 S440에서 무작위 삽입 구멍(random insertion points)을 수행한 후, 돌연변이 연산자를 사용하여 새로운 모집단을 생성한다(S450).
여기서, 돌연변이 연산자는, 플립(flip), 스왑(swap), 슬라이드(slide) 및 미동작(do nothing)을 사용할 수 있다.
상술한 바와 같은 CNC(Computer Numerical Control) 공작 기계의 공작시간 최소화 방법은, 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CDROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
본 발명에 따르면, 비가공 영역을 피하고 각 드릴 구멍 위치 사이에 가장 최적의 안전한 절삭 공구 이동경로를 찾기 위한 A* 알고리즘과 유전 알고리즘을 이용한 공구 경로 최적화 방법으로서, 공구가 이동하는 밀링 머신(Milling Machine) 및 기타 CNC 가공 프로세스에도 사용될 수 있다.
100: 이미지 처리부
200:이동경로 탐색부
300: 행렬 생성부
400: 최단경로 생성부

Claims (20)

  1. CNC(Computer Numerical Control) 공작 기계의 이동경로를 탐색할 공작물의 이미지를 처리하는 단계;
    처리된 이미지에 경로 탐색 알고리즘을 사용하여 CNC 공작 기계의 이동경로를 탐색하는 단계;
    탐색된 이동경로를 이용하여 드릴 작업(drilling operation)을 실시할 구멍들 간의 연결 거리 행렬을 생성하는 단계; 및
    생성된 연결 거리 행렬을 기반으로 유전 알고리즘(Genetic Algorithm)을 사용하여 모든 구멍들 간의 최단 경로를 생성하는 단계를 포함하고,
    상기 구멍들 간의 연결 거리 행렬을 생성하는 단계는,
    CNC 공작 기계 및 픽셀의 위치에 따른 가중치를 부여하여 가중치 행렬을 생성하는 단계를 더 포함하는, CNC 공작 기계의 공작시간 최소화 방법.
  2. 제1항에 있어서, 상기 이미지를 처리하는 단계는,
    공작물 이미지의 색조 및 채도를 제거하여 그레이 스케일(Gray scale) 이미지로 변환하는 단계;
    그레이 스케일 이미지의 노이즈를 제거하는 단계;
    쓰레드(Threshold)를 계산하여 그레이 스케일 이미지를 이진 이미지로 변환하는 단계;
    이진 이미지에 영역 기반 필터링(Area-Based Filtering)을 수행하는 단계;
    경계 청소 알고리즘(boundary cleaning algorithms)을 사용하여 이진 이미지의 경계를 청소하는 단계; 및
    이진 이미지의 경계 추적(boundary tracing)을 통해 이진 이미지의 경계를 형성하는 엣지(boundary edges)를 생성하는 단계를 포함하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
  3. 제2항에 있어서, 상기 노이즈를 제거하는 단계는,
    2차원 중앙 필터링 기술(two-dimensional median filtering technique)을 사용하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
  4. 제1항에 있어서, 상기 이동경로를 탐색하는 단계는,
    최소 이동 거리와 최소 이동 시간을 고려하여 두 개의 구멍 사이에서 가능한 이동경로를 찾는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
  5. 제4항에 있어서, 상기 이동경로를 탐색하는 단계는,
    BFS(best first search method) 방법을 따르는 A* 알고리즘을 사용하여 이동경로를 탐색하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
  6. 제5항에 있어서, 상기 A* 알고리즘은,
    f(n)=g(n)+h(n)의 평가 함수를 사용하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
    여기서, n은 경로의 마지막 노드, g(n)는 시작 노드에서 n까지의 경로 비용이고, h(n)는 n에서 목표까지 경로의 비용을 추정하는 경험적 방법이다.
  7. 제1항에 있어서, 상기 구멍들 간의 연결 거리 행렬을 생성하는 단계는,
    상기 가중치 행렬에 A* 알고리즘을 적용하여 연결 거리 행렬을 생성하는 단계를 포함하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
  8. 제7항에 있어서, 상기 가중치 행렬을 생성하는 단계는,
    CNC 공작 기계의 위치에 2의 가중치를 부여하고, CNC 공작 기계의 이웃 픽셀에 1의 가중치를 부여하고, CNC 공작 기계가 어떠한 방향으로 이동할 수 없는 경우 0의 가중치를 부여하여 행렬을 생성하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
  9. 제8항에 있어서, 상기 가중치 행렬은,
    CNC 공작 기계의 성능 또는 허용된 이동(movement)에 대응하여 변경되는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
  10. 제1항에 있어서, 상기 최단 경로를 생성하는 단계는,
    초기 모집단(initial population)을 생성하는 단계;
    생성된 모집단의 각 염색체(chromosome of the population)에 대한 적합도 함수(fitness function)에 따라 적합도 값(fitness value)을 계산하는 단계;
    적합도 값이 최적화 기준을 충족할 경우 최적의 이동경로 선택하고, 최적화 기준을 충족하지 못할 경우 새로운 모집단을 생성하는 단계;
    최적의 이동경로가 선택되면 크로스 오버(cross over)를 위한 무작위 삽입 구멍(random insertion points)을 수행하는 단계; 및
    돌연변이 연산자를 사용하여 새로운 모집단을 생성하는 단계를 포함하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
  11. 제10항에 있어서, 상기 적합도 함수는,
    경로 거리(path distance)에 반비례하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
  12. 제10항에 있어서, 상기 최적화 기준을 충족하지 못할 경우 새로운 모집단을 생성하는 단계는,
    새로운 모집단의 생성을 위해 무작위 순열 선택의 유전 알고리즘 연산자를 사용하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
  13. 제10항에 있어서, 상기 돌연변이 연산자는,
    플립(flip), 스왑(swap), 슬라이드(slide) 및 미동작(do nothing)을 사용하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 방법.
  14. 제1항 내지 제13항 중 어느 하나의 항에 따른 CNC(Computer Numerical Control) 공작 기계의 공작시간 최소화 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  15. CNC(Computer Numerical Control) 공작 기계의 이동경로를 탐색할 공작물의 이미지를 처리하는 이미지 처리부;
    처리된 이미지에 경로 탐색 알고리즘을 사용하여 CNC 공작 기계의 이동경로를 탐색하는 이동경로 탐색부;
    탐색된 이동경로를 이용하여 드릴 작업(drilling operation)을 실시할 구멍들 간의 연결 거리 행렬을 생성하는 행렬 생성부; 및
    생성된 연결 거리 행렬을 기반으로 유전 알고리즘(Genetic Algorithm)을 사용하여 모든 구멍들 간의 최단 경로를 생성하는 최단경로 생성부를 포함하고,
    상기 행렬 생성부는,
    CNC 공작 기계 및 픽셀의 위치에 따른 가중치를 부여하여 가중치 행렬을 생성하는 가중치 행렬 생성부를 더 포함하는, CNC 공작 기계의 공작시간 최소화 장치.
  16. 제15항에 있어서, 상기 이미지 처리부는,
    공작물 이미지의 색조 및 채도를 제거하여 그레이 스케일(Gray scale) 이미지로 변환하는 이미지로 변환부;
    그레이 스케일 이미지의 노이즈를 제거하는 노이즈 제거부;
    쓰레드(Threshold)를 계산하여 그레이 스케일 이미지를 이진 이미지로 변환하는 이진이미지 변환부;
    이진 이미지에 영역 기반 필터링(Area-Based Filtering)을 수행하는 피터링 수행부;
    경계 청소 알고리즘(boundary cleaning algorithms)을 사용하여 이진 이미지의 경계를 청소하는 경계 청소부; 및
    이진 이미지의 경계 추적(boundary tracing)을 통해 이진 이미지의 경계를 형성하는 엣지(boundary edges)를 생성하는 엣지 생성부를 포함하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 장치.
  17. 제16항에 있어서, 상기 노이즈 제거부는,
    2차원 중앙 필터링 기술(two-dimensional median filtering technique)을 사용하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 장치.
  18. 제15항에 있어서, 상기 행렬 생성부는,
    상기 가중치 행렬에 A* 알고리즘을 적용하여 연결 거리 행렬을 생성하는 거리 행렬 생성부를 포함하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 장치.
  19. 제18항에 있어서, 상기 가중치 행렬 생성부는,
    CNC 공작 기계의 위치에 2의 가중치를 부여하고, CNC 공작 기계의 이웃 픽셀에 1의 가중치를 부여하고, CNC 공작 기계가 어떠한 방향으로 이동할 수 없는 경우 0의 가중치를 부여하여 행렬을 생성하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 장치.
  20. 제15항에 있어서, 상기 최단경로 생성부는,
    초기 모집단(initial population)을 생성하는 제1 모집단 생성부;
    생성된 모집단의 각 염색체(chromosome of the population)에 대한 적합도 함수(fitness function)에 따라 적합도 값(fitness value)을 계산하는 적합도 계산부;
    적합도 값이 최적화 기준을 충족할 경우 최적의 이동경로 선택하고, 최적화 기준을 충족하지 못할 경우 새로운 모집단을 생성하는 제2 모집단 생성부;
    최적의 이동경로가 선택되면 크로스 오버(cross over)를 위한 무작위 삽입 구멍(random insertion points)을 수행하는 삽입 구멍 수행부; 및
    돌연변이 연산자를 사용하여 새로운 모집단을 생성하는 제2 모집단 생성부를 포함하는 것을 특징으로 하는 CNC 공작 기계의 공작시간 최소화 장치.
KR1020180009164A 2018-01-25 2018-01-25 Cnc 공작 기계의 공작시간 최소화 장치, 방법 및 상기 방법을 수행하기 위한 기록 매체 KR102027972B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180009164A KR102027972B1 (ko) 2018-01-25 2018-01-25 Cnc 공작 기계의 공작시간 최소화 장치, 방법 및 상기 방법을 수행하기 위한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180009164A KR102027972B1 (ko) 2018-01-25 2018-01-25 Cnc 공작 기계의 공작시간 최소화 장치, 방법 및 상기 방법을 수행하기 위한 기록 매체

Publications (2)

Publication Number Publication Date
KR20190090462A KR20190090462A (ko) 2019-08-02
KR102027972B1 true KR102027972B1 (ko) 2019-10-02

Family

ID=67614015

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180009164A KR102027972B1 (ko) 2018-01-25 2018-01-25 Cnc 공작 기계의 공작시간 최소화 장치, 방법 및 상기 방법을 수행하기 위한 기록 매체

Country Status (1)

Country Link
KR (1) KR102027972B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185322A (ja) * 2002-12-03 2004-07-02 Sumitomo Heavy Ind Ltd 加工計画方法及び装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102090339B1 (ko) * 2012-12-24 2020-03-17 두산공작기계 주식회사 공구 경로 생성 장치 및 방법
KR101620145B1 (ko) 2013-10-29 2016-05-13 중앙대학교 산학협력단 경로 탐색 방법 및 그 장치
WO2015114734A1 (ja) 2014-01-28 2015-08-06 株式会社牧野フライス製作所 切削加工方法および工具経路生成装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185322A (ja) * 2002-12-03 2004-07-02 Sumitomo Heavy Ind Ltd 加工計画方法及び装置

Also Published As

Publication number Publication date
KR20190090462A (ko) 2019-08-02

Similar Documents

Publication Publication Date Title
US11567502B2 (en) Autonomous exploration framework for indoor mobile robotics using reduced approximated generalized Voronoi graph
CN100561491C (zh) 自动路径学习的方法和设备
JP4103057B2 (ja) ロボットの動作経路計画方法およびその装置
Nassehi et al. Evolutionary algorithms for generation and optimization of tool paths
JP7055511B2 (ja) 1つまたは複数のプロセッサ上に離散化された環境を記憶するロボットのモーションプラニングおよびその改善された動作
CN109163722B (zh) 一种仿人机器人路径规划方法及装置
CN109773776B (zh) 把持方法、把持***以及存储介质
CN113467472A (zh) 一种复杂环境下的机器人路径规划方法
Karuppusamy et al. Minimizing airtime by optimizing tool path in computer numerical control machine tools with application of A* and genetic algorithms
JP2019084649A (ja) 干渉判定方法、干渉判定システム及びコンピュータプログラム
KR102476800B1 (ko) 3d 모델링 객체의 3d 프린터 출력을 위한 3d cad 데이터 변환 방법, 프로그램 및 이를 위한 장치
JP2018001348A (ja) 情報処理装置、情報処理方法、及び、プログラム
KR102027972B1 (ko) Cnc 공작 기계의 공작시간 최소화 장치, 방법 및 상기 방법을 수행하기 위한 기록 매체
JP2003280710A (ja) ロボットハンドの作業軌道の生成と制御方法
JP2003029833A (ja) 移動体の自律走行経路の生成法
Le et al. Search-based planning and replanning in robotics and autonomous systems
CN111830986B (zh) 一种用于双足机器人的三维路径规划方法
Fu et al. A graph grammar based approach to automated manufacturing planning
KR102027960B1 (ko) 확장된 bsa 커버리지 경로계획 장치, 방법 및 기록 매체
CN113375686A (zh) 路径规划的方法、装置以及智能输送***
JP5918097B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN116764225A (zh) 一种高效寻路的处理方法、装置、设备及介质
JP2016080663A (ja) マーカー位置算出装置、マーカー位置算出方法及びマーカー位置算出プログラム
Cui et al. A multi-sensor next-best-view framework for geometric model-based robotics applications
US8497875B2 (en) System, method, and computer program product for determining a translation vector

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