J. Ocean Eng. Technol. Search

CLOSE


J. Ocean Eng. Technol. > Volume 30(4); 2016 > Article
유사도 기반 해양 자켓 구조물 손상추정

Abstract

This paper presents an effective damage detection method for offshore jackets using natural frequency change ratios. Two parameters, cosine similarity and magnitude index, are considered to estimate the location and severity of the damage in the structure. A numerical jacket structure model is considered to verify the performance of the proposed method. As observed through analysis, the damages in the structure are detected accurately.

1. 서 론

해양 자켓 구조물은 해양 석유 개발, 해양 온도차 발전, 해양풍력발전 등 해양산업에서 다양하게 적용되고 있다. 이러한 해양 자켓 구조물은 극한 해양환경(파도, 조류, 해풍, 수압, 와류진동, 염분 등)에 장기간 노출된 상태로 운용되기 때문에 구조가 손상될 가능성이 높다. 더욱이 해양에 위치한 특성상 손상이 발생될 경우 인명피해, 환경피해, 경제피해 등이 매우 크게 발생될 수 있다. 특히 2010년 4월 멕시코만에서 발생한 Macondo 사고 이후 해양 구조물의 구조적 안전성에 대한 관심이 크게 고조되고 있으며, 구조물 건전성 감시를 위한 연구의 필요성이 대두되고 있다.
또한, 해양 구조물이 해체되거나 수명연장을 위한 유지/보수 작업이 필요한데, 초기 설계수명 이상으로 사용하기 위해서는 운용 중에 발생된 크고 작은 손상을 판별하고 제때에 수리작업을 수행하여야 한다. 그리고 안전한 해체작업을 위해서는 운용중에 발생된 손상 정보 및 수리이력에 관한 정보 제공이 필요하다. 이러한 정보 제공을 위해서는 구조물에 발생된 손상을 추정하는 시스템의 적용이 요구된다.
현재까지 다양한 손상추정 기법들을 활용한 해양 자켓 구조물 손상탐지 연구가 활발히 진행되고 있다. Kim and Stubbs (1994)는 자켓 구조물의 손상추정을 위해 소수의 모드형상을 이용하였으며, Kim et al.(2000)은 소수의 진동모드 특성치와 패턴 인식 알고리즘을 이용한 손상추정 기법을 제시하였다. Park et al.(2011)은 고유진동수와 모드형상을 이용해 자켓 구조물의 손상을 추정하였다. Li et al.(2008), Mojtahedi et al.(2011), Malekzehtab and Golafshani(2013), Shen et al.(2015)들은 모델 개선(Model updating) 기법을 이용하여 해양 자켓 구조물의 구조손상을 추정하는 연구를 수행하였다. Min et al.(2011)은 조류 발전 구조물의 장기 건전성 모니터링을 위하여 전기-역학적 임피던스 기반 모니터링 기법을 연구하였으며, Kim et al.(2012)은 해상풍력발전기 지지구조물 손상추정을 위하여 신경망기법을 이용하는 연구를 수행하였다. Liu et al.(2014)는 해양 자켓 구조물의 손상추정을 위해 변형에너지를 이용하는 연구를 수행하였다. Min et al.(2015) 메타모델링 기반 손상추정 기법 연구를 수행하였으며, 최근 Kim et al.(2016)은 구조물 건전성 평가에 관한 국내 연구를 정리하였다.
그러나 아직까지 해결되지 못한 문제들이 있다. 우선, 모델 개선기법과 같은 연구들은 유한요소 모델의 개선을 통해 손상을 추정하기 때문에 많은 계산량이 요구되는 단점이 있으며, 손상 전 모델과 손상 후 모델의 고유진동수, 모드형상 등과 같은 진동특성 비교를 통해 손상 크기와 손상 위치를 추정하는 연구들은 초기 구조물의 진동특성이 계측된 경우에만 손상추정이 가능한 단점이 있다. 또한, 현장 시설 운용자들이 적용하기에는 매우 복잡한 해석절차를 가지는 경우가 많았다.
본 연구에서는 이러한 단점(모델 개선을 위한 반복 계산, 복잡한 손상추정 절차, 손상 전 정보 필요 등)을 개선하고자 고유진동수 변형량의 유사도를 이용한 손상추정 기법을 제안한다. 이 기법은 각 요소의 손상정도에 따른 고유진동수 변화량을 추출하여 고유진동수 변형량 행렬을 구성하고, 실제 응답 데이터로부터 고유진동수 변형량이 계측되었을 때, 변형량의 유사도를 계산하여 손상 부재 및 손상도를 추정하는 방법이다. 이러한 손상추정 기법의 초기 연구로써 3차원 자켓 구조물를 대상으로 손상 시나리오를 작성하여 제시된 기법의 효용성을 검증하였다.

