전공 수업 소개 전공 수업 소개

컴퓨터이용선박설계, 스마트 조선해양공학을 향해

글. 에너지자원공학과 1 배승민 편집. 원자핵공학과 3 이지현

공상 독자 여러분, 조선해양공학하면 무엇이 떠오르시나요? 아마 대부분 커다란 배나 크레인처럼 거대한 선박을 조선소에서 건조1하고 있는 모습이 생각나실 겁니다. 하지만 이제는 조선업에서도 IT 기술을 활용한 다양한 혁신이 일어나고 있다는 사실! 조금만 들여다보아도 조선해양공학이 시대의 흐름에 따라 발전하고 있음을 쉽게 확인할 수 있답니다. 코딩을 활용한 선박설계 기법이 도입되었고, 선박 건조 시스템의 자동화가 그 예이죠. 그중 이번 전공수업소개 코너에서는 코딩을 이용하여 선박을 설계하는 방식을 배우는 '컴퓨터이용선박설계' 수업을 소개하고자 합니다.

수업 소개에 앞서, 먼저 선박이 어떤 과정을 거쳐 설계되는지 알아야 하겠죠? 선박은 무작정 멋있게 도면을 그린다고 완성되는 것이 아닙니다. 안전성과 경제적 효율성을 고려하여 외형을 결정해야 합니다. 그래서 선박의 외형은 유체의 저항을 줄이기 위한 최적의 곡면 형태로 이루어집니다. 곡면의 설계는 공간상에 선박의 전체적인 형태를 이루는 점을 표시하는 것부터 시작됩니다. 이와 같이 미리 정한 표면상의 점을 적절히 연결하여 3차원의 곡면을 추정해내는 것이 가장 핵심이 되는 작업이라고 할 수 있습니다. 그렇게 추정한 곡면을 바탕으로 철판을 가공하고, 이를 용접하여 배의 외부가 완성되는 것이죠.

컴퓨터이용선박설계 수업에서는 이 중 곡면설계를 중점적으로 다루게 됩니다. 컴퓨터 프로그래밍을 이용해 곡선이나 곡면으로 결정하고 3D 공간상에 구현하는 방법들을 배웁니다. 따라서 곡면을 계산할 때 필요한 선형대수학 지식과, 컴퓨터를 이용해 이를 구현할 수 있게 하는 알고리즘을 단계적으로 공부합니다. 그럼 수업에서 실제로 어떤 것을 배우는지 선박의 설계과정을 따라가며 자세히 살펴보도록 하겠습니다.

선박 외형 설계는 선박의 정보를 불러와 외형을 파악하는 것으로 시작됩니다. 선박은 크기가 매우 크고, 각 부분마다 상이한 모양의 복잡한 3차원 형상으로 되어 있어 설계도에 모든 정보를 한 번에 표현하기 어렵습니다. 우리가 보는 그대로의 3차원 형상을 설계도에 옮기게 되면 오히려 정보가 왜곡될 수 있지요. 그렇기에 중심선으로부터 배의 겉면까지의 거리와 높이를 정확하게 숫자로 기입한 표, 오프셋 테이블(Offset Table)을 설계도처럼 사용하는데요. 오프셋 테이블을 이용하려면 먼저 유효하지 않은 값을 제거해주어야 합니다. 0의 값을 갖는 데이터들은 유효하지 않기 때문에 그림 1과 같이 유효한 값만 남겨줍니다. 그리고 표 형태의 배열은 원하는 정보를 한 번에 검색하기 어렵기 때문에 정보의 접근성을 높이기 위해 형태를 변경합니다.

그림 1. 선박의 정보가 담긴 Offset table


유효한 점들을 이어 그림 2와 같이 점과 선으로 이루어진 topology structure2로 변환합니다. 이렇게 단순한 기하학 형태로 변환하면 해당 점이 곡면의 경계를 이루는지, 아니면 곡면 내부의 점인지를 한눈에 파악할 수 있게 됩니다.

그림 2. offset table의 topology structure

1 건물이나 배 따위를 설계해서 만듦
2 Topology(위상수학) + structure(구조). 기하학적 성질을 가진 구조를 의미한다.

