Journal of Korea Robotics Society
[ ARTICLE ]
The Journal of Korea Robotics Society - Vol. 18, No. 1, pp.53-58
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date 28 Feb 2023
Received 31 Oct 2022 Revised 11 Nov 2022 Accepted 11 Nov 2022
DOI: https://doi.org/10.7746/jkros.2023.18.1.053

시뮬레이션 데이터와 Spherical Convolution을 통한 준 정적인 수중환경에서의 이동체 속도 및 각도 측정

윤배근1 ; 김진현
Measurement of Moving Object Velocity and Angle in a Quasi-Static Underwater Environment Through Simulation Data and Spherical Convolution
Baegeun Yoon1 ; Jinhyun Kim
1Master’s Course, Seoul National University of Science and Technology, Seoul, Korea hyeseon0120@seoultech.ac.kr

Correspondence to: Full Professor, Corresponding author: Seoul National University of Science and Technology, Seoul, Korea ( jinhyun@seoulteh.ac.kr)

CopyrightⓒKROS

Abstract

In general, in order to operate an autonomous underwater vehicle (AUV) in an underwater environment, a navigation system such as a Doppler Log (DVL) using a Doppler phenomenon of ultrasonic waves is used for speed and direction estimation. However, most of the ultrasonic sensors in underwater is large for long-distance sensing and the cost is very high. In this study, not only canal neuromast on the fish's lateral lines but also superficial neuromast are studied on the simulation to obtain pressure values for each pressure sensor, and the obtained pressure data is supervised using spherical CNN. To this end, through supervised learning using pressure data obtained from a pressure sensor attached to an underwater vehicle, we can estimate the speed and angle of the underwater vehicle in a quasi-static underwater environment and propose a method for a non-ultrasonic based navigation system.

Keywords:

Velocity, Machine Learning, Simulation

1. 서 론

수중환경에서 이동체를 운용하기 위해서 필연적으로 이동체의 속도 및 방향 정보가 필요하다. 대부분의 수중 위치 인식 및 항법 체계는 가속도계와 자이로스코프 등을 사용하여 이동 방향과 속도를 추정하는 INS(Inertial Navigation System: 관성 항법 장치), 초음파의 도플러 현상을 이용하여 이동체 또는 조류의 속도 및 방향을 측정하는 DVL(Doppler Velocity Log: 도플러 속도계) 등을 활용한 초음파 기반의 항법 시스템이다[1]. 초음파는 물에서 신호의 감쇠가 낮고 속도가 빠르기 때문에 대부분의 수중 위치 인식 시스템에서 사용되지만, 수중에서 사용하는 음파 장비는 대부분 원거리 감지를 위해 크기가 크고 활용 비용이 높은 편이다.

물고기의 측선(lateral line)을 모사하여 초음파를 사용하지 않고 수중 로봇의 측면에 압력센서를 일부 배치함으로써 표면에 분산되는 압력과 측정되는 각속도를 통해 로봇의 속도를 추정하는 연구도 진행된 바 있다[2]. 하지만 물고기는 옆줄뿐만 아니라 전체적으로 분포되어 있는 감각기관을 통해 주변환경의 유속 및 압력분포를 감지한다. 본 연구에서는 수중 이동체에 옆줄을 모사한 압력센서 배열을 넘어 물고기와 유사한 수준의 압력센서 분포를 기반으로 일정한 속도가 유지되는 준 정적인 환경에서 압력센서를 통해 속도 추정이 가능한 수중이동체를 구현하고자 한다.

2021년 Aakash Bhatt는 압력센서의 배열을 활용한 시스템을 통해 보행자의 발자국을 2차원의 압력데이터로 측정하고, CNN 알고리즘 학습을 통해 개개인의 발자국의 특징을 판별하는 연구를 진행하였다[3]. 본 논문에서는 위 연구와 유사하게 수중 이동체에 분포 되어있는 다수의 압력센서에서 데이터를 취득하고, 압력 값을 이미지로 생성하여 지도학습에 필요한 데이터 셋을 구축하고, 지도학습을 통한 압력센서의 데이터에 따른 수중 이동체의 속도 및 방향 정보를 예측하는 알고리즘을 제안하고자 한다.