2. 유사도 기반 손상추정

본 연구에서는 코사인 유사도(Cosine similarity)와 크기지수(Magnitude index)를 사용하여 구조물에 발생한 손상의 크기 및 위치를 추정하였으며, 손상추정 흐름은 다음과 같다.
Step 1. 대상 구조물의 요소별 강성변화에 따른 고유진동수 변화율을 계산한다. 고유진동수 변화율은 아래와 같다.
HOGHC7_2016_v30n4_287_e901.jpg
여기서, HOGHC7_2016_v30n4_287_e010.jpgi번째 요소의 강성이 변경되었을 때 계산되는 j차 모드 고유진동수를 의미하며, fj은 강성이 변경되기전(손상이 없는 상태) 계산된 j차 모드 고유진동수를 나타낸다. 요소강성 변형에 따른 고유진동수 변형율 행렬은 아래와 같다.
HOGHC7_2016_v30n4_287_e902.jpg
여기서, [S]의 각 행벡터는 요소별 강성변화에 따른 고유진동수 변화율을 나타내며, i번째 요소 변화에 따른 변화율 벡터를 HOGHC7_2016_v30n4_287_e003.jpg로 나타낸다.
Step 2. 점검 주기별 획득된 고유주기의 변화량을 분석하여 손상 여부를 판단(위험신호 판별)한다.
실제의 경우 손상추정에 사용될 고유진동수는 센서기반의 신호분석을 통해 획득된다. 최근 규모가 큰 구조물(교량, 고층빌딩 등)의 고유진동수 분석을 위한 다양한 신호분석기법들이 연구되고 있다. 규모가 큰 구조물의 경우 가진력의 크기와 위치를 파악하기 어렵기 때문에 기존에 많이 적용되던 전달함수기반 분석기법의 적용이 어렵다. 이러한 단점을 극복하기 위해 응답 데이터만을 이용한 분석기법이 개발되어 많은 연구에 적용되고 있다(Brincker et al., 2001). 이러한 해석기법을 활용하여 해양구조물과 해양라이저의 고유진동수를 분석하려는 몇몇 연구가 진행되었다(Yang et al., 2006; Li et al., 2012; Rivero-Angeles et al., 2014). 구조물에 부착된 센서를 통해 점검 주기별 획득된 고유진동수들을 정리하면 다음과 같다.
HOGHC7_2016_v30n4_287_e903.jpg
여기서, HOGHC7_2016_v30n4_287_e001.jpgp번째 주기에서 측정된 고유진동수들의 벡터를 의미하며, HOGHC7_2016_v30n4_287_e002.jpgp번째 주기에서 획득된 i차 고유진동수를 나타낸다.
손상여부를 판단하기 위한 경고지수(Warning index)는 아래와 같다.
HOGHC7_2016_v30n4_287_e904.jpg
분포도를 고려하여 경고지수를 정규화 하면,
HOGHC7_2016_v30n4_287_e905.jpg
여기서, μiσi은 각각 p번째 주기까지 측정된 i차 모드 경고 지수의 평균과 표준편차를 의미한다. p번째 주기에서 손상의 발생 여부를 판단하기 위해서는 다음과 같이 기준값(Threshold value)과의 비교가 필요하다. 표준정규분포표를 참고하면 기준값이 3일 경우 손상이 발생된 가능성이 99.87%이며, 2와 1일 경우 각각 97.7%와 84%이다. 만약 d번째 측정에서 계산된 정규화된 경고지수가 기준값 이상일 경우 손상이 발생된 것으로 판단할 수 있으며, 이때 계측된 고유진동수의 변형량을 계산하면 다음과 같으며 HOGHC7_2016_v30n4_287_e004.jpg로 표현한다.
HOGHC7_2016_v30n4_287_e906.jpg
Step 3. 코사인 유사도와 크기 지수를 이용하여 손상 위치 및 손상 크기를 추정한다.
코사인 유사도를 이용하여 HOGHC7_2016_v30n4_287_e003.jpgHOGHC7_2016_v30n4_287_e004.jpg의 유사도를 검색한다. 코사인 유사도는 두 벡터간의 내적 값으로 교각을 구하고, 교각의 코사인 값을 이용하여 두 벡터의 유사도를 계산하는 방법으로 최근 데이터 마이닝 분야에 많이 활용되고 있다. Fig. 1(a)는 두 벡터의 방향이 완전히 일치하는 경우로 유사도 값은 1이며, Fig. 1(b)와 같이 두 벡터가 직교하는 경우 코사인 유사도는 0이며, Fig. 1(c)와 같이 180°인 경우 코사인 유사도는 −1를 갖는다(Dong et al., 2006). 코사인 유사도는 Fig. 1(a)에서 보여지듯이 두 벡터 방향의 유사성을 판단하는 것으로 벡터 크기의 유사도는 평가하지 못한다.
Fig. 1

