DOI QR코드

DOI QR Code

배관설치도 내 생산정보 증강을 위한 겹침 회피 알고리즘의 적용

An Application of Overlap Avoidance to Augment the Production Data in Pipe Installation Drawings

  • 황인혁 (삼성중공업 중앙연구소) ;
  • 유원선 (충남대학교 선박해양공학과) ;
  • 박인하 (삼성중공업 중앙연구소) ;
  • 박정서 (삼성중공업 중앙연구소)
  • Hwang, InHyuck (Central Research Institute, Samsung Heavy Industries Co., LTD.) ;
  • Ruy, WonSun (Dept. Of Naval Architecture and Ocean Engineering, Chungnam National University) ;
  • Park, InHa (Central Research Institute, Samsung Heavy Industries Co., LTD.) ;
  • Park, JungSeo (Central Research Institute, Samsung Heavy Industries Co., LTD.)
  • 투고 : 2016.09.20
  • 심사 : 2016.10.04
  • 발행 : 2016.10.20

초록

A lot of drawings for pipe construction and installation are needed to construct plant process system on the offshore plant structures. Depending on their scale or complexity, the required number of drawings related pipes sometimes amounts to several hundreds of thousands. Most major shipyards, therefore, have their own system which can automatically depict pipes’ geometric, manufacturing, and BOM(Bill of Material) information on the drawings. However, as the complexity and absolute quantity in the isometric region on the drawings is increased, the information extraction from the customized DB and positioning at the typical locations does not get to be enough to avoid the overlap between geometric contours, labels, and symbols. For this reason, the novel methods to arrange additional annotations without overlaps are presented in the paper. This approach is expected to increase the readability and legibility of the drawing and prevent the human error, and finally decrease the time-consuming and tedious jobs which are unnecessarily required to designers.

키워드

1. 서 론

해양 플랜트는 육상의 거대한 공장을 선박에 집약한 형태로 볼 수 있다. 따라서 육상 플랜트를 구성하는 여러 장비와 배관들은 해양 플랜트에서 더욱 복잡한 연결 관계를 가지게 된다. 이는 곧 의장 물량의 증가를 뜻한다. 해양 플랜트의 의장 물량은 컨테이너/LNGC 등의 일반 상선에 비해 10배 이상 많은 것으로 알려져 있다.

해양 플랜트의 의장 작업 중 가장 많은 비중을 차지하는 배관작업은 주로 배관 설치도(ISO matric 도면)를 활용하여 작업한다. 배관 설치도에는 일반적으로 배관위치, 직경, 길이 등을 포함하는 형상정보, 제작을 위한 연결정보(Elbow, T, Reducer, Union), 지지를 위한 Supporter의 위치 및 종류, 파이프 구매와 제작 및 설치 과정에서 필요한 재질 및 물량정보, 심지어는 용접 및 도장정보 등도 포함되어야 한다. 크게 구분해 보면 조선용 CAD/CAE 시스템에서 획득할 수 있는 배관의 형상 및 제작 정보와 ERP(Enterprise Resource Planning) 혹은 유사한 사내 DB를 통해 획득하는 BOM(Bill of Material) 관련 정보로 볼 수 있다. 본 연구에서는 이미 많은 정보가 기입된 배관 설치도에 생산관리를 위한 추가 정보를 증강하는 과정에서 기존의 정보와 겹치지 않고 충분한 가독성을 확보하기 위한 배치 방법을 제안하고자한다.

관련 연구의 시작은 PFLP(Point-Feature Label Placement)를 처음 제시한 Imhof (1962, 1975)의 논문에서 찾아 볼 수 있다. 본 개념은 수많은 지명에 겹침 없는 문자 Labeling을 시도하는 지도 제작법(Fig. 1) 혹은 산포도 도표(scatter plot)에서 출발해서 다양한 응용 분야에서 활용되고 있다.

Fig. 1A typical map example using PFLP (Christensen, et al., 1995)

PFLP 문제는 전형적인 NP-hard한 성향, 즉 문제가 복잡해질수록 복잡도가 지수 함수 형태로 증가하는 특징을 가지고 있으며, Fig. 2에서도 확인할 수 있듯이, 기준점 주변의 배치 후보군 중에 선택하는 방식(정수형설계변수(a), Zoraster, 1990), 혹은 기준점 원 주변에 배치하는 실수형 설계변수(b) 형태 (Hirsch, 1982; Kameda & Imai, 2003)로 발전하고 있다.