2. 물고기 센서 모사 시뮬레이션 이동체 구현

본 연구에서는 물고기의 감각기관을 모사하여 수중이동체에 전체적으로 고르게 부착되어 있는 다수의 압력센서 데이터를 사용한다. 물고기는 감구(Neuromast)라는 감각 기관이 존재하며, 표피에 존재하는 감구(Superficial neuromast)와 측선에 존재하는 Canal neuromast로 나뉘어져 전체적으로 분포되어 있다. 이러한 감구에 유체의 흐름이 발생하면 팽대부평형정(Cupula)을 자극하며 유체의 흐름에 의한 주변 유체의 움직임, 진동 및 압력 분포를 감지할 수 있다[4]. 이와 같은 메커니즘을 수중 이동체에 적용하기 위하여 압력센서를 전체적으로 분포하여 물고기와 같은 감각 센싱을 적용하였다.

하지만 다수의 압력센서를 실제로 수중 이동체에 부착을 위해 긴 시간과 많은 노력이 소요되고, 센서 분해능 및 물리적으로 다수의 압력센서를 배치하는 어려움이 발생한다. 이를 극복하기 위해 실험 결과와 비교를 통해 유사성을 검증한 CFD기반 해석 프로그램을 통해 시뮬레이션으로 결과를 도출하였다. 따라서 본 논문에서는 실제와 같은 시뮬레이션 환경을 구성하고, 세분화된 다양한 조건에서의 다수의 압력센서 훈련데이터를 수집하여 딥러닝 기반 수중 속도 및 방향 추정 알고리즘을 제안한다.

2.1 실제 실험 환경 및 수중 이동체 구현

실험 장치는 [Fig. 1]과 같이 선형 운동과 회전운동이 가능하도록 설계하였으며, 선형 운동은 최대 속도 0.2(m/s), 최대 이동 거리는 900(mm)이고, 회전 운동은 z축 기준으로 0~50(deg)의 범위를 10(deg)의 간격으로 회전이 가능하도록 하였다. 실험 환경은 3차원 수조를 이용하여 구성하였으며, 2.5 x 1.5 x 0.5(m)의 크기를 가진다.

[Fig. 1]

Experiment environment

대상 모델은 수중 이동체(AUV)의 형태를 가지도록 [Fig. 2]와 같이 0.1, 0.05, 0.05(m) 크기의 타원형으로 모델링하였으며, 실험은 각도를 0(deg)로 고정한 상태에서 0.04, 0.05, 0.066, 0.1, 0.2(m/s)의 5단계의 실험 과 속도를 0.1(m/s)로 고정한 상태에서 10, 20, 30, 40, 50(deg)의 5단계의 실험으로 진행하였다. 또한, 압력센서 데이터는 10 ms의 샘플링을 주기와 최대 해상도인 0.012 mbar 상태에서 취득하였다.

[Fig. 2]

Experimental model

2.2 시뮬레이션 환경 및 수중 이동체 구현

시뮬레이션 환경은 K-epsilon 모델을 사용하여 난류 성분을 포함시켰으며, [Table 1]와 같이 시뮬레이션의 주변 환경을 구성하였다. 대상 모델은 [Fig. 3]과 같이 수중 이동체(AUV)의 형태를 가지도록 0.1, 0.05, 0.05(m) 크기의 타원형으로 모델링하였다.

Simulation environment

[Fig. 3]

Simulation model

2.3 실험 및 시뮬레이션 수중 이동체 데이터 비교

[Fig. 4]는 속도에 따른 시뮬레이션 및 실험 결과를 비교한 그림이며, Rear에 위치한 압력센서 값을 제외한 나머지 데이터가 일치하는 경향을 확인하였다. Rear에 부착된 압력센서는 이론적으로 외부 유체 흐름의 영향이 매우 적은 특이점으로 시뮬레이션 값을 통해 외부 유체 속도 변화에 영향을 거의 받지 않음을 확인할 수 있었다. 하지만 시뮬레이션 결과와 달리 실험의 경우에는 구조물 및 물의 파동에 의해 후면에 난류가 발생하게 되며, 그 결과 외부 유체의 속도가 증가함에 따라 오차가 커짐을 확인할 수 있었다. [Fig. 5]는 각도에 따른 시뮬레이션 및 실험 결과를 비교한 그림이며, 속도에 따른 데이터와 마찬가지로 일치하는 경향을 확인하였다. 그 결과 실험과 시뮬레이션 일치도가 매우 높음을 확인하였으며, 시뮬레이션 환경을 통해 학습 알고리즘에 사용할 다수의 입력 데이터를 확보하는 것이 타당함을 알 수 있었다.