Cosine similarity illustrated

HOGHC7_2016_v30n4_287_f001.jpg
HOGHC7_2016_v30n4_287_e907.jpg
손상 위치를 추정하기 위해 HOGHC7_2016_v30n4_287_e003.jpgHOGHC7_2016_v30n4_287_e004.jpg로 나누면 다음과 같다. 만약 HOGHC7_2016_v30n4_287_e003.jpgHOGHC7_2016_v30n4_287_e004.jpg와 크기는 다르지만 방향성이 일치하는 벡터라면 HOGHC7_2016_v30n4_287_e005.jpg의 각 성분은 모두 같은 값을 가질 것이다.
HOGHC7_2016_v30n4_287_e908.jpg
크기지수는 다음과 같이 계산된다.
HOGHC7_2016_v30n4_287_e909.jpg
여기서, σq,iHOGHC7_2016_v30n4_287_e005.jpg의 성분의 표준편차를 나타내며 모든 성분이 완전히 같을수록 표준편차는 0에 가깝게 된다. σq,i가 작을수록 크기 지수는 커지며, 크기 지수가 클수록 해당 요소에 손상이 발생된 가능성이 큰 것으로 판단할 수 있다.
본 연구에서는 최종적인 손상지수(Damage index)를 코사인 유사도와 크기 지수의 곱으로 정의하였으며, 크기가 클수록 손상 가능성이 큰 것으로 고려하였다.
HOGHC7_2016_v30n4_287_e910.jpg
손상지수를 통해 손상점을 추정하고, 손상점에 해당하는 HOGHC7_2016_v30n4_287_e005.jpg의 평균을 손상의 크기로 고려한다.

3. 수치검증

제안된 손상추정 기법을 검증하기 위하여 3차원 자켓 구조물 수치모델을 이용하고자 한다. 검증에 사용된 3차원 자켓 구조물은 상용 유한요소해석 소프트웨어인 ABAQUS를 이용하여 Fig. 2와 같이 모델링 하였다. 자켓 구조물은 빔 요소인 B32를 사용하여 90개의 라인으로 모델링 하였고 각 라인에 균등히 3등분하여 총 270개의 요소로 구성하였다. 각 부재는 내측 반지름 0.2921m, 외측 반지름 0.3048m인 강봉으로 이루어졌다. 모델링에 사용된 재료의 물성치와 수치는 Table 1과 같다. 경계조건으로 Fig. 2와 같이 하부 네 개의 지지점을 고정하였다. 자켓 구조물의 결함형태로 부식에 따른 단면 감소, 반복 하중에 의한 피로손상, 용접부 균열 및 볼트 풀림에 의한 손상을 들 수 있다. 많은 연구에서 이러한 손상을 강성의 저하로 표현하였다(Kim and Stubbs, 1994; Li et al., 2008; Mojtahedi et al., 2011; Malekzehtab and Golafshani, 2013). 따라서 본 논문에서도 수치모델의 손상을 요소강성의 감소비로 정의하였으며, Table 2와 같이 3가지 경우의 손상시나리오를 만들어서 검증에 적용하였다. Case 1은 수직 부재, Case 2는 대각선 부재, Case 3은 수평 부재에 손상이 발생된 경우이면 각각의 경우 손상정도는 23%, 10%, 19%이다.
Fig. 2