Fig. 2PFLP’s search space or a sets of potential label positions

관련 문제를 풀기 위해서 Greedy Algorithm (Cravo, et al., 2008), Gradient Descent Algorithm, Simulated Annealing (Christensenetal, 1995; Zoraster, 1997), Hirsch Algorithm (Hirsch, 1982), Genetic Algorithm (Raidl, 1998), Tabu Search (Yamamoto, 1998), Ant Colonies (Schreyer, 2001) 등이 활용되었으며 아직도 실용적이면서 계산 비용이 효율적인 방안 (Yamamoto et al., 2005)을 찾고 있는 연구 분야이다.

선박 응용 분야의 선체 및 의장 관련 조립 및 설치 도면으로 연구 영역을 좁혀보면, Ruy and Yang (2010)이 선체 조립도 혹은 공작도 도면 자동화에 Simulated Annealing(이하 SA) 최적화 기법과 보강재 혹은 Hole 표기에 배치패턴을 도입하여 실용적인 방안을 제시하였다. 도면 인식을 위해서 적절한 해상도(resolution)로 도면을 분할 관리하고 겹침의 종류를 부여하여 겹침 허용과 겹침 불가를 분리하였다. 본 연구에서도 이 개념을 적극적으로 도입하였다. Fig. 3은 해당 알고리즘을 통해 산출된 Deck view의 예이다.

Fig. 3Assembly drawing for a deck view (Ruy & Yang, 2010)

Kim, et al. (2004)과 Woo, et al. (2005)의 연구에서는 세장비가 큰 배관의 효율적인 표식을 위해서 실제 형상을 표현하기보다는 심볼 표기의 가독성을 우선하는 심볼릭 배관모델(Non-Scale Description)을 고안하고, 일종의 PFLP 기법을 활용하여 기준점 주변에 배관의 이름, Position No, 그리고 용접 정보 등을 Isometric 형태로 표시하였다. Fig. 4는 그의 연구를 통해 나온 결과이다. 본 연구에서도 Isometric Drawing 영역에 해당 기술을 활용하였다.

Fig. 4Annotations, dimensions and non-scale drawing (Kim, et al., 2004)

본 연구의 관심 영역은 배관 설치도이다. 배관 설치도는 생산도면으로 배관 설치를 위한 각종 정보를 포함하고 있지만 설계 단계의 정보는 무엇을 어떻게 설치해야 하는가에 초점을 맞추고 있다. 설계 초기에 상세 일정 계획을 정확히 세우지 않는 조선/해양 산업의 특성상 실제 현장에서는 언제 설치할 수 있는지에 대한 정보가 추가로 필요하다. 이러한 정보는 ERP 등의 기간 시스템에 저장되어 있지만 도면에 있는 정보와 연결하여 직관적으로 확인하기 어렵다. 따라서 추가적인 정보를 실시간으로 도면에 증강시켜 보여줄 필요가 있다. 추가되는 정보는 객체의 크기가 상당한 테이블의 형태(Fig. 5)가 주로 많고, 그러한 이유로 지시선을 통해 놓아야 하며 객체의 크기 또한 가변적이어서 PFLP를 통해 해결할 수 있는 문제 영역을 벗어난다. 또한, 수많은 배관 설치도를 실시간으로 조회하기 위해서 장당 소비하는 계산 비용을 수 초 이내로 줄여야 한다는 특징을 가지므로 소모적인 알고리즘 활용이 불가능한 영역이기도하다.

Fig. 5Additional information for a pipe installation drawing

정리하면 본 논문은 배관 설치도의 Drawing 영역 내부에 부가적인 제작 관련 정보가 Table 형식으로 추가 되는 경우 작업자의 추가 작업 없이 자동으로 다른 도면 요소들을 회피해서 비교적 짧은 시간 내에 배치하기 위한 알고리즘에 관하여 기술하였다.

 

2. 겹침 회피 알고리즘

2.1 도면 인식