[Fig. 4]

Comparison of simulation and experiment results by velocity

[Fig. 5]

Comparison of simulation and experiment results by angle

2.4 시뮬레이션 수중 이동체 압력 데이터

시뮬레이션 환경에서 구현한 수중이동체를 사용하여 유속의 속도(0.1~0.8 m/s, Step: 0.5 m/s)와 각도인 Yaw, Pitch(-80~+80 deg, Step: 5 deg)인 약 6621개의 실험환경 별 압력센서의 위치 및 압력 데이터를 구성하였다. 각각의 환경에서 이동체는 979개의 압력센서를 나타내는 메시 포인트가 존재한다. [Table 2]는 한 개의 실험환경에서 메시 포인트 별 좌표 값(x, y, z)과 압력 값(Pa)의 데이터 세트를 보여준다. 해당 데이터 세트의 좌표 값은 [Fig. 6]과 같이 포인트 클라우드 형태로 나타난다.

Simulation data

[Fig. 6]

Point cloud of pressure sensor attached to underwater vehicle

시뮬레이션에서 취득한 데이터를 CNN 학습에 적용하기 위해서 등장방형 도법을 통해 투영된 이미지의 픽셀에 압력데이터를 배열하여 학습을 진행한다. 하지만 등장방형 도법은 고위도 일수록 왜곡도가 증가한다. 이를 해결하기 위한 CNN 학습 방법으로 VGG16 Feature Extractor를 기반으로 Spherical convolution이라는 기법을 사용하여 다수의 압력센서 데이터를 학습하여 수중 위치 인식 시스템을 개발한다[5,6].

2.5 등장방형 도법

본 연구에서 학습에 사용되는 데이터는 메시 포인트별 좌표 값(x, y, z)과 압력 값(Pa)이 존재하는 타원체 모양의 3차원 데이터이다. CNN 알고리즘을 사용하기 위해서 등장방형 도법을 사용하여 3차원의 다수 압력 센서 값을 투영시켜 [Fig. 7]과 같이 2D 이미지 전처리를 실시한다. 360도 영상을 파노라마 영상으로 변환하는데 사용되는 등장 방형 도법은 구 좌표계의 ϕθ값을 각각 가로축과 세로축으로 설정하여 투영시키는 방법이다. 또한 본 연구에서 사용되는 데이터는 3차원의 타원체 모양이며 Spherical convolution을 위해 타원체를 식 (1)을 통해 구체로 바꾼 다음 투영을 진행하였다.

x2a2+y2b2+z2c2=1u,v,w=1abc23bcx,acy,abz(1) 
[Fig. 7]

Equirectangular projection of Training data

2.6 Spherical Convolution

등장 방형도법이 적용된 이미지에 기본적인 2D Convolution을 적용하면 고위도에서 그 왜곡도가 심해지기 때문에 더 많은 필터의 개수가 필요하다. 이를 해결하기 위해서 본 연구에서는 Spherical convolution을 사용한다. Spherical convolution은 등장 방형도법에서 특정 θϕ 값에 존재하는 데이터 포인트에 3x3 필터를 적용한다고 가정할 때, 구체의 표면에 존재하는 데이터 포인트가 중앙에 위치한 3x3 크기만큼의 데이터 샘플링을 접평면에 투영하는 심사도법(Gnomonic projection)을 진행한다. 그 다음 다시 심사도(Gnomonic map)를 다시 등장 방형 도법의 좌표로 변환하는 역 심사도법(Inverse gnomonic projection)을 통해 [Fig. 8]과 같이 위도에 따른 위치의 왜곡도가 포함된 Convolution이 진행된다.

[Fig. 8]

Kernel sampling pattern

2.7 VGG16 모델 기반 Spherical convolution