FE model of a jacket structure

HOGHC7_2016_v30n4_287_f002.jpg
Table 1

Properties of the FE model

HOGHC7_2016_v30n4_287_t001.jpg
Table 2

Damage scenarios of the FE model

HOGHC7_2016_v30n4_287_t002.jpg
손상시나리오별 계산되는 고유진동수와 손상 전 계산되는 고유진동수를 고유치해석을 통해 계산하였으며 Table 3에 정리하였다. 3가지 경우 모두에서 1차 고유진동수 변화가 미비했기 때문에 2차 ~ 5차 고유진동수를 손상추정에 적용하였다.
Table 3

Natural frequencies of initial model and damaged models

HOGHC7_2016_v30n4_287_t003.jpg
NF : Natural frequency
우선 모델에 기반 하여 [S]를 구성하였다. 다음으로 손상이 발생된 시점을 Case 1의 경우 4번째 측정 시점으로 가정하여 [D]를 작성하였다. 다시 설명하면, HOGHC7_2016_v30n4_287_e007.jpg부터 HOGHC7_2016_v30n4_287_e008.jpg까지는 손상이 없는 상태에서 측정된 고유진동수로 구성되며, HOGHC7_2016_v30n4_287_e009.jpg는 구조물에 Case 1의 손상이 발생된 경우 계산된 고유진동수가 적용되었다. Case 2와 Case 3의 경우 각각 5번째 측정 시점과 6번째 측정 시점으로 각각의 손상시나리오에서 모두 다른 시점에서 손상이 발생된 것으로 가정하였다. Fig. 3에서 Fig. 5는 Case 1 ~ Case 3의 경우에 계측된 정규화된 손상지수이다. 각 경우 모두에서 x축은 측정시점, y축은 고유진동수 차수, z축은 정규화된 손상지수를 나타낸다. 손상판단 기준값을 1(84% 신뢰도)로 정할 경우 Case 1은 4번째, Case 2와 Case 3은 5번째와 6번째 측정시점에 구조 어딘가에 손상이 발생했다는 것을 감지할 수 있었으며, 이 결과는 손상시나리오를 정확히 판단한 것이다.
Fig. 3

Normalized warning index at Case 1

HOGHC7_2016_v30n4_287_f003.jpg
Fig. 4

Normalized warning index at Case 2

HOGHC7_2016_v30n4_287_f004.jpg
Fig. 5

Normalized warning index at Case 3

HOGHC7_2016_v30n4_287_f005.jpg
손상신호가 발생된 시점에 계측된 고유진동수와 그전 측정시점에 계측된 고유진동수의 변화율을 계산하여 HOGHC7_2016_v30n4_287_e004.jpg를 획득하였다. 식 (8) ~ 식 (10)을 통해 계산된 코사인 유사도, 크기지수, 손상지수를 Case 1의 경우 Fig. 6 ~ 8에, Case 2의 경우 Fig. 9 ~ Fig. 11에, Case 3의 경우 Fig. 12 ~ Fig. 14에 각각 나타내었다. 손상추정 결과 Case 1은 76 혹은 78번 라인에서 23.55%의 손상이 발생된 것으로 예측되었으며, Case 2에서는 79번 혹은 82번에서 9.77%의 손상이 Case 3에서는 26번 혹은 28번 라인에서 19.12%의 손상이 발생된 것으로 추정되었다. 3가지 경우 모두에서 2개의 요소에서 손상 가능성과 정도가 동일하게 예측되었는데 이러한 원인은 모델의 대칭성에 의한 것으로 판단된다. 이상의 추정 결과를 Fig. 15Table 4에 정리하였다.
Fig. 6

Cosine similarity at Case 1

HOGHC7_2016_v30n4_287_f006.jpg
Fig. 7

Magnitude index at Case 1

HOGHC7_2016_v30n4_287_f007.jpg
Fig. 8

Damage index at Case 1

HOGHC7_2016_v30n4_287_f008.jpg
Fig. 9

Cosine similarity at Case 2

HOGHC7_2016_v30n4_287_f009.jpg
Fig. 10

Magnitude index at Case 2

HOGHC7_2016_v30n4_287_f010.jpg
Fig. 11

Damage index at Case 2

HOGHC7_2016_v30n4_287_f011.jpg
Fig. 12