그림 2의 topology structure가 기본적인 뼈대라면 그 위에 살을 덧붙여 빈 공간을 채워주어야 합니다. 따라서 보간법(Interpolation method)3을 사용하여 베지어 곡선(Bezier curve)을 계산하고 topology structure에 굴곡을 추가해 줍니다. 베지어 곡선은 주어진 점들 주변을 지나는 매끄러운 곡선으로, 점의 개수와 위치에 따라 곡선 형태가 결정됩니다. 베지어 곡선을 구하는 기본적인 원리는 점들을 이은 선분 위를 일정한 속도로 움직이는 점들을 이어 새로운 선분을 만들고 다시 그 선분 위를 움직이는 점을 찾는 시행을 반복하여 곡선 위의 점들을 구하는 것입니다. 이렇게 만들어진 베지어 곡선 위의 점들을 표시함으로써 topology structure가 촘촘하게 채워지며 곡면이 재생성되는 것입니다.

그림 3. 베지어 곡선을 이용해 재생성된 선형 곡면

마지막으로 이 수업의 궁극적인 목표라고 할 수 있는 C++을 이용한 곡면의 가시화가 최종과제로 주어집니다. 한학기동안 배운 이론적 배경을 바탕으로 주어진 Offset table의 매개변수 점들을 이어 곡면을 계산합니다. 이제 곡면을 표현하기만 하면 되는데요, 컴퓨터는 사람이 그림을 그리는 듯 한번에 연속적인 면을 그릴 순 없습니다. 따라서 계산된 곡면을 아주 작은 삼각형 또는 사각형의 메시(mesh)4로 쪼개 각 조각을 그린 후 이어 붙입니다. 이때 ‘Open GL’이라는 가시화 라이브러리5를 이용해서 시각적으로 표현합니다.

그림 4. 실제 수업 중 설계한 곡면 이미지

3 알려진 데이터를 바탕으로 그 간격 사이의 새로운 지점을 구성하는 수학적 기법으로. 몇 가지 점의 형태로 얻어진 데이터의 사잇값을 추정하여 곡선 형태로 나타낼 때 사용된다. 쉽게 말해 두 점을 부드럽게 잇는 곡선을 만드는 기법이라고 생각할 수 있다.
4 곡면을 작은 조각으로 분할한 것
5 소프트웨어 개발을 쉽게 할 수 있도록 도와주는 것. 일정 기능을 수행하는 함수를 저장하고 있어 개발할 때 필요한 부품들을 제공한다. 함수가 망치, 톱과 같은 연장이라면, 라이브러리는 연장상자라고 생각할 수 있다.

이제 조선해양공학과가 어떤 것을 배우는지 조금은 느낌이 오시나요? 이 같은 방식으로 선박을 설계하는 과정에는 수많은 수학적 기법과 컴퓨터 알고리즘이 필요합니다. 컴퓨터 코딩을 이용한 설계는 이제 효율적인 선박 건조를 위한 필수 요소가 되었습니다. 이런 설계 기술 발전의 흐름 속에서 최근에는 디지털 트윈(Digital Twin)이라고 하는 차세대 시뮬레이션 기술도 도입되기도 했죠. 가상공간에 실제 선박과 동일하게 가상의 선박을 구현하고 이를 통해 각종 시뮬레이션을 할 수 있게 된 것입니다.

이 외에도 기업들은 엔진에 IoT, 빅데이터, 인공지능을 적용하여 자율운항 시스템의 연구부터 관제센터의 자동화까지 갖춘 스마트조선소를 실현시키기 위해 노력하고 있습니다. 독자 여러분도 조선업 혁신에 동참해 보시는 것은 어떨까요?

  • 그림 5. 한국조선해양이 자체 개발한 디지털트윈선박 플랫폼(HiDTS)
  • 그림 6. 설계부터 건조, 운행 및 관리까지 자동화된 스마트 조선소

참고문헌
[1] 류태웅. ”한국조선해양, 디지털트윈 적용 차세대 선박 솔루션 개발 속도.” 전자신문, 25 Jan 2021. https://m.etnews.com/20210125000126 10 Nov 2021
[2] 항만산업팀. “’5G 스마트 항만’ 눈앞… LG유플러스-포테닛, 협약체결” 해사뉴스, 19 Mar 2020. http://www.haesanews.com/news/articleView.html?idxno=89677 10 Nov 2021