본 연구에서는 [Fig. 9]처럼 VGG16의 Feature extractor 부분에서 Convolution layer를 Spherical convolution layer로 교체한 네트워크로 진행되었다. Large scale과 영상 인식에서 괄목할 만한 결과를 보여준 Convolutional networks에서 현재 VGG16의 Feature extractor보다 깊은 Depth를 가진 모델이 존재하나, VGG16는 이전에 크기가 비교적으로 큰 11x11이나 7x7 크기의 필터 사이즈 대신 3x3 크기의 필터를 사용하여 모델의 특징 식별성을 증가시킨 대표적인 모델이다. 본 논문에서 사용한 Spherical convolution은 앞서 얘기한 것처럼 데이터 샘플링을 투영하는 심사도법은 기본적으로 3x3 크기를 가지고 있기 때문에, 이를 통해 VGG16 모델의 차용하였다.

[Fig. 9]

(A) Spherical convolution, (B) Vanilla convolution


3. 학습 결과

속도 및 각도에 따라 만들어진 6621개의 데이터 세트를 학습에 필요한 8(Train data) : 1(Validation data) : 1(Test data)의 비율로 데이터 개수를 나누어 데이터를 형성하여 학습을 진행하였다. 학습을 통해 도출한 출력 데이터는 순서대로 속도, Pitch, Yaw 값을 나타내며 [Fig. 10]은 979개의 압력센서 데이터를 사용한 학습 횟수에 100회에 따른 Spherical CNN와 vanilla CNN의 MSE 값을 비교하여 보여준다. 훈련 횟수 100번에서 Spherical CNN은 약 13의 MSE값을 보이지만 Vanilla CNN의 경우 학습이 제대로 진행되지 않음을 볼 수 있다. 이는 3차원 데이터를 투영할 때 생기는 왜곡도에 의해 이를 학습하기 위해 깊고 더 많은 필터의 개수가 필요함을 시사한다. [Table 3]은 약 622개의 학습에 관여되지 않은 Test set 데이터의 훈련회수 200번에 대한 Spherical CNN의 절대적인 예측 값의 오차를 보여준다. 속도 값은 평균 0.026 m/s, 최대 0.125 m/s 차이를 확인할 수 있었다. Pitch 각도 값은 평균 0.844[deg] 최대 3.219[deg]이며 Yaw 각도는 평균 1.324[deg] 최대 2.967[deg]를 도출하였다.

[Fig. 10]

Comparison of MSE values ​​of Spherical, Vanilla cnn

Learning results of 662 Test data set


4. 결 론

많은 연구자들은 최근까지 수중환경에서 이동체의 위치를 알아내고자 노력하였다. 우리는 동적인 환경에서의 수중 환경에서 압력센서를 사용하여 비초음파 방식의 이동체의 속도 및 각도 측정을 할 수 있는 항법 시스템을 개발 및 구현하는 것이 최종적인 목표이다. 이에 대한 선행 연구로써 물고기의 감각센서인 옆줄뿐만 아니라 superficial neuromast 포함된 979개의 압력센서를 준 정적 시뮬레이션 환경에서 이동체에 부착하여 얻은 압력센서 데이터를 지도학습에 사용하였다. 이를 통해 [Table 3]과 같이 이동체의 속도 및 각도를 도출하였다. 또한 등장방형 도법으로 투영한 이미지의 왜곡에 따라 Spherical CNN은 Vanilla CNN보다 얕고 적은 필터에서도 학습이 진행됨을 확인하였다. 향후 실제 이동체에 시스템을 적용하여 준 정적일 뿐만 아니라 동적인 환경에서 실시간으로 값을 추정하는 것에 초점을 맞추며 더 깊은 지도학습 알고리즘을 사용하여 속도 및 각도의 정확성을 높을 예정이다. 더 나아가 IMU, RF 센서와의 융합을 통해 비초음파 기반 수중 이동체 위치 추정 기법을 개발할 계획이다.

Acknowledgments

This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT). (No. 2022R1A2C2010101)