Cosine similarity at Case 3

HOGHC7_2016_v30n4_287_f012.jpg
Fig. 13

Magnitude index at Case 3

HOGHC7_2016_v30n4_287_f013.jpg
Fig. 14

Damage index at Case 3

HOGHC7_2016_v30n4_287_f014.jpg
Fig. 15

Results of damage detection

HOGHC7_2016_v30n4_287_f015.jpg
Table 4

Predicted damage locations and severities

HOGHC7_2016_v30n4_287_t004.jpg

4. 결 론

본 연구에서는 해양 자켓 구조물의 손상추정을 위해 고유진동수 변형율 벡터의 유사도를 이용하는 기법을 제안하였으며, 제안된 기법을 3차원 자켓 구조물 수치 손상 모델을 통해 검증하였다. 그 결과 다음과 같은 결론을 얻을 수 있었다.
(1) 해양 자켓 구조물의 고유진동수를 지속적으로 모니터링할 수 있다면, 고유진동수 변형량을 이용한 경고지수 분석을 통해 구조물에 손상이 발생되는 시점을 정확히 예측할 수 있을 것으로 판단된다.
(2) 구조물에 발생된 손상의 위치와 손상 크기를 판별하기 위해서 구조물의 고유진동수 변화량만이 요구되기 때문에 추가적인 해석이나 모델 개선과 같은 작업이 필요하지 않았다. 이러한 장점은 실제 구조물 모니터링 시스템 구성에 큰 장점으로 작용할 것으로 생각된다.
(3) 대상 구조물의 모델링 정보만 있다면 [S]를 구성할 수 있기 때문에 모니터링 시스템 없이 운용되어오던 해양 자켓 구조물의 손상추정에도 적용 가능할 것으로 보인다. 다만 구조물이 장시간 운용되면서 발생된 미소 변형들을 수치모델에 투영하기 위한 모델 개선 작업이 필요할 것이다.
본 논문에서 제시한 구조물 손상추정 기법을 실제 구조물에 적용하기 위해서는 아직 많은 연구가 필요하다. 우선 해양에 설치된 대형 구조물의 고유진동수를 정확히 추정할 수 있어야 한다. 고유진동수를 정확히 추정하기 위해서는 해양에서 사용가능한 센서와 케이블이 필요하며 신호 증폭 및 노이즈 제거를 위한 필터 등의 시스템이 필요하다. 또한 계측된 센서 신호를 분석하여 고유진동수를 추정할 수 있는 추정 기법도 필요하다. 또한 손상이 다점에서 발생된 경우에도 손상을 추정할 수 있는 추가적인 연구가 필요할 것으로 생각된다.

NOTES

It is noted that this paper is revised edition based on proceedings of KAOSTS 2016 in Busan Korea.

감사의 글

본 연구는 해양수산부 지원으로 수행되고 있는 “해양플랜트 산업지원센터 구축 및 운영”과제와 선박해양플랜트연구소 주요 사업으로 수행되고 있는“해양플랜트구조물 해체 프로세스 기반 기술 개발”과제의 연구결과 중 일부임을 밝히며, 연구비 지원에 감사드립니다.

References

Brincker, R., Zhang, L., Andersen, P.. (Modal Identification of Output-only Systems using Frequency Domain Decomposition, Smart Materials and Structures, 2001). 10, 441-445 10.1088/0964-1726/10/3/303.
crossref
Dong, Y., Sun, Z., Jia, H.. (A Cosine Similarity-based Negative Selection Algorithm for Time Series Novelty Detection, Mechanical Systems and Signal Processing, 2006). 20, 1461-1472 10.1016/j.ymssp.2004.12.006.
crossref
Kim, J.T., Ryu, Y.S., Jung, S.O., Choo, S.H.. (Pattern Recognition of Modal Sensitivity for Structural Damage Identification of Truss Structure, Journal of Ocean Engineering and Techn, 2000). 14(1):80-87.

Kim, J.T., Sim, S.H., Cho, S., Yun, C.B., Min, J.. (Recent R&D Activities on Structural Health Monitoring in Korea, Structural Monitoring and Maintenance, 2016). 3(1):91-114 10.12989/smm.2016.3.1.091.
crossref
Kim, J.T., Stubbs, N.. (Damage Detection in Jacket-type Offshore Structures from Few Mode Shapes, Journal of Ocean Engineering and Technology, 1994). 8(1):144-153.