Fig. 6에서 볼 수 있듯이 도면의 현 상태를 인지하는 방법으로 컴퓨터 친화 방식인 흑백 비트맵을 선택하였다. 차후 장에서 설명되겠지만 비트맵의 해상도는 계산 비용에 가장 중요한 요소 중에 하나이다. 실용적 계산 비용을 확보하기 위해서 2 mm×2 mm를 한 픽셀로 설정하는 것이 가독성과 효율적 계산 비용 측면에서 적절하였다.

Fig. 6A example bitmap of a given pipe installation drawing (A3, 1pixel = 2 mm × 2 mm)

도면은 크게 3개 영역으로 구분될 수 있다. 배관 형상, 위치, 기타 정보들을 담고 있는 ISO-Drawing 영역과 각종 제작 정보, 자재 관련 정보들을 담고 있는 BOM(Bill Of Materials) 영역, 마지막으로 도면 이름, 작성 날짜, 작성자, W/D(Work Order), P&ID(Piping and Instrument diagram) 관련 도면 이름 등 기타 정보를 담고 있는 Description 영역으로 구분하였다. 한편, 도면에 표시되는 객체들은 총 4가지로 구분될 수 있다. 우선 배관의 형상적 정보(contour)와 도면 Form 선들이 있을 수 있고, 배관 설치에 필요한 문자들과 심볼들이 각각 2번째, 3번째이다. 마지막으로 형상을 숫자로 인식 가능하게 하는 Dimension등이 있다. Contour들끼리의 겹침은 회피가 불가능한 것이고 설계 변수의 조절로 개선이 불가능한 경우이지만, 문자와 심볼 간의 겹침은 도면 가독성에 직접적인 영향을 미치며 되도록 이런 겹침이 발생하지 않도록 문자와 심볼을 배치해야 한다. 문자와 Contour 혹은 심볼과 Contour의 겹침은 물론 없을수록 좋지만 문자 간, 심볼 간의 겹침 보다는 덜 심각할 수 있으며 이를 최적화 목적 함수에 적절하게 반영하는 전략을 취할 것이다. 참고로 Auto-Dimension 분야 (Bond & Ahmed, 1989)는 본 연구에서 언급하지 않는다. 즉 Dimension도 입력 Contour로 인식하고 이후 과정을 진행하였다. 참고로 Fig. 7에서는 겹침 회피 알고리즘 적용 없이 초기치를 할당하여 임의로 Table을 배치한 경우이며, 겹침으로 도면 가독성이 떨어지는 것을 확인할 수 있다.

Fig. 7An example of overlaps between tables and contours on a drawing

2.2 패턴 배치

Ruy and Yang (2010)의 연구인 Plate, Hole, Stiffener의 Description과 비슷하게 본 연구에서 용접 정보 표기는 Fig. 8과 같이 도면 품질향상과 계산 비용의 절약을 위해서 패턴 배치 방식을 따르기로 하였다. 용접 정보 표기는 배치를 위해 ISO-Drawing 영역을 모두 탐색하기 보다는 주어진 패턴 중에 겹침을 최소화하는 것을 선택하는 개념이므로 서론에서 설명한 정수형 PFLP(Fig. 1(a))과 흡사하다고 볼 수 있다.

Fig. 8Pattern allocation of welding information

하지만 처리에 있어서 차이점이 존재하는데, 주 알고리즘이 시작되기 전에 순서대로 패턴 수만큼 배치를 시도하다가 성공하면 해당 노트들을 도면의 Contour로 취급하여 이후 과정이 진행되며, 만일 모든 패턴 수의 시도에도 용접 정보 표기가 기준점 주변에 겹침을 발생시킨다면 이후에 설명될 Table 배치와 같이 설계 변수가 추가되는 형태로 알고리즘이 진행되었다. 비록 용접 정보 표기는 크기가 비교적 작아서 배치에 큰 어려움은 없었지만 본래 복잡성이 높은 도면 배치에 있어서는 대부분 최적화 알고리즘의 설계 변수로 가산되어서 계산 비용에 큰 부담이 됨을 확인할 수 있었다.

2.3 최적화 문제의 정식화

