ISSN : 2287-3341(Online)
DOI : https://doi.org/10.7837/kosomes.2013.19.5.552
선박 블록 조립 후 최적 정도 계산을 위한 알고리즘 연구
An Algorithm for Optimized Accuracy Calculation of Hull Block Assembly
Abstract
- 0055-01-0019-0005-17.pdf812.2KB
1. 서 론
선박을 건조하는 조선소의 생산성은 각 조선소가 보유하고 있는 도크의 회전율에 달려있다고 할 수 있다. 이러한 도크의 회전율에 큰 영향을 미치는 주된 요인으로 크레인의 용량을 들 수 있다. 최근의 조선소는 이러한 크레인 자체 용량의 크기를 극복하기 위하여 3000톤에 이르는 해상크레인을 활용하는 건조공법을 개발하고 있다. 무게는 많이 나가지만 많은 블록을 하나의 메가블록으로 도크 밖에서 조립한 다음 해상크레인을 이용하여 도크 내부로 이동시켜 도크 내에서의 탑재 작업 시간을 단축시켜 최종적으로 도크의 회전율을 높이기 위해서이다. 이러한 대형블록화 되는 현재의 선박 건조 추세에서 블록의 생산품질관리는 여러 개의 블록을 하나의 대형 블록으로 조립할 때의 정도관리에 주요 초점을 맞추어 관리하게 되는데 이러한 관리의 효율성을 위해서는 블록 자체의 정도가 높아야 하는 것과 더불어 허용 범위 내의 정도를 만족하는지를 확인할 수 있는 기술이 반드시 필요하다.
하나의 블록은 여러 판재와 형강재 등을 용접으로 접합하여 완성되는 것으로 이러한 용접에 따른 변형을 관리하는 것이 정도관리의 주된 목적이라고 할 수 있다. 블록조립에서의 용접 변형에 대한 연구(Roh and Shin, 1999; Jang and Lee, 2000; Kim et al., 2007; Kim, 2009)는 상당수 이루어져 있다. 이러한 용접변형에 관한 연구들은 주로 블록을 조립하면서 발생하는 용접변형이 최소로 일어나게 하는 방법에 관한 다양한 관점에서의 접근으로 연구를 수행하였다. 하지만 용접변형을 제어하여 블록을 조립한 다음 설계된 치수와 일치하는 조립이 되었는지를 판단하는 방법에 대한 연구는 거의 이루어져 있지 않다. 이러한 판단이 제대로 되지 않으면 정도가 높은 블록을 완성하고서도 재작업을 할 수도 있으며 허용범위 내의 오차를 만족함에도 재작업을 하도록 판단할 수도 있다.
조선소 현장에서는 하나의 조립된 블록이 다른 조립된 블록과 용접을 통하여 새로운 블록으로 탑재되어 갈 때 다른 블록과 용접되어 접합되는 면(탑재면)을 기준으로 조립된 블록의 설계 치수와 제작 치수의 비교 작업을 수행하고 있다. 이러한 작업은 토털스테이션이라고 불리는 3차원 레이저 측정기를 통해 이루어진다. 현재 측정된 치수와 설계된 치수의 비교는 숙련된 관리자의 경험을 통해 측정된 점과 설계된 점들의 대응점을 기준으로 대응 좌표계 회전 변환으로 이루어지고 있다.
현재의 치수 비교 방법은 다음과 같다. 먼저 가장 변형이 없을 것으로 예상되는 부재의 특징점들을 관리자의 경험을 기준으로 정한다. 이후 탑재면과 전체 치수를 표현할 수 있는 블록의 가장자리 점들에 대하여 측정 대상점들을 설정한 다음 3차원 레이저 측정기를 사용하여 측정하여 각 측정 대상점들의 3차원 좌표값을 획득한다. 측정된 특징점과 기타 측정점들을 모두 통틀어 생산관리점이라고 한다. 생산관리점과 대응하는 설계점의 3차원 직교좌표값의 예시를 Fig. 1에 나타내었다. 생산관리점 중 특징점은 설계된 좌표값을 가지는 설계점 중 대응점들과 일치시킨 다음 회전 변환하여 생산관리점과 대응되는 설계점 간의 좌표값 사이의 차이값인 오차를 계산한다. 모든 생산관리점의 계산된 오차가 모두 허용 치수 이내에 들어오면 블록이 정상적으로 조립되었다고 판단한다.
Fig. 1. 3-D coordinated design data of control points.
하지만 이러한 비교 작업은 특징점의 변형이 전혀 없음을 가정하고 있고 특징점들과 대응되는 설계점들만으로 일치시킨 좌표계로 전체 생산관리점들을 관리자가 적절한 값으로 회전 변환하여 수행하고 있다. 따라서 그 판단 기준 또한 동일한 측정값들의 좌표계 변환 방법에 따라 허용 오차를 넘을 수도 넘지 않을 수도 있다. 결국 정상적인 조립이 이루어졌는지에 대한 판단은 전적으로 해당 관리자의 특징점 선정 경험과 비교 기술에 의존하고 있다고 할 수 있다.
본 연구에서는 이러한 작업자의 경험에 의존하는 블록 조립 정도 관리 방법에 대한 대안으로 관리자의 경험과 숙련도에 의존하지 않고 조립된 블록의 오차에 대한 확신을 줄 수 있는 최적 정도 계산 알고리즘에 대한 연구를 수행하였다. 개발된 알고리즘에서는 동일한 측정값에 대해서는 관리자의 숙련도와 관계없이 항상 동일한 결과를 제공하게 되고 관리자는 결과를 단지 선택하기만 하면 되도록 하였다.
이와 관련된 연구로는 Shin et al.(2011)이 유전자 알고리즘을 사용하여 블록의 탑재 시에 측정된 여러 블록의 탑재면 사이의 비교를 통하여 최적탑재 자세를 결정할 수 있는 알고리즘을 연구한 바 있다. 이 연구는 조립된 블록들의 탑재면에서의 측정값들을 서로 비교하여 탑재가 가능한 가에 대한 판단 기준을 제시하는 것으로 블록이 용접 변형으로부터 제어되어 설계된 치수대로 제작되었는지를 판단하는 가에 대한 연구 내용은 아니다. 블록 전체의 조립에 관한 것은 아니지만 설계값과 측정값 사이의 비교에 관한 연구로는 Kim et al.(2007)이 정합알고리즘을 사용하여 선체외판곡면의 곡가공 완성도를 평가하는 연구를 수행한 바 있으며, Kim(2006)은 조립이 완료된 여러 블록 들 간의 측정값을 이용하여 가상탑재에 관한 연구를 수행한 바가 있다. 설계 블록과 생산 블록의 비교를 통한 오차 평가에 관한 연구가 문헌상으로 발표되지 않는 이유로는 각 조선소의 생산공정 상 일정 오차 범위 내를 만족하는 조립 블록을 여러 개 모으는 탑재 작업에서 블록 조립에서 발생하는 오차를 없애는 후작업이 이루어지고 있기 때문으로 판단된다.
그리고 조립된 블록을 측정 및 비교하는 3차원 측정기 시스템의 소프트웨어를 현장에서 원하는 대로 수정 변경하여 개발하지 못하고 3차원 측정기 시스템 전용 소프트웨어에서 주어진 기능만을 사용하여 작업을 수행하여야 하여야 하는 제약조건을 가지고 있다.
본 연구에서는 측정된 3차원 좌표값과 설계점의 좌표값에 대한 정보만 있으면 이후에 관리자의 경험이 아닌 체계적이고 일관된 계산 방법으로 최적의 블록 조립 정도를 판단할 수 있는 알고리즘에 대해 연구를 수행하였다.
2. 현재의 정도 계산 방법
선박 블록을 구성하는 판재와 보강재는 용접과 곡직과 같은 열을 사용하는 작업으로 인해 수축과 휨변형이 발생한다. 하지만 판재와 보강재의 길이 방향이나 폭 방향으로 동일한 치수의 변형이 발생하지는 않는다. 이로 인하여 블록을 구성하는 판재나 보강재의 끝단부의 변형은 해당 블록의 실제 변형 관리에 있어 어려움을 발생시킬 수 있다. 이러한 변형을 정량적으로 찾아내기 위하여 완성된 블록의 정도를 계산하여 관리하고 있다. 이러한 정도 계산은 계측값과 설계값을 비교함으로서 이루어 진다. 조선소에서는 이를 고려하여 관리선(Control line)이라고 하는 변형의 영향을 거의 받지 않을 것으로 예상되는 선을 사용하여 블록 조립의 정도 계산에 필요한 비교의 기준선으로 사용하고 있다(Han, 2006).
현장에서 사용하고 있는 이러한 일반적인 방법은 다음과 같다. 먼저 계측의 대상이 되는 조립 완료된 블록은 수평 상태를 나타내는 레벨이 맞추어진 상태에서 관리선 상에 있는 측정점들을 선정하고 측정을 수행한다. 측정할 때는 Fig. 2와 같이 해당 블록의 체크시트에는 측정점에 해당하는 위치에 번호를 기입하게 된다. 모든 측정점들에 대한 측정이 완료되면 측정 데이터와 해당하는 점번호에 대응하는 설계 데이터와 (x,y,z)의 직교좌표계 값으로 표현된 좌표값을 비교하게 된다.
Fig. 2. Accuracy calculation check sheet with marked number.
비교 방법은 측정된 데이터를 평행이동과 회전이동을 수행하여 대응하는 설계 데이터와의 직선 거리를 계산하여 모든 점들에 대하여 계산된 거리가 허용오차 범위 내를 만족하는지 확인하는 순서로 진행된다. 이때 평행이동과 회전이동의 기준점을 어떻게 잡느냐에 따라 Fig. 3과 같이 한 점 이동, 두 점 변환, 원점과 X축 상의 점, X축 구성 2점과 Y축 상의 점, X축 구성 2점과 Z축 상의 점과 같은 다양한 변환 기능을 해당 블록의 형태와 조건에 맞춰서 작업자가 경험에 따라 선택하여 적용시키게 된다.
Fig. 3. Coordinate transformation method (a) 1 point translation (b) 2 point rotation (c) origin and one X-axis point, two X-axis points and one Y-axis point (d)two X-axis points and one Z-axis point.
한 점 이동은 작업자가 Fig. 3의 (a)와 같이 측정한 좌표의 한 점을 X, Y, Z 축으로 이동시켰을 때의 나머지 전체 좌표값이 해당하는 축의 평행이동량을 포함하여 변환되도록 한다. 작업자가 측정된 좌표값을 확인하고 전체적으로 보아 X, Y, Z 축으로 평행이동시키면 설계값과의 오차가 줄어들 것이라고 판단되는 적절한 값을 입력하게 된다. 또한 한 점 이동의 다른 기능으로는 특정한 한 점을 기준으로 회전할 점과 회전축을 지정하고 지정된 점이 회전축에 대하여 회전을 하여 X, Y, Z축으로 원하는 거리 만큼 평행이동할 수 있도록 할 때 사용한다. 이는 회전을 통하여 평행이동량을 결정할때 사용하는 방법이다. 이러한 한 점 이동은 특정점을 지정하고 지정된 기준점이 평행이동을 하거나, 또 다른 회전점을 지정하여 기준점을 회전함으로써 원하는 평행이동량을 획득할 수 있는 기능이라고 할 수 있다. 하지만 이러한 평행이동량과 회전점에 대한 선정은 작업자가 설계 데이터와 측정 데이터를 확인하고 경험적으로 기준점과 회전점을 선정하고 값을 입력하는 것으로 작업자에 따라 동일한 데이터에서 다른 결과를 도출할 수 있다.
두 점 변환 방법은 Fig. 3의 (b)와 같이 측정한 좌표의 두 점을 기준으로 특정한 점을 회전시켜 원하는 평행이동량을 획득할 수 있는 기능이다. Fig. 3의 (b)에서 보면 ①번 점과 ⑥번 점으로 회전 축을 설정한 다음 ③번 점을 Y축 방향으로 5mm이동하고자 할 때 사용하게 된다. 이 방법 또한 한점 이동과 같이 작업자가 전체 설계 데이터와 측정 데이터를 확인 한 다음 필요한 경우에 가장 변형이 없을 것으로 예상되는 2점을 선택하여 그 2개의 점은 변환을 하지 않으면서 다른 모든 점들은 변환시키는 기능이다. 따라서 작업자의 경험에 크게 의존할 수 밖에 없다.
원점과 X축 상의 한 점을 이용하여 변환하는 방법은 Fig. 3의 (c)와 같이 측정 작업 도중에도 사용가능하며 측정 작업이 완료된 다음 오차를 줄이기 위한 변환에도 사용이 가능한 방법이다. 예를 들어 ①번 점과 ⑤번 점을 이용하여 X축을 구성할 경우에는 y값과 z값이 0의 값을 가지지 않아 다른 점들의 좌표값도 많은 오차가 발생할 때 y값과 z값이 0의 값을 가지는 ②번 점을 이용하여 X축을 구성하면 오차를 줄일 수 있는 경우에 ②번 점을 X축의 점으로 선정하여 변환하는 방법이다. 주로 측정 작업 시에 사용하는 방법으로 측정 작업의 시작점을 원점으로 지정하고 측정을 수행함에 있어 X축을 구성하는 점이 오차가 클 경우 해당점이 아닌 다른 점을 X축을 구성하는 점으로 변환하고자 할 때 사용한다.
X축 구성 2점과 Y축 상의 점 방법은 Fig. 3의 (c)와 같이 bottom, deck 등의 평평하며 높이는 낮은 형상의 블록에서 주로 사용하는 방법이다. 3개의 점을 이용하여 평면을 구성하도록 좌표값을 입력하는 방법이다. 예를 들어 ①번 점과 ②번 점을 이용하여 X축을 구성하고 ①번 점과 ③번 점을 이용하여 Y축을 구성하는 방법이다. 이 방법은 대부분의 측정점들이 거의 평면상에 존재하므로 평면에 맞추어 변환이 되면 오차 값을 확인하기가 쉬워진다는 점을 고려한 방법이다.
X축 구성 2점과 Z축 상의 점을 이용한 변환 방법은 Fig. 3의 (d)에 나타낸 형상의 블록과 같이 사이드 쉘 블록과 같이 수직면이 높게 나타나 Z축 값이 높은 값을 가질 때 주로 사용하는 방법이다. 측정한 블록의 X축 2점을 지정하고 Z축으로 지정할 점을 지정하면 X축과 Z축의 값으로 변환을 시키는 방법이다. 예를 들어 ①번 점과 ②번 점을 이용하여 X축을 구성된 상태에서 ①번 점과 ⑤번 점을 이용하여 Z축을 구성하고 있는 경우보다 ①번 점과 ③번 점을 이용하여 Z축을 구성할 경우에 전체적인 오차가 줄어들 경우에 사용하게 된다. 이 방법 또한 측정 작업 도중에도 사용할 수 있으면 측정작업이 완료된 후에 데이터를 변환할 때도 사용할 수 있다.
상기의 다양한 기능들은 2가지의 핵심 기능으로 요약할 수 있다. 하나는 관리자가 측정 데이터 중 가장 변형이 없을 것으로 예상되는 한 점을 선택하고 이 점을 설계점에 맞추기 위하여 평행이동 시키는 값으로 모든 측정 데이터를 평행이동 시켜 좌표 변환하는 기능이며, 다른 하나는 측정 데이터 중 가장 변형이 없을 것으로 예상되는 임의의 두 점을 이용하여 한 개의 축을 만들고 이 축을 기준으로 모든 측정 데이터를 회전시켜 설계 데이터와 측정 데이터 사이의 오차를 확인하는 것이다.
그러나 이러한 현재의 설계와 측정 데이터 비교 작업은 관리자가 적절한 변환 방법과 수치를 적절히 적용하지 못하면 조립 정도를 만족함에도 불구하고 만족하지 못한다고 판단할 수도 있어 재작업을 수행할 수도 있다. 재작업을 할 경우에는 재작업 시간만큼 작업시수가 증가하게 되며 블록에 다시 열을 가열하는 작업을 수행하게 되므로 품질저하의 우려까지 있다.
특히 관리자에 따라 결과가 다르게 나타나게 된다거나 동일한 데이터일지라도 허용 오차 범위 내의 정도를 가진다고 판단한 경우에 동일한 관리자가 생산관리점을 다르게 잡고 비교할 경우에 허용 범위를 벗어나는 결과를 보이는 경우도 있다. 이러한 문제의 근본적인 원인은 오차에 대한 객관적인 평가기준이 없기 때문이다. 그러므로 객관적인 평가기준을 근거로 오차를 계산할 필요가 있다.
3. 최적 블록 조립 정도 계산 알고리즘
생산관리점의 설계 데이터와 측정 데이터를 비교하는 과정은 설계 데이터 군과 측정 데이터 군의 대응하는 점에서의 3차원 직교좌표값을 비교하는 과정으로 볼 수 있다. 이러한 두 좌표 값을 가지는 그룹의 일치도를 평가하는 방법으로 정합방법이 있다. 정합은 두 개의 좌표값을 가지는 점 또는 면 군을 평행이동과 회전 만으로 구성되는 강체 변환을 이용하여 동일성을 비교하여 형상을 평가하는 방법이다.
블록의 조립 정도를 관리하는 과정이 단순히 모든 생산관리점을 단순하게 비교만 하는 과정으로 구성되어져 있지는 않고 조립된 블록이 다른 조립된 블록과 용접으로 새로운 블록을 만들어 나가는 공정으로 진행된다. 본 논문에서는 이를 고려하여 블록과 블록이 만나는 면을 관리하는 관리선(Control line)을 포함하는 접합면 상의 생산관리점과 접합면 이외의 생산관리점으로 생산관리점을 2분류로 나눈 다음 각각의 경우에 맞춰 정도 계산을 수행할 수 있도록 하였다.
본 연구에서 제안하는 최적 블록 조립 정도 계산 알고리즘을 정리하면 Fig. 4의 흐름도로 나타낼 수 있다. 먼저 생산관리점에 관한 설계 데이터와 측정 데이터를 확보하였다고 가정한다. 생산관리점에 대하여 확보된 설계 데이터와 측정 데이터를 접합면 상의 데이터와 그 외의 데이터로 구분한다. 이러한 구분은 Table 1에 보여지는 정합의 대상과 기준에 따라 정합 과정에서 사용되어지는 회전과 평행이동의 자유도가 결정되기 때문이다.
Fig. 4. Flow chart of optimized block assembly accuracy calculation algorithm.
Table 1. Classification of calculation methods for the block assembly accuracy
설계 데이터와 측정 데이터의 점군의 중심점을 기준으로 정합을 할 경우에는 6자유도를 가지게 되어 3방향의 회전과 3방향의 평행이동 모두를 고려하여 정합을 수행하게 된다. 설계 데이터의 한 점과 측정 데이터의 한 점을 일치 시킨 다음 정합을 수행할 경우에는 3방향의 평행이동은 불가하며 3방향의 회전으로 정합하여야 한다. 그리고 설계 데이터의 2점과 측정 데이터의 2점으로 생성할 수 있는 축을 일치시킨다면 축 방향으로의 회전만으로 정합을 수행하여야 한다. 블록 조립 정도 계산의 경우에는 이와 같이 3가지 정합 수행 방법에 따라 자유도가 결정되는 특성을 가지고 있다. 따라서 이러한 3가지 정합 수행 방법에 가장 적합한 방법을 적용할 필요가 있다.
본 연구에서는 자유도가 3과 6일 경우에는 3방향 회전과 3방향 평행이동 또는 3방향 회전을 수행하여야 하므로 ICP(Iterative Closest Point)알고리즘(Besl and McKay, 1992)을 적용하였다. 자유도가 1인 경우에는 오차거리의 합이 최소가 되는 축 회전각을 구하는 문제로 생각 할 수 있다. 이를 수치문제로 정리하면 0 ∼ 2π 사이의 정의역 구간에서 설계점 군과 대응하는 측정점 군 사이의 거리의 총합을 목적함수로 하는 최소값을 찾는 최적문제로 정의할 수 있다. 이와 같이 정의역 구간이 주어진 문제에 적합한 해법으로 sampling법을 적용하였다. Fig. 4에서도 이러한 특성을 나타내고 있는데 자유도에 따라 ICP를 따라 계산하거나 sampling법에 따라 계산하도록 구성하였다.
본 연구에서 사용하는 ICP(Iterative Closest Point) 알고리즘은 다음과 같은 절차로 수행된다. 먼저 선택 절차이다. 정합의 기준점 군으로 쓰일 점 군을 선택하는 과정으로 이는 관리선을 포함하는 접합면 상의 점 군과 그 외 점 군으로 구분하는 단계이다. 다음으로 설계점 군과 측정점 군 사이의 대응관계를 맺는 과정이 있다. 본 연구에서는 설계점 군과 측정점 군의 개수를 동일하게 설정한 것으로 가정하고 있으므로 1대1 대응관계를 맺을 수가 있다. 다음으로 점 군의 대응관계를 이용하여 가장 적절한 회전과 평행이동과 관련된 변환 행렬을 구하는 과정이 있다. 이러한 변환 행렬에 대해서는 점과 점의 관계를 이용하는 방법(Horn, 1987), 점과 면의 관계를 이용하는 방법(Low, 2004), 변환행렬을 이루는 변수를 최적화하는 방법(Tucker and Kurfess, 2003) 등이 있다. 이중에서 본 연구의 대상이 되는 블록의 정도 계산을 위해서 사용되는 점의 개수가 많지 않아 면을 구성하기 어렵기 때문에 본 연구에서 점과 점의 관계를 이용하는 방법을 사용하였다. 마지막으로 측정점 군을 계산된 변환행렬을 이용해서 변환 시키고 다시 대응관계를 이용하여 설계점 군과 측정점 군사이의 거리를 구한 다음 블록 조립 정도 관리에서 허용하는 오차 범위 내의 값을 모든 점들이 만족하는 지를 확인한다. 이때 오차 범위내의 값을 만족하지 못하는 점이 존재하면 대응관계를 맺는 과정으로 다시 돌아가 과정을 반복하게 된다. 이는 다음 식(1)과 같이 표현 할 수 있다.
여기서 ei는 설계점 i와 측정점 i사이의 거리이며, R은 회전변환행렬, pi는 측정점 i, 는 평행이동 벡터, qi는 설계점 i를 의미한다.
모든 점들이 오차범위 내에 포함되면 모든 점들에 대하여 거리 제곱의 합을 구하여 최소값을 가지게 될 목적함수를 계산한다. 거리의 합이 가장 작으면 ICP 과정이 종료되며 그렇지 않은 경우는 대응관계를 맺는 과정으로 다시 돌아가 과정을 반복하게 된다. 이때 N 개의 점들에 대하여 사용하는 목적함수(E)는 다음 식(2)와 같이 정의된다.
블록 조립 정도 관리의 측면에서 주요 관심대상이 블록이 접합되는 면의 오차이다. 하지만 용접 변형 제어를 통하여 블록 조립 정도를 관리할 때는 접합면의 치수에 대한 관리뿐 만이 아니라 전체 치수에 대한 관리도 주요한 관리대상이다. 이러한 부분을 고려하여 최적 조립 정도 계산 알고리즘의 마지막 단계로서 Table 2와 같은 경우를 모두 계산하여 관리자에게 제공할 수 있도록 하였다. 이는 블록의 접합면 상의 점 군을 이용하여 정도 계산을 수행할 때와 모든 점 군을 이용하여 정도 계산을 수행할 때를 포함하며 각 각 자유도가 1, 3 ,6일 때의 조합으로 경우의 수가 정해진다.
Table 2. Registration cases for the assessment of block assembly accuracy
1번의 경우는 전체점들의 중심점을 기준으로 하여 전체점들을 대상으로 목적함수를 계산한다. 2번의 경우는 접합면상에 있는 점들 중 한 점을 임의로 선정하여 기준으로 잡은 다음 전체점들을 대상으로 목적함수를 계산한다. 3번의 경우는 접합면 상에 있는 점들 중 두 점을 임의로 선정하여 축을 만들어 기준으로 잡은 다음 전체점들을 대상으로 목적함수를 계산한다. 4번의 경우는 접합면 상의 점들의 중심점을 기준으로 하여 접합면 상의 점들을 대상으로 목적함수를 계산한다. 5번의 경우는 접합면 상의 점들 중 한 점을 임의로 선정하고 그 점을 기준으로 하여 접합면 상의 점들을 대상으로 목적함수를 계산한다. 6번의 경우는 접합면 상의 점들 중 두 점을 임의로 선정하여 축을 만들어 기준으로 잡은 다음 접합면 상의 점들만을 대상으로 목적함수를 계산한다.
4. 실블록 적용 및 결과 분석
4.1 실블록 적용
본 연구에서 제안하고 있는 블록 조립 최적 정도 계산 알고리즘을 검증하기 위하여 Fig. 5와 같이 2개의 실제 블록에 대한 데이터를 사용하여 알고리즘을 적용하였다. 실제 블록에 대한 데이터는 블록의 조립 정도가 허용범위 5 mm 내에 포함된다고 승인된 측정 데이터를 이용하였다. 다만 허용범위는 대응점 간의 X, Y, Z축 각 각의 축 값 사이의 차이를 의미하는 것으로 대응점 간의 거리를 의미하는 것은 아니다.
Fig. 5. Data acquisition blocks for test.
Fig. 5의 (a)를 편의상 블록 1번으로 하고, (b)를 블록 2번으로 하여 알고리즘을 적용한 결과를 Table 3과 Table 4에 각각 나타내었다. Table 3과 Table 4를 보면 설계점 군과 측정점 군 사이의 대응점간의 거리 제곱 합의 최소 목적함수 값(E)과 전체 생산관리점들 중에서 가장 대응점 간의 거리가 먼 값(max error)을 나타내었다. 계산한 경우는 Table 2에서 정의한 경우에 맞추어 모두 6가지의 경우를 계산하였다.
Table 3. Result of the calculation using the proposed accuracy assessment algorithm with field block #1 data
Table 4. Result of the calculation using the proposed accuracy assessment algorithm with field block #2 data
4.2 결과 분석
일반적인 정합에 있어서 자유도를 기준으로 보면 자유도가 클수록 상대적으로 낮은 목적함수 값이 나오고 자유도가 적을수록 상대적으로 높은 목적함수 값이 나올 것이라 예상할 수 있다. 특히 블록 정도 계산에서는 정도 평가의 기준이 되는 점이나 축을 지정하게 되면 해당 점과 축을 구성하는 점들은 오차가 없거나 아주 작지만 이를 제외한 나머지 점에서는 오차를 줄일 수 있는 여지가 줄어들어 전체 점들에서의 오차의 합인 목적함수 값이 증가할 것이다.
먼저 전체 데이터를 이용한 정도 계산 결과인 케이스 1, 2, 3번에서는 자유도가 가장 큰 경우인 케이스 1번이 가장 작은 오차 합으로 블록 1번은 83.2904의 값을 가지고 블록 2번은 95.3930의 값을 가진다. 케이스 2번은 블록 1번의 경우에는 92.5484를 가지며 블록 2번은 100.8678 값을 가진다. 케이스 3번의 경우에는 블록 1번이 97.8769를 가지고 블록 2번이 104.4797의 값을 가지고 있음을 알 수 있다. 자유도에 따른 예상과 동일한 결과를 보이고 있다. 하지만 실제 조선소의 선행탑재나 탑재 작업에서 수행하고 있는 블록 계측 및 탑재 방식은 탑재를 위한 생산관리점을 기준으로 모든 탑재해 나가기 때문에 상기 결과에 대해서 다른 결론을 도출할 수 도 있다. 이는 케이스 1번은 가장 작은 오차 합을 나타내지만 어떤 점이나 축에서도 설계값과 측정된 값이 일치하지 않기 때문에 탑재 작업 절차를 고려할 때 현장에서 받아들이기 어려울 수 있다. 따라서 한 점을 기준으로 정도 계산을 하는 케이스 2번이 실적용에 적합하다고 할 수 있다.
접합면 데이터만 사용하여 정도 계산을 수행한 결과를 보면 일반적인 자유도에 근거한 예상과는 다른 결과를 블록 1번과 블록 2번 모두 보여주고 있다. 블록 1번에서는 케이스 5번이 블록 2번에서는 케이스 6번이 가장 작은 오차 합을 나타냄을 알 수 있다. 이는 정도 계산에 사용한 대상 점들은 접합면 상의 점들만으로 한정 지었으나 목적함수를 계산함에 있어서는 전체 생산관리점들을 사용하여 계산을 하였기 때문에 예상과는 다른 결과가 나왔다고 추정할 수 있다.
그리고 Table 3과 Table 4의 최대오차 값을 보면 모두 허용 범위인 5mm를 넘는 것처럼 보인다. 하지만 본 알고리즘에서의 최대오차는 두 점 사이의 거리를 나타내는 것이다. 직교 좌표계에서의 각 점에서의 x,y,z 좌표값들의 차가 5mm이내이므로 이를 최대오차로 환산하면 거리가 8.6603이내에 들어오면 허용범위를 만족한다고 할 수 있다. 다만 블록 1번의 케이스 5번을 제외하고 접합면만을 정도 계산의 대상으로 한 경우에는 최대오차를 넘게 되어 사용할 수 없는 결과가 나옴을 알 수 있다.
Fig. 6과 Fig. 7은 가장 적합한 케이스로 판단되는 케이스 2번의 경우에 전체 생산관리점들의 설계 데이터와 측정데이터의 거리 차를 나타낸 것이다. 가로축은 계산에 사용된 생산관리점 들의 번호를 나타내고 있고 세로축은 설계 데이터와 측정 데이터의 거리 차를 나타내고 있다. dx는 X축 좌표값들의 차를 의미하고 dy는 Y축 좌표값들의 차를 의미하며 dz는 Z축 좌표값 들의 차를 의미한다. 전체적으로 허용범위인 5mm 이하로 포함되어 있음을 확인할 수 있다.
Fig. 6. Coordinated error plot with Case 2 of the block #1.
Fig. 7. Coordinated error plot with Case 2 of the block #2.
결과적으로 한정된 접합면의 데이터만을 사용하여 최적 정도 계산을 수행하는 것보다 전체 데이터를 대상으로 하여 최적 정도 계산을 수행하는 것이 좋다. 전체 데이터를 대상으로 계산을 하는 경우에서는 접합면 상의 한 점을 기준으로 최적 정도 계산을 수행하는 것이 가장 좋은 정합 결과를 낼 수 있다고 할 수 있다.
5. 결 론
선박의 블록 조립 정도 계산은 조선소의 주요 공정인 탑재 공정을 위한 중요한 사전 절차로서 현재의 측정 데이터의 평행 이동과 회전 이동을 작업자가 경험에 맞추어 적용하는 방법에서 벗어나 최적의 정도를 계산해 주는 알고리즘의 개발 필요성이 있다.
이를 해결하기 위하여 기존의 블록 조립 정도 계산 방법을 분석하고 이를 통해 생산관리점들을 접합면 상의 점과 그 외 점으로 구분하고 계산에 필요한 자유도에 따라 ICP 알고리즘과 sampling 법을 혼합한 최적 정도 계산 알고리즘을 개발하였다.
특히 단순히 ICP와 sampling을 단순히 적용하는 것이 아니라 블록 조립의 특성에 맞추어 허용 오차를 판단한 다음 목적함수인 오차 합을 판단하도록 알고리즘을 구성하였다.
개발된 알고리즘을 실제 블록에 적용하여 최적 정도 계산의 대상이 되는 점들에 대하여 접합면 상의 점들 만으로 정도 계산을 수행하는 것보다 전체 점을 계산 대상으로 하는 것이 좋으며 접합면의 한 점을 기준으로 계산 하는 것이 가장 좋은 결과를 낼 수 있는 방법임을 제시하였다. 그리고 개발된 알고리즘은 현재의 조선소 현장에서 이루어지고 있는 정도 계산에서 측정값과 설계값 만 있으면 쉽게 소프트웨어화하여 적용할 수 있으므로 활용성이 높다고 사료된다.
사 사
본 논문은 2010학년도 군산대학교 신임교수 연구비 지원에 의하여 연구되었습니다.
Reference
2.Han, K. H.(2006), Development of block assembly accuracy enhancement technique for small and mid-size ship, The Final Report of Regional Industry Promotion Program, Ministry of Commerce, Industry and Energy, pp. 84-146.
3.Horn, B. K. P.(1987), Closed-form solution of absolute orientation using unit quaternions, Journal of Optical Society of America, Vol. 4, No. 4, pp. 629-642.
4.Jang C. D. and C. H. Lee(2000), A Study on the Prediction and Control of Welding Deformations of Ship Hull Blocks, Journal of the Society of Naval Architects of Korea, Vol. 37, No. 2, pp. 127-136.
5.Kim, C. H, J. S. Yang and H. K. Kim(2007), A Study on the Deformation Control of Thin Plate Block by Applying the Tensioning Method, Journal of Korean Welding and Joining Society, Vol. 25, No. 6, pp. 59-63.
6.Kim, D. E.(2006), A Study on virtual assembly system for ship blocks based on 3D measurement, Ph.D. thesis, Pusan National University, pp. 21-86.
7.Kim, J., K. H. Ko, J. S. Park, J. G. Shin, C. M. Hyun and Y. C. Doh(2007), A study on completion assessment of curved plates in line heating process, Proceedings of The Joint Conference of the Korean Association of Ocean Science and Technology Societies, pp. 1413-1423.
8.Kim, S. I.(2009), Control of Welding Distortion for Thin Panel Block Structure Using Plastic Counter-Deforming Method, Journal of Ocean Engineering and Technology, Vol. 23, No. 2, pp. 87-91.
9.Lee, J. M. and J. G. Shin(2002), A Development of Measurement and Comparison Technique for Large Curved Hull Pieces, Journal of the Society of Naval Architects of Korea, Vol. 39, No. 2, pp. 28-33.
10.Low, K. L.(2004), Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration, Technical Report TR04-004, Department of Computer Science, University of North Carolina at Chapel Hill. pp. 23-54.
11.Roh, J. G. and J. G. Shin(1999), An Assembly Simulation of a Plane Block with Gravity and Welding Deformations, Journal of the Society of Naval Architects of Korea, Vol. 36, No. 3, pp. 122-133.
12.Shin, S. C., J. C. Lee and S. Y. Kim(2011), Study on Erection Block Positioning Using Genetic Algorithm, Journal of Ocean Engineering and Technology, Vol. 25, No. 5, pp. 76-81.
13.Tucker, T. M. and T. R. Kurfess(2003), Newton method for parametric surface registration. Part I. Theory, Computer Aided Design, Vol. 35. No. 1, pp. 107-114.