Kim, S.R., Lee, J.W., Kim, B.K., Lee, J.S.. (Damage Estimation Method for Monopile Support Structure of Offshore Wind Turbin, Transactions of the Korean Society for Noise and Vibration Engineering, 2012). 22(7):667-675 10.5050/KSNVE.2012.22.7.667.
crossref pdf
Li, H., Li, P., Hu, S.L.J.. (Modal Parameter Estimation for Jacket-type Platforms using Noisy Free-vibration Data: Sea Test Study, Applied Ocean Research, 2012). 37, 45-53 10.1016/j.apor.2012.03.002.
crossref
Li, H., Wang, J., Hu, S.L.J.. (Using Incomplete Modal Data for Damage Detection in Offshore Jacket Structures, Ocean Engineering, 2008). 35, 1793-1799 10.1016/j.oceaneng.2008.08.020.
crossref
Liu, F., Li, H., Li, W., Wang, B.. (Experimental Study of Improved Modal Strain Energy Method for Damage Localisation in Jacket-type Offshore Wind Turbines, Renewable Energy, 2014). 72, 174-181 10.1016/j.renene.2014.07.007.
crossref
Malekzehtab, H., Golafshani, A.A.. (Damage Detection in an Offshore Jacket Platform using Genetic Algorithm based Finite Element Model Updating with Noisy Modal Data, Procedia Engineering, 2013). 54, 480-490 10.1016/j.proeng.2013.03.044.
crossref
Min, C.H., Cho, S.G., Oh, J.W., Kim, H.W., Hong, S., Nam, B.W.. (Study on Damage Detection Method using Meta Model, Journal of Ocean Engineering and Technology, 2015). 29(5):351-358 10.5574/KSOE.2015.29.5.351.
crossref pdf
Min, J., Shim, H., Yun, C.B., Yi, J.H.. (Impedance-based Long-term Structural Health Monitoring for Tidal Current Power Plant Structure in Noisy Environments, Journal of Ocean Engineering and Technology, 2011). 25(4):59-65 10.5574/KSOE.2011.25.4.059.
crossref pdf
Mojtahedi, A., Lotfollahi Yaghin, M.A., Hassanzadeh, Y., Ettefagh, M.M., Aminfar, M.H., Aghdam, A.B.. (Developing a Robust SHM Method for Offshore Jacket Platform using Modal Updating and Fuzzy Logic System, Applied Ocean Research, 2011). 33, 398-411 10.1016/j.apor.2011.05.001.
crossref
Park, S.Y., Park, D.C., Kim, E.H., Kim, H.S.. (Damage Evaluation on a Jacket Platform Structure Using Modal Prope Proceeding of the Twenty-first International Offshore and Polar Engineering Conference Maui, Hawaii, USA: 2011). 1: 245-250.

Rivero-Angeles, F.J., Vazquez-Hernandez, A.O., Martinez, U.. (Vibration Analysis for the Determination of Modal Parameters of Steel Catenary Risers Based on Response-only Data, Engineering Structures, 2014). 59, 68-79 10.1016/j.engstruct.2013.10.003.
crossref
Shen, J., Liu, F., Li, H., Xu, L., Liang, B.. (Assessment of the Damages Occurring Between Two Adjacent Measurements for an Aging Offshore Platform, Ocean Engineering, 2015). 109, 372-380 10.1016/j.oceaneng.2015.09.024.
crossref
Yang, H.Z., Park, H.L., Choi, K.S., Li, H.J.. (Comparison Between Field Test and Numerical Analysis for a Jacket Platform in Bohai Bay, China, Journal of Ocean Engineering and Technology, 2006). 20(2):1-7.



ABOUT
BROWSE ARTICLES
ARTICLE CATEGORY

Browse all articles >

PUBLICATION ETHICS
FOR CONTRIBUTORS
Editorial Office
President Office BD Rm. 1302, 13 Jungang-daero 180beon-gil, Dong-gu, Busan 48821, Republic of Korea
Tel: +82-51-759-0656    Fax: +82-51-759-0656    E-mail: ksoehj@ksoe.or.kr                

Copyright © 2024 by The Korean Society of Ocean Engineers.

Developed in M2PI

Close layer
prev next