최소화를 위한 적합도 함수, 는 총 3개의 함수와 가중치 벡터의 내적 값이다. 는 설계 변수에 해당하는 n개의 Table의 각 x, y 좌표(총 2n개)로 구성되었다.

첫 번째 함수 는 다른 도면 요소와 주어진 테이블 간의 겹침 정도를 체크하는 함수이다. 문제 영역내의 모든 픽셀을 체크하여 빈 공간은 0, Contour, Text, Symbol와 Table과의 겹침은 1, Table 간의 겹침은 2를 부여하였다. 본 겹침 확인 함수에 부여되는 가중치는 1로 다른 함수에 비해 작지만 겹침 빈도수가 많을 수 있기 때문에 무시할 수 없는 값이 된다.

두 번째 함수 는 Table 기준점과 Table의 위치 때문에 발생되는 지시선의 길이이다. 겹침을 회피하여 테이블을 놓는다 하더라도 되도록이면 기준점과 가까운 곳에 놓으려는 의도로 고안된 함수이다. 다만 ISO-drawing 영역의 폭으로 나누어 normalization을 시도하였다. 첫 번째 함수와 같이 가중치를 1로 부여하였다.

세 번째 함수는 도면의 가독성을 증대하기 위해서 테이블들이 발생시키는 지시선의 겹침(Fig. 9)을 탐지하여, 해당 경우가 발생되는 경우만 Penalty를 가중시키도록 고안되었다. 비록 가중치를 10으로 하여 비교적 큰 값이 부여되었지만 위의 2개의 함수처럼 빈도수가 많지 않다. 하지만 도면 완성도에 큰 영향을 미침을 확인할 수 있다.

Fig. 9A case of leading lines’ overlap

제안된 최적화 정식화 문제에서 구속조건은 Table의 위치가 도면을 벗어나지 못하게 강제하는 Side constraint(식 (2))만 존재한다. 해당 범위를 벗어나면 목적함수에 Penalty를 가하는 방식으로 구속조건을 처리하였다. Table의 좌상단 좌표를 의미하는 xi와 yi가 존재해야하는 위치는 도면의 최상단(0,0)부터 도면의 폭과 높이에서 (Twi, Thi)를 뺀 영역에서 존재하도록 설정하였다. Twi와 Thi은 각 Table의 폭과 높이를 나타낸다. Table의 좌상단이 (X−Twi, Y−Thi)에 도달하면 우하단은 이미 겹치기 때문이다.

where : an 2D position instance of all tables

: fitness function of a given the instance drawing

: overlap score of a given drawing

: normalized length of leading line of table.

: no. of intersection case between the leading lines

α, β, γ : weighting factors of each function. 1, 1, and 10 are assigned respectively

where xi and yi are the elements of

X, Y : width and height of ISO-drawing region

Twi ⋅Thi : width and height of the i’th table

2.4 코드 Optimization

한 호선에 필요한 의장 설치 도면의 수는 수 만장에 이른다고 서론에 밝힌 바 있다. 결국, 본 연구의 실용적인 활용을 위해서는 계산 비용의 최소화가 중요하였다. 이하는 이를 위해서 사용된 계산 비용 절감 기법을 설명한다. 우선 비트맵 영역을 ISO-Drawing으로 한정하였다. 주어진 크기의 도면에 있어서는 계산 비용과 해상도는 밀접한 관계가 있고 배치 대상이 아닌 도면의 영역을 비트맵 영역에서 제거하였다.

배열 초기화, 복사, 비교 등의 연산에서 Bitwise 기법을 사용하였다. 도면의 인식 및 반복적인 배치를 통한 도면의 평가를 위해서는 2차원 Array의 활용이 필수적인데 이 과정에서 필요한 계산 비용을 최소화하였다.

또한 호출되는 주요 함수의 Assembly 코드를 Inline 기법을 통해 구현하였다. 즉 함수의 호출 때마다 MOV 연산자를 사용하기 보다는 필요할 때 마다 해당 함수를 복사하여 계산 비용을 줄였다. 결론적으로 이러한 기법들을 통해서 총 수행 시간을 평균 1/16으로 줄일 수 있었다.

