![Journal of Korea Robotics Society](/images/basic/pubreader_back.gif)
병렬 학습 모듈을 통한 자율무인잠수정의 강인한 위치 추정
CopyrightⓒKROS
Abstract
This paper describes localization of autonomous underwater vehicles(AUV), which can be used when some navigation sensor data are an outlier. In that situation, localization through existing navigation algorithms causes problems in long-range localization. Even if an outlier sensor data occurs once, problems of localization will continue. Also, if outlier sensor data is related to azimuth (direction of AUV), it causes bigger problems. Therefore, a parallel localization module, in which different algorithms are performed in a normal and abnormal situation should be designed. Before designing a parallel localization module, it is necessary to study an effective method in the abnormal situation. So, we propose a localization method through machine learning. For this method, a learning model consists of only Fully-Connected and trains through randomly contaminated real sea data. The ground truth of training is displacement between subsequent GPS data. As a result, average error in localization through the learning model is 0.4 times smaller than the average error in localization through the existing navigation algorithm. Through this result, we conclude that it is suitable for a component of the parallel localization module.
Keywords:
Learning, Localization, Outlier Data, AUV1. 서 론
AUV (Autonomous Underwater Vehicles, 자율무인잠수정)에 대한 연구는 1970년대부터 시작되어[1] 현재까지도 활발하게 진행되고 있는 분야이다. 수중 로봇에서 자율무인잠수정과 유사한 연구 분야로 ROV (Remotely Operated Vehicle)가 있다[2]. 하지만, ROV의 경우 모선과 연결되어 모선으로부터 동체의 위치와 자세에 대한 정보를 취득할 수 있다는 장점과 모선과 연결되어 운용반경이 자유롭지 못하다는 단점이 존재한다. 그와 달리 자율무인잠수정의 경우 독립적으로 운용되어 운용에 대해 제약이 비교적 자유롭다는 장점과 GPS (Global Positioning System)가 수상에서만 동작하기 때문에 수중으로 운용 중에는 외부로부터 위치에 대한 보정이 불가하다는 단점이 있다. 자율무인잠수정의 장점을 극대화하기 위해서는 수중에서 자율무인잠수정의 위치를 추정하기 위한 항법 알고리즘이 필요하다[3-5].
하지만, 여러 센서 중 일부 센서에서 이상치 데이터가 나타나게 되면 자세와 위치 추정에 오차가 발생하게 되고, 특히나 위치에 대한 오차의 경우는 GPS가 다시 수신되기 전까지는 사라지지 않는다. [Fig. 1]은 실해역 실험에서 취득한 센서 데이터의 결과로 (a) - DVL 데이터와 (b) - Digital Compass의 데이터 중 하나인 헤딩 데이터에서 발생한 이상치 데이터를 나타낸다.
자율무인잠수정의 강인한 위치 추정을 위해서는 이상치 데이터가 발생했음을 인지하는 과정과 이상치 데이터를 사용하지 않는 위치 추정 방법이 필요하다. 보편적으로 사용하는 방법으로 센서가 측정 가능한 범위를 초과한 데이터를 이상치 데이터로 판단하고 이전 값을 사용하는 방법이 있다. 하지만 이러한 방법의 경우에는 이상치 데이터가 짧은 시간 발생하거나 동체의 속도와 각속도, 자세가 비교적 일정한 경우에는 효과적이지만, 이와 반대의 경우에서는 효과적이지 못하다.
본 논문에서는 학습 모델[6]을 사용하여 자율무인잠수정의 위치를 추정하는 방법에 대해 설명한다. 학습 모델의 신경망의 경우 Fully- Connected만으로 구성된 신경망을 사용하였다. 신경망의 경우 가장 기본적인 신경망으로 머신러닝을 활용한 방법의 가능성을 파악하기에 유용하다고 판단하여 학습 모델의 신경망으로 사용하였다. 신경망 학습을 위해 [Fig. 2]와 같이 실해역에서 운용하여 취득한 데이터의 일부를 이상치 데이터로 변환하여 이상치 데이터가 발생하는 상황을 인위적으로 구성하였다. 더불어 학습 모델의 성능을 검증하기 위해 학습에 사용되지 않은 데이터셋을 사용하여 수행된 학습 모델의 위치 추정 결과와 칼만 필터를 통해 센서를 융합하여 자율무인잠수정의 위치 및 자세를 추정하는 기존 항법 알고리즘[4]의 위치 추정 결과와 비교한다.
2. 병렬 위치 추정 알고리즘
2.1 병렬 위치 추정 알고리즘 구성
본 논문이 목표로 하는 병렬 위치 추정 알고리즘은 [Fig. 3]과 같다. 기존 항법 알고리즘 모듈과 학습 모듈을 통한 위치 추정 방법이 병렬적으로 위치하며, 이상치 데이터에 대한 판단으로 선택적으로 수행된다. 본 논문에서는 학습 모델을 통한 위치 추정 방법의 성능을 판단하기 위해서 인위적으로 만든 이상치 데이터가 발생했을 때의 환경에서 기존 항법 알고리즘과 비교한다.
2.2 자율무인잠수정 탑재 센서
자율무인잠수정에 탑재된 센서는 총 5종으로 센서의 종류, 샘플링 Hz 그리고 제공되는 정보 등은 [Table 1]과 같다. 각 센서는 자율무인잠수정의 자세, 속도 그리고 위치와 관련이 있다. 자세는 IMU – Gyroscope, Digital Compass, 속도는 IMU, Digital Compass – Accelerometer, DVL 그리고 위치는 모든 센서를 통해 직접적인 추정 혹은 간접적인 추정이 가능하다.
2.3 기존 항법 알고리즘
학습 모델과의 비교를 위한 항법 알고리즘은 기존 연구된 알고리즘[4]으로 이루어져 있으며, 해당 항법 알고리즘의 경우 이상치 데이터가 발생했을 때 직전의 센서 데이터를 사용하여 알고리즘이 동작하게 된다. 본 논문에서는 이상치 데이터를 판단하는 알고리즘에 대해서 다루고 있지 않기 때문에 센서 데이터가 0일 때, [Fig. 4]과 같이 이상치 데이터로 판단하고 직전의 센서 데이터를 사용한다.
2.4 머신러닝 학습 모델
머신러닝에 사용된 센서 데이터의 정보는 [Table 1]과 같다. 총 22개의 정보를 사용하며, 신경망의 입력을 위한 데이터 조합은 GPS 데이터를 제외한 20개의 정보를 사용하고, 참값은 GPS 데이터의 변위량으로 한다. 이때 GPS 데이터의 변위량은 위도, 경도의 단위인 °(degree)의 GPS 데이터를 UTM (Universal Transverse Mercator) 좌표 즉, m단위로 변환하여 사용한다. 신경망의 입력은 [Fig. 5]와 같이 GPS 데이터가 업데이트되는 시점으로 하여 인접한 두 GPS 데이터 사이에 존재하는 모든 센서 데이터를 사용하는 것이 이상적이지만, GPS의 업데이트 주기가 항상 일정하지 않고 약 0.9 ~ 1.1s 마다 업데이트되기 때문에 업데이트 주기가 짧을 때인 0.9s 즉, 인접한 두 GPS 데이터 사이에 존재하는 센서 데이터 중 IMU를 기준으로 90 sample의 데이터를 1 batch로 정의하여 사용한다. [Fig. 6]은 학습 모델의 신경망은 Fully- Connected로 구성되었다. 신경망의 입력 계층에는 90(sample 수) × 20(센서 데이터 종류)의 데이터가 평탄화되어 입력되며, 입력 계층과 출력 계층 사이에 2개의 Fully- Connected 계층이 존재한다. 모든 계층의 사이에는 Relu 함수를 통해 모든 뉴런을 활성화한다. 출력 계층에서는 X축과 Y축에 대한 추정 위치 변위를 출력한다. 학습의 경우 검증 데이터 셋을 제외한 전체 데이터 셋에 대해 500번을 수행하였으며 GPS 데이터의 변위량과 신경망의 출력 계층에서 출력되는 추정 위치 변위와의 rms (root mean square)를 통해 순방향과 역방향으로 weight를 수정하게 된다. 신경망의 학습과 검증을 위한 batch size는 각각 30, 1로 하였으며, 학습률은 1e-6으로 설정하여 수행했다. 학습을 위한 batch size 및 학습률의 경우 둘의 상관관계를 연구한 결과[7]를 바탕으로 설정되었으며, 검증을 위한 batch size의 경우 batch 마다의 이동 경로를 추출하기 위해 1로 하였다.
학습의 경우 약 3000개의 batch를 사용하였으며, [Fig. 7]은 학습 데이터를 취득한 이동 경로 중 일부이다. 학습 모델의 성능을 분석하기 위해서 UTM 좌표로 변환된 GPS데이터의 변위량을 참값으로 하고 각 방법의 추정값과 참값 사이의 거리 오차를 통해 성능을 확인하였다. [Fig. 8]은 해당 학습 데이터를 통해 500 epoch 학습하는 과정 중의 평균 거리 오차를 나타내고, 최종적인 평균 거리 오차는 0.1124 m이다.
3. 실 험
3.1 시뮬레이션을 위한 이상치 데이터 환경 설정
기존 항법 알고리즘과 학습 모델의 성능을 비교 분석하여 제안한 학습 모델이 병렬 위치 추정 알고리즘에 적합한지 판단하기 위해서는 이상치 데이터를 포함한 데이터 셋이 필요하게 된다. 하지만 실해역 실험을 통해 취득한 대부분의 센서 데이터의 경우 안정적인 해역과 자율무인잠수정이 정상적인 상황에서 취득된 데이터이기 때문에 다양한 센서 데이터에서 이상치 데이터에 대한 정보가 나타나지 않게 된다. 따라서 제안하는 학습 모델의 검증을 위해서 실해역 실험을 통해 취득한 센서 데이터를 무작위로 선정하여 해당 센서 데이터를 0으로 변환하여 이상치 데이터가 발생하는 환경을 설정하였다. [Fig. 9]은 자율무인잠수정의 헤딩과 관련된 센서 중 기존 항법 알고리즘의 위치 추정에 영향을 끼치는 데이터로 운용 시간에 대한 Gyro – r, Digital Compass – Heading 센서 데이터의 입력이다. Digital Compass – Heading의 경우 센서의 설치가 자율무인잠수정의 진행방향과 π/2(rad) 회전되어 설치되었기 때문에 센서 데이터가 이상치 데이터 (0 (rad))으로 입력되어도 설치 자세 보상으로 인해 π/2(rad) 로 나타난다.
3.2 실험 결과 – 전체 경로
[Fig. 10]은 실해역 실험을 통해 취득한 자율무인잠수정의 GPS데이터와 센서 데이터를 사용하여 기존 항법 알고리즘과 학습 모델을 통해 각각 위치를 추정한 결과로 각각 (a)는 GPS 데이터를 UTM 좌표로 변환한 결과, (b)는 기존 항법 알고리즘의 위치 추정 결과 그리고 (c)는 학습 모델을 통한 위치 추정 결과로 시작 위치를 (0,0)으로 정규화하여 표현했다.
학습 모델을 통해 추정한 위치의 평균 거리 오차는 0.1718 m 이다. 반면 기존 항법 알고리즘의 평균 거리 오차는 0.4558 m로 학습 모델의 검증 결과보다는 약 2.5배 큰 결과를 보여준다.
기존 항법 알고리즘의 경우 자세 추정과정에서 헤딩과 관련된 센서 데이터에서 이상치 데이터로 인해 오차가 크게 발생하면 위치 추정에도 오차가 발생한다.
[Fig. 11]는 운용시간에 대한 N (North) 방향 추정위치와 E (East) 방향 추정위치를 나타낸다. [Fig. 9]와 [Fig. 10]를 통해 이상치 데이터가 발생한 시점에서 추정 위치의 오차가 크게 발생하는 것을 확인할 수 있다. 두 방법 모두 이후 위치 추정에도 오차가 이어지기 때문에 GPS 수신 전까지 지속적으로 오차가 누적되어 위치가 추정된다.
3.3 실험 결과 – 분할된 경로
이 실험에서는 3.2장에서 사용한 데이터 셋을 4개의 구간으로 분할하여 기존 항법 알고리즘과 학습 모델을 비교하여 두 방법의 성능을 분석한다. 각 구간은 특정 센서 정보에 이상치 데이터가 발생한 경우에 대한 분석과 동-서 운동과 남-북 운동에서 센서들의 오차가 다른 양상을 파악하기 위해서 [Fig. 12]와 같이 동일한 운용 시간으로 4구간으로 나누었다. 구간 1은 1s~70s이고 구간 2는 70s~140s, 구간 3은 140s~210s, 구간 4는 210s~280s이다. 각 구간에서는 초기 위치와 초기 자세를 파악한 후에 위치를 추정하였다. 분할된 각 구간은 [Fig. 12]과 같으며 실험의 수행 방법은 3.2장과 동일한 방법으로 수행되었다. [Table 2]는 두 방법의 결과를 나타낸다. 구간 2에서는 기존 항법 알고리즘의 오차가 더 작지만, 그 외의 경로에서는 학습 모델의 오차가 더 작음을 확인할 수 있다.
기존 항법 알고리즘의 성능이 구간에 따라 큰 차이가 발생하는 이유는 이상치 데이터로 변환된 센서 데이터의 특성에 따라 기존 항법 알고리즘을 통한 위치 추정에 끼치는 영향이 다르기 때문이다. [Fig. 9]를 통해 확인할 수 있듯이 구간 1과 구간 3, 구간 4에서는 헤딩과 관련된 센서 데이터인 Gyro – r이 이상치 데이터로 변환된 데이터가 전체 데이터의 약 20%를 차지함을 확인할 수 있으며 특히, 오차가 크게 나타난 구간 1의 경우 Digital Compass에서 다른 구간에 비해 더 많은 이상치 데이터가 입력되었음을 확인할 수 있다. 이와 반대로 기존 항법 알고리즘의 성능이 더 좋았던 구간 2의 경우 이상치 데이터로 변환된 Gyro-r의 데이터가 전체 데이터의 약 10% 미만임과 Digital Compass에 이상치 데이터가 발생하지 않았음을 확인할 수 있다. [Fig. 13]과 [Fig. 14], [Fig. 15]를 통해 기존 항법 알고리즘에서 이상치 데이터로 변환된 센서 데이터가 위치 추정에 끼치는 영향을 확인할 수 있다. [Fig. 14]의 (a)에서 오차가 발생하기 시작한 10s~20s가 [Fig. 9]의 (a) Gyro-r에서 이상치 데이터가 발생한 시점이 일치함 오차가 크게 벌어진 50s~60s또한 이상치 데이터가 지속적으로 입력되었음을 확인할 수 있다. 학습 모델의 경우 특정 센서 이터가 이상치 데이터로 변환되었는지와는 무관하게 강인한 위치 추정이 가능했다.
4. 결 론
본 논문에서는 수행한 실험의 경우 이상치 데이터가 발생하는 환경의 데이터를 통해 위치 추정을 수행하였고 학습 모델과 기존 항법 알고리즘의 성능을 참값과의 에러를 통해 분석했다. 헤딩과 관련된 데이터에서 이상치 데이터가 발생한 경우에서는 학습 모델을 통한 방법이 더 작은 에러로 위치 추정을 수행하였다. 하지만 이 결과가 학습 모델을 통한 위치 추정이 기존 항법 알고리즘보다 항상 정밀한 위치 추정이 가능하다는 것을 의미하지는 않는다. 본 실험을 통해 병렬 위치 추정 알고리즘을 구성함에 있어서 이상치 데이터가 발생했을 때 학습 모델을 통한 위치 추정 방법의 성능 및 타당성을 검증할 수 있었다. 더불어 본 논문에서는 센서의 이상치 데이터가 0일 때에만을 다루고 있다. 하지만, 실제 환경에서는 이상치 데이터의 경우 극단적으로 크거나 작은 데이터가 입력되거나 짧은 시간에 다양한 종류의 이상치 데이터가 발생하는 경우도 존재할 것이다. 그러한 상황에서 기존 항법 알고리즘의 경우이상치 데이터가 발생했을 때 이전 데이터를 사용하면 이상치 데이터가 0일 때와 유사한 성능을 보일 것으로 예측되며, 학습을 통한 위치 추정은 적합한 데이터 셋을 구상하고 충분한 양의 데이터를 통해서 학습한다면 충분히 강인한 위치 추정이 가능할 것이다.
추후 연구에서 이상치 데이터가 발생했을 때 선택적으로 기존 항법 알고리즘과 학습 모델을 통해 위치 추정을 실제 자율무인잠수정에서 수행하기 위해서는 자율무인잠수정의 항법 컴퓨터가 모바일 로봇에서 사용되는 GPU가 탑재된 저전력, 소형 컴퓨터를 사용해야 두 알고리즘이 선택적으로 수행됨에 있어서 시간 지연 등의 문제가 발생하지 않을 것이며, 학습 모델의 신경망 또한 모바일 로봇에 적합한 신경망으로 학습하는 과정이 필요할 것으로 판단한다.
Acknowledgments
This research was supported by Institute of Civil Military Technology Cooperation (ICMTC) of Agency for Defense Development (ADD), funded by Defense Acquisition Program Administration (DAPA) and Ministry of Trade, Industry and Energy (MOTIE), (project titled as “Development of multi-sensor fusion based AUV’s terminal guidance and docking technology”)
References
-
L. Paull, S. Saeedi, M. Seto, and H. Li, “AUV Navigation and Localization: A Review,” IEEE Journal of Oceanic Engineering, vol. 39, no. 1, pp. 131-149, Jan. 2014.
[https://doi.org/10.1109/JOE.2013.2278891]
-
I. Schjølberg and I. B. Utne, “Towards autonomy in ROV operations,” IFAC-PapersOnLine, vol. 28, pp. 183-188, 2015.
[https://doi.org/10.1016/j.ifacol.2015.06.030]
-
G.-H. Kim, J. Lee, P.-Y. Lee, H. S. Kim, and H. Lee, “GPS and Inertial Sensor-based Navigation Alignment Algorithm for Initial State Alignment of AUV in Real Sea,” Journal of Korea Robotics Society, vol. 15, no. 1, pp. 016-023, March, 2020.
[https://doi.org/10.7746/jkros.2020.15.1.016]
-
J. Choo, G. Lee, P.-Y. Lee, H. S. Kim, H. Lee, D. Park, and J. Lee, “Position Based In-Motion Alignment Method for an AUV,” Journal of Institute of Control, Robotics and Systems, vol. 26, no. 8, pp. 649-659. 2020.
[https://doi.org/10.5302/J.ICROS.2020.20.0071]
- J. Choo, G. Lee, Y. Park, P.-Y. Lee, H. S. Kim, H. Lee, and J. Lee, “Correction of the Estimated Position of AUV for Underwater Docking with iUSBL,” Conference of IEIE, Jeju, South Korea, pp. 1579-1581, 2020, [Online], https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE10448236, .
-
K. Liu, G. Kang, N. Zhang, and B. Hou, “Breast Cancer Classification Based on Fully-Connected Layer First Convolutional Neural Networks,” IEEE Access, vol. 6, pp. 23722-23732, 2018.
[https://doi.org/10.1109/ACCESS.2018.2817593]
-
K. Ibrahem and C. Mauro, “The effect of batch size on the generalizability of the convolutional neural networks on a histopathology dataset,” ICT Express, vol 6, no. 4, pp.312-315, 2020.
[https://doi.org/10.1016/j.icte.2020.04.010]
2020 충남대학교 메카트로닉스공학과(학사)
2020~현재 충남대학교 메카트로닉스공학과 석-박사 과정
관심분야: 위치 추정, 항법, 자율무인잠수정,인공지능, 주행로봇, 제어
2004 충남대학교 메카트로닉스공학과(학사)
2006 충남대학교 메카트로닉스공학과(석사)
2006~2011 한국해양연구원
2011~2016 ㈜한화종합연구소
2016~현재 한화시스템
관심분야: 수중로봇, 자율무인잠수정, 항법, 제어, 모니터링 시스템
2009 한국해양대학교 기계시스템(학사)
2011 한국해양대학교 기계공학(석사)
2011~현재 한화시스템
관심분야: 수중로봇, 자율무인잠수정, 항법, 제어
2016 충남대학교 메카트로닉스공학과(학사)
2018 충남대학교 메카트로닉스공학과(석사)
2018~현재 한화시스템
관심분야: 수중로봇, 자율무인잠수정, 항법, 제어
2012 동명대학교 로봇시스템공학과(학사)
2014 동명대학교 기계시스템공학과(석사)
2014~현재 한국로봇융합연구원
관심분야: 인공지능, 제어이론, 해양로봇
1983 서울대학교 전자공학과(학사)
1985 KAIST 전기 및 전자공학과(석사)
1991 KAIST 전기 및 전자공학과(박사)
1994~현재 충남대학교 메카트로닉스 공학과 교수
관심분야: 위치 추정, 수중로봇, 양팔 로봇, 야지 주행 로봇.