References

  • D. S. Yang, X. Sun, L. Hong, and H. Zhou, “Research of directivity of underwater acoustic velocity gradient sensors,” SPAWDA Symposium on Piezoelectricity, Acoustic Waves, and Device Applications, Changsha, China, 2013. [https://doi.org/10.1109/SPAWDA.2013.6841143]
  • W. Wang, Y. Li, X. Zhang, C. Wang, S. Chen, and G. Xie, “Speed evaluation of a freely swimming robotic fish with an artificial lateral line,” IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 2016. [https://doi.org/10.1109/ICRA.2016.7487675]
  • A. Bhatt, T. Truong, S. Yanushkevich, and M. Almekhlafi, “Body Pose Analysis using CNN and Pressure Sensor Array Data,” IEEE EMBS International Conference on Information Technology Applications in Biomedicine (ITAB), Athens, Greece, 2021. [https://doi.org/10.1109/BHI50953.2021.9508570]
  • J. Mogdans, “Sensory ecology of the fish lateral‐line system: Morphological and physiological adaptations for the perception of hydrodynamic stimuli,” Journal of Fish Biology, vol. 95, no.1, pp. 53-72, Jul., 2019. [https://doi.org/10.1111/jfb.13966]
  • S. Y. Lee, J. Chang, and S. Lee, “Deep Learning-Enabled High-Resolution and Fast Sound Source Localization in Spherical Microphone Array System,” IEEE Transactions on Instrumentation and Measurement, vol. 71, Mar., 2022. [https://doi.org/10.1109/TIM.2022.3161693]
  • K. Simonyan and A. Zisserman, “Very Deep Convolutional Networks for Large-Scale Image Recognition,” Computer Vision and Pattern Recognition, 2014. [https://doi.org/10.48550/arXiv.1409.1556]
윤 배 근

2011 숭실대학교 경영학과 학사

2021~현재 서울과학기술대학교 기계공학과 석사과정

관심분야: Underwater robots, Machine learning

김 진 현

1998 POSTECH 기계공학과 학사

2000 POSTECH 기계공학과 공학 석사

2005 POSTECH 기계공학과 공학 박사

2005~2007 한국생산기술연구원 선임연구원

2007~현재 서울과학기술대학교 기계 · 자동차공학과 교수

관심분야: Redundant Manipulator, Underwater robots, Hovering robots, Neuro Robotic

[Fig. 1]

[Fig. 1]
Experiment environment

[Fig. 2]

[Fig. 2]
Experimental model

[Fig. 3]

[Fig. 3]
Simulation model

[Fig. 4]

[Fig. 4]
Comparison of simulation and experiment results by velocity

[Fig. 5]

[Fig. 5]
Comparison of simulation and experiment results by angle

[Fig. 6]

[Fig. 6]
Point cloud of pressure sensor attached to underwater vehicle

[Fig. 7]

[Fig. 7]
Equirectangular projection of Training data

[Fig. 8]

[Fig. 8]
Kernel sampling pattern

[Fig. 9]

[Fig. 9]
(A) Spherical convolution, (B) Vanilla convolution

[Fig. 10]

[Fig. 10]
Comparison of MSE values ​​of Spherical, Vanilla cnn

[Table 1]

Simulation environment

Fluid, mesh information
Dimension 3D
Viscous model K-Epsilon
Material Water-liquid
Density 998.2 kg/m3
Temperature 293.15 K
Viscosity 0.001003 kg/m * s
Boundary condition
Inlet Velocity-inlet (0.1 ~ 0.8 m/s)
Side, Target Stationary Wall (Roughness: 0.5)
Outlet Outlet-vent

[Table 2]

Simulation data

X(m) Y(m) Z(m) Pa
-0.1 0 0 4936.21
-0.099 0.0029 -0.00395 4858.73
-0.099 0.0029 0.003955 4934.16
-0.099 -0.0029 -0.00395 4856.89
· · · · · · · · · · · · · · · ·
0.0995 -0.0029 -0.00396 4848.10
0.0995 0.0029 0.003963 4944.77
0.0995 0.0029 -0.00396 4895.12
0.1 0 0 4866.66

[Table 3]

Learning results of 662 Test data set

Velocity Pitch Yaw
Max 0.125 3.219 2.967
Mean 0.026 0.844 1.324
Min 0.0032 0.005 0.048