Microsoft visual studio v2015의 Profiler의 CPU Analyzer를 통해 작성된 Table 1에서는 계산 비용에 부담을 주는 함수 레벨에서의 Critical Path가 표시되고 있다. 최적화 모듈을 통해 가장 빈번하게 호출되는 목적 함수 안에서도 현 도면 상태의 겹침 상태를 확인하는 함수(GetCountOvelp)에 계산 비용이 대부분 집중됨을 확인할 수 있으며 그 외에 검증 대상들을 Table 1(b)에서 확인 할 수 있다. 본 함수들을 중심으로 코드 최적화를 수행하였다.

Table 1Analysis of the algorithm performance and critical path

 

3. 수치 실험 및 개선점 고찰

3.1 Simulated Annealing

Christensen, et al. (1995)의 연구에서는 PFLP에 적용된 다양한 기법 중에서 SA의 결과가 가장 뛰어난 지도 품질을 생성할 수 있었다고 밝히고 있다. PFLP 類의 문제들은 조합형 최적화 문제이고 따라서 국부적 탐색 기법 (Gradient 기반 탐색 기법) 보다는 전역적 탐색 기법을 요구한다. 잘 알려진 전역 탐색 기법 중에서 비교적 계산 비용이 많이 요구되는 GA(Genetic Algorithm), ES(Evolutional Strategy) 등 보다는 Point driven 방식으로 움직이는 SA를 선택하였다. SA (Kirkpatrick, et al., 1983)는 금속학의 냉각 과정에서 아이디어를 얻어, 고온 물질 분자가 식어가면서 점차 안정화 되어가는 과정을 최적화에 적용한 알고리즘이다. 핵심 부분은 온도가 높을수록 분자의 자유로운 이동이 가능하며, 온도가 낮을수록 점차 안정화되어 비교적 제한된 이동을 한다는 점이다. 광역적 탐색은 고온에서 저온에서는 국부적 탐색을 한다는 특징을 가진다.

3.2 수치 실험

본 절에서는 위 절에서 기술된 최적화 정식화를 SA에 적용하여 얻어낸 다양한 결과와 계산 비용에 관해서 논한다. 제시된 모든 예제는 보안상의 이유로 실제 배치를 위한 좌표정보만 알 수 있는 Bitmap 형식으로 제시하였다.

해당 도면의 크기, 배치할 용접 정보 혹은 Table로 구성된 제작 정보의 수로 정해지는 설계 변수, 알고리즘에 활용될 도면의 해상도 등이 회피 알고리즘의 계산 비용을 결정하는 인자라고 할 수 있다. Fig. 10~12는 이를 다양하게 설정하여 도출된 결과를 비트맵 형식으로 보여주고 있다. 또한, 각 결과를 도출하는데 필요한 계산 비용도 기술되어 있다.

Fig. 10Test case 1: Welding info. (20), Table (4), 0.314sec, Resolution (A4, 4 mm × 4 mm)

Fig. 11Test case 2: Welding info. (25), Table (4). 1.240sec, Resolution (A3, 2mm*2mm)

Fig. 12Test case 3: Welding info. (26), Table (5), 2.431sec, Resolution (A3, 1mm*1mm)

3.3 개선점 고찰

도면에 부가 정보 및 Table을 겹침 없이 삽입하기 위해서 전역 최적화 기법의 하나인 SA를 사용하였다. SA는 국부 최적점을 벗어날 가능성을 가진 알고리즘이지만 계산비용이 과다하게 소비된다는 단점을 가진다. 이를 절감하기 위해서 Parallel SA 혹은 GPU를 활용한 새로운 알고리즘을 개발할 예정이다.

 

4. 결 론

본 연구에서는 배관설치도에 다양한 정보들을 다른 도면 요소들과 겹침이 생기지 않고 가독성을 극대화할 수 있는 방향으로 배치하는 기법에 관해서 설명하였다. 전통적인 라벨 배치 기법인 PFLP 과의 차이점 때문에 전통 조합 최적화 기법을 직접 사용하지 못하고, 비트맵 도면 표현법과 그에 따른 도면의 상태를 평가할 수 있는 목적함수를 제시하고 있다.

이와 같은 배치 자동화를 통해서 얻을 수 있는 장점들을 요약하면 다음과 같다. 작업자는 항상 유사한 가독성을 가진 도면을 실시간으로 확인할 수 있다. 도면에 이미 작성된 내용에 따라 차이가 있지만, 도면 대부분이 충분한 가독성을 유지할 수 있었다. 또한, 작업자는 추가적인 배치 작업 없이 생산과 관련된 추가 정보를 도면과 함께 확인함으로써 정보 조회 및 독도 효율성을 높이고 추가 정보를 활용하여 정확한 설치 업무 우선순위 파악이 가능하다.

참고문헌

  1. Bond, A.H. & Ahmed, S.Z., 1989. Knowledge-based Automatic Dimensioning. Artificial Intelligence in Engineering, 4(1), pp.32-40. https://doi.org/10.1016/0954-1810(89)90023-X
  2. Christensen, J. Marks, J. & Shieber, S., 1995. An Empirical Study of Algorithms for Point-Feature Label Placement. ACM Transactions on Graphics, 14(3), pp.203–232. https://doi.org/10.1145/212332.212334
  3. Cravo, G.L. Ribeiro, G.M. & Lorena, L.A.N., 2008. A Greedy Randomized Adaptive Search Procedure for the Point-feature Cartographic Label Placement. Computers & Geosciences, 34(4), pp.373-386. https://doi.org/10.1016/j.cageo.2007.01.007
  4. Hirsch, S.A., 1982. An Algorithm for Automatic Name Placement Around Point Data. American Cartographer, 9(1), pp.5-7. https://doi.org/10.1559/152304082783948367
  5. Imhof, E., 1962. Die Anordnung der Namen in der Karte. International Yearbook of Cartography, 2, pp.93-129.
  6. Imhof, E., 1975. Positioning Names on Maps. American Cartographer, 2(2), pp.128-144. https://doi.org/10.1559/152304075784313304
  7. Kameda, T. & Imai, K., 2003. Map Label Placement for Points and Curves. IEICE Transactions on Fundamentals of Electronics Communications and Computer Sciences, E86-A(4), pp.835-840.
  8. Kim, S.H. Woo, I.G. & Heo, C.E., 2004. Development of automatic ISO-Drawing generation system for pipe design model based on 2D layout optimization algorithm. New S-Tech 2004 Conference, Shanghai, China, 26-29 October 2004, pp.213-220.
  9. Kirkpatrick, S. Gelatt, C.D. & Vecchi, M.P., 1983. Optimization by Simulated Annealing. Science, New Series, 220(4598), pp.671-680.
  10. Raidl, G., 1998. A genetic algorithm for labeling point features. Proceedings of the International Conference on Imaging Science, Systems and Technology, Las Vegas, Nevada, USA, 6-9 July 1998, pp.189–196.
  11. Ruy, W.S. & Yang, Y.S., 2010. Overlap-Avoidance Algorithm for Automatic Generation of Ship Assembly Drawings. Journal of Marine Science and Technology, 15(4), pp.386-394. https://doi.org/10.1007/s00773-010-0103-0
  12. Schreyer, M., 2001. Ein genetischer algorithmus und ein ant colony system für das point feature labeling problem. Master’s thesis. Vienna: Vienna University of Technology.
  13. Woo, I.G. Kim, S.H. Heo, C.E. Cho, Y.N. Gu, J.M. & Kim, D.J., 2005. Development of Automatic Pipe ISO-Drawing and BOM Generation System. Special Issue of the Society of Naval Architect of Korea, pp.127-133.
  14. Yamamoto, M., 1998. Tabu search application for point features cartographic label placement problem. Master’s thesis. Brazil: Sao Jose dos Campos.
  15. Yamamoto, M. Camara, G. & Lorena, L., 2005. Fast point-feature label placement algorithm for real time screen maps. Proceedings of the Seventh Brazilian Symposium on Geoinformatics, Campos do Jordao, Brazil, pp.1-13.
  16. Zoraster, S., 1990. The Solution of Large 0-1 Integer Programming Problems Encountered in Automated Cartography. Operations Research, 38(5), pp.752-759. https://doi.org/10.1287/opre.38.5.752
  17. Zoraster, S., 1997. Practical Results Using Simulated Annealing for Point Feature Label Placement. Cartography and Geographic Information Systems, 24(4), pp.228-238. https://doi.org/10.1559/152304097782439259